.site-header { background:#e21b23; border-bottom:4px solid #ffc72c; backdrop-filter:none; }
.site-header .logo { width:142px; }
.site-header .location-chip { color:#fff; }
.site-header .location-chip small { color:#fee2e2; }
.site-header .pin-icon { background:#ffc72c; }
.site-header .basket-button { background:#fff; border-color:#fff; }
.site-header .cart-icon { background:#e21b23; }
@media (max-width:760px) { .site-header .logo { width:112px; } }

.fulfilment-switch { display:flex; gap:8px; margin-top:20px; }
.fulfilment-switch button { border:1px solid #d1d5db; border-radius:999px; background:#fff; color:#374151; padding:9px 14px; font-size:13px; font-weight:800; }
.fulfilment-switch button.is-active { background:#111827; border-color:#111827; color:#fff; }
.product-status { display:block; margin-top:12px; color:#4b5563; font-size:11px; font-weight:700; line-height:1.4; }
.feedback-toggle, .feedback-panel, .feedback-dialog { display:none !important; }
.hero-copy h1 { font-size:clamp(3rem,5vw,4.8rem); line-height:.94; }
.hero-feature img { object-fit:contain; background:#bd0713; }
.hero-feature > div { display:none; }
.official-product-image { height:auto; aspect-ratio:2245/1587; object-fit:contain; }
.product-without-photo { min-height:245px; }
.product-image { aspect-ratio:4/3; height:auto; object-fit:contain; }

.product-dialog { width:min(560px,calc(100% - 28px)); max-height:90dvh; margin:auto; padding:0; border:0; border-radius:20px; color:#111827; background:#fff; box-shadow:0 24px 60px rgb(17 24 39/.25); }
.product-dialog::backdrop { background:rgb(17 24 39/.55); }
.product-dialog form { display:flex; flex-direction:column; max-height:90dvh; }
.product-dialog-header { display:flex; align-items:start; gap:16px; padding:24px 24px 16px; }
.product-dialog-header h2 { margin:0; flex:1; font-size:26px; font-weight:800; line-height:1.15; letter-spacing:-.025em; }
.product-dialog-header button { min-width:44px; min-height:44px; margin-top:-8px; }
.product-dialog-body { padding:0 24px 20px; overflow-y:auto; }
#product-description { margin:0; font-size:14px; line-height:1.6; color:#4b5563; }
#product-restaurant { margin:12px 0 22px; font-size:13px; font-weight:800; }
.option-group { padding:0; margin:24px 0; border:0; }
.option-group legend { display:flex; gap:12px; align-items:center; margin-bottom:12px; font-size:16px; font-weight:800; }
.option-group legend span { font-size:11px; color:#9f1239; background:#fff1f2; padding:4px 8px; border-radius:999px; }
.option-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.option-choice { display:flex; align-items:center; gap:10px; padding:13px; border:1px solid #d1d5db; border-radius:12px; min-height:48px; cursor:pointer; font-size:14px; font-weight:700; }
.option-choice:has(input:checked) { background:#fff1f2; border-color:#e21b23; color:#9f1239; }
.option-choice input { accent-color:#e21b23; width:18px; height:18px; flex:none; }
.product-quantity { display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:800; }
.product-quantity input { width:90px; min-height:46px; border:1px solid #d1d5db; border-radius:10px; padding:10px; background:#fff; }
#product-pricing-note { margin:20px 0 0; font-size:12px; color:#4b5563; line-height:1.6; }
#product-option-error { color:#b91c1c; font-size:13px; margin:8px 0 0; }
.product-dialog-footer { display:flex; gap:10px; padding:16px 24px; background:#f9fafb; }
.product-dialog-footer .primary-button { flex:1; }
.basket-item strong,.basket-item span { display:block; line-height:1.5; }
.edit-item { display:block; border:0; padding:10px 0; color:#b9141b; background:none; text-decoration:underline; text-underline-offset:3px; font-size:12px; font-weight:800; }
@media(max-width:600px) { .product-dialog { width:100%; max-height:92dvh; margin:auto 0 0; border-radius:20px 20px 0 0; } .product-dialog form { max-height:92dvh; } .product-dialog-header { padding:22px 20px 16px; } .product-dialog-body { padding:0 20px 20px; } .product-dialog-footer { padding:16px 20px max(16px,env(safe-area-inset-bottom)); } }
