/* iPhone-safe full-screen navigation. Separate asset bypasses stale legacy CSS caches. */
.menu-open .cookie-consent,
.menu-open .mobile-contact-bar { display: none !important; }

@media (max-width: 1100px) {
  .site-header .brand,
  .site-header .menu-toggle {
    position: relative;
    z-index: 1001;
  }

  .nav.open {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    min-height: 100dvh;
    padding: calc(78px + env(safe-area-inset-top)) clamp(18px, 4vw, 34px) calc(26px + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #121412;
  }

  .nav.open .nav-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    width: 100%;
  }

  .nav.open .nav-main,
  .nav.open > .nav-main {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .nav.open .nav-item > .nav-main { grid-column: 2; }
  .nav.open .nav-submenu-toggle { grid-column: 3; }
  .nav.open .nav-submenu { grid-column: 1 / -1; }

  .nav.open .nav-mobile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 22px;
  }

  .nav.open .nav-mobile-actions .btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding-inline: 12px;
    text-align: center;
  }
}

@media (max-height: 500px) and (orientation: landscape) and (max-width: 1100px) {
  .nav.open { justify-content: flex-start; }
}
