
/*
 * Launch Mobile Navigation v2
 * Dedicated override so legacy theme.css cannot hide/break the toggle.
 */

/* Desktop: toggle and backdrop never visible. */
.launch-mobile-toggle{
  display:none !important;
}
.nav-backdrop{
  display:none !important;
}

@media (max-width: 860px){
  .topbar{
    z-index:1000 !important;
  }

  .topbar .nav{
    position:relative !important;
    min-height:68px !important;
    display:flex !important;
    align-items:center !important;
  }

  .topbar .brand{
    min-width:0 !important;
    max-width:calc(100% - 62px) !important;
  }

  .launch-mobile-toggle{
    display:inline-flex !important;
    margin-left:auto !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.08) !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  .launch-mobile-toggle > span{
    display:block !important;
    width:21px !important;
    height:2px !important;
    min-height:2px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:#fff !important;
    transition:transform .18s ease,opacity .18s ease !important;
  }

  .launch-mobile-toggle[aria-expanded="true"] > span:nth-child(1){
    transform:translateY(7px) rotate(45deg) !important;
  }
  .launch-mobile-toggle[aria-expanded="true"] > span:nth-child(2){
    opacity:0 !important;
  }
  .launch-mobile-toggle[aria-expanded="true"] > span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg) !important;
  }

  .launch-mobile-toggle:focus-visible{
    outline:3px solid #d8a62e !important;
    outline-offset:3px !important;
  }

  #launch-primary-nav.navlinks{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:10px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    background:#07182f !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-top:0 !important;
    border-radius:0 0 14px 14px !important;
    box-shadow:0 20px 40px rgba(0,0,0,.32) !important;
    max-height:calc(100vh - 75px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:1002 !important;
  }

  #launch-primary-nav.navlinks.is-open{
    display:flex !important;
  }

  #launch-primary-nav.navlinks a{
    display:flex !important;
    width:100% !important;
    min-height:44px !important;
    align-items:center !important;
    padding:10px 12px !important;
    border-radius:8px !important;
    color:#e7edf6 !important;
    text-decoration:none !important;
    font-size:1rem !important;
  }

  #launch-primary-nav.navlinks a:hover,
  #launch-primary-nav.navlinks a:focus-visible{
    background:rgba(255,255,255,.09) !important;
    color:#fff !important;
  }

  #launch-primary-nav.navlinks a.btn.gold{
    justify-content:center !important;
    color:#07182f !important;
    background:#d8a62e !important;
    margin-top:3px !important;
  }

  .nav-backdrop.is-open{
    display:block !important;
    position:fixed !important;
    inset:68px 0 0 !important;
    z-index:999 !important;
    background:rgba(4,17,34,.48) !important;
  }

  body.launch-mobile-nav-open{
    overflow:hidden !important;
  }
}

@media (max-width: 520px){
  .topbar .brand img{
    width:38px !important;
    height:38px !important;
  }
  .topbar .brand{
    gap:8px !important;
    font-size:.93rem !important;
  }
  .topbar .brand small{
    font-size:.62rem !important;
    white-space:normal !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .launch-mobile-toggle > span{
    transition:none !important;
  }
}
