/* App « Ballon d'or » — classement des buteurs. Réutilise les tokens --rs-*
   (bascule clair/sombre automatique, comme le reste du site). */
.rs-bdor{
  --bd-acc:var(--rs-football);
  --bd-gold:var(--rs-gold);
  --bd-accw:rgba(26,86,219,.10);
  --bd-goldw:#f6ecd6;
  --bd-sil:#8a8a8a;  --bd-silw:#ececec;
  --bd-bnz:#a86a32;  --bd-bnzw:#f0e2d4;
  color:var(--rs-text);
  font-variant-numeric:tabular-nums;
}
html[data-theme="dark"] .rs-bdor{
  --bd-accw:rgba(91,140,255,.18);
  --bd-goldw:#3a2f17;
  --bd-sil:#cdcdcd;  --bd-silw:#2b2b2b;
  --bd-bnz:#d99a5a;  --bd-bnzw:#33271c;
}
.rs-bdor__empty{padding:34px;text-align:center;color:var(--rs-muted);font-style:italic;}

/* ── Podium Top 3 : carte à héro drapeau (rang + numéro + nom dans le
      drapeau, total de buts dessous) ─────────────────────────────────── */
.rs-bdor__podium{
  display:flex;align-items:flex-end;justify-content:center;gap:12px;
  padding:6px 0 18px;flex-wrap:wrap;
}
.rs-bdor-pc{
  flex:1 1 0;min-width:140px;max-width:220px;
  background:var(--rs-bg-card);border:.5px solid var(--rs-border);
  border-radius:var(--rs-radius);overflow:hidden;
}
.rs-bdor-pc--1{border:1.5px solid var(--bd-gold);transform:translateY(-6px);}

.rs-bdor-pc__hero{position:relative;height:118px;background:#11151a;overflow:hidden;}
.rs-bdor-pc--1 .rs-bdor-pc__hero{height:132px;}
.rs-bdor-pc__flagbg{position:absolute;inset:0;}
.rs-bdor-pc__flagbg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.rs-bdor-pc__hscrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.05) 34%,rgba(0,0,0,.5) 72%,rgba(0,0,0,.9) 100%);}
.rs-bdor-pc__rk{position:absolute;top:8px;left:8px;z-index:3;
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:8px;font-weight:800;font-size:13px;color:#fff;
  background:rgba(0,0,0,.5);box-shadow:0 0 0 1px rgba(255,255,255,.18);}
.rs-bdor-pc--1 .rs-bdor-pc__rk{background:var(--bd-gold);box-shadow:0 0 0 1px rgba(255,255,255,.3);}
.rs-bdor-pc__num{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);z-index:2;
  font-weight:800;font-size:46px;line-height:.8;color:#fff;font-variant-numeric:tabular-nums;
  text-shadow:3px 4px 0 rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.5);}
.rs-bdor-pc--1 .rs-bdor-pc__num{font-size:54px;}
.rs-bdor-pc__num--ini{font-size:34px;}
.rs-bdor-pc--1 .rs-bdor-pc__num--ini{font-size:40px;}
.rs-bdor-pc__nm{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 10px 9px;text-align:center;}
.rs-bdor-pc__name{display:block;font-weight:800;font-size:14px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rs-bdor-pc__foot{padding:10px 10px 13px;text-align:center;}
.rs-bdor-pc__g{display:block;font-size:28px;font-weight:800;color:var(--bd-gold);line-height:1;}
.rs-bdor-pc--1 .rs-bdor-pc__g{font-size:34px;}
.rs-bdor-pc__gl{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--rs-muted);}
.rs-bdor-pc__sub{display:block;font-size:11.5px;color:var(--rs-muted);margin-top:5px;}

/* ── Médaillon joueur (drapeau SVG recadré + numéro) — liste & modale ── */
.rs-bdor-medal{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:30px;height:30px;border-radius:50%;overflow:hidden;background:#3b3f46;}
.rs-bdor-medal__flag{position:absolute;inset:0;}
.rs-bdor-medal__flag img{width:100%;height:100%;object-fit:cover;display:block;}
.rs-bdor-medal__scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,rgba(0,0,0,.1),rgba(0,0,0,.62));}
.rs-bdor-medal__ring{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45);}
.rs-bdor-medal__num{position:relative;z-index:2;font-weight:800;font-size:13px;color:#fff;line-height:1;
  font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.6);}
.rs-bdor-medal--ini .rs-bdor-medal__num{font-size:11px;}
.rs-bdor-medal--lg{width:56px;height:56px;}
.rs-bdor-medal--lg .rs-bdor-medal__num{font-size:24px;}
.rs-bdor-medal--lg.rs-bdor-medal--ini .rs-bdor-medal__num{font-size:19px;}

/* ── Drapeau ────────────────────────────────────────────────────────── */
.rs-bdor-flag{display:inline-block;width:26px;height:18px;object-fit:cover;border-radius:2px;
  border:.5px solid var(--rs-border);vertical-align:middle;}
