/* ===========================================================
   DOFORIA — module CLASSEMENTS
   Complement a app.css : uniquement ce qui n'existe pas deja
   (pastilles de classe, barre de filtres, colonnes du tableau).
   =========================================================== */

/* ---------- Onglets : petite icone devant le libelle ---------- */
.tabs a .tab-ic{
  display:inline-block;margin-right:7px;opacity:.65;
  font-size:.9em;transform:translateY(1px);
}
.tabs a.on .tab-ic{opacity:1}

/* ---------- Barre de filtres ---------- */
.ladder-filters{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(180deg,#1c1d19,var(--surface));
  border:1px solid var(--rule);
  border-radius:var(--radius);padding:13px 15px;margin-bottom:18px;
  box-shadow:var(--shadow),var(--lip);
}
.ladder-filters .lf-search{flex:1 1 240px;min-width:200px}
.ladder-filters .lf-pick{flex:0 1 210px;min-width:170px}
.ladder-filters input[type=search],
.ladder-filters select{padding:9px 12px;font-size:.9rem}
.ladder-filters .lf-count{
  margin-left:auto;font-family:var(--f-mono);font-size:.78rem;
  letter-spacing:.04em;white-space:nowrap;
}

/* ---------- Encart « mon classement » ---------- */
.me-card{
  margin-bottom:18px;border-color:var(--gold-3);
  box-shadow:var(--shadow),var(--lip),0 0 34px -20px rgba(226,207,156,.9);
}
.me-card::before{opacity:1}
.me-card .tw{border:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:none}

/* ---------- Podium : les trois premieres lignes du tableau ---------- */
table.ladder tbody tr:has(td.rank.r1){background:linear-gradient(90deg,rgba(255,215,94,.09),transparent 55%)}
table.ladder tbody tr:has(td.rank.r2){background:linear-gradient(90deg,rgba(213,220,230,.07),transparent 55%)}
table.ladder tbody tr:has(td.rank.r3){background:linear-gradient(90deg,rgba(220,154,94,.07),transparent 55%)}

/* ---------- Tableau ---------- */
table.ladder td{white-space:nowrap}
table.ladder td.lvl{min-width:96px}
.lvl-n{
  font-family:var(--f-display);font-weight:800;font-size:1rem;
  line-height:1.1;margin-bottom:4px;
}
.ratio{min-width:104px}
.ratio-n{
  display:block;font-family:var(--f-mono);font-size:.82rem;
  font-variant-numeric:tabular-nums;margin-bottom:4px;
}
td.gold{color:var(--gold)}
td.jade{color:var(--jade)}
.prestige{color:var(--violet);font-weight:600}

/* Colonnes secondaires : masquees sur petit ecran plutot que de deborder. */
@media (max-width:820px){ .hide-s{display:none} }

/* ---------- Identite du joueur dans la cellule ---------- */
.breed .who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.breed .pname{font-weight:600;color:var(--tx)}
a.pname:hover{color:var(--gold)}
.breed .gname{
  font-size:.74rem;color:var(--tx-3);
  overflow:hidden;text-overflow:ellipsis;max-width:26ch;
}
.breed .sex{opacity:.7}

/* ---------- Pastilles hors classe ----------
   Les 18 teintes de classe vivent dans app.css : elles servent aussi
   sur l'accueil et sur les fiches de joueur. ------------------------ */
.ic.guild-ic{background:linear-gradient(160deg,#3a3c33,var(--surface-3));color:var(--gold);font-size:1rem}
.ic.vote-ic{background:linear-gradient(160deg,#4a4128,var(--gold-dim));color:var(--gold);font-size:.9rem}

/* ---------- Pagination : fleches inactives ---------- */
.pager .off{opacity:.3}
.pager-note{margin-top:10px;font-size:.8rem}

/* ---------- Bas de page du module ---------- */
.ladder-foot{margin-top:22px;font-size:.78rem}

/* ---------- Etat vide ----------
   Le centrage et la largeur de ligne viennent de .empty dans app.css.
   Ne pas redefinir la marge ici : ce fichier est charge apres app.css
   et une marge laterale nulle decalerait le texte a gauche. */
