:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#fefcf6;color:#1a1a1a;--accent: #c0392b;--green: #5f7f43;--card-bg: #fffef9;--border: #e8dcc8;--radius: 12px;--shadow: 0 2px 16px rgba(0,0,0,.05);--shadow-hover: 0 6px 24px rgba(0,0,0,.08);--black: #3d1a00;--gold: #d4952b}*{box-sizing:border-box}body{margin:0;padding:0;-webkit-font-smoothing:antialiased}.topbar{display:flex;align-items:center;justify-content:flex-end;padding:8px 16px;background:transparent;position:sticky;top:0;z-index:100;min-height:48px;pointer-events:none}.topbar-spacer{flex:1}.topbar-right{display:flex;align-items:center;gap:8px;pointer-events:auto;background:#3d1a00bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:28px;padding:4px 6px}.topbar-right{display:flex;align-items:center;gap:8px}.lang-switcher{display:flex;gap:2px;background:#ffffff14;border-radius:20px;padding:2px}.lang-btn{background:none;border:none;font-size:1.1rem;padding:4px 8px;border-radius:18px;cursor:pointer;opacity:.45;transition:all .2s;line-height:1}.lang-btn.active{opacity:1;background:#ffffff26}.lang-btn:hover{opacity:.8}.cart-btn{background:none;border:1.5px solid rgba(255,255,255,.25);color:#fffdf7;font-size:1.2rem;padding:8px 14px;border-radius:24px;cursor:pointer;font-weight:700;transition:all .2s;display:flex;align-items:center;gap:4px}.cart-btn.has-items{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px #c0392b66}.cart-btn span{font-size:.9rem}.hero{position:relative;background:linear-gradient(180deg,#e8a850,#d4952b 15%,#c97857 35%,#f0d8b0 60%,#fefcf6);padding:72px 16px 48px;text-align:center;overflow:hidden;margin-top:-56px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.15) 0%,transparent 65%);pointer-events:none}.hero-logo{display:block;width:min(280px,70vw);height:auto;margin:0 auto 16px;position:relative;z-index:1;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}.hero-content{position:relative;z-index:1;color:#3d1a00}.hero h1{font-size:clamp(2rem,7vw,3rem);margin:0 0 10px;font-weight:900;letter-spacing:-.03em;color:#3d1a00}.hero p{opacity:.8;font-size:1rem;max-width:460px;margin:0 auto;line-height:1.5;color:#5a3520}.section-label{max-width:900px;margin:0 auto;padding:24px 16px 8px}.section-label h2{margin:0;font-size:1.3rem;font-weight:800}.pizza-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:8px 16px 100px;max-width:900px;margin:0 auto}.pizza-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.pizza-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.pizza-image{aspect-ratio:1;background:#f0e8d5;overflow:hidden;position:relative}.pizza-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,#0000000d);pointer-events:none}.pizza-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pizza-card:hover .pizza-image img{transform:scale(1.03)}.pizza-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;background:linear-gradient(135deg,#e8c96e,#d4952b)}.pizza-body{padding:16px 18px}.pizza-name{margin:0 0 6px;font-size:1.1rem;font-weight:800}.pizza-desc{margin:0 0 14px;font-size:.85rem;color:#666;line-height:1.4}.pizza-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.pizza-price{font-size:1.15rem;color:var(--green);font-weight:800}.pizza-qty{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}.qty-btn{width:38px;height:38px;border:none;background:#f5f1e8;color:#1a1a1a;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.qty-btn:active{background:#ddd3bf}.qty-val{width:38px;text-align:center;font-weight:800;font-size:.95rem;user-select:none}.cart-sidebar{position:fixed;inset:0;z-index:200}.cart-overlay{position:absolute;inset:0;background:#00000080}.cart-panel{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--card-bg);display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000026}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.cart-header h2{margin:0;font-size:1.2rem;font-weight:800}.icon-btn{background:none;border:none;font-size:1.3rem;cursor:pointer;padding:4px 8px;color:#1a1a1a;border-radius:4px}.cart-items{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;color:#888}.cart-empty p{margin:0;font-size:1.1rem}.cart-empty-hint{font-size:.85rem!important;margin-top:8px!important}.cart-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8f5ed;border-radius:8px;gap:12px}.cart-item-info{flex:1;min-width:0}.cart-item-name{display:block;font-size:.95rem;font-weight:700}.cart-item-price{display:block;font-size:.82rem;color:#5a5a5a;margin-top:2px}.cart-item-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}.cart-item-qty .qty-btn{width:32px;height:32px;font-size:1rem}.cart-item-qty .qty-val{width:32px;font-size:.85rem}.cart-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}.cart-total strong{font-size:1.3rem;color:var(--green)}.btn-primary{display:block;width:100%;padding:14px;background:#3d1a00;color:#fffdf7;border:none;border-radius:10px;font-size:1.05rem;font-weight:800;cursor:pointer;text-align:center;text-decoration:none;transition:all .2s}.btn-primary:active{background:#2a1000;transform:scale(.98)}.btn-secondary{display:block;width:100%;padding:14px;background:var(--card-bg);color:#1a1a1a;border:1.5px solid var(--border);border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;text-align:center}.btn-secondary:disabled{opacity:.6;cursor:default}.checkout-modal{position:fixed;inset:0;z-index:300}.checkout-overlay{position:absolute;inset:0;background:#00000080}.checkout-panel{position:absolute;inset:0;background:var(--card-bg);display:flex;flex-direction:column;overflow-y:auto}@media(min-width:600px){.checkout-panel{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);border-radius:16px;box-shadow:0 8px 40px #00000040}}.checkout-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card-bg);z-index:1}.checkout-steps{display:flex;align-items:center;gap:0}.checkout-step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;background:#e8dcc8;color:#999;transition:all .3s}.checkout-step-dot.active{background:var(--green);color:#fff;box-shadow:0 0 0 4px #5f7f4333}.checkout-step-dot.done{background:var(--green);color:#fff}.checkout-step-line{width:24px;height:2px;background:#e8dcc8;transition:background .3s}.checkout-step-line.done{background:var(--green)}.checkout-step-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:1.1rem;font-weight:800}.checkout-step{padding:20px;flex:1;display:flex;flex-direction:column;gap:16px}.checkout-summary{display:flex;flex-direction:column;gap:10px}.checkout-summary h3{margin:0 0 4px;font-size:1rem;font-weight:800}.summary-line{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.95rem}.summary-total{border-top:1.5px solid var(--border);padding-top:12px;font-size:1.1rem;font-weight:800}.checkout-form{display:flex;flex-direction:column;gap:16px}.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700}.checkout-form input[type=text],.checkout-form input[type=tel]{padding:12px;border:1.5px solid var(--border);border-radius:8px;font:inherit;font-size:1rem;background:#fff}.delivery-choice{border:none;padding:0;display:flex;flex-direction:column;gap:8px}.delivery-choice legend{font-size:.85rem;font-weight:700;margin-bottom:4px}.radio-card{display:block;cursor:pointer}.radio-card input{display:none}.radio-card-content{display:flex;flex-direction:column;padding:12px;border:2px solid var(--border);border-radius:10px;transition:all .15s}.radio-card input:checked+.radio-card-content{border-color:var(--green);background:#f0f5e8}.radio-card-content strong{font-size:.95rem}.radio-card-content small{font-size:.8rem;color:#666;margin-top:2px}.delivery-location{display:flex;flex-direction:column;gap:12px}.location-status{margin:0;font-size:.85rem;min-height:20px}.location-status.success{color:var(--green);font-weight:600}.location-status.error{color:#c0392b}.info-card{padding:16px;background:#f0f5e8;border:1px solid #c5d9b0;border-radius:10px}.info-card strong{display:block;font-size:.95rem;margin-bottom:6px}.info-card p{margin:0;font-size:.9rem;color:#444;line-height:1.4}.payment-pending{text-align:center;padding:40px 20px}.spinner{width:48px;height:48px;border:4px solid #e0d9c5;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.payment-pending h3{margin:0 0 8px;font-size:1.2rem}.payment-pending p{margin:0;color:#666}.order-confirmed{text-align:center;padding:32px 20px}.confirmed-icon{font-size:4rem;margin-bottom:16px}.order-confirmed h3{margin:0 0 8px;font-size:1.4rem;font-weight:800}.order-confirmed p{margin:0 0 8px;color:#555;font-size:1rem}.order-confirmed .btn-primary{margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#3d1a00;color:#fffdf7;padding:12px 24px;border-radius:24px;font-weight:600;font-size:.9rem;z-index:500;opacity:0;transition:opacity .3s;pointer-events:none}.toast.show{opacity:1}.loading,.error,.empty{text-align:center;padding:40px 20px;color:#888;grid-column:1 / -1}.error{color:#c0392b}@media(max-width:480px){.pizza-grid{grid-template-columns:1fr;padding:8px 12px 100px}.hero{padding-top:64px;padding-bottom:36px}.hero-logo{width:min(220px,60vw)}.cart-panel{width:100vw}}
