:root{
  --green:148 45% 28%; --green-dark:150 50% 18%; --gold:42 88% 55%; --gold-dark:38 75% 45%;
  --cream:40 50% 95%; --charcoal:150 15% 12%; --bg:40 38% 97%; --muted:150 12% 33%;
  --font-display:'Frank Ruhl Libre','Heebo',serif;
  --border:40 20% 86%; --card:0 0% 100%; --destructive:0 70% 45%; --radius:12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Heebo',system-ui,-apple-system,sans-serif;
  color:hsl(var(--charcoal));
  background:#f7f2e9;
  min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;
}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(#faf7f0 0%,#f7f2e9 35%,#f4f1e6 65%,#f7f2e9 100%)}
body.has-bar{padding-bottom:5.5rem}
@media(min-width:1024px){body.has-bar{padding-bottom:0}}
body.modal-open{overflow:hidden}
h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.2}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
a{color:inherit;text-decoration:none}
input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid hsl(var(--green));outline-offset:2px}
ul{list-style:none}

.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1rem}
.section{padding:3rem 0}
@media(min-width:640px){.section{padding:4rem 0}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;right:-9999px;top:1rem;z-index:60;background:#fff;color:hsl(var(--green));font-weight:700;padding:.5rem 1rem;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.skip-link:focus{right:1rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:700;transition:all .15s;text-align:center}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:hsl(var(--green));color:#fff;box-shadow:0 4px 14px hsl(var(--green)/.25)}
.btn-primary:hover{background:hsl(var(--green-dark));box-shadow:0 6px 20px hsl(var(--green)/.35);transform:translateY(-1px)}
.btn-accent{background:hsl(var(--gold));color:hsl(var(--charcoal));box-shadow:0 4px 14px hsl(var(--gold)/.35)}
.btn-accent:hover{background:hsl(var(--gold-dark));transform:translateY(-1px)}
.btn-outline{border:2px solid hsl(var(--green));color:hsl(var(--green));background:transparent}
.btn-outline:hover{background:hsl(var(--green));color:#fff}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{opacity:.9}
.btn-sm{padding:.625rem .75rem;font-size:.75rem;border-radius:.75rem}

.badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}
.divider-title{display:inline-flex;align-items:center;gap:.75rem}
.divider-title::before,.divider-title::after{content:"";flex:1;min-width:30px;height:2px;background:linear-gradient(to left,transparent,hsl(var(--green)/.4),transparent)}

/* ===== header ===== */
header.site{position:sticky;top:0;z-index:40;border-bottom:1px solid hsl(var(--border)/.6);background:hsl(var(--bg)/.85);backdrop-filter:blur(12px)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4rem}
.logo{display:flex;align-items:center;gap:.5rem;text-align:right}
.logo-img{height:3.25rem;width:auto;flex-shrink:0;display:block}
.logo-name{font-size:1rem;font-weight:800}
.logo-sub{font-size:11px;color:hsl(var(--muted));display:none}
@media(min-width:640px){.logo-name{font-size:1.125rem}.logo-sub{display:block}}
nav.desktop{display:none;align-items:center;gap:.25rem}
@media(min-width:1024px){nav.desktop{display:flex}}
nav.desktop button{padding:.5rem .75rem;border-radius:.75rem;font-size:.875rem;font-weight:600;color:hsl(var(--charcoal)/.8)}
nav.desktop button:hover{background:hsl(40 50% 92%);color:hsl(var(--charcoal))}
.hdr-actions{display:flex;align-items:center;gap:.5rem}
.phone-btn{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid hsl(var(--green));color:hsl(var(--green));display:flex;align-items:center;justify-content:center;transition:transform .15s}
.phone-btn:hover{transform:scale(1.05)}
.order-btn{position:relative;padding:.625rem 1rem;font-size:.875rem}
.order-btn .count{position:absolute;top:-.375rem;left:-.375rem;min-width:1.25rem;height:1.25rem;border-radius:9999px;background:hsl(var(--gold));color:hsl(var(--charcoal));font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;padding-inline:.25rem}
.order-btn .count[hidden]{display:none}
.menu-toggle{padding:.5rem;border-radius:.75rem}
@media(min-width:1024px){.menu-toggle{display:none}}
nav.mobile{display:none;border-top:1px solid hsl(var(--border)/.6);background:hsl(var(--bg))}
nav.mobile.open{display:block}
nav.mobile button{display:block;width:100%;text-align:right;padding:.75rem;border-radius:.75rem;font-weight:600;font-size:1rem}
nav.mobile button:hover{background:hsl(40 50% 92%)}
.cta-label-full{display:none}@media(min-width:640px){.cta-label-full{display:inline}.cta-label-short{display:none}}

/* ===== notice banner ===== */
.notice{width:100%;border-bottom:2px solid;padding:.75rem 1rem}
.notice .inner{display:flex;align-items:center;justify-content:center;gap:.625rem;text-align:center;font-weight:700;font-size:.875rem}
@media(min-width:640px){.notice .inner{font-size:1rem}}

/* ===== hero ===== */
.hero{position:relative;min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
/* full-bleed food image */
.food-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:1;z-index:0;pointer-events:none;border-radius:0;box-shadow:none;filter:none;animation:none}
.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.46) 50%,rgba(0,0,0,.52) 100%)}
/* steam — removed per request */
/* floating balls */
.balls-layer{position:absolute;inset:0;pointer-events:none;z-index:3;contain:layout style}
.fball{position:absolute;border-radius:50%;opacity:0;will-change:transform;transition:filter .3s,box-shadow .3s;animation:ball-enter .8s cubic-bezier(.34,1.4,.64,1) forwards,ball-float 4s ease-in-out infinite;animation-delay:var(--enter-delay),var(--float-delay);pointer-events:auto;cursor:pointer}
.fball img{width:100%;height:100%;border-radius:50%;display:block;pointer-events:none}
.fball:hover{animation-play-state:running,paused}
.fball.depth-far{filter:blur(2px) drop-shadow(0 4px 10px rgba(0,0,0,.15))}
.fball.depth-far img{opacity:.6}
.fball.depth-mid{filter:drop-shadow(0 6px 16px rgba(0,0,0,.2))}
.fball.depth-near{filter:drop-shadow(0 10px 25px rgba(0,0,0,.3))}
.fball.depth-near:hover{filter:drop-shadow(0 14px 35px rgba(0,0,0,.4)) brightness(1.1)}
.fball.depth-mid:hover{filter:drop-shadow(0 10px 25px rgba(0,0,0,.3)) brightness(1.08)}
@keyframes ball-enter{from{opacity:0;transform:translateY(60px) scale(.5) rotate(-20deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}}
@keyframes ball-float{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(var(--bob-y)) rotate(var(--bob-rot))}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(calc(var(--bob-y) * -0.7)) rotate(calc(var(--bob-rot) * -0.6))}}
/* content */
.hero-inner{position:relative;z-index:5;width:100%;max-width:72rem;padding:0 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100vh;min-height:100dvh;justify-content:center}
.hero-top{display:flex;flex-direction:column;align-items:center}
.hero-bottom{display:flex;flex-direction:column;align-items:center;position:absolute;bottom:clamp(3rem,7vh,5rem);left:0;right:0;padding:0 1.5rem}
/* title */
.hero-title{font-size:clamp(3.2rem,12vw,8.5rem);font-weight:900;letter-spacing:-.04em;line-height:.9;margin:0}
.hero-title .hword{display:inline-block;white-space:nowrap}
.hero-title .hch{display:inline-block;opacity:0;transform:translateY(70px);animation:hch .7s cubic-bezier(.34,1.56,.64,1) forwards}
.hero-title .hch.space{width:.25em}
@keyframes hch{to{opacity:1;transform:none}}
.hero-title .hch span{background:linear-gradient(135deg,#f5d96a 0%,#e8c44a 35%,#d4a843 70%,#c49530 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 0 rgba(0,0,0,.7)) drop-shadow(0 4px 8px rgba(0,0,0,.4)) drop-shadow(0 0 30px rgba(212,168,67,.2))}
.hero .gold-rule{width:70px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,#d4a843,transparent);margin:1.25rem auto 0;opacity:0;transform:scaleX(0);animation:hline .7s ease-out 1.2s forwards}
.hero .hero-value{margin:.85rem auto 0;font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgb(0 0 0/.5);opacity:0;animation:hfade .8s ease-out 1.5s forwards}
@media(max-width:640px){.hero .hero-value{font-size:.85rem;padding-inline:1rem}}
@keyframes hline{to{opacity:1;transform:scaleX(1)}}
/* status line — light text on dark bg */
.hero .hstatus{margin-top:1rem;opacity:0;animation:hfade .6s ease-out 1.3s forwards}
@keyframes hfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* CTAs */
.hero .hctas{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;opacity:0;animation:hfade .7s ease-out 1.5s forwards}
.hero .hcta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:1rem;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none}
.hero .hcta:hover{transform:translateY(-2px)}
.hero .hcta-primary{padding:1rem 2.75rem;font-size:1.15rem;font-weight:800;background:linear-gradient(135deg,#f5d96a,#d4a843);color:#1a1206;box-shadow:0 4px 20px rgba(212,168,67,.4),0 0 40px rgba(212,168,67,.15);letter-spacing:.01em}
.hero .hcta-primary:hover{box-shadow:0 8px 30px rgba(212,168,67,.55),0 0 50px rgba(212,168,67,.2)}
.hero .hcta-outline{padding:.85rem 2.25rem;font-size:1rem;font-weight:700;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(212,168,67,.7);color:#f5d96a}
.hero .hcta-outline:hover{background:rgba(212,168,67,.15);color:#f5d96a;border-color:#d4a843}
/* badge */
.hero .badge-75{display:inline-flex;align-items:center;gap:.5rem;background:rgba(30,24,12,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(212,168,67,.4);border-radius:9999px;padding:.6rem 1.75rem;font-size:.9rem;font-weight:800;letter-spacing:.04em;color:rgba(255,255,255,.95);margin-top:1.25rem;box-shadow:0 8px 24px rgba(0,0,0,.2);opacity:0;animation:ball-enter .8s cubic-bezier(.34,1.4,.64,1) 1.8s forwards}
.hero .badge-75 .status{color:rgba(255,255,255,.95)}
.hero .badge-75 .status b{color:#fff}
.hero .badge-75 .status .detail{color:rgba(255,255,255,.75);font-size:.8rem}
/* badge-float removed — status badge is static */
#float-balls{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:0;transition:opacity .5s ease-out;contain:strict;transform:translateZ(0)}
#float-balls.show{opacity:1}
#float-balls .rollball{position:absolute;will-change:transform;filter:drop-shadow(0 8px 16px rgb(0 0 0/.22))}
#float-balls .rollball img{width:100%;height:100%;display:block;pointer-events:none}
@media(prefers-reduced-motion:reduce){#float-balls{display:none}}
.hero-bottom-fade{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,hsl(40 38% 97%),transparent);pointer-events:none;z-index:6}
@media(prefers-reduced-motion:reduce){.hero-title .hch,.hero .badge-75,.hero .gold-rule,.hero .hero-value,.hero .hstatus,.hero .hctas,.food-bg,.fball{opacity:1!important;transform:none!important;animation:none!important}}
@media(max-width:640px){
  .hero-inner{padding:0 1rem}
  .hero-bottom{bottom:clamp(2rem,5vh,3.5rem);padding:0 1rem}
  .hero-title{font-size:clamp(2.8rem,13vw,4.5rem)}
  .hero .gold-rule{width:50px;margin-top:1rem}
  .hero .hctas{gap:.6rem;flex-direction:column;width:100%}
  .hero .hcta-primary{padding:.9rem 2rem;font-size:1.05rem;width:100%}
  .hero .hcta-outline{padding:.75rem 1.75rem;font-size:.95rem;width:100%}
  .food-bg{object-position:center 40%}
}
@media(max-width:380px){.hero-title{font-size:2.5rem}}

/* open status */
.status{display:inline-flex;align-items:center;gap:.5rem}
.status .dot{position:relative;width:.625rem;height:.625rem;display:inline-flex}
.status .dot i{position:absolute;inset:0;border-radius:50%}
.status .dot i.ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite;opacity:.6}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
@media(prefers-reduced-motion:reduce){.status .dot i.ping{animation:none;display:none}}
.status b{font-weight:700}
.status .detail{font-size:.875rem;font-weight:500;color:hsl(var(--muted))}
/* status on dark hero — light text */
.hero .hstatus .status{color:rgba(255,255,255,.92)}
.hero .hstatus .status .detail{color:rgba(255,255,255,.7)}
/* status styling handled in .badge-75 override above */

/* ===== rolling balls (scroll overlay, appears below hero) ===== */
main,footer.site{position:relative;z-index:1}

/* ===== why cards ===== */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:640px){.why-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(5,1fr)}}
.why-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:1rem;padding:1rem;text-align:center;transition:transform .15s,box-shadow .15s}
.why-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}
.why-icon{width:3rem;height:3rem;margin:0 auto .75rem;border-radius:50%;background:hsl(var(--green)/.12);display:flex;align-items:center;justify-content:center;font-size:1.35rem}
.why-card h3{font-size:1rem;font-weight:800}
.why-card p{margin-top:.25rem;font-size:.8125rem;line-height:1.45;color:hsl(var(--muted))}
@media(min-width:640px){.why-card p{font-size:.875rem}}

/* ===== menu ===== */
.sec-head{text-align:center;margin-bottom:2.5rem}
.sec-head h2{font-size:1.875rem;font-weight:800}
@media(min-width:640px){.sec-head h2{font-size:2.25rem}}
.sec-head p{margin-top:.5rem;font-size:.875rem;color:hsl(var(--muted))}
.cat{margin-bottom:3rem}
.cat-head{text-align:center;margin-bottom:1.25rem}
.cat-head h3{font-size:1.25rem;font-weight:800;color:hsl(var(--green))}
@media(min-width:640px){.cat-head h3{font-size:1.5rem}}
.cat-head p{margin-top:.25rem;font-size:.75rem;color:hsl(var(--muted))}
.items{display:grid;gap:.75rem}
@media(min-width:640px){.items{grid-template-columns:1fr 1fr}}
.item{position:relative;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:1rem;overflow:hidden;transition:box-shadow .15s}
.item .item-body{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem}
.item .item-img{width:100%;aspect-ratio:9/5;height:auto;object-fit:cover;display:block}
.item:hover{box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}
.item.special{border:2px solid hsl(var(--gold))}
.item h4{font-size:1rem;font-weight:800;display:inline}
@media(min-width:640px){.item h4{font-size:1.125rem}}
.item .item-desc{margin-top:.25rem;font-size:.8125rem;line-height:1.5;color:hsl(var(--muted))}
.item .price{margin-top:.5rem;font-size:.875rem;font-weight:700;color:hsl(var(--green))}
.add-btn{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:50%;background:hsl(var(--green));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;transition:transform .15s}
.add-btn:hover{transform:scale(1.05)}
.add-btn.added{transform:scale(1.1)}
.special-badge{background:hsl(var(--gold));color:hsl(var(--charcoal))}

/* ===== order ===== */
.order-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:1.5rem;padding:1rem;box-shadow:0 1px 2px rgb(0 0 0/.05)}
@media(min-width:640px){.order-card{padding:1.5rem}}
.pickup-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.375rem 1rem;font-size:.75rem;font-weight:700;background:hsl(var(--green)/.12);color:hsl(var(--green-dark))}
.empty{text-align:center;padding:2rem 0}
.empty-icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:50%;background:hsl(var(--green)/.1);display:flex;align-items:center;justify-content:center;font-size:1.75rem}
.empty p.t{font-weight:700}
.empty p.h{margin-top:.25rem;font-size:.875rem;color:hsl(var(--muted))}
.lines{display:flex;flex-direction:column;gap:.75rem}
.line{border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:1rem;padding:.75rem}
.line-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.line-name{font-weight:800}
.line-ing,.line-note{margin-top:.25rem;font-size:.75rem;color:hsl(var(--muted));line-height:1.375}
.line-note{font-style:italic}
.remove-btn{padding:.5rem;border-radius:.5rem;color:hsl(var(--muted))}
.remove-btn:hover{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.line-bottom{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between}
.line-price{font-size:.75rem;color:hsl(var(--muted))}
.qty{display:flex;align-items:center;gap:.25rem;border:1px solid hsl(var(--border));background:hsl(40 50% 92%/.5);border-radius:9999px;padding:.25rem}
.qty button{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.qty .minus{background:hsl(var(--bg));color:hsl(var(--charcoal)/.7)}
.qty .plus{background:hsl(var(--green));color:#fff}
.qty .num{width:1.75rem;text-align:center;font-size:.875rem;font-weight:800}
.field{margin-top:.75rem}
.field label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:700}
.field .req{color:hsl(var(--green))}
.field input,.field select,.field textarea{width:100%;border:1px solid hsl(var(--border));background:hsl(var(--bg));border-radius:.75rem;padding:.75rem;font-size:.875rem}
.field input.error{border:2px solid hsl(var(--destructive))}
.field textarea{resize:none}
.field .err-msg{margin-top:.25rem;font-size:.75rem;font-weight:600;color:hsl(var(--destructive))}
.field .hint{margin-top:.25rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted))}
.order-card .btn-review{width:100%;margin-top:1.25rem;font-size:1rem}

