/* Mobile navigation: one clear hierarchy, inspired by compact category menus.
 * This component intentionally owns only the mobile sheet and disclosure rows. */
@media (max-width: 767px) {
  .tsf-header .tsf-nav {
    background: #fffdf9 !important;
    border-top: 3px solid var(--red, #c6192e);
    box-shadow: 0 20px 42px rgba(25, 18, 14, .14);
    padding: 18px 22px max(28px, env(safe-area-inset-bottom));
  }

  .tsf-header .tsf-mobile-nav-kicker {
    color: var(--red, #c6192e);
    font-family: var(--font-ui, Inter, sans-serif);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    margin: 0 0 11px;
    text-transform: uppercase;
  }

  .tsf-header .tsf-nav > a:not(.tsf-nav-cta),
  .tsf-header .tsf-nav > .tsf-nav-dropdown {
    border-bottom: 1px solid rgba(18, 18, 18, .14);
    border-top: 0 !important;
    margin: 0;
  }

  .tsf-header .tsf-nav > a:not(.tsf-nav-cta),
  .tsf-header .tsf-nav > .tsf-nav-dropdown > .tsf-nav-dropdown-trigger > a {
    align-items: center;
    color: var(--ink, #161514);
    display: flex;
    font-family: var(--font-ui, Inter, sans-serif) !important;
    font-size: clamp(19px, 5.35vw, 23px) !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.15;
    min-height: 64px;
    padding: 12px 0 !important;
  }

  .tsf-header .tsf-nav > .tsf-nav-dropdown > .tsf-nav-dropdown-trigger {
    align-items: center;
    display: flex;
    min-height: 64px;
  }

  .tsf-header .tsf-nav > .tsf-nav-dropdown > .tsf-nav-dropdown-trigger > a {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Each expandable category has the same 42px circular touch target. */
  .tsf-header .tsf-nav-dropdown-trigger > button {
    align-items: center;
    background: var(--red, #c6192e);
    border: 1px solid var(--red, #c6192e);
    border-radius: 50%;
    box-sizing: border-box;
    color: #fff;
    display: inline-flex;
    flex: 0 0 42px;
    font-family: var(--font-ui, Inter, sans-serif);
    font-size: 23px;
    font-weight: 400;
    height: 42px !important;
    justify-content: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
    width: 42px !important;
  }

  .tsf-header .tsf-nav-dropdown-trigger > button span {
    font-size: 23px;
    height: auto;
    line-height: 1;
    width: auto;
  }

  /* On mobile the disclosure control is intentionally just the plus sign. */
  .tsf-header .tsf-nav-dropdown-trigger > button span::before { content: none; }

  .tsf-header .tsf-nav-dropdown.is-open > .tsf-nav-dropdown-trigger > button {
    background: var(--red, #c6192e);
    border-color: var(--red, #c6192e);
    color: #fff;
    transform: none;
  }

  .tsf-header .tsf-nav-submenu {
    background: rgba(198, 25, 46, .035);
    margin: 0 -10px;
    padding: 0 10px;
  }

  .tsf-header .tsf-nav-dropdown.is-open .tsf-nav-submenu {
    border-top: 1px solid rgba(18, 18, 18, .1);
    max-height: 620px;
    padding: 7px 10px 12px;
  }

  .tsf-header .tsf-nav-submenu a {
    align-items: center;
    border-bottom: 1px solid rgba(18, 18, 18, .1);
    color: #5f5851;
    display: flex;
    font-family: var(--font-ui, Inter, sans-serif);
    font-size: 14px;
    line-height: 1.3;
    min-height: 42px;
    padding: 9px 7px;
  }

  .tsf-header .tsf-nav-submenu a:last-child { border-bottom: 0; }
  .tsf-header .tsf-nav-submenu .tsf-nav-submenu-all { color: var(--red, #c6192e); font-weight: 700; }
  .tsf-header .tsf-nav .tsf-nav-cta { margin: 22px 0 0; min-height: 52px; }
}
