@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--page:#faf8f4;--surface:#fff;--surface-soft:#f6f1e9;--ink:#111827;--muted:#596173;--line:#e9e3da;--link:#a54120;--red:#b54124;--gold:#d9ad38;--navy:#0d1424;--shadow:0 12px 32px -20px #0d142430}
:root[data-theme=dark]{--page:#10131c;--surface:#1a1f2a;--surface-soft:#232a37;--ink:#f6f2e9;--muted:#b9c0cb;--line:#343d4c;--link:#ffc45b;--red:#c45736;--gold:#e9bd51;--navy:#090d17;--shadow:0 18px 34px -20px #000b}
body{font-family:'DM Sans',system-ui,sans-serif;letter-spacing:-.01em;background:var(--page)}
.checkout-auth-shell{min-height:min(680px,calc(100dvh - 170px));display:grid;place-items:center;padding:clamp(24px,6vw,72px) 16px}.checkout-auth-card{width:min(520px,100%);text-align:center;padding:clamp(30px,6vw,54px);border:1px solid var(--line);border-radius:30px;background:var(--surface);box-shadow:0 28px 70px -42px #0d142480}.auth-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:20px;background:var(--navy);color:#fff;border:2px solid var(--gold);font-weight:800;font-size:22px}.checkout-auth-card .eyebrow{margin:0;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.18em}.checkout-auth-card h1{margin:10px 0 14px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,6vw,48px);line-height:1.04;letter-spacing:-.04em}.checkout-auth-card>p:not(.eyebrow){max-width:44ch;margin:0 auto;color:var(--muted);line-height:1.65}.google-auth-button{width:100%;margin:28px 0 18px;min-height:54px;border-radius:16px;font-weight:800}.google-auth-button span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:#fff;color:#3157c8;font-weight:900}.auth-benefits{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.auth-benefits span{padding:7px 10px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:700}.auth-back-link{display:inline-block;margin-top:24px;color:var(--link);font-size:13px;font-weight:800}
.shop-main{max-width:1440px;padding:32px 36px 100px}.shop-header{max-width:none;min-height:78px;padding:14px max(36px,calc((100vw - 1368px)/2));background:var(--surface);border-bottom:1px solid var(--line);gap:24px}.shop-brand{font-weight:800;letter-spacing:-.045em;color:var(--ink)}.shop-brand .mark{background:var(--navy);color:#fff;border:2px solid var(--gold);border-radius:14px;font-weight:700}.shop-brand small{font-size:10px;color:var(--muted);letter-spacing:.11em}.shop-header nav{margin-left:auto}.shop-header nav .btn{font-size:13px;font-weight:700}.shop-header nav .primary{border-radius:13px;background:var(--navy);color:#fff}.shop-header nav .primary:hover{background:#263753;color:#fff}.delivery-selector{max-width:205px}.appearance-toggle{border-radius:12px}
.shop-hero{isolation:isolate;display:flex;align-items:center;min-height:510px;padding:clamp(36px,5vw,72px);border-radius:34px;background:var(--navy);color:#fff;border:1px solid #cba74047;overflow:hidden;margin:22px 0 70px}.shop-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c1221 4%,#0c1221ed 38%,#0c122197 65%,#0c122140 100%)}.shop-hero:after{content:'';position:absolute;inset:auto -120px -300px auto;width:600px;height:600px;border:1px solid #e5bd5842;border-radius:50%;pointer-events:none}.hero-copy{z-index:1;max-width:620px}.shop-hero .eyebrow{color:#f3c958;letter-spacing:.17em;font-size:11px;font-weight:800}.shop-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(44px,5.3vw,74px);line-height:1.02;letter-spacing:-.035em;max-width:12ch;margin:22px 0}.shop-hero h1+p{font-size:16px;line-height:1.65;color:#d7dbe3;max-width:48ch}.shop-hero .hero-cta{margin-top:24px;background:var(--gold);border-color:var(--gold);color:#1c1b15;border-radius:13px;font-weight:800;padding:15px 22px}.shop-hero .hero-cta:hover{background:#f0c65c}.shop-hero .kitchen-card{display:none}.shop-hero .store-hero-media{position:absolute;z-index:-2;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:0}
.offers-section{padding:20px 0 4px}.offers-heading{display:flex;align-items:baseline;gap:15px;margin:0 0 18px;flex-wrap:wrap}.offers-heading .eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--red)}.offers-heading strong{font-size:22px;letter-spacing:-.04em}.offers-heading>span:last-child{margin-left:auto;color:var(--muted);font-size:12px}.store-offers{margin:0;display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 8px}.store-offer{min-width:258px;flex:1;max-width:360px;border:1px solid var(--line);border-radius:22px;padding:18px 20px;background:var(--surface);box-shadow:var(--shadow);display:grid;gap:6px;text-align:left;scroll-snap-align:start;cursor:pointer}.store-offer .offer-symbol{width:34px;height:34px;display:grid;place-items:center;background:#fff0db;color:#9f5816;border-radius:11px;font-weight:800}.store-offer strong{font-size:19px;letter-spacing:-.035em}.store-offer>span:nth-of-type(2){font-size:12px;color:var(--muted)}.store-offer small{margin-top:8px;padding-top:10px;border-top:1px dashed var(--line);font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--link);display:flex;justify-content:space-between}
.moods-section{margin-bottom:58px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading .eyebrow,.menu-toolbar .eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--red)}.section-heading h2,.menu-toolbar h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.055em;line-height:1.1;margin:5px 0}.section-heading>p{font-size:13px;color:var(--muted);margin:0 0 5px}.mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mood-card{min-height:205px;padding:23px;text-align:left;border:1px solid #f0dcb6;border-radius:24px;background:linear-gradient(150deg,#fffaf1,#f7e7c9);color:#261f1a;display:flex;flex-direction:column;align-items:start;cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out}.mood-card-2{background:linear-gradient(145deg,#fff4ee,#f8dbd0);border-color:#f3d5cd}.mood-card-3{background:linear-gradient(145deg,#f0faf1,#d8efde);border-color:#d3e9d6}.mood-card-4{background:linear-gradient(145deg,#f3f3fe,#e4e3f5);border-color:#dedcf0}.mood-card:hover{transform:translateY(-4px);box-shadow:0 20px 28px -18px #0d142440}.mood-card .mood-index{font-size:10px;font-weight:800;letter-spacing:.16em;color:#865923}.mood-card strong{margin-top:auto;font-family:'Playfair Display',Georgia,serif;font-size:clamp(19px,2vw,27px);line-height:1.15;letter-spacing:-.035em}.mood-card .mood-link{margin-top:15px;font-size:12px;font-weight:800;color:#884416}.mood-card .mood-link span{margin-left:6px}
.shop-layout{grid-template-columns:minmax(0,1fr) 320px;gap:30px}.shop-menu{scroll-margin-top:28px}.menu-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px}.menu-toolbar .panel-title{display:block}.menu-toolbar .eyebrow{margin:0}.menu-toolbar h2{margin:6px 0 0}.menu-toolbar .btn{flex:none}.search-field{margin:22px 0 15px}.search-field input{min-height:54px;border-radius:16px!important;background:var(--surface)!important;padding:14px 18px!important}.filters{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:0 0 12px;margin:0}.filter{flex:none;border-radius:11px;font-size:12px;font-weight:700}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.menu-count{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:6px 0 18px}.shop-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.food-card{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}.food-photo,.food-empty{width:calc(100% - 28px);height:auto;aspect-ratio:16/10;margin:14px 14px 0;border-radius:17px;object-fit:cover}.food-empty{display:grid;place-items:center;background:var(--navy);color:#fff}.food-body{padding:17px 19px 20px;gap:9px}.food-body h3{font-size:18px;line-height:1.28;letter-spacing:-.035em}.food-body p{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.food-category{font-size:10px;letter-spacing:.1em;font-weight:800}.food-bottom{border-top:1px solid var(--line);margin-top:7px;padding-top:14px}.food-bottom>strong{font-size:20px;letter-spacing:-.035em}.food-bottom .btn{background:var(--surface-soft);color:var(--link);border-color:transparent;border-radius:11px;font-weight:800}.cart-panel{top:25px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}.cart-panel h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em}.cart-panel .checkout-link{background:var(--navy);border-color:var(--navy);color:#fff;border-radius:12px}
.shop-footer{max-width:none;margin:0;background:var(--navy);color:#bdc6d5;padding:55px max(36px,calc((100vw - 1368px)/2));border:0;display:grid;grid-template-columns:2fr 1fr;gap:20px}.shop-footer strong{color:#fff}.shop-footer a{color:#f2c75c}.shop-footer p{font-size:12px;color:#aab5c7}.shop-footer #store-contact{grid-row:1/3}.shop-footer #store-contact p{max-width:50ch}.demo-strip{background:#fff4dc;color:#644d20}
@media(max-width:1050px){.shop-main{padding:24px 24px 80px}.mood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-layout{grid-template-columns:1fr}.shop-items{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-panel{position:static}.shop-hero{min-height:440px}}
@media(max-width:700px){.shop-header{padding:15px 18px;gap:10px}.shop-main{padding:18px 16px 50px}.shop-hero{min-height:390px;padding:26px;border-radius:23px;margin:18px 0 42px;align-items:end}.shop-hero:before{background:linear-gradient(0deg,#0c1221 3%,#0c1221d9 42%,#0c122144 100%)}.shop-hero h1{font-size:clamp(34px,9vw,48px);margin:12px 0}.shop-hero h1+p{font-size:13px}.shop-hero .hero-cta{margin-top:15px}.offers-section{padding-top:10px}.offers-heading>span:last-child{display:none}.section-heading{align-items:start}.section-heading>p{display:none}.mood-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-right:-16px}.mood-card{flex:0 0 75%;min-height:165px;scroll-snap-align:start}.moods-section{margin-bottom:39px}.shop-items{grid-template-columns:1fr}.food-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0;min-height:140px}.food-photo,.food-empty{width:100px;height:112px;aspect-ratio:auto;margin:12px 0 12px 12px;border-radius:13px}.food-body{padding:14px 14px 14px 17px;gap:5px}.food-body h3{font-size:15px}.food-body p{font-size:11px}.food-bottom{padding-top:7px}.food-bottom>strong{font-size:16px}.shop-footer{display:block;padding:40px 20px 120px}.menu-toolbar h2{font-size:28px}.shop-header nav{z-index:30}.shop-header nav .primary{background:var(--navy);color:#fff}}
@media(max-width:380px){.food-card{grid-template-columns:90px minmax(0,1fr)}.food-photo,.food-empty{width:80px;height:100px}.food-body{padding-left:14px}.mood-card{flex-basis:84%}}
@media(prefers-reduced-motion:reduce){.mood-card{transition:none}.mood-card:hover{transform:none}}
.mood-card{position:relative;isolation:isolate;overflow:hidden}.mood-card.has-media{color:#fff;background:#172033;border-color:#172033}.mood-card.has-media:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0d1424e6,#0d142420 85%)}.mood-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .3s ease-out}.mood-card.has-media:hover>img{transform:scale(1.04)}.mood-card.has-media .mood-index,.mood-card.has-media .mood-link{color:#fff}
@media(prefers-reduced-motion:reduce){.mood-card>img{transition:none}.mood-card.has-media:hover>img{transform:none}}
/* Checkout: location, delivery quote and offers stay together with the order. */
.checkout-panel{border-radius:26px;padding:clamp(22px,3vw,34px)}.checkout-location-card{margin:24px 0;padding:22px;border:1px solid #ead8cf;border-radius:20px;background:#fff8f5}.checkout-location-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.checkout-location-heading h3{margin:4px 0 0;font-size:21px;letter-spacing:-.035em}.checkout-location-card>p{margin:8px 0 18px;color:var(--muted);font-size:13px;line-height:1.55}.checkout-location-card .field{margin-bottom:10px}.checkout-location-map{height:330px;margin-top:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);overflow:hidden}.checkout-location-result{display:grid;gap:5px;margin-top:12px;padding:14px 16px;border-radius:14px;background:var(--surface)}.checkout-location-result strong{font-size:13px;line-height:1.5}.checkout-location-result span{font-size:12px;color:var(--muted)}.checkout-summary{overflow:hidden}.cart-coupon{margin:20px -2px 8px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.cart-coupon h3{margin:0 0 12px;font-family:'DM Sans',system-ui,sans-serif;font-size:15px;letter-spacing:-.02em}.coupon-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.coupon-entry input{width:100%;min-width:0;border-radius:11px!important;padding:11px 12px!important}.coupon-entry .btn{min-height:44px;border-radius:11px;background:var(--navy);color:#fff;border-color:var(--navy)}.coupon-suggestions{display:flex;gap:7px;overflow-x:auto;margin-top:10px;padding-bottom:3px}.coupon-suggestions .offer-chip{flex:none;min-height:36px;padding:8px 10px;border-radius:999px;font-size:10px}.quote-status{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.payment-choice{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.payment-choice h3{margin:5px 0 8px}.payment-choice p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:700px){.checkout-panel{padding:18px;border-radius:20px}.checkout-location-card{margin:18px 0;padding:16px}.checkout-location-heading{display:grid}.checkout-location-heading .btn{width:100%}.checkout-location-map{height:270px}.coupon-entry{grid-template-columns:1fr}.coupon-entry .btn{width:100%}}
/* Installed PWA and touch-device polish. */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{min-height:100dvh;overscroll-behavior:none;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}button,a,[role=button]{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:active,.btn:active,[role=button]:active{transform:scale(.98)}.shop-header{padding-top:calc(14px + env(safe-area-inset-top,0px))}.shop-footer{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.install-app{position:fixed;z-index:80;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:min(620px,calc(100% - 32px));transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #d8bd74;border-radius:20px;background:var(--surface);box-shadow:0 24px 70px -30px #0d1424b8}.install-app[hidden]{display:none}.install-app strong{display:block;font-size:15px}.install-app p{margin:4px 0 0;color:var(--muted);font-size:12px}.install-app ol{margin:12px 0 0;padding-left:20px;color:var(--ink);font-size:12px;line-height:1.55}.install-app ol[hidden]{display:none}.install-app ol strong{display:inline;font-size:inherit}.install-app .actions{flex:none;flex-wrap:nowrap}.install-app .btn{min-height:42px;white-space:nowrap}
@media(max-width:700px){.shop-header{padding-top:calc(15px + env(safe-area-inset-top,0px))}.shop-header nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.shop-main{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.install-app{bottom:calc(82px + env(safe-area-inset-bottom,0px));align-items:stretch;display:grid}.install-app .actions{display:grid;grid-template-columns:1fr auto}.install-app .btn{width:100%}}
@media(hover:hover) and (pointer:fine){button:hover,.btn:hover,[role=button]:hover{transform:translateY(-1px)}}
/* Compact single promotion and square category artwork. */
.store-offers.single-offer{overflow:visible}.store-offers.single-offer .store-offer{max-width:none;width:100%;grid-template-columns:44px minmax(150px,auto) 1fr auto;align-items:center;gap:12px 18px;padding:15px 18px}.store-offers.single-offer .store-offer .offer-symbol{grid-row:1}.store-offers.single-offer .store-offer strong{font-size:17px}.store-offers.single-offer .store-offer>span:nth-of-type(2){font-size:13px}.store-offers.single-offer .store-offer small{margin:0;padding:0 0 0 18px;border:0;border-left:1px dashed var(--line);gap:22px}
.mood-card{aspect-ratio:1/1;min-height:0;padding:20px}.mood-card>img{object-fit:cover}.pickup-card{margin-top:20px}
@media(max-width:700px){.store-offers.single-offer .store-offer{grid-template-columns:40px 1fr auto}.store-offers.single-offer .store-offer>span:nth-of-type(2){grid-column:2/4}.store-offers.single-offer .store-offer small{grid-column:2/4;padding:8px 0 0;border-left:0;border-top:1px dashed var(--line)}.mood-card{flex:0 0 58%;aspect-ratio:1/1;min-height:0}}

/* Customer storefront refinement */
@font-face{font-family:'Plus Jakarta Sans';src:url('/shop/PlusJakartaSans.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
body,.shop-header,.shop-main,.shop-footer,button,input,textarea,select{font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.shop-brand small{text-transform:uppercase;letter-spacing:.09em}
.shop-main{max-width:1600px}.shop-menu{min-width:0}.shop-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.menu-toolbar h2{font-size:clamp(27px,3vw,36px);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800}
.offers-section{margin:42px 0 10px;padding:20px 0;border-top:1px solid var(--line)}.offers-heading strong{font-size:18px}.store-offers.single-offer .store-offer{max-width:760px}
.hero-slide[hidden]{display:none!important}.shop-hero .store-hero-media{z-index:-2}
.delivery-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.delivery-detail-fields .field{margin:0}.delivery-detail-fields input{min-height:48px}
.cart-fab{position:fixed;right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:230px;padding:15px 20px;border:1px solid #eac670;border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 20px 42px #0d14245c;font-size:13px;cursor:pointer}.cart-fab[hidden]{display:none}.cart-fab strong{font-size:15px}
.cart-drawer{position:fixed;inset:auto 0 0 auto;margin:0;width:min(430px,100vw);max-width:100vw;max-height:min(85dvh,840px);padding:0;border:0;border-radius:24px 0 0 0;background:var(--surface);color:var(--ink);box-shadow:-16px 0 60px #0d142440;overflow:auto}.cart-drawer::backdrop{background:#0d142481;backdrop-filter:blur(4px)}.cart-drawer-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.cart-drawer-head .btn{font-size:22px;line-height:1}.cart-drawer .cart-panel{position:static;box-shadow:none;border:0;border-radius:0}.cart-drawer .cart-panel>h2{display:none}
.shop-footer{grid-template-columns:1fr}.shop-footer #store-contact{grid-row:auto}.shop-footer>span{font-weight:700}
.shop-hero .hero-copy{position:relative;z-index:2}.shop-hero .store-hero-media{display:block;min-height:0;max-height:none;border-radius:0;aspect-ratio:auto}
@media(max-width:1050px){.shop-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .shop-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;border-bottom:1px solid var(--line)}
 .shop-brand{grid-column:1;max-width:100%;font-size:16px;line-height:1.15}.shop-brand .mark{width:42px;height:42px;flex:none}.shop-brand small{font-size:8px;letter-spacing:.04em}
 .account-button{grid-column:2;grid-row:1;min-height:42px;padding:8px 12px;font-size:12px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .delivery-selector{grid-column:1/-1;grid-row:2;display:flex;width:100%;max-width:100%;min-height:48px;padding:7px 0 0;margin:0;border-top:1px solid var(--line);text-align:left}.delivery-selector strong{display:block;max-width:calc(100vw - 105px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.delivery-selector small{font-size:9px}
 .shop-header nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))}.shop-header nav a[href="#cart"]{display:none}.shop-header nav .btn{min-height:48px;flex-direction:row;font-size:12px;gap:8px}
 .shop-main{padding:12px 16px calc(126px + env(safe-area-inset-bottom,0px))}.shop-hero{margin:12px 0 30px;min-height:340px}.moods-section{margin-bottom:30px}.section-heading h2{font-size:25px}.shop-items{grid-template-columns:1fr}.menu-toolbar h2{font-size:27px}
 .cart-fab{left:16px;right:16px;bottom:calc(68px + env(safe-area-inset-bottom,0px));min-width:0;min-height:56px;border-radius:16px}
 .cart-drawer{inset:auto 0 0 0;width:100vw;max-height:88dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .delivery-detail-fields{grid-template-columns:1fr}.install-app{bottom:calc(68px + env(safe-area-inset-bottom,0px));padding:14px 16px;border-radius:18px}.install-app .actions{display:flex}.install-app .btn[hidden]{display:none}
 .shop-footer{padding:30px 18px calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.shop-hero .store-hero-media{display:block}.food-photo,.food-empty{width:80px}.food-body{padding-left:14px}}

/* Keep installed iPhone content below the status bar, with an opaque surface. */
@media(display-mode:standalone){.shop-header{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Shared media frame: show the entire uploaded image on every screen. */
.shop-hero.synced-hero{aspect-ratio:16/9;min-height:0;display:block;padding:0;background:#0d1424;overflow:hidden}
.shop-hero.synced-hero .store-hero-media{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;margin:0;border-radius:0}
.shop-hero.synced-hero:before{background:linear-gradient(0deg,#000,transparent);opacity:var(--hero-overlay-opacity,0);z-index:1}
.shop-hero.synced-hero:after{display:none}
.synced-hero .hero-copy{position:absolute;inset:auto 5% 8%;z-index:2;max-width:85%;text-shadow:0 1px 4px #000}
.synced-hero .hero-copy[hidden]{display:none}
.shop-hero.synced-hero .hero-slide[hidden]{display:none}
.shop-hero.synced-hero:before{pointer-events:none}
.synced-hero h1{font-size:clamp(20px,4.5vw,64px)}
.shop-hero.synced-hero h1{max-width:none}
.shop-hero.synced-hero .store-hero-media{z-index:0}
.mood-card>img{object-fit:contain}
@media(max-width:700px){.synced-hero .hero-copy .eyebrow,.synced-hero .hero-cta{display:none}.synced-hero h1{font-size:clamp(18px,5vw,28px);margin:4px 0}.synced-hero h1+p{font-size:11px;margin:4px 0}.mood-grid{gap:10px}.mood-card{flex:0 0 calc((100% - 30px)/4);min-height:0;aspect-ratio:1;min-width:0;border-radius:14px}.mood-card .mood-number,.mood-card>span{display:none}.mood-card strong{font-size:12px;line-height:1.2}.mood-card{padding:8px}.section-heading h2{font-size:22px}}
.saved-addresses{display:grid;gap:8px;margin-bottom:16px}.saved-address{display:grid;gap:4px;text-align:left;white-space:normal}.saved-address span{font-size:12px;font-weight:400}#location-details[hidden]{display:none}#location-details textarea{width:100%}
.checkout-final{display:grid;gap:8px;margin-top:18px}.checkout-final .checkout-submit{width:100%;min-height:48px;margin:0;white-space:normal}.checkout-layout .checkout-summary{position:static;align-self:start}.history-card .bill-row{font-size:13px}
.address-book-row{padding:10px 0;border-bottom:1px solid var(--line)}.address-book-row .saved-address{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;white-space:normal;font-size:13px;padding:12px;border-radius:12px}.address-book-row .saved-address[aria-pressed=true]{border-color:var(--red);background:var(--surface-soft)}.saved-address span span,.saved-address small{display:block;margin-top:4px;line-height:1.5}.address-book-row>div{display:flex;gap:20px}.receiver-details{margin:16px 0}.receiver-details summary{cursor:pointer;padding:12px 0;font-size:13px}.checkout-address-book{margin-bottom:16px}.checkout-address-book>.btn{margin-top:12px}
.checkout-layout h2{font-size:20px}.checkout-layout h3{font-size:17px}.checkout-location-card{padding:16px}.checkout-location-heading h3{font-size:17px}.checkout-location-map{height:260px}.payment-choice{padding:14px;margin:16px 0}.payment-choice h3{font-size:16px}.payment-choice .eyebrow{display:none}.checkout-layout .cart-line{padding:12px 0}.checkout-layout .check{font-size:13px}.map-retry{display:grid;place-content:center;gap:12px;height:100%;padding:20px;text-align:center;font-size:13px}.map-retry p{margin:0}.shop-header .brand img{border-radius:12px;object-fit:contain}
@media(max-width:600px){.checkout-panel,.checkout-summary{padding:16px}.checkout-layout{gap:16px}.checkout-location-heading{gap:8px}.checkout-location-map{height:230px}.checkout-layout .payment-choice p{font-size:12px}.checkout-layout .cart-coupon{padding:12px}.checkout-final{margin-top:16px}}
@media(min-width:701px){.shop-main{max-width:1200px}.shop-hero.synced-hero{width:min(100%,720px);margin:12px auto 32px}.mood-grid{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px}.mood-card{flex:0 0 140px;min-height:140px;aspect-ratio:1;padding:12px;border-radius:18px}.mood-card strong{font-size:18px}.mood-card .mood-index,.mood-card .mood-link{display:none}.moods-section{margin-bottom:28px}.section-heading h2{font-size:26px}.section-heading{margin-bottom:16px}.shop-hero.synced-hero h1{font-size:36px}.synced-hero .hero-copy p{font-size:13px}.shop-hero .hero-cta{padding:10px 14px;margin-top:8px}}
@media(max-width:700px){.shop-header .shop-brand{display:none}.shop-header .delivery-selector{grid-column:1;grid-row:1;border:0;padding:0}.shop-header .account-button{grid-column:2;grid-row:1}.shop-header .delivery-selector strong{font-size:14px}#location-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(18px + env(safe-area-inset-bottom,0px));margin:0}.saved-address{min-height:64px}}
/* Desktop cart is a centred dialog; mobile keeps its bottom sheet. */
@media(min-width:701px){
  html .cart-fab{left:50%;right:auto;transform:translateX(-50%)}
  html .cart-fab:hover{transform:translateX(-50%)}
  html .cart-drawer{inset:0;margin:auto;width:min(520px,calc(100vw - 48px));max-height:85dvh;border-radius:24px}
}

#account-content form{display:grid;gap:14px}
#account-content .btn{width:100%;justify-content:center;min-height:48px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#msg91-captcha:empty{display:none}

/* Polished responsive sign-in and required customer setup flow. */
.google-auth-button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#202124;border:1px solid #dadce0;font-family:Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.15px;min-height:48px;border-radius:8px;box-shadow:0 1px 2px #00000012}
.google-auth-button>span{display:block;width:auto;height:auto;margin:0;background:transparent;color:inherit;border-radius:0;white-space:nowrap;line-height:1.25}
.food-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.food-rating{display:inline-flex;align-items:center;gap:3px;color:#735014;background:#fff4d6;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.food-rating small{font-size:10px;color:#735014}
.google-auth-button:hover{background:#f8faff;border-color:#c7d2e2}
.google-auth-button:focus-visible{outline:3px solid #4285f4;outline-offset:2px}
.google-g{width:20px;height:20px;flex:0 0 20px}
.profile-setup{max-width:760px;margin:24px auto 60px;padding:0 18px}
.profile-setup-card{padding:clamp(22px,4vw,38px)}
.profile-setup-card h1{font-size:clamp(24px,4vw,34px);margin:4px 0 8px}
.profile-setup-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}
#profile-onboarding-form{display:grid;gap:14px;margin-top:22px}
#profile-onboarding-form .field{margin:0}
#profile-onboarding-form input:not([type=checkbox]){min-height:48px}
.onboarding-inline{display:flex;gap:10px;align-items:center}
.onboarding-inline input{min-width:0;flex:1}
.onboarding-inline .btn{min-height:48px;white-space:nowrap}
.onboarding-consent{display:flex;align-items:center;gap:10px;margin:4px 0 0}
.onboarding-consent input{width:20px;height:20px;accent-color:var(--navy)}
#profile-onboarding-form>.muted{margin:-10px 0 4px 30px;font-size:13px;line-height:1.45}
#whatsapp-number-field[hidden]{display:none}
#whatsapp-number-field{display:grid;gap:10px}
.profile-address{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.profile-address p{margin:6px 0 0;color:var(--muted);line-height:1.45}
.profile-address .btn{flex:0 0 auto;min-height:44px}
#profile-onboarding-form button[type=submit]{min-height:50px}
@media(min-width:701px){
  .shop-hero.synced-hero{width:min(100%,1080px);margin:14px auto 22px}
  .mood-grid{gap:12px;padding-bottom:6px}
  .mood-card{flex-basis:116px;min-height:116px;padding:9px;border-radius:16px}
  .mood-card strong{font-size:15px;line-height:1.15}
  .moods-section{margin-bottom:20px}
  .shop-menu .search-field input{min-height:48px;padding-block:10px}
  .filters{gap:8px;margin-top:10px}
  .filters .filter{min-height:38px;padding:8px 12px;font-size:12px}
}
@media(max-width:700px){
  .profile-setup{margin:10px auto 32px;padding:0 12px}
  .profile-setup-card{padding:20px 16px}
  .onboarding-inline{align-items:stretch;flex-direction:column}
  .profile-address{align-items:stretch;flex-direction:column}
  .profile-address .btn{width:100%}
  .shop-hero.synced-hero{margin-bottom:18px}
  .mood-grid{gap:8px}
  .mood-card{flex-basis:calc((100% - 24px)/4);padding:6px}
  .mood-card strong{font-size:11px}
  .shop-menu .search-field input{min-height:46px}
  .filters{gap:7px}
  .filters .filter{min-height:36px;padding:7px 10px;font-size:11px}
}

/* ============================================================
   Heritage redesign · 22 Oct 2026
   Warm cream ground, deep brown ink, terracotta action colour,
   Playfair Display headings over DM Sans text. Loaded last, so
   every rule here is prefixed with `body` to outrank older layers.
   ============================================================ */
:root,:root[data-theme=dark]{--page:#f4ede2;--surface:#fbf7f0;--surface-soft:#ece2d2;--ink:#2b1a12;--muted:#6b584b;--line:#e0d3bf;--link:#a8341a;--navy:#2b1a12;--gold:#c99a3b;--shadow:0 18px 40px -28px #2b1a1259;--bs-accent:#b4381b;--bs-accent-deep:#8f2a12;--bs-cream:#f4ede2;--bs-paper:#fbf7f0;--bs-band:#2b1a12;--bs-serif:'Playfair Display',Georgia,'Times New Roman',serif;--bs-ease:cubic-bezier(.2,.7,.2,1);--bs-gutter:clamp(16px,4vw,56px);color-scheme:light}
body{background:var(--bs-cream);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif}
body ::selection{background:#b4381b33}
body .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Status strip + header */
body .store-strip{display:flex;justify-content:center;gap:clamp(12px,3vw,40px);flex-wrap:wrap;padding:9px var(--bs-gutter);background:var(--bs-band);color:#f4ede2d9;font-size:12.5px;font-weight:500;letter-spacing:.02em}
body .store-strip span+span:before{content:'·';margin-right:clamp(12px,3vw,40px);opacity:.5}
body .shop-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;min-height:76px;padding:12px max(var(--bs-gutter),calc((100vw - 1280px)/2));background:var(--bs-paper);border-bottom:0;box-shadow:0 1px 0 #2b1a1214;transition:min-height .3s var(--bs-ease),box-shadow .3s}
body.is-scrolled .shop-header{min-height:64px;box-shadow:0 10px 30px -22px #2b1a1270}
body .shop-brand{gap:12px;font-family:var(--bs-serif);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
body .shop-brand .brand-logo{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff}
body .shop-brand .mark{background:var(--bs-band);color:#fbf7f0;border:0;border-radius:50%}
body .shop-brand small{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
body .delivery-selector{max-width:230px;border:0;border-radius:999px;background:var(--surface-soft);color:var(--ink);padding:8px 14px}
body .delivery-selector small{color:var(--bs-accent);letter-spacing:.1em}
body .shop-header nav{display:flex;align-items:center;gap:4px;margin-left:auto}
body .shop-header nav .btn{border:0;background:transparent;color:var(--ink);font-size:14.5px;font-weight:600;border-radius:999px;padding:10px 14px;box-shadow:none;transition:background .2s,color .2s}
body .shop-header nav .btn:hover{background:var(--surface-soft);color:var(--bs-accent)}
body .shop-header nav .btn[aria-current=page]{color:var(--bs-accent)}
body .shop-header nav .nav-text .nav-icon{display:none}
body .shop-header nav #cart-link{background:var(--bs-accent);color:#fff;padding:10px 18px;margin-left:6px}
body .shop-header nav #cart-link:hover{background:var(--bs-accent-deep);color:#fff}
body .account-button{border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font-weight:600}
body .account-button:hover{border-color:var(--ink)}

/* Shared buttons and section frame */
body .shop-main{max-width:calc(1280px + var(--bs-gutter)*2);margin:0 auto;padding:0 var(--bs-gutter) 120px}
body{overflow-x:clip}
body .btn.primary,body .shop-main .btn.primary,body #location-dialog .primary{background:var(--bs-accent);border-color:var(--bs-accent);color:#fff;border-radius:6px;font-weight:600;transition:background .2s,transform .2s var(--bs-ease)}
body .btn.primary:hover,body .shop-main .btn.primary:hover,body #location-dialog .primary:hover{background:var(--bs-accent-deep);border-color:var(--bs-accent-deep);color:#fff}
body .btn.primary:active,body .btn.ghost:active{transform:translateY(1px) scale(.99)}
body .btn.ghost{background:var(--bs-paper);border:1.5px solid #2b1a1226;color:var(--ink);border-radius:6px;font-weight:600}
body .btn.ghost:hover{border-color:var(--ink)}
body .btn:focus-visible,body a:focus-visible,body button:focus-visible{outline:2.5px solid var(--bs-accent);outline-offset:3px}
body .home-section{margin-top:clamp(88px,11vw,150px)}
body .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,40px)}
body .eyebrow{margin:0 0 10px;color:var(--bs-accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
body .home-section h2,body .shop-hero h1{font-family:var(--bs-serif);font-weight:600;color:var(--ink);letter-spacing:-.02em}
body .home-section h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1}
body h1 em,body h2 em{font-style:italic;color:var(--bs-accent);font-weight:600}
body .text-link{color:var(--bs-accent);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
body .text-link:hover{text-decoration:underline;text-underline-offset:4px}
body .section-note{max-width:34ch;margin:0;color:var(--muted);font-size:15px;text-align:right}

/* Hero */
body .shop-hero.heritage-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,5vw,72px);min-height:min(78vh,720px);margin:0 calc(50% - 50vw);padding:clamp(40px,6vw,88px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter)));border:0;border-radius:0;background:#efe5d6;color:var(--ink);overflow:hidden}
body .heritage-hero:before,body .heritage-hero:after{display:none}
body .heritage-hero .hero-copy{position:relative;z-index:1;max-width:560px}
body .heritage-hero h1{margin:0;font-size:clamp(46px,6.4vw,92px);line-height:.98}
body .heritage-hero h1 em{display:block}
body .heritage-hero .hero-lede{max-width:44ch;margin:24px 0 0;color:var(--ink);font-size:clamp(16px,1.3vw,18.5px);line-height:1.6;opacity:.86}
body .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
body .hero-actions .btn{min-height:50px;padding:0 24px;font-size:15px;display:inline-flex;align-items:center;gap:8px}
body .hero-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;list-style:none;color:var(--muted);font-size:13.5px;font-weight:500}
body .hero-facts li:before{content:'';display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--bs-accent);vertical-align:middle}
body .hero-facts li:first-child:before{background:#2f8a4f}
body .hero-visual{position:relative;align-self:stretch;min-height:clamp(320px,46vw,600px);border-radius:4px;overflow:hidden;background:#e6d8c3}
body .hero-visual .store-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);filter:blur(14px);transition:opacity 1.2s var(--bs-ease),transform 1.6s var(--bs-ease),filter 1.2s var(--bs-ease)}
body .hero-visual .store-hero-media.is-active{opacity:1;transform:scale(1);filter:blur(0)}
body .hero-scroll{position:absolute;right:16px;bottom:16px;z-index:2;padding:8px 14px;border-radius:999px;background:#fbf7f0e6;color:var(--ink);font-size:12.5px;font-weight:600;transition:background .2s}
body .hero-scroll:hover{background:#fff}
body .heritage-hero.no-media{grid-template-columns:1fr}
body .heritage-hero.no-media .hero-visual{display:none}
@keyframes bs-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
body .heritage-hero .hero-copy>*{animation:bs-rise .9s var(--bs-ease) both}
body .heritage-hero .hero-copy>:nth-child(2){animation-delay:.08s}
body .heritage-hero .hero-copy>:nth-child(3){animation-delay:.18s}
body .heritage-hero .hero-copy>:nth-child(4){animation-delay:.28s}
body .heritage-hero .hero-copy>:nth-child(5){animation-delay:.38s}

/* Food cards (bestsellers + full menu) */
body .shop-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body .food-card{display:flex;flex-direction:column;padding:0;border:0;border-radius:6px;overflow:hidden;background:var(--bs-paper);box-shadow:none;transition:transform .35s var(--bs-ease),box-shadow .35s var(--bs-ease)}
body .food-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px #2b1a1280}
body .food-card .food-photo,body .food-card .food-empty{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0;transition:transform .7s var(--bs-ease)}
body .food-card:hover .food-photo{transform:scale(1.04)}
body .food-card>:first-child{overflow:hidden}
body .food-empty{display:grid;place-content:center;gap:6px;text-align:center;background:#e8dcc9;color:var(--bs-accent)}
body .food-empty span{font-family:var(--bs-serif);font-size:44px;font-weight:600;font-style:italic;line-height:1}
body .food-empty small{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
body .food-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:16px 16px 18px}
body .food-category{display:none}
body .food-card h3{margin:0;font-size:17px;font-weight:700;line-height:1.3;color:var(--ink)}
body .food-card:hover h3{color:var(--bs-accent)}
body .food-card .food-body>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body .food-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}
body .food-rating{font-weight:700;color:var(--ink)}
body .food-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;border:0}
body .food-bottom strong{font-size:16px;font-weight:700}
body .food-bottom .btn.small{min-height:40px;padding:0 16px;border-radius:6px;border:1.5px solid #2b1a1229;background:#fff;color:var(--ink);font-weight:600;transition:border-color .2s,background .2s,color .2s}
body .food-bottom .btn.small:hover{border-color:var(--bs-accent);background:var(--bs-accent);color:#fff}
body .quantity{border-radius:6px;background:var(--bs-accent);color:#fff}
body .quantity button{color:#fff}
body .food-addons summary{color:var(--bs-accent);font-size:13px;font-weight:600}

/* Category tiles */
body .category-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:16px;overflow-x:auto;padding:4px 4px 8px;margin:0 -4px;scrollbar-width:thin;scroll-snap-type:x mandatory}
body .category-tile{scroll-snap-align:start}
body .category-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:0 0 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
body .category-tile img,body .category-tile .tile-fallback{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--bs-band);transition:transform .5s var(--bs-ease)}
body .category-tile .tile-fallback{display:grid;place-items:center;color:#f4ede2;font-family:var(--bs-serif);font-size:48px;font-style:italic}
body .category-tile:hover img,body .category-tile:hover .tile-fallback{transform:scale(1.03)}
body .category-tile strong{margin-top:10px;font-family:var(--bs-serif);font-size:20px;font-weight:600}
body .category-tile small{color:var(--muted);font-size:13px}
body .category-tile.active strong{color:var(--bs-accent)}
body .category-tile.active img,body .category-tile.active .tile-fallback{outline:3px solid var(--bs-accent);outline-offset:3px}

/* Full menu */
body .shop-menu .section-head{align-items:center}
body .search-field{width:min(340px,100%);margin:0}
body .search-field input{min-height:48px;border-radius:999px;border:1.5px solid var(--line);background:var(--bs-paper);padding:0 20px;font-size:15px}
body .search-field input:focus{border-color:var(--ink);outline:0}
body .filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 22px;scrollbar-width:none}
body .filters::-webkit-scrollbar{display:none}
body .filter{flex:none;min-height:40px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-weight:600;font-size:14px;transition:all .2s}
body .filter span{margin-left:4px;color:var(--muted);font-weight:500}
body .filter:hover{border-color:var(--ink)}
body .filter.active{border-color:var(--bs-band);background:var(--bs-band);color:#fbf7f0}
body .filter.active span{color:#fbf7f0b3}
body .menu-group{grid-column:1/-1;margin:20px 0 -4px}
body .menu-group:first-child{margin-top:0}
body .menu-group-title{display:flex;align-items:baseline;gap:12px;margin:0;font-family:var(--bs-serif);font-size:28px;font-weight:600}
body .menu-group-title span{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:13px;font-weight:500;color:var(--muted)}

/* Offers */
body .offers-section{margin-top:clamp(88px,11vw,150px);padding:clamp(28px,4vw,48px);border-radius:6px;background:var(--surface-soft)}
body .offers-heading strong{font-family:var(--bs-serif);font-size:clamp(28px,3.4vw,40px);font-weight:600}
body .store-offer{border:0;border-radius:6px;background:var(--bs-paper);box-shadow:none;transition:transform .3s var(--bs-ease)}
body .store-offer:hover{transform:translateY(-3px)}
body .offer-symbol{background:var(--bs-accent);color:#fff}

/* Story band */
body .story-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,96px);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(56px,8vw,110px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter)));background:#e9ddd0}
body .story-copy h2 em{display:block}
body .story-copy>p:not(.eyebrow){max-width:46ch;margin:22px 0 30px;font-size:17px;line-height:1.65}
body .story-steps{display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:0;list-style:none;color:var(--muted);font-size:14px}
body .story-steps strong{color:var(--ink)}
body .story-photo{margin:0;border-radius:4px;overflow:hidden;aspect-ratio:4/5;max-height:620px}
body .story-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.8s var(--bs-ease)}
body .story-photo.is-in img{transform:scale(1)}

/* Visit band */
body .visit-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,6vw,96px)}
body .visit-address{max-width:40ch;margin:22px 0 0;font-size:17px;line-height:1.6}
body .visit-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;margin:28px 0 0}
body .visit-facts dt{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body .visit-facts dd{margin:4px 0 0;font-size:16px;font-weight:600}
body .visit-facts a{color:var(--ink)}
body .visit-photos{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:end}
body .visit-photos img{width:100%;border-radius:4px;object-fit:cover}
body .visit-photo-1{aspect-ratio:4/5}
body .visit-photo-2{aspect-ratio:1;margin-bottom:48px}

/* Footer, cart button, quick contact */
body .shop-footer{margin-top:0;padding:56px var(--bs-gutter) 120px;background:var(--bs-band);color:#f4ede2cc;border:0}
body .shop-footer strong,body .shop-footer a{color:#fbf7f0}
body .shop-footer #store-contact strong{display:block;font-family:var(--bs-serif);font-size:clamp(34px,5vw,60px);font-weight:600;line-height:1}
body .cart-fab{border-radius:6px;background:var(--bs-accent);box-shadow:0 18px 40px -16px #8f2a12b3}
body .cart-fab:hover{background:var(--bs-accent-deep)}
body .quick-contact{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(90px,12vh,120px);z-index:45;display:grid;gap:10px}
body .quick-contact[hidden]{display:none}
body .quick-contact a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;box-shadow:0 12px 26px -14px #000a;transition:transform .25s var(--bs-ease)}
body .quick-contact a:hover{transform:scale(1.08)}
body .quick-contact svg{width:22px;height:22px}
body .quick-whatsapp{background:#1f8f4e}
body .quick-call{background:var(--bs-band)}

/* Scroll reveal: only hidden when the script has switched motion on */
.motion-ok body .reveal:not(.is-in){opacity:0;transform:translateY(26px)}
.motion-ok body .reveal{transition:opacity .8s var(--bs-ease),transform .8s var(--bs-ease)}

@media(max-width:1050px){
  body .shop-items{grid-template-columns:repeat(3,minmax(0,1fr))}
  body .shop-header nav .nav-text{display:none}
}
@media(max-width:860px){
  body .shop-hero.heritage-hero,body .story-band,body .visit-band{grid-template-columns:1fr}
  body .shop-hero.heritage-hero{min-height:0;padding-top:32px}
  body .hero-visual{order:-1;min-height:0;aspect-ratio:4/3}
  body .shop-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  body .section-head{flex-wrap:wrap;align-items:end}
  body .section-note{text-align:left}
  body .story-photo{aspect-ratio:4/3}
}
@media(max-width:700px){
  body .store-strip{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;font-size:12px;scrollbar-width:none}
  body .shop-header{gap:10px;min-height:64px;flex-wrap:wrap}
  body .delivery-selector{order:5;flex:1 1 100%;max-width:none}
  body .shop-brand{font-size:19px}
  body .shop-brand small{display:none}
  body .heritage-hero h1{font-size:clamp(40px,11vw,56px)}
  body .hero-actions .btn{flex:1 1 auto;justify-content:center}
  body .category-grid{grid-auto-columns:104px;gap:12px}
  body .category-tile strong{font-size:16px}
  body .food-body{padding:12px 12px 14px}
  body .food-card h3{font-size:15px}
  body .food-card .food-body>p{font-size:13px}
  body .search-field{width:100%}
  body .visit-photo-2{margin-bottom:24px}
  body .quick-contact a{width:44px;height:44px}
}
@media(max-width:420px){
  body .shop-items{grid-template-columns:1fr}
  body .food-card{display:grid;grid-template-columns:120px minmax(0,1fr)}
  body .food-card .food-photo,body .food-card .food-empty{aspect-ratio:auto;height:100%;min-height:140px}
  body .food-empty span{font-size:30px}
  body .food-empty small{display:none}
}
@media(prefers-reduced-motion:reduce){
  body .heritage-hero .hero-copy>*{animation:none}
  body .hero-visual .store-hero-media{filter:none;transform:none;transition:opacity .3s}
  body .food-card,body .food-card .food-photo,body .story-photo img{transition:none;transform:none}
}

/* Round 2 fixes */
body .heritage-hero .eyebrow,body .home-section .eyebrow{color:var(--bs-accent)}
body .visit-band h2{font-size:clamp(36px,4.2vw,56px)}
body .visit-band h2 em{display:block}
body .install-app{left:auto;right:clamp(14px,2vw,28px);bottom:calc(18px + env(safe-area-inset-bottom,0px));width:min(380px,calc(100% - 28px));transform:none;border:0;border-radius:8px;background:var(--bs-paper);box-shadow:0 22px 50px -24px #2b1a1299}
body .install-app .btn.primary{background:var(--bs-accent);border-color:var(--bs-accent);color:#fff}
body .install-app:not([hidden])~.quick-contact{bottom:150px}
body .food-addons{margin:0}
@media(max-width:700px){body .install-app{right:14px;left:14px;width:auto}}

/* Round 3: hero measure, mobile header, list cards */
body .heritage-hero .hero-copy{max-width:600px}
body .heritage-hero h1{font-size:clamp(44px,5.8vw,84px)}
body .food-card .food-body>p{font-size:14.5px}
@media(max-width:700px){
  body .shop-header{position:relative;top:auto;padding:12px 16px;min-height:0}
  body .shop-header .shop-brand{display:flex;font-size:19px}
  body .shop-header .shop-brand .brand-logo,body .shop-header .shop-brand .mark{width:38px;height:38px}
  body .account-button{margin-left:auto;min-height:38px;padding:0 14px}
  body .heritage-hero .hero-visual{order:-1;aspect-ratio:4/3;min-height:0}
  body .shop-hero.heritage-hero{gap:24px;padding-top:16px}
  body .install-app{flex-wrap:wrap;gap:10px;padding:14px 16px}
  body .install-app p{display:none}
  body .install-app .actions .btn{min-height:38px;padding:0 14px}
}
@media(max-width:420px){
  body .food-card .food-body{padding:12px 14px 14px;min-width:0}
  body .food-card>img,body .food-card>video,body .food-card>.food-empty{grid-row:1;grid-column:1;width:120px;height:100%;min-height:150px}
}
body .hero-visual .store-hero-media{z-index:0}
/* Hero banners are uploaded as 16:9 artwork with text, so the frame keeps 16:9 and never crops them */

body .hero-visual{align-self:center;min-height:0;aspect-ratio:16/9}
body .hero-visual .store-hero-media{object-fit:cover}
@media(max-width:860px){body .hero-visual,body .heritage-hero .hero-visual{order:0;aspect-ratio:16/9}}
body .heritage-hero h1{font-size:clamp(42px,5.2vw,76px)}

body .hero-scroll{display:none}
body .install-app strong{font-size:14.5px}
body .install-app p{font-size:12.5px}
body .shop-hero.heritage-hero{min-height:0}
@media(min-width:861px){body .shop-hero.heritage-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}

/* ============================================================
   Round 4 · 22 Oct 2026: categories on top, copy over the hero
   photo, pinned story scroller, reviews, mobile pass.
   ============================================================ */
/* Top category row */
body .menu-strip{margin:0 calc(50% - 50vw);padding:22px max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter))) 18px;background:var(--bs-paper)}
body .menu-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
body .menu-strip-head h2{margin:0;font-family:var(--bs-serif);font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.01em}
body .menu-strip .category-grid{grid-auto-columns:112px;gap:14px}
body .menu-strip .category-tile img,body .menu-strip .category-tile .tile-fallback{border-radius:16px}
body .menu-strip .category-tile strong{margin-top:8px;font-size:16px}
body .menu-strip .category-tile small{font-size:12.5px}

/* Hero: copy sits on the photo, a cream wash keeps it readable */
body .shop-hero.heritage-hero{display:block;position:relative;min-height:min(84vh,760px);margin:0 calc(50% - 50vw);padding:0;background:#efe5d6;overflow:hidden;isolation:isolate}
body .heritage-hero .hero-visual{position:absolute;inset:0;z-index:-2;min-height:0;aspect-ratio:auto;border-radius:0;background:#e6d8c3}
body .heritage-hero .hero-visual .store-hero-media{object-fit:cover;object-position:70% center}
body .heritage-hero:before{content:'';display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#efe5d6 0%,#efe5d6f2 26%,#efe5d699 46%,#efe5d600 66%)}
body .heritage-hero .hero-copy{display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:inherit;padding:clamp(48px,7vw,96px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter)))}
body .heritage-hero .hero-copy>*{max-width:560px}
body .heritage-hero .hero-visual .store-hero-media{transform:scale(1.08);filter:blur(16px)}
body .heritage-hero .hero-visual .store-hero-media.is-active{transform:scale(1);filter:blur(0);transition:opacity 1.4s var(--bs-ease),transform 2.4s var(--bs-ease),filter 1.4s var(--bs-ease)}
/* Banner mode: uploaded artwork with its own text is shown whole, copy goes underneath */
body .heritage-hero.banner-mode{min-height:0;background:var(--bs-cream)}
body .heritage-hero.banner-mode:before{display:none}
body .heritage-hero.banner-mode .hero-visual{position:relative;inset:auto;z-index:0;width:min(1280px,calc(100% - var(--bs-gutter)*2));margin:24px auto 0;aspect-ratio:16/9;border-radius:20px}
body .heritage-hero.banner-mode .hero-visual .store-hero-media{object-fit:cover;object-position:center}
body .heritage-hero.banner-mode .hero-copy{min-height:0;padding-top:40px;padding-bottom:0}

/* Pinned story scroller */
body .story-scroller{--story-bg:#efe5d6;--story-ink:var(--ink);--story-muted:#6b584b;position:relative;height:calc(var(--story-count) * 100vh);height:calc(var(--story-count) * 100svh);margin:clamp(88px,11vw,150px) calc(50% - 50vw) 0;background:var(--story-bg);color:var(--story-ink);transition:background-color .8s var(--bs-ease),color .8s var(--bs-ease)}
body .story-scroller[data-tone=cream]{--story-bg:#f1e4d0}
body .story-scroller[data-tone=sage]{--story-bg:#dfe2d2}
body .story-scroller[data-tone=rose]{--story-bg:#f1dcd2}
body .story-scroller[data-tone=brown]{--story-bg:#3a2419;--story-ink:#f6ece0;--story-muted:#d9c6b4}
body .story-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
body .story-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:clamp(28px,6vw,96px);padding:clamp(72px,9vh,110px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter))) clamp(84px,11vh,120px);pointer-events:none}
body .story-slide.is-active{pointer-events:auto}
body .story-copy{max-width:600px}
body .story-copy>*{opacity:0;transform:translateY(40px);transition:opacity .6s var(--bs-ease),transform .8s var(--bs-ease)}
body .story-slide.is-past .story-copy>*{transform:translateY(-40px)}
body .story-slide.is-active .story-copy>*{opacity:1;transform:none}
body .story-slide.is-active .story-copy>:nth-child(2){transition-delay:.06s}
body .story-slide.is-active .story-copy>:nth-child(3){transition-delay:.12s}
body .story-slide.is-active .story-copy>:nth-child(4){transition-delay:.2s}
body .story-slide.is-active .story-copy>:nth-child(5){transition-delay:.28s}
body .story-slide.is-active .story-copy>:nth-child(6){transition-delay:.34s}
body .story-scroller .eyebrow{color:var(--bs-accent)}
body .story-scroller[data-tone=brown] .eyebrow{color:#f0a37f}
body .story-count{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-size:13px;font-weight:600}
body .story-count span{color:var(--story-muted)}
body .story-count strong{padding-left:14px;border-left:1.5px solid currentColor;font-weight:600}
body .story-slide h2{margin:0;font-family:var(--bs-serif);font-size:clamp(40px,4.6vw,66px);font-weight:500;line-height:1.02;letter-spacing:-.02em;color:inherit}
body .story-slide h2 em{display:block}
body .story-scroller[data-tone=brown] h2 em{color:#f0a37f}
body .story-text{max-width:44ch;margin:24px 0 30px;font-size:17px;line-height:1.65}
body .story-copy .btn{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;gap:8px}
body .story-caption{display:block;margin-top:14px;font-size:13.5px;color:var(--story-muted)}
body .story-figure{justify-self:end;width:min(100%,460px);margin:0;aspect-ratio:4/5;max-height:calc(100svh - 200px);border-radius:24px;overflow:hidden;opacity:0;transform:translateY(80px) scale(.94);transition:opacity .7s var(--bs-ease),transform 1s var(--bs-ease)}
body .story-slide.is-past .story-figure{transform:translateY(-80px) scale(.94)}
body .story-slide.is-active .story-figure{opacity:1;transform:none}
body .story-figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--bs-ease)}
body .story-slide.is-active .story-figure img{transform:scale(1)}
body .story-progress{position:absolute;left:max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter)));bottom:clamp(24px,5vh,44px);display:flex;align-items:center;gap:18px;font-size:12.5px;font-weight:600}
body .story-progress span{display:flex;align-items:center;gap:8px;opacity:.45;transition:opacity .4s}
body .story-progress span i{display:block;width:22px;height:2px;background:currentColor;transition:width .5s var(--bs-ease)}
body .story-progress span.is-active{opacity:1}
body .story-progress span.is-active i{width:46px}
body .story-progress small{margin-left:8px;opacity:.6}
/* Reduced motion: slides become ordinary stacked sections */
body .story-scroller.story-static{height:auto}
body .story-static .story-stage{position:static;height:auto}
body .story-static .story-slide{position:static;pointer-events:auto}
body .story-static .story-copy>*,body .story-static .story-figure,body .story-static .story-figure img{opacity:1;transform:none}
body .story-static .story-progress{display:none}

/* Reviews */
body .review-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,340px);gap:18px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}
body .review-card{display:flex;flex-direction:column;margin:0;border-radius:20px;overflow:hidden;background:var(--bs-paper);scroll-snap-align:start}
body .review-card img{width:100%;aspect-ratio:1;object-fit:cover}
body .review-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:20px}
body .review-stars{color:#d18a1f;font-size:16px;letter-spacing:2px}
body .review-stars span{color:#d9cdbb}
body .review-card blockquote{margin:0;font-family:var(--bs-serif);font-size:19px;line-height:1.45;font-style:italic}
body .review-card figcaption{margin-top:auto;color:var(--muted);font-size:14px}
body .review-card figcaption strong{color:var(--ink)}

/* Rounded photography everywhere */
body .food-card{border-radius:18px}
body .visit-photos img{border-radius:20px}

@media(max-width:860px){
  body .shop-hero.heritage-hero{min-height:0}
  body .heritage-hero:not(.banner-mode) .hero-visual{position:relative;inset:auto;z-index:0;aspect-ratio:4/3}
  body .heritage-hero:not(.banner-mode):before{inset:auto 0 0;top:calc(100vw * .75 - 120px);height:120px;background:linear-gradient(0deg,#efe5d6,#efe5d600)}
  body .heritage-hero .hero-copy{min-height:0;padding-top:12px;padding-bottom:40px}
  body .heritage-hero.banner-mode .hero-visual{margin-top:16px;border-radius:16px}
  body .story-slide{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;align-content:start;gap:20px;padding-top:28px;padding-bottom:70px}
  body .story-figure{order:-1;justify-self:start;width:auto;height:min(46svh,420px);max-height:none}
  body .story-slide h2{font-size:clamp(32px,8.6vw,46px)}
  body .story-copy .eyebrow{display:none}
  body .story-count{margin-bottom:12px}
  body .story-text{margin:14px 0 18px;font-size:15.5px}
  body .story-caption{display:none}
  body .story-progress small{display:none}
}
@media(max-width:700px){
  body .menu-strip{padding-top:16px;padding-bottom:12px}
  body .menu-strip .category-grid{grid-auto-columns:84px;gap:12px}
  body .menu-strip .category-tile img,body .menu-strip .category-tile .tile-fallback{border-radius:14px}
  body .menu-strip .category-tile strong{font-size:13.5px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700}
  body .menu-strip .category-tile small{display:none}
  body .heritage-hero h1{font-size:clamp(38px,10.5vw,52px)}
  body .home-section{margin-top:72px}
  body .shop-items{gap:12px}
  body .review-track{grid-auto-columns:82%}
}
@media(prefers-reduced-motion:reduce){
  body .heritage-hero .hero-visual .store-hero-media{filter:none;transform:none}
}
body .heritage-hero:not(.banner-mode) .hero-visual{align-self:stretch;justify-self:stretch}
body .heritage-hero:not(.banner-mode):before{background:linear-gradient(90deg,#efe5d6 0%,#efe5d6f5 32%,#efe5d6b3 50%,#efe5d600 68%)}
body .menu-strip .category-grid{grid-auto-columns:100px}
@media(max-width:860px){body .heritage-hero:not(.banner-mode):before{background:linear-gradient(0deg,#efe5d6,#efe5d600)}}

/* ============================================================
   Round 5 · 22 Oct 2026: reference-style hero first (text left,
   photo fading in from the right, motion), category strip second,
   square menu photos on phones, customer profile with photo.
   ============================================================ */
body .shop-hero.heritage-hero,body .shop-hero.heritage-hero.banner-mode{display:flex;align-items:center;position:relative;min-height:min(86vh,780px);margin:0 calc(50% - 50vw);padding:0;background:#f1e6d6;overflow:hidden;isolation:isolate}
body .heritage-hero:before,body .heritage-hero:not(.banner-mode):before{display:none}
body .heritage-hero .hero-visual,body .heritage-hero:not(.banner-mode) .hero-visual{position:absolute;inset:clamp(20px,4vh,48px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter))) clamp(20px,4vh,48px) auto;z-index:0;width:min(64%,880px);margin:0;aspect-ratio:auto;border-radius:6px;background:transparent;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%);transform:translateY(var(--hero-shift,0));animation:bs-unveil 1.6s var(--bs-ease) both}
@keyframes bs-unveil{from{clip-path:inset(0 0 0 100%);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes bs-drift{from{transform:scale(1)}to{transform:scale(1.07) translateX(-1.5%)}}
body .heritage-hero .hero-visual .store-hero-media{object-fit:cover;object-position:center}
body .heritage-hero .hero-visual .store-hero-media.is-active{animation:bs-drift 16s ease-in-out 1.6s infinite alternate}
body .heritage-hero .hero-copy,body .heritage-hero.banner-mode .hero-copy{position:relative;z-index:1;display:block;width:100%;max-width:none;min-height:0;padding:clamp(56px,8vh,96px) max(var(--bs-gutter),calc((100vw - 1280px)/2 + var(--bs-gutter)));opacity:var(--hero-fade,1)}
body .heritage-hero .hero-copy>*{max-width:520px}
body .heritage-hero h1{font-size:clamp(46px,5.4vw,82px)}
body .heritage-hero .hero-lede{color:var(--ink);opacity:1}
body .hero-discover{position:absolute;right:max(calc(var(--bs-gutter) + 16px),calc((100vw - 1280px)/2 + var(--bs-gutter) + 16px));bottom:clamp(36px,6vh,64px);z-index:2;display:inline-flex;gap:8px;padding:9px 16px;border-radius:999px;background:#fbf7f0eb;color:var(--ink);font-size:13px;font-weight:600;animation:bs-rise .9s var(--bs-ease) 1.2s both;transition:background .2s}
body .hero-discover:hover{background:#fff}
body .hero-discover span{display:inline-block;animation:bs-bob 1.8s ease-in-out 2.2s infinite}
@keyframes bs-bob{50%{transform:translateY(3px)}}
body .heritage-hero.text-hidden .hero-kicker,body .heritage-hero.text-hidden h1,body .heritage-hero.text-hidden .hero-lede{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body .heritage-hero.no-media .hero-visual,body .heritage-hero.no-media .hero-discover{display:none}

/* Category strip directly under the hero */
body .menu-strip{margin-top:0}

/* Food photos are square everywhere (upload 800 × 800) */
body .food-card .food-photo,body .food-card .food-empty{aspect-ratio:1/1;object-fit:cover}

/* Profile */
body .account-button.signed-in{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px}
body .avatar{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--bs-band);color:#fbf7f0;font-weight:700;font-size:15px}
body .avatar.small{width:30px;height:30px;font-size:11.5px}
body .avatar.large{width:84px;height:84px;font-size:26px;font-family:var(--bs-serif)}
body .profile-card{display:flex;align-items:center;gap:18px;margin:6px 0 18px}
body .profile-photo{position:relative}
body .profile-photo.is-loading .avatar{opacity:.4}
body .profile-photo-edit{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:30px;height:30px;border:3px solid var(--bs-paper);border-radius:50%;background:var(--bs-accent);color:#fff;font-size:13px;cursor:pointer}
body .profile-who{display:grid;gap:3px;min-width:0}
body .profile-who strong{font-family:var(--bs-serif);font-size:24px;font-weight:600;line-height:1.15}
body .profile-who>span{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
body .profile-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
body .profile-links .plain-link{padding:0;border:0;background:none;color:var(--bs-accent);font-size:13.5px;font-weight:600;cursor:pointer}
body .profile-name-form{display:flex;align-items:end;gap:10px;margin:0 0 16px}
body .profile-name-form .field{flex:1;margin:0}
body .profile-address{display:flex;gap:12px;padding:14px 16px;margin-bottom:14px;border-radius:14px;background:var(--surface-soft)}
body .profile-address>span{color:var(--bs-accent);font-size:18px}
body .profile-address small{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
body .profile-address p{margin:2px 0 0;font-size:15px}
body .profile-menu{display:grid;overflow:hidden;border-radius:14px;background:var(--bs-paper)}
body .profile-menu a,body .profile-menu button{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 18px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer}
body .profile-menu>:first-child{border-top:0}
body .profile-menu a:hover,body .profile-menu button:hover{background:var(--surface-soft)}
body .profile-menu .danger{color:var(--bs-accent)}

@media(max-width:860px){
  body .shop-hero.heritage-hero,body .shop-hero.heritage-hero.banner-mode{display:block;min-height:0}
  body .heritage-hero .hero-visual,body .heritage-hero:not(.banner-mode) .hero-visual{position:relative;inset:auto;width:100%;aspect-ratio:4/3;border-radius:0;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%);transform:none}
  body .heritage-hero .hero-copy,body .heritage-hero.banner-mode .hero-copy{margin-top:-56px;padding-top:0;padding-bottom:36px;opacity:1}
  body .hero-discover{display:none}
}
@media(max-width:700px){
  body .shop-items,body .shop-items.bestseller-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body .shop-items .food-card{display:flex;flex-direction:column}
  body .shop-items .food-card>img,body .shop-items .food-card>video,body .shop-items .food-card>.food-empty{grid-row:auto;grid-column:auto;width:100%;height:auto;min-height:0;aspect-ratio:1/1}
  body .shop-items .food-card .food-body{padding:10px 12px 12px;gap:6px}
  body .shop-items .food-card h3{font-size:14.5px}
  body .shop-items .food-card .food-body>p{font-size:12.5px;-webkit-line-clamp:2}
  body .shop-items .food-bottom{flex-wrap:wrap;gap:8px}
  body .shop-items .food-bottom strong{font-size:15px}
  body .shop-items .food-bottom .btn.small,body .shop-items .quantity{min-height:36px;padding:0 12px}
  body .food-empty span{font-size:34px}
  body .food-empty small{display:none}
  body .account-button.signed-in span:last-child{display:none}
  body .account-button.signed-in{padding:3px}
}
@media(max-width:340px){body .shop-items,body .shop-items.bestseller-items{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  body .heritage-hero .hero-visual{animation:none;transform:none}
  body .heritage-hero .hero-visual .store-hero-media.is-active,body .hero-discover,body .hero-discover span{animation:none}
}
@media(min-width:861px){
  body .heritage-hero .hero-visual,body .heritage-hero:not(.banner-mode) .hero-visual{width:min(58%,820px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 36%);mask-image:linear-gradient(90deg,transparent 0%,#000 36%)}
  body .heritage-hero .hero-copy>*{max-width:500px}
}

/* Round 6 · 23 Oct 2026: hero buttons sit under the info line; tighter section rhythm */
body .heritage-hero .hero-facts{margin-top:24px}
body .heritage-hero .hero-actions{margin-top:26px}
body .home-section{margin-top:clamp(48px,6vw,84px)}
body .menu-strip{padding-top:18px;padding-bottom:16px}
body .story-scroller{margin-top:clamp(48px,6vw,84px)}
body .offers-section{margin-top:clamp(48px,6vw,84px)}
body .section-head{margin-bottom:clamp(18px,2vw,28px)}
body .shop-main{padding-bottom:72px}
body .shop-footer{padding-top:44px;padding-bottom:96px}
@media(max-width:700px){
  body .home-section,body .story-scroller,body .offers-section{margin-top:44px}
  body .heritage-hero .hero-actions{margin-top:20px}
}
@media(min-width:861px){body .heritage-hero .hero-facts{max-width:400px}}
/* Size picker (Half / Full) — large tap targets, lowest price first */
body .variant-picker{display:grid;gap:10px;margin:0 0 16px;padding:0;border:0}
body .variant-picker legend{margin-bottom:8px;font-weight:700}
body .variant-picker .check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:56px;padding:0 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--bs-paper);cursor:pointer;transition:border-color .2s,background .2s}
body .variant-picker .check:has(input:checked){border-color:var(--bs-accent);background:#fdf1ec}
body .variant-picker .check span{font-weight:700;font-size:16px}
body .variant-picker .check strong{font-size:16px}
body .variant-picker input{width:20px;height:20px;accent-color:var(--bs-accent)}

/* Round 7 · 23 Oct: inline size dropdown, fitted photos, Find us card */
body .food-card{position:relative}
body .food-bottom .add-variant{min-width:96px}
body .food-bottom .add-variant.is-open{border-color:var(--bs-accent);background:var(--bs-accent);color:#fff}
body .variant-menu{display:grid;gap:2px;margin:-4px 12px 12px;padding:6px;border:1.5px solid var(--bs-accent);border-radius:14px;background:#fff;box-shadow:0 18px 34px -22px #2b1a1288;animation:bs-drop .22s var(--bs-ease)}
@keyframes bs-drop{from{opacity:0;transform:translateY(-6px)}}
body .variant-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:4px 8px;border-radius:10px}
body .variant-option+.variant-option{border-top:1px dashed var(--line)}
body .variant-option span{display:grid}
body .variant-option strong{font-size:14.5px}
body .variant-option small{color:var(--muted);font-size:13px;font-weight:600}
body .variant-option .btn.small{min-height:36px;padding:0 12px;border-radius:9px;border:1.5px solid #2b1a1229;background:#fff;color:var(--ink);font-weight:700}
body .variant-option .btn.small:hover{border-color:var(--bs-accent);background:var(--bs-accent);color:#fff}
body .variant-option .quantity{min-height:36px}
/* Dish photo sits inside the card with its own rounded corners and always fills its square */
body .shop-items .food-card>img,body .shop-items .food-card>video,body .shop-items .food-card>.food-empty{display:block;width:calc(100% - 20px);height:auto;aspect-ratio:1/1;margin:10px 10px 0;border-radius:14px;object-fit:cover;object-position:center}
body .shop-items .food-card:hover>img{transform:scale(1.02)}
@media(max-width:700px){body .shop-items .food-card>img,body .shop-items .food-card>video,body .shop-items .food-card>.food-empty{width:calc(100% - 16px);margin:8px 8px 0;border-radius:12px}body .variant-menu{margin:-2px 8px 10px}}
/* Find us card */
body .visit-band.visit-card{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);padding:clamp(24px,3.5vw,44px);border-radius:28px;background:var(--bs-paper)}
body .visit-card h2{font-size:clamp(34px,3.8vw,52px)}
body .visit-card .visit-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:24px 0 0}
body .visit-card .visit-facts .wide{grid-column:1/-1}
body .visit-card .visit-facts div{padding:12px 14px;border-radius:14px;background:var(--bs-cream)}
body .visit-card .visit-facts dt{margin-bottom:2px}
body .visit-card .visit-facts dd{font-size:15.5px;line-height:1.45}
body .visit-card .visit-facts .is-open{color:#1f7a45}
body .visit-card .visit-facts .is-closed{color:var(--bs-accent)}
body .visit-card .hero-actions{margin-top:24px}
body .visit-figure{margin:0;align-self:stretch;min-height:320px;border-radius:22px;overflow:hidden}
body .visit-figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--bs-ease)}
body .visit-figure:hover img{transform:scale(1.03)}
@media(max-width:860px){body .visit-band.visit-card{grid-template-columns:1fr}body .visit-figure{order:-1;min-height:0;aspect-ratio:4/3}}
@media(max-width:480px){body .visit-card .visit-facts{grid-template-columns:1fr}}
/* Rider card on the tracking page */
body .rider-card-pro{display:grid;gap:14px;margin-top:18px;padding:18px;border-radius:18px;background:var(--bs-paper);border:1.5px solid var(--line)}
body .rider-card-pro .rider-head{display:flex;align-items:center;gap:14px}
body .rider-card-pro .tracking-rider-photo,body .rider-card-pro .rider-initials{display:grid;place-items:center;flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--bs-band);color:#fbf7f0;font-family:var(--bs-serif);font-size:28px;border:3px solid #fff;box-shadow:0 8px 20px -12px #0006}
body .rider-card-pro h3{margin:0;font-size:19px}
body .rider-card-pro small{display:block;color:var(--muted);font-size:13px}
body .rider-card-pro .rider-phone{display:inline-block;margin-top:4px;color:var(--bs-accent);font-size:18px;font-weight:800;letter-spacing:.02em;text-decoration:none}
body .rider-card-pro .rider-call{justify-content:center;min-height:48px}
/* Streamlined checkout */
body .checkout-address-book{display:grid;gap:8px;margin-bottom:14px}
body .checkout-address-book h3{margin:0 0 4px;font-size:16px}
body .checkout-address-book .address-book-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:0;border:0}
body .checkout-address-book .saved-address{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:0;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bs-paper);color:var(--ink);text-align:left;white-space:normal}
body .checkout-address-book .saved-address[aria-pressed=true]{border-color:var(--bs-accent);background:#fdf1ec;box-shadow:0 0 0 3px #b4381b1a}
body .checkout-address-book .saved-address>span:first-child{color:var(--bs-accent);font-size:18px;line-height:1}
body .checkout-address-book .saved-address span span{display:block;font-weight:500;color:var(--muted);font-size:13.5px;line-height:1.45}
body .checkout-address-book .address-book-row>div{display:grid;gap:4px}
body .checkout-deliver-to{display:flex;gap:12px;margin:4px 0 14px;padding:14px;border-radius:14px;background:#f0fdf4;border:1px solid #bbf7d0}
body .checkout-deliver-to>div{display:grid;gap:2px}
body .checkout-deliver-to .eyebrow{margin:0;color:#15803d}
body .checkout-deliver-to strong{font-size:15.5px}
body .checkout-deliver-to p{margin:0;color:var(--muted);font-size:13.5px}
body .checkout-deliver-to small{color:#166534;font-weight:700}
body .receiver-details summary{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-soft);cursor:pointer;list-style:none}
body .receiver-details summary::-webkit-details-marker{display:none}
body .cooking-fold{margin:12px 0}
body .cooking-fold summary{cursor:pointer;color:var(--bs-accent);font-weight:700;font-size:14px}

/* Round 9 · soft warm shadows so cards lift off the cream background */
:root{--bs-shadow-soft:0 1px 2px #2b1a120f,0 10px 26px -14px #2b1a1240;--bs-shadow-lift:0 2px 4px #2b1a1214,0 22px 40px -18px #2b1a1259}
body .food-card{box-shadow:var(--bs-shadow-soft)}
body .food-card:hover{box-shadow:var(--bs-shadow-lift)}
body .shop-items .food-card>img{box-shadow:0 6px 14px -10px #2b1a1266}
body .category-tile img,body .category-tile .tile-fallback{box-shadow:0 8px 18px -12px #2b1a1270}
body .category-tile:hover img{box-shadow:0 14px 26px -14px #2b1a1280}
body .review-card,body .visit-band.visit-card,body .offers-section,body .store-offer,body .checkout-panel,body .cart-panel{box-shadow:var(--bs-shadow-soft)}
body .variant-menu{box-shadow:0 22px 40px -18px #2b1a1270,0 2px 6px #2b1a1214}
body .food-bottom .btn.small,body .filter{box-shadow:0 1px 2px #2b1a120f}
body .hero-actions .btn.primary,body .story-copy .btn.primary{box-shadow:0 10px 22px -12px #b4381bb3}
body .story-figure,body .visit-figure{box-shadow:0 26px 50px -26px #2b1a1280}
body .shop-header{box-shadow:0 1px 0 #2b1a1214,0 8px 20px -18px #2b1a1260}
/* Round 10 · phones: size list never cut off — each size stacks (name + price, then a full-width button) */
body .food-card{overflow:visible}
body .variant-menu{align-self:stretch}
@media(max-width:700px){
  body .food-bottom{flex-wrap:wrap;gap:8px}
  body .food-bottom strong{flex:1 1 auto;min-width:0}
  body .food-bottom .btn.small{padding:0 12px}
  body .variant-menu{margin:-2px 6px 8px;padding:4px}
  body .variant-option{flex-direction:column;align-items:stretch;gap:6px;padding:8px 6px}
  body .variant-option span{grid-template-columns:1fr auto;align-items:baseline;gap:6px}
  body .variant-option .btn.small,body .variant-option .quantity{width:100%;justify-content:space-between}
  body .variant-option .btn.small{justify-content:center}
}
/* Round 11 · iPhone install guide: picture steps + bouncing arrow at the Share button */
body .ios-guide{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px));background:#1b120ccc;backdrop-filter:blur(4px);animation:bs-fade .2s ease}
body .ios-guide.is-chrome{align-items:flex-start;padding:calc(84px + env(safe-area-inset-top,0px)) 16px 16px}
body .ios-guide-sheet{position:relative;width:min(420px,100%);padding:22px 20px 18px;border-radius:24px;background:var(--bs-paper,#fffaf3);box-shadow:0 30px 60px -20px #000a;text-align:center;animation:bs-drop .3s var(--bs-ease,ease)}
body .ios-guide-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:#2b1a1212;font-size:16px;cursor:pointer}
body .ios-guide-logo{width:64px;height:64px;border-radius:16px;box-shadow:0 10px 24px -10px #0006}
body .ios-guide h2{margin:12px 0 2px;font-size:22px}
body .ios-guide-sub{margin:0 0 14px;color:var(--muted);font-size:14px}
body .ios-guide-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff4e0;font-size:14px}
body .ios-guide-steps{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none;text-align:left}
body .ios-guide-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:14px;background:#fff;border:1px solid #2b1a1214;font-size:15px;line-height:1.4}
body .ios-guide-steps small{display:block;margin-top:2px;color:var(--muted);font-size:12.5px}
body .ios-guide-num{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--bs-accent,#b4371f);color:#fff;font-weight:800;font-size:14px}
body .ios-guide-icon{display:inline-grid;place-items:center;vertical-align:middle;width:30px;height:30px;margin-left:2px;border-radius:8px;background:#eaf2ff;color:#0a66d8;font-style:normal}
body .ios-guide-ok{width:100%;min-height:50px;border-radius:14px}
body .ios-guide-arrow{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));color:#fff;transform:translateX(-50%);filter:drop-shadow(0 4px 10px #0008);animation:bs-bounce-down 1s ease-in-out infinite}
body .ios-guide.is-chrome .ios-guide-arrow{left:auto;right:18px;bottom:auto;top:calc(14px + env(safe-area-inset-top,0px));transform:rotate(180deg);animation:bs-bounce-up 1s ease-in-out infinite}
@keyframes bs-bounce-down{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}
@keyframes bs-bounce-up{0%,100%{transform:rotate(180deg) translateY(0)}50%{transform:rotate(180deg) translateY(10px)}}
@keyframes bs-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body .ios-guide-arrow{animation:none}}
/* Round 12 · delivery rules nudge in the bill */
body .delivery-nudge{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff4e0;border:1px dashed #f0b35c;font-size:14px;line-height:1.4}
body .delivery-nudge.is-free{background:#e9f9ef;border-color:#86d3a5}
body .delivery-nudge.is-blocked{background:#fdecec;border-color:#f3a5a5}

/* Google map refused (billing/key): hide the broken map boxes */
body.maps-off .location-map,body.maps-off .checkout-location-map,body.maps-off .checkout-map-editor,body.maps-off .map-retry{display:none!important}

/* Free OpenStreetMap preview pin */
body .free-map-pin span{position:absolute;left:5px;top:0;width:24px;height:24px;border-radius:50% 50% 50% 0;background:#d63a1f;border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 6px 14px -4px #0008}
body .free-map-pin span:after{content:'';position:absolute;left:6px;top:6px;width:6px;height:6px;border-radius:50%;background:#fff}
body .leaflet-container{font:inherit;border-radius:inherit}
/* Round 13 · Domino's-style address picker: search → map with fixed centre pin → details */
body .loc-old-gps{display:none!important}
body .loc-gps-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 12px;border-radius:12px;background:#0b5394;color:#fff;font-size:13.5px;font-weight:600}
body .loc-gps-banner .btn{flex:none;background:transparent;border:1.5px solid #fff;color:#fff;border-radius:8px;min-height:34px}
body .loc-recents-head{display:flex;justify-content:space-between;align-items:center;margin:12px 2px 4px;font-size:14px}
body .loc-recent{display:flex;gap:12px;align-items:flex-start;width:100%;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer}
body .loc-recent strong{display:block;font-size:14.5px}body .loc-recent small{color:var(--muted)}
body .loc-stage{position:relative;height:min(58vh,480px);margin:6px 0 0;border-radius:18px;overflow:hidden;background:#e8e4dc}
body .loc-stage .location-map{position:absolute;inset:0;height:100%!important;min-height:0;margin:0;border-radius:0}
body .loc-pin{position:absolute;left:50%;top:50%;z-index:1000;width:36px;height:46px;transform:translate(-50%,-100%);pointer-events:none}
body .loc-pin span{position:absolute;left:4px;top:0;width:28px;height:28px;border-radius:50% 50% 50% 0;background:#e31837;border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 8px 16px -6px #000a}
body .loc-pin span:after{content:'';position:absolute;left:8px;top:8px;width:7px;height:7px;border-radius:50%;background:#fff}
body .loc-pin:after{content:'';position:absolute;left:14px;bottom:-2px;width:8px;height:4px;border-radius:50%;background:#0006}
body .loc-tip{position:absolute;left:50%;top:50%;z-index:1000;display:grid;gap:1px;padding:8px 12px;border-radius:8px;background:#1f1f1f;color:#fff;text-align:center;font-size:12px;white-space:nowrap;transform:translate(-50%,calc(-100% - 58px));pointer-events:none;box-shadow:0 10px 20px -10px #000a}
body .loc-tip:after{content:'';position:absolute;left:50%;bottom:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#1f1f1f;transform:translateX(-50%)}
body .loc-tip strong{font-size:12.5px}
body .loc-locate{position:absolute;right:12px;bottom:14px;z-index:1000;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#0b5394;font-size:22px;box-shadow:0 6px 16px -6px #0008;cursor:pointer}
body .loc-sheet{padding:14px 2px 2px}
body .loc-sheet-label{margin:0 0 4px;color:var(--muted);font-size:12.5px}
body .loc-sheet-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
body .loc-sheet-row>div{flex:1;min-width:0}
body .loc-sheet-row strong{display:block;font-size:16px;font-weight:800;text-transform:none}
body .loc-sheet-row small{color:var(--muted);font-size:13px}
body .loc-sheet-dot{flex:none;width:14px;height:14px;margin-top:4px;border-radius:50% 50% 50% 0;background:#e31837;transform:rotate(-45deg)}
body .loc-confirm{width:100%;min-height:50px;border-radius:12px;font-size:16px}
body .loc-back-map{margin:0 0 10px}
/* screen switching */
body #location-dialog[data-mode="search"] :is(.loc-stage,.loc-sheet,#location-details,#location-form>button.primary){display:none!important}
body #location-dialog[data-mode="map"] :is(#location-dialog>p.muted,#saved-addresses,[data-action="new-address"],.loc-search-field,#location-suggestions,.loc-gps-banner,#location-recents,#location-details,#location-status,#location-form>button.primary){display:none!important}
body #location-dialog[data-mode="details"] :is(#location-dialog>p.muted,.loc-stage,.loc-sheet,.loc-gps-banner,#location-recents,#location-suggestions,#saved-addresses,[data-action="new-address"],.loc-search-field){display:none!important}
@media(max-width:700px){
  body #location-dialog[data-mode="map"]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px))}
  body #location-dialog[data-mode="map"] .loc-stage{height:calc(100dvh - 240px);border-radius:14px}
}
/* map screen on phones: map fills the space, card + Confirm always visible (no scrolling) */
@media(max-width:700px){
  body #location-dialog[data-mode="map"]{display:flex;flex-direction:column;overflow:hidden}
  body #location-dialog[data-mode="map"] .location-heading .eyebrow{display:none}
  body #location-dialog[data-mode="map"] .location-heading h2{font-size:20px}
  body #location-dialog[data-mode="map"] #location-form{display:flex;flex-direction:column;flex:1;min-height:0}
  body #location-dialog[data-mode="map"] .loc-stage{flex:1;height:auto;min-height:220px}
  body #location-dialog[data-mode="map"] .loc-sheet{flex:none}
}
/* Google Maps error panel (Google-only mode) */
body .google-map-error{position:absolute;inset:auto 12px 12px 12px;z-index:1100;padding:12px 14px;border-radius:12px;background:#fff1f1;border:2px solid #dc2626;color:#7f1d1d;font-size:13.5px;line-height:1.4;box-shadow:0 10px 24px -12px #0006}
body .google-map-error strong{display:block;font-size:15px;margin-bottom:4px}
body .google-map-error p{margin:0 0 4px;font-weight:600}
body .google-map-error small{color:#991b1b}
body :not(.loc-stage)>.google-map-error{position:static;margin:8px 0}
/* Live order bar (Zomato style): newest active order at the bottom of every page */
body .live-order{position:fixed;z-index:60;left:clamp(16px,2vw,28px);bottom:calc(22px + env(safe-area-inset-bottom,0px));width:min(420px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px 16px;border-radius:18px;background:var(--bs-paper);color:var(--bs-band);text-decoration:none;box-shadow:var(--bs-shadow-lift);overflow:hidden;animation:lo-in .5s var(--bs-ease) both}
body .live-order[hidden]{display:none}
body .live-order:hover{transform:translateY(-2px);transition:transform .2s var(--bs-ease)}
body .live-order .lo-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--bs-accent) 12%,transparent);color:var(--bs-accent);flex:none}
body .live-order .lo-icon svg{width:24px;height:24px}
body .live-order .lo-icon::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--bs-accent);opacity:0;animation:lo-pulse 2.2s ease-out infinite}
body .live-order .lo-rider{background:var(--bs-band);color:#fbf7f0;font-family:var(--bs-serif);font-size:20px}
body .live-order .lo-rider img{width:100%;height:100%;border-radius:50%;object-fit:cover}
body .live-order .lo-text{display:grid;min-width:0}
body .live-order .lo-text strong{font-size:15.5px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .live-order .lo-text small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .live-order .lo-go{display:flex;align-items:center;gap:4px;font-weight:800;font-size:13.5px;color:var(--bs-accent);white-space:nowrap}
body .live-order .lo-go em{font-style:normal;font-weight:700;color:var(--muted);margin-right:6px}
body .live-order .lo-go span{font-size:20px;line-height:1}
body .live-order .lo-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:color-mix(in srgb,var(--bs-accent) 14%,transparent)}
body .live-order .lo-bar i{display:block;height:100%;background:var(--bs-accent);border-radius:0 4px 4px 0;transition:width .8s var(--bs-ease)}
body .live-order[data-status=preparing] .lo-icon svg{animation:lo-bob 1.6s ease-in-out infinite}
body .live-order[data-status=out_for_delivery] .lo-icon svg{animation:lo-ride 1.4s ease-in-out infinite}
@keyframes lo-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes lo-pulse{0%{opacity:.55;transform:scale(.9)}80%,100%{opacity:0;transform:scale(1.35)}}
@keyframes lo-bob{50%{transform:translateY(-2px) rotate(-4deg)}}
@keyframes lo-ride{50%{transform:translateX(2px)}}
body.has-live-order .quick-contact{bottom:calc(clamp(90px,12vh,120px) + 70px)}
@media (max-width:700px){
 body .live-order{left:16px;right:16px;width:auto;bottom:calc(68px + env(safe-area-inset-bottom,0px))}
 body.has-live-order .cart-fab{bottom:calc(68px + 80px + env(safe-area-inset-bottom,0px))}
 body.has-live-order .quick-contact{bottom:calc(68px + 150px + env(safe-area-inset-bottom,0px))}
 body.has-live-order .shop-main{padding-bottom:calc(206px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){body .live-order,body .live-order *{animation:none!important}}

/* Store closed: shown on the menu instead of Add buttons, so customers never reach payment */
body .closed-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;max-width:1200px;margin:18px auto;padding:16px 20px;border-radius:16px;background:#fdecea;border:1.5px solid #e5a29b;color:#7a1610}
body .closed-banner strong{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:800;letter-spacing:.2px;text-transform:uppercase}
body .closed-banner strong::before{content:"";width:10px;height:10px;border-radius:50%;background:#d32f2f;box-shadow:0 0 0 4px #f6c7c2}
body .closed-banner span{font-size:15px;line-height:1.5}
body .shop-menu .closed-banner{margin:0 0 22px}
body .pill.store-closed-pill{background:#fdecea;color:#b3261e;border:1px solid #e5a29b;font-weight:800;padding:9px 14px;border-radius:999px;font-size:13px;white-space:nowrap}
body .cart-closed{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#fdecea;color:#b3261e;font-weight:800;text-align:center}
@media (max-width:640px){body .closed-banner{margin:14px 16px}body .shop-menu .closed-banner{margin:0 0 18px}}
/* Live rider map on the tracking page */
.live-track{margin-top:22px;border-radius:18px;overflow:hidden;border:1px solid #e3d6cf;background:#fff;box-shadow:0 10px 26px -18px #3a160c66}
.live-track-map{height:300px;background:#efe7e2}
.live-track-info{display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-top:1px solid #efe3dc}
.live-track-info strong{font-size:17px;color:#b4361b}.live-track-info span{font-size:13px;color:#4a403b}.live-track-info .lt-wait{font-size:14px;color:#4a403b}
@media(max-width:600px){.live-track-map{height:240px}}
