/* Menu category prototype. Scoped to the menu route. */
body.veranda-menu-background .menu-prototype {
  --menu-glass-edge: rgba(234,220,197,.48);
  --menu-glass-text: #eadcc5;
  --menu-rail-gap: 18px;
  margin-top: 18px;
  color: var(--menu-glass-text);
}
body.veranda-menu-background .entry-content > .menu-prototype,
body.veranda-menu-background .entry-content > .menu-legacy-sections { max-width: none; }
.menu-prototype__heading { margin:0 0 11px; color:var(--menu-glass-text); font:400 clamp(19px,1.7vw,25px)/1.2 var(--serif); letter-spacing:.025em; text-align:center; }
.menu-prototype__category-sticky { position:sticky; top:0; z-index:90; width:100vw; margin-left:calc(50% - 50vw); padding:12px max(20px,calc((100vw - 1200px)/2)); border-top:1px solid rgba(234,220,197,.18); border-bottom:1px solid rgba(234,220,197,.27); background:rgba(20,15,10,.62); box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 8px 22px rgba(0,0,0,.17); -webkit-backdrop-filter:blur(15px) saturate(105%); backdrop-filter:blur(15px) saturate(105%); }
.menu-prototype__category-controls { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:10px; }
.menu-prototype__category-rail { display:flex; min-width:0; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-behavior:auto; touch-action:pan-x pan-y; user-select:none; -webkit-user-select:none; cursor:grab; }
.menu-prototype__category-rail:active { cursor:grabbing; }
.menu-prototype__category-rail::-webkit-scrollbar,.menu-prototype__dish-rail::-webkit-scrollbar { display:none; }
.menu-prototype__category-arrow { display:grid; width:40px; height:40px; margin:0 auto; padding:0; border:1px solid rgba(234,220,197,.55); border-radius:50%; background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(234,220,197,.10)); box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 7px 18px rgba(0,0,0,.19); color:var(--menu-glass-text); cursor:pointer; font:400 23px/1 var(--ui); place-items:center; }
.menu-prototype__category-arrow:not(:disabled):not([aria-disabled="true"]):hover { border-color:rgba(255,239,199,.84); box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 0 16px rgba(224,183,106,.23); }
.menu-prototype__category-arrow:disabled,.menu-prototype__category-arrow[aria-disabled="true"] { opacity:.38; cursor:default; pointer-events:none; }
.menu-prototype__category { flex:0 0 auto; padding:13px 20px; border:1px solid rgba(234,220,197,.46); border-radius:999px; background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(234,220,197,.105)); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -12px 22px rgba(0,0,0,.09),0 8px 20px rgba(0,0,0,.19); color:var(--menu-glass-text); font:400 13px/1.12 var(--ui); letter-spacing:.038em; text-align:center; text-decoration:none; text-transform:uppercase; white-space:nowrap; transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.menu-prototype__category.is-active,.menu-prototype__category[aria-current="true"] { color:#fff8e8; border-color:rgba(247,210,126,.98); background:linear-gradient(135deg,rgba(255,250,233,.37),rgba(224,183,106,.24)); box-shadow:inset 0 1px 0 rgba(255,255,255,.70),inset 0 -12px 22px rgba(104,69,23,.08),0 0 25px rgba(224,183,106,.43),0 9px 24px rgba(0,0,0,.24); }
@media (hover:hover) and (pointer:fine) {
  .menu-prototype__category:not(.is-active):not([aria-current="true"]):hover { color:#fff4df; border-color:rgba(239,204,132,.76); background:linear-gradient(135deg,rgba(255,255,255,.27),rgba(224,183,106,.15)); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 0 17px rgba(224,183,106,.24),0 8px 20px rgba(0,0,0,.20); }
}
.menu-prototype__category-content { padding-top:18px; }
.menu-prototype__dish-stage { display:block; }
.menu-prototype__dish-arrow { display:grid; width:46px; height:46px; margin:0 auto; padding:0; border:1px solid rgba(234,220,197,.55); border-radius:50%; background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(234,220,197,.10)); box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 7px 18px rgba(0,0,0,.19); color:var(--menu-glass-text); cursor:pointer; font:400 25px/1 var(--ui); place-items:center; }
.menu-prototype__dish-arrow:hover { border-color:rgba(255,239,199,.84); box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 0 16px rgba(224,183,106,.23); }
.menu-prototype__dish-arrow:focus-visible,.menu-prototype__category:focus-visible { outline:2px solid rgba(255,239,199,.9); outline-offset:3px; }
.menu-prototype__dish-rail { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); column-gap:clamp(14px,1.5vw,18px); row-gap:clamp(22px,2.4vw,30px); overflow:visible; padding:0 0 24px; touch-action:auto; user-select:auto; -webkit-user-select:auto; }
body.veranda-menu-background .entry-content p.menu-prototype__tea-notice { max-width:780px; margin:clamp(8px,1.4vw,18px) auto 0; color:var(--veranda-gold-light); font:500 clamp(17px,1.45vw,22px)/1.35 var(--serif); letter-spacing:-.022em; text-align:center; }
.menu-prototype-card { display:grid; min-width:0; gap:6px; align-content:start; }
.menu-prototype-card__photo { aspect-ratio:4/5; overflow:hidden; border:1px solid var(--menu-glass-edge); border-radius:18px; background:rgba(18,12,8,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.menu-prototype-card__photo img { display:block; width:100%; height:100%; object-fit:contain; }
.menu-prototype-card__glass { display:flex; height:160px; padding:14px; flex-direction:column; border:1px solid var(--menu-glass-edge); border-radius:18px; background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(234,220,197,.07)); box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 12px 28px rgba(0,0,0,.12); }
.menu-prototype-card__glass h3 { min-height:2.5em; margin:0; color:var(--menu-glass-text); font:500 clamp(20px,1.8vw,24px)/1.16 var(--serif); text-align:left; }
.menu-prototype-card__sku { display:inline; margin-right:7px; color:rgba(234,220,197,.92); font:500 clamp(18px,1.5vw,20px)/1.2 var(--ui); letter-spacing:.035em; white-space:nowrap; }
.menu-prototype-card__modifier-hint { margin:5px 0 0; color:rgba(234,220,197,.68); font:500 10px/1.25 var(--ui); letter-spacing:.02em; overflow-wrap:anywhere; }
.menu-prototype-card[data-dish-id="390"] .menu-prototype-card__modifier-hint { color:var(--menu-glass-text); font-size:12px; line-height:1.35; }
body.veranda-menu-background .menu-legacy-sections .dish-sku { display:inline; margin-right:8px; white-space:nowrap; }
.menu-prototype-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:8px; }
.menu-prototype-card__bottom strong { color:var(--menu-glass-text); font:500 18px/1 var(--ui); white-space:nowrap; }
.menu-prototype-card__quantity { display:inline-grid; grid-template-columns:30px 24px 30px; align-items:center; min-height:38px; border:1px solid rgba(234,220,197,.45); border-radius:999px; background:rgba(255,255,255,.08); color:var(--menu-glass-text); font:400 17px/1 var(--ui); text-align:center; }
.menu-prototype-card__quantity span:first-child,.menu-prototype-card__quantity span:last-child { font-size:21px; }
.menu-legacy-sections { margin-top:18px; }
body.veranda-menu-background .menu-legacy-sections .menu-section > h2 { display:none; }
body.veranda-menu-background .menu-legacy-sections .dish.menu-legacy-card {
  align-items:center;
  border:1px solid rgba(234,220,197,.42);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.17),rgba(234,220,197,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 12px 28px rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(14px) saturate(112%);
  backdrop-filter:blur(14px) saturate(112%);
}
body.veranda-menu-background .menu-legacy-card__actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
body.veranda-menu-background .menu-legacy-card__actions > strong { color:var(--menu-glass-text); font:500 18px/1 var(--ui); }
body.veranda-menu-background .menu-legacy-sections .menu-prototype-card__quantity { flex:0 0 auto; }
@media (min-width:900px) { body.veranda-menu-background .page-shell{width:100%;margin-top:96px;padding-top:10px}body.veranda-menu-background .menu-prototype{margin-top:0}.menu-prototype__heading{margin-bottom:8px}.menu-prototype__category-sticky{width:100%;margin-left:0;padding:9px clamp(16px,2vw,32px)}body.veranda-menu-background .menu-prototype__category-content,body.veranda-menu-background .menu-prototype>.menu-legacy-sections{width:min(1200px,calc(100% - 40px));margin-inline:auto} }
@media (min-width:900px) and (max-height:780px) { body.veranda-menu-background .page-shell{margin-top:92px;padding-top:6px}.menu-prototype__category-content{padding-top:12px}.menu-prototype__category-sticky{padding-top:7px;padding-bottom:7px} }
@media (max-width:899px) { body.veranda-menu-background .page-shell{margin-top:0;padding-top:0}body.veranda-menu-background .menu-prototype{margin-top:0}.menu-prototype__heading{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.menu-prototype__category-sticky{top:0;width:calc(100% + 28px);margin-left:-14px;padding:11px 16px}.menu-prototype__category-controls{display:block}.menu-prototype__category-arrow{display:none}.menu-prototype__category-rail{gap:9px;cursor:auto}.menu-prototype__category{padding:12px 8px;font-size:11px;letter-spacing:0}.menu-prototype__category-content{padding-top:14px}.menu-prototype__dish-stage{display:block}.menu-prototype__dish-arrow{display:none}.menu-prototype__dish-rail{overflow:visible;padding:0 0 24px;touch-action:pan-y}.menu-prototype-card__photo{border-radius:16px}.menu-prototype-card__glass{min-height:0;padding:14px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(234,220,197,.085))}.menu-prototype-card__glass h3{min-height:0;padding-top:7px;font-size:20px;line-height:1.12}.menu-prototype-card__sku{margin-right:5px;font-size:19px;line-height:1.12}.menu-prototype-card__modifier-hint{font-size:10px}.menu-prototype-card__bottom{gap:8px;padding-top:10px}.menu-prototype-card__bottom strong{font-size:17px}.menu-prototype-card__quantity{grid-template-columns:28px 22px 28px;min-height:38px;font-size:17px}.menu-prototype-card__quantity span:first-child,.menu-prototype-card__quantity span:last-child{font-size:21px} }
@media (max-width:599px) { .menu-prototype__dish-rail{grid-template-columns:minmax(0,1fr);column-gap:0;row-gap:14px}.menu-prototype-card{width:100%;margin:0;grid-template-columns:minmax(0,1.065fr) minmax(0,1fr);gap:8px;align-items:stretch}.menu-prototype-card__glass{height:100%} }
@media (max-width:389px) { .menu-prototype-card[data-dish-volume-options] .menu-prototype-card__bottom{flex-wrap:wrap;align-content:flex-end}.menu-prototype-card[data-dish-volume-options] .menu-prototype-card__quantity{margin-left:auto} }
@media (max-width:599px) { body.veranda-menu-background .menu-legacy-sections .dish.menu-legacy-card{gap:10px;padding:14px}body.veranda-menu-background .menu-legacy-card__actions{gap:9px}body.veranda-menu-background .menu-legacy-card__actions>strong{font-size:16px}body.veranda-menu-background .menu-legacy-sections .menu-prototype-card__quantity{grid-template-columns:26px 20px 26px;min-height:36px} }
@media (min-width:600px) and (max-width:899px) { .menu-prototype__dish-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,22px);padding-right:var(--menu-cart-safe-space,clamp(114px,calc(20vw - 6px),174px))}.menu-legacy-sections{padding-right:var(--menu-cart-safe-space,clamp(114px,calc(20vw - 6px),174px))}.menu-prototype-card{width:100%;margin:0;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start}.menu-prototype-card__glass{height:clamp(156px,20vw,176px)} }
@media (prefers-reduced-motion:reduce) { .menu-prototype__category-rail,.menu-prototype__dish-rail { scroll-behavior:auto; } }
