/*
 * Mobile category navigation
 *
 * The desktop header keeps its existing single-row layout. On phones the
 * brand/menu controls and the four primary categories use separate rails so
 * labels stay readable without hiding any destination behind the menu button.
 */
@media (max-width:850px) {
  .site-header.redesign-header {
    height:98px !important;
    border-bottom:1px solid rgba(20,57,37,.1);
    background:rgba(255,255,255,.98);
    box-shadow:0 5px 20px rgba(18,48,31,.045);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
  }

  .site-header.redesign-header .header-inner {
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:52px 38px;
    align-items:center !important;
    width:100% !important;
    min-height:98px !important;
    height:98px !important;
    margin:0 !important;
    padding:0 12px 8px !important;
    column-gap:12px !important;
    row-gap:0 !important;
    box-sizing:border-box;
  }

  .site-header.redesign-header .brand {
    grid-column:1;
    grid-row:1;
    align-self:center;
    min-width:0;
    margin:0;
  }

  .site-header.redesign-header .brand > span {
    font-size:24px !important;
    letter-spacing:-.075em;
  }

  .site-header.redesign-header .top-nav.redesign-nav {
    grid-column:1 / -1;
    grid-row:2;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-self:stretch !important;
    width:100% !important;
    height:38px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:3px !important;
    gap:3px !important;
    overflow:visible !important;
    border:1px solid #e3e9e5 !important;
    border-radius:13px;
    background:#f4f7f5;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
    box-sizing:border-box;
  }

  .site-header.redesign-header .top-nav.redesign-nav button {
    position:relative;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-width:0 !important;
    height:30px !important;
    margin:0 !important;
    padding:0 2px 1px !important;
    border:0 !important;
    border-radius:10px !important;
    color:#35433b !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:clamp(11px,3.15vw,12.5px) !important;
    font-weight:750 !important;
    line-height:1 !important;
    letter-spacing:-.045em;
    white-space:nowrap;
    word-break:keep-all;
    transition:color .18s ease,background-color .18s ease,box-shadow .18s ease;
  }

  .site-header.redesign-header .top-nav.redesign-nav button::after {
    left:50% !important;
    right:auto !important;
    bottom:2px !important;
    width:16px;
    height:2px !important;
    border-radius:999px;
    background:transparent !important;
    transform:translateX(-50%) !important;
  }

  .site-header.redesign-header .top-nav.redesign-nav button.active {
    background:#fff !important;
    box-shadow:0 3px 10px rgba(27,59,41,.095) !important;
  }

  body.page-company .site-header.redesign-header .top-nav.redesign-nav button.active {
    color:#bd8700 !important;
  }

  body.page-service .site-header.redesign-header .top-nav.redesign-nav button.active {
    color:#1f5fd1 !important;
  }

  body.page-cook .site-header.redesign-header .top-nav.redesign-nav button.active {
    color:#dc472e !important;
  }

  body.page-supply .site-header.redesign-header .top-nav.redesign-nav button.active {
    color:#075b34 !important;
  }

  body.page-company .site-header.redesign-header .top-nav.redesign-nav button.active::after,
  body.page-service .site-header.redesign-header .top-nav.redesign-nav button.active::after,
  body.page-cook .site-header.redesign-header .top-nav.redesign-nav button.active::after,
  body.page-supply .site-header.redesign-header .top-nav.redesign-nav button.active::after {
    background:currentColor !important;
  }

  .site-header.redesign-header .header-quick-menu {
    grid-column:3;
    grid-row:1;
    align-self:center !important;
    justify-self:end;
    width:40px;
    height:40px !important;
  }

  .site-header.redesign-header .header-menu-toggle {
    width:40px !important;
    height:40px !important;
    margin:0;
    border-radius:10px !important;
    transform:none !important;
  }

  .site-header.redesign-header .header-menu-toggle[aria-expanded="true"] {
    background:#f1f6f3 !important;
  }

  .site-header.redesign-header .header-menu-toggle:focus-visible {
    outline:2px solid rgba(7,91,52,.28);
    outline-offset:-2px;
  }

  .site-header.redesign-header .header-menu-toggle span {
    width:23px !important;
    height:2px;
  }

  .site-header.redesign-header .header-menu-popover {
    top:calc(100% + 49px) !important;
    right:0;
    width:min(232px,calc(100vw - 24px));
  }

  /* Keep the first screen exactly within the phone viewport after the taller
     navigation is introduced; artwork retains its existing crop and position. */
  #public-redesign .landing-carousel {
    height:calc(100svh - 98px);
  }
}

@media (max-width:360px) {
  .site-header.redesign-header .header-inner {
    padding-right:8px !important;
    padding-left:8px !important;
    column-gap:8px !important;
  }

  .site-header.redesign-header .brand > span { font-size:22px !important; }

  .site-header.redesign-header .top-nav.redesign-nav {
    gap:2px !important;
    padding-right:2px !important;
    padding-left:2px !important;
  }

  .site-header.redesign-header .top-nav.redesign-nav button {
    padding-right:0 !important;
    padding-left:0 !important;
    font-size:11px !important;
    letter-spacing:-.06em;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-header.redesign-header .top-nav.redesign-nav button { transition:none; }
}
