/* Pages de classement (classement_fie.html, classement_ffe.html) — rubrique « Tireurs » de
   Classements & résultats (accent or). Filtres en puces, podium, liste avec barre de points, détail dépliable. */
:root{--acc:#C9A84C;--acc-d:rgba(201,168,76,.14);--acc-b:rgba(201,168,76,.45);--acc-ink:#1a1405;--acc-rgb:201,168,76;--bronze:#CD7F32}
html[data-theme="light"]{--acc:#9a7619;--acc-d:rgba(154,118,25,.11);--acc-b:rgba(154,118,25,.40);--acc-ink:#fff;--acc-rgb:154,118,25;--bronze:#a0622a}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0}
.topbar-title{flex:1}
.fie-src{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-faint);text-decoration:none;white-space:nowrap}
.fie-src:hover{color:var(--acc)}
@media(max-width:420px){.fie-src span{display:none}}

/* Filtres */
.carte{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:14px 16px;margin:14px 0}
html[data-theme="light"] .carte,html[data-theme="light"] .podium-c,html[data-theme="light"] .fr-c,html[data-theme="light"] .liste{box-shadow:var(--sh-sm)}
.frows{display:grid;gap:10px}
.frow{display:flex;align-items:flex-start;gap:10px}
.frow[hidden]{display:none}
.frow > b{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-weight:600;min-width:74px;flex-shrink:0;padding-top:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.chip{padding:7px 13px;border-radius:999px;border:1px solid var(--border2);background:var(--surface);color:var(--text-dim);font:600 13px var(--font-body);cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.chip:hover{color:var(--text);border-color:rgba(var(--wash),.22)}
.chip.on{background:var(--acc-d);border-color:var(--acc);color:var(--text)}
.chip:disabled{opacity:.35;cursor:not-allowed}
.choix{flex:1;min-width:0;max-width:420px;padding:9px 34px 9px 12px;border-radius:12px;border:1px solid var(--border2);background:var(--surface2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 11px center/14px;color:var(--text);font:600 13px var(--font-body);-webkit-appearance:none;appearance:none}
.choix:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-d)}
.outils{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.recherche{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;border:1px solid var(--border2);background:var(--surface2);color:var(--text-faint)}
.recherche:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-d)}
.recherche input{flex:1;min-width:0;padding:10px 0;border:none;background:none;color:var(--text);font:15px var(--font-body);outline:none}
.btn-fr{display:inline-flex;align-items:center;gap:7px;padding:0 14px;border-radius:12px;border:1px solid var(--border2);background:var(--surface2);color:var(--text-dim);font:600 13px var(--font-body);cursor:pointer}
.btn-fr.on{border-color:var(--acc);background:var(--acc-d);color:var(--text)}
.btn-fr img{border-radius:2px}
@media(max-width:560px){.frow{flex-direction:column;gap:6px}.frow > b{padding-top:0}.choix{max-width:none;width:100%}}

/* Chiffres clés */
.resume{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:6px 2px 4px;font-size:12.5px;color:var(--text-dim)}
.resume b{font-family:var(--font-display);font-weight:400;font-size:22px;color:var(--acc);letter-spacing:.03em;margin-right:4px}
.resume .maj{margin-left:auto;font-size:11.5px;color:var(--text-faint)}

/* Titres de section */
.sec-t{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:20px;letter-spacing:.05em;margin:22px 2px 10px}
.sec-t svg{width:19px;height:19px;color:var(--acc)}
.sec-t small{font-family:var(--font-body);font-size:12px;color:var(--text-faint);letter-spacing:0;margin-left:auto}

/* Podium */
.podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:10px;align-items:end}
.podium-c{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 12px 16px;border-radius:18px;border:1px solid var(--border2);background:linear-gradient(170deg,var(--surface2),var(--surface));cursor:pointer;transition:transform .2s var(--t-spring),border-color .15s}
.podium-c:hover{transform:translateY(-3px);border-color:var(--acc-b)}
.podium-c.p1{padding-top:26px;border-color:var(--acc-b);background:radial-gradient(120% 120% at 50% 0%,rgba(var(--acc-rgb),.22),transparent 60%),linear-gradient(170deg,var(--surface2),var(--surface))}
.podium-c .medal{width:34px;height:34px}
.podium-c.p1 .medal{width:44px;height:44px}
.podium-c .nom{font-weight:700;font-size:14.5px;line-height:1.25}
.podium-c .nom small{display:block;font-weight:400;font-size:12.5px;color:var(--text-dim)}
.podium-c .pts{font-family:var(--font-display);font-size:26px;color:var(--acc);letter-spacing:.02em;line-height:1}
.podium-c .pts i{font-style:normal;font-family:var(--font-body);font-size:11px;color:var(--text-faint);margin-left:3px}
.podium-c.fra{box-shadow:inset 0 0 0 1px var(--acc-b)}
@media(max-width:560px){.podium{grid-template-columns:1fr;}.podium-c.p1{order:-1}.podium-c{flex-direction:row;text-align:left;padding:12px 14px}.podium-c.p1{padding-top:12px}.podium-c .nom{flex:1}}

