/* Music Battles V2.5A — navigation partagée / préparation au basculement officiel */
.v2-nav{position:relative;z-index:40}
.v2-nav-link.is-current{border-color:rgba(98,255,170,.45);background:rgba(64,237,138,.10);color:#dffff0}
.v2-account{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-menu-toggle{display:none;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.025);color:var(--v2-text);font-size:9px;font-weight:900;cursor:pointer}
.v2-menu-toggle:hover{border-color:var(--v2-line-strong);background:rgba(64,237,138,.06)}

.v2-mobile-menu[hidden]{display:none!important}
.v2-mobile-menu{position:fixed;inset:0;z-index:10050;display:grid;grid-template-columns:1fr;align-items:stretch;justify-items:end}
.v2-mobile-menu-backdrop{position:absolute;inset:0;border:0;background:rgba(1,5,5,.82);backdrop-filter:blur(8px);cursor:pointer}
.v2-mobile-menu-panel{position:relative;z-index:1;width:min(390px,calc(100% - 18px));height:100%;padding:18px;overflow:auto;border-left:1px solid rgba(104,255,177,.22);background:linear-gradient(160deg,#0d1918,#070d11 72%);box-shadow:-24px 0 80px rgba(0,0,0,.48)}
.v2-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.v2-mobile-menu-head small{display:block;color:var(--v2-green);font-size:8px;font-weight:900;letter-spacing:1px}
.v2-mobile-menu-head strong{display:block;margin-top:4px;font-family:"Bebas Neue",Impact,sans-serif;font-size:30px;line-height:1}
.v2-mobile-menu-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.03);color:#eef8f3;font-size:23px;cursor:pointer}
.v2-mobile-menu-links{display:grid;gap:7px;padding:16px 0}
.v2-mobile-menu-links a,.v2-mobile-menu-account .is-account{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:11px 13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025);font-size:11px;font-weight:850}
.v2-mobile-menu-links a b,.v2-mobile-menu-account .is-account b{color:var(--v2-green);font-size:15px}
.v2-mobile-menu-links a.is-current{border-color:rgba(79,242,151,.36);background:rgba(64,237,138,.09)}
.v2-mobile-menu-account{display:grid;gap:8px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}
.v2-mobile-menu-account>a:not(.is-account){color:#9db0aa;font-size:9px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.v2-mobile-menu-legacy{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 13px;border:1px dashed rgba(255,255,255,.10);border-radius:13px;color:#71837d;font-size:8px}
.v2-mobile-menu-legacy a{color:#9fb3ac;font-weight:900;white-space:nowrap}
body.v2-menu-open{overflow:hidden}

.v2-footer--full{align-items:flex-start;border-top:1px solid rgba(255,255,255,.07);margin-top:28px;padding-top:22px}
.v2-footer-brand{display:flex;align-items:center;gap:9px;min-width:210px}
.v2-footer-brand img{width:38px;height:38px;object-fit:contain;opacity:.86}
.v2-footer-brand strong{display:block;color:#aebdb8;font-size:10px}
.v2-footer-brand small{display:block;margin-top:3px;color:#61726c;font-size:8px}
.v2-footer-right{display:grid;justify-items:end;gap:10px}
.v2-footer-right nav{justify-content:flex-end}
.v2-footer-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#566761}
.v2-v1-fallback{padding:4px 7px;border:1px solid rgba(255,255,255,.07);border-radius:999px;color:#697b75!important;font-size:7px;font-weight:800}

@media(max-width:980px){
  .v2-nav{gap:12px}
  .v2-nav-actions{gap:6px}
  .v2-nav-link,.v2-account{padding:8px 10px}
}

@media(max-width:900px){
  .v2-nav{align-items:center}
  .v2-desktop-link{display:none!important}
  .v2-menu-toggle{display:inline-flex}
  .v2-nav-actions{max-width:none;flex-wrap:nowrap}
  .v2-account{max-width:126px;padding:8px 9px}
  .v2-footer--full{display:grid;grid-template-columns:1fr;gap:14px;text-align:left}
  .v2-footer-right{justify-items:start}
  .v2-footer-right nav{justify-content:flex-start}
  .v2-footer-meta{justify-content:flex-start;flex-wrap:wrap}
}

@media(max-width:430px){
  .v2-brand strong{font-size:20px}
  .v2-account{display:none}
  .v2-menu-toggle{min-height:34px;padding:7px 9px}
  .v2-lang a{min-width:30px!important;padding:6px 7px!important}
}

/* V2.5C — focus visible avant bascule officielle */
.v2-mobile-menu-panel a:focus-visible,
.v2-mobile-menu-panel button:focus-visible,
.v2-menu-toggle:focus-visible{
  outline:3px solid rgba(169,255,115,.92);
  outline-offset:3px;
}
