/* v586U — iPhone live-site mobile drawer layer fix
   Scope: customer-facing public mobile/tablet pages only.
   Purpose: prevent the generated mobile menu from being clipped by .topbar or
   covered by page hero/content on iOS Safari after deployment/cache differences. */

@media (max-width: 1120px), (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-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(78px + env(safe-area-inset-top, 0px))) !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - var(--vge-mobile-drawer-top, 86px) - 14px - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 2147483000 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateZ(0) !important;
    contain: layout paint !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"]) .hero,
  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"]) .service-hero,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .trust-hero,
  body.vge-mobile-menu-open:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .lp-hero {
    position: relative !important;
    z-index: 1 !important;
  }
}
