/* v1051 — Mobile menu root-position hardfix
   Mobile-only. Fixes pages where the generated drawer was appended to <body>
   but older page CSS still positioned it like a child of the header, causing
   the menu to appear far below the tapped menu button. Desktop unchanged. */

@media (max-width: 900px), (hover: none) and (pointer: coarse){
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar{
    position:relative !important;
    z-index:2147482000 !important;
    overflow:visible !important;
    isolation:isolate !important;
  }

  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    overflow:visible !important;
  }

  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .vge-mobile-menu-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:2147482500 !important;
  }

  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .vge-mobile-menu-drawer{
    position:fixed !important;
    left:max(12px, env(safe-area-inset-left, 0px)) !important;
    right:max(12px, env(safe-area-inset-right, 0px)) !important;
    top:var(--vge-mobile-drawer-top, calc(82px + env(safe-area-inset-top, 0px))) !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - var(--vge-mobile-drawer-top, 82px) - 14px - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:2147483000 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .vge-mobile-menu-drawer[hidden],
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .vge-mobile-menu-drawer[hidden]{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]){
    overflow:hidden !important;
  }

  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) main,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) header,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .page-hero,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .policy-hero-v787GV,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .terms-article-hero-v859,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .refund-guide-hero-v879,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .privacy-guide-hero-v880{
    z-index:1 !important;
  }
}
