/* Native WordPress menus, two levels. */
.primary-menu > li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 3px;
}
.primary-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: -18px;
  min-width: 260px;
  max-width: calc(100vw - 40px);
  padding: 10px 0;
  list-style: none;
  background: var(--paper);
  border: 1px solid var(--border);
  border-top: 3px solid var(--red);
  box-shadow: 0 16px 30px #18372c20;
  z-index: 60;
}
.primary-menu > li:last-child > .sub-menu {
  left: auto;
  right: 0;
  min-width: 290px;
}
.primary-menu .sub-menu li {
  display: block;
}
.primary-menu .sub-menu a {
  padding: 13px 20px;
  white-space: normal;
  line-height: 1.6;
  font-size: 14px;
  border-bottom: 0;
}
.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus-visible,
.primary-menu .sub-menu .current-menu-item > a {
  background: #e9e9df;
  color: var(--red);
}
.primary-menu > li.is-submenu-open > .sub-menu {
  display: block;
}
.submenu-toggle {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  min-height: 36px;
  padding: 4px;
  color: var(--red);
}
.submenu-toggle span {
  display: block;
  font-size: 14px;
  transition: transform 0.15s;
}
.submenu-toggle[aria-expanded='true'] span {
  transform: rotate(180deg);
}
html:not(.tsou-nav-ready) .primary-menu > li:hover > .sub-menu,
html:not(.tsou-nav-ready) .primary-menu > li:focus-within > .sub-menu {
  display: block;
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .nav .primary-menu {
    gap: 8px;
  }
  .submenu-toggle {
    min-width: 20px;
  }
  .nav {
    gap: 12px;
  }
  .primary-menu .sub-menu {
    font-size: 14px;
  }
}
@media (max-width: 1000px) {
  .nav.is-open {
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .nav .primary-menu {
    display: block;
  }
  .primary-menu > li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
    border-bottom: 1px solid var(--border);
  }
  .primary-menu > li > a {
    flex: 1;
    padding: 14px 8px;
    white-space: normal;
  }
  .primary-menu > li > .submenu-toggle {
    min-width: 44px;
    min-height: 48px;
    padding: 10px;
  }
  .primary-menu .sub-menu,
  .primary-menu > li:last-child > .sub-menu {
    position: static;
    flex-basis: 100%;
    min-width: 0;
    width: 100%;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-left: 2px solid #b69276;
    padding: 2px 0 8px;
    margin: 0 8px 14px;
    background: #efefe6;
  }
  .primary-menu .sub-menu a {
    padding: 11px 16px;
    font-size: 14px;
  }
  .primary-menu .current-menu-item > a,
  .primary-menu .current-menu-ancestor > a {
    border-bottom: 0;
  }
  .nav .search-link {
    padding: 18px 8px;
  }
}
