
/* Direct lunch access, designed for touch. */
.button-lunch { gap: 20px; background: #edc59b; color: #251820; border: 1px solid #edc59b; box-shadow: 0 5px 24px #0002; }
.button-lunch:hover { background: #f6d8b7; color: #251820; }
.button-lunch svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.desktop-nav .nav-lunch, .mobile-menu .nav-lunch { color: #edc59b; }
.lunch-anchor { scroll-margin-top: 105px; }
[data-lunch-day] { scroll-margin-top: 105px; }
.menu-lunch [data-lunch-day] { scroll-margin-top: 170px; }
.lunch-anchor:focus, .menu-lunch:focus { outline: none; }
.lunch-anchor > .home-lunch { transform: none; opacity: 1; }
.home-lunch-head h2 { margin: 0 0 14px; font-family: var(--serif); font-size: clamp(2.6rem,4.6vw,5rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.home-lunch-day summary > span { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.home-lunch-day summary small span { font-family: var(--sans); font-size: inherit; line-height: inherit; }
.home-lunch-day summary .lunch-hide { display: none; }
.home-lunch-day[open] summary .lunch-show { display: none; }
.home-lunch-day[open] summary .lunch-hide { display: inline; }
.lunch-today { display: inline-flex; padding: 6px 9px; border-radius: 6px; color: var(--primary); background: #74244912; font-family: var(--sans); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lunch-today[hidden], .lunch-weekend[hidden] { display: none; }
.home-lunch-head .lunch-weekend { margin-top: 12px; color: var(--primary); font-size: .85rem; }
.menu-lunch > .home-lunch { margin-top: 0; }
.menu-content.is-lunch-view { padding-top: 28px; }
.menu-content { scroll-margin-top: 160px; }
.menu-lunch { scroll-margin-top: 175px; }
.menu-filter { min-height: 44px; }
.menu-filter[data-menu-filter="lunch"]:not(.is-active) { color: var(--primary); border-color: #74244960; }
.button:focus-visible, .nav-lunch:focus-visible, .menu-filter:focus-visible, .home-lunch-day summary:focus-visible { outline: 3px solid #c08a52; outline-offset: 5px; }
@media (min-width: 821px) and (max-width: 1100px) {
  .desktop-nav { gap: 16px; }
}
@media (max-width: 820px) {
  .mobile-menu { overflow-y: auto; }
  .mobile-menu nav a { min-height: 52px; }
  .mobile-menu-foot { padding-top: 24px; }
  .menu-toolbar { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #cbb7ab transparent; padding-bottom: 6px; }
  .menu-filter { flex: 0 0 auto; }
  .menu-toolbar-wrap { padding: 10px 0; }
  .menu-content { scroll-margin-top: 150px; }
  .menu-lunch { scroll-margin-top: 155px; }
}
@media (max-width: 560px) {
  .hero-actions-lunch { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero-actions-lunch .button { min-height: 50px; padding-inline: 12px; }
  .hero-actions-lunch .button-lunch { grid-column: 1 / -1; min-height: 54px; justify-content: space-between; padding-inline: 22px; font-size: .9rem; }
  .hero { height: auto; min-height: 100svh; }
  .hero-content { min-height: 100svh; height: auto; justify-content: center; padding-top: 130px; padding-bottom: 120px; }
  .hero h1 { font-size: clamp(3rem,15.5vw,5.3rem); }
  .hero-copy { font-size: .94rem; }
  .hero-eyebrow { margin-bottom: 24px; }
  .home-lunch { padding: 28px 20px; border-radius: 20px; }
  .home-lunch-head { padding-bottom: 24px; }
  .home-lunch-day summary { min-height: 78px; gap: 10px; }
  .home-lunch-day summary > span { font-size: 1.75rem; }
  .home-lunch-day summary small { font-size: .6rem; gap: 8px; }
  .home-lunch-list article { gap: 7px 14px; padding-block: 18px; }
  .home-lunch-list small, .home-lunch-list em { font-size: .7rem; line-height: 1.55; letter-spacing: .035em; }
  .menu-lunch > .home-lunch { box-shadow: 0 14px 40px #28151f0a; }
  .menu-page .inner-hero { min-height: 0; height: auto; }
  .menu-page .inner-hero-content { padding-top: 135px; padding-bottom: 40px; }
  .menu-page .inner-hero h1 { font-size: clamp(2.8rem,12vw,4rem); }
  .menu-page .inner-hero-copy { font-size: .9rem; }
}
