/* 20260823-primary-navigation-layout-contract:
   the primary navigation keeps one order and never changes header height. */
.site-header .main-nav a {
  box-sizing: border-box;
  white-space: nowrap;
}

@media (min-width: 1181px) {
  .site-header .main-nav {
    display: grid;
    grid-template-columns: repeat(10, max-content);
    align-items: center;
    justify-content: space-between;
    gap: clamp(2px, .32vw, 7px);
    min-height: 47px;
    padding-top: 8px;
    overflow: visible;
    flex-wrap: nowrap;
  }

  .site-header .main-nav a {
    min-height: 32px;
    padding-inline: clamp(7px, .55vw, 10px);
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand actions menu"
      "search search search";
  }

  .site-header .menu-toggle {
    display: flex;
    flex-direction: column;
    grid-area: menu;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }

  .site-header .menu-toggle span {
    margin: 0;
  }

  .site-header .main-nav {
    position: absolute;
    inset: calc(100% + 8px) var(--page-gutter) auto;
    z-index: 90;
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    max-height: min(70vh, 520px);
    margin: 0;
    padding: 12px;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 22px 56px rgba(20, 38, 72, .16);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  body.menu-open .site-header .main-nav {
    display: grid;
  }

  .site-header .main-nav a {
    min-height: 42px;
    justify-content: flex-start;
    padding: 9px 11px;
    border-radius: 9px;
    font-size: 13px;
  }
}
