/* Full-screen mobile navigation overlay for the Axionova (Elementor) header.
   Driven by the standalone toggle shim, which adds:
     body.axnv-menu-open, .elementor-menu-toggle.axnv-toggle-open,
     nav.elementor-nav-menu--dropdown.axnv-nav-open
   Footer nav is never targeted here. */

@media (max-width: 1024px) {

  body.axnv-menu-open { overflow: hidden !important; }

  /* our shim is the ONLY opener on mobile — suppress Elementor's native reveal */
  .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container:not(.axnv-nav-open),
  .elementor-nav-menu--dropdown.elementor-active:not(.axnv-nav-open) {
    max-height: 0 !important;
    transform: scaleY(0) !important;
    overflow: hidden !important;
    visibility: hidden !important;
    position: absolute !important;
  }


  /* Only the burger row is meant to show on mobile. Kill the desktop header
     row and any header nav dropdown that isn't our full-screen one (Elementor's
     own handler can still pop its native dropdown otherwise). */
  .elementor-location-header .elementor-hidden-mobile,
  header .elementor-hidden-mobile { display: none !important; }

  .elementor-location-header nav.elementor-nav-menu--dropdown:not(.axnv-nav-open),
  header nav.elementor-nav-menu--dropdown:not(.axnv-nav-open) {
    display: none !important;
  }
  /* if two burgers end up rendered, only keep the first */
  .elementor-location-header .elementor-widget-nav-menu ~ .elementor-widget-nav-menu .elementor-menu-toggle {
    display: none !important;
  }

  /* the opened header dropdown -> full-viewport panel */
  nav.elementor-nav-menu--dropdown.axnv-nav-open {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 76px 18px 40px !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 99990 !important;
    background: #020d1d !important;
    display: block !important;
    animation: none !important;
    transition: none !important;
  }

  /* the native burger stays put; the injected .axnv-close is the only close button */
  .elementor-menu-toggle.axnv-toggle-open { display: none !important; }

  /* stacked list */
  nav.elementor-nav-menu--dropdown.axnv-nav-open ul,
  nav.elementor-nav-menu--dropdown.axnv-nav-open .elementor-nav-menu {
    display: block !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
  }
  nav.elementor-nav-menu--dropdown.axnv-nav-open li {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
  }
  nav.elementor-nav-menu--dropdown.axnv-nav-open a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    padding: 16px 12px !important;
    text-align: left !important;
    color: #e6f6ff !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 120, 255, .16) !important;
    text-shadow: none !important;
  }

  /* current page + touch feedback — Axionova blue */
  nav.elementor-nav-menu--dropdown.axnv-nav-open a.elementor-item-active,
  nav.elementor-nav-menu--dropdown.axnv-nav-open li.current-menu-item > a,
  nav.elementor-nav-menu--dropdown.axnv-nav-open a:active {
    background: rgba(0, 120, 255, .18) !important;
    color: #4da3ff !important;
    box-shadow: inset 3px 0 0 #0078ff !important;
  }

  nav.elementor-nav-menu--dropdown.axnv-nav-open .sub-menu {
    padding-left: 16px !important;
    background: transparent !important;
  }
  nav.elementor-nav-menu--dropdown.axnv-nav-open .sub-menu a { font-size: 16px !important; }
}

/* injected close (X) button — sits above the full-screen menu, works for any burger */
.axnv-close{
  position:fixed !important;
  top:14px; right:14px;
  width:44px; height:44px;
  display:none;
  align-items:center; justify-content:center;
  padding:0; margin:0;
  border:0; border-radius:10px;
  background:rgba(0,120,255,.20);
  color:#e6f6ff;
  cursor:pointer;
  z-index:100001 !important;
  -webkit-tap-highlight-color:transparent;
}
body.axnv-menu-open .axnv-close{ display:flex; }
.axnv-close:active{ background:rgba(0,120,255,.34); }
