/* Primary food-app composition: black surfaces, food photography and purposeful orange. */
.presentation-app {
  --paper:#080b0d; --card:#111619; --sand:#1a2125; --ink:#f7f8f9; --ink-2:#d6dade; --muted:#9ba5ac;
  --line:#ffffff0d; --line-2:#ffffff19; --accent:var(--venue-accent,#ff650b); --accent-ink:color-mix(in srgb,var(--accent) 75%,#fff);
  --brand-2:color-mix(in srgb,var(--accent) 90%,#fff); --ok:#b0d78e; --ok-soft:#9ed47716; --warn:#ffd18c; --warn-soft:#ffd18c15; --bad:#ff9696; --bad-soft:#ff969614;
  color-scheme:dark; background:var(--paper); --space:20px;
}
.presentation-app .m-wrap { max-width:1140px; }
.presentation-app .m-hero { padding:20px 0 10px; border:0; }
.presentation-app .m-cover { display:none; }
.presentation-app .m-id { gap:10px; }
.presentation-app .m-logo { width:38px; height:38px; border-radius:12px; }
.presentation-app .m-logo.ph { font:750 20px var(--font); }
.presentation-app .m-name { font:700 17px/1.2 var(--font); letter-spacing:-.025em; }
.presentation-app .m-sub { font-size:9px; margin-top:4px; letter-spacing:.1em; }
.presentation-app .m-top { gap:5px; }
.presentation-app .m-top .btn { min-height:40px; padding-inline:10px; background:var(--card); }
.presentation-app .m-top .info-btn { width:40px; }
.presentation-app .m-place { margin-top:8px; border-radius:6px; font-size:11px; }
.presentation-app .m-welcome { padding:16px 0 8px; }
.presentation-app .m-welcome p { color:var(--muted); font-size:12px; margin-bottom:8px; }
.presentation-app .m-welcome h2 { max-width:18ch; font:750 29px/1.14 var(--font); letter-spacing:-.04em; }
.presentation-app .m-tools { padding-top:12px; top:-80px; background:var(--paper); backdrop-filter:none; }
.presentation-app .m-search { gap:8px; }
.presentation-app .m-search input { background:var(--card); border-color:var(--line); border-radius:10px; height:46px; font-size:14px; }
.presentation-app .m-search input::placeholder { color:#78838b; }
.presentation-app .m-filter { background:var(--accent)!important; color:var(--on-accent,#000); border:0; border-radius:10px; width:46px!important; height:46px; }
.presentation-app .m-categories-label { display:none; }
.presentation-app .m-cats { border:0; gap:12px; padding:18px 0 8px; }
.presentation-app .m-category { display:grid; justify-items:center; align-content:start; gap:7px; width:68px; min-width:68px; border:0; padding:0; color:var(--muted); background:transparent; cursor:pointer; font-size:11px; line-height:1.3; }
.presentation-app .m-category>span:last-child { min-height:28px; }
.presentation-app .m-category-art { display:grid; place-items:center; width:56px; height:56px; border-radius:16px; background:var(--card); border:1px solid var(--line-2); overflow:hidden; }
.presentation-app .m-category-art img { width:100%; height:100%; object-fit:cover; }
.presentation-app .m-category[aria-pressed='true'] { color:var(--ink); }
.presentation-app .m-category[aria-pressed='true'] .m-category-art { outline:2px solid var(--accent); outline-offset:3px; color:var(--accent-ink); }
.presentation-app .m-highlights { margin-top:20px; }
.presentation-app .m-highlights-head { margin-bottom:12px; }
.presentation-app .m-highlights-head h2 { font:700 19px/1.2 var(--font); letter-spacing:-.025em; }
.presentation-app .m-highlights-head>span { color:var(--muted); font-size:11px; }
.presentation-app .m-highlight-track { grid-auto-columns:92%; gap:12px; padding:0 0 8px; }
.presentation-app .m-highlight { border-radius:16px; min-height:280px; background:var(--card); border:1px solid var(--line-2); }
.presentation-app .m-highlight-img::after { background:linear-gradient(180deg,#0000 15%,#06090a22 38%,#06090aee 100%); }
.presentation-app .m-highlight-img img { object-position:center 45%; }
.presentation-app .m-highlight-badge { top:12px; inset-inline-start:12px; background:#0b1010cc; color:#fff; border:1px solid #ffffff30; font-size:10px; padding:5px 9px; }
.presentation-app .m-highlight-copy { min-height:280px; padding:156px 16px 16px; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-content:end; }
.presentation-app .m-highlight-copy strong { grid-column:1/-1; font:750 24px/1.1 var(--font); letter-spacing:-.035em; }
.presentation-app .m-highlight-copy>span:not(.m-highlight-cta) { grid-column:1/-1; font-size:11px; color:#cad1d4; -webkit-line-clamp:1; }
.presentation-app .m-highlight-copy>b { grid-column:1; margin-top:7px; align-self:center; }
.presentation-app .m-highlight-copy .m-price { color:#fff; font-size:17px; font-weight:750; }
.presentation-app .m-highlight-cta { grid-column:2; grid-row:3; display:flex; align-items:center; justify-content:center; gap:8px; padding:9px 12px; background:var(--accent); color:var(--on-accent,#000); border-radius:9px; font-size:11px; font-weight:750; margin-top:7px; }
.presentation-app .m-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.presentation-app .m-section-head>span { font-size:11px; color:var(--muted); }
.presentation-app .m-sec { margin-top:24px; scroll-margin-top:112px; }
.presentation-app .m-sec h2 { font:700 20px/1.2 var(--font); letter-spacing:-.025em; }
.presentation-app .m-sec .hours { font-size:11px; }
.presentation-app .m-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.presentation-app .m-item.photo { grid-template-columns:1fr; gap:0; padding:0; border:1px solid var(--line-2); background:var(--card); border-radius:14px; overflow:hidden; align-content:start; }
.presentation-app .m-item.photo .m-right { grid-row:1; }
.presentation-app .m-item.photo .m-thumb { width:100%; height:auto; aspect-ratio:1.12; border-radius:0; overflow:hidden; }
.presentation-app .m-item.photo .m-txt { padding:12px; align-self:start; }
.presentation-app .m-item.photo .t { font-size:14px; font-weight:700; line-height:1.35; }
.presentation-app .m-item.photo .d { font-size:11px; margin-top:5px; -webkit-line-clamp:2; }
.presentation-app .m-item.photo .meta { margin-top:9px; }
.presentation-app .m-item.photo .meta>.m-price { font-size:15px; margin-bottom:0; }
.presentation-app .m-item .meta>.tag:not(.bad) { display:none; }
.presentation-app .m-add { width:34px; height:34px; border:0; border-radius:10px; bottom:8px; inset-inline-end:8px; font-size:23px; }
.presentation-app .m-item:not(.photo) { grid-column:1/-1; padding:14px; border:1px solid var(--line); background:var(--card); border-radius:12px; gap:12px; }
.presentation-app .m-item:not(.photo) .t { font-size:14px; }
.presentation-app .m-item:not(.photo) .d { font-size:12px; }
.presentation-app .m-item:not(.photo) .m-price { font-size:15px; }
.presentation-app .m-add.solo { width:34px; height:34px; }
.presentation-app .m-foot { font-size:11px; gap:9px; }
.presentation-app .m-foot .m-ann { background:var(--card); border-color:var(--accent); font-size:12px; text-align:start; }
.presentation-app .m-dock { padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:linear-gradient(#080b0d00,#080b0ded 35%); }
.presentation-app .m-dock-in { border-radius:16px; background:#101619f2; border-color:var(--line-2); padding:5px; box-shadow:0 12px 40px #0008; }
.presentation-app .m-nav-btn { min-height:52px; border-radius:10px; font-size:10px; }
.presentation-app .m-nav-btn[aria-current] { background:color-mix(in srgb,var(--accent) 12%,var(--card)); }
.presentation-app .m-cart-cta { border-radius:12px; min-height:50px; font-weight:700; }
.presentation-app .sheet-bg { background:#000a; }
.presentation-app .sheet { border:1px solid var(--line-2); background:var(--paper); }
.presentation-app .sheet-head,.presentation-app .sheet-foot { background:var(--paper); border-color:var(--line-2); }
.presentation-app .sheet-head h2 { font:700 17px var(--font); }
.presentation-app .sheet-body { background:var(--paper); }
.presentation-app .m-product-sheet:has(.m-photo) .sheet-head { position:absolute; inset:0 0 auto; z-index:2; border:0; background:linear-gradient(#000b,#0000); padding:12px 16px; }
.presentation-app .m-product-sheet:has(.m-photo) .sheet-head h2 { visibility:hidden; }
.presentation-app .m-product-sheet { position:relative; }
.presentation-app .m-product-sheet .sheet-head .btn { background:#11191ddd; border:1px solid #ffffff30; }
.presentation-app .m-photo { aspect-ratio:1.22; object-fit:cover; margin-bottom:20px; }
.presentation-app .m-product-name { font:750 28px/1.15 var(--font); letter-spacing:-.035em; }
.presentation-app .m-product-meta>.m-price { font-size:22px; }
.presentation-app .m-product-desc { font-size:14px; margin-block:12px 20px; color:var(--muted); }
.presentation-app .m-product-tags { font-size:11px; }
.presentation-app .m-product-tags>span { background:var(--card); }
.presentation-app .m-config-title { font-size:14px; }
.presentation-app .m-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.presentation-app .m-choice { display:grid; gap:6px; font-size:12px; background:var(--card); border-color:var(--line-2); border-radius:10px; }
.presentation-app .m-choice.on { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--card)); }
.presentation-app .m-choice b { font-size:13px; }
.presentation-app .m-allergen-line { font-size:12px; }
.presentation-app .m-allergen-confirm { font-size:11px; }
.presentation-app .m-pair { background:var(--card); }
.presentation-app .m-note-input,.presentation-app .textarea { background:var(--card); border-color:var(--line-2); color:var(--ink); }
.presentation-app .sheet-foot .btn.brand { min-height:50px; font-weight:750; }
.presentation-app .m-qty { background:var(--card); border-color:var(--line-2); border-radius:10px; }
.presentation-app .m-order-context { padding:10px 12px; background:var(--card); border-radius:9px; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:var(--muted); }
.presentation-app .m-order-context strong { color:var(--ink); }
.presentation-app .m-cart-sheet .m-line { padding:16px 0; gap:12px; grid-template-columns:62px minmax(0,1fr) auto; }
.presentation-app .m-cart-photo,.presentation-app .m-cart-placeholder { width:62px; height:68px; border-radius:10px; }
.presentation-app .m-cart-sheet .nm { font-size:14px; line-height:1.35; }
.presentation-app .m-cart-sheet .nt { font-size:11px; }
.presentation-app .m-cart-sheet .m-qty { height:32px!important; border-radius:8px; }
.presentation-app .m-cart-sheet .m-qty button { width:28px; min-height:32px; font-size:18px; }
.presentation-app .m-cart-sheet .m-qty span { min-width:18px; font-size:12px; }
.presentation-app .m-total { font:750 23px var(--font); }
.presentation-app .m-num { font:800 58px var(--font); }
.presentation-app .toast.ok,.presentation-app .toast.bad { color:#080b0d; }
.presentation-app .m-msg.bot { background:var(--card); }
.presentation-app .m-msg.me { color:var(--on-accent); }
.presentation-app .m-sugs .chip { background:var(--card); }
.presentation-app .p-style-sample.app { background:#080b0d; color:#ff650b; }
@media(min-width:720px) {
  .presentation-app { --space:32px; }
  .presentation-app .m-hero { padding-top:28px; }
  .presentation-app .m-welcome h2 { font-size:40px; max-width:none; }
  .presentation-app .m-welcome { padding-top:24px; }
  .presentation-app .m-highlight-track { grid-auto-columns:calc((100% - 24px)/3); }
  .presentation-app .m-highlight,.presentation-app .m-highlight-copy { min-height:320px; }
  .presentation-app .m-highlight-copy { padding-top:190px; }
  .presentation-app .m-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .presentation-app .m-item:not(.photo) { grid-column:auto; }
  .presentation-app .m-item.photo .m-thumb { aspect-ratio:1.5; }
  .presentation-app .m-product-sheet { max-width:600px; }
  .presentation-app .m-photo { aspect-ratio:1.6; }
  .presentation-app .m-tools { top:-58px; }
}
@media(max-width:359px) {
  .presentation-app { --space:14px; }
  .presentation-app .m-name { font-size:15px; }
  .presentation-app .m-welcome h2 { font-size:26px; }
  .presentation-app .m-top .btn { padding-inline:8px; }
  .presentation-app .m-top .info-btn { width:36px; }
  .presentation-app .m-highlight-copy strong { font-size:21px; }
  .presentation-app .m-item.photo .m-txt { padding:10px; }
  .presentation-app .m-cart-sheet .m-line { grid-template-columns:48px minmax(0,1fr); }
  .presentation-app .m-cart-photo,.presentation-app .m-cart-placeholder { width:48px; height:54px; }
  .presentation-app .m-cart-sheet .m-qty { grid-column:2; justify-self:start; }
}

.menu-preview{scrollbar-width:none}.menu-preview::-webkit-scrollbar{display:none}