/* ===== modals ===== */
.overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:rgb(0 0 0/.5);padding:1rem}
.overlay.open{display:flex}
.modal{width:100%;max-width:28rem;max-height:85vh;overflow-y:auto;background:hsl(var(--card));border-radius:1rem;padding:1.25rem;box-shadow:0 25px 50px -12px rgb(0 0 0/.25)}
.modal h3{font-size:1.25rem;font-weight:800}
.modal .sub{margin-top:.25rem;font-size:.875rem;font-weight:600;color:hsl(var(--muted))}
.ing-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}
.ing-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:2px solid hsl(var(--border));border-radius:.75rem;padding:.75rem;font-size:.875rem;font-weight:700;text-align:right;transition:all .15s}
.ing-btn .tick{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff}
.ing-btn[aria-pressed="true"]{border-color:hsl(var(--green));background:hsl(var(--green)/.08);color:hsl(var(--green-dark));box-shadow:0 1px 2px rgb(0 0 0/.05)}
.ing-btn[aria-pressed="true"] .tick{border-color:hsl(var(--green));background:hsl(var(--green))}
/* ball quantity quick-pick */
.ball-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}
.ball-quick .qpick{border:2px solid hsl(var(--border));border-radius:.75rem;padding:.85rem 0;font-size:1.05rem;font-weight:800;text-align:center;transition:all .15s}
.ball-quick .qpick:hover{background:hsl(40 50% 92%)}
.ball-quick .qpick[aria-pressed="true"]{border-color:hsl(var(--green));background:hsl(var(--green)/.1);color:hsl(var(--green-dark));box-shadow:0 1px 2px rgb(0 0 0/.05)}
/* salad platter picker */
.salad-hint{margin-top:.75rem;font-size:.8125rem;font-weight:700;color:hsl(var(--muted));text-align:center}
.spice-field{margin-top:1rem}
.salad-hint.ready{color:hsl(var(--green-dark))}
.ing-btn[disabled]{opacity:.45;cursor:not-allowed}
.btn-primary[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.modal-actions{position:sticky;bottom:-1.25rem;display:flex;gap:.5rem;margin:1.25rem -1.25rem -1.25rem;padding:1rem 1.25rem;border-top:1px solid hsl(var(--border));background:hsl(var(--card))}
.modal-actions .cancel{flex:1;border:2px solid hsl(var(--border));border-radius:.75rem;padding:.75rem 1rem;font-weight:700;color:hsl(var(--charcoal)/.8)}
.modal-actions .cancel:hover{background:hsl(40 50% 92%)}
.modal-actions .ok{flex:2}
.sum-block{border-radius:.75rem;background:hsl(40 50% 92%/.5);padding:.75rem;margin-top:.75rem}
.sum-block .lbl{font-size:.75rem;font-weight:700;color:hsl(var(--muted))}
.sum-block .val{font-weight:700}
.sum-items{margin-top:.75rem}
.sum-items .lbl{font-size:.75rem;font-weight:700;color:hsl(var(--muted));margin-bottom:.5rem}
.sum-item{border:1px solid hsl(var(--border));border-radius:.75rem;padding:.75rem;margin-bottom:.5rem}
.sum-item .row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.sum-item .row b{font-weight:700}
.sum-item .small{margin-top:.25rem;font-size:.75rem;color:hsl(var(--muted))}
.sum-item .small b{font-weight:600}
.pickup-note{margin-top:.75rem;border:2px dashed hsl(var(--green)/.4);border-radius:.75rem;padding:.75rem;text-align:center;font-size:.75rem;font-weight:600;color:hsl(var(--green-dark))}
.allergen-note{display:flex;align-items:flex-start;gap:.6rem;text-align:right;margin-bottom:1.25rem;border:2px dashed hsl(var(--green)/.4);border-radius:.75rem;padding:.9rem 1rem;background:hsl(var(--card));font-size:.85rem;font-weight:600;line-height:1.55;color:hsl(var(--green-dark))}
.allergen-note svg{flex-shrink:0;margin-top:.1rem;color:hsl(var(--green))}
.thanks{display:flex;flex-direction:column;align-items:center;text-align:center}
.thanks-icon{width:4rem;height:4rem;margin-bottom:1rem;border-radius:50%;background:hsl(var(--green)/.12);display:flex;align-items:center;justify-content:center;font-size:2rem;color:hsl(var(--green))}
.thanks h3{font-size:1.5rem;font-weight:900}
.thanks .name{margin-top:.25rem;font-size:1rem;font-weight:700;color:hsl(var(--green))}
.thanks .msg{margin-top:.75rem;font-size:.875rem;line-height:1.625;color:hsl(var(--muted))}
.thanks .relink{margin-top:.75rem;font-size:.75rem;color:hsl(var(--muted))}
.thanks .relink a{font-weight:700;text-decoration:underline;text-underline-offset:2px;color:hsl(var(--green))}
.thanks .pickup{margin-top:1.25rem;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;border:2px dashed hsl(var(--green)/.3);border-radius:.75rem;padding:.75rem;font-size:.875rem;font-weight:700}
.thanks .review{margin-top:1.25rem;width:100%;border-top:1px solid hsl(var(--border));padding-top:1.25rem}
.thanks .review p{font-size:.875rem;font-weight:600}
.thanks .review .btn{margin-top:.75rem;width:100%;font-size:.875rem}
.modal .close-x{display:flex;justify-content:flex-end}
.modal .close-x button{padding:.375rem;border-radius:.5rem;color:hsl(var(--muted));font-size:1.1rem;line-height:1}
.modal .close-x button:hover{background:hsl(40 50% 92%)}

/* ===== about ===== */
.about-box{border:2px solid hsl(var(--green)/.25);background:hsl(var(--cream));border-radius:1.5rem;padding:1.5rem;max-width:48rem;margin-inline:auto}
@media(min-width:640px){.about-box{padding:2rem}}
.about-box p{font-size:1rem;line-height:1.625;margin-bottom:.75rem}
@media(min-width:640px){.about-box p{font-size:1.125rem}}
.about-slogan{margin:1.25rem 0;padding:.85rem 0;text-align:center;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:1.15rem;line-height:1.4;color:hsl(var(--green-dark));border-top:1px solid hsl(var(--gold)/.4);border-bottom:1px solid hsl(var(--gold)/.4)}
@media(min-width:640px){.about-slogan{font-size:1.4rem}}
.about-years{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;color:hsl(var(--green))}
.about-years .y{font-size:1.875rem;line-height:1}
.about-years .arr{color:hsl(var(--muted));font-weight:400}

/* ===== gallery ===== */
.gal-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(min-width:640px){.gal-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}
.gal-card{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid hsl(var(--border));background:linear-gradient(135deg,hsl(var(--green)/.08),hsl(var(--gold)/.08));border-radius:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;text-align:center}
.gal-card .cam{font-size:1.5rem;opacity:.5}
.gal-card span{font-size:.75rem;font-weight:700;color:hsl(var(--muted))}
@media(min-width:640px){.gal-card span{font-size:.875rem}}

/* ===== dish morph strip (מעל הביקורות) ===== */
.dish-morph{position:relative;width:100%;height:340px;overflow:hidden;background-image:url("images/dish-morph-bg.jpg");background-size:cover;background-position:center bottom;isolation:isolate}
.dish-morph .dm-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 45%),linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.2));pointer-events:none}
.dish-morph .dm-stage{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.dish-morph .dm-img{position:absolute;width:min(360px,70vw);max-height:88%;object-fit:contain;user-select:none;pointer-events:none;transform-origin:center;will-change:transform,opacity,filter;filter:drop-shadow(0 22px 26px rgba(0,0,0,.32))}
.dish-morph .dm-img.current{opacity:1;transform:translateX(0) scale(1)}
.dish-morph .dm-img.next{opacity:0;transform:translateX(-75%) scale(.94)}
.dish-morph .dm-img.current.slide-out{animation:dmOut 900ms cubic-bezier(.65,0,.35,1) forwards}
.dish-morph .dm-img.next.slide-in{animation:dmIn 900ms cubic-bezier(.65,0,.35,1) forwards}
@keyframes dmOut{0%{opacity:1;transform:translateX(0) scale(1);filter:drop-shadow(0 22px 26px rgba(0,0,0,.32)) blur(0)}55%{opacity:1;transform:translateX(calc(var(--dm-out,108%) * .35)) scale(1.02);filter:drop-shadow(0 18px 20px rgba(0,0,0,.26)) blur(1px)}100%{opacity:0;transform:translateX(var(--dm-out,108%)) scale(.96);filter:drop-shadow(0 12px 14px rgba(0,0,0,.16)) blur(4px)}}
@keyframes dmIn{0%{opacity:0;transform:translateX(var(--dm-from,-85%)) scale(.92);filter:drop-shadow(0 12px 14px rgba(0,0,0,.16)) blur(4px)}45%{opacity:1;filter:drop-shadow(0 18px 20px rgba(0,0,0,.26)) blur(1px)}100%{opacity:1;transform:translateX(0) scale(1);filter:drop-shadow(0 22px 26px rgba(0,0,0,.32)) blur(0)}}
/* מסגרת מוקפדת לרצועת הראווה */
.dish-morph-section .dish-morph{border-radius:1.25rem;border:1px solid hsl(var(--green)/.18);box-shadow:0 1px 3px rgb(0 0 0/.06),0 18px 40px -12px hsl(var(--green-dark)/.28);position:relative}
.dish-morph-section .dish-morph::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgb(255 255 255/.25);pointer-events:none;z-index:3}
.dm-hint{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.9rem;color:hsl(var(--muted));font-size:.8rem}
.dm-hint svg{opacity:.7}
@media(prefers-reduced-motion:reduce){.dm-hint{display:none}}
@media(max-width:768px){.dish-morph{height:260px}.dish-morph .dm-img{width:min(240px,72vw)}}
@media(prefers-reduced-motion:reduce){.dish-morph .dm-img.current.slide-out,.dish-morph .dm-img.next.slide-in{animation:none}.dish-morph .dm-img.next{display:none}}
/* ===== reviews — brand-dark marquee (two opposing rows, pause on hover) ===== */
.reviews-dark{background:hsl(var(--green-dark));color:hsl(var(--cream));position:relative;overflow:hidden}
.reviews-dark .sec-head h2{color:#fff}
.rev-eyebrow{text-align:center;color:hsl(var(--gold));font-weight:700;font-size:.85rem;letter-spacing:.04em;margin-bottom:.5rem}
.reviews-dark .rev-sub{text-align:center;color:rgb(255 255 255/.65);font-size:.9rem;max-width:34rem;margin:.5rem auto 0;line-height:1.6}
.rev-marquee{position:relative;margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem}
.rev-fade{position:absolute;inset-block:0;z-index:2;width:5rem;pointer-events:none}
.rev-fade-r{right:0;background:linear-gradient(to left,hsl(var(--green-dark)),transparent)}
.rev-fade-l{left:0;background:linear-gradient(to right,hsl(var(--green-dark)),transparent)}
.rev-row-wrap{overflow:hidden;direction:ltr}
.rev-row{display:flex;width:max-content;gap:1rem;padding:.5rem 0;animation:rev-marquee 48s linear infinite}
.rev-card{direction:rtl}
.rev-row.rev-rev{animation-name:rev-marquee-rev}
.rev-marquee:hover .rev-row{animation-play-state:paused}
@keyframes rev-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes rev-marquee-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.rev-card{width:20rem;flex-shrink:0;border-radius:1rem;border:1px solid rgb(255 255 255/.12);background:rgb(255 255 255/.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.25rem;transition:transform .2s,background .2s}
.rev-card:hover{transform:translateY(-4px);background:rgb(255 255 255/.1)}
.rev-card .stars{color:hsl(var(--gold));letter-spacing:2px;margin-bottom:.6rem;display:flex;gap:1px}
.rev-card .quote{font-size:.9rem;line-height:1.7;color:rgb(255 255 255/.9)}
.rev-card .who{margin-top:1.1rem;display:flex;align-items:center;gap:.65rem}
.rev-card .avatar{width:2.4rem;height:2.4rem;flex-shrink:0;border-radius:50%;background:rgb(255 255 255/.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}
.rev-card .name{font-size:.85rem;font-weight:700;color:#fff}
.rev-card .role{font-size:.72rem;color:rgb(255 255 255/.55)}
.rev-ctas{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}
@media(min-width:640px){.rev-ctas{flex-direction:row;justify-content:center}}
.rev-ctas .btn{font-size:.875rem}
.reviews-dark .btn-primary{background:hsl(var(--gold));color:hsl(var(--charcoal));box-shadow:0 4px 14px hsl(var(--gold)/.25)}
.reviews-dark .btn-primary:hover{background:hsl(var(--gold-dark))}
.reviews-dark .btn-outline{border-color:rgb(255 255 255/.4);color:#fff;background:transparent}
.reviews-dark .btn-outline:hover{background:rgb(255 255 255/.12);border-color:#fff;color:#fff}
@media(max-width:640px){.rev-card{width:16rem;padding:1rem}.rev-fade{width:2.5rem}}
@media(prefers-reduced-motion:reduce){.rev-row{animation:none}.rev-row-wrap{overflow-x:auto}.rev-wrap-2{display:none}}

/* ===== events (elegant frame + quiet form — hybrid A+D) ===== */
.events{position:relative;padding:4rem 0;
  background:linear-gradient(180deg,hsl(140 22% 93%) 0%,hsl(140 25% 88%) 100%)}
@media(min-width:1024px){.events{padding:5.5rem 0}}
.events-frame{position:relative;border:1px solid hsl(148 30% 45%/.28);border-radius:.25rem;padding:2.25rem 1.5rem}
@media(min-width:640px){.events-frame{padding:3rem 2.5rem}}
.events-frame::before,.events-frame::after{content:"";position:absolute;width:26px;height:26px;border:1.5px solid hsl(var(--gold-dark))}
.events-frame::before{top:-1px;right:-1px;border-left:0;border-bottom:0}
.events-frame::after{bottom:-1px;left:-1px;border-right:0;border-top:0}
.events-grid{display:grid;grid-template-columns:1fr;gap:2.25rem;align-items:center}
@media(min-width:900px){.events-grid{grid-template-columns:5fr 6fr;gap:3rem}}
/* left pitch — elegant */
.ev-pitch .ev-eyebrow{display:block;font-size:.75rem;letter-spacing:.24em;color:hsl(var(--gold-dark));font-weight:700;text-transform:uppercase;margin-bottom:.85rem}
.ev-pitch h2{font-family:var(--font-display);font-style:italic;font-size:clamp(1.9rem,3.8vw,2.5rem);font-weight:700;line-height:1.15;color:hsl(var(--green-darker));margin-bottom:1.1rem}
.ev-rule{display:flex;align-items:center;gap:.75rem;margin-bottom:1.35rem;max-width:16rem}
.ev-rule .ln{flex:1;height:1px;background:linear-gradient(to left,hsl(148 30% 45%),transparent)}
.ev-rule svg{color:hsl(var(--green));flex-shrink:0}
.ev-pitch p{color:hsl(var(--muted));line-height:1.7;font-size:.98rem;margin-bottom:1.5rem;max-width:27rem}
.ev-cap{display:inline-flex;align-items:baseline;gap:.55rem;font-family:var(--font-display);color:hsl(var(--green-darker));padding-bottom:.3rem;border-bottom:1px solid hsl(148 30% 45%/.4)}
.ev-cap .n{font-size:1.9rem;font-weight:700;font-variant-numeric:tabular-nums}
.ev-cap .t{font-size:.9rem;font-family:var(--font-body);font-weight:600;color:hsl(var(--muted))}
/* form card — quiet glass */
.ev-form{background:rgb(255 255 255/.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255/.75);border-radius:1rem;padding:1.75rem;box-shadow:0 14px 34px rgba(30,50,35,.08)}
@media(min-width:640px){.ev-form{padding:2rem}}
.ev-form .ttl{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:hsl(var(--green-darker));margin-bottom:.25rem}
.ev-form .sub{font-size:.8rem;color:hsl(var(--muted));margin-bottom:1.25rem}
.ev-form .field{margin-bottom:1.1rem}
.ev-form label{display:block;font-size:.76rem;font-weight:700;color:hsl(var(--green-dark));margin-bottom:.35rem;letter-spacing:.01em}
.ev-form label .req{color:hsl(var(--gold-dark));margin-inline-start:.15rem}
.ev-form label .live{font-weight:800;color:hsl(var(--green-darker))}
.ev-form select,
.ev-form input[type="text"],
.ev-form input[type="tel"]{width:100%;border:0;border-bottom:1.5px solid hsl(148 20% 45%/.4);background:transparent;border-radius:0;padding:.5rem .1rem;font-family:inherit;font-size:.92rem;color:hsl(var(--charcoal));transition:border-color .15s}
.ev-form select:focus,
.ev-form input:focus{outline:0;border-bottom-color:hsl(var(--green-darker))}
.ev-form .two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.ev-slider-row{display:flex;align-items:center;gap:.85rem}
.ev-slider-row input[type="range"]{flex:1;accent-color:hsl(var(--green));height:4px}
.ev-slider-row .num-chip{background:hsl(var(--green-darker));color:#fff;padding:.4rem .8rem;border-radius:.5rem;font-weight:800;font-family:var(--font-display);min-width:3.25rem;text-align:center;font-size:1.02rem;font-variant-numeric:tabular-nums}
.ev-form .submit{width:100%;margin-top:.5rem;padding:.9rem;font-size:.95rem;background:hsl(var(--green-darker));color:#fff;border:0;border-radius:.65rem;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .15s}
.ev-form .submit:hover{background:hsl(var(--green-dark))}
.ev-form-fallback{margin-top:.9rem;text-align:center;font-size:.8rem;color:hsl(var(--muted))}
.ev-form-fallback a{color:hsl(var(--green-darker));font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ev-form-fallback a:hover{color:hsl(var(--green))}
.ev-form .err{margin-top:.85rem;padding:.55rem .75rem;background:hsl(var(--destructive)/.08);border:1px solid hsl(var(--destructive)/.3);border-radius:.5rem;font-size:.82rem;color:hsl(var(--destructive));font-weight:600;display:none}
.ev-form .err.show{display:block}
@media(max-width:640px){.ev-form .two{grid-template-columns:1fr;gap:1rem}}
/* date+time trigger button (looks like the underline fields) */
.ev-form .ev-date-trigger{width:100%;border:0;border-bottom:1.5px solid hsl(148 20% 45%/.4);background:transparent;padding:.55rem .1rem;font-family:inherit;font-size:.92rem;color:hsl(var(--charcoal));display:flex;align-items:center;justify-content:flex-start;gap:.5rem;text-align:right;cursor:pointer;transition:border-color .15s}
.ev-form .ev-date-trigger:hover,.ev-form .ev-date-trigger:focus-visible{border-bottom-color:hsl(var(--green-darker))}
.ev-form .ev-date-trigger .placeholder{color:hsl(var(--muted));font-weight:400}
.ev-form .ev-date-trigger svg{color:hsl(var(--green));flex-shrink:0}
/* calendar modal */
.cal-step{display:none}
.cal-step.active{display:block}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}
.cal-nav button{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));color:hsl(var(--green-dark));flex-shrink:0}
.cal-nav button:hover:not(:disabled){background:hsl(40 50% 92%)}
.cal-nav button:disabled{opacity:.3;cursor:not-allowed}
.cal-nav .lbl{font-weight:800;font-family:var(--font-display);font-size:1.1rem;color:hsl(var(--green-dark))}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-top:.75rem;text-align:center}
.cal-dow-row{margin-top:1rem}
.cal-dow-row span{font-size:.7rem;font-weight:800;color:hsl(var(--muted));padding:.25rem 0}
.cal-day{aspect-ratio:1;border-radius:.6rem;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;border:1px solid transparent;color:hsl(var(--charcoal));background:transparent}
.cal-day:not(:disabled):hover{background:hsl(40 50% 92%)}
.cal-day.is-today{border-color:hsl(var(--gold))}
.cal-day[aria-pressed="true"]{background:hsl(var(--green));color:#fff}
.cal-day:disabled{opacity:.28;cursor:not-allowed;text-decoration:line-through}
.cal-day.empty{visibility:hidden;pointer-events:none}
.cal-selected-date{text-align:center;font-weight:800;color:hsl(var(--green-dark));margin-bottom:.75rem;font-family:var(--font-display);font-size:1.05rem}

/* ===== quick-order banner (returning customer) ===== */
.qo-banner{position:fixed;top:4.75rem;left:50%;transform:translate(-50%,-16px);z-index:45;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:center;max-width:min(92vw,34rem);background:hsl(var(--green-dark));color:#fff;border:2px solid hsl(var(--gold));border-radius:1rem;padding:.8rem 1.1rem;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;transition:opacity .3s,transform .3s}
.qo-banner.show{opacity:1;transform:translate(-50%,0)}
.qo-txt{font-weight:700;font-size:.92rem}
.qo-actions{display:flex;gap:.5rem;align-items:center}
.qo-yes{background:hsl(var(--gold));color:hsl(var(--charcoal));font-weight:800;border-radius:.6rem;padding:.5rem .9rem;font-size:.85rem}
.qo-yes:hover{background:hsl(var(--gold-dark))}
.qo-no{color:rgb(255 255 255/.8);font-weight:600;font-size:.85rem;padding:.5rem .35rem;text-decoration:underline;text-underline-offset:3px}
.qo-no:hover{color:#fff}
@media(prefers-reduced-motion:reduce){.qo-banner{transition:none}}

/* ===== drinks vitrine (hero image) ===== */
.drinks-vitrine{display:block;width:100%;border:0;padding:0;cursor:pointer;font-family:inherit;text-align:center;border-radius:1.25rem;overflow:hidden;color:#fff;background:linear-gradient(160deg,hsl(150 45% 19%),hsl(150 58% 10%));box-shadow:0 10px 30px rgba(0,0,0,.14);transition:box-shadow .2s}
.drinks-vitrine:hover{box-shadow:0 16px 38px rgba(0,0,0,.2)}
.drinks-vitrine .dv-head{display:block;padding:1.15rem 1rem .95rem}
.drinks-vitrine .dv-eyebrow{display:block;color:hsl(var(--gold));font-weight:800;font-size:.8rem;letter-spacing:.12em;margin-bottom:.25rem}
.drinks-vitrine .dv-title{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1.1}
.drinks-vitrine .dv-hero{display:block;width:100%;height:auto;object-fit:cover;transition:transform .35s ease}
.drinks-vitrine:hover .dv-hero{transform:scale(1.03)}
.drinks-vitrine .dv-foot{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.05rem 1rem 1.3rem}
.drinks-vitrine .dv-sub{color:rgb(255 255 255/.82);font-size:.92rem}
.drinks-vitrine .dv-btn{display:inline-flex;align-items:center;gap:.5rem;background:hsl(var(--gold));color:hsl(var(--charcoal));font-weight:800;font-size:1rem;padding:.85rem 1.9rem;border-radius:.8rem;box-shadow:0 6px 18px hsl(var(--gold)/.4);transition:background .15s,transform .15s}
.drinks-vitrine:hover .dv-btn{background:hsl(var(--gold-dark));transform:translateY(-2px)}
@media(min-width:1024px){.drinks-vitrine .dv-hero{max-height:440px}}
@media(max-width:640px){.drinks-vitrine .dv-title{font-size:1.4rem}.drinks-vitrine .dv-btn{width:90%}}
@media(prefers-reduced-motion:reduce){.drinks-vitrine:hover .dv-hero{transform:none}}
/* drinks modal / bottom sheet */
.drinks-sheet{max-width:46rem;padding:0;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
.drinks-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem;border-bottom:1px solid hsl(var(--border));flex-shrink:0}
.drinks-sheet-head h3{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:hsl(var(--green-dark))}
.drinks-x{width:2.25rem;height:2.25rem;border-radius:50%;background:hsl(40 50% 92%);display:flex;align-items:center;justify-content:center;color:hsl(var(--charcoal));flex-shrink:0}
.drinks-x:hover{background:hsl(40 50% 86%)}
.drinks-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.1rem 1.25rem 1.4rem}
.drink-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:768px){.drink-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.drink-grid{grid-template-columns:repeat(4,1fr)}}
.drink-card{position:relative;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:1rem;padding:.65rem;display:flex;flex-direction:column;text-align:center;transition:box-shadow .15s,transform .15s}
.drink-card:hover{box-shadow:0 4px 10px rgb(0 0 0/.08);transform:translateY(-2px)}
.drink-card .dc-img{width:100%;aspect-ratio:3/4;object-fit:contain;object-position:center;border-radius:.65rem;display:block;background:hsl(40 40% 94%)}
.drink-card .dc-name{margin-top:.5rem;font-size:.82rem;font-weight:800;line-height:1.25;color:hsl(var(--charcoal))}
.drink-card .dc-size{font-size:.72rem;color:hsl(var(--muted));margin-top:.1rem}
.drink-card .dc-price{margin-top:.35rem;font-size:.85rem;font-weight:800;color:hsl(var(--green))}
.drink-card .dc-price.tbd{color:hsl(var(--muted));font-weight:600;font-style:italic}
.drink-card .dc-add{margin-top:.5rem;align-self:center;width:2.25rem;height:2.25rem;border-radius:50%;background:hsl(var(--green));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;transition:transform .15s}
.drink-card .dc-add:hover{transform:scale(1.08)}
.drink-card .dc-add.added{transform:scale(1.12)}
.drink-card.unavailable{opacity:.55}
.drink-card.unavailable .dc-add{background:hsl(var(--border));color:hsl(var(--muted));cursor:not-allowed;pointer-events:none}
.drink-card .dc-unavail{position:absolute;top:.5rem;inset-inline-start:.5rem;background:hsl(var(--charcoal));color:#fff;font-size:.62rem;font-weight:700;padding:.15rem .5rem;border-radius:9999px}
/* mobile: bottom sheet */
@media(max-width:639px){
  .overlay-sheet{align-items:flex-end;padding:0}
  .overlay-sheet .drinks-sheet{max-width:100%;width:100%;max-height:88dvh;border-radius:1.25rem 1.25rem 0 0}
}

/* ===== location ===== */
.loc-grid{display:grid;gap:1rem}
@media(min-width:768px){.loc-grid{grid-template-columns:1fr 1fr}}
.loc-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:1rem;padding:1.25rem}
@media(min-width:640px){.loc-card{padding:1.5rem}}
.loc-head{display:flex;align-items:flex-start;gap:.75rem}
.loc-icon{width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:50%;background:hsl(var(--green)/.12);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.loc-lbl{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--muted))}
.loc-val{margin-top:.25rem;font-size:1.125rem;font-weight:800}
.loc-acc{margin-top:.5rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted))}
.loc-actions{margin-top:1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
@media(min-width:640px){.loc-actions{grid-template-columns:repeat(3,1fr)}}
.map-box{margin-top:1rem;overflow:hidden;border:2px solid hsl(var(--green)/.2);border-radius:.75rem}
.map-box iframe{display:block;width:100%;height:220px;border:0}
.map-box a.navlink{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 0;font-weight:700;color:#fff;background:hsl(var(--green))}
.map-box a.navlink:hover{filter:brightness(1.1)}
.hours-list li{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}
.hours-list li:last-child{border-bottom:0}
.hours-list .d{font-weight:700}
.hours-list .h{font-family:ui-monospace,monospace;font-size:.875rem;font-weight:700}
.hours-list .closed{color:hsl(var(--muted))}

/* ===== footer ===== */
footer.site{border-top:4px solid hsl(var(--gold));background:hsl(var(--green-dark));color:hsl(var(--cream));padding:2.5rem 0}
.ftr-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(min-width:768px){.ftr-grid{grid-template-columns:repeat(3,1fr)}}
.ftr-title{font-size:1.25rem;font-weight:900}
.ftr-sub{margin-top:.25rem;font-size:.875rem;opacity:.9}
.ftr-col{font-size:.875rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.ftr-col .op{opacity:.9}
.ftr-order{border-radius:9999px;padding:.375rem 1rem;font-weight:700;background:hsl(var(--gold));color:hsl(var(--charcoal))}
.ftr-link{display:inline-flex;align-items:center;gap:.375rem;font-weight:600}
.ftr-link:hover{text-decoration:underline;text-underline-offset:4px}
.ftr-bottom{margin-top:2rem;border-top:1px solid rgb(255 255 255/.15);padding-top:1rem;text-align:center;font-size:.75rem;opacity:.85}

/* ===== mobile bar ===== */
.mbar{position:fixed;inset-inline:0;bottom:0;z-index:30;padding:.5rem .75rem max(.75rem,env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s;background:linear-gradient(to top,hsl(var(--bg)) 50%,transparent)}
.mbar.show{transform:translateY(0)}
@media(min-width:1024px){.mbar{display:none}}
.mbar button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;border-radius:1rem;padding:.875rem 1rem;font-weight:700;color:#fff;background:hsl(var(--green));box-shadow:0 -2px 20px hsl(var(--green)/.3),0 8px 24px hsl(var(--green)/.35)}
.mbar .cnt{display:flex;min-width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:9999px;padding-inline:.375rem;font-size:.875rem;font-weight:900;background:hsl(var(--gold));color:hsl(var(--charcoal))}
.mbar .txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.mbar .txt .a{font-size:15px}
.mbar .txt .b{font-size:11px;font-weight:600;opacity:.9}
.mbar .right{display:flex;align-items:center;gap:.375rem;font-size:.875rem}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== floating falafel balls ===== */
main,footer.site{position:relative;z-index:1}
/* display face on headings (hero wordmark stays Heebo) — swap --font-display in :root to change */
.sec-head h2,.cat-head h3,.divider-title,.logo-name,.ftr-title,.modal h3,.thanks h3,.about-years .y{font-family:var(--font-display);letter-spacing:-.01em}
/* more breathing room between sections on desktop */
@media(min-width:1024px){.section{padding:5.5rem 0}}
.section-tinted{background:hsl(var(--green)/.06)}
/* ===== נגישות — כפתור צף, פאנל הגדרות, והצהרה ===== */
.a11y-fab-wrap{position:fixed;bottom:1.25rem;left:1.25rem;z-index:45;display:flex;align-items:flex-start;gap:.35rem;transition:opacity .25s,transform .25s,bottom .3s}
/* lift above the mobile order bar when it's shown */
@media(max-width:1023px){body.has-bar .a11y-fab-wrap{bottom:6rem}}
.a11y-fab{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem .65rem .9rem;border-radius:9999px;border:2px solid hsl(var(--gold));background:hsl(var(--green));color:#fff;font-family:'Heebo',sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 6px 20px rgb(0 0 0/.25);transition:transform .2s,box-shadow .2s,background .2s}
.a11y-fab:hover{transform:scale(1.04);box-shadow:0 8px 24px rgb(0 0 0/.32);background:hsl(var(--green-dark))}
.a11y-fab:focus-visible{outline:3px solid hsl(var(--gold));outline-offset:3px}
.a11y-fab-wrap.hidden{opacity:0;transform:translateY(20px);pointer-events:none}
.a11y-fab-close{width:1.5rem;height:1.5rem;border-radius:50%;border:1.5px solid hsl(var(--gold));background:#fff;color:hsl(var(--green-dark));display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;font-weight:700;line-height:1;padding:0;box-shadow:0 2px 6px rgb(0 0 0/.18);transition:transform .15s}
.a11y-fab-close:hover{transform:scale(1.12)}
.a11y-fab-close:focus-visible{outline:2px solid hsl(var(--gold));outline-offset:2px}
.a11y-fab svg{flex-shrink:0}
@media(max-width:640px){.a11y-fab{font-size:0;padding:.7rem;gap:0}.a11y-fab svg{width:22px;height:22px}.a11y-fab-wrap{left:.75rem;bottom:1rem}}

.a11y-panel{max-width:24rem;width:100%}
.a11y-panel h3{margin-bottom:.25rem;font-family:var(--font-display)}
.a11y-panel .sub{color:hsl(var(--muted));font-size:.85rem;margin-bottom:1rem}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px solid hsl(var(--border))}
.a11y-row:last-of-type{border-bottom:0}
.a11y-row .label{font-weight:600;font-size:.9rem;flex:1}
.a11y-row .label small{display:block;font-weight:400;color:hsl(var(--muted));font-size:.75rem;margin-top:.15rem}
.a11y-seg{display:flex;border:1px solid hsl(var(--border));border-radius:.5rem;overflow:hidden}
.a11y-seg button{padding:.4rem .7rem;background:#fff;border:0;border-inline-start:1px solid hsl(var(--border));font-weight:600;cursor:pointer;font-size:.85rem}
.a11y-seg button:first-child{border-inline-start:0}
.a11y-seg button[aria-pressed="true"]{background:hsl(var(--green));color:#fff}
.a11y-toggle{position:relative;width:2.75rem;height:1.5rem;border:0;border-radius:9999px;background:hsl(var(--border));cursor:pointer;flex-shrink:0;transition:background .2s}
.a11y-toggle::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;transition:transform .2s}
.a11y-toggle[aria-pressed="true"]{background:hsl(var(--green))}
.a11y-toggle[aria-pressed="true"]::after{transform:translateX(-1.25rem)}
.a11y-reset{margin-top:1rem;width:100%;padding:.6rem;background:transparent;border:1px solid hsl(var(--border));border-radius:.5rem;font-weight:600;cursor:pointer;color:hsl(var(--charcoal))}
.a11y-reset:hover{background:hsl(var(--bg))}
.a11y-statement-link{margin-top:.75rem;display:block;text-align:center;font-size:.85rem;color:hsl(var(--green));text-decoration:underline}

/* settings applied to body when toggles are on */
html[data-font-scale="lg"]{font-size:112.5%}
html[data-font-scale="xl"]{font-size:125%}
body.a11y-contrast{--muted:0 0% 12%;--border:0 0% 25%;--charcoal:0 0% 0%;--bg:0 0% 100%;--cream:0 0% 100%}
body.a11y-contrast .rev-card .quote,body.a11y-contrast .rev-card .name{color:#fff !important}
body.a11y-contrast .item-desc,body.a11y-contrast .why-card p{color:#000 !important}
body.a11y-reduce-motion *,body.a11y-reduce-motion *::before,body.a11y-reduce-motion *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
body.a11y-reduce-motion .rev-wrap-2{display:none}
body.a11y-underline a:not(.btn):not(.a11y-statement-link){text-decoration:underline !important;font-weight:700 !important}

/* accessibility statement modal */
.a11y-modal-content{max-width:38rem;width:100%;max-height:80vh;overflow-y:auto;text-align:right}
.a11y-modal-content h3{font-family:var(--font-display);margin-bottom:.5rem}
.a11y-modal-content h4{font-family:var(--font-display);color:hsl(var(--green));margin:1.25rem 0 .5rem;font-size:1.05rem}
.a11y-modal-content p,.a11y-modal-content li{font-size:.9rem;line-height:1.7;color:hsl(var(--charcoal))}
.a11y-modal-content ul{padding-inline-start:1.25rem;margin:.25rem 0;list-style:disc}
.a11y-modal-content li{margin-bottom:.25rem}
.a11y-modal-content .placeholder{background:hsl(42 88% 92%);border-inline-start:3px solid hsl(var(--gold));padding:.5rem .75rem;border-radius:.25rem;font-size:.85rem;color:hsl(var(--charcoal));margin:.25rem 0}
.a11y-modal-content .meta{color:hsl(var(--muted));font-size:.8rem;margin-top:1.25rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}
.a11y-foot-link{color:inherit;text-decoration:underline;opacity:.85;background:transparent;border:0;cursor:pointer;font:inherit}
.a11y-foot-link:hover{opacity:1}
