/* EL Nordic Spark v5.15 — Navbar-only tablet / phone safeguard.
 * Deliberately scoped to the Nordic navbar: leaves the hero and all other
 * sections, widgets, Elementor styling, and desktop layout unchanged.
 * Visibility and box layout are defined here even when a page optimiser
 * has trimmed the original .m-nav media query on a cached tablet width.
 */
@media (max-width: 1199px) {
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header {
    isolation: isolate;
  }
  /* Always keep a closed drawer out of both layout and hit-testing.
     The button toggles .open and aria-expanded in source.js. */
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > nav.m-nav:not(.open),
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > nav.m-nav[aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  /* A single fixed header, with the opened drawer flowing OVER the hero,
     never reserving 300px+ of page height beneath the header. */
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > nav.m-nav.open {
    display: flex !important;
    position: absolute !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 78px - var(--wp-admin--admin-bar--height,0px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #082b4d !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(0,22,44,.28) !important;
    z-index: 3501 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  /* Do not rely on the older source.css media rules for the contents. */
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > .m-nav.open > a {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 13px clamp(20px,6vw,68px) !important;
    margin: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-decoration: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
  }
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > .m-nav.open > a:is(:hover,:focus-visible) {
    color: #fff !important;
    background: #164a71 !important;
  }
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > .m-nav.open > .ns-mobile-nav-social {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 26px !important;
    width: 100% !important;
    padding: 16px 22px !important;
    margin: 0 !important;
    background: #e8edf0 !important;
    color: #092b4d !important;
  }
  html body .ens4-widget.ens4-navbar .ens4-mobile .m-header > .m-nav.open > .ns-mobile-nav-social > a {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    padding: 2px !important;
    border: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
    background: transparent !important;
  }
}
/* Elementor responsive previews can use a narrow widget within a desktop-sized
 * editor iframe. This handles only that explicit mode without changing desktop. */
@media (min-width: 1200px) {
  html body .ens4-widget.ens4-navbar.ens5-safe-mobile .ens4-mobile .m-header > nav.m-nav:not(.open) {
    display: none !important; visibility: hidden !important; pointer-events: none !important;
  }
}
