/* FGMC Phase 9E — Retreat-style mobile navigation drawer */
:root{
  --fgmc-menu-red:#9f171b;
  --fgmc-menu-red-dark:#6e0f12;
  --fgmc-menu-black:#101317;
  --fgmc-menu-white:#ffffff;
  --fgmc-menu-muted:#69707a;
  --fgmc-menu-line:#ece8e3;
}

.fgmc-mobile-menu-overlay,
.fgmc-mobile-drawer{display:none}

@media (max-width:960px){
  html.fgmc-drawer-open,
  body.fgmc-drawer-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }

  /* The desktop navigation remains untouched on larger screens. On phones,
     it is hidden and a dedicated drawer presents every menu item. */
  body .site-header #main-nav,
  body .site-header .main-nav#main-nav,
  body .site-header .premium-main-nav#main-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body .site-header,
  body .site-header-premium,
  body .executive-header,
  body .nav-wrap,
  body .premium-nav-wrap{
    overflow:visible!important;
  }

  body .menu-toggle,
  body .fgmc-menu-trigger{
    display:flex!important;
    position:relative!important;
    z-index:2147483200!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    padding:8px!important;
    margin:0!important;
    border:1px solid rgba(16,19,23,.10)!important;
    border-radius:18px!important;
    background:#fff!important;
    color:var(--fgmc-menu-black)!important;
    box-shadow:0 10px 28px rgba(16,19,23,.10)!important;
    cursor:pointer!important;
  }
  body .menu-toggle span,
  body .fgmc-menu-trigger span{
    display:block!important;
    width:24px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    border-radius:999px!important;
    background:var(--fgmc-menu-black)!important;
    transition:transform .2s ease,opacity .2s ease!important;
  }
  body .menu-toggle b,
  body .fgmc-menu-trigger b{
    display:block!important;
    margin:1px 0 0!important;
    padding:0!important;
    color:var(--fgmc-menu-black)!important;
    font-size:.7rem!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body .fgmc-menu-trigger.is-open span:nth-of-type(1){transform:translateY(6px) rotate(45deg)!important}
  body .fgmc-menu-trigger.is-open span:nth-of-type(2){opacity:0!important}
  body .fgmc-menu-trigger.is-open span:nth-of-type(3){transform:translateY(-6px) rotate(-45deg)!important}

  .fgmc-mobile-menu-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483300!important;
    background:rgba(5,7,9,.66)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    backdrop-filter:blur(3px)!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }
  .fgmc-mobile-menu-overlay.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .fgmc-mobile-drawer{
    display:flex!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2147483400!important;
    width:min(92vw,420px)!important;
    height:100vh!important;
    height:100dvh!important;
    max-width:420px!important;
    flex-direction:column!important;
    background:var(--fgmc-menu-white)!important;
    color:var(--fgmc-menu-black)!important;
    border-left:1px solid rgba(255,255,255,.3)!important;
    box-shadow:-24px 0 70px rgba(0,0,0,.28)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .26s cubic-bezier(.22,.78,.23,1),opacity .2s ease,visibility .2s ease!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  .fgmc-mobile-drawer.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  .fgmc-mobile-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    flex:0 0 auto!important;
    padding:calc(16px + env(safe-area-inset-top)) 18px 16px!important;
    background:linear-gradient(135deg,var(--fgmc-menu-black),#1b2027)!important;
    color:#fff!important;
    border-bottom:4px solid var(--fgmc-menu-red)!important;
  }
  .fgmc-mobile-drawer-brand{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
  }
  .fgmc-mobile-drawer-brand img{
    width:52px!important;
    height:52px!important;
    flex:0 0 52px!important;
    object-fit:contain!important;
    padding:6px!important;
    border-radius:15px!important;
    background:#fff!important;
  }
  .fgmc-mobile-drawer-brand span{
    display:grid!important;
    gap:2px!important;
    min-width:0!important;
  }
  .fgmc-mobile-drawer-brand strong{
    color:#fff!important;
    font-size:1.08rem!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .fgmc-mobile-drawer-brand small{
    color:rgba(255,255,255,.68)!important;
    font-size:.68rem!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:230px!important;
  }
  .fgmc-mobile-drawer-close{
    display:grid!important;
    place-items:center!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:1.8rem!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .fgmc-mobile-drawer-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 16px 28px!important;
    background:#fff!important;
  }

  .fgmc-mobile-drawer-nav{
    display:flex!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  .fgmc-mobile-drawer-nav > a,
  .fgmc-mobile-drawer-nav > .nav-link,
  .fgmc-mobile-drawer-nav .fgmc-mobile-direct-link{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:52px!important;
    padding:0 15px!important;
    margin:0!important;
    border:1px solid var(--fgmc-menu-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:var(--fgmc-menu-black)!important;
    font-size:.96rem!important;
    font-weight:850!important;
    line-height:1.2!important;
    text-decoration:none!important;
    box-shadow:0 5px 16px rgba(16,19,23,.035)!important;
  }
  .fgmc-mobile-drawer-nav > a::after,
  .fgmc-mobile-drawer-nav > .nav-link::after,
  .fgmc-mobile-drawer-nav .fgmc-mobile-direct-link::after{
    content:'›'!important;
    color:var(--fgmc-menu-red)!important;
    font-size:1.45rem!important;
    font-weight:500!important;
  }
  .fgmc-mobile-drawer-nav > a.active,
  .fgmc-mobile-drawer-nav > .nav-link.active{
    border-color:rgba(159,23,27,.22)!important;
    background:#fff5f5!important;
    color:var(--fgmc-menu-red)!important;
  }

  .fgmc-mobile-drawer-nav .nav-item,
  .fgmc-mobile-drawer-nav .has-dropdown{
    display:block!important;
    position:static!important;
    width:100%!important;
    padding:0!important;
    margin:8px 0 0!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .fgmc-mobile-section-title{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    min-height:38px!important;
    padding:7px 5px 8px!important;
    margin:0!important;
    color:var(--fgmc-menu-red)!important;
    font-size:.72rem!important;
    font-weight:950!important;
    letter-spacing:.13em!important;
    line-height:1.1!important;
    text-transform:uppercase!important;
    border-bottom:1px solid rgba(159,23,27,.16)!important;
  }
  .fgmc-mobile-section-title::before{
    content:''!important;
    display:block!important;
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
    background:var(--fgmc-menu-red)!important;
    box-shadow:0 0 0 5px rgba(159,23,27,.08)!important;
  }

  .fgmc-mobile-drawer .fgmc-mobile-section-links,
  .fgmc-mobile-drawer .dropdown-menu,
  .fgmc-mobile-drawer .dropdown-mega,
  .fgmc-mobile-drawer .nav-item > .dropdown-menu,
  .fgmc-mobile-drawer .nav-item:hover > .dropdown-menu{
    display:grid!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:8px 0 0!important;
    margin:0!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .fgmc-mobile-drawer .dropdown-intro,
  .fgmc-mobile-drawer .submenu-toggle{
    display:none!important;
  }
  .fgmc-mobile-drawer .dropdown-links{
    display:contents!important;
  }
  .fgmc-mobile-drawer .fgmc-mobile-section-links a,
  .fgmc-mobile-drawer .dropdown-menu a,
  .fgmc-mobile-drawer .dropdown-mega a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:47px!important;
    padding:0 13px 0 16px!important;
    margin:0!important;
    border:1px solid #efede9!important;
    border-left:3px solid transparent!important;
    border-radius:13px!important;
    background:#faf9f7!important;
    color:#22272e!important;
    font-size:.9rem!important;
    font-weight:720!important;
    line-height:1.25!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
  .fgmc-mobile-drawer .fgmc-mobile-section-links a::after,
  .fgmc-mobile-drawer .dropdown-menu a::after,
  .fgmc-mobile-drawer .dropdown-mega a::after{
    content:'↗'!important;
    flex:0 0 auto!important;
    color:var(--fgmc-menu-red)!important;
    font-size:.82rem!important;
    margin-left:10px!important;
  }
  .fgmc-mobile-drawer .fgmc-mobile-section-links a.active,
  .fgmc-mobile-drawer .dropdown-menu a.active,
  .fgmc-mobile-drawer .dropdown-mega a.active{
    border-left-color:var(--fgmc-menu-red)!important;
    background:#fff2f2!important;
    color:var(--fgmc-menu-red)!important;
  }

  .fgmc-mobile-drawer-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    flex:0 0 auto!important;
    padding:13px 16px calc(13px + env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--fgmc-menu-line)!important;
    background:#fff!important;
  }
  .fgmc-mobile-drawer-actions a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    text-align:center!important;
    text-decoration:none!important;
    font-size:.82rem!important;
    font-weight:900!important;
  }
  .fgmc-mobile-action-dark{background:var(--fgmc-menu-black)!important;color:#fff!important}
  .fgmc-mobile-action-red{background:var(--fgmc-menu-red)!important;color:#fff!important}
  .fgmc-mobile-action-language{
    grid-column:1/-1!important;
    min-height:42px!important;
    background:#f4f2ef!important;
    color:var(--fgmc-menu-black)!important;
    border:1px solid var(--fgmc-menu-line)!important;
  }
}

@media (max-width:480px){
  .fgmc-mobile-drawer{
    width:100vw!important;
    max-width:none!important;
    border-left:0!important;
  }
  .fgmc-mobile-drawer-brand small{max-width:190px!important}
}

@media (min-width:961px){
  .fgmc-mobile-menu-overlay,
  .fgmc-mobile-drawer{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  .fgmc-mobile-menu-overlay,
  .fgmc-mobile-drawer,
  .fgmc-menu-trigger span{transition:none!important}
}
