/* One quiet, mobile-first visual system for every NO1 menu page. */
.qr-menu-scope {
  --menu-forest:#163d32; --menu-deep:#102f27; --menu-leaf:#4d715d; --menu-accent:#b29b70;
  --menu-paper:#f7f5ee; --menu-ink:#1d332a; --menu-muted:#687369;
  --menu-surface:#fffefa; --menu-soft:#eef0e7;
  --menu-rule:#e4e5da; --menu-radius:18px; --menu-page-x:max(clamp(1rem,4vw,2.5rem),env(safe-area-inset-left),env(safe-area-inset-right));
  background:#ebe8df; color:var(--menu-ink);
  font-family:"Manrope",var(--font-manrope),"Avenir Next","Segoe UI",Arial,sans-serif; min-height:100svh;
  -webkit-font-smoothing:antialiased;
}
.qr-menu-document { --font-manrope:"Manrope"; -webkit-text-size-adjust:100%; background:#ebe8df; margin:0; }
.qr-menu-scope *, .qr-menu-scope *::before, .qr-menu-scope *::after { box-sizing:border-box; }
.qr-menu-scope a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:rgba(23,63,53,.08); }
.qr-menu-scope img { display:block; max-width:100%; }
.qr-menu-scope :is(h1,h2,h3,h4,p,ol,ul,figure) { margin:0; }
.qr-menu-scope :is(ol,ul) { list-style:none; padding:0; }
.qr-menu-scope :is(a,summary,button,input):focus-visible { outline:3px solid #9a6b2f; outline-offset:4px; }
.qr-menu-scope [hidden] { display:none!important; }
.menu-visually-hidden { clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.menu-page { background:var(--menu-paper); margin:0 auto; max-width:1120px; min-height:100svh; }
.menu-icon { display:block; flex:0 0 auto; height:20px; width:20px; }
.menu-skip { background:white; border-radius:10px; color:var(--menu-forest)!important; font-weight:700; left:1rem; padding:.8rem 1rem; position:fixed; top:0; transform:translateY(-150%); z-index:100; }
.menu-skip:focus { transform:translateY(.6rem); }

/* Equal side columns center the logo independently of the home button. */
.menu-masthead {
  align-items:center; background:var(--menu-forest); border-bottom:1px solid rgba(220,203,165,.3); border-top:3px solid var(--menu-accent);
  color:#fffdf8; display:grid; gap:.5rem; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  min-height:112px; padding:max(1rem,env(safe-area-inset-top)) max(var(--menu-page-x),env(safe-area-inset-right)) 1rem max(var(--menu-page-x),env(safe-area-inset-left));
}
.menu-home-link { align-items:center; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.23); border-radius:999px; display:inline-flex; font-size:.75rem; font-weight:650; gap:.45rem; grid-column:1; justify-self:start; line-height:1.25; min-height:44px; padding:.65rem .9rem; white-space:nowrap; }
.menu-home-link .menu-icon { height:17px; width:17px; }
.menu-masthead a:focus-visible { outline-color:#e7bf77; }
.menu-brand { background:transparent; border:0; border-radius:50%; display:grid; filter:drop-shadow(0 3px 7px rgba(0,0,0,.16)); grid-column:2; height:86px; justify-self:center; padding:0; place-items:center; width:86px; }
.menu-brand > img { border-radius:50%; height:86px; object-fit:contain; width:86px; }

/* Home-only botanical line work: empty header column and card gutters, never text. */
.menu-page--directory .menu-masthead { background-image:url("menu-botanical-header.svg"); background-repeat:no-repeat; background-position:right var(--menu-page-x) center; background-size:64px auto; }
.menu-page--directory .menu-directory { isolation:isolate; position:relative; }
.menu-page--directory .menu-directory::before { background-image:url("menu-botanical-pattern.svg"); background-position:center top; background-repeat:repeat-y; background-size:100% auto; content:""; inset:0 calc(-1 * var(--menu-page-x)); opacity:.5; pointer-events:none; position:absolute; z-index:-1; }
@media (min-width: 640px) {
  .menu-page--directory .menu-masthead { background-size:88px auto; }
  .menu-page--directory .menu-directory::before { background-repeat:repeat; background-size:360px 440px; }
}

.menu-directory-heading { align-items:end; display:flex; flex-wrap:wrap; gap:.75rem 1rem; justify-content:space-between; padding:1.85rem var(--menu-page-x) 1rem; }
.menu-eyebrow { color:var(--menu-leaf); display:block; font-size:.625rem; font-weight:750; letter-spacing:.14em; line-height:1.6; margin-bottom:.35rem; text-transform:uppercase; }
.menu-directory-heading h1, .drinks-heading h1 { font-size:clamp(1.9rem,5vw,2.65rem); font-weight:700; letter-spacing:-.045em; line-height:1.2; overflow-wrap:anywhere; }
.menu-directory-heading > span { background:#eeeee4; border:1px solid var(--menu-rule); border-radius:999px; color:var(--menu-muted); font-size:.6875rem; font-weight:600; line-height:1.4; padding:.45rem .7rem; }
.menu-directory { margin-inline:var(--menu-page-x); scroll-margin-top:1rem; }
.menu-category-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.menu-category-grid > li { display:flex; min-width:0; }
.menu-category-tile { background:var(--menu-surface); border:1px solid #e3e4d9; box-shadow:0 4px 12px rgba(33,50,35,.035),0 1px 2px rgba(33,50,35,.025); border-radius:24px; display:flex; flex-direction:column; min-width:0; padding:7px; width:100%; }
.menu-category-tile__photo { aspect-ratio:7 / 5; background:var(--menu-soft); border-radius:17px; isolation:isolate; overflow:hidden; }
.menu-category-tile__photo > img { border-radius:inherit; height:100%; object-fit:cover; width:100%; }
.menu-category-tile__caption { display:flex; flex:1; flex-direction:column; gap:.75rem; min-height:94px; padding:.85rem .55rem .5rem; }
.menu-category-tile__caption h2 { font-size:1rem; font-weight:700; letter-spacing:-.025em; line-height:1.45; overflow-wrap:anywhere; }
.menu-category-tile__meta { align-items:center; display:flex; gap:.5rem; justify-content:space-between; margin-top:auto; }
.menu-category-tile__meta > span:first-child { color:var(--menu-muted); font-size:.75rem; font-weight:500; }
.menu-category-tile__arrow { align-items:center; background:#f0f2e9; border:1px solid #e5e8dc; border-radius:50%; color:var(--menu-forest); display:flex; flex:0 0 32px; height:32px; justify-content:center; }
.menu-category-tile__arrow .menu-icon { height:17px; width:17px; }

.drinks-heading { margin-inline:var(--menu-page-x); padding-block:1.65rem 1.25rem; }
.menu-lede { color:var(--menu-muted); font-size:.875rem; line-height:1.7; margin-top:.55rem!important; max-width:42rem; }
.drink-switcher { background:var(--menu-soft); border:1px solid var(--menu-rule); border-radius:14px; display:grid; gap:4px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 var(--menu-page-x) 1rem; padding:4px; }
.drink-switcher a { align-items:center; border-radius:10px; display:flex; font-size:.875rem; font-weight:600; gap:.5rem; justify-content:center; line-height:1.35; min-height:44px; min-width:0; padding:.6rem; }
.drink-switcher strong { border-radius:6px; font-size:.75rem; font-weight:500; opacity:.75; }
.drink-switcher__active { background:var(--menu-forest); color:white!important; }
.catalog-categories { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 var(--menu-page-x) 1.5rem; }
.catalog-categories a { align-items:center; background:var(--menu-surface); border:1px solid var(--menu-rule); border-radius:12px; display:inline-flex; flex:0 1 auto; font-size:.875rem; font-weight:600; gap:.6rem; line-height:1.35; min-height:44px; min-width:0; padding:.65rem .8rem; }
.catalog-categories a > span { overflow-wrap:anywhere; }
.catalog-categories small { flex-shrink:0; font-size:.75rem; font-weight:500; opacity:.7; }
.catalog-categories a[aria-current="page"] { background:var(--menu-forest); border-color:var(--menu-forest); color:white; }
.catalog-products { margin:0 var(--menu-page-x) 1.5rem; scroll-margin-top:1rem; }
.section-heading { align-items:baseline; border-bottom:1px solid var(--menu-rule); display:flex; gap:.75rem; justify-content:space-between; padding-bottom:.9rem; }
.section-heading > div { min-width:0; }
.section-heading h2 { font-size:clamp(1.2rem,3vw,1.5rem); font-weight:650; letter-spacing:-.02em; line-height:1.3; overflow-wrap:anywhere; }
.section-heading > small { color:var(--menu-muted); flex-shrink:0; font-size:.8125rem; }
.drink-list { display:grid; gap:.85rem; padding-top:1rem!important; }
.catalog-product { --product-photo-size:148px; align-items:start; background:var(--menu-surface); border:1px solid var(--menu-rule); border-radius:22px; box-shadow:0 3px 12px rgba(33,50,35,.025); column-gap:1.3rem; display:grid; grid-template-areas:"photo summary" "photo description" "photo dietary"; grid-template-columns:var(--product-photo-size) minmax(0,1fr); grid-template-rows:auto auto 1fr; padding:1.1rem; row-gap:.65rem; }
.catalog-product:last-child { border-bottom:1px solid var(--menu-rule); }
.catalog-photo { align-items:center; align-self:start; background:var(--menu-soft); border:1px solid rgba(23,63,53,.06); border-radius:var(--menu-radius); display:flex; grid-area:photo; height:var(--product-photo-size); isolation:isolate; justify-content:center; overflow:hidden; width:var(--product-photo-size); }
.catalog-photo > img { border-radius:12px; height:auto; max-height:100%; max-width:100%; object-fit:contain; width:auto; }
.catalog-photo--crop > img { border-radius:inherit; height:100%; object-fit:cover; object-position:center; width:100%; }
.catalog-photo--empty > span { color:#58685e; font-size:.75rem; line-height:1.5; text-align:center; }
.drink-card__content { grid-area:summary; min-width:0; }
.drink-card__heading { align-items:baseline; display:grid; gap:.4rem 1rem; grid-template-columns:minmax(0,1fr) auto; }
.drink-card__heading h3 { font-size:1.0625rem; font-weight:700; letter-spacing:-.025em; line-height:1.45; overflow-wrap:anywhere; }
.drink-card__heading data { color:var(--menu-forest); font-size:1.0625rem; font-variant-numeric:tabular-nums; font-weight:750; line-height:1.4; overflow-wrap:anywhere; }
.catalog-product__description { grid-area:description; min-width:0; }
.catalog-product__description p { color:#657066; font-size:.875rem; line-height:1.7; max-width:65ch; overflow-wrap:anywhere; white-space:pre-line; }
[data-product-dialog-ready] .catalog-product__description p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

/* Native disclosures work without JavaScript; verification status stays visible. */
.catalog-dietary { align-self:start; background:#f4f5ed; border:1px solid #e6e9dd; border-radius:12px; grid-area:dietary; min-width:0; overflow-wrap:anywhere; }
.catalog-dietary summary { align-items:center; cursor:pointer; display:grid; font-size:.75rem; font-weight:650; gap:.3rem .55rem; grid-template-columns:minmax(0,1fr) auto 17px; list-style:none; min-height:44px; padding:.65rem .75rem; }
.catalog-dietary summary::-webkit-details-marker { display:none; }
.catalog-dietary summary > .menu-icon { height:17px; margin-left:auto; width:17px; }
.catalog-dietary[open] summary > .menu-icon { transform:rotate(180deg); }
.catalog-dietary__status { color:#82623b; font-size:.625rem; font-weight:500; white-space:nowrap; }
.catalog-dietary__body { border-top:1px solid #e1e6da; padding:1rem; }
.catalog-dietary__body h4 { font-size:.8125rem; font-weight:700; line-height:1.4; margin-bottom:.4rem; }
.catalog-dietary__body h4:not(:first-child) { margin-top:1rem; }
.catalog-dietary__body p { color:#56645b; font-size:.875rem; line-height:1.65; }
.allergen-tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.allergen-tags li { background:#f6ecdd; border:1px solid #e5d6bd; border-radius:7px; color:#73502e; font-size:.75rem; line-height:1.4; padding:.35rem .55rem; }
.catalog-dietary__body .catalog-dietary__notice { margin-top:.8rem; }
.catalog-dietary__body .catalog-dietary__disclaimer { border-top:1px solid #dfe4d9; font-size:.75rem; margin-top:.85rem; padding-top:.8rem; }
.menu-note { align-items:start; background:#f0f2e9; border:1px solid #e3e7d9; border-radius:var(--menu-radius); display:grid; gap:.75rem; grid-template-columns:26px minmax(0,1fr); margin:1.75rem var(--menu-page-x); padding:1rem; }
.menu-note > span { align-items:center; border:1px solid #b5c4b6; border-radius:50%; color:var(--menu-forest); display:flex; font-family:Georgia,serif; font-weight:700; height:26px; justify-content:center; width:26px; }
.menu-note p { color:#56645b; font-size:.8125rem; line-height:1.65; }
.menu-footer { background:var(--menu-deep); border-top:1px solid rgba(255,253,248,.1); color:#c1cec3; padding:1.75rem max(var(--menu-page-x),env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(var(--menu-page-x),env(safe-area-inset-left)); }
.menu-footer > div { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem 1rem; justify-content:space-between; }
.menu-footer a { align-items:center; color:#fffdf5; display:inline-flex; font-size:.8125rem; font-weight:600; gap:.5rem; min-height:44px; }
.menu-footer .menu-icon { height:17px; width:17px; }
.menu-footer span { font-size:.6875rem; letter-spacing:.04em; }
.menu-footer p { border-top:1px solid rgba(255,253,248,.12); color:#9fb4a6; font-size:.625rem; line-height:1.8; margin-top:.75rem; padding-top:1rem; }

/* A quiet, edge-to-edge finish: cream dissolves into footage, then deep green. */
.menu-ending { background:var(--menu-deep); }
.menu-film { background:var(--menu-paper); height:clamp(190px,38vw,290px); isolation:isolate; overflow:hidden; position:relative; }
.menu-film__video { display:block; height:100%; object-fit:cover; object-position:50% 53%; opacity:.48; width:100%; }
.menu-film__shade { background:linear-gradient(to bottom,var(--menu-paper) 0%,rgba(243,239,229,.88) 13%,rgba(243,239,229,.14) 42%,rgba(16,46,39,.3) 63%,var(--menu-deep) 100%); inset:0; pointer-events:none; position:absolute; }
.menu-film__toggle { align-items:center; background:rgba(16,46,39,.82); border:1px solid rgba(255,253,248,.35); border-radius:24px; bottom:10px; color:#fffdf8; cursor:pointer; display:inline-flex; font:500 .75rem/1.4 var(--font-manrope),"Avenir Next","Segoe UI",Arial,sans-serif; gap:.45rem; min-height:44px; padding:.6rem .85rem; position:absolute; right:var(--menu-page-x); }
.menu-film__toggle[hidden] { display:none; }
.menu-film__toggle svg { fill:currentColor; height:16px; width:16px; }
.menu-film__pause, .menu-film__toggle[aria-pressed="true"] .menu-film__play { display:none; }
.menu-film__toggle[aria-pressed="true"] .menu-film__pause { display:block; }
.menu-ending .menu-footer { background:var(--menu-deep); border-top:0; color:#bdcdc2; padding-top:.75rem; }
.menu-ending .menu-footer a { color:#fffdf8; }
.menu-ending .menu-footer p { border-color:rgba(255,253,248,.14); }
.menu-ending :is(a,button):focus-visible { outline-color:#e7bf77; }

/* A compact sticky utility row; category chips remain usable without JavaScript. */
.menu-explore-dock { background:var(--menu-paper); border-bottom:1px solid #e1e4d8; box-shadow:0 7px 14px rgba(23,63,53,.025); margin-bottom:1.4rem; position:sticky; top:env(safe-area-inset-top,0px); z-index:6; }
.menu-explorer { padding:.65rem var(--menu-page-x) .25rem; }
.menu-explorer__row { align-items:center; display:flex; gap:.6rem; }
.menu-search-field { align-items:center; background:var(--menu-surface); border:1px solid #d9dfd0; border-radius:16px; box-shadow:0 2px 3px rgba(23,63,53,.02); display:flex; flex:1; gap:.55rem; min-width:0; padding-left:.9rem; }
.menu-search-field > svg { color:var(--menu-leaf); flex:0 0 19px; height:19px; width:19px; }
.menu-search-field input { appearance:none; background:none; border:0; border-radius:10px; color:var(--menu-ink); flex:1; font:400 16px/1.4 var(--font-manrope),"Avenir Next","Segoe UI",Arial,sans-serif; height:46px; min-width:0; padding:.6rem .3rem .6rem 0; width:100%; }
.menu-search-field input::placeholder { color:#6b776d; opacity:1; }
.menu-search-field input::-webkit-search-cancel-button { -webkit-appearance:none; }
.menu-search-field button { background:none; border:0; border-radius:12px; color:var(--menu-muted); cursor:pointer; flex:0 0 44px; font-family:inherit; font-size:1.5rem; height:44px; line-height:1; width:44px; }
.menu-favorites-filter { align-items:center; background:var(--menu-surface); border:1px solid #cfd6ca; border-radius:14px; color:var(--menu-forest); cursor:pointer; display:flex; flex-shrink:0; font:600 .8125rem/1.3 var(--font-manrope),"Avenir Next","Segoe UI",Arial,sans-serif; gap:.4rem; justify-content:center; min-height:48px; padding:.6rem .8rem; }
.menu-favorites-filter svg { height:19px; width:19px; }
.menu-favorites-filter [data-favorites-count] { font-size:.75rem; font-variant-numeric:tabular-nums; }
.menu-favorites-filter[aria-pressed="true"] { background:var(--menu-forest); border-color:var(--menu-forest); color:white; }
.menu-results-status { color:var(--menu-muted); display:block; font-size:.75rem; line-height:1.5; padding-top:.55rem; }
.menu-results-status:empty { display:none; }
.menu-category-rail { display:flex; gap:.45rem; overflow-x:auto; overscroll-behavior-x:contain; padding:.65rem var(--menu-page-x) .85rem; scrollbar-width:none; scroll-padding-inline:var(--menu-page-x); }
.menu-category-rail::-webkit-scrollbar { display:none; }
.menu-category-rail a { align-items:center; background:rgba(255,254,251,.65); border:1px solid #dce0d4; border-radius:24px; display:flex; flex:0 0 auto; font-size:.8125rem; font-weight:600; justify-content:center; line-height:1.3; min-height:44px; padding:.6rem .95rem; white-space:nowrap; }
.menu-category-rail a[aria-current="page"] { background:var(--menu-forest); border-color:var(--menu-forest); color:white; }
.catalog-products, .catalog-product { scroll-margin-top:calc(155px + env(safe-area-inset-top,0px)); }
.catalog-product:target { background:#eaf0e2; border-radius:18px; outline:6px solid #eaf0e2; }
.menu-product-actions { align-items:center; display:flex; gap:.65rem; justify-content:space-between; }
.menu-favorite-button { align-items:center; background:var(--menu-surface); border:1px solid #d5decf; border-radius:50%; color:#567162; cursor:pointer; display:flex; flex:0 0 44px; height:44px; justify-content:center; padding:11px; width:44px; }
.menu-favorite-button svg { display:block; height:20px; pointer-events:none; width:20px; }
.menu-favorite-button [data-favorite-icon] { font-family:Arial,sans-serif; font-size:23px; line-height:1; }
.menu-favorite-button[aria-pressed="true"] { background:#e0eadd; border-color:#a8bfa8; color:var(--menu-forest); }
.menu-favorite-button[aria-pressed="true"] svg { fill:currentColor; }
.menu-search-results { margin:0 var(--menu-page-x) 1.5rem; }
.menu-search-results__list { display:grid; gap:.8rem; }
.menu-search-card { align-items:start; background:var(--menu-surface); border:1px solid #e0e2d7; border-radius:18px; display:grid; gap:.4rem; grid-template-columns:minmax(0,1fr) 44px; padding:.75rem; }
.menu-search-card__link { align-items:start; display:grid; gap:.85rem; grid-template-columns:88px minmax(0,1fr); min-width:0; }
.menu-search-card__photo { align-items:center; aspect-ratio:1; background:var(--menu-soft); border:1px solid #e2e6dc; border-radius:14px; display:flex; justify-content:center; overflow:hidden; width:88px; }
.menu-search-card__image { height:100%; object-fit:contain; width:100%; }
.menu-search-card__placeholder { color:var(--menu-muted); font-size:.6875rem; line-height:1.5; padding:.5rem; text-align:center; }
.menu-search-card__content { min-width:0; }
.menu-search-card__category { color:var(--menu-leaf); display:block; font-size:.6875rem; line-height:1.4; margin-bottom:.3rem; }
.menu-search-card__title { font-size:1rem; font-weight:650; letter-spacing:-.015em; line-height:1.4; overflow-wrap:anywhere; }
.menu-search-card__description { color:var(--menu-muted); display:-webkit-box; font-size:.8125rem; line-height:1.5; margin-top:.35rem!important; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.menu-search-card__price { color:var(--menu-forest); display:block; font-size:.9375rem; font-variant-numeric:tabular-nums; font-weight:750; margin-top:.5rem; }
.menu-search-card__action { color:var(--menu-leaf); display:block; font-size:.6875rem; font-weight:600; line-height:1.4; margin-top:.45rem; }
.menu-search-empty { background:var(--menu-surface); border:1px solid var(--menu-rule); border-radius:18px; color:var(--menu-muted); font-size:.9375rem; line-height:1.65; padding:2rem 1rem; text-align:center; }
.menu-search-reset { background:var(--menu-forest); border:1px solid var(--menu-forest); border-radius:12px; color:white; cursor:pointer; display:block; font:600 .8125rem/1.4 var(--font-manrope),"Avenir Next","Segoe UI",Arial,sans-serif; margin:1rem auto 0; min-height:44px; padding:.65rem 1rem; }
.menu-business { border-bottom:1px solid rgba(255,253,248,.13); margin-bottom:.8rem; padding:.25rem 0 1.5rem; }
.menu-business__brand { align-items:baseline; display:flex; flex-wrap:wrap; gap:.4rem .65rem; }
.menu-business__brand strong { color:#fffdf4; font-size:1.25rem; font-weight:650; letter-spacing:-.04em; }
.menu-business__brand > span { color:#cebc95; font-size:.625rem; letter-spacing:.16em; text-transform:uppercase; }
.menu-business__links { display:flex; flex-wrap:wrap; gap:.5rem; margin:.85rem 0 .6rem; }
.menu-business__links a { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:.6875rem; padding:.55rem .85rem; }
.menu-business > small { display:block; font-size:.75rem; line-height:1.6; max-width:48ch; }
.menu-business > small a { display:inline-flex; font-size:inherit; }
.menu-ending .menu-business { border-color:rgba(255,253,248,.14); }
.menu-ending .menu-business__brand strong { color:#fffdf8; }
.menu-ending .menu-business__links a { background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.2); }
@media (min-width:760px) { .menu-search-results__list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .menu-favorites-filter__label { clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; width:1px; } }
@media (max-width:359px) {
  .menu-search-card__link { gap:.6rem; grid-template-columns:64px minmax(0,1fr); }
  .menu-search-card__photo { width:64px; }
  .menu-search-card { gap:.25rem; padding:.65rem; }
  .menu-search-card__title { font-size:.9375rem; }
  .menu-search-field { gap:.4rem; padding-left:.6rem; }
  .menu-search-field input { font-size:16px; }
  .menu-favorites-filter { padding-inline:.65rem; }
  .menu-business__links a { padding-inline:.6rem; }
}


/* Photo zoom and details are progressive enhancements; native disclosures remain the fallback. */
.menu-page--catalog .menu-masthead { background-image:url("menu-botanical-header.svg"); background-repeat:no-repeat; background-position:right var(--menu-page-x) center; background-size:64px auto; }
.catalog-photo--zoom { cursor:zoom-in; position:relative; }
.catalog-photo__zoom { align-items:center; background:rgba(255,254,251,.96); border:1px solid rgba(23,63,53,.12); border-radius:50%; bottom:6px; color:var(--menu-forest); display:flex; height:28px; justify-content:center; pointer-events:none; position:absolute; right:6px; width:28px; }
.catalog-photo__zoom svg { height:17px; width:17px; }
.drink-card__heading h3 > a { display:inline-block; min-height:44px; padding-block:.3rem; }
[data-product-dialog-ready] .catalog-product { cursor:pointer; }
[data-product-dialog-ready] .catalog-dietary__body { cursor:auto; }
.menu-dialog-open, .menu-dialog-open body { overflow:hidden; overscroll-behavior:none; }
.menu-product-dialog { background:transparent; border:0; color:var(--menu-ink); height:100%; height:100dvh; inset:0; margin:0; max-height:none; max-width:none; overflow:auto; overscroll-behavior:contain; padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); width:100%; }
.menu-product-dialog[open] { align-items:center; display:flex; justify-content:center; }
.menu-product-dialog::backdrop { background:rgba(8,27,22,.76); }
.menu-product-dialog__surface { background:var(--menu-surface); border:1px solid rgba(255,255,255,.25); border-radius:26px; box-shadow:0 24px 80px rgba(0,0,0,.22); margin:auto; max-height:calc(100svh - 32px); max-height:calc(100dvh - 32px); max-width:570px; overflow:auto; overscroll-behavior:contain; position:relative; transition:opacity .18s ease,transform .18s ease; width:100%; }
.menu-product-dialog__header { align-items:start; background:var(--menu-surface); border-bottom:1px solid var(--menu-rule); display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) 44px; padding:1.3rem 1.3rem 1rem; position:sticky; top:0; z-index:1; }
.menu-product-dialog__eyebrow { color:var(--menu-leaf); font-size:.625rem; font-weight:700; letter-spacing:.14em; line-height:1.5; margin-bottom:.4rem!important; }
.menu-product-dialog__title { font-size:clamp(1.05rem,4vw,1.4rem); font-weight:700; letter-spacing:-.025em; line-height:1.4; overflow-wrap:anywhere; }
.menu-product-dialog button { -webkit-tap-highlight-color:transparent; cursor:pointer; font-family:inherit; }
.menu-product-dialog__close { align-items:center; background:var(--menu-soft); border:1px solid var(--menu-rule); border-radius:50%; color:var(--menu-ink); display:flex; font-size:1.7rem; height:44px; justify-content:center; line-height:1; padding:0; width:44px; }
.menu-product-dialog__body { padding:1.3rem; }
.menu-product-dialog__photo { background:#f0f1e8; border:1px solid var(--menu-rule); border-radius:20px; display:flex; flex-direction:column; gap:.7rem; margin:0 0 1.1rem; padding:1rem; width:100%; }
.menu-product-dialog__photo .menu-product-dialog__image { border-radius:14px; height:220px; margin:auto; object-fit:contain; width:100%; }
.menu-product-dialog__photo-label { color:var(--menu-forest); font-size:.75rem; font-weight:600; }
.menu-product-dialog__price { color:var(--menu-forest); font-size:1.4rem; font-weight:750; letter-spacing:-.03em; line-height:1.4; }
.menu-product-dialog__actions { margin-top:1rem; }
.menu-product-dialog__share { align-items:center; background:var(--menu-soft); border:1px solid var(--menu-rule); border-radius:11px; color:var(--menu-forest); display:inline-flex; font-size:.8125rem; font-weight:650; gap:.5rem; min-height:44px; padding:.65rem .9rem; }
.menu-product-dialog__share:disabled { cursor:wait; opacity:.65; }
.menu-product-dialog__share-status { color:var(--menu-muted); font-size:.75rem; line-height:1.5; margin-top:.5rem!important; }
.menu-product-dialog__share-link { background:var(--menu-surface); border:1px solid var(--menu-rule); border-radius:10px; color:var(--menu-ink); display:block; font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; margin-top:.5rem; max-width:100%; padding:.65rem; width:100%; }
.menu-product-dialog__description { color:#58685e; font-size:.9375rem; line-height:1.65; margin-top:.7rem!important; overflow-wrap:anywhere; white-space:pre-line; }
.menu-product-dialog__verification { background:#f6ecdd; border:1px solid #e5d6bd; border-radius:10px; color:#73502e; font-size:.75rem; line-height:1.6; margin-top:1rem!important; padding:.7rem .85rem; }
.menu-product-dialog__dietary { border-top:0; padding:1.1rem 0 0; }
.menu-product-dialog__image-error { font-size:.875rem; line-height:1.6; padding:2rem 1rem; }
.menu-product-dialog[data-mode="photo"] .menu-product-dialog__surface { background:var(--menu-deep); border-color:rgba(255,255,255,.15); color:#fffdf8; max-width:900px; }
.menu-product-dialog[data-mode="photo"] .menu-product-dialog__header { background:var(--menu-deep); border-color:rgba(255,255,255,.14); }
.menu-product-dialog[data-mode="photo"] .menu-product-dialog__eyebrow { color:#b8cbbc; }
.menu-product-dialog[data-mode="photo"] .menu-product-dialog__close { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:#fffdf8; }
.menu-product-dialog[data-mode="photo"] .menu-product-dialog__image { border-radius:12px; height:auto; margin:auto; max-height:calc(100svh - 200px); max-height:calc(100dvh - 200px); object-fit:contain; width:100%; }
.menu-product-dialog__back { background:transparent; border:1px solid rgba(255,255,255,.25); border-radius:12px; color:#fffdf8; display:block; font-size:.8125rem; margin:.85rem auto 0; min-height:44px; padding:.65rem 1rem; }
.menu-product-dialog[data-mode="photo"] button:focus-visible { outline-color:#e7bf77; }
@starting-style { .menu-product-dialog[open] .menu-product-dialog__surface { opacity:0; transform:translateY(10px) scale(.99); } }
@media (hover: hover) and (pointer: fine) {
  .menu-category-tile__arrow, .catalog-photo--zoom > img, .menu-home-link, .catalog-categories a { transition:transform .18s ease,background-color .18s ease; }
  .menu-category-tile:hover .menu-category-tile__arrow { transform:translateX(2px); }
  .catalog-photo--zoom:hover > img { transform:scale(1.025); }
  .drink-card__heading h3 > a:hover { color:var(--menu-leaf); }
  .menu-product-dialog__close:hover { background:#dfe6da; color:var(--menu-ink); }
  .menu-home-link:hover { background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.45); }
  .menu-category-tile:hover { border-color:#97afa0; }
  .menu-category-tile:hover .menu-category-tile__arrow { background:var(--menu-forest); color:white; }
  .catalog-categories a:not([aria-current]):hover, .catalog-dietary summary:hover { background:#eaf0e5; }
}
@media (min-width: 640px) { .menu-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width: 960px) { .menu-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; } }
@media (min-width: 760px) { .menu-page { border:1px solid #e0dfd3; border-radius:28px; box-shadow:0 12px 40px rgba(35,47,33,.045); margin-block:1.75rem; overflow:clip; } .menu-business { align-items:center; display:grid; gap:.75rem 2rem; grid-template-columns:1fr auto; } .menu-business__links { justify-content:flex-end; margin:0; } }
@media (max-width: 680px) {
  .menu-masthead { min-height:104px; padding-block:max(.85rem,env(safe-area-inset-top)) .85rem; }
  .menu-brand { height:80px; width:80px; }
  .menu-brand > img { height:80px; width:80px; }
  .menu-home-link { gap:.35rem; padding-inline:.6rem; }
  .menu-directory-heading { padding-block:1.4rem .8rem; }
  .menu-category-grid { gap:.9rem .75rem; }
  .menu-category-tile__caption { min-height:94px; padding-inline:.4rem; }
  .menu-category-tile__caption h2 { font-size:.9375rem; }
  .drinks-heading { padding-block:1.4rem 1rem; }
  .catalog-product { --product-photo-size:clamp(94px,26vw,118px); column-gap:.85rem; grid-template-areas:"photo summary" "photo description" "dietary dietary"; padding:1rem; row-gap:.75rem; }
  .drink-card__heading { grid-template-columns:minmax(0,1fr); }
  .drink-card__heading h3 { font-size:1rem; }
  .catalog-dietary summary { gap:.35rem .75rem; }
  .catalog-dietary__status { margin-left:auto; }
  .catalog-dietary summary > .menu-icon { margin-left:0; }
}
@media (max-width:520px) {
  .menu-product-dialog { padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .menu-product-dialog[open] { align-items:flex-end; }
  .menu-product-dialog__surface { border-radius:25px 25px 18px 18px; margin:auto 0 0; max-height:calc(100svh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))); max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom))); }
  .menu-product-dialog__header { padding:1.1rem; }
  .menu-product-dialog__body { padding:1.1rem; }
  .menu-product-dialog__photo .menu-product-dialog__image { height:200px; }
  .menu-product-dialog[data-mode="photo"] .menu-product-dialog__surface { border-radius:22px; margin:auto; }
}
@media (max-width: 359px) {
  .menu-home-link { font-size:.75rem; gap:.3rem; padding-inline:.45rem; }
  .menu-home-link .menu-icon { height:16px; width:16px; }
  .menu-category-tile__caption h2 { font-size:.875rem; }
  .catalog-product { grid-template-areas:"photo summary" "description description" "dietary dietary"; grid-template-rows:auto auto auto; }
  .drink-card__content { align-self:center; }
  .catalog-dietary summary { column-gap:.45rem; }
}
@media (max-width: 319px) {
  .menu-category-grid { grid-template-columns:minmax(0,1fr); }
  .menu-home-link { flex-direction:column; font-size:.6875rem; }
  .catalog-dietary__status { margin-left:0; }
}
@media (prefers-reduced-motion: reduce) {
  .qr-menu-scope *, .qr-menu-scope *::before, .qr-menu-scope *::after { animation:none!important; scroll-behavior:auto!important; transition:none!important; }
}
