/* =========================================================================
   palmares.css — Pages Palmarès (Ligue des Champions, Europa League,
   Conference League) : podium, tableau, mur des champions. La couleur suit
   la compétition (--gold-rgb : or LDC, ou couleur de la coupe via cup.css).
   ========================================================================= */
/* ---- Podium (flat + prestige) ---- */
.podium{ display:flex; align-items:flex-end; justify-content:center; gap:14px; margin:8px 0 34px; }
.pod{ position:relative; flex:1 1 0; max-width:250px; border-radius:12px 12px 4px 4px; padding:18px 13px 16px; text-align:center; border:1px solid; border-top-width:4px; overflow:hidden; }
.pod .medal{ font-size:1.7em; line-height:1; }
.pod .pname{ font-weight:800; font-size:1em; margin:6px 0 1px; color:#fff; line-height:1.25; }
.pod .ptitles{ font-family:'Bebas Neue',Impact,sans-serif; font-size:2.7em; line-height:1; letter-spacing:.03em; margin-top:6px; }
.pod .ptitles small{ font-family:"Segoe UI",sans-serif; font-size:.3em; font-weight:800; letter-spacing:.14em; text-transform:uppercase; vertical-align:middle; opacity:.75; }
.pod .prank{ position:absolute; right:11px; bottom:4px; font-family:'Bebas Neue',Impact,sans-serif; font-size:2.6em; line-height:1; opacity:.14; }
.pod.p1{ min-height:218px; background:rgba(245,181,10,.14); border-color:rgba(245,181,10,.45); border-top-color:#f5b50a; }
.pod.p1 .ptitles{ color:#ffce4a; }
.pod.p2{ min-height:174px; background:rgba(206,214,232,.10); border-color:rgba(206,214,232,.35); border-top-color:#cfd6e6; }
.pod.p2 .ptitles{ color:#e3eaf7; }
.pod.p3{ min-height:146px; background:rgba(224,160,106,.10); border-color:rgba(224,160,106,.35); border-top-color:#e0a06a; }
.pod.p3 .ptitles{ color:#eab27e; }
/* Podium cliquable : années de victoire repliées */
.pod{ transition:transform .18s ease; will-change:transform; }
.pod.has-detail{ cursor:pointer; }
.pod.has-detail:hover{ transform:translateY(-2px); }
.pod-years{ display:none; margin-top:10px; padding-top:9px; border-top:1px solid rgba(255,255,255,.16); font-size:11px; line-height:1.65; color:#eef2fb; }
.pod-years .pdl{ display:block; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--upcoming); margin-bottom:4px; }
.pod-years .py-club{ display:block; font-weight:800; color:#fff; margin-top:5px; }
.pod.open{ z-index:2; }
.pod.open .pod-years{ display:block; }
.pod.open .prank{ display:none; }
@media (max-width:560px){ .podium{ gap:7px; } .pod{ padding:13px 7px 12px; } .pod .pname{ font-size:.78em; } .pod .ptitles{ font-size:2em; } .pod .medal{ font-size:1.4em; } }
.pal-wrap{ max-width:820px; }
.pal-table{ width:100%; border-collapse:collapse; }
.pal-table th{ text-align:left; font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); padding:10px 12px; border-bottom:1px solid var(--line-2); }
.pal-table th.c{ text-align:center; } .pal-table th.r{ text-align:right; }
.pal-table td{ padding:11px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }
.pal-table tr:hover td{ background:rgba(255,255,255,.03); }
.pal-rank{ font-family:var(--font-d,'Segoe UI'); font-weight:900; font-size:18px; text-align:center; width:58px; color:var(--muted); }
.pal-rank.m1{ color:#ffd24a; } .pal-rank.m2{ color:#cfd6e6; } .pal-rank.m3{ color:#e0a06a; }
.pal-club{ font-weight:700; font-size:15px; }
.pal-club .star{ color:var(--upcoming); margin-right:8px; }
.pal-titles{ text-align:center; width:96px; }
.pal-titles b{ font-size:18px; font-weight:900; color:var(--upcoming); }
.pal-titles .cup{ opacity:.85; }
.pal-years{ text-align:right; color:var(--muted); font-size:12px; line-height:1.5; }
.pal-row.top td{ background:linear-gradient(90deg, rgba(245,181,10,.10), transparent 60%); }

/* Détail "années de victoire" — repliable, révélé au clic sur mobile
   (là où la colonne Années est masquée). */
.pal-chev{ display:none; }
.pal-detail{ display:none; }
.pal-detail > td{ padding:0 12px 12px; }
.pal-detail-in{ background:rgba(245,181,10,.07); border:1px solid rgba(245,181,10,.28); border-radius:10px; padding:9px 12px; color:#cdd6e0; font-size:12.5px; line-height:1.75; }
.pal-detail-in .pdl{ display:block; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--upcoming); margin-bottom:3px; }

@media (max-width:640px){
  .pal-years, .pal-table th.r{ display:none; }
  .pal-titles{ width:72px; }
  .pal-row.has-detail{ cursor:pointer; }
  .pal-row.has-detail td{ -webkit-user-select:none; user-select:none; }
  .pal-chev{ display:inline-block; margin-left:7px; color:var(--muted); font-size:10px; vertical-align:middle; transition:transform .2s, color .2s; }
  .pal-row.open .pal-chev{ transform:rotate(180deg); color:var(--upcoming); }
  .pal-row.open td{ border-bottom-color:transparent; }
  .pal-row.open + .pal-detail{ display:table-row; }
}

/* Mur des champions (avec logos) */
.wall-wrap{ max-width:840px; }
.champ-wall{ display:grid; grid-template-columns:repeat(auto-fill,minmax(152px,1fr)); gap:9px; }
.cw-item{ display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:12px;
  background:linear-gradient(150deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); border:1px solid var(--line-2);
  transition:transform .15s, border-color .15s, box-shadow .15s; }
.cw-item:hover{ transform:translateY(-2px); border-color:rgba(245,181,10,.5); box-shadow:0 6px 18px rgba(0,0,0,.35); }
.cw-logo{ width:34px; height:34px; object-fit:contain; flex-shrink:0; filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)); }
.cw-txt{ min-width:0; display:flex; flex-direction:column; }
.cw-item .yr{ font-family:'Bebas Neue',Impact,sans-serif; font-size:18px; line-height:1; color:var(--upcoming); letter-spacing:.04em; }
.cw-item .cl{ font-size:12px; font-weight:700; color:var(--txt); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
.cw-item.fav{ border-color:rgba(var(--fav-rgb,245,181,10),.65); background:rgba(var(--fav-rgb,245,181,10),.12); box-shadow:0 0 0 1px rgba(var(--fav-rgb,245,181,10),.25); }
.cw-item.fav .yr, .cw-item.fav .cl{ color:rgb(var(--fav-rgb,245,181,10)); }
@media (max-width:560px){ .champ-wall{ grid-template-columns:repeat(auto-fill,minmax(128px,1fr)); gap:7px; } .cw-logo{ width:28px; height:28px; } .cw-item{ padding:8px 9px; gap:8px; } .cw-item .cl{ font-size:11px; } .cw-item .yr{ font-size:16px; } }

/* Toggle prestige Palmarès / Mur des champions — or biseauté + reflet + brillance */
/* flat : aplats unis, ni dégradé, ni ombre, ni reflet. Le curseur coulissant
   est conservé — c'est ce qui rend la bascule lisible — mais il glisse
   linéairement au lieu de rebondir. */
.view-switch{ position:relative; display:inline-flex; max-width:100%; padding:4px; margin:6px 0 26px; border-radius:999px;
  background:rgba(7,14,35,.6);
  border:1px solid rgba(var(--gold-rgb,245,181,10),.4); }
.view-switch .vs-thumb{ position:absolute; z-index:0; top:4px; left:4px; height:calc(100% - 8px); border-radius:999px;
  background:rgb(var(--gold-rgb,245,181,10));
  transition:left .2s ease, width .2s ease; }
.view-switch .vs-opt{ position:relative; z-index:1; border:none; background:none; cursor:pointer; font-family:inherit; font-weight:900;
  font-size:13px; letter-spacing:.05em; color:var(--muted); padding:10px 20px; white-space:nowrap; transition:color .3s; }
.view-switch .vs-opt.active{ color:var(--cup-ink, #1a1300); }
.view-switch .vs-opt:focus-visible{ outline:2px solid rgb(var(--gold-rgb,245,181,10)); outline-offset:2px; border-radius:999px; }
.view-switch .vs-opt:not(.active):hover{ color:var(--txt); }
@media (prefers-reduced-motion:reduce){
  .view-switch .vs-thumb{ transition:none; }
}
@media (max-width:560px){ .view-switch{ display:flex; width:100%; } .view-switch .vs-opt{ flex:1; padding:10px 8px; font-size:12px; } }
