:root{--safe-bottom:env(safe-area-inset-bottom,0px)}
.address-button strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.extra-sheet{position:fixed;z-index:70;left:50%;bottom:0;width:min(100%,520px);max-height:88dvh;background:#fff;border-radius:22px 22px 0 0;transform:translate(-50%,105%);transition:transform .25s ease;box-shadow:0 -18px 50px rgba(12,25,45,.18);padding-bottom:var(--safe-bottom);overflow:auto}
.extra-sheet.open{transform:translate(-50%,0)}
.extra-sheet>header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #f0f1f4;font-size:18px}
.extra-sheet>header button{width:38px;height:38px;border:0;background:#f5f6f8;border-radius:50%;font-size:25px}.extra-sheet>header span{width:38px}
.location-body{padding:18px 18px 24px;overflow:auto}.privacy-callout{display:flex;gap:12px;padding:14px;border-radius:14px;background:#fff7ec;color:#6c4a22}.privacy-callout>span{font-size:28px;color:#ff640d}.privacy-callout strong{font-size:15px}.privacy-callout p{margin:5px 0 0;font-size:12px;line-height:1.55;color:#826848}
.locate-button{width:100%;margin:16px 0;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #eef0f3;background:#fff;border-radius:15px;padding:15px;box-shadow:0 7px 24px rgba(15,30,55,.06)}.locate-button>span{display:grid;place-items:center;width:42px;height:42px;background:#fff1e8;border-radius:12px;color:#ff640d;font-size:24px}.locate-button div{flex:1}.locate-button strong,.locate-button small{display:block}.locate-button small{color:#8d96a5;margin-top:4px}.locate-button b{font-size:25px;color:#a5acb7}
.manual-address{display:block}.manual-address>span,.contact-grid span{display:block;margin:0 0 7px;font-size:13px;color:#707a89}.manual-address textarea,.contact-grid input{box-sizing:border-box;width:100%;border:1px solid #e6e9ee;background:#f8f9fb;border-radius:12px;padding:12px;font:inherit;outline:none}.manual-address textarea{height:78px;resize:none}.manual-address textarea:focus,.contact-grid input:focus{border-color:#ff7a2d;background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:13px}.sheet-primary{width:100%;height:50px;margin-top:18px;border:0;border-radius:14px;background:linear-gradient(90deg,#ff7b22,#ff5708);color:#fff;font-size:17px;font-weight:700}
.checkout-section-title{font-size:15px;color:#202634}.checkout-option-card{margin-top:10px;background:#fff;border-radius:14px;padding:0 16px}.checkout-option-line{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid #f2f3f5}.checkout-option-line:last-child{border:0}.checkout-option-line span{font-weight:600}.checkout-option-line b{font-size:13px;color:#8b94a3;font-weight:400}.checkout-option-line .accent{color:#ff5a0a}.checkout-address-actions{display:flex;gap:8px;margin:9px 0 0}.checkout-address-actions button{border:1px solid #ff8b4b;background:#fff;color:#f45c0d;border-radius:9px;padding:7px 11px}
.payment-sheet{max-height:96dvh}.payment-sheet>header{justify-content:space-between}.payment-body{padding:22px 20px 0;text-align:center}.mock-badge{display:inline-block;padding:5px 11px;border-radius:20px;background:#fff0e6;color:#f05e14;font-size:12px}.merchant-label{margin:25px 0 6px;color:#686f7b}.payment-amount{font-size:25px}.payment-amount strong{font-size:44px}.payment-method-row{display:flex;align-items:center;gap:12px;text-align:left;margin:24px 0 14px;padding:14px;border-radius:14px;background:#f7f8fa}.method-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#ff8e38,#ff4f05);color:#fff;font-weight:800}.payment-method-row div{flex:1}.payment-method-row strong,.payment-method-row small{display:block}.payment-method-row small{margin-top:3px;color:#9199a5}.payment-warning{text-align:left;padding:12px 14px;border-radius:12px;background:#fff8dc;color:#6c5c27}.payment-warning strong{font-size:13px}.payment-warning p{margin:4px 0 0;font-size:12px;line-height:1.45}.pin-dots{display:flex;justify-content:center;gap:18px;margin:21px 0}.pin-dots i{width:13px;height:13px;border:1px solid #c9cdd4;border-radius:50%}.pin-dots i.filled{background:#1e2530;border-color:#1e2530}
.mock-keypad{display:grid;grid-template-columns:repeat(3,1fr);margin:0 -20px;background:#e9ebef;gap:1px}.mock-keypad button{height:57px;border:0;background:#fff;font-size:23px}.mock-keypad button:active{background:#e9ebef}.mock-keypad button:disabled{background:#f0f1f3}.payment-success{display:none;padding:35px 0 45px}.payment-success.show{display:flex;flex-direction:column;align-items:center}.payment-success span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#20b96b;color:white;font-size:36px}.payment-success strong{margin-top:14px;font-size:20px}.payment-success small{margin-top:7px;color:#88909c}.payment-success.show~*{display:none}
.catalog-count{margin-left:6px;color:#ff640d;font-size:11px}.catalog-disclaimer{padding:12px 16px;margin:10px 12px 90px;background:#f8f9fb;color:#8c94a1;border-radius:10px;font-size:11px;line-height:1.5}
.coupon-stack{margin:12px;background:linear-gradient(145deg,#fffaf5,#fff);border:1px solid #ffe2ce;border-radius:16px;overflow:hidden}.coupon-stack>header{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:#fff2e8}.coupon-stack>header strong{font-size:16px}.coupon-stack>header span{font-size:12px;color:#e75a12}.coupon-stack label{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px dashed #eee}.coupon-stack label:last-child{border:0}.coupon-stack label>i{font-style:normal;border:1px solid #ff8d53;color:#ff5c0b;border-radius:5px;padding:3px 5px;font-size:11px}.coupon-stack label>div{flex:1}.coupon-stack label strong,.coupon-stack label small{display:block}.coupon-stack label small{margin-top:3px;color:#999;font-size:10px}.coupon-stack label>b{color:#ff4f0a;font-size:12px}.coupon-stack .experience-coupon{background:#fffdf3}.coupon-stack .experience-coupon>i{color:#b27900;border-color:#e4b84f}
.member-hub{margin:9px 12px 11px;border:1px solid #f2e5d5;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(57,35,14,.07);overflow:hidden}.member-summary{display:flex;align-items:center;padding:15px 14px 13px}.member-summary>div{flex:1;min-width:0}.member-summary small,.member-summary strong{display:block}.member-summary small{color:#9a8371;font-size:10px}.member-summary strong{margin-top:3px;color:#26221f;font-size:18px}.member-summary>span{width:1px;height:31px;margin:0 15px;background:#eee3d9}.member-summary>button{display:flex;align-items:center;gap:7px;border:0;border-radius:19px;padding:7px 10px 7px 7px;background:#fff4e8;color:#dd5609}.member-summary>button i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ff6818;color:#fff;font-style:normal;font-size:11px}.member-summary>button b{font-size:11px;white-space:nowrap}.member-card-entry{display:flex;align-items:center;width:100%;height:42px;padding:0 13px;border:0;border-top:1px solid #f5e7d7;background:linear-gradient(90deg,#fff9ed,#fff3df);text-align:left;color:#643a16}.member-card-entry span{padding:3px 6px;border-radius:5px;background:#31251d;color:#ffddb0;font-size:9px}.member-card-entry strong{margin-left:9px;font-size:11px}.member-card-entry>b{margin-left:auto;color:#ee5a0b;font-size:10px}.member-card-entry i{font-style:normal;font-size:15px}.account-body{padding:0 16px 28px}.wallet-hero{margin:14px 0;padding:22px;border-radius:20px;color:#f8e2b5;background:radial-gradient(circle at 80% 20%,#72512b,#2a2118 60%)}.wallet-hero small,.wallet-hero strong{display:block}.wallet-hero strong{margin:7px 0;font-size:36px}.wallet-hero p{margin:0;color:#bfae98;font-size:11px;line-height:1.5}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-actions button{border:1px solid #eee;border-radius:15px;background:#fff;padding:16px 10px;text-align:left}.account-actions span{font-size:24px}.account-actions strong,.account-actions small{display:block}.account-actions strong{margin-top:8px}.account-actions small{margin-top:4px;color:#9a846f}.coupon-wallet,.transaction-list{margin-top:15px;border:1px solid #eee;border-radius:16px;overflow:hidden}.coupon-wallet>header,.transaction-list>header{display:flex;justify-content:space-between;padding:13px 14px;background:#fafafa}.coupon-wallet>header span{color:#ff640d}.coupon-wallet article{display:flex;align-items:center;gap:12px;padding:13px;border-top:1px dashed #eee}.coupon-wallet article>b{color:#ff5b0b;font-size:18px}.coupon-wallet article>div{flex:1}.coupon-wallet article strong,.coupon-wallet article small{display:block}.coupon-wallet article small{margin-top:4px;color:#999;font-size:10px}.coupon-wallet article>i{font-style:normal;color:#17a05d;font-size:11px}.coupon-empty{padding:25px;text-align:center;color:#999;font-size:12px}.transaction-list>div{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid #f3f3f3}.transaction-list span strong,.transaction-list span small{display:block}.transaction-list span small{margin-top:3px;color:#999;font-size:10px}.transaction-list b{color:#222}.transaction-list b.income{color:#e95812}
.store-pane{display:none}.store-pane.active{display:block}.store-pane#menuPane.active{display:block}.store-pane#menuPane .menu-layout{top:360px}.store-detail-scroll{position:absolute;left:0;right:0;top:360px;bottom:0;overflow-y:auto;background:#f5f6f8;padding-bottom:30px;-webkit-overflow-scrolling:touch}.review-overview{display:flex;align-items:center;gap:30px;padding:22px;background:#fff}.review-overview>div:first-child{text-align:center}.review-overview>div:first-child strong{display:block;color:#ff5a0a;font-size:34px}.review-overview span{font-size:11px;color:#8a909b}.rating-bars p{margin:5px 0;font-size:12px}.rating-bars b{margin-left:18px;color:#ff5a0a}.review-filters{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #f2f2f2;overflow-x:auto}.review-filters button{flex:none;border:0;border-radius:15px;background:#f5f6f8;padding:7px 11px;font-size:11px}.review-filters button.active{background:#fff0e8;color:#ff5a0a}.write-review{display:block;width:calc(100% - 24px);height:42px;margin:10px 12px;border:1px solid #ff8b4c;border-radius:12px;background:#fff;color:#ff5a0a;font-weight:700}.review-list{padding:0 12px}.review-card{display:flex;gap:10px;margin-bottom:9px;padding:14px;background:#fff;border-radius:14px}.review-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#ffe8d5,#ffc69b);color:#a94a16;font-weight:700}.review-main{min-width:0;flex:1}.review-main header{display:flex;justify-content:space-between}.review-main header strong{font-size:13px}.review-main header strong i{margin-left:5px;padding:2px 4px;border-radius:3px;background:#fff0e8;color:#ff5a0a;font-size:8px;font-style:normal}.review-main header small{color:#aaa;font-size:9px}.review-stars{margin-top:4px;color:#ff720d;font-size:11px}.review-main p{margin:8px 0;font-size:12px;line-height:1.6}.review-images{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.review-images img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.merchant-reply{margin-top:8px;padding:9px;border-radius:8px;background:#f7f7f7;color:#777;font-size:10px;line-height:1.5}.merchant-reply strong{color:#333}.review-composer{position:relative;z-index:3;margin:10px 12px;padding:14px;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.1)}.review-composer header{display:flex;justify-content:space-between}.review-composer header button{border:0;background:none;font-size:22px}.composer-stars button{border:0;background:none;color:#ddd;font-size:25px}.composer-stars button.active{color:#ff6a0c}.review-composer textarea{box-sizing:border-box;width:100%;height:90px;padding:10px;border:1px solid #e7e7e7;border-radius:10px;resize:none}.review-photo-picker{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.review-photo-picker button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:7px}.review-photo-picker span{color:#999;font-size:10px}.submit-review{width:100%;height:42px;margin-top:10px;border:0;border-radius:10px;background:#ff630d;color:#fff;font-weight:700}.merchant-card{margin:10px 12px;padding:15px;border-radius:14px;background:#fff}.merchant-title{display:flex;gap:12px}.merchant-title img{width:58px;height:58px;object-fit:cover;border-radius:10px}.merchant-title h2{margin:4px 0;font-size:16px}.merchant-title p,.merchant-card>p{color:#7d8490;font-size:11px;line-height:1.7}.merchant-info-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f2f2f2;font-size:12px}.merchant-info-row b{max-width:65%;text-align:right}.merchant-card h3{font-size:14px}.merchant-badges{display:flex;flex-wrap:wrap;gap:8px}.merchant-badges span{padding:6px 9px;border-radius:6px;background:#f2f8f4;color:#22925e;font-size:10px}.merchant-card a{color:#ff5a0a;font-size:11px;text-decoration:none}
@media(max-width:560px){.store-hero{height:178px}.delivery-choice{height:45px}.store-notice{height:39px}.store-tabs{height:48px}.store-pane#menuPane .menu-layout,.store-detail-scroll{top:310px}.menu-layout{bottom:74px}.menu-panel,.category-rail{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.store-tabs{position:relative;z-index:12}}
@media(max-width:560px){.extra-sheet{left:0;width:100%;transform:translateY(105%)}.extra-sheet.open{transform:translateY(0)}.address-button strong{max-width:55vw}}

/* Single-scroll store page: avoids nested-scroll gesture loss in Android WebView. */
#storeView{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;scrollbar-width:none}
#storeView::-webkit-scrollbar{display:none}
#storeContent{position:relative;min-height:100%;padding-bottom:74px}
#storeView .store-tabs{position:sticky!important;top:0;z-index:30}
#storeView .store-pane#menuPane .menu-layout{position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;min-height:calc(100vh - 122px);align-items:start}
#storeView .category-rail{position:sticky;top:48px;height:calc(100vh - 122px);max-height:calc(100dvh - 122px);overflow-y:auto;-webkit-overflow-scrolling:touch}
#storeView .menu-panel{min-width:0;overflow:visible!important;padding-bottom:30px}
#storeView .menu-panel>section{scroll-margin-top:56px}
#storeView .store-detail-scroll{position:relative!important;inset:auto!important;top:auto!important;bottom:auto!important;min-height:calc(100vh - 48px);overflow:visible!important;padding-bottom:34px}
#storeView .cart-bar{position:fixed!important;left:max(calc(50% - 80px),380px);right:auto;width:min(100%,520px);bottom:0;z-index:45}
.load-more-reviews{display:block;width:calc(100% - 24px);height:45px;margin:8px 12px 18px;border:1px solid #e4e6e9;border-radius:12px;background:#fff;color:#606774;font-size:12px}.reviews-end{padding:20px;text-align:center;color:#aaa;font-size:11px}
@media(max-width:900px){#storeView .cart-bar{left:0;width:100%}}
@media(max-width:560px){#storeView .store-hero{height:178px}#storeView .store-tabs{height:48px}#storeView .category-rail{top:48px;height:calc(100vh - 122px);height:calc(100dvh - 122px)}}
