.menu-page { background: #fffaf4; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 2000; padding: 12px; background: white; }
.skip-link:focus { top: 12px; }
.menu-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px max(5%, calc((100% - 1120px) / 2)); background: #fffaf4; }
.menu-header nav { display: flex; gap: 26px; font-weight: 700; font-size: .9rem; }
.menu-header nav a { padding: 10px 0; }
.menu-cover { padding: 52px max(5%, calc((100% - 1120px) / 2)) 56px; color: #fffaf4; background: linear-gradient(90deg,rgba(40,26,18,.73),rgba(40,26,18,.18)), url('Image1b.jpg') center 57%/cover; }
.menu-cover h1 { font-size: clamp(2.5rem,5vw,4.5rem); line-height: 1.04; letter-spacing: -2px; margin-bottom: 20px; }
.menu-cover > p:last-child { line-height: 1.6; }
.menu-content { width: min(1120px,90%); margin: 0 auto; padding: 44px 0 70px; }
.menu-intro { margin-bottom: 24px; }
.menu-intro .eyebrow { color: #397086; letter-spacing: 2px; }
.menu-intro h2 { font-size: clamp(1.7rem,3vw,2.5rem); line-height: 1.2; margin-bottom: 12px; }
.menu-intro > p:last-child { color: #756558; }
.local-selector { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.local-selector button { appearance: none; cursor: pointer; border: 1px solid #d8cabc; border-radius: 14px; background: transparent; padding: 18px; text-align: left; font: inherit; color: var(--wood); }
.local-selector button span { display: block; font-size: .8rem; margin-top: 5px; color: #716256; }
.local-selector button:hover { background: #f2e9df; }
.local-selector button[aria-pressed="true"] { background: var(--wood); color: #fff; border-color: var(--wood); }
.local-selector button[aria-pressed="true"] span { color: #f7e5d5; }
.menu-status { font-size: .85rem; color: #6a5b50; margin: 18px 0; min-height: 1.6em; }
.menu-tools { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin: 28px 0 16px; }
.menu-tools[hidden] { display: none; }
.menu-tools label { display: block; font-weight: 700; font-size: .85rem; margin-bottom: 7px; }
.menu-tools input,.menu-tools select { width: 100%; border: 1px solid #cfbca7; border-radius: 10px; padding: 14px; background: white; color: var(--wood-dark); font: inherit; }
.menu-allergens { font-size: .82rem; color: #786a5d; max-width: 780px; }
.result-count { margin-top: 24px; color: #756558; font-size: .85rem; }
.menu-category { margin-top: 32px; }
.menu-category h2 { font-family: Georgia,serif; font-weight: 400; font-size: 2rem; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid #d8cabc; }
.menu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.menu-product { min-width: 0; background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 5px 25px rgba(100,67,42,.045); }
.menu-product h3 { font-size: 1.1rem; color: var(--wood); line-height: 1.3; }
.product-description { color: #7e7066; font-size: .85rem; margin: 8px 0 12px; }
.price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 10px 0; border-bottom: 1px solid #f0e9e1; font-size: .95rem; }
.price-row:last-child { border: 0; padding-bottom: 0; }
.price-row span { overflow-wrap: anywhere; }
.price-row strong { white-space: nowrap; color: var(--wood-dark); font-variant-numeric: tabular-nums; }
.price-row.is-unavailable { color: #786a5d; }
.price-row.is-unavailable strong { white-space: normal; text-align: right; max-width: 160px; font-size: .8rem; color: #78604e; }
.price-notice { padding: 15px max(5%, calc((100% - 1120px) / 2)); background: #f4e9d9; color: #684c36; font-size: .85rem; line-height: 1.6; border-bottom: 1px solid #e4d6c3; }
.empty-results { padding: 34px 0; }
.local-selected .menu-cover { padding-top: 28px; padding-bottom: 28px; }
.local-selected .menu-cover h1 { font-size: 2.4rem; margin-bottom: 0; }
.local-selected .menu-cover h1 br { display: none; }
.local-selected .menu-cover > p:last-child { display: none; }
.local-selected .menu-intro > p:last-child { display: none; }
@media(max-width:600px) {
  .menu-header { padding: 18px 5%; gap: 16px; }
  .menu-header .logo { font-size: 1.45rem; }
  .menu-header nav { gap: 15px; font-size: .8rem; }
  .menu-cover { padding-top: 36px; padding-bottom: 38px; }
  .menu-cover h1 { letter-spacing: -1px; }
  .menu-cover .eyebrow { font-size: .65rem; letter-spacing: 2px; }
  .menu-content { padding-top: 30px; }
  .local-selector { grid-template-columns: 1fr; gap: 8px; }
  .local-selector button { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; padding: 13px 15px; }
  .local-selector button span { margin: 0; font-size: .72rem; }
  .menu-tools,.menu-grid { grid-template-columns: 1fr; }
  .menu-tools { gap: 12px; }
  .menu-product { padding: 20px; }
  .menu-category h2 { font-size: 1.75rem; }
  .local-selected .menu-cover { padding: 20px 5%; }
  .local-selected .menu-cover h1 { font-size: 1.5rem; letter-spacing: -.5px; }
  .local-selected .menu-cover .eyebrow { display: none; }
  .local-selected .menu-content { padding-top: 22px; }
  .local-selected .menu-intro { margin-bottom: 16px; }
  .local-selected .menu-intro .eyebrow { display: none; }
}
