/* ==========================================================================
   Menu mobile (hamburger) + accès Zone joueur / Zone coach
   Remplace la mise en page d'origine : liste compacte qui défile,
   groupée, avec les deux espaces membres en bas.
   ========================================================================== */

/* ---------- En-tête (ordinateur) : deux boutons d'accès ---------- */
.access-links{ display:flex; gap:.5rem; align-items:center; }
.access-links .locker-link{ white-space:nowrap; }
.access-links .locker-link.coach{ border-color:rgba(240,180,41,.35); color:var(--gold); }
.access-links .locker-link.coach:hover{ background:rgba(240,180,41,.1); }
@media (max-width:900px){ .access-links{ display:none; } }

/* Menu du haut un peu plus compact pour laisser la place aux 2 boutons */
@media (min-width:901px) and (max-width:1380px){
  nav.desktop-nav{ gap:1.3rem !important; }
  nav.desktop-nav a .plain{ display:none !important; }
  nav.desktop-nav a .conceptual{ font-size:.66rem !important; letter-spacing:.1em !important; }
  .access-links .locker-link{ padding:.55rem .8rem; font-size:.62rem; }
}
@media (min-width:901px) and (max-width:1120px){
  nav.desktop-nav{ gap:.9rem !important; }
  nav.desktop-nav a .conceptual{ font-size:.6rem !important; letter-spacing:.06em !important; }
}

/* ---------- Menu mobile ---------- */
.mobile-menu{
  display:block !important; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  gap:0 !important; padding:0 !important;
  background:rgba(7,13,28,.97) !important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
html:has(.mobile-menu.open){ overflow:hidden; }

.mm-inner{
  max-width:560px; margin:0 auto;
  padding:calc(5.2rem + env(safe-area-inset-top, 0px)) 6vw calc(2.5rem + env(safe-area-inset-bottom, 0px));
}
.mobile-menu a.mm-home{
  display:inline-flex; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.2em; color:var(--gold);
  padding:.4rem 0; margin-bottom:.4rem;
}

.mm-group{ margin-top:1.6rem; }
.mobile-menu .mobile-menu-head{
  font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.28em; color:var(--gold-dim);
  padding-bottom:.6rem; margin-bottom:.2rem; border-bottom:1px solid var(--line); text-align:left;
}

/* Une ligne par zone : titre · sous-titre à droite · flèche */
.mobile-menu a.mobile-menu-item{
  display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:.9rem;
  text-align:left; padding:.85rem 0; border-bottom:1px solid rgba(38,53,95,.55);
  font-family:var(--ff-display); font-size:1.35rem; letter-spacing:.03em; color:var(--ink);
  -webkit-tap-highlight-color:transparent; transition:color .2s ease, padding .2s ease;
}
.mobile-menu a.mobile-menu-item .mnum{
  display:inline; margin:0; font-family:var(--ff-mono); font-size:.62rem; color:var(--dim-2); letter-spacing:.14em;
}
.mobile-menu a.mobile-menu-item .mt{ line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-menu a.mobile-menu-item::after{ content:'›'; font-family:var(--ff-body); font-size:1.3rem; line-height:1; color:var(--dim-2); transition:color .2s ease, transform .2s ease; }
.mobile-menu a.mobile-menu-item:active::after, .mobile-menu a.mobile-menu-item.fx-cur::after{ color:var(--gold); transform:translateX(3px); }
.mobile-menu a.mobile-menu-item .msub{
  display:inline; margin:0; font-family:var(--ff-mono); font-size:.62rem; color:var(--dim); letter-spacing:.08em; text-transform:none;
  text-align:right; white-space:nowrap;
}
.mobile-menu a.mobile-menu-item:active{ padding-left:.4rem; color:var(--gold); }
.mobile-menu a.mobile-menu-item.fx-cur{ color:var(--gold); }
.mobile-menu a.mobile-menu-item.fx-cur .mnum{ color:var(--gold); }

/* Espaces membres : deux cartes */
.mm-access{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:.9rem; }
.mobile-menu a.mm-card{
  display:flex; flex-direction:column; gap:.35rem; padding:1.1rem 1rem; border-radius:12px;
  border:1px solid var(--gold-dim); background:linear-gradient(160deg, rgba(240,180,41,.1), rgba(12,23,48,.9));
  font-family:var(--ff-body); font-size:1rem; color:var(--ink);
}
.mobile-menu a.mm-card:active{ background:rgba(240,180,41,.18); }
.mm-ic{ font-size:1.2rem; color:var(--gold); }
.mm-ct{ font-family:var(--ff-display); font-size:1.15rem; letter-spacing:.04em; }
.mm-cs{ font-family:var(--ff-mono); font-size:.6rem; color:var(--dim); letter-spacing:.06em; line-height:1.4; }
.mobile-menu a.mm-card.fx-cur{ border-color:var(--gold); }

/* Petits écrans : sous-titres masqués pour garder une ligne */
@media (max-width:360px){
  .mobile-menu a.mobile-menu-item{ font-size:1.15rem; grid-template-columns:1fr auto; }
  .mobile-menu a.mobile-menu-item .msub{ display:none; }
}

/* Entrée en cascade des lignes */
.mobile-menu.open .mobile-menu-item,
.mobile-menu.open .mm-card{ animation:mmIn .45s cubic-bezier(.2,.8,.2,1) both; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(1){ animation-delay:.03s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(2){ animation-delay:.06s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(3){ animation-delay:.09s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(4){ animation-delay:.12s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(5){ animation-delay:.15s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(6){ animation-delay:.18s; }
.mobile-menu.open .mm-group:nth-of-type(1) .mobile-menu-item:nth-of-type(7){ animation-delay:.21s; }
.mobile-menu.open .mm-group:nth-of-type(2) .mobile-menu-item{ animation-delay:.24s; }
.mobile-menu.open .mm-card{ animation-delay:.28s; }
@keyframes mmIn{ from{ opacity:0; transform:translateX(-14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
  .mobile-menu.open .mobile-menu-item, .mobile-menu.open .mm-card{ animation:none; }
}

/* ---------- Sélecteur de langue FR | EN ---------- */
.lang-switch{
  display:inline-flex; align-items:center; padding:3px; border-radius:999px;
  border:1px solid var(--line); background:rgba(7,13,28,.6);
}
.lang-switch button{
  font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.12em; font-weight:600;
  color:var(--dim); background:none; border:0; padding:.38rem .62rem; border-radius:999px; line-height:1;
  transition:background .2s ease, color .2s ease;
}
.lang-switch button:hover{ color:var(--ink); }
.lang-switch button.on{ background:var(--gold); color:var(--void); }
header .lang-switch.in-header{ margin-left:.8rem; }
@media (max-width:900px){
  header .lang-switch.in-header{ margin-left:auto; margin-right:.9rem; }
  header .lang-switch button{ padding:.42rem .6rem; }
}
.mm-lang{ margin-top:1.8rem; display:flex; flex-direction:column; gap:.8rem; }
.mm-lang .mobile-menu-head{ display:block; }
.mm-lang .lang-switch{ align-self:flex-start; }
.mm-lang .lang-switch button{ font-size:.8rem; padding:.6rem 1.1rem; }
