/* Final navigation layout override. Keep this stylesheet last in the cascade. */
@media (max-width: 900px) {
  .site-header,
  .site-header .site-nav {
    overflow: visible !important;
  }

  .site-header .site-nav {
    position: static !important;
  }

  #site-menu {
    position: absolute !important;
    z-index: 1000 !important;
    top: 100% !important;
    left: 16px !important;
    right: 16px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 96px) !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    background: #fbfaf5 !important;
    border: 1px solid rgba(20, 51, 40, 0.16) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 44px rgba(18, 38, 31, 0.16) !important;
  }

  body:not(.menu-open):not(.nav-open):not(.site-menu-open) #site-menu:not(.is-open):not(.open):not(.active):not(.show):not([aria-hidden="false"]) {
    display: none !important;
  }

  #site-menu.is-open,
  #site-menu.open,
  #site-menu.active,
  #site-menu.show,
  #site-menu[aria-hidden="false"],
  body.menu-open #site-menu,
  body.nav-open #site-menu,
  body.site-menu-open #site-menu {
    display: flex !important;
  }

  .menu-toggle,
  .nav-toggle,
  .site-menu-toggle,
  .mobile-menu-toggle,
  .menu-button,
  [aria-controls="site-menu"] {
    display: inline-flex !important;
    flex: 0 0 auto !important;
  }

  #site-menu > *,
  #site-menu .nav-item,
  #site-menu .has-mega {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  #site-menu > *::before,
  #site-menu > *::after {
    display: none !important;
  }

  #site-menu .nav-link,
  #site-menu .nav-trigger {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 12px !important;
    align-items: center !important;
    justify-content: space-between !important;
    white-space: normal !important;
    border-bottom: 1px solid rgba(20, 51, 40, 0.1) !important;
  }

  #site-menu .mega-menu,
  #site-menu .mega-panel,
  #site-menu .nav-submenu,
  #site-menu .submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
}

@media (min-width: 1241px) {
  .site-header,
  .site-header .site-nav,
  #site-menu {
    overflow: visible !important;
  }

  #site-menu .nav-item.has-mega {
    position: static !important;
  }

  #site-menu .nav-item.has-mega > .mega-menu,
  #site-menu .nav-item.has-mega > .mega-panel,
  #site-menu .nav-item.has-mega > .nav-submenu {
    left: max(24px, calc((100vw - 1180px) / 2)) !important;
    right: max(24px, calc((100vw - 1180px) / 2)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
/* Keep the desktop navigation at medium widths, but anchor flyouts to the
   full header instead of the narrow parent label. */
@media (min-width: 1001px) and (max-width: 1280px) {
  .site-header,
  .site-header .site-nav {
    overflow: visible !important;
  }

  .site-header .site-nav {
    position: static !important;
  }

  .site-header .menu-toggle,
  .site-header [data-menu-toggle],
  .site-header button[aria-controls="site-menu"] {
    display: none !important;
  }

  .site-header .site-nav #site-menu {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .site-header #site-menu > .nav-item,
  .site-header #site-menu > a {
    position: static !important;
    width: auto !important;
  }

  .site-header #site-menu .mega-menu,
  .site-header #site-menu .nav-dropdown,
  .site-header #site-menu .submenu {
    position: absolute !important;
    inset: 100% clamp(18px, 3vw, 46px) auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100vh - 132px) !important;
    overflow: auto !important;
    padding: 28px 32px !important;
    background: #fbfaf5 !important;
    border: 1px solid rgba(18, 48, 37, 0.14) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 22px 48px rgba(21, 38, 31, 0.16) !important;
    z-index: 1000 !important;
  }

  .site-header #site-menu .mega-menu-inner,
  .site-header #site-menu .mega-menu-grid,
  .site-header #site-menu .nav-dropdown-inner {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2.2fr) !important;
  }
}

@media (max-width: 1000px) {
  .site-header .site-nav #site-menu {
    max-width: calc(100vw - 32px) !important;
  }
}