.rs-bdor-flag--txt{width:auto;height:auto;padding:1px 6px;font-size:10.5px;font-weight:600;
  color:var(--rs-muted);background:var(--rs-bg-2);border-radius:4px;}
.rs-bdor-country{display:inline-flex;align-items:center;gap:7px;}
.rs-bdor-code{font-weight:600;font-size:11.5px;letter-spacing:.03em;color:var(--rs-muted);
  font-variant-numeric:normal;}

/* ── Tableau ────────────────────────────────────────────────────────── */
.rs-bdor__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:.5px solid var(--rs-border);border-radius:var(--rs-radius);background:var(--rs-bg-card);}
.rs-bdor-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px;}
.rs-bdor-table th{
  background:var(--rs-bg-2);color:var(--rs-muted);font-weight:800;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.04em;text-align:right;padding:9px 10px;white-space:nowrap;
  border-bottom:.5px solid var(--rs-border);position:sticky;top:0;
}
.rs-bdor-table th.rs-bdor-c-rank,.rs-bdor-table th.rs-bdor-c-name,.rs-bdor-table th.rs-bdor-c-flag{text-align:left;}
.rs-bdor-sortable{cursor:pointer;user-select:none;}
.rs-bdor-sortable:hover{color:var(--rs-text);}
.rs-bdor-table th.is-sort{color:var(--bd-acc);}
.rs-bdor-arrow{display:inline-block;width:0;height:0;margin-left:5px;vertical-align:middle;}
.rs-bdor-table th.is-sort.is-desc .rs-bdor-arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;}
.rs-bdor-table th.is-sort.is-asc .rs-bdor-arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid currentColor;}
.rs-bdor-table td{padding:8px 10px;text-align:right;border-bottom:.5px solid var(--rs-border);white-space:nowrap;}
.rs-bdor-table tr:last-child td{border-bottom:0;}
.rs-bdor-num{text-align:right;font-variant-numeric:tabular-nums;}
.rs-bdor-c-rank{color:var(--rs-muted);font-weight:700;width:30px;text-align:left !important;}
.rs-bdor-c-name{text-align:left !important;}
.rs-bdor-c-flag{text-align:left !important;}
.rs-bdor-c-goals{font-weight:800;color:var(--bd-gold);border-left:1.5px solid var(--rs-border);}
.rs-bdor-c-note{color:var(--bd-acc);font-weight:600;}
.rs-bdor-row:hover td{background:var(--bd-accw);}
.rs-bdor-row.is-top td{background:linear-gradient(90deg,var(--bd-accw),transparent 55%);}
.rs-bdor-row.is-top:hover td{background:var(--bd-accw);}
.rs-bdor-faint{color:var(--rs-muted);}

.rs-bdor-player{display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:0;
  cursor:pointer;color:inherit;font:inherit;max-width:100%;}
.rs-bdor-pname{font-weight:600;color:var(--rs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rs-bdor-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;
  border:.5px solid var(--rs-border);border-radius:50%;font-size:10px;color:var(--rs-muted);flex:0 0 auto;}
.rs-bdor-player:hover .rs-bdor-pname{color:var(--bd-acc);}
.rs-bdor-player:hover .rs-bdor-info{border-color:var(--bd-acc);color:var(--bd-acc);}

.rs-bdor-card{display:inline-block;width:9px;height:13px;border-radius:2px;vertical-align:-2px;margin-right:3px;}
.rs-bdor-card--y{background:#eab308;}
.rs-bdor-card--r{background:#dc2626;}

/* ── Fiche joueur (modale, construite par JS) ───────────────────────── */
.rs-bdor-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;}
.rs-bdor-modal__scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.rs-bdor-modal__box{position:relative;width:100%;max-width:420px;background:var(--rs-bg-card);
  border:.5px solid var(--rs-border);border-radius:var(--rs-radius);padding:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.35);}
.rs-bdor-modal__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;
  border:.5px solid var(--rs-border);background:var(--rs-bg-2);color:var(--rs-text);font-size:18px;
  line-height:1;cursor:pointer;}
.rs-bdor-modal__head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.rs-bdor-modal__name{font-size:18px;font-weight:800;color:var(--rs-text);}
.rs-bdor-modal__meta{font-size:12.5px;color:var(--rs-muted);margin-top:2px;display:flex;align-items:center;gap:7px;}
.rs-bdor-modal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.rs-bdor-stat{background:var(--rs-bg-2);border-radius:var(--rs-radius-sm);padding:11px 8px;text-align:center;}
.rs-bdor-stat__v{font-size:20px;font-weight:800;color:var(--rs-text);line-height:1;}
.rs-bdor-stat--g .rs-bdor-stat__v{color:var(--bd-gold);}
.rs-bdor-stat__l{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--rs-muted);margin-top:5px;}

@media (max-width:560px){
  .rs-bdor-pc{min-width:0;padding:12px 8px;}
  .rs-bdor-pc__g{font-size:24px;}
  .rs-bdor-pc--1 .rs-bdor-pc__g{font-size:28px;}
}
@media (prefers-reduced-motion:reduce){
  .rs-bdor *{transition:none !important;}
}