/* Meilleurs Français (FIE) */
.fr-rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.fr-c{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--acc-b);background:var(--acc-d);cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--text);transition:transform .15s}
.fr-c:hover{transform:translateY(-2px)}
.fr-c .rg{font-family:var(--font-display);font-size:24px;color:var(--acc);min-width:40px;text-align:center;line-height:1}
.fr-c .nm{flex:1;min-width:0;font-weight:600;font-size:13px;line-height:1.3}
.fr-c .nm small{display:block;font-weight:400;font-size:11.5px;color:var(--text-dim)}

/* Liste */
.liste{border:1px solid var(--border2);border-radius:16px;background:var(--surface);overflow:hidden}
.ligne{display:grid;grid-template-columns:52px 74px minmax(0,1fr) 150px 18px;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.ligne:first-child{border-top:none}
.ligne:hover{background:rgba(var(--wash),.035)}
.ligne.fra{background:rgba(var(--acc-rgb),.07);box-shadow:inset 3px 0 0 var(--acc)}
.ligne.ouverte{background:rgba(var(--acc-rgb),.10)}
.ligne .rg{font-family:var(--font-display);font-size:21px;text-align:center;color:var(--text-dim);line-height:1}
.ligne .rg.top{color:var(--acc)}
.pays{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--font-body);color:var(--text-dim);letter-spacing:.03em}
.pays img{width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(var(--wash),.12)}
.ligne .nm{min-width:0;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ligne .nm small{font-weight:400;color:var(--text-faint);font-size:12px;margin-left:6px}
.lame-lie{display:inline-block;margin-left:7px;padding:1px 6px;border-radius:5px;border:1px solid var(--acc-b);background:var(--acc-d);color:var(--acc);font:700 9.5px var(--font-body);letter-spacing:.06em;vertical-align:2px}
.ligne:has(.lame-lie){box-shadow:inset 3px 0 0 var(--acc-b)}
.drap-mob{display:none}
.drap-mob img{width:20px;height:14px;object-fit:cover;border-radius:2px;vertical-align:-2px}
@media(max-width:640px){.drap-mob{display:inline}}
.pts-c{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pts-c b{font-family:var(--font-display);font-weight:400;font-size:19px;letter-spacing:.02em;line-height:1}
.barre{width:100%;height:4px;border-radius:2px;background:rgba(var(--wash),.08);overflow:hidden}
.barre i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--acc-b),var(--acc))}
.chev{width:16px;height:16px;color:var(--text-faint);transition:transform .2s}
.ligne.ouverte .chev{transform:rotate(90deg);color:var(--acc)}
.detail{display:none;padding:4px 14px 16px 76px;border-top:1px dashed var(--border);background:rgba(var(--acc-rgb),.04)}
.detail.on{display:block;animation:modFadeUp .25s var(--t-spring) both}
.det-comp{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}
.det-comp:last-of-type{border-bottom:none}
.det-comp .dt{color:var(--text-faint);font-size:12px}
.det-comp .cn{min-width:0}
.det-comp .cn small{color:var(--text-faint);margin-left:5px}
.badge{display:inline-block;font:700 10px var(--font-body);letter-spacing:.05em;padding:2px 6px;border-radius:5px;margin-right:6px;border:1px solid var(--border2);color:var(--text-dim);vertical-align:1px}
.badge.gp,.badge.chm,.badge.jo{border-color:var(--acc-b);color:var(--acc);background:var(--acc-d)}
.det-comp .pt{font-family:var(--font-display);font-size:17px;text-align:right}
.det-comp.non .pt{color:var(--text-faint)}
.det-comp .pt s{text-decoration-thickness:1.5px}
.det-comp .pt em{display:block;font-style:normal;font-family:var(--font-body);font-size:10px;color:var(--text-faint);white-space:nowrap}
.det-liens{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.det-liens a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid var(--border2);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600;text-decoration:none}
.det-liens a:hover{border-color:var(--acc-b);color:var(--acc)}
.det-liens a.pri{border-color:var(--acc);background:var(--acc-d)}
.det-liens svg{width:14px;height:14px}
.plus{display:block;margin:14px auto 0;padding:10px 18px;border-radius:12px;border:1px solid var(--border2);background:var(--surface);color:var(--text);font:600 13px var(--font-body);cursor:pointer}
.plus:hover{border-color:var(--acc-b);color:var(--acc)}
.vide,.erreur{padding:30px 16px;text-align:center;color:var(--text-dim);font-size:14px}
.erreur button{margin-top:10px}
.squelette{height:46px;border-top:1px solid var(--border);background:linear-gradient(90deg,transparent,rgba(var(--wash),.05),transparent);background-size:200% 100%;animation:sq 1.2s infinite}
@keyframes sq{from{background-position:200% 0}to{background-position:-200% 0}}
.avert{margin:10px 2px 0;font-size:12px;color:var(--text-faint)}
@media(max-width:640px){
  .ligne{grid-template-columns:40px minmax(0,1fr) 84px 14px;gap:8px;padding:10px 12px}
  .ligne .pays-col{display:none}
  .ligne .nm{white-space:normal}
  .ligne .nm small{display:block;margin:2px 0 0}
  .detail{padding:4px 12px 14px}
  .det-comp{grid-template-columns:70px minmax(0,1fr) auto}
  .resume .maj{margin-left:0;width:100%}
}
