/* STUDIO 2.0 — V54 : navigation mobile / tablette, hierarchie d'abord. */
/* Le rendu desktop est strictement celui de la V53. */
@media (min-width:1061px){
  .nav-v54-toggle,.nav-v54-submenu{display:none!important;}
}
@media (max-width:1060px){
  /* Les menus secondaires de page sont regroupes derriere les chevrons du menu global. */
  nav.studio-subnav[data-studio-nav="v44"],
  nav.magazine-subnav{display:none!important;}
  body.nav-v54-open::before{
    content:"";position:fixed;inset:0;z-index:39;
    background:rgba(0,0,0,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  }
  body.nav-v54-open{overflow:hidden;}
  .topbar{z-index:40;}
  .topbar nav.navlinks[data-mobile-menu="v55"]{
    box-sizing:border-box!important;
    display:none!important;
    position:absolute!important;
    top:72px!important;
    right:18px!important;
    left:auto!important;
    width:min(470px,calc(100vw - 36px))!important;
    max-width:calc(100vw - 36px)!important;
    max-height:calc(100dvh - 88px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    grid-template-columns:minmax(0,1fr) 46px!important;
    grid-auto-flow:row!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:8px!important;
    row-gap:0!important;
    padding:15px 19px 18px!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:18px!important;
    background:rgba(8,8,11,.985)!important;
    box-shadow:0 26px 78px rgba(0,0,0,.66)!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.26) transparent;
    -webkit-overflow-scrolling:touch;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"].open{display:grid!important;}
  .topbar nav.navlinks[data-mobile-menu="v55"] > a{
    box-sizing:border-box!important;
    grid-column:1!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:13px 0!important;
    margin:0!important;
    font-size:13.1px!important;
    font-weight:560!important;
    letter-spacing:.135em!important;
    line-height:1.2!important;
    opacity:.85!important;
    color:#e9e4ef!important;
    border:0!important;
    border-radius:0!important;
    white-space:normal!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > a.active,
  .topbar nav.navlinks[data-mobile-menu="v55"] > a[aria-current]{
    opacity:1!important;color:#fff!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > a:not(.nav-cta)::after{
    height:1px!important;bottom:8px!important;
    left:0!important;right:auto!important;width:35px!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > a.nav-cta{
    grid-column:1/-1!important;
    border-top:1px solid rgba(255,255,255,.11)!important;
    margin-top:8px!important;
    padding-top:23px!important;
    padding-bottom:5px!important;
    min-height:56px!important;
    background:transparent!important;
    opacity:1!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .lang{display:none!important;}
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle{
    grid-column:2!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    width:42px;height:42px;
    padding:0;
    margin:0!important;
    justify-content:center;align-items:center;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.14);
    border-radius:11px;
    color:#d9cfdf;
    cursor:pointer;
    touch-action:manipulation;
    transition:background .2s ease,border-color .2s ease;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle[aria-expanded="true"]{
    background:rgba(149,79,220,.13);
    border-color:rgba(196,119,248,.46);
  }
  .nav-v54-chevron{
    display:block;width:9px;height:9px;
    border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
    transform:rotate(45deg) translate(-2px,-2px);
    transition:transform .22s ease;
  }
  .nav-v54-toggle[aria-expanded="true"] .nav-v54-chevron{
    width:12px;height:0;border-right:0;transform:none;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu{
    grid-column:1/-1!important;
    min-width:0;
    display:grid!important;
    gap:0!important;
    margin:0 0 8px 2px!important;
    padding:3px 0 11px 15px!important;
    border-left:1px solid rgba(168,99,233,.50);
    background:transparent!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu[hidden]{display:none!important;}
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu a{
    display:flex!important;
    align-items:center;
    min-height:36px;
    padding:9px 9px 9px 4px!important;
    border:0!important;
    font-size:10.8px!important;
    font-weight:480!important;
    line-height:1.45!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
    color:rgba(233,225,242,.76)!important;
    opacity:1!important;
    text-decoration:none!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu a:hover,
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu a:focus-visible{
    color:#fff!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-submenu a::after{display:none!important;}
  .topbar nav.navlinks[data-mobile-menu="v55"] a:focus-visible,
  .topbar nav.navlinks[data-mobile-menu="v55"] button:focus-visible{
    outline:2px solid #c685ee!important;outline-offset:2px!important;
  }
  .burger[aria-expanded="true"] .burger-icon-v85{font-size:26px!important;}
}
@media (min-width:721px) and (max-width:1060px){
  .topbar nav.navlinks[data-mobile-menu="v55"]{top:88px!important;max-height:calc(100dvh - 104px)!important;}
}
@media (max-width:480px){
  .topbar nav.navlinks[data-mobile-menu="v55"]{
    padding:10px 16px 13px!important;
    max-height:calc(100dvh - 82px)!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > a{min-height:50px!important;padding:12px 0!important;font-size:12.7px!important;}
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle{width:40px;height:40px;}
}
@media(prefers-reduced-motion:reduce){
  .nav-v54-chevron,.nav-v54-toggle{transition:none!important;}
}

/* V55: meaningful controls and menu context on mobile and iPad. */
@media (max-width:1060px){
  .topbar nav.navlinks[data-mobile-menu="v55"]{
    grid-template-columns:minmax(0,1fr) minmax(103px,auto)!important;
    column-gap:7px!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle{
    width:auto!important;
    min-width:103px;
    min-height:38px;
    height:38px;
    padding:0 9px!important;
    gap:7px;
    border-radius:9px;
    font-size:10px;
    font-weight:570;
    letter-spacing:.035em;
    text-transform:none;
    white-space:nowrap;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle[aria-expanded="true"]{
    background:rgba(155,82,208,.16);
    border-color:rgba(193,133,238,.58);
    color:#f5e9ff;
  }
  .nav-v55-sign{font-size:17px;line-height:1;font-weight:420;display:inline-flex;width:12px;justify-content:center;}
  .nav-v55-label{font-size:10px;line-height:1.15;}
  /* For Magazine, three editorial pillars are prominent. Smaller topics remain accessible. */
  .topbar nav.navlinks[data-mobile-menu="v55"] #v54-sub-magazine{
    padding-top:7px!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] #v54-sub-magazine > a.nav-v55-featured{
    font-size:12px!important;
    font-weight:660!important;
    line-height:1.35!important;
    letter-spacing:.095em!important;
    color:#f9f4ff!important;
    min-height:40px!important;
    padding:10px 8px 10px 6px!important;
  }
  .nav-v55-more{
    margin-top:9px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .nav-v55-more-heading{
    display:block;
    padding:0 4px 8px;
    color:rgba(226,215,236,.57);
    font-size:9px;
    font-weight:590;
    letter-spacing:.13em;
  }
  .nav-v55-more-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:8px;
    row-gap:2px;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] #v54-sub-magazine a.nav-v55-topic{
    color:rgba(231,221,241,.65)!important;
    font-size:9.5px!important;
    letter-spacing:.045em!important;
    font-weight:480!important;
    min-height:30px!important;
    padding:7px 3px!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] #v54-sub-magazine a.nav-v55-topic:hover,
  .topbar nav.navlinks[data-mobile-menu="v55"] #v54-sub-magazine a.nav-v55-topic:focus-visible{color:#fff!important;}
}
@media(max-width:480px){
  .topbar nav.navlinks[data-mobile-menu="v55"]{
    grid-template-columns:minmax(0,1fr) minmax(100px,auto)!important;
  }
  .topbar nav.navlinks[data-mobile-menu="v55"] > .nav-v54-toggle{
    min-width:100px;height:37px;min-height:37px;
  }
}
