.menu-page {
  --menu-ink: #171512;
  --menu-paper: #fff4e1;
  --menu-red: #d42a24;
  --menu-muted: #61594e;
  --menu-line: #d8cbb8;
  background: var(--menu-paper);
  color: var(--menu-ink);
}

.menu-page .site-header { background: #171512; border: 0; color: var(--menu-paper); }
.menu-page .brand { color: var(--menu-paper); }
.menu-page .brand-logo { width: 76px; height: 76px; }
.menu-page .brand-name { margin-left: 10px; font: 800 12px/1.05 'Barlow Condensed', sans-serif; letter-spacing: 1.1px; }
.menu-page .main-nav { color: var(--menu-paper); }
.menu-page .header-cta { border-color: #f06a5e; color: var(--menu-paper); }
.menu-page .header-cta:hover { background: var(--menu-red); }
.menu-page .nav-toggle span { background: var(--menu-paper); }
.menu-page .main-nav.is-open { background: #171512; }
.menu-page a:focus-visible, .menu-page button:focus-visible, .menu-page input:focus-visible { outline: 3px solid #ff8a70; outline-offset: 3px; }

.menu-page .menu-intro { padding: 28px var(--gutter) 24px; background: #f3e5cc; }
.menu-page .menu-intro .eyebrow { margin: 0; color: #4d4339; font: 700 12px/1.2 'DM Sans', sans-serif; letter-spacing: 1.3px; }
.menu-page .menu-title-row { padding-top: 8px; align-items: baseline; justify-content: flex-start; gap: 22px; }
.menu-page .menu-title-row h1 { color: var(--menu-ink); font: 900 clamp(54px, 7.2vw, 82px)/.94 'Barlow Condensed', sans-serif; letter-spacing: -.02em; }
.menu-page .menu-title-row p { margin: 0; color: #51493f; font: 600 15px/1.35 'DM Sans', sans-serif; }
.menu-page .demo-notice { padding: 10px var(--gutter); background: #f4dfb6; color: #49350e; font-size: 14px; font-weight: 600; }
.menu-page .menu-browser { padding: 0 var(--gutter) 76px; }
.menu-page .menu-controls { min-height: 70px; gap: 18px; border-color: var(--menu-line); }
.menu-page .category-tabs { min-width: 0; gap: 8px; }
.menu-page .category-tab { min-height: 44px; padding: 9px 14px; border: 1px solid #c9baa5; border-radius: 3px; color: #403a32; font: 700 14px/1 'DM Sans', sans-serif; }
.menu-page .category-tab:hover { border-color: var(--menu-red); color: var(--menu-red); }
.menu-page .category-tab[aria-pressed="true"] { border-color: var(--menu-red); background: var(--menu-red); color: #fff; }
.menu-page .category-count { margin-left: 7px; font-size: 12px; opacity: .8; }
.menu-page .search-box { width: min(300px, 34vw); height: 46px; gap: 8px; color: var(--menu-ink); border-color: #82786b; font-size: 14px; font-weight: 600; }
.menu-page .search-icon { color: var(--menu-red); }
.menu-page .search-box input { min-height: 44px; font-size: 16px; }
.menu-page .search-box input::placeholder { color: #61594e; opacity: 1; }
.menu-page .search-box kbd { font: 11px 'DM Sans', sans-serif; color: #61594e; }
.menu-page .result-count { min-height: 38px; padding-top: 12px; color: #595145; font-size: 12px; letter-spacing: .08em; }
.menu-page .menu-list { border-color: var(--menu-line); }
.menu-page .menu-item { grid-template-columns: 88px minmax(0, 1fr) auto; gap: 20px; min-height: 116px; padding: 14px 8px 14px 0; border-color: var(--menu-line); scroll-margin-top: 100px; }
.menu-page .menu-item-image { width: 88px; height: 88px; border-radius: 2px; background: #e8d7bb; }
.menu-page .menu-item-copy { min-width: 0; }
.menu-page .menu-item-title-row { align-items: center; flex-wrap: wrap; gap: 5px 12px; }
.menu-page .menu-item h2 { color: var(--menu-ink); font: 800 27px/1.05 'Barlow Condensed', sans-serif; letter-spacing: .005em; }
.menu-page .menu-item-featured { color: #6d321c; font: 700 11px/1.3 'DM Sans', sans-serif; letter-spacing: .06em; }
.menu-page .menu-item-description { max-width: 680px; margin-top: 5px; color: #51493f; font: 400 15px/1.5 'DM Sans', sans-serif; }
.menu-page .menu-item-price { align-self: center; padding: 0 3px 0 12px; color: #921c17; font: 800 19px/1 'Barlow Condensed', sans-serif; white-space: nowrap; }
.menu-page .menu-item.is-selected { background: #ffebc9; box-shadow: inset 4px 0 var(--menu-red); padding-left: 12px; }
.menu-page .menu-empty, .menu-page .menu-error { padding: 54px 12px 62px; color: var(--menu-muted); }
.menu-page .menu-empty strong, .menu-page .menu-error strong { color: var(--menu-ink); font: 800 30px/1 'Barlow Condensed', sans-serif; }
.menu-page .menu-empty p, .menu-page .menu-error p { font-size: 15px; }
.menu-page .retry-button { min-height: 44px; border-radius: 3px; color: #991d18; font-size: 14px; }
.menu-page .menu-loading { min-height: 160px; color: #51493f; font: 600 15px 'DM Sans', sans-serif; }
.menu-page .menu-last-call { min-height: 150px; padding: 24px var(--gutter); background: #171512; color: var(--menu-paper); }
.menu-page .menu-last-call p { font: 800 clamp(30px, 4vw, 46px)/.95 'Barlow Condensed', sans-serif; letter-spacing: 0; }
.menu-page .menu-last-call p em { color: #ff8a70; }
.menu-page .menu-last-call .text-link { min-height: 44px; color: var(--menu-paper); font-size: 14px; }
.menu-page .menu-footer { background: #171512; color: var(--menu-paper); border-top: 1px solid #39342c; }
.menu-page .menu-footer .brand { color: var(--menu-paper); }
.menu-page .menu-footer .brand-logo { width: 58px; height: 58px; }
.menu-page .menu-footer .brand-name { font-size: 10px; }
.menu-page .menu-footer > p, .menu-page .menu-footer .copyright { color: #d1c5b4; }
.menu-page .menu-footer .footer-links a { color: var(--menu-paper); }

@media (max-width: 650px) {
  .menu-page .brand-logo { width: 58px; height: 58px; }
  .menu-page .brand-name { margin-left: 8px; font-size: 11px; }
  .menu-page .site-header { height: 72px; }
  .menu-page .main-nav { top: 72px; padding: 20px var(--gutter); gap: 16px; }
  .menu-page .main-nav a { min-height: 44px; display: flex; align-items: center; }
  .menu-page .header-cta { min-height: 44px; padding: 0 10px; font-size: 11px; }
  .menu-page .menu-intro { padding: 21px var(--gutter) 18px; }
  .menu-page .menu-intro .eyebrow { font-size: 11px; }
  .menu-page .menu-title-row { padding-top: 8px; gap: 13px; align-items: baseline; }
  .menu-page .menu-title-row h1 { font-size: clamp(46px, 13vw, 62px); }
  .menu-page .menu-title-row p { font-size: 13px; }
  .menu-page .menu-controls { padding: 11px 0 9px; gap: 8px; }
  .menu-page .category-tabs { width: calc(100% + 4px); margin: 0 -2px; padding: 1px 2px 5px; overflow-x: auto; overscroll-behavior-x: contain; }
  .menu-page .category-tab { min-height: 44px; padding: 8px 12px; font-size: 13px; }
  .menu-page .search-box { height: 46px; width: 100%; }
  .menu-page .search-box > span:not(.search-icon) { font-size: 14px; }
  .menu-page .search-box kbd { display: none; }
  .menu-page .result-count { min-height: 34px; padding-top: 10px; font-size: 11px; }
  .menu-page .menu-browser { padding-bottom: 48px; }
  .menu-page .menu-item { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 11px; min-height: 92px; padding: 11px 0; }
  .menu-page .menu-item-image { width: 64px; height: 64px; }
  .menu-page .menu-item-title-row { display: flex; align-items: baseline; gap: 4px 8px; }
  .menu-page .menu-item h2 { font-size: 23px; line-height: 1.05; }
  .menu-page .menu-item-featured { margin: 0; font-size: 10px; }
  .menu-page .menu-item-description { margin-top: 4px; font-size: 15px; line-height: 1.4; display: block; overflow: visible; }
  .menu-page .menu-item-price { padding: 2px 0 0 5px; font-size: 17px; }
  .menu-page .menu-item.is-selected { padding-left: 10px; }
  .menu-page .menu-last-call { min-height: 126px; padding-top: 18px; padding-bottom: 18px; }
  .menu-page .menu-last-call p { font-size: 32px; }
  .menu-page .menu-last-call .text-link { font-size: 12px; }
  .menu-page .menu-footer { grid-template-columns: 1fr auto; }
}

@media (max-width: 370px) {
  .menu-page .brand-name { font-size: 10px; }
  .menu-page .header-cta { margin-right: 5px; padding: 0 8px; font-size: 10px; }
  .menu-page .menu-item { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 9px; }
  .menu-page .menu-item-image { width: 54px; height: 54px; }
  .menu-page .menu-item h2 { font-size: 21px; }
  .menu-page .menu-item-price { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page .menu-item { animation: none; }
  .menu-page .menu-item-image img { transition: none; }
}

/* Complete layout primitives; shared stylesheet owns only the site chrome. */
.menu-page .menu-title-row { display:flex; }
.menu-page .menu-title-row h1 { margin:0; }
.menu-page .menu-controls { display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--menu-line); }
.menu-page .category-tabs { display:flex;overflow-x:auto;max-width:100%;scrollbar-width:thin; }
.menu-page .category-tab { flex-shrink:0;white-space:nowrap;transition:background .2s,color .2s,border-color .2s; }
.menu-page .search-box { display:flex;align-items:center;border:1px solid #a39784;padding:0 10px;flex-shrink:0;border-radius:3px;background:#fffbf3; }
.menu-page .search-box input { border:0;background:transparent;width:100%;min-width:0;flex:1;color:var(--menu-ink);outline:0; }
.menu-page .search-box:focus-within { outline:2px solid #921c17;outline-offset:2px; }
.menu-page .search-icon { font-size:24px;line-height:1; }
.menu-page .result-count { margin:0; }
.menu-page .menu-item { display:grid;border-bottom:1px solid var(--menu-line);animation:menu-enter .35s var(--ease) both; }
.menu-page .menu-item.no-image { grid-template-columns:minmax(0,1fr) auto; }
.menu-page .menu-item-image { overflow:hidden; }
.menu-page .menu-item-image img { width:100%;height:100%;object-fit:cover;transition:transform .3s; }
.menu-page .menu-item-title-row { display:flex; }
.menu-page .menu-item h2 { margin:0; }
.menu-page .menu-item-description { margin-bottom:0;overflow-wrap:anywhere; }
.menu-page .menu-last-call { display:flex;justify-content:space-between;align-items:center;gap:20px; }
.menu-page .menu-last-call p { margin:0; }
.menu-page .menu-footer { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px var(--gutter);flex-wrap:wrap; }
.menu-page .menu-footer>p { display:none; }
.menu-page .brand-name { font-size:21px;line-height:1; }
.menu-page .menu-footer .brand-name { font-size:18px; }
.menu-page .menu-item:focus-visible { outline:3px solid var(--menu-red);outline-offset:3px; }
.menu-page .menu-empty,.menu-page .menu-error { text-align:center; }
.menu-page .retry-button { padding:12px 20px;border:1px solid currentColor;background:none;font-weight:700; }
.menu-page .menu-item-featured { color:#74331c; }
@keyframes menu-enter { from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)} }
@media(max-width:650px) {
  .menu-page .menu-controls { flex-direction:column-reverse;align-items:stretch; }
  .menu-page .menu-intro { padding:15px var(--gutter) 13px; }
  .menu-page .menu-intro .eyebrow { font-size:10px;line-height:1.3; }
  .menu-page .menu-title-row { padding-top:6px;align-items:center; }
  .menu-page .menu-title-row h1 { font-size:44px; }
  .menu-page .menu-title-row p { font-size:12px; }
  .menu-page .demo-notice { margin:0;padding:8px var(--gutter);font-size:12px;line-height:1.4; }
  .menu-page .menu-footer .copyright { border:0;padding:0; }
  .menu-page .brand-name { font-size:18px; }
  .menu-page .brand-name small { font-size:10px; }
  .menu-page .menu-item { grid-template-columns:64px minmax(0,1fr);gap:6px 12px; }
  .menu-page .menu-item-image { grid-row:1/3;align-self:start;margin-top:2px; }
  .menu-page .menu-item-price { grid-column:2;align-self:start;justify-self:start;padding:4px 0 2px;font-size:20px; }
  .menu-page .menu-item.no-image { grid-template-columns:minmax(0,1fr); }
  .menu-page .menu-item.no-image .menu-item-price { grid-column:1; }
  .menu-page .menu-item-description { font-size:16px;line-height:1.5; }
  .menu-page .menu-item-featured { font-size:11px; }
  .menu-page .menu-item-image { width:64px;height:64px; }
  .menu-page .category-tab { font-size:13px;padding-inline:11px; }
}
@media(max-width:370px){.menu-page .brand-name{font-size:15px}.menu-page .brand-name small{font-size:9px}.menu-page .menu-title-row p{display:none}.menu-page .menu-item h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.menu-page .menu-item{animation:none}}
.menu-page .menu-rappi{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 14px var(--sans);color:#921c17;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@media(max-width:370px){.menu-page .menu-rappi{font-size:12px;gap:5px}}
