/*
Copyright (c) 2026
All rights reserved.

Author: System Development Team
Version: 1.0.0
*/
.restaurant-hero{width:100%;background:#111}.restaurant-hero.is-empty{display:none}.restaurant-hero img{width:100%;height:300px;object-fit:cover;display:block;border-radius:0 0 18px 18px}@media (max-width:768px){.restaurant-hero img{height:180px}}
:root{--red:#d71920;--red-dark:#9f1017;--black:#151515;--ink:#242424;--muted:#747474;--line:#e8e8e8;--paper:#ffffff;--bg:#f6f6f6;--radius:8px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:#fff}textarea{min-height:90px;resize:vertical}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px clamp(16px,4vw,54px);color:#fff;background:linear-gradient(120deg,var(--black),#2a1112 55%,var(--red-dark))}.site-header h1{margin:4px 0;font-size:clamp(30px,5vw,56px);letter-spacing:0}.site-brand{color:inherit;text-decoration:none}.brand-logo{display:block;max-width:180px;max-height:70px;width:auto;height:auto;margin:6px 0;object-fit:contain}.site-header p,.brand-kicker{margin:0;color:#f3d8d8}.brand-kicker{font-weight:700;text-transform:uppercase;font-size:13px}.status-pill{border-radius:999px;padding:10px 16px;font-weight:700;background:#fff;color:var(--red-dark);white-space:nowrap}.header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.account-link{border-radius:999px;padding:10px 14px;color:#fff;background:rgba(255,255,255,.12);font-weight:700}.status-pill.open{color:#13783d}.status-pill.preorder{color:#9a5a00}.status-pill.closed{color:var(--red-dark)}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;width:min(1280px,calc(100% - 32px));margin:24px auto;align-items:start}.menu-panel,.cart-panel,.table-card,.login-card,.install-card,.metric,.kitchen-ticket{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 25px rgba(0,0,0,.05)}.menu-panel{padding:18px}.cart-panel{position:sticky;top:16px;padding:20px}.cart-panel h2,.section-title h2,.table-card h2{margin-top:0}.hours-strip{padding:12px 14px;border-radius:var(--radius);color:#fff;background:var(--black);font-size:14px;overflow-x:auto;white-space:nowrap}.category-nav{position:sticky;top:0;z-index:5;display:flex;gap:8px;padding:12px 0;margin:4px 0 12px;overflow-x:auto;background:var(--paper)}.category-nav a{flex:0 0 auto;padding:10px 14px;border-radius:999px;color:#fff;background:var(--black);font-weight:700}.category-nav a.active{background:var(--red)}.delivery-summary{display:grid;gap:4px;padding:12px 14px;border:1px solid #f0caca;border-left:5px solid var(--red);border-radius:var(--radius);background:#fff7f7}.delivery-change{width:max-content;border:0;padding:0;color:var(--red);background:transparent;font-weight:700;cursor:pointer}.delivery-summary span{color:var(--muted)}.category-block{padding-top:24px;scroll-margin-top:74px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:2px solid var(--black);margin-bottom:14px}.section-title span,.muted{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 56px;gap:16px;min-height:128px;padding:16px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer}.product-info{grid-column:2;min-width:0}.product-card>.product-info:first-child{grid-column:1 / 3}.product-card>.product-info:first-child + .product-action{grid-column:1 / 3}.product-card>.product-info:first-child ~ [data-product-open]{grid-column:3}.product-thumb{width:120px;height:120px;object-fit:cover;border-radius:12px;background:#eee}.product-card h3{margin:0 0 8px}.product-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;line-height:1.25}.product-name-with-info{display:inline-flex;align-items:flex-start;flex:1 1 auto;flex-wrap:wrap;gap:6px;min-width:0;overflow-wrap:anywhere}.info-dot{flex-shrink:0;margin-left:6px;width:26px;height:26px;min-height:26px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--red);font-weight:800;line-height:1;cursor:pointer}.product-card p{margin:0;color:var(--muted);line-height:1.4}.product-action{grid-column:2;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;white-space:nowrap;gap:10px;min-width:0}.card-price{min-width:90px;display:grid;gap:2px;text-align:right;flex:0 0 90px;white-space:nowrap}.old-price{color:var(--muted);font-size:13px;text-decoration:line-through}.variant-pills{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px;width:100%}.variant-pills button{min-height:36px;border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:#f7f7f7;color:#777;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.variant-pills button:hover{border-color:#e3b3b3;color:var(--black);transform:translateY(-1px)}.variant-pills button.active{color:#fff;border-color:var(--red);background:var(--red)}[data-product-open]{position:static;grid-column:3;grid-row:1 / span 2;align-self:end;justify-self:end;width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:25px;line-height:1;display:inline-grid;place-items:center;box-shadow:0 8px 18px rgba(206,18,18,.22)}[data-product-open]:hover{background:#a70f0f}.option-list{display:grid;gap:8px;font-size:15px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}.option-list span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--black);font-weight:700}.option-list em{border-radius:999px;padding:3px 7px;background:#ffe5e5;color:var(--red);font-size:12px;font-style:normal}.option-list.option-required-missing{border:2px solid var(--red);border-radius:8px;padding:10px;background:#fff7f7}.option-list label{display:flex;gap:6px;align-items:center;justify-content:flex-start;min-height:34px;color:var(--black)}.option-list input{width:auto;min-height:auto}.icon-btn{width:42px;height:42px;border:0;border-radius:50%;color:#fff;background:var(--red);font-size:26px;line-height:1;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--black);border-radius:var(--radius);padding:10px 14px;color:var(--black);background:#fff;font-weight:700;cursor:pointer}.btn.primary{color:#fff;border-color:var(--red);background:var(--red)}.btn.ghost{border-color:var(--line)}.btn.small{min-height:34px;padding:7px 10px;font-size:14px}.btn.full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.55}.notice{margin-bottom:14px;padding:12px 14px;border-radius:var(--radius);font-weight:700}.notice.success{color:#0b6330;background:#e7f7ed}.notice.danger{color:#8a1111;background:#ffe8e8}.cart-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row span{display:block;color:var(--muted);margin-top:4px}.cart-row small,.kitchen-ticket li small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.cart-note-toggle{min-height:0;margin-top:8px;padding:0;border:0;background:transparent;color:var(--red);font-weight:700;cursor:pointer}.cart-note-form{display:grid;gap:8px;margin-top:8px}.cart-note-form[hidden]{display:none}.cart-note-form textarea{min-height:72px}.cart-note-actions{display:flex;gap:8px}.item-note-text{color:var(--black);font-weight:700}.qty-form{display:contents}.qty-stepper{display:grid;grid-template-columns:38px 34px 38px;align-items:center;gap:6px;flex:0 0 auto}.qty-stepper strong{text-align:center}.qty-stepper button{width:38px;height:38px;min-height:38px;border:0;border-radius:50%;padding:0;border:0;color:#fff;background:var(--red);font-size:20px;font-weight:800;line-height:1;cursor:pointer}.cart-total{display:flex;justify-content:space-between;padding:16px 0;font-size:18px}.cart-total.discount{color:var(--red-dark);padding:8px 0;font-size:15px}.cart-total.final{border-top:2px solid var(--black);font-size:20px}.coupon-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.success-text{color:#0b6330}.minimum-hint{margin:-2px 0 0;color:var(--red-dark);font-size:14px;line-height:1.35}.checkout-form,.settings-form{display:grid;gap:10px}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.segmented label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.segmented input{width:auto;min-height:auto}.time-choice{display:grid;gap:8px}.time-choice label,.settings-admin-form label{display:flex;gap:8px;align-items:center}.time-choice input,.settings-admin-form input[type="checkbox"]{width:auto;min-height:auto}.split{display:grid;grid-template-columns:110px 1fr;gap:8px}.admin-login,.install-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--black)}.login-card,.install-card{width:min(440px,100%);padding:28px}.login-card form{display:grid;gap:10px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px clamp(16px,4vw,42px);color:#fff;background:var(--black)}.admin-header h1{margin:0}.admin-header nav{display:flex;flex-wrap:wrap;gap:8px}.admin-header a{padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.1)}.admin-header a.active{background:var(--red)}.admin-main{width:min(1280px,calc(100% - 32px));margin:22px auto}.admin-grid{display:grid;gap:18px}.table-card{padding:18px;margin-bottom:18px}.order-card,.compact-form,.product-admin-row,.hours-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.order-card p{margin:6px 0 0}.order-card span{display:block;color:var(--muted);margin-top:4px}.inline-form{display:flex;gap:8px;align-items:center}.compact-form{grid-template-columns:1.2fr 2fr 100px 90px auto}.product-admin-row{grid-template-columns:140px 1fr 1.3fr 110px 130px 170px 80px 150px 80px auto}.option-admin-row{display:grid;grid-template-columns:1.4fr 110px 1fr 110px 90px 105px 80px auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.coupon-admin-row,.promotion-admin-row{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.address-admin-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.new-row{background:#fafafa;padding:12px;border-radius:var(--radius)}.delete-form{text-align:right;margin:-6px 0 10px}.link-danger{border:0;background:transparent;color:var(--red);cursor:pointer;font-weight:700}.hours-row{grid-template-columns:44px 150px 150px 1fr}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metric{padding:22px}.metric span{color:var(--muted)}.metric strong{display:block;margin-top:10px;font-size:36px}.kanban{width:min(1400px,calc(100% - 32px));margin:22px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.kitchen-ticket{padding:18px;border-top:6px solid var(--red)}.kitchen-ticket header,.receipt-80 div{display:flex;justify-content:space-between;gap:12px}.kitchen-ticket ul{padding-left:18px;line-height:1.7}.ticket-note{padding:10px;background:#fff4d9;border-radius:6px}.ticket-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state{color:var(--muted);font-size:20px}.receipt-80{width:302px;margin:0 auto 18px;padding:12px;color:#000;background:#fff;font-family:"Courier New",monospace;font-size:12px}.area-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.58)}.area-modal[hidden]{display:none}.area-card{width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;display:grid;gap:12px;padding:20px;border-radius:var(--radius);background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.25)}.product-modal-card{width:min(560px,100%)}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.modal-head h2{margin:0 0 6px}.modal-head p{margin:0;color:var(--muted)}.modal-live-total{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius);color:#fff;background:var(--black);font-weight:700}.modal-head strong{color:var(--red);white-space:nowrap}.receipt-80 h2{text-align:center;margin:0 0 8px}.receipt-total{font-size:16px;font-weight:700}.print-button{display:flex;margin:0 auto}.status-page{min-height:100vh;background:var(--bg);padding:18px}.status-card{width:min(720px,100%);margin:0 auto}.status-card h1{margin:6px 0 16px;font-size:clamp(34px,8vw,58px)}.status-progress{display:grid;gap:4px;margin-bottom:16px;padding:16px;border-radius:var(--radius);color:#fff;background:var(--black)}.status-progress strong{font-size:24px}.status-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 16px}.status-step{display:grid;gap:8px;justify-items:center;align-content:start;min-height:112px;padding:12px 8px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#fff;text-align:center;font-size:13px;font-weight:700}.status-step.is-done{color:var(--black);border-color:#f1b7ba;background:#fff7f7}.status-step.is-current{color:#fff;border-color:var(--red);background:var(--red)}.status-icon{position:relative;width:42px;height:42px;border:2px solid currentColor;border-radius:50%}.status-icon::before,.status-icon::after{content:"";position:absolute;display:block;border-color:currentColor}.status-icon-receipt::before{inset:9px 11px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.status-icon-check::before{width:18px;height:10px;left:10px;top:12px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg)}.status-icon-pan::before{width:20px;height:11px;left:7px;top:16px;border:2px solid currentColor;border-top:0;border-radius:0 0 12px 12px}.status-icon-pan::after{width:13px;right:4px;top:17px;border-top:2px solid currentColor}.status-icon-box::before,.status-icon-bag::before,.status-icon-home::before{width:20px;height:16px;left:9px;top:14px;border:2px solid currentColor;border-radius:4px}.status-icon-bag::after{width:12px;height:7px;left:13px;top:9px;border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}.status-icon-home::after{width:15px;height:15px;left:12px;top:8px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}.status-icon-scooter::before{width:24px;height:11px;left:7px;top:15px;border:2px solid currentColor;border-radius:12px 12px 7px 7px}.status-icon-scooter::after{width:28px;height:8px;left:6px;top:27px;border-left:5px solid currentColor;border-right:5px solid currentColor;border-radius:0 0 9px 9px}.status-cancelled,.status-timeline.is-cancelled::after{grid-column:1 / -1;padding:12px;border-radius:var(--radius);color:#8a1111;background:#ffe8e8;font-weight:700;text-align:center}.status-timeline.is-cancelled::after{content:"Storniert"}.receipt-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.site-footer{width:min(1180px,calc(100% - 28px));margin:24px auto 110px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:18px;border-top:1px solid var(--line);color:var(--muted)}.site-footer a{color:var(--black);font-weight:700;text-decoration:none}.legal-page{background:#fff}.legal-main{width:min(880px,calc(100% - 28px));margin:24px auto 60px}.legal-content{display:grid;gap:12px;line-height:1.65}.compact-legal{gap:6px}.settings-admin-form{display:grid;gap:12px}.admin-table{display:grid;gap:8px}.admin-table-head,.admin-table-row{display:grid;grid-template-columns:1.2fr 1.2fr .6fr .6fr 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.admin-table-head{color:var(--muted);font-size:13px;text-transform:uppercase}.table-actions{display:flex;flex-wrap:wrap;gap:6px}.product-wizard-form{display:grid;gap:14px}.product-wizard-form fieldset{display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.product-wizard-form legend{padding:0 6px;color:var(--red);font-weight:800}.hours-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hours-day{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.hours-day h3{margin:0 0 10px}.hours-admin-row{display:grid;grid-template-columns:1fr 96px 96px 72px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.live-orders-page{background:#f7f7f7}.live-header{position:sticky;top:0;z-index:20}.live-orders-board{width:min(1180px,calc(100% - 20px));margin:14px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.live-order-card{display:grid;gap:12px;padding:18px;border:2px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.06)}.live-order-card.is-new{border-color:var(--red);background:#fff7f7}.live-order-card header{display:flex;justify-content:space-between;gap:12px;font-size:22px}.live-order-card ul{margin:0;padding-left:18px;line-height:1.6}.prep-buttons,.live-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.live-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.live-actions .btn,.prep-buttons .btn{min-height:56px;font-size:18px}html,body{max-width:100%;overflow-x:hidden}img{max-width:100%;height:auto}button,input,select,textarea{font-size:16px}.cart-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-sheet-close,.mobile-cart-bar,.mobile-cart-backdrop{display:none}@media (max-width:767px){body{padding-bottom:84px;background:#f7f7f7}body.cart-sheet-open{overflow:hidden}.site-header{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 14px 14px;color:var(--black);background:#fff;border-bottom:1px solid var(--line)}.site-header h1{margin:2px 0;color:var(--black);font-size:28px;line-height:1.08}.site-header p,.brand-kicker{color:var(--muted)}.brand-logo{max-width:140px;max-height:62px}.header-actions{width:100%;justify-content:flex-start;gap:6px;overflow-x:auto;padding-bottom:2px}.status-pill,.account-link{flex:0 0 auto;min-height:36px;padding:8px 11px;color:var(--black);background:#f3f3f3;font-size:13px}.status-pill{border:1px solid var(--line)}.shop-layout{display:block;width:100%;margin:0}.menu-panel{width:100%;padding:0 12px 18px;border:0;border-radius:0;box-shadow:none;background:#f7f7f7}.notice{margin:10px 0}.hours-strip{margin:10px 0;border-radius:10px;font-size:13px}.delivery-summary{position:relative;display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin:10px 0;padding:11px 12px;border-left-width:4px;background:#fff}.delivery-summary span{grid-column:1 / -1;font-size:13px;line-height:1.3}.delivery-change{justify-self:end;min-height:34px;padding:0 4px;white-space:nowrap}.category-nav{position:sticky;top:0;z-index:24;margin:0 -12px 10px;padding:10px 12px;background:rgba(247,247,247,.97);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-nav::-webkit-scrollbar,.variant-pills::-webkit-scrollbar{display:none}.category-nav a{padding:9px 13px;background:#fff;color:var(--black);border:1px solid var(--line);font-size:14px}.category-nav a.active{color:#fff;border-color:var(--red);background:var(--red)}.category-block{padding-top:14px;scroll-margin-top:64px}.section-title{display:block;margin:8px 0 10px;border-bottom:0}.section-title h2{margin:0 0 2px;font-size:22px}.section-title span{font-size:13px}.product-grid{display:grid;grid-template-columns:1fr;gap:10px}.product-card{grid-template-columns:minmax(0,1fr) 54px;gap:10px 12px;min-height:0;padding:13px;border-radius:10px;cursor:default}.product-card.has-image{grid-template-columns:82px minmax(0,1fr) 54px}.product-thumb{grid-column:1;grid-row:1 / span 3;width:78px;height:78px;border-radius:10px}.product-info,.product-card>.product-info:first-child{grid-column:1;grid-row:1;min-width:0}.product-card.has-image .product-info{grid-column:2}.product-title-line{gap:8px;align-items:flex-start}.product-name-with-info{display:flex;flex:1 1 auto;min-width:0;gap:4px;font-size:17px;line-height:1.22}.info-dot{width:24px;height:24px;min-height:24px;margin-left:2px;font-size:13px}.card-price{flex:0 0 82px;min-width:82px;font-size:16px;line-height:1.2}.old-price{font-size:12px}.product-card p{margin-top:4px;font-size:13px;line-height:1.35}.product-action,.product-card>.product-info:first-child + .product-action{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:end;gap:8px;min-width:0;overflow:hidden}.product-card.has-image .product-action{grid-column:2 / -1}.variant-pills{display:flex;flex-wrap:nowrap;gap:7px;width:100%;overflow-x:auto;padding:4px 1px 2px;-webkit-overflow-scrolling:touch}.variant-pills button{flex:0 0 auto;min-height:38px;padding:8px 13px;background:#fff;color:#666}.variant-pills button.active{color:#fff;background:var(--red)}[data-product-open],.product-card>.product-info:first-child ~ [data-product-open]{grid-column:2;grid-row:1;align-self:end;justify-self:end;width:50px;height:50px;min-height:50px;font-size:26px}.product-card.has-image [data-product-open]{grid-column:2}.cart-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;display:block;width:100%;max-height:85vh;margin:0;padding:14px 14px max(16px,env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 45px rgba(0,0,0,.22);overflow-y:auto;transform:translateY(105%);transition:transform .22s ease;background:#fff}body.cart-sheet-open .cart-panel{transform:translateY(0)}.cart-sheet-head{position:sticky;top:-14px;z-index:2;margin:-14px -14px 8px;padding:14px;border-bottom:1px solid var(--line);background:#fff}.cart-sheet-head h2{margin:0}.cart-sheet-close{display:inline-grid;place-items:center;width:42px;height:42px;min-height:42px;border:0;border-radius:50%;background:#f2f2f2;color:var(--black);font-size:28px;line-height:1}.mobile-cart-bar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 18px;border:0;border-radius:999px;color:#fff;background:var(--red);box-shadow:0 14px 30px rgba(151,16,23,.32);font-weight:800}body.cart-sheet-open .mobile-cart-bar{display:none}.mobile-cart-backdrop{position:fixed;inset:0;z-index:75;display:block;border:0;padding:0;background:rgba(0,0,0,.45)}.mobile-cart-backdrop[hidden]{display:none}.cart-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0}.qty-stepper{grid-template-columns:42px 28px 42px}.qty-stepper button{width:42px;height:42px;min-height:42px}.coupon-form,.checkout-form,.split,.segmented{grid-template-columns:1fr}.checkout-form{gap:11px;padding-bottom:8px}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;min-height:48px}[data-submit-order]{position:sticky;bottom:0;z-index:3;min-height:54px;box-shadow:0 -8px 20px rgba(255,255,255,.92)}.area-modal{align-items:end;place-items:end stretch;padding:0}.area-card,.product-modal-card{width:100%;max-width:none;max-height:90vh;margin:0;padding:16px;border-radius:18px 18px 0 0;overflow-y:auto}.modal-head{display:grid;grid-template-columns:1fr auto;gap:10px}.modal-head h2{font-size:22px}.option-list label{min-height:42px;align-items:flex-start}.btn,button{min-height:46px;touch-action:manipulation}.site-footer{margin-bottom:90px}}@media (min-width:768px) and (max-width:1023px){.shop-layout{grid-template-columns:minmax(0,1fr);width:min(920px,calc(100% - 28px))}.cart-panel{position:static;order:0;max-height:none}.product-grid{grid-template-columns:1fr}.product-card{grid-template-columns:minmax(0,1fr) 56px}.product-card.has-image{grid-template-columns:100px minmax(0,1fr) 56px}.product-info,.product-card>.product-info:first-child{grid-column:1}.product-card.has-image .product-info{grid-column:2}.product-action,.product-card>.product-info:first-child + .product-action{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:end;gap:10px}.product-card.has-image .product-action{grid-column:2 / -1}[data-product-open],.product-card>.product-info:first-child ~ [data-product-open],.product-card.has-image [data-product-open]{grid-column:2;grid-row:1;align-self:end;justify-self:end}}@media (min-width:1024px){.cart-sheet-close{display:none}}@media (max-width:920px){body{background:#fff}.shop-layout{display:flex;flex-direction:column;width:min(100% - 20px,720px);gap:14px;margin:12px auto}.menu-panel,.cart-panel{position:sticky;top:0;z-index:30;padding:14px;box-shadow:none;order:-1;max-height:72vh;overflow:auto;border-color:#f0caca}.product-grid,.report-grid{grid-template-columns:1fr}.admin-header,.site-header{align-items:flex-start;flex-direction:column;gap:14px;padding:18px 14px}.site-header h1{font-size:34px;line-height:1.05}.brand-logo{max-width:140px;max-height:64px}.header-actions{width:100%;justify-content:flex-start}.account-link,.status-pill{padding:9px 12px;font-size:14px}.compact-form,.admin-table-head,.admin-table-row,.product-admin-row,.option-admin-row,.coupon-admin-row,.promotion-admin-row,.order-card,.hours-row,.hours-admin-grid,.hours-admin-row,.address-admin-row{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}.btn,button,input,select,textarea{min-height:46px}.status-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.site-header h1{font-size:30px}.hours-strip{font-size:13px;padding:10px}.category-nav{top:0;margin-left:-14px;margin-right:-14px;padding:10px 14px}.category-nav a{padding:9px 12px;font-size:14px}.section-title{display:block}.section-title h2{margin-bottom:4px}.product-card{display:grid;grid-template-columns:90px minmax(0,1fr) 48px;gap:10px;min-height:auto;padding:12px;align-items:start}.product-thumb{width:80px;height:80px}.product-card h3{font-size:17px;margin-bottom:5px}.product-card p{font-size:13px}.product-action{height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:stretch;grid-column:2}.product-card>.product-info:first-child,.product-card>.product-info:first-child + .product-action{grid-column:1 / 3}.product-card>.product-info:first-child ~ [data-product-open]{grid-column:3}.card-price{width:auto;min-width:80px;max-width:none;justify-content:flex-end;text-align:right;font-size:16px}.variant-pills{width:100%;max-width:none;justify-content:flex-start;text-align:left}.variant-pills button{width:auto;min-height:42px}.product-action strong{font-size:15px;white-space:normal;text-align:right}[data-product-open]{grid-column:3;grid-row:1 / span 2;align-self:end;justify-self:end;width:52px;height:52px;min-height:52px}.icon-btn{width:48px;height:48px}.cart-row{display:grid;grid-template-columns:1fr}.split{grid-template-columns:1fr}.segmented{grid-template-columns:1fr}.btn.full{min-height:48px;white-space:normal;line-height:1.25;text-align:center}.area-modal{align-items:end;padding:10px}.area-card{width:100%;max-height:calc(100vh - 20px);padding:16px}.modal-head{display:grid;gap:8px}.checkout-form input,.checkout-form select,.checkout-form textarea,.admin-main input,.admin-main select,.admin-main textarea{font-size:16px}.admin-main{width:min(100% - 20px,720px);margin:12px auto}.table-card{padding:14px;box-shadow:none}.admin-header nav{width:100%;display:grid;grid-template-columns:1fr}.admin-header a{text-align:center}.receipt-line{font-size:14px}.status-page{padding:10px}.status-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status-step{min-height:96px;padding:10px 6px}.status-icon{width:36px;height:36px}.live-orders-board{grid-template-columns:1fr}.prep-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.shop-layout{display:block;width:100%;margin:0}.menu-panel{position:static;order:0;max-height:none;overflow:visible;width:100%;padding:0 12px 18px;border:0;border-radius:0;box-shadow:none;background:#f7f7f7}.cart-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;width:100%;max-height:85vh;margin:0;padding:14px 14px max(16px,env(safe-area-inset-bottom));border:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 45px rgba(0,0,0,.22);overflow-y:auto;transform:translateY(105%);transition:transform .22s ease;background:#fff}body.cart-sheet-open .cart-panel{transform:translateY(0)}.product-card{grid-template-columns:minmax(0,1fr) 54px;gap:10px 12px;min-height:0}.product-card.has-image{grid-template-columns:82px minmax(0,1fr) 54px}.product-info,.product-card>.product-info:first-child{grid-column:1}.product-card.has-image .product-info{grid-column:2}.product-action,.product-card>.product-info:first-child + .product-action{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:end;gap:8px;overflow:hidden}.product-card.has-image .product-action{grid-column:2 / -1}[data-product-open],.product-card>.product-info:first-child ~ [data-product-open]{grid-column:2;grid-row:1;align-self:end;justify-self:end;width:50px;height:50px;min-height:50px}.product-card.has-image [data-product-open]{grid-column:2}.variant-pills{flex-wrap:nowrap;overflow-x:auto;max-width:100%}.cart-row{display:grid;grid-template-columns:1fr auto}.cart-sheet-close,.mobile-cart-bar{display:flex}.mobile-cart-backdrop{display:block}.mobile-cart-backdrop[hidden]{display:none}.area-modal{place-items:end stretch;padding:0}.area-card,.product-modal-card{width:100%;max-width:none;max-height:90vh;border-radius:18px 18px 0 0;overflow-y:auto}}@media (min-width:768px) and (max-width:1023px){.shop-layout{display:grid;grid-template-columns:1fr;width:min(920px,calc(100% - 28px))}.cart-panel{position:static;order:0;max-height:none}}@media print{body *{visibility:hidden}.receipt-80,.receipt-80 *{visibility:visible}.receipt-80{position:absolute;left:0;top:0;width:80mm;margin:0;box-shadow:none;border:0}.print-button{display:none}}

.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-weight:800;font-size:13px;color:#222;background:#eee}.status-pending,.status-new{color:#8a1111;background:#ffe8e8}.status-accepted,.status-confirmed{color:#0b6330;background:#e7f7ed}.status-preparing{color:#8a5a00;background:#fff4d9}.status-ready{color:#083f7a;background:#e6f0ff}.status-assigned_to_courier{color:#503300;background:#fff0bf}.status-on_delivery,.status-out_for_delivery{color:#fff;background:#151515}.status-delivered{color:#fff;background:#13783d}.status-cancelled{color:#fff;background:#8a1111}.courier-select{display:grid;gap:5px;font-weight:800}.courier-mobile .kitchen-ticket{display:grid;gap:10px}.courier-mobile .ticket-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.courier-mobile .ticket-actions .btn{min-height:52px}@media (min-width:768px){.status-timeline{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:767px){.courier-mobile .kanban{width:calc(100% - 20px);grid-template-columns:1fr;margin:10px auto}.courier-mobile .ticket-actions{grid-template-columns:1fr}.courier-mobile .ticket-actions .btn{min-height:56px;font-size:17px}.status-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}

.status-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.status-buttons .btn{min-height:44px}@media (max-width:767px){.status-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.status-buttons .btn{min-height:50px}}
.report-filter label{display:grid;gap:5px;font-weight:800}.report-filter input{min-width:170px}.history-order-actions{display:flex;gap:8px;justify-content:flex-end}
.status-card .receipt-line strong[data-courier-phone],.status-card .receipt-line strong[data-courier-name]{overflow-wrap:anywhere}@media (max-width:767px){.status-card{padding:0}.status-progress strong{font-size:21px}.status-timeline{grid-template-columns:1fr;gap:7px}.status-step{grid-template-columns:42px 1fr;justify-items:start;align-items:center;min-height:66px;text-align:left}.status-step .status-icon{width:34px;height:34px}.status-card .receipt-line{align-items:flex-start;gap:8px}.status-card .receipt-line span{max-width:52%}.status-card .receipt-line strong{text-align:right;overflow-wrap:anywhere}}

.area-zone-box{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding:13px;border:1px solid #f0caca;border-radius:12px;background:#fff7f7}.area-zone-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--red);box-shadow:0 10px 20px rgba(215,25,32,.18)}.area-zone-icon span{position:relative;width:20px;height:28px;border:3px solid currentColor;border-radius:14px 14px 14px 4px;transform:rotate(45deg)}.area-zone-icon span::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}.area-zone-content{display:grid;gap:7px;min-width:0}.area-zone-content label{font-weight:800}.area-zone-content p{margin:0;color:var(--muted);font-size:14px;line-height:1.35}.area-zone-content select{min-height:48px}@media (max-width:767px){.area-zone-box{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:12px}.area-zone-icon{width:44px;height:44px;border-radius:12px}.area-zone-icon span{width:17px;height:24px}.area-zone-content p{font-size:13px}}

.hours-strip{display:flex;align-items:center;gap:8px;white-space:normal;line-height:1.35}.hours-strip::before{content:"";flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#2dd36f;box-shadow:0 0 0 4px rgba(45,211,111,.16)}@media (max-width:767px){.hours-strip{max-height:none;white-space:normal;font-size:13px;padding:11px 12px}.hours-strip::before{width:8px;height:8px}}

/* Modern customer ordering page polish */
body{background:#f4f5f7;color:#202124}.site-header{position:relative;z-index:10;padding:18px clamp(16px,4vw,48px);background:#fff;color:#202124;border-bottom:1px solid #eceef1;box-shadow:0 2px 16px rgba(15,23,42,.04)}.site-brand{display:grid;gap:5px;min-width:0}.site-brand h1{color:#202124;font-size:clamp(28px,4vw,42px)}.site-brand p{color:#6f7782;line-height:1.35}.brand-kicker{color:#8b1b1f;letter-spacing:.04em}.brand-logo{max-width:178px;max-height:68px}.header-actions{gap:10px}.status-pill,.account-link{border:1px solid #eceef1;background:#f7f8fa;color:#202124;box-shadow:none}.status-pill.closed{color:#9f1017;background:#fff1f1;border-color:#ffd4d4}.status-pill.preorder{color:#8a5600;background:#fff6df;border-color:#ffe4a6}.status-pill.open{color:#13783d;background:#eaf8ef;border-color:#c9ecd6}.restaurant-hero{width:min(1280px,calc(100% - 32px));margin:18px auto 0;background:#151515;border-radius:18px;overflow:hidden;box-shadow:0 18px 36px rgba(15,23,42,.14)}.restaurant-hero img{width:100%;height:clamp(190px,27vw,330px);object-fit:cover;display:block;border-radius:0}.shop-layout{width:min(1280px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) 380px;gap:22px;margin:22px auto}.menu-panel,.cart-panel{border-color:#eceef1;border-radius:16px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.menu-panel{padding:18px;background:#fff}.cart-panel{top:18px;padding:18px;background:#fff}.hours-strip{border-radius:12px;background:#202124;color:#fff}.category-nav{top:0;z-index:12;margin:8px -2px 16px;padding:10px 2px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.category-nav a{color:#202124;background:#f4f5f7;border:1px solid #eceef1}.category-nav a.active{color:#fff;background:var(--red);border-color:var(--red)}.delivery-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 16px;border:1px solid #ffd2d2;border-left:5px solid var(--red);border-radius:14px;background:#fff8f8}.delivery-summary span{grid-column:1 / -1}.delivery-change{justify-self:end;min-height:36px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #ffd2d2}.section-title{align-items:flex-end;border:0;margin:18px 0 12px}.section-title h2{font-size:28px;letter-spacing:0}.product-grid{grid-template-columns:1fr;gap:12px}.product-card{display:grid;grid-template-columns:126px minmax(0,1fr) 56px;grid-template-rows:auto auto;gap:12px 16px;min-height:136px;padding:14px;border:1px solid #eceef1;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.product-card:hover{border-color:#ffd0d0;box-shadow:0 12px 26px rgba(15,23,42,.08);transform:translateY(-1px)}.product-card:not(.has-image){grid-template-columns:minmax(0,1fr) 56px}.product-thumb{grid-column:1;grid-row:1 / span 2;width:126px;height:126px;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px;background:#f1f1f1}.product-info{grid-column:2;grid-row:1;min-width:0}.product-card:not(.has-image) .product-info{grid-column:1}.product-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 7px}.product-name-with-info{display:flex;align-items:flex-start;gap:6px;min-width:0;font-size:18px;line-height:1.25}.product-name-with-info>span{min-width:0;overflow-wrap:anywhere}.info-dot{width:24px;height:24px;min-height:24px;margin-left:0;background:#fff8f8;border-color:#ffd2d2;color:var(--red);font-size:13px}.card-price{min-width:92px;text-align:right;white-space:nowrap}.product-card p{font-size:14px;line-height:1.4;color:#69707a}.product-action{grid-column:2 / 4;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:end;gap:10px;min-width:0}.product-card:not(.has-image) .product-action{grid-column:1 / 3}.variant-pills{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.variant-pills button{background:#fff;border-color:#e2e5e9;color:#626b76}.variant-pills button.active{border-color:var(--red);background:var(--red);color:#fff}[data-product-open]{grid-column:3;grid-row:1 / span 2;align-self:end;justify-self:end;width:50px;height:50px;min-height:50px;border-radius:50%;font-size:28px}.product-card:not(.has-image) [data-product-open]{grid-column:2}.cart-sheet-head{position:sticky;top:-18px;z-index:3;margin:-18px -18px 10px;padding:16px 18px;background:#fff;border-bottom:1px solid #eceef1;border-radius:16px 16px 0 0}.cart-sheet-head h2{margin:0}.cart-clear-form{margin-left:auto}.cart-clear-btn{width:38px;height:38px;min-height:38px;display:grid;place-items:center;border:1px solid #eceef1;border-radius:50%;background:#fff;color:#8a1111;cursor:pointer}.cart-clear-btn:hover{background:#fff1f1;border-color:#ffd0d0}.cart-clear-btn span{position:relative;width:16px;height:18px;border:2px solid currentColor;border-top:0;border-radius:0 0 4px 4px}.cart-clear-btn span::before{content:"";position:absolute;left:-3px;right:-3px;top:-6px;border-top:2px solid currentColor}.cart-clear-btn span::after{content:"";position:absolute;left:5px;top:-10px;width:6px;border-top:2px solid currentColor}.cart-row{align-items:start;border-color:#eceef1}.qty-stepper button{background:#202124}.qty-stepper button:hover{background:var(--red)}.mobile-cart-bar{letter-spacing:0}.area-card{border-radius:18px}.area-card>.section-title{display:block;margin:0 0 2px}.area-card>.section-title h2{margin:0 0 4px;font-size:25px}.area-card>.section-title span{font-size:14px}.segmented label,.time-choice label{border-radius:12px;background:#fff}.btn.primary{border-color:var(--red);background:#d63031}.btn.primary:hover{background:#b91f24}@media (min-width:1024px){.cart-sheet-close{display:none!important}.product-grid{grid-template-columns:1fr}.menu-panel{padding:20px}.site-header{display:flex}}@media (max-width:1023px){.shop-layout{grid-template-columns:1fr}.cart-panel{position:static}.product-grid{grid-template-columns:1fr}.product-card{grid-template-columns:112px minmax(0,1fr) 54px}.product-card:not(.has-image){grid-template-columns:minmax(0,1fr) 54px}.product-thumb{width:112px;height:112px}.product-action{grid-column:2 / 4}.product-card:not(.has-image) .product-action{grid-column:1 / 3}}@media (max-width:767px){body{background:#f4f5f7;padding-bottom:88px}.site-header{padding:14px 14px 12px}.restaurant-hero{width:100%;margin:0;border-radius:0;box-shadow:none}.restaurant-hero img{height:150px;border-radius:0;object-fit:cover}.shop-layout{width:100%;margin:0}.menu-panel{padding:0 12px 18px;background:#f4f5f7}.hours-strip{margin:10px 0;border-radius:12px;max-height:42px}.category-nav{margin:0 -12px 12px;padding:10px 12px;background:rgba(244,245,247,.96)}.delivery-summary{margin:10px 0 14px;background:#fff;border-radius:14px}.section-title h2{font-size:24px}.product-card,.product-card.has-image{grid-template-columns:82px minmax(0,1fr) 52px;grid-template-rows:auto auto;padding:12px;border-radius:14px;gap:9px 10px;min-height:0;transform:none!important}.product-card:not(.has-image){grid-template-columns:minmax(0,1fr) 52px}.product-thumb{width:78px;height:78px;border-radius:11px}.product-info,.product-card.has-image .product-info{grid-column:2;grid-row:1}.product-card:not(.has-image) .product-info{grid-column:1}.product-title-line{grid-template-columns:minmax(0,1fr) auto;gap:8px}.product-name-with-info{font-size:17px}.card-price{min-width:78px;font-size:15px}.product-action,.product-card.has-image .product-action{grid-column:2 / 4;grid-row:2;grid-template-columns:minmax(0,1fr) 52px}.product-card:not(.has-image) .product-action{grid-column:1 / 3}.variant-pills{flex-wrap:nowrap;overflow-x:auto;padding:3px 1px}.variant-pills button{flex:0 0 auto;min-height:39px}.product-card [data-product-open],.product-card.has-image [data-product-open],.product-card:not(.has-image) [data-product-open]{grid-column:3;grid-row:1 / span 2;width:50px;height:50px;min-height:50px}.product-card:not(.has-image) [data-product-open]{grid-column:2}.cart-panel{position:fixed!important;top:auto!important;bottom:0;left:0;right:0;z-index:80;max-height:85vh;margin:0;padding:14px 14px max(16px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow-y:auto;transform:translateY(105%);transition:transform .22s ease}.cart-sheet-head{top:-14px;margin:-14px -14px 10px;padding:14px;border-radius:18px 18px 0 0}.cart-clear-btn{width:42px;height:42px;min-height:42px}.mobile-cart-bar{display:flex;min-height:58px}.area-card,.product-modal-card{border-radius:18px 18px 0 0}.area-card>.section-title h2{font-size:23px}}@media (max-width:420px){.restaurant-hero img{height:132px}.product-card.has-image{grid-template-columns:74px minmax(0,1fr) 50px}.product-thumb{width:70px;height:70px}.product-action,.product-card.has-image .product-action{grid-column:1 / -1}.product-card.has-image .variant-pills{padding-left:84px}.card-price{min-width:72px}.product-name-with-info{font-size:16px}}
.auth-modal-card{width:min(520px,calc(100% - 24px));padding:0;overflow:hidden}.auth-modal-card .modal-head{padding:18px 18px 12px;margin:0;border-bottom:1px solid var(--line)}.auth-modal-card iframe{display:block;width:100%;height:min(680px,76vh);border:0;background:#fff}.modal-close-btn{width:42px;height:42px;min-height:42px;border:0;border-radius:50%;background:#f2f2f2;color:var(--black);font-size:28px;line-height:1;cursor:pointer}@media (max-width:767px){.auth-modal-card{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.auth-modal-card iframe{height:76vh}.auth-modal-card .modal-head{position:sticky;top:0;z-index:2;background:#fff}}
.link-button{min-height:0;border:0;padding:0;background:transparent;color:var(--red);font-weight:700;text-align:left;cursor:pointer}.optional-otp[hidden]{display:none}.optional-otp{display:block}

.admin-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 12px}
.admin-help-grid div{display:grid;gap:4px;padding:12px;border:1px solid #eceef1;border-radius:12px;background:#f9fafb}
.admin-help-grid strong{color:#202124}
.admin-help-grid span{color:#667085;font-size:13px;line-height:1.35}
.option-template-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.option-admin-row input[readonly]{color:#667085;background:#f4f5f7}
@media (max-width:920px){.admin-help-grid{grid-template-columns:1fr}.option-template-buttons{display:grid;grid-template-columns:1fr}}

.admin-product-tabs{position:sticky;top:0;z-index:9;display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;padding:10px;border:1px solid #eceef1;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,23,42,.06);backdrop-filter:blur(10px)}
.admin-product-tabs a{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e5e9;border-radius:999px;padding:8px 13px;background:#fff;color:#202124;font-weight:800}
.admin-product-tabs a:hover{border-color:#ffd0d0;background:#fff7f7;color:var(--red)}
.admin-product-card{margin:0 0 16px}
.product-edit-card{display:grid!important;grid-template-columns:1fr!important;gap:14px;align-items:stretch;padding:16px!important;border:1px solid #eceef1!important;border-radius:16px;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.product-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:2px}
.product-edit-head div{display:grid;gap:3px;min-width:0}
.product-edit-head strong{font-size:18px;line-height:1.2;color:#202124;overflow-wrap:anywhere}
.product-edit-head span:not(.status-badge){color:#667085;font-size:13px;line-height:1.35}
.admin-form-section{display:grid;gap:10px;padding:13px;border:1px solid #eceef1;border-radius:14px;background:#fafbfc}
.admin-form-section h3{margin:0;color:#202124;font-size:15px;letter-spacing:0}
.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center}
.admin-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-check{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 11px;border:1px solid #e2e5e9;border-radius:8px;background:#fff;font-weight:800}
.admin-check input{width:auto;min-height:auto}
.admin-form-actions{display:flex;justify-content:flex-end;gap:8px}
.product-delete-form{margin:-8px 4px 0;text-align:right}
@media (max-width:920px){.admin-product-tabs{top:0;margin-left:-2px;margin-right:-2px;border-radius:12px}.admin-form-grid,.admin-form-grid.compact{grid-template-columns:1fr}.product-edit-head{display:grid}.admin-form-actions{display:grid}.product-delete-form{text-align:left}}

.checkout-time-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:12px 14px;border:1px solid #c9ecd6;border-radius:14px;background:#eaf8ef;color:#13783d}
.checkout-time-summary[hidden]{display:none}
.checkout-time-summary span{grid-column:1 / -1;color:#13783d;font-size:13px;font-weight:800}
.checkout-time-summary strong{color:#0b6330}
.checkout-time-summary .link-button{justify-self:end;color:#0b6330}
@media (max-width:520px){.checkout-time-summary{grid-template-columns:1fr}.checkout-time-summary .link-button{justify-self:start}}

.payment-methods{display:grid;grid-template-columns:1fr;gap:8px}
.payment-method-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;justify-items:start;gap:10px;min-height:62px;padding:12px 14px;border:1px solid #e2e5e9;border-radius:14px;background:#fff;color:#202124;text-align:left;font-weight:900;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.payment-method-card:hover{border-color:#ffd0d0;box-shadow:0 10px 22px rgba(15,23,42,.07);transform:translateY(-1px)}
.payment-method-card input{position:absolute;opacity:0;pointer-events:none;width:1px;min-height:1px}
.payment-method-card:has(input:checked){border-color:var(--red);background:#fff7f7;box-shadow:0 12px 24px rgba(215,25,32,.11)}
.payment-method-card:has(input:checked)::after{content:"";position:absolute;right:9px;top:9px;width:17px;height:17px;border-radius:50%;background:var(--red);box-shadow:inset 0 0 0 4px #fff}
.payment-icon{position:relative;width:34px;height:34px;border-radius:12px;color:#fff;background:#202124}
.payment-icon-cash::before{content:"";position:absolute;left:7px;top:10px;width:20px;height:14px;border:2px solid currentColor;border-radius:4px}
.payment-icon-cash::after{content:"";position:absolute;left:13px;top:14px;width:8px;height:6px;border:2px solid currentColor;border-radius:50%}
.payment-icon-card::before{content:"";position:absolute;left:6px;top:10px;width:22px;height:15px;border:2px solid currentColor;border-radius:4px}
.payment-icon-card::after{content:"";position:absolute;left:8px;top:15px;width:18px;border-top:3px solid currentColor}
.payment-icon-online::before{content:"";position:absolute;left:7px;top:8px;width:20px;height:17px;border:2px solid currentColor;border-radius:5px}
.payment-icon-online::after{content:"";position:absolute;left:13px;top:25px;width:8px;border-top:2px solid currentColor}
@media (max-width:520px){.payment-method-card{grid-template-columns:38px minmax(0,1fr);min-height:58px;padding:10px 12px}.payment-icon{width:36px;height:36px}}

.category-nav-shell{position:sticky;top:0;z-index:34;display:grid;gap:10px;margin:12px -6px 18px;padding:12px;border:1px solid #eceef1;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 10px 26px rgba(15,23,42,.08);backdrop-filter:blur(12px)}
.category-nav-shell.is-fixed{position:fixed!important;top:0!important;right:auto!important;margin:0!important;border-radius:0 0 18px 18px;z-index:120}
.category-nav-spacer{height:0}
.category-block{scroll-margin-top:150px}
.menu-search{position:relative;display:block}
.menu-search input{min-height:50px;border-radius:999px;padding-left:46px;border-color:#d8dbe0;background:#fff;font-weight:800}
.menu-search input::placeholder{color:#8d939d;font-weight:700}
.menu-search-icon{position:absolute;left:18px;top:50%;z-index:1;width:17px;height:17px;border:3px solid var(--red);border-radius:50%;transform:translateY(-58%)}
.menu-search-icon::after{content:"";position:absolute;right:-8px;bottom:-6px;width:10px;border-top:3px solid var(--red);transform:rotate(45deg);transform-origin:left center}
.category-nav-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.category-nav-label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:0 12px;color:#fff;background:#202124;font-size:14px;font-weight:900}
.category-nav-shell .category-nav{position:static!important;top:auto!important;z-index:auto;display:flex!important;min-width:0;margin:0!important;padding:0!important;border:0;background:transparent!important;box-shadow:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.category-nav-shell .category-nav::-webkit-scrollbar{display:none}
.category-nav-shell .category-nav a{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e5e9;border-radius:999px;padding:8px 14px;color:#202124;background:#f7f8fa;font-weight:900;white-space:nowrap}
.category-nav-shell .category-nav a.active{color:#fff;border-color:var(--red);background:var(--red)}
@media (max-width:767px){.category-nav-shell{top:0;gap:9px;margin:10px -12px 14px;padding:10px 12px;border-left:0;border-right:0;border-radius:0}.category-nav-shell.is-fixed{border-radius:0 0 16px 16px}.category-block{scroll-margin-top:142px}.menu-search input{min-height:48px}.category-nav-row{grid-template-columns:1fr;gap:8px}.category-nav-label{width:max-content;min-height:30px;padding:0 10px;font-size:13px}.category-nav-shell .category-nav a{min-height:38px;padding:8px 13px}}

/* Cart clear confirmation */
.confirm-modal{z-index:95;background:rgba(15,23,42,.54);backdrop-filter:blur(7px)}
.confirm-card{width:min(390px,calc(100% - 28px));gap:12px;padding:22px;text-align:center;border-radius:24px;box-shadow:0 30px 80px rgba(15,23,42,.32)}
.confirm-card h2{margin:2px 0 0;font-size:25px;color:#202124}
.confirm-card p{margin:0;color:#667085;line-height:1.45}
.confirm-icon{width:64px;height:64px;margin:0 auto;border-radius:22px;display:grid;place-items:center;color:#9f1017;background:#fff0f0;border:1px solid #ffd4d4}
.confirm-icon span{position:relative;width:24px;height:28px;border:3px solid currentColor;border-top:0;border-radius:0 0 6px 6px}
.confirm-icon span::before{content:"";position:absolute;left:-5px;right:-5px;top:-8px;border-top:3px solid currentColor}
.confirm-icon span::after{content:"";position:absolute;left:7px;top:-14px;width:10px;border-top:3px solid currentColor}
.app-dialog.is-info .confirm-icon{color:#13783d;background:#eaf8ef;border-color:#c9ecd6}
.app-dialog.is-info .confirm-icon span{width:30px;height:30px;border:3px solid currentColor;border-radius:50%;border-top:3px solid currentColor}
.app-dialog.is-info .confirm-icon span::before{content:"i";left:0;right:0;top:2px;border:0;color:currentColor;font-weight:900;font-size:21px;line-height:30px;text-align:center}
.app-dialog.is-info .confirm-icon span::after{display:none}
.app-dialog.is-danger .confirm-icon{color:#9f1017;background:#fff0f0;border-color:#ffd4d4}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.confirm-actions.is-single{grid-template-columns:1fr}
.confirm-actions [hidden]{display:none!important}
.danger-action{background:#9f1017!important;border-color:#9f1017!important}
@media (max-width:520px){.confirm-modal{align-items:end;place-items:end stretch;padding:0}.confirm-card{width:100%;border-radius:24px 24px 0 0;padding:22px 16px max(18px,env(safe-area-inset-bottom))}.confirm-actions{grid-template-columns:1fr}.confirm-actions .danger-action{order:-1}}

/* Modern first-order modal */
.area-card-modern{width:min(560px,calc(100% - 28px));gap:14px;padding:22px;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fff 62%,#fff8f8 100%);box-shadow:0 28px 80px rgba(15,23,42,.28)}
.area-modal-head{display:grid;grid-template-columns:58px minmax(0,1fr) 42px;gap:14px;align-items:start;padding-bottom:4px}
.area-modal-head h2{margin:2px 0 6px;font-size:29px;line-height:1.08;color:#202124}
.area-modal-head p:not(.brand-kicker){margin:0;color:#667085;line-height:1.38}
.area-title-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--red),#7f1117);box-shadow:0 18px 28px rgba(215,25,32,.24)}
.area-title-icon span{position:relative;width:27px;height:27px;border:3px solid currentColor;border-radius:8px}
.area-title-icon span::before{content:"";position:absolute;left:4px;right:4px;top:-9px;height:12px;border:3px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.area-title-icon span::after{content:"";position:absolute;right:-10px;bottom:1px;width:8px;height:8px;border:3px solid currentColor;border-left:0;border-top:0;transform:rotate(-45deg)}
.modern-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.modern-choice-card{position:relative;display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;min-height:88px;padding:13px!important;border:1px solid #e6e8ec!important;border-radius:18px!important;background:#fff!important;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}
.modern-choice-card:hover{border-color:#ffd0d0!important;box-shadow:0 14px 26px rgba(15,23,42,.08);transform:translateY(-1px)}
.modern-choice-card input{position:absolute;opacity:0;pointer-events:none;width:1px;min-height:1px}
.modern-choice-card strong{display:block;color:#202124;font-size:16px;line-height:1.18}
.modern-choice-card small{display:block;margin-top:4px;color:#747b86;line-height:1.28}
.modern-choice-card:has(input:checked){border-color:var(--red)!important;background:#fff7f7!important;box-shadow:0 16px 32px rgba(215,25,32,.12)}
.modern-choice-card:has(input:checked)::after{content:"";position:absolute;right:12px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--red);box-shadow:inset 0 0 0 5px #fff}
.modern-choice-card-compact{min-height:76px}
.choice-icon{position:relative;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:#202124;box-shadow:0 10px 20px rgba(15,23,42,.12);flex:0 0 auto}
.choice-icon-delivery::before{content:"";position:absolute;left:10px;top:17px;width:25px;height:13px;border:3px solid currentColor;border-radius:12px 12px 6px 6px}
.choice-icon-delivery::after{content:"";position:absolute;left:8px;right:8px;bottom:8px;height:8px;border-left:5px solid currentColor;border-right:5px solid currentColor;border-radius:0 0 8px 8px}
.choice-icon-pickup::before{content:"";position:absolute;left:12px;top:18px;width:22px;height:17px;border:3px solid currentColor;border-radius:5px}
.choice-icon-pickup::after{content:"";position:absolute;left:17px;top:10px;width:12px;height:10px;border:3px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.choice-icon-fast::before{content:"";position:absolute;left:13px;top:10px;width:19px;height:24px;border:3px solid currentColor;border-radius:13px 13px 13px 4px;transform:rotate(45deg)}
.choice-icon-fast::after{content:"";position:absolute;left:19px;top:17px;width:7px;height:7px;border-radius:50%;background:currentColor}
.choice-icon-clock::before{content:"";position:absolute;inset:11px;border:3px solid currentColor;border-radius:50%}
.choice-icon-clock::after{content:"";position:absolute;left:23px;top:15px;width:8px;height:11px;border-left:3px solid currentColor;border-bottom:3px solid currentColor}
.modern-select-card,.modern-zone-box{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #eceef1;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.modern-select-card[hidden]{display:none}
.modern-select-content,.modern-zone-box .area-zone-content{display:grid;gap:7px;min-width:0}
.modern-select-content label,.modern-zone-box .area-zone-content label{font-weight:900;color:#202124}
.modern-select-content p,.modern-zone-box .area-zone-content p{margin:0;color:#667085;font-size:14px;line-height:1.35}
.modern-select-card select,.modern-zone-box select,.modern-zone-box input{min-height:52px;border-radius:14px;border-color:#e2e5e9;background:#f9fafb;font-weight:700;color:#202124}
.modern-zone-box{border-color:#ffd6d6;background:#fffafa}
.modern-zone-box .area-zone-icon{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--red),#9f1017)}
.area-submit-btn{min-height:52px;border-radius:16px;font-size:17px;box-shadow:0 14px 28px rgba(215,25,32,.2)}
.modern-zone-box{position:relative;overflow:hidden}
.modern-zone-box::before{content:"Liefergebiet";position:absolute;right:14px;top:12px;border-radius:999px;padding:4px 9px;color:#9f1017;background:#fff0f0;font-size:12px;font-weight:900;letter-spacing:.02em}
.modern-zone-box .area-zone-content{padding-right:92px}
.modern-zone-box input{padding-left:42px;background-image:linear-gradient(#8b1b1f,#8b1b1f),linear-gradient(#8b1b1f,#8b1b1f),radial-gradient(circle at 50% 40%,transparent 0 5px,#8b1b1f 6px 8px,transparent 9px);background-position:21px 29px,28px 36px,14px 15px;background-size:14px 2px,2px 8px,18px 18px;background-repeat:no-repeat}
.zone-search-hint{color:#667085;font-weight:700}
.zone-search-hint.is-selected{color:#13783d}
.zone-selected{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:7px 11px;color:#13783d;background:#eaf8ef;border:1px solid #c9ecd6;font-weight:900;line-height:1.2}
.zone-selected[hidden]{display:none}
@media (max-width:767px){.modern-zone-box::before{position:static;grid-column:1 / -1;justify-self:start;margin-bottom:-4px}.modern-zone-box .area-zone-content{padding-right:0}}
@media (max-width:767px){.area-card-modern{width:100%;max-height:92vh;padding:18px 16px max(18px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.area-modal-head{grid-template-columns:50px minmax(0,1fr) 42px;gap:11px}.area-modal-head h2{font-size:24px}.area-title-icon{width:50px;height:50px;border-radius:16px}.modern-choice-grid{grid-template-columns:1fr}.modern-choice-card{min-height:76px;grid-template-columns:44px minmax(0,1fr);padding:12px!important}.choice-icon{width:42px;height:42px;border-radius:14px}.modern-select-card,.modern-zone-box{grid-template-columns:44px minmax(0,1fr);padding:12px}.modern-zone-box .area-zone-icon{width:42px;height:42px}.area-submit-btn{min-height:54px}}

/* Compact delivery summary: keeps the top order info tidy without touching menu behavior. */
.hours-strip{margin:0 0 8px;padding:11px 14px;font-size:clamp(14px,1.05vw,17px);line-height:1.25;font-weight:800;letter-spacing:0;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hours-strip::before{width:12px;height:12px;box-shadow:0 0 0 5px rgba(45,211,111,.18)}
.delivery-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;margin:8px 0 10px;padding:10px 12px;min-height:0}
.delivery-summary strong{grid-column:1;line-height:1.25;font-size:16px}
.delivery-summary span{grid-column:1;line-height:1.35;font-size:14px}
.delivery-change{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;min-height:38px;padding:0 12px;white-space:nowrap}
@media (max-width:767px){.hours-strip{margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-strip::before{width:9px;height:9px}.delivery-summary{grid-template-columns:1fr;gap:4px;margin:8px 0 10px;padding:10px 11px}.delivery-summary strong,.delivery-summary span,.delivery-change{grid-column:1;grid-row:auto}.delivery-change{justify-self:start;min-height:36px;margin-top:2px}}

/* Simplified admin roles and staff permissions */
.admin-role-pill{display:inline-flex;align-items:center;margin-left:8px;border-radius:999px;padding:4px 9px;background:#fff1f1;color:#9f1017;font-size:13px;font-weight:800;vertical-align:middle}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-top:8px;padding:10px;border:1px solid #eceef1;border-radius:10px;background:#f9fafb}
.permission-grid[hidden]{display:none}
.permission-grid label{display:flex;align-items:center;gap:7px;min-height:34px;font-size:14px}
.permission-grid input{width:auto;min-height:auto}

/* Customer product page refresh */
body{background:#f4f5f7}
.site-header{position:absolute;left:0;right:0;z-index:6;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,0));padding:24px clamp(16px,4vw,54px)}
.site-header p,.site-header .brand-kicker{color:rgba(255,255,255,.86)}
.site-header .status-pill,.site-header .account-link{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(0,0,0,.34);backdrop-filter:blur(8px)}
.site-header .status-pill.open{color:#dfffe9}
.restaurant-hero{height:300px;background:#17181d}
.restaurant-hero.is-empty{display:block;background:linear-gradient(135deg,#17181d,#3a1114 62%,#9f1017)}
.restaurant-hero img{height:300px;border-radius:0;filter:saturate(1.04)}
.shop-layout{grid-template-columns:minmax(0,1fr) 330px;gap:22px;width:min(1120px,calc(100% - 36px));margin:-112px auto 70px}
.restaurant-overview{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:18px;align-items:center;padding:22px;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 16px 44px rgba(16,24,40,.12)}
.restaurant-overview h1{margin:0 0 6px;color:#1f2026;font-size:32px;line-height:1.1;letter-spacing:0}
.restaurant-overview p{margin:0 0 12px;color:#6b7280;font-size:15px;line-height:1.45}
.restaurant-overview .hours-strip{display:inline-flex;max-width:100%;margin:0;padding:9px 13px;border-radius:999px;background:#17181d;font-size:14px;color:#fff}
.restaurant-overview .delivery-summary{margin:0;padding:14px;border-radius:18px;border:1px solid rgba(215,25,32,.18);background:#fff7f7}
.restaurant-overview .delivery-change{min-height:38px;border:1px solid rgba(215,25,32,.26);border-radius:999px;padding:0 14px;color:var(--red);background:#fff;font-weight:900}
.menu-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.category-nav-shell{top:0;margin:0 0 18px;padding:12px;border:0;border-radius:22px;background:rgba(244,245,247,.94);box-shadow:none}
.menu-search input{min-height:54px;border-color:#e6e8ed;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.06);font-weight:700}
.category-nav-label{display:none}
.category-nav-row{display:block}
.category-nav-shell .category-nav{gap:10px;margin-top:12px!important}
.category-nav-shell .category-nav a{min-height:42px;border-color:#e6e8ed;background:#fff;color:#1f2026;padding:10px 18px;font-weight:950}
.category-nav-shell .category-nav a.active{border-color:#1f2026;background:#1f2026;color:#fff}
.section-title{margin:22px 0 12px;border:0}
.section-title h2{margin:0;color:#1f2026;font-size:24px;letter-spacing:0}
.section-title span{font-size:14px;font-weight:750}
.product-grid{grid-template-columns:1fr;gap:12px}
.product-card{grid-template-columns:124px minmax(0,1fr) 54px;gap:16px;min-height:148px;padding:14px;border-color:#e6e8ed;border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.05);transition:box-shadow .16s ease,transform .16s ease}
.product-card:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(16,24,40,.09)}
.product-thumb{width:124px;height:124px;border-radius:18px;object-fit:cover;background:#eef1f5}
.product-thumb-placeholder{position:relative;display:block;background:radial-gradient(circle at 50% 44%,#ffd7a3 0 28%,#d84d2f 29% 36%,#f7a84d 37% 58%,#fff4de 59% 100%);overflow:hidden}
.product-thumb-placeholder::before{content:"";position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8f1d20 0 7%,transparent 8%),radial-gradient(circle at 62% 30%,#2d8a45 0 5%,transparent 6%),radial-gradient(circle at 55% 66%,#8f1d20 0 7%,transparent 8%),radial-gradient(circle at 34% 67%,#f4f0cf 0 7%,transparent 8%)}
.product-thumb-placeholder::after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.product-info{grid-column:2;display:flex;flex-direction:column;gap:9px}
.product-card>.product-info:first-child{grid-column:1 / 3}
.product-title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin:0}
.product-name-with-info{align-items:center;gap:7px}
.product-name-with-info>span{font-size:19px;font-weight:950;line-height:1.2;overflow-wrap:anywhere}
.info-dot{width:23px;height:23px;min-height:23px;margin-left:0;color:#5d6472;border-color:#c9ced8;font-size:0}
.info-dot::before{content:"i";font-size:13px;font-weight:950}
.card-price{min-width:92px;flex:0 0 92px;font-size:18px;font-weight:950;color:#1f2026}
.product-card p{font-size:15px;line-height:1.45;color:#6b7280}
.product-action{grid-column:2;align-items:flex-end;gap:10px;margin-top:auto}
.variant-pills{gap:8px}
.variant-pills button{min-height:38px;border-color:#e6e8ed;background:#fff;color:#667085;font-weight:900;padding:0 14px}
.variant-pills button.active{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 10px 20px rgba(215,25,32,.18)}
[data-product-open]{grid-column:3;grid-row:1 / span 2;align-self:end;width:50px;height:50px;min-height:50px;background:var(--red);font-size:30px;box-shadow:0 12px 24px rgba(215,25,32,.24)}
.cart-panel{top:18px;border-color:#e6e8ed;border-radius:24px;padding:0;overflow:hidden;box-shadow:0 16px 44px rgba(16,24,40,.12)}
.cart-sheet-head{padding:18px;border-bottom:1px solid #e6e8ed}
.cart-sheet-head h2{margin:0;font-size:20px}
.cart-clear-btn{width:38px;height:38px;min-height:38px;border-radius:12px;border:1px solid #e6e8ed;background:#fff;color:#6b7280}
.cart-clear-btn span{width:18px;height:18px}
.cart-row{padding:14px 18px;border-bottom:1px solid #e6e8ed}
.cart-total,.coupon-form,.minimum-hint,.checkout-form,.cart-panel>.muted{margin-left:18px;margin-right:18px}
.cart-total{padding:8px 0;font-size:15px;color:#6b7280}
.cart-total.final{margin-top:8px;padding-top:14px;border-top:1px solid #e6e8ed;color:#1f2026;font-size:19px;font-weight:950}
.checkout-form{padding-bottom:18px}
.checkout-form>.btn.primary{min-height:52px;border-radius:16px;font-weight:950}
.mobile-cart-bar{left:12px;right:12px;bottom:12px;min-height:58px;border-radius:18px;background:#1f2026;box-shadow:0 18px 40px rgba(0,0,0,.24);font-size:16px;font-weight:950}
@media (max-width:900px){
    .site-header{position:relative;color:#1f2026;background:#fff;padding:16px 14px;border-bottom:1px solid #e6e8ed}
    .site-header p,.site-header .brand-kicker{color:#6b7280}
    .site-header .status-pill,.site-header .account-link{color:#1f2026;background:#f3f4f6;border-color:#e6e8ed;backdrop-filter:none}
    .restaurant-hero,.restaurant-hero img{height:210px}
    .shop-layout{display:block;width:100%;margin:-78px 0 0;padding:0 10px 90px}
    .restaurant-overview{display:block;margin:0 0 12px;padding:16px;border-radius:22px}
    .restaurant-overview h1{font-size:25px}
    .restaurant-overview .delivery-summary{margin-top:14px}
    .menu-panel{padding:0}
    .category-nav-shell{margin:0 -10px 14px;padding:10px;border-radius:0;border-bottom:1px solid #e6e8ed}
    .menu-search input{min-height:50px}
    .section-title h2{font-size:22px}
    .product-card{grid-template-columns:minmax(0,1fr) 48px;gap:10px;min-height:0;padding:14px;border-radius:18px}
    .product-card.has-image{grid-template-columns:82px minmax(0,1fr) 48px}
    .product-thumb{grid-column:1;grid-row:1 / span 2;width:82px;height:82px;margin:0;border-radius:15px}
    .product-info{grid-column:1}
    .product-card.has-image .product-info{grid-column:2}
    .product-title-line{gap:8px}
    .product-name-with-info>span{font-size:17px}
    .card-price{min-width:78px;font-size:16px}
    .product-card p{font-size:14px}
    .product-action{grid-column:1;display:block}
    .product-card.has-image .product-action{grid-column:2 / 4;display:block}
    .variant-pills,.product-card.has-image .variant-pills{flex-wrap:nowrap;overflow-x:auto;padding:0 0 2px}
    .variant-pills button{flex:0 0 auto;min-height:36px}
    .product-card [data-product-open],.product-card:not(.has-image) [data-product-open]{grid-column:2;grid-row:1 / span 2;width:46px;height:46px;min-height:46px}
    .product-card.has-image [data-product-open]{grid-column:3;grid-row:1 / span 2;width:46px;height:46px;min-height:46px}
}
@media (max-width:420px){
    .restaurant-hero,.restaurant-hero img{height:180px}
    .shop-layout{margin-top:-66px}
    .product-card.has-image{grid-template-columns:74px minmax(0,1fr) 48px}
    .product-thumb{width:74px;height:74px}
    .card-price{min-width:72px}
}

/* Product page mockup parity */
.site-header{min-height:104px}
.brand-logo{filter:drop-shadow(0 10px 22px rgba(0,0,0,.22))}
.site-brand h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.restaurant-hero{height:260px}
.restaurant-hero img{height:260px}
.shop-layout{margin-top:-118px}
.restaurant-overview{border-radius:24px}
.restaurant-overview .delivery-summary{min-width:290px}
.category-nav-shell{position:sticky!important;top:0!important;z-index:34;padding:12px 0;background:rgba(244,245,247,.94)!important;backdrop-filter:blur(12px)}
.menu-search{display:flex!important;align-items:center;gap:10px;min-height:54px;padding:0 16px;border:1px solid #e6e8ed;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.06)}
.menu-search input{min-height:0;padding:0 0 0 34px;border:0;background:transparent;box-shadow:none}
.menu-search-icon{left:16px}
.category-nav-shell .category-nav{margin-top:12px!important}
.category-nav-shell .category-nav a{box-shadow:none}
.product-card.has-image{grid-template-columns:124px minmax(0,1fr) 54px}
.product-card:not(.has-image){grid-template-columns:minmax(0,1fr) 54px}
.product-card:not(.has-image) .product-info{grid-column:1}
.product-card:not(.has-image) .product-action{grid-column:1}
.product-card:not(.has-image) [data-product-open]{grid-column:2}
.product-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;white-space:normal}
.variant-pills{width:auto;max-width:100%}
.cart-panel .checkout-form{margin-top:12px}
@media (max-width:900px){
    .site-header{min-height:0}
    .site-brand h1{color:#1f2026;text-shadow:none}
    .restaurant-hero,.restaurant-hero img{height:210px}
    .shop-layout{margin-top:-88px}
    .product-card.has-image{grid-template-columns:86px minmax(0,1fr) 48px}
    .product-thumb{width:86px;height:86px}
    .product-card:not(.has-image){grid-template-columns:minmax(0,1fr) 48px}
    .product-card.has-image .product-info{grid-column:2}
    .product-card.has-image .product-action{grid-column:2 / 4}
    .product-card:not(.has-image) .product-info,.product-card:not(.has-image) .product-action{grid-column:1}
    .product-card:not(.has-image) [data-product-open]{grid-column:2}
    .product-action{display:block}
}
@media (max-width:420px){
    .restaurant-hero,.restaurant-hero img{height:180px}
    .shop-layout{margin-top:-72px}
    .product-card.has-image{grid-template-columns:78px minmax(0,1fr) 48px}
    .product-thumb{width:78px;height:78px}
}

/* Exact visual match for product-list mockup */
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page){font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:#f4f5f7!important;color:#1f2026!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-header{position:absolute!important;left:0!important;right:0!important;top:0!important;z-index:8!important;max-width:1120px!important;margin:0 auto!important;padding:26px 18px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand{display:flex!important;align-items:center!important;gap:12px!important;color:#fff!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand::before{content:"";width:48px;height:48px;border-radius:15px;display:block;flex:0 0 auto;background:radial-gradient(circle at 50% 42%,#fff 0 25%,transparent 26%),linear-gradient(135deg,#d71920,#b91318);box-shadow:0 14px 28px rgba(215,25,32,.35)}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand .brand-kicker,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand p{display:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand h1{margin:0!important;color:#fff!important;text-shadow:none!important;font-size:25px!important;font-weight:950!important;line-height:48px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .brand-logo{max-width:180px!important;max-height:52px!important;margin:0!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22))!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .status-pill{display:flex!important;align-items:center!important;gap:9px!important;padding:10px 14px!important;border:0!important;border-radius:999px!important;color:#fff!important;background:rgba(0,0,0,.48)!important;backdrop-filter:blur(8px)!important;font-size:14px!important;font-weight:850!important;box-shadow:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .status-pill::before{content:"";width:10px;height:10px;border-radius:50%;background:#0f9f57;box-shadow:0 0 0 5px rgba(15,159,87,.18)}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .account-link{min-height:0!important;padding:9px 12px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px!important;color:#fff!important;background:rgba(0,0,0,.30)!important;backdrop-filter:blur(8px)!important;font-size:13px!important;font-weight:850!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero{position:relative!important;height:260px!important;width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.08) 44%,rgba(244,245,247,1) 100%),linear-gradient(135deg,#28292f,#3a1114 58%,#a6161e)!important;overflow:hidden!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero img{width:100%!important;height:260px!important;object-fit:cover!important;border-radius:0!important;display:block!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.08) 44%,rgba(244,245,247,1) 100%);pointer-events:none}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout{max-width:1180px!important;width:auto!important;margin:-118px auto 70px!important;padding:0 18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important;gap:22px!important;align-items:start!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview{grid-column:1 / -1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;padding:22px!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:24px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 16px 44px rgba(16,24,40,.12)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview h1{margin:0 0 6px!important;color:#1f2026!important;font-size:32px!important;font-weight:950!important;line-height:1.1!important;letter-spacing:0!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview p{margin:0!important;color:#6b7280!important;font-size:15px!important;line-height:1.45!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .hours-strip{display:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .delivery-summary{min-width:290px!important;margin:0!important;padding:14px!important;border:1px solid rgba(215,25,32,.18)!important;border-radius:18px!important;background:#fff7f7!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .delivery-summary strong{font-size:15px!important;color:#1f2026!important;line-height:1.2!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .delivery-summary span{font-size:13px!important;color:#6b7280!important;line-height:1.35!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .delivery-change{width:max-content!important;min-height:38px!important;margin-top:6px!important;padding:0 14px!important;border:1px solid rgba(215,25,32,.26)!important;border-radius:999px!important;background:#fff!important;color:#d71920!important;font-weight:900!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-panel{min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .service-warning-inline{display:grid!important;gap:4px!important;margin:0 0 12px!important;padding:13px 15px!important;border:1px solid #ffe4a6!important;border-radius:17px!important;background:#fff8e6!important;color:#8a5600!important;box-shadow:0 8px 20px rgba(16,24,40,.04)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .service-warning-inline strong{color:#5f3b00!important;font-size:15px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .service-warning-inline span{color:#8a5600!important;font-size:14px!important;line-height:1.35!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell{position:sticky!important;top:0!important;z-index:20!important;margin:0 0 18px!important;padding:12px 0!important;border:0!important;border-radius:0!important;background:rgba(244,245,247,.94)!important;box-shadow:none!important;backdrop-filter:blur(12px)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-search{display:flex!important;align-items:center!important;gap:10px!important;min-height:54px!important;padding:0 16px!important;border:1px solid #e6e8ed!important;border-radius:999px!important;background:#fff!important;box-shadow:0 8px 22px rgba(16,24,40,.06)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-search-icon{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:18px!important;height:18px!important;flex:0 0 auto!important;border:3px solid #d71920!important;border-radius:50%!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-search-icon::after{right:-8px!important;bottom:-6px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-search input{width:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:16px!important;font-weight:400!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-row{display:block!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-label{display:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell .category-nav{display:flex!important;gap:10px!important;margin:12px 0 0!important;padding:0 0 2px!important;overflow-x:auto!important;background:transparent!important;scrollbar-width:none!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell .category-nav a{flex:0 0 auto!important;min-height:42px!important;padding:11px 18px!important;border:1px solid #e6e8ed!important;border-radius:999px!important;background:#fff!important;color:#1f2026!important;font-size:16px!important;font-weight:950!important;white-space:nowrap!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell .category-nav a.active{border-color:#1f2026!important;background:#1f2026!important;color:#fff!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:12px!important;margin:22px 0 12px!important;border:0!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title h2{margin:0!important;color:#1f2026!important;font-size:24px!important;font-weight:950!important;letter-spacing:0!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title span{color:#6b7280!important;font-size:14px!important;font-weight:750!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-card{position:relative!important;display:grid!important;grid-template-columns:124px minmax(0,1fr) 54px!important;gap:16px!important;min-height:148px!important;padding:14px!important;border:1px solid #e6e8ed!important;border-radius:22px!important;background:#fff!important;box-shadow:0 8px 24px rgba(16,24,40,.05)!important;transition:box-shadow .16s ease,transform .16s ease!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-card:hover{transform:translateY(-1px)!important;box-shadow:0 14px 32px rgba(16,24,40,.09)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-thumb{grid-column:1!important;grid-row:1 / span 2!important;width:124px!important;height:124px!important;border-radius:18px!important;object-fit:cover!important;background:#eef1f5!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-info{grid-column:2!important;grid-row:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:9px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-title-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;margin:0!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-name-with-info{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;flex-wrap:wrap!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.legal-page):not(.status-page) .product-name-with-info>span{font-size:19px!important;font-weight:950!important;line-height:1.2!important;overflow-wrap:anywhere!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .info-dot{width:23px!important;height:23px!important;min-height:23px!important;margin-left:0!important;border:1px solid #c9ced8!important;border-radius:999px!important;background:#fff!important;color:#5d6472!important;font-size:0!important;font-weight:950!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .info-dot::before{content:"i"!important;font-size:13px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .card-price{min-width:92px!important;text-align:right!important;white-space:nowrap!important;color:#1f2026!important;font-size:18px!important;font-weight:950!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-card p{margin:0!important;color:#6b7280!important;font-size:15px!important;line-height:1.45!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-action{grid-column:2!important;grid-row:2!important;display:block!important;min-width:0!important;white-space:normal!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-action{padding-right:64px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .variant-pills{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:auto!important;max-width:100%!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .variant-pills button{min-height:38px!important;padding:0 14px!important;border:1px solid #e6e8ed!important;border-radius:999px!important;background:#fff!important;color:#667085!important;font-size:16px!important;font-weight:900!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .variant-pills button.active{border-color:#d71920!important;background:#d71920!important;color:#fff!important;box-shadow:0 10px 20px rgba(215,25,32,.18)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) [data-product-open]{position:absolute!important;right:14px!important;bottom:14px!important;grid-column:auto!important;grid-row:auto!important;align-self:auto!important;justify-self:auto!important;width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#d71920!important;color:#fff!important;font-size:30px!important;line-height:1!important;box-shadow:0 12px 24px rgba(215,25,32,.24)!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{position:sticky!important;top:18px!important;border:1px solid #e6e8ed!important;border-radius:24px!important;background:#fff!important;padding:0!important;box-shadow:0 16px 44px rgba(16,24,40,.12)!important;overflow:hidden!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-sheet-head{position:static!important;margin:0!important;padding:18px!important;border-bottom:1px solid #e6e8ed!important;border-radius:0!important;background:#fff!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-sheet-head h2{margin:0!important;font-size:20px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;align-items:start!important;padding:14px 18px!important;border-bottom:1px solid #e6e8ed!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-item-main{min-width:0!important;max-width:100%!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-toggle{white-space:nowrap!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .qty-stepper{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:start!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-form{width:100%!important;max-width:100%!important;overflow:hidden!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-form{grid-column:1 / -1!important;margin-top:6px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-form textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;max-width:100%!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-total,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .coupon-form,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .minimum-hint,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .checkout-form,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel>.muted{margin-left:18px!important;margin-right:18px!important}
.cart-pay-actions{display:grid;gap:10px;margin:18px!important}
.cart-pay-button{min-height:56px!important;border-radius:999px!important;font-size:18px!important}
.checkout-page{min-height:100vh;background:#f4f5f7;color:#202124}
.checkout-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px clamp(14px,4vw,42px);background:#fff;border-bottom:1px solid #e6e8ed}
.checkout-back{font-weight:900;color:#d71920}
.checkout-layout{width:min(1180px,calc(100% - 28px));margin:22px auto 60px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
.checkout-main-card,.checkout-summary-card{border:1px solid #e6e8ed;border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(16,24,40,.09)}
.checkout-main-card{padding:22px}
.checkout-summary-card{position:sticky;top:82px;padding:18px}
.checkout-login-hint{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-items:center;margin-bottom:18px;padding:14px;border:1px solid #e6e8ed;border-radius:16px;background:#f7f8fa}
.checkout-login-hint span{color:#6b7280}
.checkout-section{display:grid;gap:10px;padding:18px 0;border-top:1px solid #eef0f3}
.checkout-section:first-of-type{border-top:0}
.checkout-section h2{margin:0;font-size:21px}
.checkout-step-form{gap:0!important}
.checkout-submit{min-height:58px!important;border-radius:999px!important;font-size:18px!important}
.checkout-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.checkout-summary-head h2{margin:0}
.checkout-summary-head a{color:#d71920;font-weight:900}
.checkout-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid #eef0f3}
.checkout-summary-item small,.checkout-summary-item span{display:block;margin-top:4px;color:#6b7280;line-height:1.35}
@media (max-width:900px){
  .cart-pay-actions{margin:16px 18px max(18px,env(safe-area-inset-bottom))!important}
  .checkout-layout{width:100%;margin:0;display:block}
  .checkout-main-card,.checkout-summary-card{border-radius:0;box-shadow:none;border-left:0;border-right:0}
  .checkout-main-card{padding:16px}
  .checkout-summary-card{position:static;margin-top:12px;padding:16px}
  .checkout-login-hint{grid-template-columns:1fr}
  .checkout-topbar{padding:14px}
}
@media (max-width:900px){
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page){padding-bottom:90px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-header{position:absolute!important;padding:18px 14px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .status-pill{display:none!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .account-link{display:none!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero img{height:210px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout{display:block!important;width:100%!important;margin:-88px 0 0!important;padding:0 10px 90px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview{display:block!important;margin:0 0 12px!important;padding:16px!important;border-radius:22px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview h1{font-size:25px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview .delivery-summary{min-width:0!important;margin-top:14px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell{margin:0 -10px 14px!important;padding:10px!important;border-radius:0!important;border-bottom:1px solid #e6e8ed!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title{display:block!important;margin:18px 0 12px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title span{display:block!important;margin-top:4px!important;white-space:normal!important;overflow:visible!important;line-height:1.35!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-card{grid-template-columns:86px minmax(0,1fr) 48px!important;gap:10px!important;min-height:0!important;padding:14px!important;border-radius:18px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-thumb{width:86px!important;height:86px!important;border-radius:15px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-info{grid-column:2!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-action{grid-column:2 / 4!important;padding-right:58px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .variant-pills{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:2px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .variant-pills button{flex:0 0 auto!important;min-height:36px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) [data-product-open]{right:14px!important;bottom:14px!important;width:46px!important;height:46px!important;min-height:46px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{position:fixed!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;z-index:80!important;max-height:85vh!important;border-radius:18px 18px 0 0!important;transform:translateY(105%)!important;transition:transform .22s ease!important;overflow-y:auto!important}
  body.cart-sheet-open:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{transform:translateY(0)!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .mobile-cart-bar{display:flex!important;left:12px!important;right:12px!important;bottom:12px!important;min-height:58px!important;border-radius:18px!important;background:#1f2026!important;color:#fff!important;box-shadow:0 18px 40px rgba(0,0,0,.24)!important;font-size:16px!important;font-weight:950!important}
}
@media (max-width:420px){
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero,body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero img{height:180px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout{margin-top:-72px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-card{grid-template-columns:78px minmax(0,1fr) 48px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .product-thumb{width:78px!important;height:78px!important}
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed{position:fixed!important;top:0!important;right:auto!important;margin:0!important;border-radius:0 0 18px 18px!important;z-index:60!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-spacer{display:block!important;height:0}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-block{padding-top:0!important;scroll-margin-top:124px!important}
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title{margin:14px 0 10px!important}
@media (max-width:900px){
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell{top:0!important;margin:0 -10px 10px!important;padding:8px 10px 9px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-search{min-height:48px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell .category-nav{margin-top:8px!important;padding-bottom:1px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell .category-nav a{min-height:38px!important;padding:8px 14px!important;font-size:15px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-block{scroll-margin-top:112px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .section-title{margin:12px 0 10px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{max-height:min(86dvh,calc(100dvh - 18px))!important;padding-bottom:max(14px,env(safe-area-inset-bottom))!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;align-items:start!important;padding:14px 18px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-item-main{grid-column:1!important;min-width:0!important;max-width:100%!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-item-main .cart-note-toggle{justify-self:start!important;text-align:left!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .qty-stepper{position:static!important;grid-column:2!important;grid-row:1 / span 4!important;align-self:start!important;justify-self:end!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-note-form{grid-column:1 / -1!important;width:100%!important;max-width:100%!important;margin-top:6px!important}
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .coupon-form{grid-template-columns:1fr!important}
}

.checkout-add-products{margin-top:14px!important;min-height:48px!important;border-radius:999px!important}

@media (min-width:901px){
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
  }

  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed{
    position:fixed!important;
    top:0!important;
    right:auto!important;
    margin:0!important;
  }

  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{
    position:sticky!important;
    top:18px!important;
    align-self:start!important;
    max-height:calc(100vh - 36px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .checkout-summary-card{
    position:sticky!important;
    top:82px!important;
    max-height:calc(100vh - 104px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .area-modal,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .confirm-modal,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .app-dialog{
  z-index:220!important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .mobile-cart-backdrop{
  z-index:180!important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel{
  z-index:190!important;
}

/* Premium food-tech redesign overrides, 2026-05-17 */
:root {
  --red: #d71920;
  --red-dark: #a81018;
  --red-glow: rgba(215, 25, 32, 0.12);
  --black: #111318;
  --ink: #1f2026;
  --muted: #6b7280;
  --subtle: #9ca3af;
  --line: #e9eaec;
  --line-strong: #d1d5db;
  --paper: #ffffff;
  --bg: #f5f6f8;
  --bg-2: #eef0f3;
  --radius: 14px;
  --radius-sm: 8px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --shadow-sm: 0 1px 3px rgba(17,19,24,.06), 0 1px 2px rgba(17,19,24,.04);
  --shadow: 0 4px 12px rgba(17,19,24,.08), 0 2px 4px rgba(17,19,24,.04);
  --shadow-md: 0 8px 24px rgba(17,19,24,.10), 0 4px 8px rgba(17,19,24,.05);
  --shadow-lg: 0 16px 48px rgba(17,19,24,.14), 0 8px 16px rgba(17,19,24,.06);
  --font: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }

html, body { max-width: 100%; overflow-x: hidden; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
input, select, textarea, button { font: inherit; }

input, select, textarea {
  width: 100%;
  min-height: 44px;
  border: 1.5px solid var(--line-strong);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  background: var(--paper);
  color: var(--ink);
  transition: border-color .15s ease, box-shadow .15s ease;
  outline: none;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-glow);
}

textarea { min-height: 96px; resize: vertical; }

.site-header,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  max-width: none !important;
  height: 68px !important;
  margin: 0 !important;
  padding: 0 clamp(16px, 4vw, 54px) !important;
  color: var(--ink) !important;
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
}

.site-brand,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
  color: var(--ink) !important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand::before { display: none !important; }

.site-brand h1,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand h1 {
  margin: 0 !important;
  font-size: clamp(20px, 3vw, 28px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
  line-height: 1.1 !important;
}

.site-brand p,
.brand-kicker,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand p,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand .brand-kicker {
  display: block !important;
}

.site-brand p,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand p {
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--muted) !important;
  line-height: 1.3 !important;
}

.brand-kicker,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-brand .brand-kicker {
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--red) !important;
}

.brand-logo,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .brand-logo {
  display: block !important;
  max-width: 160px !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
  filter: none !important;
}

.header-actions,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  align-items: center !important;
}

.status-pill,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: var(--bg-2) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

.status-pill::before,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .status-pill::before {
  content: '' !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: currentColor !important;
  flex-shrink: 0 !important;
  box-shadow: none !important;
}

.status-pill.open { color: #15803d !important; background: #f0fdf4 !important; border-color: #bbf7d0 !important; }
.status-pill.open::before { background: #22c55e !important; box-shadow: 0 0 0 3px rgba(34,197,94,.2) !important; }
.status-pill.preorder { color: #92400e !important; background: #fffbeb !important; border-color: #fde68a !important; }
.status-pill.preorder::before { background: #f59e0b !important; }
.status-pill.closed { color: #991b1b !important; background: #fef2f2 !important; border-color: #fecaca !important; }
.status-pill.closed::before { background: var(--red) !important; }

.account-link,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .header-actions .account-link {
  display: inline-flex !important;
  align-items: center !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--line-strong) !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  transition: border-color .15s, background .15s, color .15s !important;
}

.account-link:hover { border-color: var(--red) !important; color: var(--red) !important; }

.restaurant-hero,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  background: var(--black) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.restaurant-hero img,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero img {
  width: 100% !important;
  height: clamp(200px, 28vw, 360px) !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 0.92 !important;
  border-radius: 0 !important;
}

.restaurant-hero.is-default { display: block !important; }
.restaurant-hero::after { display: none !important; }

.shop-layout,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 24px !important;
  width: min(1200px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 28px auto 60px !important;
  padding: 0 !important;
  align-items: start !important;
}

.menu-panel,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-panel {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.cart-panel,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel {
  position: sticky !important;
  top: 84px !important;
  z-index: 20 !important;
  align-self: start !important;
  max-height: calc(100vh - 104px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--paper) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-md) !important;
  padding: 22px !important;
}

.restaurant-overview,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(260px, 320px) !important;
  gap: 20px !important;
  align-items: start !important;
  padding: 22px !important;
  margin-bottom: 24px !important;
  background: var(--paper) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}

.restaurant-overview h1,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-overview h1 {
  margin: 0 0 6px !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
}

.restaurant-overview p { margin: 0 0 10px !important; color: var(--muted) !important; font-size: 14px !important; }

.hours-strip,
.restaurant-overview .hours-strip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 100% !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: var(--black) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.hours-strip::before {
  content: '' !important;
  flex-shrink: 0 !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #22c55e !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.25) !important;
}

.delivery-summary,
.restaurant-overview .delivery-summary {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 3px 12px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  border: 1.5px solid #fecaca !important;
  border-left: 4px solid var(--red) !important;
  border-radius: var(--radius) !important;
  background: #fff5f5 !important;
}

.delivery-summary strong { grid-column: 1 !important; font-size: 15px !important; font-weight: 700 !important; color: var(--ink) !important; }
.delivery-summary span { grid-column: 1 !important; font-size: 13px !important; color: var(--muted) !important; line-height: 1.4 !important; }

.delivery-change,
.restaurant-overview .delivery-change {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1.5px solid #fecaca !important;
  border-radius: 999px !important;
  background: var(--paper) !important;
  color: var(--red) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .15s, border-color .15s !important;
}

.delivery-change:hover { background: #fef2f2 !important; border-color: var(--red) !important; }

.category-nav-shell,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell {
  position: sticky !important;
  top: 68px !important;
  z-index: 30 !important;
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 20px !important;
  padding: 14px !important;
  background: rgba(245,246,248,0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed {
  position: fixed !important;
  top: 68px !important;
  z-index: 30 !important;
  margin: 0 !important;
}

.menu-search { position: relative !important; display: block !important; }
.menu-search input {
  min-height: 48px !important;
  border-radius: 999px !important;
  padding-left: 46px !important;
  border-color: var(--line-strong) !important;
  background: var(--paper) !important;
  font-weight: 500 !important;
}
.menu-search input:focus { border-color: var(--red) !important; box-shadow: 0 0 0 3px var(--red-glow) !important; }
.menu-search input::placeholder { color: var(--subtle) !important; }
.menu-search-icon {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  width: 16px !important;
  height: 16px !important;
  border: 2.5px solid var(--red) !important;
  border-radius: 50% !important;
  transform: translateY(-58%) !important;
  pointer-events: none !important;
}
.menu-search-icon::after {
  content: '' !important;
  position: absolute !important;
  right: -8px !important;
  bottom: -7px !important;
  width: 9px !important;
  border-top: 2.5px solid var(--red) !important;
  transform: rotate(45deg) !important;
  transform-origin: left center !important;
}
.category-nav-row { display: block !important; }
.category-nav-label { display: none !important; }
.category-nav-shell .category-nav {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  display: flex !important;
  gap: 8px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
.category-nav-shell .category-nav::-webkit-scrollbar { display: none !important; }
.category-nav-shell .category-nav a {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 38px !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 999px !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  transition: border-color .15s, background .15s, color .15s, box-shadow .15s !important;
}
.category-nav-shell .category-nav a:hover { border-color: var(--red) !important; color: var(--red) !important; }
.category-nav-shell .category-nav a.active {
  border-color: var(--ink) !important;
  background: var(--ink) !important;
  color: #fff !important;
  box-shadow: var(--shadow-sm) !important;
}

.section-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 28px 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1.5px solid var(--line) !important;
}
.section-title h2 { margin: 0 !important; font-size: 22px !important; font-weight: 800 !important; letter-spacing: -0.025em !important; color: var(--ink) !important; }
.section-title span, .muted { color: var(--muted) !important; font-size: 14px !important; }

.product-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }

.product-card {
  display: grid !important;
  grid-template-columns: 120px minmax(0,1fr) 52px !important;
  grid-template-rows: auto auto !important;
  gap: 12px 16px !important;
  min-height: 130px !important;
  padding: 16px !important;
  background: var(--paper) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;
  cursor: pointer !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.product-card:hover { border-color: #fca5a5 !important; box-shadow: var(--shadow-md) !important; transform: translateY(-2px) !important; }
.product-card:not(.has-image) { grid-template-columns: minmax(0,1fr) 52px !important; }

.product-thumb {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 120px !important;
  height: 120px !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  background: var(--bg-2) !important;
}
.product-thumb-placeholder { width: 120px !important; height: 120px !important; border-radius: 10px !important; background: var(--bg-2) !important; }
.product-info { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; }
.product-card:not(.has-image) .product-info { grid-column: 1 !important; }
.product-title-line { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: start !important; gap: 10px !important; margin: 0 0 6px !important; }
.product-name-with-info { display: flex !important; align-items: flex-start !important; gap: 5px !important; min-width: 0 !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--ink) !important; }
.product-name-with-info > span { min-width: 0 !important; overflow-wrap: anywhere !important; }
.card-price { min-width: 88px !important; text-align: right !important; white-space: nowrap !important; }
.card-price strong { font-size: 16px !important; font-weight: 800 !important; color: var(--ink) !important; }
.old-price { display: block !important; font-size: 12px !important; color: var(--subtle) !important; text-decoration: line-through !important; }
.product-card p { margin: 0 !important; font-size: 13px !important; line-height: 1.45 !important; color: var(--muted) !important; }
.product-action { grid-column: 2 / 4 !important; grid-row: 2 !important; display: grid !important; grid-template-columns: minmax(0,1fr) 52px !important; align-items: end !important; gap: 10px !important; min-width: 0 !important; }
.product-card:not(.has-image) .product-action { grid-column: 1 / 3 !important; }

.info-dot {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: 50% !important;
  background: var(--paper) !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: border-color .15s, color .15s !important;
}
.info-dot:hover { border-color: var(--red) !important; color: var(--red) !important; }

[data-product-open] {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  align-self: end !important;
  justify-self: end !important;
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: var(--red) !important;
  color: #fff !important;
  font-size: 26px !important;
  line-height: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
  box-shadow: 0 4px 14px rgba(215,25,32,.30) !important;
  transition: background .15s, box-shadow .15s, transform .15s !important;
}
[data-product-open]:hover { background: var(--red-dark) !important; box-shadow: 0 6px 20px rgba(215,25,32,.40) !important; transform: scale(1.07) !important; }
.product-card:not(.has-image) [data-product-open] { grid-column: 2 !important; }

.variant-pills { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; min-width: 0 !important; }
.variant-pills button { min-height: 34px !important; padding: 6px 14px !important; border: 1.5px solid var(--line-strong) !important; border-radius: 999px !important; background: var(--paper) !important; color: var(--muted) !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; transition: border-color .15s, background .15s, color .15s, transform .12s !important; }
.variant-pills button:hover { border-color: #fca5a5 !important; color: var(--ink) !important; transform: translateY(-1px) !important; }
.variant-pills button.active { border-color: var(--red) !important; background: var(--red) !important; color: #fff !important; }

.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 44px !important;
  border: 1.5px solid var(--line-strong) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0 18px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  background: var(--paper) !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s, color .15s, box-shadow .15s, transform .12s !important;
  text-align: center !important;
}
.btn:hover { border-color: var(--ink) !important; box-shadow: var(--shadow-sm) !important; }
.btn:active { transform: scale(.98) !important; }
.btn.primary { border-color: var(--red) !important; background: var(--red) !important; color: #fff !important; box-shadow: 0 4px 14px rgba(215,25,32,.25) !important; }
.btn.primary:hover { background: var(--red-dark) !important; border-color: var(--red-dark) !important; box-shadow: 0 6px 20px rgba(215,25,32,.35) !important; }
.btn.ghost { border-color: var(--line) !important; color: var(--muted) !important; }
.btn.ghost:hover { border-color: var(--line-strong) !important; color: var(--ink) !important; }
.btn.small { min-height: 36px !important; padding: 0 12px !important; font-size: 13px !important; }
.btn.full { width: 100% !important; }
.btn:disabled { opacity: .45 !important; cursor: not-allowed !important; transform: none !important; box-shadow: none !important; }

.cart-sheet-head { position: sticky !important; top: -22px !important; z-index: 3 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: -22px -22px 14px !important; padding: 16px 22px !important; background: var(--paper) !important; border-bottom: 1.5px solid var(--line) !important; border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important; }
.cart-sheet-head h2 { margin: 0 !important; font-size: 18px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
.cart-row { display: flex !important; justify-content: space-between !important; gap: 12px !important; padding: 13px 0 !important; border-bottom: 1px solid var(--line) !important; align-items: flex-start !important; }
.cart-row strong { font-size: 14px !important; font-weight: 700 !important; }
.cart-row small { display: block !important; color: var(--muted) !important; font-size: 12px !important; margin-top: 3px !important; line-height: 1.4 !important; }
.cart-row span { display: block !important; color: var(--muted) !important; font-size: 13px !important; margin-top: 4px !important; }
.cart-total { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 12px 0 !important; font-size: 15px !important; }
.cart-total.discount { color: #15803d !important; font-size: 14px !important; padding: 6px 0 !important; }
.cart-total.final { border-top: 2px solid var(--ink) !important; padding: 16px 0 0 !important; font-size: 20px !important; font-weight: 800 !important; }
.qty-stepper { display: grid !important; grid-template-columns: 36px 30px 36px !important; align-items: center !important; gap: 5px !important; flex-shrink: 0 !important; }
.qty-stepper strong { text-align: center !important; font-size: 15px !important; font-weight: 700 !important; }
.qty-stepper button { width: 36px !important; height: 36px !important; min-height: 36px !important; border: 1.5px solid var(--line-strong) !important; border-radius: 50% !important; padding: 0 !important; background: var(--paper) !important; color: var(--ink) !important; font-size: 18px !important; font-weight: 800 !important; cursor: pointer !important; display: grid !important; place-items: center !important; transition: border-color .15s, background .15s !important; }
.qty-stepper button:hover { border-color: var(--red) !important; color: var(--red) !important; }
.coupon-form { display: grid !important; grid-template-columns: 1fr auto !important; gap: 8px !important; margin: 14px 0 4px !important; }
.cart-pay-actions { display: grid !important; gap: 8px !important; margin: 18px 0 0 !important; }

.mobile-cart-bar { position: fixed !important; left: 14px !important; right: 14px !important; bottom: max(14px, env(safe-area-inset-bottom)) !important; z-index: 70 !important; display: none !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-height: 58px !important; padding: 0 22px !important; border: none !important; border-radius: 999px !important; background: var(--red) !important; color: #fff !important; font-size: 15px !important; font-weight: 800 !important; box-shadow: 0 8px 28px rgba(215,25,32,.40) !important; cursor: pointer !important; }

.notice { margin-bottom: 14px !important; padding: 12px 16px !important; border-radius: var(--radius-sm) !important; font-size: 14px !important; font-weight: 600 !important; border: 1.5px solid transparent !important; }
.notice.success { color: #15803d !important; background: #f0fdf4 !important; border-color: #bbf7d0 !important; }
.notice.danger { color: #991b1b !important; background: #fef2f2 !important; border-color: #fecaca !important; }

.area-modal { position: fixed !important; inset: 0 !important; z-index: 220 !important; display: grid !important; place-items: center !important; padding: 20px !important; background: rgba(17, 19, 24, 0.60) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.area-modal[hidden] { display: none !important; }
.area-card { width: min(480px, 100%) !important; max-height: calc(100vh - 40px) !important; overflow-y: auto !important; display: grid !important; gap: 14px !important; padding: 24px !important; border-radius: var(--radius-xl) !important; background: var(--paper) !important; box-shadow: var(--shadow-lg) !important; }
.product-modal-card { width: min(580px, 100%) !important; }
.modal-head { display: flex !important; justify-content: space-between !important; gap: 16px !important; align-items: flex-start !important; padding-bottom: 14px !important; border-bottom: 1.5px solid var(--line) !important; }
.modal-head h2 { margin: 0 0 4px !important; font-size: 22px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
.modal-head p { margin: 0 !important; color: var(--muted) !important; font-size: 14px !important; }
.modal-head strong { color: var(--red) !important; font-size: 18px !important; font-weight: 800 !important; white-space: nowrap !important; }
.modal-live-total { display: flex !important; justify-content: space-between !important; gap: 12px !important; align-items: center !important; padding: 12px 16px !important; border-radius: var(--radius-sm) !important; background: var(--ink) !important; color: #fff !important; font-weight: 700 !important; }
.modal-close-btn { width: 40px !important; height: 40px !important; min-height: 40px !important; border: 1.5px solid var(--line-strong) !important; border-radius: 50% !important; background: var(--paper) !important; color: var(--muted) !important; font-size: 22px !important; line-height: 1 !important; cursor: pointer !important; flex-shrink: 0 !important; display: grid !important; place-items: center !important; transition: border-color .15s, color .15s !important; }
.modal-close-btn:hover { border-color: var(--red) !important; color: var(--red) !important; }

.option-list { display: grid !important; gap: 6px !important; padding: 12px 0 !important; border-bottom: 1px solid var(--line) !important; }
.option-list span { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; font-size: 14px !important; font-weight: 700 !important; color: var(--ink) !important; margin-bottom: 4px !important; }
.option-list em { border-radius: 999px !important; padding: 2px 8px !important; background: #fef2f2 !important; color: var(--red) !important; font-size: 11px !important; font-style: normal !important; font-weight: 700 !important; }
.option-list label { display: flex !important; gap: 10px !important; align-items: center !important; min-height: 38px !important; font-size: 14px !important; color: var(--ink) !important; cursor: pointer !important; }
.option-list input { width: auto !important; min-height: auto !important; accent-color: var(--red) !important; }
.option-list.option-required-missing { border: 2px solid var(--red) !important; border-radius: var(--radius-sm) !important; padding: 10px !important; background: #fef2f2 !important; }

.admin-login, .install-page { min-height: 100vh !important; display: grid !important; place-items: center !important; padding: 24px !important; background: var(--bg) !important; }
.login-card, .install-card { width: min(440px, 100%) !important; padding: 32px !important; background: var(--paper) !important; border: 1.5px solid var(--line) !important; border-radius: var(--radius-xl) !important; box-shadow: var(--shadow-lg) !important; }
.login-card h1 { margin: 0 0 24px !important; font-size: 26px !important; font-weight: 900 !important; letter-spacing: -0.03em !important; }
.login-card form { display: grid !important; gap: 12px !important; }

.admin-header { position: sticky !important; top: 0 !important; z-index: 40 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 18px !important; padding: 0 clamp(16px, 3vw, 40px) !important; height: 60px !important; background: var(--ink) !important; color: #fff !important; }
.admin-header h1 { margin: 0 !important; font-size: 17px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
.admin-header nav { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; }
.admin-header a { display: inline-flex !important; align-items: center !important; height: 34px !important; padding: 0 12px !important; border-radius: var(--radius-sm) !important; font-size: 13px !important; font-weight: 600 !important; color: rgba(255,255,255,.7) !important; background: transparent !important; transition: background .15s, color .15s !important; }
.admin-header a:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }
.admin-header a.active { background: var(--red) !important; color: #fff !important; }
.admin-main { width: min(1280px, calc(100% - 40px)) !important; margin: 24px auto !important; }
.table-card, .metric { background: var(--paper) !important; border: 1.5px solid var(--line) !important; border-radius: var(--radius) !important; box-shadow: var(--shadow-sm) !important; }
.table-card { padding: 20px !important; margin-bottom: 20px !important; }
.table-card h2 { margin: 0 0 16px !important; font-size: 18px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; }
.metric { padding: 22px !important; }
.metric span { color: var(--muted) !important; font-size: 14px !important; }
.metric strong { display: block !important; margin-top: 8px !important; font-size: 34px !important; font-weight: 800 !important; letter-spacing: -0.03em !important; color: var(--ink) !important; }

.site-footer { width: min(1180px, calc(100% - 40px)) !important; margin: 32px auto 80px !important; display: flex !important; flex-wrap: wrap !important; gap: 8px 20px !important; justify-content: center !important; padding: 20px !important; border-top: 1.5px solid var(--line) !important; color: var(--subtle) !important; font-size: 13px !important; }
.site-footer a { color: var(--muted) !important; font-weight: 600 !important; transition: color .15s !important; }
.site-footer a:hover { color: var(--red) !important; }

@media (max-width: 767px) {
  body { padding-bottom: 86px !important; }
  .site-header,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-header { height: auto !important; padding: 12px 14px !important; flex-wrap: wrap !important; gap: 10px !important; }
  .header-actions { width: 100% !important; justify-content: flex-start !important; }
  .status-pill, .account-link { font-size: 12px !important; height: 32px !important; min-height: 32px !important; padding: 0 12px !important; }
  .restaurant-hero img,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .restaurant-hero img { height: 190px !important; }
  .shop-layout,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .menu-panel,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .menu-panel { padding: 0 14px 24px !important; }
  .cart-panel,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 80 !important;
    max-height: 86vh !important;
    margin: 0 !important;
    padding: 16px 16px max(16px, env(safe-area-inset-bottom)) !important;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
    box-shadow: 0 -20px 50px rgba(17,19,24,.22) !important;
    border: none !important;
    overflow-y: auto !important;
    transform: translateY(105%) !important;
    transition: transform .24s ease !important;
  }
  body.cart-sheet-open .cart-panel { transform: translateY(0) !important; }
  body.cart-sheet-open { overflow: hidden !important; }
  .cart-sheet-head { top: -16px !important; margin: -16px -16px 12px !important; padding: 14px 16px !important; border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important; }
  .cart-sheet-close { display: inline-grid !important; place-items: center !important; width: 40px !important; height: 40px !important; min-height: 40px !important; border: 1.5px solid var(--line-strong) !important; border-radius: 50% !important; background: var(--bg) !important; color: var(--ink) !important; font-size: 24px !important; cursor: pointer !important; }
  .mobile-cart-bar { display: flex !important; }
  .mobile-cart-backdrop { position: fixed !important; inset: 0 !important; z-index: 75 !important; display: block !important; border: 0 !important; padding: 0 !important; background: rgba(17,19,24,.45) !important; }
  .mobile-cart-backdrop[hidden] { display: none !important; }
  .category-nav-shell,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell { top: 0 !important; margin: 10px -14px 14px !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; }
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed { top: 0 !important; }
  .category-nav-shell .category-nav a { height: 36px !important; padding: 0 13px !important; font-size: 13px !important; }
  .product-card, .product-card.has-image { grid-template-columns: 80px minmax(0,1fr) 50px !important; padding: 12px !important; gap: 9px 12px !important; min-height: 0 !important; transform: none !important; }
  .product-card:not(.has-image) { grid-template-columns: minmax(0,1fr) 50px !important; }
  .product-thumb { width: 76px !important; height: 76px !important; }
  .product-name-with-info { font-size: 15px !important; }
  .card-price { min-width: 76px !important; }
  [data-product-open] { width: 46px !important; height: 46px !important; min-height: 46px !important; font-size: 24px !important; }
  .area-modal { align-items: flex-end !important; place-items: end stretch !important; padding: 0 !important; }
  .area-card, .product-modal-card { width: 100% !important; max-width: none !important; max-height: 90vh !important; border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important; overflow-y: auto !important; }
  .segmented, .coupon-form { grid-template-columns: 1fr !important; }
  .btn, button { min-height: 46px !important; }
}

@media (max-width: 1023px) and (min-width: 768px) {
  .shop-layout,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .shop-layout { grid-template-columns: 1fr !important; }
  .cart-panel,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel { position: static !important; top: auto !important; max-height: none !important; }
  .product-card { grid-template-columns: 110px minmax(0,1fr) 52px !important; }
  .product-card:not(.has-image) { grid-template-columns: minmax(0,1fr) 52px !important; }
  .product-action { grid-column: 2 / 4 !important; }
  .product-card:not(.has-image) .product-action { grid-column: 1 / 3 !important; }
}

@media (min-width: 1024px) {
  .cart-sheet-close { display: none !important; }
}

/* Sticky search/category navigation correction, 2026-05-17 */
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-block {
  scroll-margin-top: 190px !important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell {
  position: sticky !important;
  top: 68px !important;
  z-index: 35 !important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed {
  position: fixed !important;
  top: 68px !important;
  z-index: 35 !important;
}

@media (max-width: 767px) {
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-block {
    scroll-margin-top: 142px !important;
  }

  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell,
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed {
    top: 0 !important;
  }
}

@media (min-width: 1024px) {
  body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel {
    position: fixed !important;
    top: 84px !important;
    right: max(20px, calc((100vw - 1200px) / 2)) !important;
    width: 360px !important;
    max-height: calc(100vh - 104px) !important;
    z-index: 25 !important;
  }
}

/* Public menu should pin to the very top while scrolling, 2026-05-17 */
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .site-header {
  position: relative !important;
  top: auto !important;
  z-index: 40 !important;
}

body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell,
body:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .category-nav-shell.is-fixed {
  top: 0 !important;
  z-index: 120 !important;
}

/* Cart follows the normal layout until the product menu is pinned, 2026-05-18 */
@media (min-width: 1024px) {
  body:not(.category-nav-pinned):not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel {
    position: sticky !important;
    top: 24px !important;
    right: auto !important;
    width: auto !important;
    max-height: calc(100vh - 48px) !important;
  }

  body.category-nav-pinned:not(.admin-login):not(.install-page):not(.screen-page):not(.status-page):not(.legal-page) .cart-panel {
    position: fixed !important;
    top: 0 !important;
    right: max(20px, calc((100vw - 1200px) / 2)) !important;
    width: 360px !important;
    max-height: 100vh !important;
    z-index: 119 !important;
  }
}
