/* The mobile menu puts browsing ahead of the editorial introduction. */
@media (max-width: 680px) {
  .page-menu .menu-masthead {
    grid-template-columns: minmax(0, 1fr) minmax(86px, 30%);
    gap: 18px;
    align-items: center;
    padding: calc(var(--mobile-header-height, 80px) + 20px) 6vw 24px;
  }

  .page-menu .menu-masthead .eyebrow {
    margin-bottom: 13px;
    font-size: 10px;
    letter-spacing: .12em;
  }

  .page-menu .menu-masthead h1 {
    font-size: clamp(43px, 12.4vw, 67px);
    line-height: .94;
  }

  .page-menu .menu-masthead > figure {
    height: clamp(124px, 35vw, 180px);
    margin: 0;
    overflow: hidden;
  }

  .page-menu .menu-masthead > figure img {
    object-position: 48% 54%;
  }

  .page-menu .menu-masthead .page-intro,
  .page-menu .menu-masthead .line-link,
  .page-menu .menu-masthead figcaption,
  .page-menu .masthead-note {
    display: none;
  }

  .page-menu .menu-browser {
    padding: 0 6vw 48px;
    scroll-margin-top: 0;
  }

  .page-menu .menu-toolbar {
    position: sticky;
    top: 0;
    z-index: 15;
    width: calc(100% + 12vw);
    margin: 0 -6vw;
    padding: 4px 6vw 12px;
    gap: 6px;
    background: var(--cream);
    border-bottom: 1px solid var(--line);
  }

  .page-menu .category-tabs {
    flex-wrap: nowrap;
    gap: 18px;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    scroll-padding-inline: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .page-menu .category-tabs::-webkit-scrollbar {
    display: none;
  }

  .page-menu .category-tabs button {
    flex: 0 0 auto;
    min-width: 44px;
    min-height: 44px;
    padding: 12px 2px 10px;
    font-size: 13px;
    line-height: 1.5;
    white-space: nowrap;
    touch-action: manipulation;
  }

  .page-menu .category-tabs button[aria-pressed="true"] {
    border-bottom-width: 2px;
    font-weight: 600;
  }

  .page-menu .category-tabs button:focus-visible {
    outline-offset: -3px;
  }

  .page-menu .menu-search {
    width: 100%;
    min-height: 44px;
    gap: 10px;
  }

  .page-menu .menu-search input {
    min-height: 44px;
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.5;
    appearance: none;
  }

  .page-menu .menu-search input::placeholder {
    color: var(--muted);
    opacity: 1;
  }

  .page-menu .menu-search:focus-within {
    outline-offset: 1px;
  }

  .page-menu .menu-body {
    display: block;
    padding-top: 23px;
  }

  .page-menu .menu-aside {
    display: none;
  }

  .page-menu .menu-list {
    min-width: 0;
  }

  .page-menu .menu-list-head {
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
  }

  .page-menu .menu-list-head h2 {
    min-width: 0;
    font-size: clamp(30px, 8.2vw, 39px);
    line-height: 1.06;
  }

  .page-menu .menu-count {
    flex-shrink: 0;
    font-size: 11px;
  }

  .page-menu .menu-row {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 12px;
    padding: 21px 0;
    scroll-margin-top: 130px;
  }

  .page-menu .menu-row-number {
    display: none;
  }

  .page-menu .menu-row > div:first-of-type {
    min-width: 0;
  }

  .page-menu .menu-row h3 {
    font-size: clamp(23px, 6.3vw, 28px);
    line-height: 1.13;
    overflow-wrap: break-word;
  }

  .page-menu .menu-row p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.6;
  }

  .page-menu .menu-price {
    padding-top: 3px;
    font-size: 14px;
    line-height: 1.5;
    white-space: nowrap;
  }

  .page-menu .menu-price small {
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.5;
    white-space: normal;
  }

  .page-menu .filling-filter {
    gap: 12px;
    margin: 14px 0 2px;
    padding: 12px 0;
    font-size: 12px;
  }

  .page-menu .filling-filter label {
    flex-shrink: 0;
  }

  .page-menu .filling-filter select {
    min-width: 0;
    min-height: 44px;
    max-width: 66%;
    padding: 10px 7px;
    border-radius: 0;
    font-size: 16px;
    line-height: 1.4;
  }

  .page-menu .menu-empty {
    padding: 30px 0;
  }

  .page-menu .menu-empty p,
  .page-menu .source-note {
    font-size: 12px;
    line-height: 1.75;
  }

  .page-menu #reset-menu,
  .page-menu .source-note a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
