:root{--bottom-nav-height:56px;--brand:#353535;--brand-dark:#242424;--text:#252525;--muted:#818181;--line:#ededed;--bg:#f8f8f8;--card:#ffffff;--success:#4D4A4A;--shadow:0 6px 24px rgba(0,0,0,.045)}
html[data-csp="QRSL"] .cart-gift-trigger,html[data-csp="QRSL"] #merchantBackButton{display:none!important}
#app.app-entry-error{display:grid;place-items:center;min-height:100dvh;padding:24px;background:#fafafa}
.app-entry-error-card{max-width:400px;text-align:center;padding:32px 24px;background:#fff;border:1px solid var(--line);border-radius:20px}
.app-entry-error-code{font-size:11px;letter-spacing:2px;color:var(--muted)}
.app-entry-error-card h1{font-size:26px;line-height:1.2;margin:16px 0}
.app-entry-error-card p{font-size:14px;line-height:1.6;color:var(--muted)}
.app-entry-error-card>div{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.app-entry-error-card a{padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;font-size:13px}
.app-entry-error-card .app-entry-opened-url{margin:24px 0 0;font-size:11px;overflow-wrap:anywhere;color:#777}
html[data-grocery="false"] [data-route="grocery"]{display:none!important}
html[data-grocery="false"] .bottom-nav{grid-template-columns:repeat(3,1fr)}
.account-brand-wordmark{display:block;font-size:30px;letter-spacing:2px;line-height:2.2;color:var(--brand)}
.dt-zone-search{display:grid;gap:8px;margin-top:16px;font-size:12px;color:var(--muted)}
.dt-zone-search input{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafafa;color:var(--text)}
button,a,input,select,textarea{touch-action:manipulation}
.small-btn,.primary-fixed,.recommendation-add,.stepper button{transition:opacity .12s ease,transform .12s ease}
.small-btn:active:not(:disabled),.primary-fixed:active:not(:disabled),.recommendation-add:active:not(:disabled),.stepper button:active:not(:disabled){transform:scale(.98);opacity:.85}
button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.small-btn,.primary-fixed,.recommendation-add,.stepper button{transition:none}.small-btn:active:not(:disabled),.primary-fixed:active:not(:disabled),.recommendation-add:active:not(:disabled),.stepper button:active:not(:disabled){transform:none}}
*{box-sizing:border-box}
html{scroll-behavior:auto}
/* Keep home scrolling on native scrolling paths without repainting a blur. */
.home-view .bottom-nav{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.home-view .all-restaurant-card{contain:layout paint}
.home-view .quick-cats,.home-view .horizontal-merchants,.home-view .recommendation-scroll,.home-view .recommendation-banners,.home-view .landing-banners{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
/* Keep horizontal lists on native momentum scrolling on every screen. */
.quick-cats,.horizontal-merchants,.recently-viewed-scroll,.recommendation-scroll,.recommendation-banners,.landing-banners,.category-bar,.grocery-category-tabs,.cuisine-scroll,.meta-strip{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.fulfillment-sheet,.schedule-slots,.rating-modal,.confirmation-modal{-webkit-overflow-scrolling:touch}
.product-row{contain:layout style}
body:has(dialog.confirmation-modal[open],dialog.rating-modal[open]){overflow:hidden}
body{margin:0;background:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{cursor:pointer;color:var(--text);-webkit-appearance:none;appearance:none}
img{display:block;max-width:100%}
#app{max-width:520px;margin:0 auto;min-height:100dvh;background:#fff;padding-bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom))}
body:has(#bottomNav[style*="display: none"]) #app,.landing-view #app{padding-bottom:0}
.splash-screen{min-height:100dvh;display:grid;place-items:center;background:#fff}
.splash-screen img{width:100%;height:100dvh;object-fit:contain}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar.orange{background:linear-gradient(180deg,#f45b13,#ff6a00);color:#fff;border:0}
.icon-btn{border:0;background:transparent;font-size:22px;padding:8px;border-radius:12px;color:inherit}
.icon-btn[data-route],.merchant-menu-back{width:44px;height:44px;padding:0;border:1px solid #4D4A4A;background:#4D4A4A;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;line-height:1;border-radius:50%}
.title-wrap{text-align:center}
.title-wrap h1{font-size:17px;margin:0;font-weight:800}
.title-wrap p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.orange .title-wrap p{color:#ffe7da}
.section{padding:16px}
.address-label{font-size:11px;color:var(--muted)}
.address{font-weight:800;font-size:14px}
.home-address-card{width:100%;min-height:58px;border:1px solid #dedede;background:#fff;padding:8px 14px 8px 0;display:flex;align-items:center;gap:12px;text-align:left;color:var(--text)}
.home-address-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.home-address-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.home-address-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-address-arrow{line-height:.8;font-weight:300}
.address-pin{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-address-row{display:flex;align-items:center;gap:10px}
.home-address-row .home-address-card{flex:1;min-width:0}
.cart-delivery-address{width:calc(100% - 32px)}
.search{margin-top:14px;display:flex;gap:10px;align-items:center}
.search input{flex:1;min-width:0;width:100%;border:1px solid var(--line);background:#fafafa;border-radius:14px;padding:13px 14px;outline:none}
.hero{margin-top:14px;border-radius:20px;overflow:hidden;position:relative;min-height:180px;background:linear-gradient(135deg,#3d1605,#7a2908);box-shadow:var(--shadow)}
.hero img{width:100%;height:180px;object-fit:cover;opacity:.9}
.hero-overlay{position:absolute;inset:0;padding:18px;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.05))}
.hero h2{font-size:30px;margin:6px 0 4px}
.hero p{margin:0 0 14px}
.pill-btn{border:0;background:#fff;color:var(--brand);font-weight:800;border-radius:999px;padding:10px 16px}
.quick-cats{display:flex;gap:12px;overflow-x:auto;padding:14px 0 4px;scrollbar-width:none}
.quick-cats::-webkit-scrollbar{display:none}
.quick-cat{min-width:68px;text-align:center;border:0;background:transparent}
.quick-cat .bubble{width:56px;height:56px;margin:auto;border-radius:18px;display:grid;place-items:center;font-size:26px}
.quick-cat span{display:block;margin-top:6px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:10px 0 12px}
.section-title h2{font-size:19px;font-weight:600;letter-spacing:-.5px;margin:0}
.link{color:var(--brand);font-size:13px;font-weight:700;border:0;background:transparent}
.restaurant-card{border-radius:20px;overflow:hidden;position:relative;background:#111;color:#fff;box-shadow:var(--shadow)}
.restaurant-card img{height:180px;width:100%;object-fit:contain;object-position:center;opacity:.78}
.restaurant-card .info{position:absolute;left:16px;right:16px;bottom:14px}
.restaurant-card h3{margin:0 0 6px}
.restaurant-card p{margin:0;font-size:12px}
.product-row{display:grid;grid-template-columns:1fr 80px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);position:relative}
.product-image{width:80px;height:80px;border-radius:14px;grid-column:2;grid-row:1 / span 2;padding:0!important;overflow:hidden;background:#f2e8df;cursor:pointer}
.product-row > .product-image{grid-column:2;grid-row:1 / span 2}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-row > div{grid-column:1;min-width:0;padding-right:2px}
.product-row h3{font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.45;margin:0 0 6px}
.product-row p{font-size:12px;color:var(--muted);margin:0 0 5px;line-height:1.3}
.price{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.add-btn{border:0;background:var(--brand);color:#fff;width:38px;height:38px;border-radius:12px;font-size:22px}
.meta-strip{display:flex;gap:8px;overflow:auto;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}
.meta-chip{white-space:nowrap;font-size:12px;background:#f8f8f8;border-radius:999px;padding:8px 11px}
.category-bar{position:sticky;top:65px;z-index:25;display:flex;gap:8px;overflow:auto;padding:10px 12px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);scrollbar-width:none}
.category-bar::-webkit-scrollbar{display:none}
.merchant-menu .category-bar{position:static;padding:10px 16px 12px;gap:8px;min-height:54px}
.category-btn{color:var(--text);-webkit-text-fill-color:currentColor;border:0;background:#f5f5f5;padding:10px 14px;border-radius:999px;font-size:13px;white-space:nowrap}
.category-btn.active{background:var(--brand);color:#fff}
.menu-section{padding:10px 16px 2px;scroll-margin-top:126px}
.merchant-menu .menu-section{scroll-margin-top:calc(190px + env(safe-area-inset-top))}
.menu-section h2{font-size:18px;margin:12px 0}
.cart-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--bottom-nav-height) + 10px + env(safe-area-inset-bottom));width:auto;min-height:0;z-index:40;background:transparent;color:#fff;border-radius:999px;padding:0;display:block;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.cart-bar.hidden{display:none}
.cart-pill{border:0;background:#4D4A4A;color:#fff;border-radius:999px;white-space:nowrap;display:flex;align-items:center;gap:8px}
.cart-pill svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cart-pill b{font-weight:700}
.product-detail .hero-img{width:100%;height:330px;object-fit:cover}
.sheet{margin-top:-26px;position:relative;background:#fff;border-radius:28px 28px 0 0;padding:20px 18px 120px}
.product-detail.no-product-image .sheet{margin-top:0;border-radius:0;padding-top:20px}
.sheet h1{margin:0 0 6px}
.sheet .desc{color:var(--muted)}
.option-group{padding:16px 0;border-top:1px solid var(--line)}
.option-group h3{font-size:15px;margin:0 0 12px}
.option-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px}
.option-row label{display:flex;align-items:center;gap:10px}
textarea{width:100%;min-height:84px;border:1px solid var(--line);border-radius:14px;padding:12px;resize:none;outline:none}
.qty{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:16px}
.qty button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:12px}
.primary-fixed{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:min(calc(100% - 28px),492px);z-index:45;border:0;background:var(--brand);color:#fff;font-weight:600;font-size:14px;letter-spacing:.1px;padding:17px;border-radius:12px;box-shadow:0 6px 20px #0000000a}
.page-title{display:flex;align-items:center;gap:10px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:30}
.page-title h1{font-size:24px;font-weight:600;letter-spacing:-.7px;margin:0}
.cart-list{padding:8px 16px}
.cart-section-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 0 8px}
.cart-section-heading h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.6px}
.cart-section-heading button{border:0;background:transparent;color:#1778c9;padding:8px 0}
.address-form select{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafafa;outline:none}
.address-page{padding:18px 16px 110px}
.address-list{display:grid;gap:12px;margin-top:14px}
.address-card{border:1px solid var(--line);padding:15px;background:#fff}
.address-card.default{border-color:var(--brand)}
.address-card-top{display:flex;align-items:flex-start;gap:11px}
.address-icon{width:36px;height:36px;border-radius:12px;background:#fff3ec;display:grid;place-items:center}
.address-card h3{margin:0 0 4px}
.address-card p{font-size:13px;color:var(--muted);line-height:1.45;margin:0}
.default-badge{margin-left:auto;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800}
.address-card-actions{display:flex;gap:16px;margin:13px 0 0 47px}
.address-card-actions button{border:0;background:transparent;padding:0;color:#1778c9;font-weight:800;font-size:13px}
.address-card-actions button:disabled{opacity:.45}
.add-address-btn{margin-top:16px;width:100%;border:1px dashed var(--brand);background:#fff7f3;color:var(--brand);font-weight:800;border-radius:15px;padding:15px}
.address-form{padding:18px 16px 110px}
.address-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.address-form .field{margin-bottom:12px}
.zone-trigger{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafafa;outline:none;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text)}
.zone-trigger b{font-size:16px;color:var(--muted)}
.phone-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fafafa;overflow:hidden}
.phone-input>span{padding:13px 10px 13px 13px;font-weight:800;color:var(--text);border-right:1px solid var(--line)}
.phone-input input{border:0!important;background:transparent!important;padding-left:10px!important}
.address-map{height:210px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#f6f6f6}
.map-key-notice{display:grid;place-items:center;padding:20px;text-align:center;color:var(--muted);font-size:13px}
.map-location-status{font-size:12px;color:var(--muted);margin:7px 2px 0}
.default-check{display:flex;align-items:center;gap:9px;font-size:14px;margin-top:4px}
.zone-option{width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);padding:15px;display:flex;align-items:center;gap:11px;text-align:left;font-weight:800;font-size:16px;margin-top:10px}
.cart-item{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item{cursor:pointer}
.cart-product-image{width:78px;height:78px;border-radius:14px;overflow:hidden;background:#f2e8df}
.cart-product-image.no-image{background:#f1f1f1}
.cart-product-image img{width:100%;height:100%;object-fit:cover}
.cart-item h3{margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.5}
.cart-item p{margin:0;color:var(--muted);font-size:12px}
.cart-line{display:flex;justify-content:space-between;align-items:center;margin-top:11px}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:10px}
.trash{border:0;background:transparent;color:#e5484d;margin-left:8px;padding:5px;vertical-align:middle}
.trash svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.promo{width:calc(100% - 32px);margin:12px 16px;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:var(--text);font-size:16px;text-align:left}
.promo svg{width:20px;height:20px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.promo>b{font-size:24px;color:var(--muted);font-weight:400;line-height:1}
.promo-option{width:100%;border:1px solid #dedede;background:#fff;border-radius:18px;padding:15px;display:flex;align-items:center;gap:13px;text-align:left;margin-top:12px;color:var(--text)}
.promo-option.selected{border:2px solid var(--success);padding:14px}
.promo-option-icon{width:32px;display:grid;place-items:center}
.promo-option-icon svg{width:24px;height:24px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.promo-option span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}
.promo-option b{font-size:16px}
.promo-option small{font-size:12px;color:var(--muted)}
.promo-option i{font-style:normal;font-size:19px;color:transparent}
.promo-option.selected i{color:var(--success)}
.remove-promo{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin:16px 0 14px;padding:12px 16px;border:1px solid #efcaca;border-radius:12px;background:#fff5f5;color:#b73535;font-size:13px;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s,transform .15s}
.remove-promo svg{width:17px;height:17px;flex-shrink:0}
.remove-promo:hover{background:#ffeaea;border-color:#dfa9a9}
.remove-promo:active{background:#ffdfdf;transform:scale(.98)}
.remove-promo:focus-visible{outline:2px solid #b73535;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.remove-promo{transition:none}.remove-promo:active{transform:none}}
.totals{padding:10px 16px calc(94px + env(safe-area-inset-bottom))}
.cart-checkout{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:min(calc(100% - 28px),492px);z-index:45;margin:0}
.total-row{display:flex;justify-content:space-between;padding:7px 0;font-size:14px}
.total-row.total{font-size:19px;font-weight:900;border-top:1px dashed #ccc;margin-top:8px;padding-top:16px}
.discount{color:var(--success)}
.card-block{margin:14px 16px;border:1px solid var(--line);border-radius:16px;padding:14px}
.card-block h3{font-size:14px;margin:0 0 12px}
.choice{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.choice label{display:flex;align-items:center;gap:10px}
.small{font-size:12px;color:var(--muted)}
.checkout-fulfillment-summary{margin:12px 16px 0;padding:13px 14px;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:11px;background:#fff}
.checkout-fulfillment-summary>span{width:27px;height:27px;display:grid;place-items:center;color:#4D4A4A}
.checkout-fulfillment-summary .fulfillment-svg{width:25px;height:25px}
.checkout-fulfillment-summary div{display:flex;flex-direction:column;gap:3px;min-width:0}
.checkout-fulfillment-summary b{font-size:15px}
.checkout-fulfillment-summary small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout-summary{padding:12px 16px 14px}
.checkout-section{margin:0 16px 110px;padding:0;background:#fff;border:0;border-radius:0}
.payment-option{width:100%;border:1px solid #dedede;padding:14px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text);margin:0 0 10px}
.payment-option span{display:flex;flex-direction:column;gap:3px}
.payment-option small{color:var(--muted)}
.payment-option i{font-style:normal;width:23px;height:23px;border:1px solid #b9b9b9;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:14px}
.checkout-view{background:#fff!important}
.checkout-view #app{background:#fff;min-height:100dvh}
.order-cancel{display:block;width:100%;margin-top:12px;padding:12px 16px;border:1px solid #eadfdd;border-radius:11px;background:#fff;color:#99534b;font-size:12px;font-weight:600;cursor:pointer}
.order-cancel:disabled{opacity:.5;cursor:wait}
.success-page{min-height:100dvh;background:#f5f5f3;padding:calc(22px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));color:#252525}
.success-receipt{background:#fff;border:1px solid #e8e8e4;border-radius:24px;overflow:hidden;box-shadow:0 8px 30px #22222204}
.receipt-heading{text-align:center;padding:30px 24px 24px}
.success-icon{width:54px;height:54px;display:grid;place-items:center;background:#edf4ee;color:#34734f;border-radius:17px;margin:0 auto 18px}
.success-icon svg{width:29px;height:29px}
.receipt-eyebrow{font-size:10px;letter-spacing:2px;color:#7b7b75;font-weight:700}
.receipt-heading h1{font-size:32px;letter-spacing:-1px;margin:9px 0 12px;line-height:1.15}
.receipt-heading p{font-size:14px;line-height:1.6;color:#777;margin:0 auto 12px;max-width:260px}
.receipt-heading strong{color:#353535;font-weight:600}
.receipt-order-id{font-size:12px;color:#62625e;font-variant-numeric:tabular-nums}
.receipt-items,.receipt-totals{margin:0 22px;padding:18px 0;border-top:1px dashed #deded9}
.receipt-items summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;font-size:13px;font-weight:600}
.receipt-items summary::-webkit-details-marker{display:none}
.receipt-items summary span{margin-left:auto;font-size:11px;font-weight:400;color:#888}
.receipt-items summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.receipt-items[open] summary::after{transform:translateY(2px) rotate(225deg)}
.receipt-items summary:focus-visible{outline:2px solid #555;outline-offset:5px;border-radius:3px}
.receipt-item-list{padding-top:12px}
.receipt-address summary::after{margin-left:auto}
.receipt-address .receipt-fulfillment{border:0;padding:16px 0 0}
.receipt-item{display:flex;align-items:center;gap:11px;padding:9px 0;text-align:left}
.receipt-qty{min-width:29px;padding:7px 5px;background:#f5f5f3;border-radius:8px;text-align:center;font-size:13px}
.receipt-qty small{font-size:10px;color:#999;margin-left:3px}
.receipt-item img{width:42px;height:42px;object-fit:cover;border-radius:9px}
.receipt-item b{display:block;font-size:13px;line-height:1.5;font-weight:600}
.receipt-item div small{display:block;font-size:11px;color:#888;line-height:1.5;margin-top:3px;overflow-wrap:anywhere}
.receipt-totals .total-row{font-size:12px;padding:7px 0;color:#777}
.receipt-totals .total-row b{color:#333;font-weight:600;font-variant-numeric:tabular-nums}
.receipt-totals .total-row.total{border-top:1px dashed #deded9;margin-top:13px;padding-top:19px;color:#252525;font-size:17px}
.receipt-totals p{font-size:11px;line-height:1.5;color:#888}
.receipt-fulfillment{border-top:1px dashed #deded9;padding:20px 22px;display:flex;gap:13px;text-align:left}
.receipt-fulfillment>svg{width:23px;height:23px;flex-shrink:0}
.receipt-fulfillment b{font-size:12px}
.receipt-fulfillment p{font-size:13px;line-height:1.6;margin:5px 0;color:#555;overflow-wrap:anywhere}
.receipt-fulfillment small{display:block;font-size:11px;line-height:1.6;color:#888;margin-top:4px}
.receipt-footer{border-top:1px dashed #deded9;text-align:center;font-size:10px;letter-spacing:.4px;padding:18px;color:#999}
.success-actions{display:grid;gap:9px;margin-top:20px}
.success-actions button{min-height:49px;padding:14px 18px;border-radius:13px;font-size:13px;font-weight:700}
.success-actions .track{border:0;background:#353535;color:#fff;display:flex;align-items:center;justify-content:space-between}
.success-actions .back{border:0;background:transparent;color:#666}
.placeholder{padding:100px 24px;text-align:center;color:var(--muted)}
.placeholder h2{color:var(--text)}
.bottom-nav{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,520px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:4px 8px calc(4px + env(safe-area-inset-bottom))}
.nav-item{border:0;background:transparent;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;gap:3px;padding:3px 0}
.nav-item span{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
.nav-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.nav-item small{font-size:10px;line-height:12px}
.nav-item.active{color:var(--brand);font-weight:600}
@media(min-width:700px){
  body{background:#ececec}
  #app{box-shadow:0 0 60px rgba(0,0,0,.12)}
}
.brand-header{padding:calc(12px + env(safe-area-inset-top)) 16px 8px;display:flex;align-items:center;justify-content:space-between}
.brand-mark{display:flex;align-items:center;gap:10px}
.app-logo{width:46px;height:46px;object-fit:contain;border-radius:13px;background:#fff}
.logo-dot{width:42px;height:42px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px}
.brand-mark h1{font-size:20px;margin:0}
.brand-mark p{font-size:11px;color:var(--muted);margin:2px 0 0}
.merchant-grid{display:grid;gap:14px}
.all-restaurant-card{border:1px solid var(--line);overflow:hidden;background:#fff;cursor:pointer}
.all-restaurant-image{height:178px;position:relative;background:#f3ece7}
.all-restaurant-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.all-restaurant-content h3{margin:0 0 8px}
.all-restaurant-content p{margin:0;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}
.all-restaurant-content i{font-style:normal;color:#999}
.restaurant-score{color:#24915a;font-weight:800}
.horizontal-merchants{display:flex;gap:12px;overflow:auto;scrollbar-width:none;padding-bottom:3px}
.horizontal-merchants::-webkit-scrollbar{display:none}
.recently-viewed-title{margin-top:18px}
.recent-more{border:0;width:48px;height:48px;border-radius:50%;background:#f3f3f3;color:#111;font-size:30px;line-height:1}
.recently-viewed-scroll{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 5px}
.recently-viewed-scroll::-webkit-scrollbar{display:none}
.recent-merchant{min-width:250px;max-width:250px;cursor:pointer}
.recent-merchant>img{width:250px;height:138px;border-radius:20px;object-fit:contain;object-position:center;background:#f3e9e3}
.recent-merchant-copy{padding:10px 2px 0}
.recent-merchant h3{margin:0 0 6px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-merchant p{margin:0 0 7px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recent-merchant span{display:inline-block;background:#f4f4f4;border-radius:8px;padding:5px 7px;font-size:11px;color:#4d4d4d;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-merchant{min-width:176px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}
.mini-merchant img{width:100%;height:105px;object-fit:contain;object-position:center}
.mini-merchant div{padding:10px}
.mini-merchant h4{margin:0 0 3px;font-size:14px}
.mini-merchant p{margin:0;font-size:11px;color:var(--muted)}
.merchant-hero{position:relative;height:205px;background:#222;overflow:hidden}
.merchant-menu-header{position:sticky;top:env(safe-area-inset-top);z-index:30;height:66px;display:flex;align-items:center;gap:10px;padding:8px 16px;overflow:hidden;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.merchant-menu-back{position:relative;z-index:1;width:42px;height:42px;padding:0;background:#4D4A4A;color:#fff;border:1px solid #4D4A4A;font-size:24px;font-weight:900}
.merchant-menu-name{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}
.merchant-menu-name b{font-size:17px;font-weight:600;letter-spacing:-.4px}
.merchant-menu-name span{font-size:11px;color:var(--muted)}
.merchant-menu-watermark{position:absolute;right:14px;top:-18px;width:108px;height:108px;object-fit:cover;border-radius:50%;opacity:.10;filter:grayscale(1)}
.merchant-hero>img{width:100%;height:100%;object-fit:contain;object-position:center;opacity:.76}
.merchant-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08));color:#fff;display:flex;align-items:flex-end;padding:16px}
.merchant-hero-overlay h1{margin:0 0 5px;font-size:23px}
.merchant-hero-overlay h1 .restaurant-status{margin-left:7px;transform:translateY(-2px);font-size:10px}
.merchant-hero-overlay p{margin:0;font-size:12px}
.merchant-back{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;z-index:5;background:rgba(255,255,255,.94)!important;color:#111!important}
.merchant-like{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:5;background:rgba(255,255,255,.94)!important;color:#111!important}
.merchant-top-actions{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top));z-index:6;display:flex;align-items:center;gap:8px}
.merchant-top-actions .merchant-like{position:static}
.fulfillment-trigger{border:0;border-radius:999px;background:#4D4A4A;color:#fff;min-height:42px;padding:0 13px;display:flex;align-items:center;gap:7px;font-weight:800;font-size:14px;backdrop-filter:blur(8px)}
.fulfillment-trigger [data-fulfillment-label]{display:flex;align-items:center;gap:6px}
.fulfillment-svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.fulfillment-trigger b{font-size:16px;line-height:1}
.header-fulfillment-trigger{position:relative;z-index:2;margin-left:auto;min-height:38px;padding:0 11px;background:#4D4A4A;color:#fff;border:1px solid #4D4A4A;font-size:12px}
.header-fulfillment-trigger b{font-size:14px}
.fulfillment-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.42);display:flex;align-items:flex-end}
.fulfillment-sheet{width:min(100%,520px);max-height:90dvh;overflow-y:auto;margin:auto 0 0;background:#fff;border-radius:26px 26px 0 0;padding:10px 16px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -12px 36px rgba(0,0,0,.18)}
.schedule-picker{padding:16px 0 0;border-top:1px solid var(--line)}
.schedule-picker fieldset{margin:0;padding:0;border:0;min-width:0}
.schedule-picker legend{margin-bottom:10px;font-size:13px;font-weight:600}
.schedule-slots{max-height:240px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:8px;padding:2px}
.merchant-schedule-sheet{padding:12px 24px calc(16px + env(safe-area-inset-bottom))}
.merchant-schedule-sheet header{padding:0 0 6px;border:0}
.merchant-schedule-sheet h2{margin:4px 0 7px;font-size:19px;font-weight:500;letter-spacing:-.35px}
.merchant-schedule-sheet header p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.merchant-schedule-sheet h3{margin:20px 0 10px;font-size:11px;font-weight:500;color:#777}
.schedule-dates{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.schedule-date-card{flex:1 0 72px;min-height:56px;display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;align-items:baseline;gap:3px 5px;padding:9px 12px;border:1px solid #eee;border-radius:8px;background:#fff;color:var(--text)}
.schedule-date-card small{font-size:11px;color:var(--muted);grid-column:1/-1;text-align:center}
.schedule-date-card b{font-size:15px;font-weight:500;line-height:1.3}
.schedule-date-card span{font-size:11px;color:#777}
.schedule-date-card[aria-pressed="true"]{border-color:#aaa;background:#f6f6f4;color:var(--text)}
.merchant-schedule-sheet .schedule-status{margin:0 0 6px;font-size:11px;line-height:1.6;color:var(--muted)}
.merchant-schedule-sheet .schedule-slots{max-height:220px;gap:0;padding:0}
.schedule-time-card{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 2px;border:0;border-bottom:1px solid #f0f0ed;border-radius:0;background:#fff;text-align:left;font-size:12px}
.schedule-time-card svg{width:16px;height:16px;flex-shrink:0;color:#999}
.schedule-time-card span{flex:1}
.schedule-time-card>b{font-size:18px;color:#aaa;font-weight:400}
.schedule-time-card:hover{background:#fafafa}
.schedule-time-card:active{background:#f3f3f1}
.merchant-schedule-sheet footer{margin-top:12px;padding-top:4px;border:0}
.merchant-schedule-sheet .schedule-back{width:100%;min-height:44px;border:0;border-radius:6px;background:transparent;color:#777;font-size:11px;font-weight:400}
.schedule-slot{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:#fafafa}
.schedule-slot:has(input:checked){border-color:#555;background:#f0f0f0}
.schedule-slot input{width:17px;height:17px;margin:0;flex-shrink:0;accent-color:#333}
.schedule-slot b{display:block;font-size:12px;font-weight:600}
.schedule-slot small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.schedule-picker button{width:100%;margin-top:12px}
.scheduled-time-label{display:block;max-width:200px;white-space:normal;font-size:9px;line-height:1.5;font-weight:400}
.sheet-handle{width:44px;height:5px;border-radius:9px;background:#ddd;margin:0 auto 16px}
.fulfillment-sheet h2{margin:0 6px 16px}
.home-address-sheet,.zone-sheet{max-height:85vh;max-height:85dvh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.fulfillment-sheet.home-address-sheet{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.home-address-sheet>.sheet-handle,.home-address-sheet>h2{flex-shrink:0}
.home-address-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
.fulfillment-option{width:100%;border:1px solid #dedede;background:#fff;border-radius:18px;padding:15px;display:flex;align-items:center;gap:13px;text-align:left;margin-top:12px;color:var(--text)}
.fulfillment-option.selected{border:2px solid #4D4A4A;background:#4D4A4A;color:#fff;padding:14px}
.fulfillment-option.selected small{color:rgba(255,255,255,.82)}
.fulfillment-option.unavailable{background:#f7f7f7;border-color:#e8e8e8;color:#999;cursor:not-allowed}
.fulfillment-option.unavailable small{color:#888}
.fulfillment-option.unavailable .fulfillment-icon{color:#aaa}
.fulfillment-icon{width:32px;display:grid;place-items:center;color:#4D4A4A}
.fulfillment-icon .fulfillment-svg{width:27px;height:27px}
.fulfillment-option.selected .fulfillment-icon{color:#fff}
.fulfillment-option span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}
.fulfillment-option b{font-size:17px}
.fulfillment-option small{font-size:13px;color:var(--muted)}
.fulfillment-option i{font-style:normal;font-size:19px;color:transparent}
.fulfillment-option.selected i{color:#fff}
.home-address-option{width:100%;border:1px solid #dedede;background:#fff;border-radius:17px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--text);margin-top:11px}
.home-address-option.selected{border:2px solid var(--brand);padding:13px}
.home-address-option>span:first-child{font-size:23px;color:var(--brand);width:28px}
.home-address-option>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}
.home-address-option b{font-size:16px}
.home-address-option small{font-size:12px;color:var(--muted);line-height:1.35}
.home-address-option i{font-style:normal;color:transparent}
.home-address-option.selected i{color:var(--brand)}
.home-address-option>span:first-child{display:grid;place-items:center;flex:0 0 28px}
.home-address-option>span:nth-child(2){min-width:0}
.home-address-option small{overflow-wrap:anywhere}
.home-address-option i{display:grid;place-items:center;flex:0 0 20px}
.home-address-arrow{display:grid;place-items:center;flex-shrink:0}
.add-address-from-home{width:100%;border:1px dashed var(--brand);border-radius:14px;background:#fff7f3;color:var(--brand);font-weight:800;padding:14px;margin-top:14px}
.search-page{padding:10px 16px}
.search-large{display:flex;gap:8px;position:sticky;top:0;z-index:25;background:#fff;padding:10px 0}
.search-large input{flex:1;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.cuisine-scroll{display:flex;gap:8px;overflow:auto;padding:4px 0 12px;scrollbar-width:none}
.cuisine-scroll::-webkit-scrollbar{display:none}
.cuisine-chip{border:0;background:#f4f4f4;padding:10px 13px;border-radius:999px;white-space:nowrap}
.cuisine-chip.active{background:#4D4A4A;color:#fff}
.order-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 16px}
.order-tab{border:0;background:#f4f4f4;border-radius:11px;padding:10px;font-size:12px}
.order-tab.active{background:var(--brand);color:#fff;font-weight:600}
.order-list{padding:0 16px 16px}
.order-rating-button{width:100%;margin-top:12px;min-height:42px;border:1px solid #e8e4da;border-radius:11px;background:#faf9f5;color:#75613c;font-size:12px;font-weight:600}
.order-rating-button:disabled{background:#f7f7f7;border-color:#eee;color:#888;cursor:default}
.rating-modal{width:calc(100% - 32px);max-width:400px;max-height:85dvh;overflow-y:auto;margin:auto;padding:25px 22px 20px;border:0;border-radius:24px;background:#fff;color:var(--text);overscroll-behavior:contain;box-shadow:0 24px 80px #0003}
.rating-modal::backdrop{background:#17171766;backdrop-filter:blur(7px)}
.recommendation-scroll,.recommendation-banners{display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}
.recommendation-product{display:flex;flex-direction:column;gap:10px;flex:0 0 140px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;color:var(--text);scroll-snap-align:start}
.recommendation-product img{width:100%;height:96px;object-fit:contain;border-radius:10px}
.recommendation-product b{display:block;font-size:12px;line-height:1.5;font-weight:600}
.recommendation-product small{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.recommendation-list{display:grid;gap:10px;margin:16px 0}
.recommendation-list .recommendation-product{flex-direction:row;align-items:center;width:100%}
.recommendation-list .recommendation-product img{width:56px;height:56px;flex-shrink:0}
.recommendation-continue{width:100%}
.recommendation-banners>*{flex:0 0 100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:transparent;scroll-snap-align:start}
.recommendation-banners img{display:block;width:100%;height:130px;object-fit:cover}
.rating-modal header{position:relative;padding-right:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.rating-modal .rating-close{position:absolute;top:-8px;right:-8px;width:32px;height:32px;font-size:22px;color:var(--text)}
.rating-modal header small{font-size:9px;letter-spacing:1.8px;color:#999}
.rating-modal h2{font-size:24px;letter-spacing:-.7px;line-height:1.2;margin:9px 0}
.rating-modal header p{font-size:12px;color:#888;margin:0;line-height:1.6}
.rating-group{border:0;border-bottom:1px solid var(--line);padding:14px 0;margin:16px 0 0;min-width:0}
.rating-group legend{font-size:13px;font-weight:600;padding:0;line-height:1.5}
.rating-group p{font-size:11px;color:#888;margin:0 0 9px;line-height:1.5}
.rating-stars{display:flex;gap:8px}
.rating-stars button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:#f7f7f5;color:#d2d1ca;padding:0}
.rating-stars svg{fill:currentColor;stroke:currentColor;stroke-width:.8}
.rating-stars button.selected{color:#b99348;background:#faf5e9}
.rating-items-title{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#999;margin:22px 0 0}
.rating-error{font-size:12px;color:#b04d42;line-height:1.5}
.rating-error:empty{display:none}
.rating-actions{display:grid;gap:8px;margin-top:20px}
.rating-actions button{min-height:46px;border-radius:12px;font-size:13px;font-weight:600}
.rating-submit{border:0;background:#353535;color:#fff}
.rating-skip{border:0;background:transparent;color:#888}
.rating-modal button:disabled{opacity:.5;cursor:wait}
.category-product-search{margin:16px 16px 0}
.product-search-control{position:relative;display:block}
.search-large.product-search-control{padding:0;margin:10px 0 20px;position:relative;z-index:auto}
.product-search-control input{display:block;width:100%;min-width:0;height:50px}
.product-search-control.has-search-button input{padding-right:58px;border-radius:14px}
.product-search-submit{position:absolute;right:6px;top:6px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:#353535;color:#fff}
.product-search-submit:disabled{background:#e9e9e6;color:#aaa;cursor:default}
.product-search-submit[hidden],.product-search-hint[hidden]{display:none}
.product-search-hint{display:block;font-size:11px;line-height:1.5;color:#92928c;margin:10px 3px 0;text-align:left}
.grocery-category-grid[hidden]{display:none}
.home-search-tabs{display:flex;gap:6px;padding:4px;background:#f4f4f4;border-radius:12px;margin:0 0 20px}
.home-search-tabs button{flex:1;border:0;padding:11px 12px;background:transparent;border-radius:9px;font-size:12px;color:#888}
.home-search-tabs button[aria-selected="true"]{background:#fff;color:#252525;font-weight:600;box-shadow:0 2px 5px #00000008}
.home-search-message{padding:28px 10px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
.home-search-product{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px 0;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text)}
.home-search-product>img{width:66px;height:66px;border-radius:12px;object-fit:cover;flex-shrink:0}
.home-search-product>span{flex:1;min-width:0}
.home-search-product b{display:block;font-size:14px;font-weight:600;line-height:1.5}
.home-search-product small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}
.home-search-product strong{display:block;font-size:13px;font-weight:600;margin-top:9px}
.home-search-product i{font-size:24px;font-style:normal;color:#aaa}
.home-search-product:disabled{opacity:.55;cursor:wait}
.order-list>.order-item:last-child{margin-bottom:0}
.order-item{border:1px solid #e9e9e9;border-radius:20px;margin-bottom:18px;padding:20px;background:#fff;box-shadow:0 5px 22px #00000004}
.order-head{display:flex;gap:12px;align-items:center}
.order-head img{width:48px;height:48px;border-radius:14px;object-fit:cover}
.order-head h3{font-size:15px;font-weight:600;letter-spacing:-.3px;line-height:1.4;margin:0 0 5px}
.order-head p{font-size:11px;color:var(--muted);margin:0}
.status{margin-left:auto;font-size:11px;font-weight:800;border-radius:999px;padding:7px 9px;background:#fff3ec;color:var(--brand)}
.status.delivered{background:#ebf9ef;color:var(--success)}
.order-items-summary{font-size:12px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line);line-height:1.5}
.order-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px}
.order-foot .actions{display:flex;gap:7px}
.small-btn{border:1px solid var(--line);background:#fff;font-size:11px}
.small-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}
.empty-icon{font-size:48px;margin-bottom:12px}
.profile-head{padding:calc(28px + env(safe-area-inset-top)) 18px 22px;background:linear-gradient(135deg,#ff6a00,#ff4b00);color:#fff}
.profile-user{display:flex;gap:14px;align-items:center}
.avatar{width:68px;height:68px;border-radius:22px;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:27px;font-weight:900}
.profile-user h1{font-size:21px;margin:0 0 4px}
.profile-user p{margin:0;color:#ffe5d8;font-size:12px}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.stat{background:rgba(255,255,255,.16);border-radius:14px;padding:11px;text-align:center}
.stat b{display:block;font-size:17px}
.stat span{font-size:10px}
.profile-section{padding:14px 16px}
.profile-section h3{font-size:13px;color:var(--muted);margin:6px 4px 8px;text-transform:uppercase;letter-spacing:.5px}
.setting-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.setting-row{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}
.setting-row:last-child{border-bottom:0}
.setting-icon{width:38px;height:38px;border-radius:12px;background:#fff3ec;display:grid;place-items:center}
.setting-copy{flex:1}
.setting-copy b{display:block;font-size:14px}
.setting-copy span{font-size:11px;color:var(--muted)}
.edit-form{display:grid;gap:11px;padding:14px 16px 100px}
.field label{font-size:12px;display:block;margin-bottom:6px}
.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafafa;outline:none}
.field textarea{min-height:84px}
.toast{position:fixed;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:11px 15px;border-radius:999px;z-index:100;font-size:12px;box-shadow:var(--shadow)}
.confirmation-modal{width:calc(100% - 48px);max-width:340px;max-height:calc(100dvh - 48px);overflow:auto;margin:auto;border:0;border-radius:25px;padding:28px 24px 20px;background:#fff;color:var(--text);box-shadow:0 24px 80px #0003;text-align:center}
.confirmation-modal::backdrop{background:#17171766;backdrop-filter:blur(7px)}
.confirmation-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#f7eeeb;color:#9a6559;margin:0 auto 19px}
.confirmation-icon svg{width:24px;height:24px;max-width:24px;flex-shrink:0}
.confirmation-modal h2{margin:0 0 10px;font-size:22px;font-weight:650;letter-spacing:-.7px;line-height:1.25}
.confirmation-modal p{margin:0;color:#858585;font-size:13px;line-height:1.65}
.confirmation-modal .modal-actions{margin-top:24px;gap:10px}
.confirmation-modal .modal-actions button{font-size:12px;font-weight:600;min-height:46px;padding:12px 8px;border-radius:12px;transition:background .15s,transform .15s}
.confirmation-modal .modal-actions .cancel{background:#f4f4f4;border:1px solid #f4f4f4;color:#555}
.confirmation-modal .modal-actions .confirm{background:#303030;border:1px solid #303030;color:#fff}
.confirmation-modal .modal-actions button:active{transform:scale(.97)}
.confirmation-modal button:focus-visible{outline:2px solid #777;outline-offset:3px}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}
.modal-actions button{padding:13px;border-radius:13px;font-weight:800}
.modal-actions .cancel{background:#fff;border:1px solid var(--line)}
.modal-actions .confirm{background:var(--brand);border:1px solid var(--brand);color:#fff}
.topbar.orange,.profile-head{background:#4D4A4A;color:#fff}
.orange .title-wrap p,.profile-user p{color:#d8d8d8}
.product-image.no-image{background:#f1f1f1}
.cart-section-heading button,.address-card-actions button{color:#4D4A4A}
.address-card-actions button:last-child{color:#d84b4b}
.address-icon,.setting-icon{background:#f3f3f3}
.default-badge{background:#4D4A4A;color:#fff}
.add-address-btn,.add-address-from-home{background:#fff;color:#4D4A4A;border-color:#4D4A4A}
.profile-section [id="logoutBtn"]{border-color:#ddd!important;background:#fff!important;color:#4D4A4A!important}
.menu-qty-wrap{position:absolute;right:8px;bottom:8px;z-index:3}
.menu-add-single{width:38px;height:38px;border:0;border-radius:50%;background:#4D4A4A;color:#fff;font-size:22px;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.16)}
.menu-qty-control{display:flex;align-items:center;border-radius:18px;background:#fff;border:1px solid #e2e2e2;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.menu-qty-control button{width:30px;height:30px;border:0;border-radius:50%;background:#4D4A4A;color:#fff;font-size:18px;line-height:1}
.restaurant-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;line-height:1;vertical-align:middle;white-space:nowrap}
.restaurant-status.open{background:#18854b;color:#fff}
.restaurant-status.closed{background:#d93636;color:#fff}
.all-restaurant-image>.restaurant-status{position:absolute;left:13px;top:13px;z-index:1;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.recent-merchant h3 .restaurant-status{margin-left:5px;transform:translateY(-1px)}
.mini-merchant h4 .restaurant-status{margin-left:4px}
.checkout-section .payment-choice{margin:0 0 10px}
.checkout-section .payment-choice .payment-option{margin:0}
.checkout-section .payment-choice.selected .payment-option{border:2px solid var(--brand);padding:13px}
.checkout-section .payment-choice.selected .payment-option i{background:var(--brand);border-color:var(--brand);color:#fff}
.bank-transfer-upload{padding:12px 13px;border:1px dashed #bdbdbd;border-radius:13px;display:flex;align-items:center;gap:12px;color:var(--brand);cursor:pointer}
.bank-transfer-upload input{display:none}
.bank-transfer-upload:before{content:"▧";font-size:20px}
.bank-transfer-upload img{width:50px;height:42px;margin-left:auto;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.checkout-section [hidden]{display:none!important}
.checkout-view .primary-fixed:disabled{opacity:.6;cursor:not-allowed}
.auth-form p{margin:0}
.auth-intro{text-align:left}
.auth-intro h2{margin:0 0 14px}
.auth-form .field input,.auth-form select{width:100%;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font:inherit;transition:border-color .15s,box-shadow .15s}
.auth-form .field input:focus,.auth-form select:focus{outline:none;border-color:#888;box-shadow:none}
.auth-form button{min-height:46px;border-radius:12px}
.auth-form button[type="submit"]{width:100%;font-size:14px;font-weight:600;margin-top:4px}
.auth-phone-control{display:flex;align-items:center;gap:0;overflow:hidden;transition:border-color .15s}
.auth-form .auth-phone-control input{border-left:1px solid #e3e3e3}
.auth-hint{display:block;line-height:1.6}
.auth-form #loginCode{text-align:center;font-weight:700}
.auth-form #changePhone,.auth-form #resendCode{background:transparent;color:var(--brand);border:1px solid var(--line)}
.auth-form #loginError:empty{display:none}
.auth-form button:disabled{opacity:.6;cursor:wait}
#loginError{color:#b42318;font-size:14px}
.order-date{color:var(--muted);font-size:12px;margin:12px 0}
.order-progress{display:flex;list-style:none;margin:22px 0;padding:0;gap:4px}
.order-progress li{position:relative;flex:1;text-align:center;font-size:10px;color:var(--muted);line-height:1.4}
.order-progress li:before{content:"";position:absolute;top:14px;left:-50%;width:100%;height:2px;background:#e9ece9;border-radius:2px;transition:background-color .3s ease}
.order-progress li:first-child:before{display:none}
.order-progress li span{position:relative;display:grid;place-items:center;margin:0 auto 10px;border:0;background:#f7f8f9;color:#b3b8bd;box-shadow:0 0 0 4px #fff}
.order-progress li span svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.order-progress li.reached{color:#27834d;font-weight:500}
.order-progress li.reached:before{background:#63bb83}
.order-progress li.reached span{background:#3fa568;color:#fff}
.order-progress li[aria-current] span{background:#258c50;color:#fff;box-shadow:0 0 0 4px #fff}
.order-rider{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg);border-radius:12px;margin-bottom:16px}
.order-rider small,.order-rider b{display:block}
.order-rider small{font-size:11px;color:var(--muted);margin-bottom:4px}
.order-rider b{font-size:13px}
.order-item a.small-btn{text-decoration:none}
.order-details{border:1px solid #e3e8e5;border-radius:12px;background:#f5f8f6;margin-top:20px;padding:0;overflow:hidden}
.order-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:#3d5546;padding:14px 15px}
.order-details summary::-webkit-details-marker{display:none}
.order-details summary:after{content:"";width:8px;height:8px;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-right:3px}
.order-details[open] summary:after{transform:translateY(2px) rotate(225deg)}
.order-details[open] summary{border-bottom:1px solid #e3e8e5}
.order-details summary:hover{background:#edf3ef}
.order-details summary:focus-visible{outline:2px solid #888;outline-offset:5px;border-radius:4px}
.order-detail-content{margin-top:0;padding:18px 15px;border-radius:0;background:#fcfdfc;font-size:12px;line-height:1.5}
.order-detail-content p{color:var(--muted)}
.order-detail-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #eaeaea}
.order-detail-row b{white-space:nowrap}
.order-detail-heading{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:#888;margin-bottom:5px}
.order-detail-qty{display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;min-width:34px;min-height:28px;padding:4px 7px;border:0;border-radius:7px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:#55574f;background:#f1f2ed}
.order-detail-name{flex:1;min-width:0;line-height:1.6}
.order-detail-row b{font-size:11px;font-weight:500;padding-top:3px;font-variant-numeric:tabular-nums}
.order-detail-address{padding:17px 0;border-bottom:1px solid #eaeaea}
.order-detail-address>span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#888}
.order-detail-address p{margin:7px 0 0;font-size:12px;line-height:1.7}
.order-detail-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:17px;font-size:12px}
.order-detail-total b{font-size:16px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.order-head>div{min-width:0;flex:1}
.order-head .status{max-width:100px;white-space:normal;text-align:center;background:#f3f3f3;color:#555;font-weight:500;font-size:10px;line-height:1.5;padding:6px 9px}
.order-head .status.delivered{background:#353632;color:#fff;font-weight:600}
.order-item .order-foot>b{font-size:19px;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.order-item .small-btn{border-radius:8px;font-size:11px;font-weight:500}
.order-item .order-progress{padding:18px 0;margin:18px 0 4px;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}
.order-item .order-progress li:before{top:14px}
.profile-page{max-width:560px;margin:auto;padding:28px 20px 40px;background:#fafafa;min-height:calc(100vh - var(--bottom-nav-height) - env(safe-area-inset-bottom))}
.profile-sticky-header{position:sticky;top:0;z-index:30;background:#fff;padding:calc(12px + env(safe-area-inset-top)) 0 12px}
.profile-sticky-header>.account-brand{justify-content:center;margin:0 0 20px}
.profile-page-heading>span{font-weight:600}
.profile-page-heading h1{font-family:inherit;margin:9px 0 0}
.profile-page .profile-head{position:relative}
.profile-page .avatar{flex-shrink:0;font-family:inherit}
.profile-greeting{font-size:10px;color:#bbb;line-height:1.5;display:block;margin-bottom:6px}
.profile-page .profile-user h2{font-family:inherit;overflow-wrap:anywhere}
.profile-page .profile-user p{overflow-wrap:anywhere}
.profile-page .profile-stats{gap:0;margin-top:24px;padding-top:18px;border-top:1px solid #ffffff20}
.profile-page .stat{background:transparent;border-radius:0;padding:0 6px;border-right:1px solid #ffffff20}
.profile-page .stat:last-child{border:0}
.profile-page .stat b{font-size:20px;font-family:inherit;font-weight:400;margin-bottom:5px}
.profile-page .stat span{font-size:9px;letter-spacing:.6px;color:#bbb}
.profile-page .profile-section{padding:24px 0 0}
.profile-page .profile-section h3{font-size:10px;letter-spacing:1.7px;color:#888;font-weight:600;margin:0 4px 12px}
.profile-page .setting-card{border-color:#e9e9e9;border-radius:20px;box-shadow:0 4px 16px #33303}
.profile-page .setting-row{width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f0f0;padding:18px 16px;gap:13px;color:var(--text)}
.profile-page .setting-row:last-child{border-bottom:0}
.profile-page button.setting-row:hover{background:#fafafa}
.profile-page .setting-icon{flex-shrink:0;width:36px;height:36px;border-radius:12px;background:#f5f5f5;color:#666}
.profile-page .setting-icon svg{width:19px;height:19px}
.profile-page .setting-copy{min-width:0;display:block}
.profile-page .setting-copy b{font-size:13px;font-weight:600;margin-bottom:5px;display:block}
.profile-page .setting-copy>span{font-size:11px;line-height:1.5;display:block;color:#888;overflow-wrap:anywhere}
.profile-chevron{color:#999;font-size:18px}
.profile-page #logoutBtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px;border:1px solid #e6e6e6!important;border-radius:16px;background:transparent!important;color:#666!important;font-size:13px;font-weight:600}
.profile-page #logoutBtn svg{width:17px;height:17px}
.profile-signout p{text-align:center;font-size:10px;letter-spacing:.5px;color:#999;margin:20px 0 0}
.profile-page button:focus-visible{outline:2px solid #888;outline-offset:3px}
.guest-profile{max-width:500px;margin:auto;min-height:calc(100vh - var(--bottom-nav-height) - env(safe-area-inset-bottom));color:#202020}
.guest-profile-card{position:relative;text-align:left}
.guest-profile-eyebrow{display:block;font-weight:600}
.guest-profile-card h1{font-family:inherit;font-weight:500;color:#202020}
.guest-profile-card p{margin:0 0 30px}
.guest-profile .guest-profile-signin{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;color:#fff;font-size:14px}
.guest-profile .guest-profile-signin:hover{background:#191919}
.guest-profile-signin span{font-size:23px;font-weight:400}
.guest-profile-note{display:block;line-height:1.6;color:#999}
.guest-profile-benefits>div{display:flex;align-items:flex-start;border-bottom:1px solid #eee}
.guest-profile-benefits>div>span{flex-shrink:0;padding-top:3px;font-weight:500}
.guest-profile-benefits p{line-height:1.6;color:#888;margin:5px 0 0}
.guest-profile-browse{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#444;font-weight:500;text-align:left}
.guest-profile-browse span{font-size:19px;color:#888}
.guest-profile button:focus-visible{outline:2px solid #888;outline-offset:4px}
.landing-banners{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:14px 0 24px;scrollbar-width:none}
.landing-page{max-width:520px;margin:auto;padding:26px 22px 35px;background:#fff}
.landing-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:26px;border-bottom:1px solid #eee}
.landing-brand>span:first-child{font-size:12px;letter-spacing:2px;font-weight:700}
.landing-heading{padding:30px 0 25px}
.landing-heading p{font-size:11px;margin:0 0 17px;letter-spacing:.3px}
.landing-heading h1{font-size:48px;line-height:1.02;letter-spacing:-2.2px;font-weight:500;color:#292929;margin:0 0 19px}
.landing-heading>span{font-size:12px;line-height:1.8;color:#888}
.landing-welcome .landing-banners{margin:0 0 28px;border-radius:14px}
.landing-welcome .landing-banner{border-radius:14px}
.landing-welcome .landing-banner img{height:155px;object-fit:cover}
.landing-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 15px}
.landing-section-heading h2{font-size:15px;letter-spacing:-.3px;font-weight:600;margin:0}
.landing-section-heading>span{font-size:9px;color:#999}
.landing-destinations{display:grid;gap:10px}
.landing-destination{display:flex;align-items:center;gap:16px;width:100%;min-height:108px;padding:16px 20px;border:0;border-radius:16px;text-align:left;color:#f6f7f4}
.landing-brand>span:first-child{color:#456552}
.landing-heading p{color:#62816b}
.landing-destination:nth-child(1){background:linear-gradient(125deg,#374e59,#273942)}
.landing-destination:nth-child(1) .landing-city-art{color:#a7bdc7}
.landing-destination:nth-child(2){background:linear-gradient(125deg,#4b5066,#35394c)}
.landing-destination:nth-child(2) .landing-city-art{color:#b6b9d2}
.landing-destination:nth-child(3){background:linear-gradient(125deg,#615244,#443a30)}
.landing-destination:nth-child(3) .landing-city-art{color:#cbbba7}
.landing-destination:hover{filter:brightness(1.08)}
.landing-city-art{width:72px;flex-shrink:0;color:#999}
.landing-city-art svg{display:block;width:100%;height:56px}
.landing-destination-copy{flex:1;min-width:0;order:0}
.landing-destination-copy small{display:block;font-size:8px;letter-spacing:1.7px;color:#d0d0d0;margin-bottom:7px}
.landing-destination-copy b{display:block;font-size:23px;line-height:1.15;font-weight:500;letter-spacing:-.7px}
.landing-zone-explore{display:block;margin-top:9px;font-size:11px;color:#ddd}
.landing-destination .landing-city-art{order:1;width:70px;flex-shrink:0}
.landing-destination .landing-city-art svg{height:62px}
.landing-destination-arrow{display:none}
.landing-grocery-card{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:12px;padding:16px 20px;border:0;border-radius:16px;background:linear-gradient(125deg,#354d3c,#26372d);text-align:left;color:#f6f7f4}
.landing-grocery-card small{display:block;font-size:8px;letter-spacing:1.7px;color:#bbc6b9;margin-bottom:7px}
.landing-grocery-card b{display:block;font-size:23px;font-weight:500;line-height:1.15;letter-spacing:-.7px;margin-bottom:9px}
.landing-grocery-card>span>span{font-size:11px;color:#d2dacf}
.landing-grocery-card i{font-style:normal;padding-left:12px}
.landing-grocery-card svg{width:70px;height:76px;flex-shrink:0;color:#a9b8a4}
@media(max-width:360px){
  .landing-page{padding-inline:16px}
  .landing-heading h1{font-size:42px}
  .landing-section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .landing-city-art{width:56px}
  .landing-grocery-card svg{width:75px}
}
.home-zone-switch{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 2px;border:0;background:transparent;color:#333;font-size:14px;font-weight:600}
.home-zone-switch span{font-size:11px;font-weight:400;color:#888}
.home-sticky-header{position:sticky;top:0;z-index:30;padding:calc(4px + env(safe-area-inset-top)) 16px 16px;background:#fff;border-bottom:1px solid var(--line)}
.landing-view #app{min-height:0}
.landing-view .landing-page{height:calc(100dvh - var(--bottom-nav-height) - env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;padding:18px 20px 12px}
.landing-view .landing-brand{padding-bottom:12px;flex-shrink:0}
.landing-view .landing-heading{padding:15px 0}
.landing-view .landing-heading p{margin-bottom:8px;font-size:10px}
.landing-view .landing-heading h1{font-size:32px;line-height:1.05;margin-bottom:8px;letter-spacing:-1px}
.landing-view .landing-heading h1 br{display:none}
.landing-view .landing-heading>span{font-size:10px;line-height:1.5}
.landing-view .landing-heading>span br{display:none}
.landing-view .landing-welcome .landing-banners{margin:0;height:clamp(70px,15dvh,125px)}
.landing-view .landing-welcome .landing-banners:empty{display:none}
.landing-view .landing-welcome .landing-banner img{height:100%}
.landing-view .landing-section-heading{margin:0;flex-shrink:0}
.landing-view .landing-section-heading>span{display:none}
.landing-view .landing-destinations{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.landing-view .landing-destination,.landing-view .landing-grocery-card{position:relative;min-height:0;padding:16px;margin:0;gap:8px;align-items:flex-start;overflow:hidden}
.landing-view .landing-destination-copy{position:relative;z-index:1}
.landing-view .landing-destination-copy small,.landing-view .landing-grocery-card small{font-size:7px;letter-spacing:1px;margin-bottom:8px}
.landing-view .landing-destination-copy b,.landing-view .landing-grocery-card b{font-size:20px;letter-spacing:-.5px;margin:0}
.landing-view .landing-zone-explore,.landing-view .landing-grocery-card>span>span{display:block;font-size:9px;margin-top:8px}
.landing-view .landing-city-art,.landing-view .landing-grocery-card>svg{position:absolute;right:10px;bottom:8px;width:56px;height:48px;opacity:.55}
.landing-view .landing-city-art svg{height:48px}
@media(max-height:650px){
  .landing-view .landing-page{gap:8px;padding-top:12px}
  .landing-view .landing-heading{padding:10px 0}
  .landing-view .landing-heading h1{font-size:27px}
  .landing-view .landing-heading>span{display:none}
  .landing-view .landing-destination,.landing-view .landing-grocery-card{padding:12px}
  .landing-view .landing-destination-copy b,.landing-view .landing-grocery-card b{font-size:18px}
  .landing-view .landing-city-art,.landing-view .landing-grocery-card>svg{width:40px;height:34px}
}
.landing-banners:empty{display:none}
.landing-banner{flex:0 0 100%;scroll-snap-align:start;border:0;padding:0;background:#f6f6f6;border-radius:18px;overflow:hidden}
.landing-banner img{display:block;width:100%;height:170px;object-fit:cover}
.grocery-page{padding:18px 14px 100px}
.grocery-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px;align-items:start}
.grocery-category-tile{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:0;border:0;background:#fff;text-align:center;color:#454545}
.grocery-category-tile img,.grocery-category-placeholder{width:100%;aspect-ratio:1;height:auto;object-fit:contain;border-radius:16px;background:#f6f6f4;padding:14px}
.grocery-category-placeholder{display:grid;place-items:center;color:#aaa99f;border:1px solid #efefeb}
.grocery-category-tile>span:last-child{font-size:11px;line-height:1.45;font-weight:500;text-transform:capitalize;min-height:32px;padding:0 2px}
.grocery-store-header{position:relative;height:155px;background:#333;overflow:hidden}
.grocery-store-header>img{width:100%;height:100%;object-fit:contain;object-position:center;opacity:.55}
.grocery-store-header>.icon-btn{position:absolute;top:14px;left:14px;background:#2229;border:0;color:white}
.grocery-store-header>div{position:absolute;left:18px;color:white}
.grocery-store-header small{font-size:9px;letter-spacing:2px;color:#eee}
.grocery-store-header h1{font-size:23px;font-weight:600;letter-spacing:-.5px;margin:7px 0 0}
.grocery-store-header>div{bottom:16px;right:72px}
.merchant-menu .merchant-hero-overlay{padding:16px 72px 16px 16px}
.menu-navigation{position:sticky;top:env(safe-area-inset-top);z-index:30;background:#fff;box-shadow:0 4px 14px #00000004}
.menu-navigation .merchant-menu-header{position:relative;top:0;height:64px;border-bottom:0;box-shadow:none;padding:10px 16px}
.menu-navigation .merchant-menu-name{flex:1;min-width:0;padding-right:45px}
.menu-navigation .merchant-menu-name b{font-size:15px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-navigation .merchant-menu-watermark{width:80px;height:80px;top:-8px;right:8px;opacity:.06;pointer-events:none}
.merchant-search-toggle{position:relative;z-index:1;flex-shrink:0;width:36px;height:36px;background:#f5f5f5;border:1px solid var(--line)}
.merchant-info-button{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:12px;background:#f5f5f5;color:#333}
.merchant-info-button:focus-visible{outline:2px solid #777;outline-offset:2px}
.menu-navigation:has(.merchant-info-button) .merchant-menu-name{padding-right:0}
.menu-navigation.is-pinned .merchant-info-button{background:#ffffffed;border-color:transparent}
.merchant-info-page{padding:22px 16px}
.merchant-info-page h2{margin:0 0 20px;font-size:22px;line-height:1.35}
.merchant-info-details{margin:0;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:#fafaf8}
.merchant-info-row{padding:15px 0;border-bottom:1px solid var(--line)}
.merchant-info-row:last-child{border-bottom:0}
.merchant-info-row dt{font-size:11px;color:#777;margin-bottom:6px;text-transform:capitalize}
.merchant-info-row dd{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.merchant-info-page{padding:16px 16px 28px;background:#fafaf8;min-height:calc(100dvh - var(--bottom-nav-height) - env(safe-area-inset-bottom))}
.merchant-profile-hero{overflow:hidden;border:1px solid #e8e8e2;border-radius:22px;background:#fff}
.merchant-profile-hero>img{width:100%;height:190px;object-fit:contain;object-position:center}
.merchant-profile-heading{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
.merchant-profile-heading .merchant-profile-kind{grid-column:1/-1}
.merchant-profile-heading .merchant-info-status{grid-column:2;grid-row:2;justify-self:end}
.merchant-profile-kind{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#818177}
.merchant-profile-heading h2{font-size:28px;letter-spacing:-.7px;margin:6px 0 0;font-weight:600;overflow-wrap:anywhere;grid-column:1;grid-row:2}
.merchant-info-status{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:600;background:#f1f1ed;color:#666}
.merchant-info-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.merchant-info-status.is-open{background:#eaf3eb;color:#347247}
.merchant-info-status.is-closed{background:#f9eeeb;color:#a65b47}
.merchant-info-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.merchant-info-metrics>div{padding:16px 14px;background:#efefea;border-radius:15px}
.merchant-info-metrics>div:first-child{grid-column:1/-1}
.merchant-info-metrics small{display:block;font-size:11px;color:#737369;margin-bottom:8px}
.merchant-info-metrics strong{display:block;font-size:18px;font-weight:600;overflow-wrap:anywhere}
.merchant-info-card{margin-top:12px;padding:18px;border:1px solid #e8e8e2;border-radius:18px;background:#fff}
.merchant-info-card h3{margin:0 0 15px;font-size:14px;font-weight:600}
.merchant-location{display:flex;gap:10px;align-items:flex-start;color:#737369}
.merchant-location svg{flex:0 0 20px;width:20px;height:20px}
.merchant-location p{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.merchant-payment-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-top:1px solid #f0f0eb;font-size:12px;line-height:1.5}
.merchant-payment-row>span{color:#7c7c72;flex-shrink:0}
.merchant-payment-row>b{font-weight:500;text-align:right;overflow-wrap:anywhere}
.merchant-bank-name{margin:0 0 14px;color:#77776d;font-size:11px;line-height:1.6;letter-spacing:.4px}
.merchant-bank-account{padding:13px 14px;border-radius:12px;background:#f6f6f2;margin-top:8px}
.merchant-bank-account small{display:block;font-size:11px;color:#7c7c72;line-height:1.5;margin-bottom:6px}
.merchant-bank-account strong{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.7px;overflow-wrap:anywhere}
.menu-search-panel{position:absolute;inset:10px 16px;z-index:3;display:flex;align-items:center;gap:4px;padding:0 4px 0 0;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:12px;clip-path:inset(0 100% 0 0);transition:clip-path .55s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.menu-search-panel.is-open{clip-path:inset(0 0 0 0);pointer-events:auto}
.menu-search-panel .icon-btn{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:0;border-radius:9px;background:#f0f0f0;color:#333}
.menu-search-panel .menu-search-close{background:#333;color:#fff;margin-left:3px}
.menu-search-panel .icon-btn:focus-visible{outline:2px solid #777;outline-offset:2px}
.menu-search-panel input[type="search"]{flex:1;min-width:0;width:0;height:100%;padding:0 10px;border:0;border-radius:12px;background:transparent;outline:none;font-size:13px;box-shadow:none}
.menu-search-panel:focus-within{border-color:#bdbdbd}
.menu-search-panel input::-webkit-search-cancel-button{display:none}
.menu-search-empty{margin:0;padding:12px 16px;font-size:12px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){
  .menu-search-panel{transition:none}
}
.merchant-favourite-button{position:absolute;z-index:7;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff60;border-radius:50%;background:#2229;color:#fff;backdrop-filter:blur(8px)}
.merchant-favourite-button{bottom:12px;right:16px}
.merchant-favourite-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.merchant-favourite-button[aria-pressed="true"]{color:#fff}
.merchant-favourite-button[aria-pressed="true"] svg{fill:currentColor}
.merchant-favourite-button:disabled{opacity:.55;cursor:wait}
.merchant-menu .meta-strip{padding:12px 16px;gap:8px;align-items:center}
.merchant-menu .meta-chip{font-size:10px;padding:7px 10px;line-height:1.4}
.merchant-menu .meta-strip .merchant-info-button{margin-left:auto;flex-basis:30px;width:30px;height:30px;border-radius:50%;background:#f8f8f8}
.merchant-menu .merchant-hero-overlay h1{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.4px;margin-bottom:7px}
.merchant-menu .merchant-hero-overlay p{font-size:11px;line-height:1.5;opacity:.9}
.merchant-menu .menu-section h2{font-size:17px;font-weight:600;letter-spacing:-.3px;margin:18px 0 8px;line-height:1.4}
.merchant-menu .category-btn{padding:10px 13px;line-height:1.4}
.merchant-menu [hidden]{display:none!important}
.grocery-store-info{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eee;font-size:12px;color:#777}
.grocery-category-tabs{position:sticky;top:0;z-index:25;display:flex;gap:8px;overflow-x:auto;padding:12px 14px;background:#fff;border-bottom:1px solid #eee;scrollbar-width:none}
.grocery-category-tabs button{flex-shrink:0;border:1px solid #e8e8e8;border-radius:8px;padding:10px 12px;background:white;color:#777;font-size:11px}
.grocery-category-tabs button.active{background:#353535;border-color:#353535;color:white}
.grocery-list-page{padding-top:14px}
.grocery-search{margin-bottom:24px}
.grocery-search input{display:block;width:100%;height:48px;padding:12px 15px;border:1px solid #e9e9e6;border-radius:14px;background:#f7f7f5;color:#333;font-size:14px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.grocery-search input::placeholder{color:#92928c;font-size:12px}
.grocery-search input:focus{outline:none;border-color:#b4b4ac;box-shadow:0 0 0 3px #35353508}
.grocery-list-title{font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-top:2px solid #f0f0f0;margin:24px 0 4px;padding-top:20px}
.grocery-item-row{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 70px;column-gap:16px;padding:18px 0;text-align:left;border:0;border-bottom:1px solid #eee;background:white;color:#333}
.grocery-item-copy{grid-row:1/span 2;display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-width:0}
.grocery-item-copy>b{font-size:14px;font-weight:500;line-height:1.5}
.grocery-item-copy>small{font-size:11px;color:#888;line-height:1.6}
.grocery-item-price{font-size:13px;font-weight:600;line-height:1.6;font-variant-numeric:tabular-nums}
.grocery-item-price del{font-size:11px;color:#999;font-weight:400;margin-right:6px}
.grocery-item-row>img,.grocery-item-image-placeholder{width:70px;height:70px;object-fit:contain;border-radius:10px;background:#fafafa}
.grocery-item-image-placeholder{display:grid;place-items:center;color:#bbb;font-size:24px}
.grocery-item-add{position:absolute;right:0;top:60px;min-width:28px;height:28px;display:grid;place-items:center;text-align:center;border:1px solid #e5e5e5;border-radius:8px;padding:0 7px;background:#fff;font-size:18px;line-height:1;color:#555;box-shadow:0 2px 7px #00000012}
.grocery-empty{color:#888;font-size:13px;padding:18px 0}
.grocery-page button:focus-visible,.landing-zone:focus-visible,.landing-grocery:focus-visible{outline:2px solid #777;outline-offset:3px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid #777;outline-offset:3px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #888;outline-offset:2px}
.section-title{margin-top:24px;margin-bottom:16px}
.search input,.search-large input{background:#f8f8f8;border:1px solid #eee;border-radius:12px;padding:15px;font-size:13px}
.quick-cat .bubble{background:#f5f5f5;box-shadow:none;border:1px solid #eee}
.quick-cat span{font-size:11px;color:#777;font-weight:500}
.quick-cat .bubble img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.category-merchants{padding:20px 16px 100px}
.all-restaurant-card{border-color:#eaeaea;border-radius:16px;box-shadow:0 4px 18px #00000004}
.all-restaurant-content{padding:17px 16px 19px}
.all-restaurant-content h3{font-size:16px;font-weight:600;letter-spacing:-.3px;margin-bottom:10px}
.all-restaurant-content p{font-size:11px;color:#888}
.recent-merchant h3,.mini-merchant h3{font-weight:600;letter-spacing:-.3px}
.restaurant-status{font-size:9px;font-weight:500;padding:4px 7px}
.category-btn,.cuisine-chip{font-size:11px;border-radius:9px}
.category-btn.active{font-weight:600}
.sheet h1{font-size:25px;font-weight:600;letter-spacing:-.7px;line-height:1.25}
.sheet .desc{font-size:13px;line-height:1.8}
.cart-section-heading button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border:1px solid #dedede;border-radius:10px;background:#fafafa;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.cart-section-heading button:hover{background:#f0f0f0;border-color:#bcbcbc}
.cart-section-heading button:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.cart-line b,.totals b{font-weight:600;font-variant-numeric:tabular-nums}
.home-address-card{box-shadow:none;border-color:#e8e8e8;border-radius:14px}
.home-address-copy b{font-size:14px;font-weight:600}
.home-address-copy small{font-size:11px;color:#888}
.home-address-icon{background:#f4f4f4;color:#555}
.home-address-arrow{font-size:25px;color:#888}
.address-card{border-color:#e9e9e9;border-radius:16px;box-shadow:none}
.address-card.default{box-shadow:none}
.address-card h3{font-size:15px;font-weight:600}
.address-card-actions button,.add-address-btn{font-size:12px;font-weight:500}
.field label{font-weight:600;color:#555}
.small-btn{font-weight:500;border-radius:9px;padding:10px 13px}
.fulfillment-sheet h2{font-size:20px;font-weight:600;letter-spacing:-.5px}
.payment-option{background:#fafafa;border-color:#e8e8e8;border-radius:12px}
.payment-option b{font-size:14px;font-weight:600}
.payment-option small{font-size:11px;line-height:1.6}
.cart-pill{font-size:14px;font-weight:600;padding:13px 21px;box-shadow:0 5px 20px #00000010}
@media (prefers-reduced-motion:no-preference){
  button,a{transition:background-color .15s,color .15s,border-color .15s}
  .all-restaurant-card{transition:box-shadow .2s}
  .all-restaurant-card:hover{box-shadow:0 7px 24px #0000000a}
}
.rating-modal.recommendation-modal{position:fixed;inset:auto 0 0;width:100%;max-width:520px;height:min(640px,80vh);height:min(640px,80dvh);max-height:85vh;max-height:85dvh;box-sizing:border-box;margin:0 auto;padding:12px 20px 0;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 36px #0003}
.recommendation-modal[open]{display:flex;flex-direction:column}
.recommendation-modal .sheet-handle{flex-shrink:0;margin-bottom:14px}
.rating-modal.recommendation-modal header{flex-shrink:0;padding-right:0;padding-bottom:16px}
.recommendation-modal .recommendation-list{flex:1 1 auto;min-height:0;grid-auto-rows:max-content;align-content:start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0;padding:16px 0}
.recommendation-footer{flex-shrink:0;border-top:1px solid var(--line);background:#fff;padding:12px 0 calc(16px + env(safe-area-inset-bottom))}
.delivery-suboptions{margin:8px 0 16px 30px;padding:4px 0 4px 16px;border-left:2px solid #e5e5e5}
.delivery-suboptions[hidden]{display:none}
.delivery-suboptions .fulfillment-option{margin-top:8px;padding:11px 12px;border-radius:12px;font-size:13px}
.delivery-suboptions .fulfillment-option.selected{padding:10px 11px}
.delivery-suboptions .schedule-picker{margin:12px 0 0}
#confirmFulfillment{width:100%;margin-top:18px}
.cart-merchant-card{background:#fff}
.cart-merchant-heading{position:relative;min-height:172px;display:flex;align-items:flex-end;padding:22px 20px;isolation:isolate;background:#454545;overflow:hidden}
.cart-merchant-banner{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.cart-merchant-heading::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#00000024 0%,#00000012 30%,#000000b3 100%)}
.cart-merchant-heading>.icon-btn{position:absolute;left:16px;top:14px;background:#ffffffed;color:#222;width:36px;height:36px;border-radius:50%;box-shadow:0 2px 8px #0002}
.cart-merchant-copy{min-width:0;color:#fff}
.cart-merchant-copy small{display:block;margin-bottom:5px;font-size:11px;font-weight:500;color:#ffffffe0}
.cart-merchant-copy h1{margin:0;font-size:24px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;text-shadow:0 1px 5px #0003}
.cart-order-type .fulfillment-trigger{width:100%;display:flex;justify-content:space-between;gap:16px;border:1px solid #e9e9e6;border-radius:14px;background:#f8f8f6;color:#303030;text-align:left;font-size:14px;font-weight:500}
.cart-order-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.cart-order-type [data-fulfillment-label]{display:flex;align-items:center;gap:9px;min-width:0}
.cart-order-type .fulfillment-svg{width:21px;height:21px}
.cart-order-type .scheduled-time-label{font-size:11px;font-weight:400;color:#85857f;margin-top:3px;max-width:210px}
.cart-order-change{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;color:#686861;flex-shrink:0}
.cart-order-change b{font-size:22px;font-weight:400;color:#99998f}
.cart-order-type .fulfillment-trigger:focus-visible{outline:2px solid #555;outline-offset:3px}
.cart-item .cart-unit-price{margin-top:4px;color:#555;font-size:12px}
.success-merchant-strip{padding:0;background:#fff;border-bottom:1px solid var(--line)}
.success-merchant-strip img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain}
.account-brand{display:flex;align-items:center}
.guest-profile{padding:28px 24px 32px;background:linear-gradient(180deg,#fffdf6 0,#fff 340px)}
.guest-profile-card{padding:0 0 26px;border-bottom:0}
.guest-profile-eyebrow{padding:0;font-size:9px;letter-spacing:2px;color:#8d8170}
.guest-profile-card h1{font-size:clamp(34px,10vw,46px);line-height:1.1;letter-spacing:-1.6px;margin:20px 0 16px}
.guest-profile-card p{font-size:13px;line-height:1.8;margin-bottom:24px;color:#7b7871}
.guest-profile .guest-profile-signin{border-radius:14px;min-height:52px;padding:14px 18px;background:#30302d;font-weight:600;box-shadow:0 4px 12px #0000000a}
.guest-profile-note{text-align:center;font-size:10px;margin-top:12px}
.guest-profile-benefits{padding:0;border:1px solid #eeeae1;border-radius:18px;background:#fff;overflow:hidden}
.guest-profile-benefits>div{padding:19px 16px;gap:14px}
.guest-profile-benefits>div:last-child{border-bottom:0}
.guest-profile-benefits>div>span{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:10px;background:#fff7dc;color:#8e7841;font-size:10px}
.guest-profile-benefits b{font-size:13px;font-weight:600}
.guest-profile-benefits p{font-size:11px;margin-top:4px}
.guest-profile-browse{padding:22px 4px;font-size:12px}
body:has(.auth-form) #app{background:linear-gradient(180deg,#fffdf6 64px,#fff 340px);min-height:100dvh}
body:has(.auth-form) .page-title{border-bottom:1px solid #f0ede6;background:#fff;gap:12px}
body:has(.auth-form) .page-title h1{font-size:18px;font-weight:600;letter-spacing:-.3px}
body:has(.auth-form) .page-title .icon-btn{background:#f5f4f0;color:#393934;width:36px;height:36px}
.auth-form{width:calc(100% - 48px);max-width:400px;padding:24px 0;margin:0 auto 40px;gap:18px;background:transparent}
.auth-intro{padding:8px 0 12px}
.auth-intro h2{font-size:30px;line-height:1.15;font-weight:600;letter-spacing:-1px;margin-bottom:12px}
.auth-form p{font-size:13px;line-height:1.7;color:#858077}
.auth-form .field label{font-size:12px;font-weight:500;color:#46453f;margin-bottom:9px}
.auth-phone-control{background:#fff;border:1px solid #deded7;border-radius:14px;min-height:54px;box-shadow:0 2px 6px #00000003}
.auth-phone-control:focus-within{border-color:#a38d46;box-shadow:0 0 0 3px #f8c41515}
.auth-hint{font-size:10px;margin-top:9px;color:#918b7f}
.auth-form .auth-number{align-self:flex-start;padding:9px 13px;background:#fff7dc;border:1px solid #f0e7ca;border-radius:10px;font-size:13px;color:#766335;font-weight:500}
.auth-form .field input{min-height:54px;background:#fff;border-color:#deded7;border-radius:14px}
.auth-form #loginCode{height:64px;font-size:26px;letter-spacing:14px;padding-left:28px;background:#fff;caret-color:#a38d46}
.auth-form button[type="submit"]{min-height:52px;border-radius:14px;background:#30302d;box-shadow:0 4px 12px #0000000a}
.auth-form #resendCode,.auth-form #changePhone{min-height:40px;border:0;background:transparent;font-size:12px;color:#777267}
.auth-form #loginError:not(:empty){padding:12px 14px;border:1px solid #efdad5;border-radius:12px;background:#fff5f2;color:#a04b3c;font-size:12px}
@media(max-width:360px){
  .auth-intro h2{font-size:27px}
  .guest-profile{padding:24px 20px}
  .auth-form{width:calc(100% - 40px)}
}
.profile-page>.account-brand{justify-content:center;margin:0 0 26px}
.profile-order-count{justify-content:flex-start}
.profile-order-count .stat{width:100%;border:0;text-align:left;display:flex;align-items:center;gap:12px}
.profile-order-count .stat b{font-size:28px;line-height:1.2}
.profile-order-count .stat span{font-size:12px;margin:0}
.profile-details{max-width:440px;padding:28px 24px;margin:auto}
.profile-details dl{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.profile-details dl>div{padding:18px;border-bottom:1px solid var(--line)}
.profile-details dl>div:last-child{border-bottom:0}
.profile-details dt{font-size:11px;color:var(--muted);margin-bottom:8px}
.profile-details dd{margin:0;font-size:15px;overflow-wrap:anywhere}
.auth-form .auth-phone-control{gap:0;min-height:54px;border:1px solid #deded7;border-radius:14px;background:#fff;box-shadow:none}
.auth-form .auth-phone-control:focus-within{border-color:#a49a7a;box-shadow:0 0 0 3px #b9aa7a0d}
.auth-form .auth-phone-control select{flex:0 0 82px;width:82px;min-height:0;height:24px;margin:0;padding:0 9px 0 13px;border:0;border-right:1px solid #e8e6df;border-radius:0;background:transparent;font-size:13px;box-shadow:none;outline:none}
.auth-form .auth-phone-control input{flex:1;min-width:0;width:0;min-height:0;height:52px;margin:0;padding:0 14px;border:0;border-radius:0;background:transparent;font-size:14px;box-shadow:none;outline:none}
.auth-form .auth-phone-control input:focus,.auth-form .auth-phone-control select:focus{border-color:#e8e6df;box-shadow:none;outline:none}
.auth-form .auth-phone-control input::placeholder{color:#aaa69d;font-size:13px}
.checkout-delivery-options{padding:0 20px 22px}
.checkout-delivery-options h3{margin:4px 0 14px;font-size:18px;font-weight:600;letter-spacing:-.4px}
.checkout-delivery-options [role="radiogroup"]{display:grid;gap:10px}
.delivery-option-card{display:flex;align-items:center;gap:14px;width:100%;padding:17px 16px;border:1px solid #deded9;border-radius:16px;background:#fff;color:var(--text);text-align:left}
.delivery-option-card[aria-checked="true"]{border:2px solid #333;padding:16px 15px;background:#fafaf8}
.delivery-option-icon{flex:0 0 25px}
.delivery-option-icon svg{display:block;width:25px;height:25px}
.delivery-option-card>span:nth-child(2){flex:1;min-width:0}
.delivery-option-card b{display:block;font-size:14px;font-weight:600}
.delivery-option-card small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px}
.delivery-option-card i{width:17px;height:17px;border:1px solid #d5d5d0;border-radius:50%;flex-shrink:0}
.delivery-option-card[aria-checked="true"] i{border:5px solid #333;background:#fff}
.delivery-option-card:focus-visible{outline:2px solid #888;outline-offset:3px}
.delivery-option-card:disabled{opacity:.5}
body.checkout-view{height:100vh;height:100dvh;overflow:hidden}
body.checkout-view #app{height:100vh;height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom));padding-bottom:calc(100px + env(safe-area-inset-bottom))}
.checkout-view .checkout-section{margin-bottom:110px}
body.checkout-view:has(#bottomNav) #app{padding-bottom:env(safe-area-inset-bottom)}
.checkout-actions{position:fixed;z-index:45;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);padding:12px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #ededed}
.checkout-actions .primary-fixed{position:static;transform:none;width:100%;margin:0;min-height:48px;box-shadow:none}
.checkout-actions .primary-fixed:disabled{opacity:1;background:#aaa;color:#fff;cursor:not-allowed}
.bank-transfer-upload{min-height:52px;margin-top:16px;margin-bottom:12px;position:relative;background:#fafafa;font-size:12px;font-weight:600}
.menu-sticky-marker{height:1px;margin-bottom:-1px;pointer-events:none}
.menu-navigation .merchant-menu-header{isolation:isolate;background:#fff}
.merchant-menu-strip-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;opacity:0;transition:opacity .35s ease}
.menu-navigation .merchant-menu-header::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0009,#0006 65%,#0003);pointer-events:none;opacity:0;transition:opacity .35s ease}
.menu-navigation .merchant-menu-name{transition:color .35s ease,text-shadow .35s ease}
.menu-navigation .merchant-menu-name span{transition:color .35s ease}
.menu-navigation .merchant-menu-back,.menu-navigation .merchant-search-toggle{transition:background .35s ease,color .35s ease,border-color .35s ease}
.menu-navigation .merchant-menu-watermark{transition:opacity .35s ease}
.menu-navigation.is-pinned .merchant-menu-watermark{opacity:0}
.menu-navigation.is-pinned .merchant-menu-strip-image,.menu-navigation.is-pinned .merchant-menu-header::after{opacity:1}
.menu-navigation.is-pinned .merchant-menu-name{color:#fff;text-shadow:0 1px 3px #0003}
.menu-navigation.is-pinned .merchant-menu-name span{color:#ffffffe0}
.menu-navigation.is-pinned .merchant-menu-back{background:#ffffffed;color:#303030;border-color:transparent}
.menu-navigation.is-pinned .merchant-search-toggle{background:#ffffffed;color:#303030;border-color:transparent}
@media(prefers-reduced-motion:reduce){
  .menu-navigation .merchant-menu-strip-image,.menu-navigation .merchant-menu-header::after,.menu-navigation .merchant-menu-name,.menu-navigation .merchant-menu-name span,.menu-navigation .merchant-menu-back,.menu-navigation .merchant-search-toggle{transition:none}
}
.menu-navigation .merchant-menu-back,.menu-navigation .merchant-search-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;line-height:1;box-sizing:border-box}
.menu-navigation .merchant-menu-back svg,.menu-navigation .merchant-search-toggle svg{display:block;flex-shrink:0;width:20px;height:20px;margin:0}
.cart-sticky-merchant{position:sticky;top:0;z-index:35;height:64px;margin-bottom:-64px;display:flex;align-items:center;gap:12px;padding:10px 16px;isolation:isolate;overflow:hidden;background:#454545;color:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease}
.cart-sticky-merchant.is-visible{opacity:1;pointer-events:auto}
.cart-sticky-merchant>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.cart-sticky-merchant::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0009,#0006 65%,#0003)}
.cart-sticky-merchant>.icon-btn{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#ffffffed;color:#303030;line-height:1}
.cart-sticky-merchant svg{display:block;flex-shrink:0}
.cart-sticky-merchant>div{min-width:0}
.cart-sticky-merchant b{display:block;font-size:15px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cart-sticky-merchant small{display:block;margin-top:3px;font-size:10px;color:#ffffffe0}
@media(prefers-reduced-motion:reduce){
  .cart-sticky-merchant{transition:none}
}
.auth-intro .account-brand,.guest-profile .account-brand,.profile-page>.account-brand,.profile-details>.account-brand{justify-content:center}
.cart-note-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:calc(100% - 32px);margin:12px 16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafaf8;color:var(--text);text-align:left}
.cart-note-trigger>span:first-child{min-width:0;flex:1}
.cart-note-trigger b,.checkout-order-note b{display:block;font-size:13px;font-weight:600}
.cart-note-trigger small{display:block;margin-top:6px;font-size:11px;line-height:1.6;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-note-trigger>span:last-child{font-size:12px;flex-shrink:0}
.cart-note-modal label{display:block;font-size:12px;margin:18px 0 9px}
.cart-note-modal textarea{width:100%;min-height:110px;padding:12px;border:1px solid #deded7;border-radius:12px;resize:none;font:inherit;font-size:14px}
.cart-note-limit{display:block;margin-top:8px;color:var(--muted);font-size:10px}
.cart-note-actions{display:flex;gap:10px;margin-top:18px}
.cart-note-actions button{flex:1}
.checkout-order-note{margin:0 20px 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafaf8}
.checkout-order-note p{margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.checkout-view .checkout-section{background:transparent}
.checkout-view .payment-option{background:#fff}
.recommendation-product{position:relative}
.recommendation-details{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit}
.recommendation-details>span{min-width:0;flex:1}
.recommendation-add{align-self:flex-end;flex-shrink:0;min-height:34px;min-width:62px;padding:7px 12px;border:1px solid #e0e0da;border-radius:10px;background:#f6f6f3;color:#333;font-size:12px;font-weight:600}
.recommendation-add:disabled{opacity:.5;cursor:wait}
.recommendation-list .recommendation-details{flex:1;min-width:0;flex-direction:row;align-items:center;gap:12px}
.recommendation-list .recommendation-add{align-self:center}
.recommendation-details:focus-visible,.recommendation-add:focus-visible{outline:2px solid #888;outline-offset:3px}
.order-foot{gap:12px;flex-wrap:wrap}
.order-foot .order-reorder{margin-left:auto;min-height:36px;padding:9px 15px;border:1px solid #deded8;border-radius:11px;background:#f7f7f4;color:#303030;font-size:12px;font-weight:600}
.order-foot .order-reorder:disabled{opacity:.5;cursor:wait}
.order-progress li span{width:34px;height:34px;border-radius:11px;transition:background-color .3s ease,color .3s ease}
.order-progress li span svg{width:20px;height:20px}
.order-item .order-progress li:before,.order-progress li:before{top:16px}
.cart-gift-trigger .gift-row-icon{flex:0 0 28px;font-size:24px}
.cart-gift-trigger>span:nth-child(2){flex:1;min-width:0}
.gift-address-trigger{width:100%;padding:14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;line-height:1.5}
.rating-modal.gift-address-drawer{position:fixed;inset:auto 0 0;width:100%;max-width:520px;box-sizing:border-box;max-height:80vh;max-height:80dvh;margin:0 auto;padding:12px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow-y:auto}
.gift-address-options{display:grid;gap:10px;padding-top:16px}
.qr-delivery-area{display:flex;align-items:center;gap:12px;margin:16px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fafafa;color:var(--text)}
.qr-delivery-area-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#fff;color:#555}
.qr-delivery-area-icon svg{width:19px;height:19px}
.qr-delivery-area-copy{display:grid;gap:4px;flex:1;min-width:0}
.qr-delivery-area-copy small{font-size:11px;line-height:1.3;color:var(--muted)}
.qr-delivery-area-copy strong{font-size:14px;line-height:1.4;font-weight:600;text-transform:capitalize;overflow-wrap:anywhere}
.qr-delivery-area .qr-zone-change{flex-shrink:0;min-height:36px;padding:8px 14px;border:1px solid #dedede;border-radius:10px;background:#fff;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #00000006}
.qr-delivery-area .qr-zone-change:hover{background:#f0f0f0;border-color:#bcbcbc}
.qr-zone-change:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.qr-cart-delivery{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 0 12px;font-size:11px;line-height:1.5;color:var(--muted)}
.qr-cart-delivery>span:last-child{font-variant-numeric:tabular-nums;color:#555}
.qr-delivery-area + .totals{padding-top:4px}
.qr-cart-delivery + .total-row.total{padding-top:16px;border-top:1px solid var(--line)}
#qrZonePicker[open]{display:flex;flex-direction:column;overflow:hidden;padding:12px 20px calc(20px + env(safe-area-inset-bottom))}
#qrZonePicker>.sheet-handle{flex-shrink:0;margin:0 auto 16px}
#qrZonePicker>header{flex-shrink:0;padding:0;border:0}
#qrZonePicker h2{margin:0;font-size:22px;line-height:1.3;letter-spacing:-.4px}
#qrZonePicker>.dt-zone-search{flex-shrink:0;margin:16px 0 0;gap:0}
#qrZonePicker .dt-zone-search input{box-sizing:border-box;min-height:46px;font:inherit;font-size:15px;padding:12px 14px}
#qrZonePicker>.gift-address-options{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-top:12px}
.rating-modal.outlet-zone-drawer{overflow:hidden;padding-bottom:0}
.outlet-zone-drawer[open]{display:flex;flex-direction:column}
.outlet-zone-drawer>.sheet-handle,.outlet-zone-drawer>header,.outlet-zone-drawer>.dt-zone-search{flex-shrink:0}
.outlet-zone-drawer>.dt-zone-search{margin-bottom:16px}
.outlet-zone-drawer>.gift-address-options{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;align-content:start;padding:0 0 calc(20px + env(safe-area-inset-bottom))}
.gift-address-option{display:grid;gap:6px;width:100%;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--text);font:inherit}
.gift-address-option span{font-size:13px;line-height:1.5;color:#666}
.gift-address-option[aria-pressed="true"]{border-color:var(--text);background:#f5f5f5}
.gift-modal{max-width:440px;padding:24px;max-height:90dvh}
.gift-form{display:grid;gap:17px;margin-top:20px}
.gift-form label{display:block;font-size:13px;font-weight:500}
.gift-form label>span{float:right;color:var(--muted);font-size:10px;font-weight:400}
.gift-form input,.gift-form textarea,.gift-form select{font:inherit;font-weight:400;border:1px solid #deded7;border-radius:12px;background:#fafaf8;color:var(--text)}
.gift-form label>input,.gift-form textarea{display:block;width:100%;padding:14px;margin-top:9px}
.gift-form input:focus,.gift-form textarea:focus,.gift-form select:focus{outline:2px solid #bab093;outline-offset:2px}
.gift-phone{display:flex;gap:8px;margin-top:9px}
.gift-phone select{width:84px;padding:12px 8px}
.gift-phone input{flex:1;min-width:0;width:0;padding:14px}
.gift-hint{font-size:10px;line-height:1.6;color:var(--muted);margin-top:-9px}
.gift-message-heading{display:flex;align-items:center;gap:12px;background:#fff8e2;padding:16px;border:1px solid #f1e7c9;border-radius:14px}
.gift-message-heading>span{font-size:28px}
.gift-message-heading b{display:block;font-size:13px}
.gift-message-heading small{display:block;font-size:10px;color:#8b805f;margin-top:5px}
.gift-form textarea{min-height:100px;resize:none}
.gift-error{color:#a04b3c;font-size:12px;margin:0}
.gift-error:empty{display:none}
.gift-form .gift-address-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
.gift-actions{display:flex;gap:10px;position:sticky;bottom:-24px;padding:12px 0;background:#fff}
.gift-actions button{min-height:46px;font-size:12px}
.gift-actions button:first-child{flex:1}
.gift-actions button:last-child{flex:2}
.rating-modal.gift-modal{position:fixed;inset:auto 0 0;width:100%;max-width:520px;max-height:90vh;max-height:90dvh;margin:0 auto;padding:12px 20px 0;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 36px #0003}
.gift-modal[open]{display:flex;flex-direction:column}
.gift-modal::before{content:"";display:block;flex-shrink:0;width:44px;height:5px;margin:0 auto 16px;border-radius:9px;background:#ddd}
.gift-modal>header{flex-shrink:0;padding-bottom:16px}
.gift-modal .gift-form{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin-top:0;padding-top:18px}
.gift-modal .gift-actions{bottom:0;z-index:1;margin-top:0;padding:12px 0 calc(16px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.cart-recommendations{margin:18px 16px 4px;border-bottom:1px solid var(--line)}
.cart-recommendations[hidden]{display:none}
.cart-recommendation-heading h2{font-weight:600;letter-spacing:-.3px;margin:0 0 5px}
.cart-recommendation-heading>span{color:var(--muted)}
.cart-recommendations .recommendation-scroll{margin:12px -16px 0;padding:0 16px 10px}
.cart-recommendations .recommendation-product{flex:0 0 142px;min-width:0;justify-content:space-between}
.cart-recommendations .recommendation-details img{object-fit:contain;background:#fafaf8}
.cart-recommendations .recommendation-details b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-recommendations .recommendation-add{width:100%}
.cart-recommendations{margin-top:12px;padding:10px 0 6px}
.cart-recommendation-heading h2{font-size:14px;margin-bottom:3px}
.cart-recommendation-heading>span{font-size:10px}
.cart-recommendations .recommendation-scroll{gap:8px;margin-top:9px;padding-bottom:8px}
.cart-recommendations .recommendation-product{flex-basis:112px;padding:8px;gap:7px;border-radius:12px}
.cart-recommendations .recommendation-details{gap:6px}
.cart-recommendations .recommendation-details img{height:56px;border-radius:8px}
.cart-recommendations .recommendation-details b{font-size:11px;line-height:1.3;min-height:29px}
.cart-recommendations .recommendation-details small{font-size:10px;margin-top:3px}
.cart-recommendations .recommendation-add{min-height:27px;padding:5px 8px;border-radius:8px;font-size:10px}
.cart-action-row{align-items:center;justify-content:flex-start;gap:12px;margin:10px 16px;border:1px solid #eaeae5;border-radius:14px;background:#fafaf8;text-align:left;color:var(--text)}
.cart-action-row>.cart-action-icon,.cart-gift-trigger>.gift-row-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;font-size:23px;color:#777368}
.cart-action-icon svg{display:block;width:23px;height:23px}
.cart-action-row>.cart-action-copy{flex:1;min-width:0;text-align:left}
.cart-action-row .cart-action-copy b{display:block;font-size:13px;font-weight:600;line-height:1.4}
.cart-action-row .cart-action-copy small{display:block;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-action-row>span:last-child{flex:0 0 auto;font-size:11px;color:#777368}
.cart-action-row.has-applied-promo{background:#f2f7f1;border-color:#d7e5d4}
.cart-action-row.has-applied-promo .cart-action-icon,.cart-action-row.has-applied-promo .cart-action-copy b,.cart-action-row.has-applied-promo>span:last-child{color:#357345}
.cart-action-row.has-applied-promo>span:last-child{background:#e1efdf;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:600}
.promo-sheet{text-align:left}
.promo-sheet>h2{text-align:left;margin-left:0;margin-right:0}
.promo-sheet .promo-option{justify-content:space-between;gap:12px}
.promo-sheet .promo-option-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.promo-sheet .promo-option-copy b{font-size:13px}
.promo-sheet .promo-option-copy small{font-size:11px;line-height:1.5}
.promo-sheet .promo-option.selected{border-color:#94b78d;background:#f2f7f1}
.promo-sheet .promo-applied-badge{flex:0 0 auto!important;background:#e1efdf;color:#357345;font-size:10px;font-weight:600;padding:6px 8px;border-radius:7px}
.cart-action-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:12px;min-height:64px;padding:12px 14px}
.cart-action-row>.cart-action-icon{width:30px;min-width:30px;justify-self:start}
.cart-action-row>.cart-action-copy{width:100%;justify-self:stretch}
.cart-action-row>span:last-child{justify-self:end}
#cartTotals .total-row.total{padding-top:14px;margin-top:0}
#cartTotals+.cart-recommendations{margin:6px 16px 0;padding:10px 0 4px;border-bottom:0}
.checkout-view .checkout-fulfillment-summary{margin:12px 16px 16px;padding:14px;gap:12px}
.checkout-view .checkout-fulfillment-summary>span{flex:0 0 24px;width:24px;height:24px}
.checkout-view .checkout-fulfillment-summary .fulfillment-svg{width:22px;height:22px}
.checkout-view .checkout-fulfillment-summary b{font-size:14px;line-height:1.4}
.checkout-view .checkout-fulfillment-summary small{font-size:11px;line-height:1.5}
.checkout-view .checkout-delivery-options{padding:0 16px 16px}
.checkout-view .checkout-delivery-options h3{margin:0 0 12px;font-size:16px}
.checkout-view .delivery-option-card{display:grid;grid-template-columns:24px minmax(0,1fr) 17px;gap:12px;padding:15px 14px;min-height:72px}
.checkout-view .delivery-option-card[aria-checked="true"]{padding:14px 13px}
.checkout-view .delivery-option-icon{width:24px}
.checkout-view .delivery-option-icon svg{width:22px;height:22px}
.checkout-view .delivery-option-card b{font-size:13px;line-height:1.4}
.checkout-view .delivery-option-card small{margin-top:4px;font-size:11px;line-height:1.5}
.checkout-view .promo.cart-action-row{grid-template-columns:24px minmax(0,1fr) auto;width:calc(100% - 32px);margin:0 16px 16px;gap:12px;padding:14px;min-height:68px}
.checkout-view .promo.cart-action-row>.cart-action-icon{width:24px;min-width:24px;height:24px}
.checkout-view .promo.cart-action-row .cart-action-icon svg{width:22px;height:22px}
#cartNoteTrigger,#cartGiftTrigger{margin-top:8px;margin-bottom:8px;min-height:60px;border-color:#ecece7;background:#fafaf9;border-radius:13px}
#cartNoteTrigger .cart-action-copy small,#cartGiftTrigger .cart-action-copy small{font-size:10px;margin-top:3px}
#cartTotals{padding:12px 16px 6px}
#cartTotals .total-row.total{display:flex;align-items:center;justify-content:space-between;padding:16px 0 6px;border-top:1px solid #ededE8;font-size:18px;font-weight:600}
#cartTotals .total-row.total b{font-size:18px;letter-spacing:-.3px}
#cartRecommendations{margin-top:10px;padding-top:10px}
#cartRecommendations .cart-recommendation-heading{margin-bottom:10px}
#cartRecommendations .cart-recommendation-heading h2{font-size:14px;font-weight:600;margin-bottom:4px}
#cartRecommendations .recommendation-scroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0 0 12px;overflow:visible}
#cartRecommendations .recommendation-product{width:auto;min-width:0;padding:8px;gap:7px;background:#fff;border:1px solid #ecece7;border-radius:12px}
#cartRecommendations .recommendation-details img{height:52px;width:100%;background:#f8f8f6;object-fit:contain}
#cartRecommendations .recommendation-details b{font-size:11px;line-height:1.35;min-height:30px}
#cartRecommendations .recommendation-details small{font-size:10px;font-weight:500;color:#575750}
#cartRecommendations .recommendation-add{min-height:30px;border-color:#e6e6df;background:#f5f5f1;font-size:11px}
.cart-checkout-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:45;width:min(100%,520px);padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eeeeea}
.cart-checkout-footer .cart-checkout{position:static;transform:none;display:block;width:100%;margin:0;min-height:48px;padding:14px;border-radius:13px;box-shadow:none;font-size:12px}
body:has(#cartCheckout) #app{padding-bottom:calc(108px + env(safe-area-inset-bottom))}
body:has(#cartCheckout):has(#bottomNav) #app{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
#cartRecommendations .recommendation-product{display:flex;flex-direction:column;height:auto;overflow:visible}
#cartRecommendations .recommendation-add{display:block;flex-shrink:0;width:100%;margin-top:auto}
#cartRecommendations .recommendation-scroll{padding-bottom:0}
#cartRecommendations{padding-bottom:0;margin-bottom:0}
.recommendation-footer .recommendation-continue{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:14px 18px;border:1px solid #353535;border-radius:12px;background:#353535;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.recommendation-footer .recommendation-continue:hover{background:#242424;border-color:#242424}
.recommendation-footer .recommendation-continue:focus-visible{outline:2px solid #777;outline-offset:3px}
.account-brand{justify-content:center;width:100%;margin-bottom:26px}
.account-brand-logo{display:block;width:132px;max-width:100%;height:auto;aspect-ratio:2 / 1;object-fit:contain;border-radius:6px}
.auth-intro .account-brand{margin-bottom:26px}
.landing-view .landing-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:4px 0 16px;text-align:center}
.landing-brand>.account-brand-logo{width:116px}
.landing-brand>span:last-child{font-size:10px;letter-spacing:.3px;color:#8b877f}
.profile-page-heading h1{line-height:1.2}
.profile-page .avatar{display:grid;place-items:center}
.profile-page .profile-stats.profile-order-count{display:block;padding-top:16px}
.profile-page .profile-order-count .stat{display:flex;width:100%;padding:0;border:0;text-align:left}
.profile-page .profile-order-count .stat span{line-height:1.4}
.profile-page .profile-order-count .stat b{place-items:center}
@media(max-width:360px){
  .profile-page .profile-head{padding:20px 18px}
  .profile-page .profile-user h2{font-size:19px}
}
.profile-page .avatar{flex-basis:56px}
.profile-page .profile-greeting{margin-bottom:6px}
.profile-page-heading>span{font-size:9px;letter-spacing:2px;color:#a29b8e}
.profile-page-heading h1{letter-spacing:-.8px}
.profile-page .profile-stats.profile-order-count{margin:0}
.profile-page .profile-order-count .stat b{display:block;min-height:0;border-radius:0;font-variant-numeric:tabular-nums}
.profile-page-heading{text-align:left;padding:0 2px 18px}
.profile-page-heading h1{font-size:30px;font-weight:500;margin-top:8px}
.profile-page .profile-head{padding:22px 20px 18px;border:1px solid #454642;border-radius:20px;background:#343632;box-shadow:0 5px 16px #2222220a;overflow:hidden;color:#fff}
.profile-page .profile-user{flex-direction:row;align-items:center;gap:13px;padding:0;text-align:left}
.profile-page .avatar{flex:0 0 46px;width:46px;height:46px;border:1px solid #ffffff24;border-radius:50%;background:#ffffff12;color:#fff;box-shadow:none;font-size:20px;font-weight:500}
.profile-page .profile-user>div:nth-child(2){flex:1;min-width:0;width:auto}
.profile-page .profile-greeting{margin:0 0 5px;font-size:9px;line-height:1.5;color:#b7bbb0}
.profile-page .profile-user h2{margin:0 0 5px;font-size:20px;font-weight:500;letter-spacing:-.3px;line-height:1.3;color:#fff}
.profile-page .profile-user p{display:block;margin:0;font-size:11px;line-height:1.5;letter-spacing:.2px;color:#c3c7bc}
.profile-page .profile-stats.profile-order-count{margin-top:20px;padding:14px 0 0;background:transparent;border-top:1px solid #ffffff18}
.profile-page .profile-order-count .stat{justify-content:space-between;align-items:center;gap:12px}
.profile-page .profile-order-count .stat span{order:1;font-size:11px;font-weight:400;letter-spacing:.2px;color:#c3c7bc;white-space:nowrap}
.profile-page .profile-order-count .stat b{order:2;min-width:30px;padding:0;margin:0;border:0;background:transparent;color:#fff;font-size:22px;font-weight:500;line-height:1.2;text-align:right}
.menu-qty-control{width:100px;height:38px;justify-content:center;gap:0;padding:3px;overflow:hidden;transition:width .22s ease}
.menu-qty-control>[data-menu-dec],.menu-qty-control>[data-menu-inc]{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;padding:0;margin:0 4px;opacity:1;transition:width .22s ease,margin .22s ease,opacity .16s ease}
.menu-qty-control>.menu-qty-value{flex:0 0 24px;width:24px;min-width:24px;height:28px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--text);font-size:13px;font-weight:600;line-height:1;cursor:pointer}
.menu-qty-control.is-collapsed{width:38px}
.menu-qty-control.is-collapsed>[data-menu-dec],.menu-qty-control.is-collapsed>[data-menu-inc]{width:0;margin:0;opacity:0;pointer-events:none;overflow:hidden}
.menu-qty-value:focus-visible{outline:2px solid #888;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){
  .menu-qty-control,.menu-qty-control>[data-menu-dec],.menu-qty-control>[data-menu-inc]{transition:none}
}
body.checkout-view{background:#fff!important}
body.checkout-view #app{background:#fff}
.checkout-view .checkout-fulfillment-summary,.checkout-view .delivery-option-card,.checkout-view .payment-option,.checkout-view .checkout-order-note,.checkout-view .promo.cart-action-row,.checkout-view .bank-transfer-upload{background:#f7f7f7}
.checkout-view .delivery-option-card[aria-checked="true"]{background:#f1f1f1}
.checkout-view .payment-choice.selected .payment-option{background:#f1f1f1}
.checkout-view .promo.cart-action-row.has-applied-promo{background:#f2f6f1}
.checkout-actions{background:#fff}
.bank-account-detail b{display:block;font-size:12px;font-weight:500;line-height:1.5;color:#555}
.bank-account-detail span{display:block;margin-top:4px;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:#292929}
.bank-account-text{font-size:12px;line-height:1.6}
.checkout-order-tabs{display:flex}
.checkout-order-tabs button{flex:1;min-width:0;border:0;background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.checkout-order-tabs button:focus-visible{outline:2px solid #888;outline-offset:1px}
.checkout-order-tabs button:disabled{cursor:wait;opacity:.6}
@media(prefers-reduced-motion:reduce){
  .checkout-order-tabs button{transition:none}
}
#bankDetails{padding-top:4px}
.bank-account-heading{display:flex;align-items:center;justify-content:space-between}
.bank-account-heading b{color:#383832}
.bank-currency{flex-shrink:0;border:1px solid #e4e4dd;color:#77776d;font-weight:600;letter-spacing:.5px}
.bank-account-detail .bank-account-holder{color:#85857b}
.bank-account-number{padding-top:10px}
.bank-account-number>small{color:#929287;font-size:9px;line-height:1.5}
.bank-account-detail .bank-account-number>span{display:block;color:#36362f;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.checkout-order-tabs{gap:5px;padding:5px;margin:16px 16px 16px;border:1px solid #e9e9e4;border-radius:16px;background:#f5f5f2}
.checkout-order-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 14px;border-radius:11px;color:#8b8b81;font-size:13px;font-weight:500}
.checkout-order-tabs button[aria-selected="true"]{background:#353632;color:#fff;font-weight:600;box-shadow:0 2px 5px #00000012}
.checkout-tab-icon{display:grid;place-items:center;flex-shrink:0}
.checkout-tab-icon .fulfillment-svg{width:20px;height:20px}
.bank-account-detail{position:relative;margin:0;padding:11px 0;border:0;border-bottom:1px solid #ecece7;border-radius:0;background:transparent}
.bank-account-heading{gap:10px}
.bank-account-heading b{font-size:12px;line-height:1.4;font-weight:600}
.bank-currency{padding:2px 5px;font-size:8px;border-radius:4px;background:#f5f5f2}
.bank-account-detail .bank-account-holder{margin:2px 0 4px;font-size:10px;line-height:1.4}
.bank-account-number{padding:0;border-top:0}
.bank-account-number>small{display:none}
.bank-account-detail .bank-account-number>span{margin-top:2px;font-size:13px;line-height:1.4;font-weight:500;letter-spacing:.2px}
.checkout-fulfillment-card{margin:16px;border:1px solid #e9e9e4;border-radius:18px;padding:12px;background:#f7f7f5}
.checkout-fulfillment-card .checkout-order-tabs{margin:0;padding:4px;border-color:#e7e7e1;background:#edede9;border-radius:12px}
.checkout-fulfillment-card .checkout-order-tabs button{min-height:40px;border-radius:9px}
.checkout-view .checkout-fulfillment-card .checkout-fulfillment-summary{margin:0;padding:16px 3px;border:0;border-radius:0;background:transparent;gap:12px}
.checkout-view .checkout-fulfillment-card .checkout-delivery-options{padding:14px 0 0;border-top:1px solid #e5e5df}
.checkout-view .checkout-fulfillment-card .checkout-delivery-options h3{font-size:13px;font-weight:600;margin:0 0 10px}
.checkout-view .checkout-fulfillment-card .delivery-option-card{background:#fff;border-radius:12px}
.checkout-view .checkout-fulfillment-card .delivery-option-card[aria-checked="true"]{background:#f0f0ec}
.checkout-view .checkout-fulfillment-card .checkout-fulfillment-summary:last-child{padding-bottom:4px}
.cart-merchant-card{border-bottom:0}
.cart-order-type{padding:12px 16px 0}
.cart-order-type .fulfillment-trigger{min-height:60px;padding:12px 14px}
.cart-delivery-address{margin:10px 16px 8px;min-height:60px;padding:10px 14px;border-radius:14px;gap:12px;box-shadow:none}
.cart-delivery-address .home-address-icon{width:24px;height:24px;flex:0 0 24px;background:transparent;color:#666;border-radius:0}
.cart-delivery-address .home-address-copy{gap:3px}
.cart-delivery-address .home-address-copy b{font-size:13px;font-weight:500;line-height:1.4}
.cart-delivery-address .home-address-copy small{font-size:11px;line-height:1.5}
.cart-delivery-address .home-address-arrow{font-size:22px;color:#888;line-height:1}

.orders-sticky-header{position:sticky;top:0;z-index:35;background:#fff}
.orders-sticky-header .page-title{position:static}
.orders-sticky-header .order-tabs{margin:0;padding:12px 16px;background:#fff;border-bottom:0}
.order-detail-qty small{font-size:10px;font-weight:400;color:#999b91}

.merchant-context-banner{height:64px;isolation:isolate;background:#454545;border-bottom:0;gap:12px}
.merchant-context-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;pointer-events:none}
.merchant-context-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0009,#0006 65%,#0003);pointer-events:none}
.merchant-context-banner .merchant-menu-name{flex:1;min-width:0;color:#fff}
.merchant-context-banner .merchant-menu-name b{font-size:15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.merchant-context-banner .merchant-menu-name span{font-size:10px;color:#ffffffe0}
.merchant-context-banner .merchant-menu-back{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:0;background:#ffffffed;color:#303030}
.merchant-context-banner .merchant-menu-back svg{display:block;flex-shrink:0}
.order-progress{isolation:isolate}
.order-progress li:before{z-index:-1}
.order-progress li span{z-index:1}
.profile-page .profile-order-count .stat b{font-size:28px;font-weight:600}

.order-head .status.delivered::before{content:'\2713';margin-right:5px;font-size:11px}

.profile-page{background:#fff}
.profile-page-heading h1{margin-top:0}
.profile-page .profile-head{background:#f5f5f3;border-color:#e9e9e4;color:#30302d;box-shadow:none}
.profile-page .avatar{background:#e8e8e3;border-color:#deded7;color:#45453f}
.profile-page .profile-greeting{color:#8b8b80}
.profile-page .profile-user h2{color:#30302d}
.profile-page .profile-user p{color:#77776e}
.profile-page .profile-stats.profile-order-count{border-top-color:#e3e3dc}
.profile-page .profile-order-count .stat span{color:#77776e}
.profile-page .profile-order-count .stat b{color:#30302d}
.profile-page .setting-card{background:#f7f7f5;border-color:#ecece7;box-shadow:none}
.profile-page .setting-row{background:transparent}
.profile-page .setting-icon{background:#ebebe6}
.profile-page .profile-signout button{background:#f7f7f5;border-color:#ecece7}
.order-alert-modal{padding:28px 24px 24px;border:1px solid #eeece5;border-radius:24px}
.order-alert-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 20px;background:#f4f0e5;border:1px solid #e9e1cf;border-radius:19px;color:#82704b}
.order-alert-icon svg{width:29px;height:29px}
.order-alert-eyebrow{display:block;margin-bottom:9px;font-size:9px;font-weight:600;letter-spacing:1.8px;color:#a29a89}
.order-alert-modal h2{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin-bottom:12px;color:#33342e}
.order-alert-modal p{font-size:13px;line-height:1.75;color:#88867b}
.order-alert-ok{width:100%;min-height:46px;padding:13px 18px;margin-top:24px;border:0;border-radius:12px;background:#353632;color:#fff;font-size:13px;font-weight:600}
.order-alert-ok:hover{background:#242520}
@media (max-width: 600px){
  html{touch-action:pan-x pan-y}
  input,select,textarea{font-size:16px!important}
}
.rating-modal,.rating-modal:focus,.rating-modal:focus-visible{border:0;outline:none}

@media (hover:none) and (pointer:coarse){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .fulfillment-backdrop,.fulfillment-sheet,.rating-modal,.confirmation-modal{touch-action:pan-x pan-y}
  .fulfillment-sheet,.rating-modal,.confirmation-modal{max-width:100%;box-sizing:border-box;overflow-x:hidden}
  .fulfillment-sheet input,.fulfillment-sheet select,.fulfillment-sheet textarea,
  .rating-modal input,.rating-modal select,.rating-modal textarea,
  .confirmation-modal input,.confirmation-modal select,.confirmation-modal textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}
  .gift-form,.gift-form label,.gift-phone,.cart-note-modal textarea{min-width:0}
}
.recommendation-details{border:0;outline:none;-webkit-text-fill-color:currentColor}
button{-webkit-text-fill-color:currentColor}
@media (hover:none) and (pointer:coarse){
  .recommendation-details:focus,.recommendation-details:focus-visible{outline:none;box-shadow:none}
}
.app-version{display:block;margin:16px 0 0;text-align:center;font-size:9px;line-height:1.5;letter-spacing:.4px;color:#aaa99f}

.checkout-section .bank-transfer-choice{border:1px solid #dedede;border-radius:15px;background:#f7f7f7;overflow:hidden}
.checkout-section .bank-transfer-choice.selected{border:2px solid var(--brand)}
.checkout-section .bank-transfer-choice .payment-option{border:0;border-radius:0;background:transparent;padding:14px}
.checkout-section .bank-transfer-choice.selected .payment-option{border:0;padding:13px;background:transparent}
.bank-transfer-choice #bankDetails{margin:0 13px;padding:4px 0 13px;border-top:1px solid #e3e3de}
.bank-transfer-choice .bank-transfer-upload{background:#fff}
.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:160px;padding:24px 16px;box-sizing:border-box;text-align:center;font-size:12px;font-weight:400;line-height:1.6;color:#898a80;grid-column:1 / -1}
.loading-state--page{min-height:55vh;min-height:55dvh}
.loading-state--compact{min-height:80px;padding:16px;gap:8px}
.loading-spinner{display:block;flex:0 0 auto;width:24px;height:24px;border:2px solid #e8e9e2;border-top-color:#65775c;border-radius:50%;animation:loading-spin .8s linear infinite}
.loading-state--compact .loading-spinner{width:19px;height:19px}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-color:#cbd2c5;border-top-color:#65775c}}
.grocery-merchant-menu .grocery-category-tabs{position:static;top:auto;z-index:auto;margin:0;padding:10px 16px;gap:8px;border-bottom:0}
.grocery-merchant-menu .grocery-category-tabs .category-btn{padding:10px 14px;border:0;border-radius:10px;font-size:11px}
.grocery-merchant-menu .grocery-category-tabs .category-btn.active{background:var(--brand);color:#fff}
.grocery-merchant-menu .grocery-list-page{padding:16px 16px 100px}
.grocery-merchant-menu #groceryProducts .product-row{padding-left:0;padding-right:0}
.grocery-merchant-menu [hidden]{display:none!important}
.product-detail:not(.no-product-image)>.merchant-context-header{display:flex;height:64px;margin-bottom:-64px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.product-detail.product-header-pinned:not(.no-product-image)>.merchant-context-header{opacity:1;pointer-events:auto}
.product-hero>.product-image-back{position:absolute;top:14px;left:16px;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#ffffffed;color:#303030;box-shadow:0 2px 8px #00000012}
.product-image-back svg{display:block;flex-shrink:0}
.menu-qty-control.is-collapsed{background:#4D4A4A;border-color:#4D4A4A;box-shadow:0 2px 6px #00000008}

.menu-qty-control.is-collapsed>.menu-qty-value{color:#fff}

.product-scroll-marker{position:absolute;top:12px;left:0;width:1px;height:1px;pointer-events:none}
.product-header-pinned .product-image-back{opacity:0;pointer-events:none}
.product-image-back{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.product-detail:not(.no-product-image)>.merchant-context-header,.product-image-back{transition:none}}
.profile-information-links { display: flex; justify-content: center; gap: 12px; padding: 20px; flex-wrap: wrap; }
.information-page { padding: 0 20px 24px; }
.information-page p { line-height: 1.6; flex-shrink: 0; }
.profile-delete-account{margin:20px;text-align:center;padding-top:20px;border-top:1px solid var(--line)}
.profile-delete-account button{border:1px solid #e8caca;border-radius:12px;background:#fff;color:#b42318;padding:12px 20px;font-size:14px}
.profile-delete-account button:disabled{opacity:.5;cursor:wait}
.profile-delete-account p{color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0 0}
.profile-page>.app-version{margin-top:8px}
.profile-page{padding:20px 16px 18px}
.profile-page>.account-brand{margin-bottom:20px}
.profile-page .profile-head{padding:20px;border-radius:22px;background:linear-gradient(135deg,#f6f6f3,#efefeb);border-color:#e6e6e0}
.profile-page .avatar{width:48px;height:48px;flex-basis:48px;background:#fff;border-color:#e2e2da;font-weight:600}
.profile-page .profile-greeting{font-size:10px;color:#74746b}
.profile-page .profile-user h2{font-size:20px;font-weight:600;letter-spacing:-.4px}
.profile-page .profile-user p{font-size:12px;color:#67675e}
.profile-page .profile-stats.profile-order-count{margin-top:18px;padding-top:14px}
.profile-page .profile-order-count .stat span{font-size:12px}
.profile-page .profile-order-count .stat b{font-size:26px}
.profile-page .profile-section{padding-top:22px}
.profile-page .profile-section h3{margin:0 3px 10px;font-size:10px;letter-spacing:1.4px;color:#74746b}
.profile-page .setting-card{border-radius:20px;background:#fff;border-color:#e7e7e1;overflow:hidden}
.profile-page .setting-row{padding:16px 14px;gap:12px;border-bottom-color:#efefeb;min-height:76px}
.profile-page .setting-icon{width:38px;height:38px;border-radius:12px;background:#f1f1ed;color:#626259}
.profile-page .setting-copy b{font-size:14px;margin-bottom:4px;color:#30302d}
.profile-page .setting-copy>span{font-size:12px;line-height:1.45;color:#797970}
.profile-page .profile-chevron{font-size:17px;color:#8a8a80}
.profile-page .profile-information-links{padding:14px 0 10px;gap:10px}
.profile-page .profile-information-links .small-btn{min-height:36px;padding:8px 14px;border-radius:10px;background:#f7f7f4;border-color:#eaeae4;font-size:11px;color:#626259}
.profile-page .profile-delete-account{margin:6px 0 0;padding-top:14px}
.profile-page .profile-delete-account button{padding:10px 16px;border-radius:11px;font-size:12px;border-color:#efd6d2;background:#fffafa}
.profile-page .profile-delete-account p{margin-top:8px;font-size:11px;color:#838379}
.profile-page .profile-signout{padding-top:16px}
.profile-page #logoutBtn{min-height:46px;padding:12px;border-radius:13px;background:#f5f5f1!important;border-color:#e5e5de!important;font-weight:500}
.profile-page .profile-signout p{margin-top:12px;font-size:10px;letter-spacing:.15px}
.information-page a { color: inherit; text-decoration: underline; }
body.information-view #app { height: 100vh; height: 100dvh; min-height: 0; display: flex; flex-direction: column; padding-bottom: env(safe-area-inset-bottom); }
.information-view .page-title { flex-shrink: 0; }
.information-view .information-page { flex: 1; min-height: 0; display: flex; flex-direction: column; padding-bottom: 16px; }
.information-frame { flex: 1; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; border: 1px solid #e5e5e5; border-radius: 12px; }
.information-page iframe { display: block; width: 100%; height: 100%; border: 0; background: white; }
/* Fixed translucent bars otherwise repaint the moving list beneath them. */
@supports (-webkit-touch-callout:none){
  .bottom-nav,.topbar:not(.orange){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  .topbar.orange,.fulfillment-trigger,.merchant-favourite-button{-webkit-backdrop-filter:none;backdrop-filter:none}
  .landing-banners{scroll-snap-type:x proximity}
}

html[data-csp="QRSL"] [data-timing="Scheduled"]{display:none}
