.storefront{--bg:#F8F9FA;--surface:#FFFFFF;--surface2:#F1F3F5;--surface3:#E9ECEF;--text:#212529;--text2:#495057;--muted:#6C757D;--muted2:#ADB5BD;--border:#DEE2E6;--border2:#E9ECEF;--shadow-sm:0 1px 3px rgba(0,0,0,0.08);--shadow:0 4px 10px rgba(0,0,0,0.1);--shadow-lg:0 12px 24px rgba(0,0,0,0.15);--radius:12px;--radius-sm:8px;--radius-xs:6px;--discount:#16A34A;--warn:#B45309}.storefront,.storefront-dark{background:var(--bg);color:var(--text);min-height:100vh}.storefront-dark{--bg:#121212;--surface:#1A1A1A;--surface2:#242424;--surface3:#2D2D2D;--text:#F8F9FA;--text2:#E9ECEF;--muted:#A0A0A0;--muted2:#6C757D;--border:#2D2D2D;--border2:#242424;--shadow-sm:0 1px 3px rgba(0,0,0,0.5);--shadow:0 4px 10px rgba(0,0,0,0.5);--shadow-lg:0 12px 24px rgba(0,0,0,0.6);--radius:12px;--radius-sm:8px;--radius-xs:6px;--discount:#81C995;--warn:#FDD663}.storefront-dark .menu-nav-item:hover{background:rgba(255,255,255,.05)}.storefront-dark .option-row:hover{background:var(--surface2)}.storefront .menu-hero,.storefront .storefront-header{background:var(--surface);border-bottom:1px solid var(--border)}.storefront .storefront-name{color:var(--text)}.storefront .storefront-meta-row,.storefront .storefront-sub{color:var(--muted)}.storefront .storefront-search-row{max-width:1200px;margin:0 auto;padding:16px 24px}.storefront .storefront-search-row input{background:var(--surface);border:1px solid var(--border);color:var(--text)}.storefront .storefront-layout{display:flex;gap:24px;max-width:1200px;margin:0 auto;align-items:flex-start;padding:0 24px 140px}.storefront .storefront-main{flex:1 1;min-width:0}.storefront .menu-nav{border-bottom:1px solid var(--border);margin-bottom:24px}.storefront .menu-nav-item{color:var(--muted)}.storefront .menu-nav-item:hover{color:var(--text);background:rgba(0,0,0,.03)}.storefront .products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.storefront .product-card{display:flex;flex-direction:row;height:140px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.storefront .product-info{flex:1 1;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.storefront .product-name{color:var(--text);font-size:16px;font-weight:600}.storefront .product-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;color:var(--text2);font-size:13px}.storefront .product-price{font-size:16px;font-weight:700;color:var(--text)}.storefront .product-img{width:140px;height:140px;border-bottom:none;border-left:1px solid var(--border2);order:2;object-fit:cover}@media (max-width:600px){.storefront .products-grid{grid-template-columns:1fr}.storefront .product-card{height:auto;min-height:120px}.storefront .product-img{width:110px;height:110px;margin:8px;border-radius:var(--radius-sm);border:none}}.storefront .cart-drawer{background:var(--surface);top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;height:auto;max-height:92dvh;border-left:none;border-radius:22px 22px 0 0;box-shadow:0 -10px 44px rgba(0,0,0,.26);transform:translateY(100%);transition:transform .32s cubic-bezier(.32,0,.08,1);display:flex;flex-direction:column;overflow:hidden;pointer-events:none}.storefront .cart-drawer.open{transform:translateY(0);right:0;pointer-events:auto}.storefront .cart-grip{width:40px;height:4px;border-radius:999px;background:var(--border);margin:8px auto 2px;flex-shrink:0;cursor:pointer}.storefront .cart-drawer-header{border-bottom:1px solid var(--border);padding:10px 16px 14px;flex-shrink:0}.storefront .cart-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;min-height:0}.storefront .cart-scroll .cart-items{flex:none;overflow:visible;padding:12px 16px 0}.storefront .cart-form{display:flex;flex-direction:column;padding:4px 16px 16px;border-top:none;background:transparent}.storefront .cart-summary{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:6px}.storefront .cart-sum-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text2)}.storefront .cart-sum-row span:last-child{font-weight:700;color:var(--text)}.storefront .cart-sum-row.is-discount span:last-child{color:var(--discount)}.storefront .cart-sum-strike{color:var(--muted);font-weight:400;margin-right:6px}.storefront .cart-sum-row.is-total{margin-top:4px;padding-top:10px;border-top:1px solid var(--border);font-size:15px;color:var(--text);font-weight:700}.storefront .cart-sum-row.is-total span:last-child{font-size:17px;font-weight:900}.storefront .cart-error{color:var(--red);font-size:12.5px;font-weight:600;margin-top:8px}.storefront .cart-action-bar .cart-error{margin:0}.storefront .cart-drawer-head-left{display:flex;align-items:center;gap:8px;min-width:0}.storefront .cart-back{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface3);color:var(--text2);cursor:pointer;transition:all .15s}.storefront .cart-back:hover{color:var(--text);background:var(--border)}.storefront .cart-steps{display:flex;gap:4px;padding:10px 16px 0;flex-shrink:0}.storefront .cart-step-bar{flex:1 1;height:3px;border-radius:999px;background:var(--border);transition:background .25s}.storefront .cart-step-bar.done{background:var(--primary)}.storefront .coupon-row{display:flex;gap:8px}.storefront .coupon-row .form-input{flex:1 1;min-width:0}.storefront .coupon-apply{flex-shrink:0;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--primary);background:transparent;color:var(--primary);font-weight:700;font-size:14px;cursor:pointer;transition:all .15s}.storefront .coupon-apply:hover:not(:disabled){background:var(--primary);color:#fff}.storefront .coupon-apply:disabled{opacity:.45;cursor:default}.storefront .coupon-applied{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-sm);border:1px dashed var(--primary);background:var(--surface)}.storefront .coupon-applied-tag{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:13px;color:var(--primary)}.storefront .coupon-applied-desc{font-size:12.5px;color:var(--text2)}.storefront .coupon-remove{margin-left:auto;background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;text-decoration:underline;cursor:pointer}.storefront .coupon-remove:hover{color:var(--red)}.storefront .coupon-msg{margin-top:6px;font-size:12.5px;font-weight:600;color:var(--warn)}.storefront .cart-action-bar{flex-shrink:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:10px}.storefront .cart-action-inner{display:flex;align-items:center;gap:14px}.storefront .cart-action-total{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}.storefront .cart-action-total-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.storefront .cart-action-total-value{font-family:Nunito,sans-serif;font-weight:900;font-size:22px;color:var(--text)}.storefront .cart-action-bar .checkout-btn{flex:1 1;margin:0}.storefront .cart-action-bar .cart-minimum{margin:0;font-size:12.5px}.storefront .cart-empty-emoji{filter:grayscale(.2)}.storefront .cart-drawer-title{color:var(--text);font-size:18px;font-weight:700}.storefront .cart-drawer .form-input,.storefront .cart-drawer select.form-input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm)}.storefront .ordertype-row{display:flex;gap:8px;margin-bottom:16px}.storefront .ordertype-btn{flex:1 1;padding:10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text2);font-weight:600;text-align:center;transition:.2s}.storefront .ordertype-btn.active{background:rgba(var(--primary-rgb,255,87,34),.1);border-color:var(--primary);color:var(--primary)}.storefront .payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.storefront .payment-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text2);text-align:left;transition:.2s}.storefront .payment-btn-icon{flex-shrink:0;color:var(--muted);transition:color .2s}.storefront .payment-btn-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.storefront .payment-btn-label{font-weight:600;font-size:.9rem;color:var(--text)}.storefront .payment-btn-hint{font-size:.72rem;color:var(--muted);white-space:nowrap}.storefront .payment-btn.active{background:rgba(var(--primary-rgb,255,87,34),.1);border-color:var(--primary)}.storefront .payment-btn.active .payment-btn-hint,.storefront .payment-btn.active .payment-btn-icon,.storefront .payment-btn.active .payment-btn-label{color:var(--primary)}.storefront .cart-item-name{color:var(--text);font-weight:600}.storefront .cart-item-unit{color:var(--muted)}.storefront .cart-item-total{color:var(--text);font-weight:700}@media (min-width:900px){.storefront .cart-drawer{position:sticky;top:24px;right:0;bottom:auto;left:auto;width:360px;height:auto;max-height:calc(100vh - 48px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex!important;opacity:1!important;pointer-events:all!important;transform:none!important;flex-direction:column;overflow:hidden}.storefront .cart-grip{display:none}.storefront .cart-action-bar{padding-bottom:16px;box-shadow:none}.storefront .cart-overlay{display:none!important}.storefront .cart-close{display:none}.storefront .cart-fab{display:none!important}}.storefront .option-modal-overlay{z-index:9999!important}.storefront .option-modal{background:var(--surface);color:var(--text);max-width:800px;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius)}.storefront .option-modal-left{width:100%;height:190px;flex-shrink:0;background:var(--surface2);display:flex;align-items:center;justify-content:center}.storefront .option-modal-left img{width:100%;height:100%;object-fit:cover}.storefront .option-modal-right{display:flex;flex-direction:column;flex:1 1;min-width:0;height:auto;min-height:0}.storefront .option-modal-body{overflow-y:auto;flex:1 1;min-height:0}.storefront .option-modal-footer,.storefront .option-modal-right .option-modal-header{flex-shrink:0}@media (min-width:768px){.storefront .option-modal{flex-direction:row;height:600px}.storefront .option-modal-left{width:50%;height:100%;border-right:1px solid var(--border)}.storefront .option-modal-right{width:50%;height:100%}}.storefront .option-modal-title{color:var(--text);font-size:20px;font-weight:700}.storefront .option-modal-desc{color:var(--text2);font-size:14px}.storefront .option-group-head{background:var(--surface2);padding:12px 16px;border-bottom:1px solid var(--border)}.storefront .option-group-name{color:var(--text);font-weight:600}.storefront .option-row{border-bottom:1px solid var(--border2);padding:12px 16px;display:flex;align-items:center;gap:12px}.storefront .option-row:hover{background:var(--surface2)}.storefront .option-row-thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid var(--border);background:var(--surface2)}.storefront .option-row-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.storefront .option-row-name{color:var(--text);font-size:15px}.storefront .option-row-desc{color:var(--text2);font-size:12.5px;line-height:1.35}.storefront .option-row-right{margin-left:auto;flex-shrink:0}.storefront .checkout-btn{background:var(--primary)!important;color:#fff!important;border:none!important;font-weight:700;border-radius:var(--radius-sm);padding:14px;width:100%;font-size:16px;transition:opacity .2s}.storefront .checkout-btn:hover{opacity:.9}.storefront .checkout-btn:disabled{background:var(--muted2)!important;opacity:.7}.storefront .option-modal textarea.form-input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);width:100%;padding:12px;font-size:14px}@media (display-mode:standalone){.storefront-topbar{padding-top:calc(10px + env(safe-area-inset-top))}.storefront{padding-bottom:env(safe-area-inset-bottom)}.cart-fab{bottom:calc(20px + env(safe-area-inset-bottom))}}.storefront-theme-toggle{margin-left:auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);flex-shrink:0}.storefront-theme-toggle:hover{background:var(--surface2);border-color:var(--text2);transform:scale(1.05)}.storefront-theme-toggle:active{transform:scale(.95)}html:has(.storefront-dark){color-scheme:dark!important}body:has(.storefront-dark){background:#121212!important}.storefront-dark .storefront-topbar{background:rgba(18,18,18,.9)!important}.storefront-dark .add-btn:disabled,.storefront-dark .product-img,.storefront-dark .storefront-banner{background:var(--surface2)!important}.storefront-dark .add-btn:disabled{color:var(--muted)!important;box-shadow:none!important}.my-order-card{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .15s}.my-order-card:last-child{border-bottom:none}.my-order-card:hover,.my-order-icon{background:var(--surface2)}.my-order-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.my-order-icon.is-active{background:var(--primary-l)}.my-order-icon.is-done{background:var(--green-l)}.my-order-icon.is-canceled{background:var(--red-l)}.my-order-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.my-order-title{font-size:14px;font-weight:700;color:var(--text)}.my-order-sub{font-size:12px;color:var(--muted)}.my-order-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.my-order-status{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:999px;background:var(--surface2);color:var(--muted);white-space:nowrap}.my-order-status.is-active{background:var(--primary-l);color:var(--primary)}.my-order-status.is-done{background:var(--green-l);color:var(--green)}.my-order-status.is-canceled{background:var(--red-l);color:var(--red)}.my-order-total{font-size:13.5px;font-weight:800;color:var(--text)}.storefront-toast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);background:var(--surface3);border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:storefrontToastIn .22s cubic-bezier(.2,.8,.2,1)}@keyframes storefrontToastIn{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.storefront.menu-layout-grid .products-grid{grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:760px){.storefront.menu-layout-grid .products-grid{grid-template-columns:repeat(3,1fr)}}.storefront.menu-layout-grid .product-card{flex-direction:column;height:auto}.storefront.menu-layout-grid .product-img{width:100%;height:160px;order:0;border-left:none;border-bottom:1px solid var(--border2);margin:0;border-radius:0}.storefront.menu-layout-grid .product-info{padding:14px}@media (min-width:601px){.storefront.menu-layout-list .products-grid{grid-template-columns:1fr}}.storefront .storefront-announce{background:linear-gradient(135deg,rgba(var(--accent-rgb,245,158,11),.16),rgba(var(--accent-rgb,245,158,11),.05));border-color:rgba(var(--accent-rgb,245,158,11),.4)}.storefront .section-label:after{background:linear-gradient(90deg,rgba(var(--secondary-rgb,14,165,233),.55),transparent)}.storefront .menu-nav-item.active{box-shadow:0 4px 10px rgba(var(--primary-rgb,255,87,34),.28)}.storefront .storefront-status.is-open .storefront-status-dot{box-shadow:0 0 0 3px rgba(var(--secondary-rgb,14,165,233),.18)}