.jv2-food-screen{min-height:100vh;background:#f5f8fd;color:#173052;font-family:'Plus Jakarta Sans',sans-serif;padding-bottom:110px}.jv2-food-head{display:flex;align-items:center;gap:15px;padding:32px 22px 25px;background:linear-gradient(135deg,#0b55b5,#1674e7);color:#fff;border-radius:0 0 28px 28px}.jv2-food-head button{background:#ffffff25;border:0;color:#fff;border-radius:12px;font-size:24px;padding:7px 13px}.jv2-food-head div{flex:1}.jv2-food-head small{font-size:10px;letter-spacing:1px}.jv2-food-head h1{font-size:26px;margin:5px 0}.jv2-food-head p{margin:0;font-size:12px}.jv2-food-head>span{font-size:35px}.jv2-food-search{margin:18px 17px}.jv2-food-search input{box-sizing:border-box;width:100%;border:1px solid #d9e4f3;border-radius:15px;background:#fff;padding:15px;font:inherit;font-size:13px}.jv2-food-cats{display:flex;gap:8px;overflow-x:auto;padding:0 17px 12px}.jv2-food-cats button{flex-shrink:0;border:1px solid #dce5f3;background:#fff;border-radius:30px;padding:10px 13px;color:#3d5574;font-size:12px}.jv2-food-cats button.active{background:#176de1;color:#fff;border-color:#176de1}.jv2-food-section{padding:10px 17px}.jv2-food-section h2{font-size:18px;margin:7px 0}.jv2-food-section>p{font-size:12px;color:#60748f;margin:0 0 18px}.jv2-food-card{display:flex;text-align:left;width:100%;gap:12px;background:#fff;border:1px solid #e4ebf5;border-radius:17px;padding:10px;margin-bottom:11px;box-shadow:0 4px 18px #163d6a0b}.jv2-food-image{display:grid;place-items:center;width:102px;min-width:102px;height:106px;border-radius:12px;overflow:hidden;background:#eaf2fc;font-size:35px}.jv2-food-image img{width:100%;height:100%;object-fit:cover}.jv2-food-info{display:flex;flex-direction:column;gap:6px;min-width:0}.jv2-food-info small{font-size:10px;color:#687d96}.jv2-food-info strong{font-size:14px;color:#16385e}.jv2-food-info span{font-size:11px;color:#72849b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jv2-food-info em{font-style:normal;font-size:10px;color:#996b12}.jv2-food-empty{padding:25px 15px;background:#fff;border-radius:16px;color:#60748f;font-size:13px;text-align:center}.jv2-food-modal{position:fixed;inset:0;z-index:999999;background:#0c1d36aa;display:flex;align-items:end;justify-content:center}.jv2-food-modal-card{position:relative;max-height:85vh;overflow:auto;background:white;border-radius:22px 22px 0 0;padding:24px;width:100%;max-width:600px;box-sizing:border-box}.jv2-food-modal-card>button{position:absolute;right:15px;top:15px;border:0;border-radius:50%;background:#eef4fb;padding:10px}.jv2-food-modal-card>img{width:100%;max-height:210px;object-fit:cover;border-radius:15px}.jv2-food-modal-card h2{margin:17px 0 8px}.jv2-food-modal-card p{color:#526781;font-size:13px}.jv2-food-disabled{background:#fff6e4;color:#8d6417;padding:14px;border-radius:12px;font-size:12px}

/* v0.16.44 menu catalog preview */
.jv2-food-catalog-list{margin-top:16px;text-align:left}.jv2-food-catalog-list h3{font-size:15px;margin:12px 0}.jv2-food-menu-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #e8edf6}.jv2-food-menu-item img{width:72px;height:72px;object-fit:cover;border-radius:12px;flex-shrink:0}.jv2-food-menu-item strong{display:block;font-size:13px}.jv2-food-menu-item p{font-size:12px;margin:3px 0;color:#64748b}.jv2-food-menu-item b{font-size:13px;color:#155ac0}.jv2-food-menu-item small{font-size:11px;color:#64748b}
/* v0.16.45: mobile cart preview; no payment action before dispatch integration */
.jv2-food-cart-controls{display:flex;gap:7px;align-items:center;margin-top:8px}.jv2-food-cart-controls button{border:1px solid #d5e3fa;background:#f1f6ff;border-radius:9px;color:#155ac0;padding:5px 11px;font-weight:700}.jv2-food-cart-panel{position:sticky;bottom:0;background:#fff;border:1px solid #d7e4fa;border-radius:14px;padding:13px;margin-top:16px;box-shadow:0 -3px 18px #142b4914}.jv2-food-cart-panel h3{margin:0 0 7px;font-size:14px}.jv2-food-cart-panel p{font-size:12px;margin:5px 0;color:#475569}.jv2-food-cart-panel button{width:100%;background:#1b6cea;color:white;border:0;border-radius:10px;padding:11px;margin-top:8px}.jv2-food-cart-panel button:disabled{background:#a8b9d2}.jv2-food-cart-panel label{font-size:12px;display:block;margin-top:8px}.jv2-food-cart-panel select{width:100%;padding:8px;border:1px solid #d7e4fa;border-radius:8px}

/* v0.16.48 — 7-step Food ordering wizard */
.jv2-food-wizard-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5edf8;color:#185eb8;font-weight:700}.jv2-food-wizard-heading small{font-size:11px;color:#8290a4}.jv2-food-wizard-body{padding:12px 0 95px}.jv2-food-wizard-body button{border:1px solid #bcd1f3;border-radius:12px;background:#f0f6ff;color:#165fcb;padding:11px 14px;font-weight:700;margin:4px 3px}.jv2-food-wizard-body button:disabled{opacity:.55}.jv2-food-wizard-body input,.jv2-food-wizard-body textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cdd9eb;border-radius:10px;margin:6px 0 12px}.jv2-food-wizard-body label{display:block;font-size:13px}.jv2-food-sticky{position:sticky;bottom:0;background:white;padding:10px 4px;box-shadow:0 -5px 20px #0e306122;z-index:4}.jv2-food-sticky button{width:100%;background:#146ce8;color:white}.jv2-food-review-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid #e5edf8}.jv2-food-review-item button{min-width:40px}.jv2-food-autocomplete{position:relative}.jv2-food-autocomplete>button{position:absolute;right:3px;top:6px}.jv2-food-autocomplete input{padding-right:45px}.jv2-food-autocomplete [data-food-suggestions] button{display:block;text-align:left;width:100%;background:white;font-weight:400}.jv2-food-preview-note{background:#fff4e4;padding:12px;border-radius:10px;color:#895c16}.jv2-food-map-v1648{position:fixed;inset:0;z-index:2147483000;background:white;display:flex;flex-direction:column;padding:14px;box-sizing:border-box}.jv2-food-map-v1648 header{display:flex;align-items:center;justify-content:space-between;padding:8px}.jv2-food-map-v1648 [data-map-canvas]{flex:1;min-height:250px;border-radius:12px;background:#eaf0f8}.jv2-food-map-v1648 [data-map-save]{background:#146ce8;color:white;border:0;border-radius:12px;padding:15px;font-weight:700}

/* v0.16.48.1 Food immersive ordering */
.jv2-food-modal{align-items:stretch!important;background:#fff!important}
.jv2-food-modal-card{height:100dvh!important;max-height:100dvh!important;max-width:680px!important;border-radius:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 22px)!important;box-shadow:none!important}
.jv2-food-modal-card>button{position:sticky!important;float:right;top:5px;z-index:15;background:#f0f5ff!important;color:#174eab;font-size:18px}
.jv2-food-wizard-heading{position:sticky;top:0;z-index:10;background:#fff;padding:15px 2px;box-shadow:0 4px 12px #0b30620a;justify-content:flex-start;gap:13px}
.jv2-food-wizard-heading>span{flex:1;font-size:14px;letter-spacing:.2px}
.jv2-food-wizard-heading>button{width:38px;height:38px;flex-shrink:0;border:1px solid #dce8fa;border-radius:12px;background:#eff5ff;color:#165dba;font-size:27px;line-height:1;cursor:pointer}
.jv2-food-wizard-heading small{font-size:10px;white-space:nowrap}
.jv2-food-wizard-body{padding-bottom:calc(env(safe-area-inset-bottom) + 85px)}
.jv2-food-qty{display:flex;align-items:center;gap:5px;white-space:nowrap}
.jv2-food-qty button{min-width:33px!important;padding:7px!important;margin:0!important}
.jv2-food-qty strong{min-width:16px;text-align:center}
.jv2-food-sticky{position:sticky;bottom:0;z-index:12;border-radius:15px;padding:9px 6px}
.jv2-food-inline-warning{font-size:12px;color:#b34427}
@media(max-width:430px){.jv2-food-menu-item{gap:8px}.jv2-food-menu-item>div:last-child{min-width:93px}.jv2-food-modal-card>img{max-height:190px}}

/* v0.16.48.2 — mobile food ordering refinements */
.jv2-food-modal-card{padding-top:calc(env(safe-area-inset-top) + 8px)!important}
.jv2-food-modal-card>button[data-food-close]{position:sticky!important;float:right!important;top:4px!important;right:0!important;display:grid;place-items:center;width:40px;height:40px;padding:0!important;margin:0 0 5px 8px!important;box-shadow:0 2px 10px #18385b1a;z-index:25}
.jv2-food-modal-card>img{clear:both;display:block}
.jv2-food-wizard-heading{padding:10px 2px!important}
.jv2-food-wizard-body{padding-top:7px!important}
.jv2-food-wizard-body h3{margin:9px 0 10px!important;font-size:17px}
.jv2-food-wizard-body label{margin-bottom:5px}
.jv2-food-wizard-body input,.jv2-food-wizard-body textarea{margin:4px 0 8px!important;padding:10px!important}
.jv2-food-wizard-body textarea{min-height:58px}
.jv2-food-map-v1648 [data-map-canvas]{touch-action:none;will-change:transform}
.jv2-food-map-v1648 .leaflet-container{touch-action:none}
.jv2-food-map-v1648 p{margin:9px 0;font-size:12px}
.jv2-food-map-v1648 [data-map-save]{margin-bottom:env(safe-area-inset-bottom)}

/* v0.16.48.3 — smooth map gestures and compact checkout actions */
html.jv2-food-map-lock,body.jv2-food-map-lock{overscroll-behavior:none!important}
.jv2-food-map-smooth{height:100dvh!important;overscroll-behavior:none!important;touch-action:none;padding:calc(env(safe-area-inset-top) + 8px) 12px calc(env(safe-area-inset-bottom) + 10px)!important}
.jv2-food-map-smooth [data-map-canvas]{position:relative;overflow:hidden;touch-action:none!important;overscroll-behavior:none;min-height:0!important}
.jv2-food-map-smooth .leaflet-container,.jv2-food-map-smooth .leaflet-pane{touch-action:none!important;overscroll-behavior:none}
.jv2-food-map-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);font-size:38px;line-height:1;z-index:850;pointer-events:none;filter:drop-shadow(0 3px 3px #0004)}
.jv2-food-map-smooth [data-map-save]{flex:none;min-height:50px;width:100%}
.jv2-food-checkout-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:12px 0 16px}
.jv2-food-wizard-body .jv2-food-checkout-actions button{width:100%;min-width:0;margin:0!important;padding:13px 6px!important;font-size:12px;line-height:1.35;min-height:50px}
.jv2-food-wizard-body .jv2-food-checkout-actions button:last-child{background:#176be6;color:#fff;border-color:#176be6}
.jv2-food-wizard-body .jv2-food-checkout-actions button:last-child:disabled{opacity:.55;cursor:not-allowed}

/* v0.16.48.4 native Ride/Car-like drag: no fixed body or scroll capture. */
body.jv2-food-map-native{overscroll-behavior:none!important}
.jv2-food-map-native .jv2-food-map-smooth [data-map-canvas],.jv2-food-map-native .jv2-food-map-smooth .leaflet-container{touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.jv2-food-map-native .jv2-food-map-smooth{position:fixed!important;inset:0!important;z-index:2147483000!important}

/* v0.16.48.5 map location control */
.jv2-food-map-v1648 [data-map-gps]{position:absolute;right:14px;top:72px;z-index:1100;border:0;border-radius:22px;padding:11px 15px;background:#fff;color:#135ac2;font-weight:700;box-shadow:0 4px 15px #0002;touch-action:manipulation}.jv2-food-map-v1648 [data-map-exit]{min-width:42px;min-height:42px;touch-action:manipulation}.jv2-food-autocomplete input[data-food-address-search]{width:100%;padding-right:48px;box-sizing:border-box}

/* v0.16.48.6: single primary location action and always-visible map cancel */
.jv2-food-map-v1648 [data-map-exit]{position:fixed!important;top:calc(env(safe-area-inset-top) + 12px)!important;right:18px!important;z-index:2147483640!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#164f9d!important;font-size:25px!important;line-height:1!important;box-shadow:0 3px 14px rgba(0,0,0,.22)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.jv2-food-map-v1648 header{min-height:48px;padding-right:56px!important;}

/* v0.16.49.2 — checkout as an app screen, no page rubber-band/pull refresh. */
html:has(.jv2-food-modal),body:has(.jv2-food-modal){overscroll-behavior-y:none!important;}
.jv2-food-modal{overscroll-behavior:none!important;touch-action:pan-y;}
.jv2-food-modal-card{overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch;}
.jv2-food-confirm-open{touch-action:none!important;}
.jv2-food-confirm-fixed{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 8px) 14px calc(env(safe-area-inset-bottom) + 9px)!important;}
.jv2-food-confirm-fixed>img,.jv2-food-confirm-fixed>h2,.jv2-food-confirm-fixed>p,.jv2-food-confirm-fixed>.jv2-food-disabled{display:none!important;}
.jv2-food-confirm-fixed>.jv2-food-catalog-list{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;}
.jv2-food-confirm-fixed .jv2-food-wizard-heading{flex:none;margin-top:32px!important;padding:5px 0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{flex:1;min-height:0;overflow:hidden;padding:4px 0 0!important;display:flex;flex-direction:column;justify-content:space-between;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>h3{font-size:16px!important;margin:2px 0 4px!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>p{margin:2px 0!important;font-size:clamp(10px,2.65vw,12px)!important;line-height:1.25!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>h3:nth-of-type(2){font-size:17px!important;margin:4px 0!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel{margin:6px 0!important;padding:8px!important;border-radius:15px;}
.jv2-food-confirm-fixed .jv2-food-payment-heading{margin-bottom:7px!important;gap:7px;}
.jv2-food-confirm-fixed .jv2-food-payment-heading-icon{width:29px;height:29px;font-size:18px;}
.jv2-food-confirm-fixed .jv2-food-payment-heading strong{font-size:12px;}
.jv2-food-confirm-fixed .jv2-food-payment-heading small{font-size:10px;}
.jv2-food-confirm-fixed .jv2-food-payment-options{gap:6px;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:51px;padding:6px 9px!important;gap:8px;border-radius:12px;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-symbol{width:33px;height:33px;flex-basis:33px;font-size:19px;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy strong{font-size:12px;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy small{font-size:10px;line-height:1.2;}
.jv2-food-confirm-fixed .jv2-food-payment-hint{margin:5px 0 0!important;font-size:9px!important;line-height:1.25!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions{margin:5px 0!important;gap:7px;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions button{min-height:41px!important;padding:7px 3px!important;font-size:11px!important;}
.jv2-food-confirm-fixed .jv2-food-preview-note{font-size:9px!important;line-height:1.2!important;padding:4px 7px!important;margin:2px 0!important;}
@media(max-height:690px){.jv2-food-confirm-fixed .jv2-food-payment-heading small,.jv2-food-confirm-fixed .jv2-food-payment-hint{display:none!important;}.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:43px;padding:4px 8px!important;}.jv2-food-confirm-fixed .jv2-food-wizard-body>p{font-size:10px!important;}}

/* v0.16.49.3: apply compact checkout to the ACTUAL modal card (JS selector fixed). */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{overscroll-behavior:none!important;overflow:hidden!important;height:100%!important;}
.jv2-food-modal.jv2-food-confirm-open{touch-action:none!important;overscroll-behavior:none!important;}
.jv2-food-modal-card.jv2-food-confirm-fixed{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;box-sizing:border-box!important;padding:calc(env(safe-area-inset-top) + 5px) 14px calc(env(safe-area-inset-bottom) + 6px)!important;}
.jv2-food-confirm-fixed>button[data-food-close]{position:absolute!important;top:calc(env(safe-area-inset-top) + 7px)!important;right:12px!important;float:none!important;}
.jv2-food-confirm-fixed>.jv2-food-catalog-list{margin-top:0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-heading{margin-top:38px!important;padding:4px 0!important;min-height:38px!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{justify-content:flex-start!important;gap:2px!important;overflow:hidden!important;padding:4px 0 0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>p{font-size:10px!important;line-height:1.16!important;margin:1px 0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>h3{font-size:14px!important;margin:2px 0!important;line-height:1.2!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel{margin:5px 0 1px!important;padding:6px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading{margin-bottom:4px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading-icon{width:24px!important;height:24px!important;font-size:14px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:43px!important;padding:4px 8px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-symbol{width:27px!important;height:27px!important;flex-basis:27px!important;font-size:16px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading small,.jv2-food-confirm-fixed .jv2-food-payment-hint,.jv2-food-confirm-fixed .jv2-food-preview-note{display:none!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions{margin:5px 0 0!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions button{min-height:38px!important;}
@media(max-height:720px){.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy small{display:none!important;}.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:36px!important;}.jv2-food-confirm-fixed .jv2-food-wizard-body>p{font-size:9px!important;}}

/* v0.16.49.4: stop touch scroll chaining in fixed checkout. */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{overscroll-behavior-y:none!important;touch-action:pan-x!important;}
.jv2-food-confirm-open,.jv2-food-confirm-fixed,.jv2-food-confirm-fixed .jv2-food-wizard-body{overscroll-behavior:contain!important;touch-action:pan-x!important;}
.jv2-food-confirm-fixed button,.jv2-food-confirm-fixed label,.jv2-food-confirm-fixed input{touch-action:manipulation!important;}

/* v0.16.49.5 — Step 7: no banner, natural in-modal scrolling, persistent close X.
   The body is scrollable so payment controls remain reachable on short phones. */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{touch-action:auto!important;overscroll-behavior-y:none!important;}
.jv2-food-modal.jv2-food-confirm-open{touch-action:pan-y!important;overscroll-behavior-y:contain!important;}
.jv2-food-modal-card.jv2-food-confirm-fixed{touch-action:pan-y!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;height:100dvh!important;max-height:100dvh!important;padding:calc(env(safe-area-inset-top) + 6px) 14px calc(env(safe-area-inset-bottom) + 6px)!important;}
.jv2-food-confirm-fixed>img,.jv2-food-confirm-fixed>h2,.jv2-food-confirm-fixed>p,.jv2-food-confirm-fixed>.jv2-food-disabled{display:none!important;}
.jv2-food-confirm-fixed>button[data-food-close]{display:grid!important;position:absolute!important;top:calc(env(safe-area-inset-top) + 7px)!important;right:12px!important;z-index:100!important;}
.jv2-food-confirm-fixed>.jv2-food-catalog-list{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;overflow:hidden!important;margin-top:0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-heading{flex:0 0 auto!important;margin-top:32px!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{display:block!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;padding:5px 2px calc(env(safe-area-inset-bottom) + 12px)!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions{position:relative!important;margin:8px 0!important;}

/* v0.16.49.6 — confirmation starts at top; merchant hero and X are not shown. */
.jv2-food-confirm-fixed>button[data-food-close],.jv2-food-confirm-fixed>img,.jv2-food-confirm-fixed>h2,.jv2-food-confirm-fixed>p,.jv2-food-confirm-fixed>.jv2-food-disabled{display:none!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-heading{margin-top:0!important;}
.jv2-food-confirm-fixed>.jv2-food-catalog-list{margin-top:0!important;}

/* v0.16.49.10 — restore readable, full-width Step 7 confirmation. */
.jv2-food-confirm-fixed .jv2-food-wizard-body{display:block!important;justify-content:initial!important;gap:initial!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 2px calc(env(safe-area-inset-bottom) + 24px)!important;width:100%!important;box-sizing:border-box!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>h3{font-size:17px!important;line-height:1.4!important;margin:12px 0 9px!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>p{font-size:13px!important;line-height:1.55!important;margin:7px 0!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body>h3:nth-of-type(2){font-size:19px!important;margin:12px 0!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel{margin:16px 0!important;padding:14px!important;border-radius:16px!important;width:100%!important;box-sizing:border-box!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading{margin-bottom:12px!important;gap:10px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading-icon{width:36px!important;height:36px!important;font-size:20px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading strong{font-size:14px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-heading small{display:block!important;font-size:12px!important;line-height:1.4!important;}
.jv2-food-confirm-fixed .jv2-food-payment-options{gap:10px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:66px!important;padding:12px!important;gap:12px!important;border-radius:13px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-symbol{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:22px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy strong{font-size:14px!important;}
.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy small{display:block!important;font-size:12px!important;line-height:1.45!important;}
.jv2-food-confirm-fixed .jv2-food-payment-hint{display:block!important;font-size:11px!important;line-height:1.5!important;margin:10px 0 0!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions{margin:16px 0!important;gap:10px!important;}
.jv2-food-confirm-fixed .jv2-food-checkout-actions button{min-height:48px!important;padding:11px 8px!important;font-size:13px!important;}
.jv2-food-confirm-fixed .jv2-food-preview-note{display:block!important;font-size:11px!important;line-height:1.45!important;padding:10px!important;margin:10px 0!important;}
@media(max-height:720px){.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-copy small{display:block!important;font-size:12px!important;}.jv2-food-confirm-fixed .jv2-food-payment-panel .jv2-food-pay-option{min-height:66px!important;}.jv2-food-confirm-fixed .jv2-food-wizard-body>p{font-size:13px!important;}}

/* v0.16.49.44 — Step 2: compact premium Food product cards */
.jv2-food-wizard-body:has(.jv2-food-menu-item){background:#f7f9fd;padding:14px 10px calc(env(safe-area-inset-bottom) + 96px)!important;border-radius:18px}
.jv2-food-wizard-body:has(.jv2-food-menu-item)>h3{font-size:17px!important;font-weight:800!important;color:#102f59;margin:3px 4px 16px!important}
.jv2-food-menu-item{display:grid!important;grid-template-columns:86px minmax(0,1fr) 106px;gap:12px!important;align-items:center!important;min-height:116px;box-sizing:border-box;background:#fff;border:1px solid #e2eaf6!important;border-radius:18px;padding:13px!important;margin:0 0 14px!important;box-shadow:0 4px 18px rgba(13,58,111,.055)}
.jv2-food-menu-photo{width:86px;height:90px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:13px;background:#edf4ff;font-size:30px}
.jv2-food-menu-photo img{width:100%!important;height:100%!important;object-fit:cover;border-radius:13px}
.jv2-food-menu-details{min-width:0;align-self:center}.jv2-food-menu-details strong{font-size:14px!important;font-weight:800;color:#14325a;line-height:1.35;overflow-wrap:anywhere}
.jv2-food-menu-details>p{margin:6px 0!important;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jv2-food-menu-price{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px}.jv2-food-menu-price b{font-size:14px!important;color:#1260c7}.jv2-food-menu-price small{font-size:10px!important;color:#16935d}
.jv2-food-menu-details .jv2-food-menu-variant{font-size:11px!important;color:#64748b;display:block;-webkit-line-clamp:unset;overflow:visible}
.jv2-food-menu-action{display:flex;align-items:center;justify-content:flex-end;align-self:center;width:106px;min-width:0!important}
.jv2-food-menu-action>button{width:106px;min-height:42px;margin:0!important;padding:9px 6px!important;background:#eaf3ff!important;border:1px solid #b8d3fc!important;border-radius:12px!important;color:#155fc4!important;font-size:12px!important;white-space:nowrap}
.jv2-food-menu-action .jv2-food-qty{width:106px;justify-content:space-between;gap:2px}.jv2-food-menu-action .jv2-food-qty button{min-width:31px!important;width:31px;height:34px;padding:0!important;border-radius:9px!important;font-size:18px!important}.jv2-food-menu-action .jv2-food-qty strong{font-size:13px!important}
@media(max-width:430px){.jv2-food-menu-item{grid-template-columns:72px minmax(0,1fr) 92px;gap:9px!important;padding:10px!important;min-height:108px}.jv2-food-menu-photo{width:72px;height:78px}.jv2-food-menu-action{width:92px}.jv2-food-menu-action>button{width:92px;font-size:11px!important}.jv2-food-menu-action .jv2-food-qty{width:92px}.jv2-food-menu-action .jv2-food-qty button{min-width:28px!important;width:28px}}
@media(max-width:350px){.jv2-food-menu-item{grid-template-columns:64px minmax(0,1fr) 82px;gap:7px!important}.jv2-food-menu-photo{width:64px;height:70px}.jv2-food-menu-action,.jv2-food-menu-action>button,.jv2-food-menu-action .jv2-food-qty{width:82px}}

/* v0.16.49.45 — force a fixed right-aligned action column at every width */
.jv2-food-catalog-list .jv2-food-menu-item{display:grid!important;grid-template-columns:72px minmax(0,1fr) 96px!important;column-gap:10px!important;align-items:center!important;width:100%;box-sizing:border-box}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-photo{grid-column:1;min-width:0}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details{grid-column:2;min-width:0;max-width:100%;overflow-wrap:anywhere}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action{grid-column:3;justify-self:end!important;align-self:center!important;display:flex!important;justify-content:flex-end!important;width:96px!important;min-width:0!important;max-width:96px!important;margin:0!important;padding:0!important}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>button{width:96px!important;min-width:96px!important;max-width:96px!important;box-sizing:border-box!important;white-space:nowrap!important}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>.jv2-food-qty{width:96px!important;min-width:0!important;max-width:96px!important}
@media(max-width:380px){.jv2-food-catalog-list .jv2-food-menu-item{grid-template-columns:60px minmax(0,1fr) 82px!important;column-gap:7px!important}.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-photo{width:60px!important;height:68px!important}.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action,.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>button,.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>.jv2-food-qty{width:82px!important;min-width:0!important;max-width:82px!important}}

/* v0.16.49.46 — Step 4 premium compact cart; scoped to the cart only */
.jv2-food-wizard-body:has(.jv2-food-cart-intro){padding:20px 0 105px!important;color:#14345f}
.jv2-food-cart-intro h3{font-size:21px!important;font-weight:800!important;letter-spacing:-.5px;margin:0 0 5px!important;color:#102e56}
.jv2-food-cart-intro p{margin:0 0 18px;color:#72839b;font-size:13px;line-height:1.45}
.jv2-food-review-list{display:grid;gap:12px}
.jv2-food-review-list .jv2-food-review-item{box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:17px 13px!important;border:1px solid #e1eaf7!important;border-radius:17px!important;background:#fff!important;box-shadow:0 3px 14px rgba(17,54,107,.055);margin:0!important;flex-wrap:nowrap!important}
.jv2-food-review-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.jv2-food-review-info strong{display:block;overflow-wrap:anywhere;font-size:15px;line-height:1.35;font-weight:750;color:#18365f}
.jv2-food-review-price{color:#145ed0;font-size:15px;font-weight:800;white-space:nowrap}
.jv2-food-review-qty{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-shrink:0;white-space:nowrap}
.jv2-food-review-qty b{min-width:17px;text-align:center;font-size:15px;color:#18365f}
.jv2-food-wizard-body .jv2-food-review-qty button{width:37px!important;min-width:37px!important;height:37px!important;min-height:37px!important;padding:0!important;margin:0!important;display:inline-flex!important;justify-content:center;align-items:center;background:#eef5ff!important;border:1px solid #cbdcf7!important;color:#1464d8!important;border-radius:12px!important;font-size:21px!important;line-height:1!important}
.jv2-food-cart-total{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f2f7ff;border:1px solid #dfebff;border-radius:16px;padding:16px;margin:18px 0 16px}
.jv2-food-cart-total>span{font-size:13px;color:#506d90;font-weight:600}.jv2-food-cart-total small{display:block;color:#8a9ab0;font-size:11px;margin-top:4px}.jv2-food-cart-total strong{font-size:19px;color:#103c7b;white-space:nowrap}
.jv2-food-cart-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;align-items:stretch}
.jv2-food-wizard-body .jv2-food-cart-actions button{margin:0!important;min-width:0!important;min-height:52px!important;padding:10px 8px!important;border-radius:14px!important;font-size:13px!important;line-height:1.35!important;white-space:normal!important}
.jv2-food-wizard-body .jv2-food-cart-actions [data-food-more]{background:#eff5ff!important;color:#155db8!important;border:1px solid #d2e1f8!important}
.jv2-food-wizard-body .jv2-food-cart-actions [data-food-next]{background:#1469e9!important;color:#fff!important;border:1px solid #1469e9!important;box-shadow:0 6px 14px rgba(20,105,233,.2)}
.jv2-food-wizard-body .jv2-food-cart-actions [data-food-next]:disabled{opacity:.5!important}
@media(max-width:370px){.jv2-food-review-list .jv2-food-review-item{padding:13px 10px!important;gap:8px!important}.jv2-food-review-qty{gap:5px}.jv2-food-wizard-body .jv2-food-review-qty button{width:32px!important;min-width:32px!important;height:34px!important;min-height:34px!important}.jv2-food-cart-total strong{font-size:17px}.jv2-food-wizard-body .jv2-food-cart-actions button{font-size:12px!important}}

/* v0.16.49.47: Food delivery location UI, scoped to Step 5 only */
.jv2-food-location-premium{display:grid;gap:16px;padding-bottom:28px;color:#16385e}
.jv2-food-location-intro{display:flex;gap:13px;align-items:center;padding:6px 0 3px}
.jv2-food-location-icon{width:46px;height:46px;border-radius:15px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.jv2-food-location-intro h3{font-size:21px!important;font-weight:800!important;letter-spacing:-.5px!important;margin:0 0 5px!important;color:#10396d}
.jv2-food-location-intro p{font-size:12px;line-height:1.5;color:#71839b;margin:0}
.jv2-food-address-label{font-size:13px;font-weight:800;color:#1b3d68;margin-bottom:-9px}
.jv2-food-location-premium .jv2-food-autocomplete{position:relative;display:flex;align-items:center;min-height:56px;background:#fff;border:1.5px solid #d5e3f6;border-radius:15px;box-shadow:0 4px 15px rgba(20,70,130,.05);padding:0 9px 0 13px}
.jv2-food-location-premium .jv2-food-search-pin{font-size:25px;color:#1769e9;flex-shrink:0;margin-right:8px}
.jv2-food-location-premium [data-food-address-search]{flex:1;min-width:0;width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:12px 0!important;font-size:14px!important;color:#143b68;text-overflow:ellipsis}
.jv2-food-location-premium [data-food-clear]{flex-shrink:0;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:0!important;border-radius:11px!important;background:#edf4ff!important;color:#2764af!important;font-size:18px!important;margin:0!important}
.jv2-food-location-premium [data-food-suggestions]{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:99;max-height:260px;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 12px 35px rgba(18,58,110,.17);border:1px solid #dce7f5}
.jv2-food-location-premium [data-food-suggestions]:empty{display:none}
.jv2-food-location-premium [data-food-suggestions] button{display:flex!important;align-items:flex-start;gap:10px;width:100%!important;text-align:left!important;padding:12px!important;border:0!important;border-bottom:1px solid #eef2f8!important;background:white!important;color:#1b406e!important;border-radius:0!important;font-size:13px!important;margin:0!important;white-space:normal!important}
.jv2-food-location-premium [data-food-suggestions] button span:last-child{min-width:0}.jv2-food-location-premium [data-food-suggestions] strong{display:block;font-size:13px}.jv2-food-location-premium [data-food-suggestions] small{display:block;font-size:11px;color:#6c809c;margin-top:3px;overflow-wrap:anywhere}
.jv2-food-place-status{padding:12px;color:#5c7392;font-size:12px;margin:0}
.jv2-food-location-premium .jv2-food-location-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important}
.jv2-food-location-premium .jv2-food-location-actions button{width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:10px 6px!important;background:#edf5ff!important;border:1px solid #d2e3fa!important;color:#1b62bc!important;border-radius:13px!important;font-size:12px!important;font-weight:750!important}
.jv2-food-location-hint{font-size:12px;color:#71839b;margin:0!important;line-height:1.5;min-height:20px}
.jv2-food-location-footer{margin-top:6px;padding:16px;border-radius:17px;border:1px solid #e0eaf8;background:#f5f9ff;display:grid;gap:14px}
.jv2-food-location-footer>span{display:block;font-size:12px;color:#41658d}.jv2-food-location-footer strong{color:#1c3c67}.jv2-food-location-footer small{display:block;margin:4px 0 0 23px;color:#7c8da4}
.jv2-food-location-premium .jv2-food-location-footer [data-food-next]{width:100%!important;min-height:55px!important;margin:0!important;border-radius:14px!important;background:#146bea!important;border:1px solid #146bea!important;color:#fff!important;font-size:14px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(20,107,234,.22)!important}
.jv2-food-location-premium .jv2-food-location-footer [data-food-next]:disabled{background:#b4c9e7!important;border-color:#b4c9e7!important;box-shadow:none!important;opacity:.8!important}
@media(max-width:350px){.jv2-food-location-premium .jv2-food-location-actions button{font-size:11px!important}.jv2-food-location-intro h3{font-size:19px!important}}

/* v0.16.49.48 — Step 5: fixed bottom primary CTA, no scrolling needed to proceed */
.jv2-food-location-premium{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important;}
.jv2-food-location-premium .jv2-food-location-footer{position:fixed!important;z-index:80!important;left:50%!important;transform:translateX(-50%)!important;bottom:0!important;width:100%!important;max-width:680px!important;box-sizing:border-box!important;margin:0!important;padding:10px 18px calc(12px + env(safe-area-inset-bottom))!important;background:#fff!important;border:0!important;border-top:1px solid #e3ebf6!important;border-radius:18px 18px 0 0!important;box-shadow:0 -6px 24px rgba(18,52,105,.12)!important;display:block!important;}
.jv2-food-location-premium .jv2-food-location-footer>span{display:none!important;}
.jv2-food-location-premium .jv2-food-location-footer [data-food-next]{display:block!important;min-height:52px!important;margin:0!important;width:100%!important;border-radius:13px!important;background:linear-gradient(110deg,#1374ed,#174acb)!important;border:0!important;color:#fff!important;font-size:15px!important;font-weight:800!important;box-shadow:0 6px 16px rgba(20,95,210,.23)!important;}
.jv2-food-location-premium .jv2-food-location-footer [data-food-next]:disabled{background:#b4c9e7!important;box-shadow:none!important;}
/* Don't cover the Google Places suggestions while the user types an address. */
.jv2-food-location-premium:has([data-food-address-search]:focus) .jv2-food-location-footer{visibility:hidden!important;pointer-events:none!important;}

/* v0.16.49.49 — Step 6: recipient form and sticky primary CTA */
.jv2-food-recipient-premium{display:grid;gap:15px;color:#173c69;padding:4px 0 calc(100px + env(safe-area-inset-bottom))}
.jv2-food-recipient-intro{display:flex;gap:12px;align-items:center;padding:5px 0 3px}
.jv2-food-recipient-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;font-size:23px}
.jv2-food-recipient-intro h3{margin:0 0 5px!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.5px;color:#10396d}
.jv2-food-recipient-intro p{margin:0!important;font-size:12px;line-height:1.5;color:#71839b}
.jv2-food-recipient-fields{display:grid;gap:12px}
.jv2-food-recipient-field{display:grid!important;gap:7px!important;margin:0!important;font-weight:700!important;font-size:13px!important;color:#183f6d}
.jv2-food-recipient-field>span{display:block}.jv2-food-recipient-field em{color:#e25b63;font-style:normal}.jv2-food-recipient-field small{font-weight:500;color:#8090a7;margin-left:6px}
.jv2-food-wizard-body .jv2-food-recipient-field input,.jv2-food-wizard-body .jv2-food-recipient-field textarea{display:block!important;width:100%!important;min-height:51px!important;margin:0!important;padding:13px 14px!important;border:1.5px solid #d7e3f4!important;border-radius:14px!important;background:#fff!important;color:#183e6a!important;font-size:14px!important;line-height:1.5!important;box-shadow:0 3px 12px rgba(25,75,140,.04)!important;outline:none!important;box-sizing:border-box!important}
.jv2-food-wizard-body .jv2-food-recipient-field textarea{min-height:77px!important;resize:vertical!important}
.jv2-food-wizard-body .jv2-food-recipient-field input:focus,.jv2-food-wizard-body .jv2-food-recipient-field textarea:focus{border-color:#2374e9!important;box-shadow:0 0 0 3px rgba(35,116,233,.11)!important}
.jv2-food-recipient-field input::placeholder,.jv2-food-recipient-field textarea::placeholder{color:#9aabc0}
.jv2-food-recipient-premium .jv2-food-inline-warning{margin:0!important;color:#b34e37;font-size:12px;line-height:1.5}.jv2-food-recipient-premium .jv2-food-inline-warning:empty{display:none}
.jv2-food-recipient-footer{position:fixed!important;z-index:80!important;left:50%!important;transform:translateX(-50%)!important;bottom:0!important;width:100%!important;max-width:680px!important;box-sizing:border-box!important;margin:0!important;padding:10px 18px calc(12px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e3ebf6!important;border-radius:18px 18px 0 0!important;box-shadow:0 -6px 24px rgba(18,52,105,.12)!important}
.jv2-food-wizard-body .jv2-food-recipient-footer [data-food-next]{display:block!important;min-height:52px!important;width:100%!important;margin:0!important;border:0!important;border-radius:13px!important;background:linear-gradient(110deg,#1374ed,#174acb)!important;color:#fff!important;font-size:15px!important;font-weight:800!important;box-shadow:0 6px 16px rgba(20,95,210,.23)!important}
@supports selector(:has(*)){.jv2-food-recipient-premium:has(input:focus) .jv2-food-recipient-footer,.jv2-food-recipient-premium:has(textarea:focus) .jv2-food-recipient-footer{visibility:hidden!important;pointer-events:none!important}}
@media(max-width:360px){.jv2-food-recipient-intro h3{font-size:19px!important}.jv2-food-recipient-footer{padding-left:12px!important;padding-right:12px!important}}

/* Food-only merchant QRIS payment instructions */
.jv2-food-qris-flow{margin:12px 0;padding:14px;border-radius:14px;background:#f0f6ff;border:1px solid #d6e6ff;text-align:center;color:#153c70}
.jv2-food-qris-image{display:block;width:min(230px,90%);max-height:280px;object-fit:contain;margin:12px auto;background:white;border-radius:12px;padding:8px}
.jv2-food-qris-upload{display:block;border:1px dashed #2170dd;background:#fff;border-radius:12px;padding:12px;font-weight:700;cursor:pointer}
.jv2-food-qris-upload input{display:block;width:100%;margin:8px 0 0;font-size:12px}
.jv2-food-qris-proof-state{font-size:12px;color:#25578c;margin:9px 0 0}

/* v0.16.49.52 — Step 7 scroll contained, action bar outside scroll region. */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{overscroll-behavior:none!important;overflow:hidden!important;}
.jv2-food-modal.jv2-food-confirm-open{overscroll-behavior:none!important;touch-action:none!important;}
.jv2-food-confirm-fixed{overscroll-behavior:none!important;}
.jv2-food-confirm-fixed>.jv2-food-catalog-list{min-height:0!important;overflow:hidden!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important;padding-bottom:18px!important;}
.jv2-food-confirm-fixed .jv2-food-fixed-actions{position:relative!important;z-index:5!important;flex:0 0 auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;margin:0!important;padding:11px 2px calc(10px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e3eaf4!important;box-shadow:0 -5px 16px rgba(21,54,100,.05)!important;}
.jv2-food-confirm-fixed .jv2-food-fixed-actions button{min-width:0!important;min-height:51px!important;padding:10px 5px!important;font-size:clamp(11px,3.3vw,14px)!important;border-radius:12px!important;line-height:1.2!important;}
.jv2-food-confirm-fixed .jv2-food-fixed-actions [data-food-place]{background:linear-gradient(115deg,#1676f3,#2445d9)!important;color:#fff!important;border:0!important;font-weight:800!important;}
.jv2-food-confirm-fixed .jv2-food-fixed-actions [data-food-place]:disabled{opacity:.55!important;}
.jv2-food-confirm-fixed .jv2-food-fixed-actions [data-food-more]{background:#edf4ff!important;color:#1354a8!important;border:1px solid #c8daf2!important;}

/* v0.16.49.53 — keep native QRIS scrolling; block scroll chaining into WebView refresh */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{overscroll-behavior-y:none!important;}
.jv2-food-confirm-open,.jv2-food-confirm-fixed,.jv2-food-confirm-fixed .jv2-food-wizard-body{overscroll-behavior-y:none!important;}

/* v0.16.49.54: isolate Food checkout from parent scrolling without locking its content. */
html.jv2-food-checkout-lock,body.jv2-food-checkout-lock{overflow:hidden!important;overscroll-behavior:none!important;}
.jv2-food-modal.jv2-food-confirm-open{overscroll-behavior:none!important;touch-action:none!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior-y:none!important;}

/* v0.16.49.55 — native WebView scroll sentinel, same concept as Ride/Car.
   Outer document has a tiny real scroll range; QRIS scrolls inside its own panel. */
html.jv2-food-sentinel55,body.jv2-food-sentinel55{overflow-y:auto!important;overscroll-behavior-y:none!important;}
body.jv2-food-sentinel55{min-height:calc(100dvh + 24px)!important;}
#jv2-food-ptr-sentinel55{display:block!important;height:16px!important;min-height:16px!important;pointer-events:none!important;visibility:hidden!important;}
.jv2-food-confirm-fixed .jv2-food-wizard-body{-webkit-overflow-scrolling:touch!important;overflow-y:auto!important;touch-action:pan-y!important;overscroll-behavior:contain!important;}

/* v0.16.49.67 — Customer store state, scoped to Food wizard */
.jv2-food-live-store{margin:8px 12px 12px;padding:12px 14px;border-radius:13px;font-weight:750;font-size:13px;line-height:1.45;background:#fff2e7;color:#9b4715;border:1px solid #ffd6b6}
.jv2-food-live-store.is-open{background:#e8f8ef;color:#176a40;border-color:#b9e9cf}
.jv2-food-modal [data-food-place]:disabled{opacity:.52;cursor:not-allowed}

/* v0.16.49.68 — responsive Food menu cards across narrow Android WebViews */
.jv2-food-catalog-list .jv2-food-menu-item{
 display:grid!important;grid-template-columns:clamp(68px,23vw,94px) minmax(0,1fr)!important;
 grid-template-rows:auto auto!important;column-gap:14px!important;row-gap:10px!important;
 align-items:start!important;width:100%!important;min-width:0!important;
 padding:12px!important;box-sizing:border-box!important;overflow:hidden!important;
}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-photo{
 grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;
 aspect-ratio:1/1!important;min-width:0!important;max-width:100%!important;
 align-self:start!important;float:none!important;margin:0!important;
}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details{
 grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;
 max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;
 overflow:visible!important;margin:0!important;padding:0!important;float:none!important;
}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details strong,
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details p,
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details b,
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-details small{
 max-width:100%!important;overflow-wrap:anywhere!important;white-space:normal!important;
}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action{
 grid-column:1 / -1!important;grid-row:2!important;justify-self:stretch!important;
 display:flex!important;justify-content:flex-end!important;align-items:center!important;
 width:100%!important;max-width:none!important;min-width:0!important;
 margin:0!important;padding-top:9px!important;border-top:1px solid #edf2f8!important;
}
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>button,
.jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-action>.jv2-food-qty{
 width:auto!important;min-width:110px!important;max-width:100%!important;
}
@media(max-width:380px){
 .jv2-food-catalog-list .jv2-food-menu-item{grid-template-columns:68px minmax(0,1fr)!important;column-gap:11px!important;padding:10px!important}
 .jv2-food-catalog-list .jv2-food-menu-item>.jv2-food-menu-photo{width:100%!important;height:auto!important}
}

/* Food merchant promo administration */
.jv2-fm-promo-panel{padding:20px!important}.jv2-fm-promo-form{display:grid;gap:12px;margin:18px 0}.jv2-fm-promo-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#334b68}.jv2-fm-promo-form input:not([type=checkbox]),.jv2-fm-promo-form select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cdddf0;border-radius:11px;padding:12px;font-size:14px;background:#fff}.jv2-fm-promo-form button{background:#1765c7;color:#fff;border:0;border-radius:12px;padding:14px;font-weight:800}.jv2-fm-promo-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.jv2-fm-promo-check{display:flex!important;align-items:center}.jv2-fm-promo-card{border:1px solid #e0e9f4;border-radius:14px;padding:13px;margin:10px 0;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.jv2-fm-promo-card>div{display:grid;gap:5px;min-width:0}.jv2-fm-promo-card small{display:block;color:#64748b;overflow-wrap:anywhere}.jv2-fm-promo-card button{background:#fff0f0;color:#b42323;border:0;padding:8px 12px;border-radius:9px}.jv2-fm-promo-pill{background:#eaf2ff;color:#1854a5;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:800;white-space:nowrap}.jv2-fm-promo-note{font-size:12px;color:#64748b;line-height:1.6}.jv2-fm-bottom{overflow-x:auto;scrollbar-width:none}.jv2-fm-bottom button{min-width:56px;font-size:10px!important}@media(max-width:360px){.jv2-fm-promo-dates{grid-template-columns:1fr}}

/* v0.16.49.201 Smart Food Discovery, additive styles only */
.jv2-food-discovery201{padding:0 17px 8px}.jv2-food-discovery-title201{font-size:15px;font-weight:800;margin:5px 0 10px;color:#183e6c}.jv2-food-discovery-scroll201{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 9px;scrollbar-width:none}.jv2-food-discovery-scroll201::-webkit-scrollbar{display:none}.jv2-food-discovery-card201{box-sizing:border-box;flex:0 0 155px;min-height:92px;text-align:left;display:flex;flex-direction:column;gap:5px;scroll-snap-align:start;background:#fff;color:#21466f;border:1px solid #dbe6f5;border-radius:16px;padding:11px 12px;box-shadow:0 4px 12px #173f6810;font-size:17px}.jv2-food-discovery-card201 strong{font-size:12px;line-height:1.25}.jv2-food-discovery-card201 small{font-size:10px;color:#70839b}.jv2-food-discovery-card201.is-active{border-color:#1674e7;background:#eaf3ff}.jv2-food-geo-note201{font-size:10px;color:#71839b;margin:0 0 7px}.jv2-food-distance201{color:#11715a!important;font-size:11px!important;font-weight:700}.jv2-food-promo201{font-size:10px!important;color:#aa650d!important;font-weight:700}

/* v0.16.49.202 — compact premium discovery cards and authentic Merchant ratings */
.jv2-food-discovery201{padding-bottom:10px}
.jv2-food-discovery-title201{font-size:16px;letter-spacing:-.35px;margin-bottom:13px}
.jv2-food-discovery-scroll201{gap:11px;padding:3px 2px 13px}
.jv2-food-discovery-card201{position:relative;overflow:hidden;flex-basis:168px;min-height:119px;border-radius:19px;padding:14px;border:1px solid #d7e6fa;background:linear-gradient(145deg,#f4f9ff,#e5f0ff);box-shadow:0 7px 18px rgba(26,79,150,.09);gap:6px;transition:transform .15s,border-color .15s,box-shadow .15s}
.jv2-food-discovery-card201:nth-child(2){background:linear-gradient(145deg,#fff8ed,#ffedda);border-color:#ffe0bd}
.jv2-food-discovery-card201:nth-child(3){background:linear-gradient(145deg,#f0faf8,#e0f5f0);border-color:#c9ebe2}
.jv2-food-discovery-card201:after{content:'↗';position:absolute;right:12px;top:13px;font-size:16px;font-weight:800;color:#7291b7}
.jv2-food-discovery-card201 .jv2-discovery-icon202{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.8);font-size:19px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.jv2-food-discovery-card201 strong{font-size:13px;line-height:1.25;color:#183f73}
.jv2-food-discovery-card201 small{font-size:10px;line-height:1.35;color:#647c99}
.jv2-food-discovery-card201.is-active{border:2px solid #1674e7;box-shadow:0 7px 19px rgba(22,116,231,.16);transform:translateY(-1px)}
.jv2-food-rating202{display:flex!important;align-items:center;gap:5px;color:#a66b0d!important;font-size:12px!important;font-weight:700;line-height:1.5}
.jv2-food-rating202 b{color:#9b6200;font-weight:800}
.jv2-food-rating202 small{color:#8290a3!important;font-size:10px!important;font-weight:500}

/* v0.16.49.228 — native-feeling Food scrolling, no pull-to-refresh.
   Keep the actual menu list vertically scrollable and leave map gestures untouched. */
html:has(.jv2-food-modal),body:has(.jv2-food-modal){overscroll-behavior-y:none!important}
.jv2-food-modal,.jv2-food-modal-card{overscroll-behavior-y:none!important}
.jv2-food-modal-card{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
.jv2-food-modal-card.jv2-food-confirm-fixed{overflow:hidden!important}
.jv2-food-modal-card.jv2-food-confirm-fixed .jv2-food-wizard-body{overscroll-behavior-y:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
/* Full-screen maps must continue accepting drag, pinch and marker gestures. */
.jv2-food-modal .leaflet-container,.jv2-food-modal .leaflet-container *{touch-action:unset}
