:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#262329;background:#faf8f4;--wine:#762d3a;--line:#e5ddd6;--muted:#6c6568;--gold:#a56d13}*{box-sizing:border-box}body{margin:0;padding-bottom:84px}button,input,select,textarea{font:inherit}button{min-height:44px;cursor:pointer}header{background:var(--wine);color:white;padding:25px max(20px,calc((100% - 760px)/2));display:flex;justify-content:space-between;align-items:center;border-top:5px solid #bd965c}header small{letter-spacing:.14em;font-size:.7rem}h1{font:600 2.25rem Georgia,serif;margin:6px 0}header button{border:1px solid #ffffff66;color:white;background:transparent;border-radius:6px;padding:7px 12px}nav{position:sticky;top:0;z-index:5;padding:12px max(20px,calc((100% - 760px)/2));background:#faf8f4f5;backdrop-filter:blur(10px);display:grid;grid-template-columns:1fr 220px;gap:9px;border-bottom:1px solid var(--line)}nav input,nav select{border:1px solid #d7cdc7;background:white;border-radius:7px;padding:12px;min-width:0}main{max-width:760px;margin:auto;padding:18px 20px}.notice{display:grid;gap:4px;background:#efe8e1;border-left:3px solid var(--wine);padding:13px 15px;margin-bottom:24px}.notice span{color:var(--muted);font-size:.85rem}.category{margin-bottom:34px;scroll-margin-top:80px}.category h2{font:600 1.55rem Georgia,serif;color:var(--wine);border-bottom:2px solid var(--wine);padding-bottom:11px}.dish{padding:19px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:7px 16px}.dish h3{margin:0;font-size:1.05rem}.dish .price{font-weight:700}.dish p{grid-column:1/-1;margin:0;color:#963b40;background:#f5eae6;border-radius:4px;padding:8px 10px;line-height:1.5;font-size:.91rem}.dish button{grid-column:1/-1;justify-self:start;border:1px solid var(--wine);background:white;color:var(--wine);border-radius:6px;padding:7px 13px;font-weight:650}.markers{color:var(--gold);margin-right:5px}.cart-button{position:fixed;z-index:10;bottom:14px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 28px));border:0;border-radius:9px;background:var(--wine);color:white;padding:14px 18px;display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;box-shadow:0 8px 25px #39131c55;font-weight:700}.cart-button span{text-align:left}.cart-button b{background:white;color:var(--wine);border-radius:99px;padding:3px 8px}dialog{width:min(560px,calc(100% - 24px));max-height:92dvh;overflow:auto;border:0;border-radius:12px;padding:24px;background:#faf8f4;color:#262329;box-shadow:0 18px 70px #2c101755}dialog::backdrop{background:#22171a99}.close{float:right;border:0;background:transparent;font-size:1.8rem;color:var(--muted)}dialog h2{font:600 1.75rem Georgia,serif;color:var(--wine);margin:5px 38px 10px 0}dialog>form>small,.complete small{letter-spacing:.13em;color:var(--wine);font-weight:700}.size,.choice{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:15px 0}.size label,.choice label{border:1px solid var(--line);background:white;border-radius:7px;padding:12px;display:grid;gap:4px}.size label:has(input:checked),.choice label:has(input:checked){border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#fbf1f2}.choice input,.size input{position:absolute;opacity:0}.choice span{font-size:.78rem;color:var(--muted)}.option{border:0;border-top:1px solid var(--line);padding:14px 0}.option legend{font-weight:700}.option label{display:flex;justify-content:space-between;padding:8px 0}dialog form>label{display:grid;gap:6px;margin:13px 0;font-weight:650}input,textarea{border:1px solid #d7cdc7;border-radius:7px;background:white;padding:11px;width:100%}textarea{min-height:68px}.quantity{display:flex;justify-content:center;align-items:center;gap:24px;margin:18px}.quantity button{width:44px;border-radius:50%;border:1px solid var(--line);background:white}.primary{width:100%;border:0;border-radius:7px;background:var(--wine);color:white;padding:14px;font-weight:700}.cart-line{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:7px}.cart-line h3{margin:0;font-size:1rem}.cart-line p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.83rem}.cart-line button{grid-column:2;border:0;background:transparent;color:var(--wine)}.subtotal{display:flex;justify-content:space-between;padding:18px 0;font-size:1.05rem}.warning{text-align:center;color:#983b40;font-size:.8rem}.complete{text-align:center}.complete i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#dcebdc;color:#286737;font-size:2rem;margin:0 auto 14px}.complete strong{display:block;font-size:1.5rem;color:var(--wine);margin:12px}@media(max-width:560px){nav{grid-template-columns:1fr 145px}h1{font-size:1.9rem}.choice{grid-template-columns:1fr}.dish{padding:21px 0}}
/* Checkout enhancements: compact restaurant identity, coupons and optional marketing consent. */
.checkout-restaurant-mini{display:grid;grid-template-columns:1fr auto;gap:2px 14px;margin:8px 0 20px;padding:12px 14px;border:1px solid #d8cec5;border-left:4px solid #b98b2f;border-radius:12px;background:#f8f5f0;color:#203d34}.checkout-restaurant-mini b{grid-column:1/-1;font-family:Georgia,serif;font-size:1.05rem}.checkout-restaurant-mini span{font-size:.8rem;color:#68635d}.checkout-restaurant-mini a{align-self:end;color:#762d3a;font-weight:800;text-decoration:none}.optional-label,.checkout-section-heading span{float:right;color:#756f69;font-size:.78rem;font-weight:700}.checkout-promo{margin:18px 0;padding:15px;border:1px solid #d8cec5;border-radius:14px;background:#fcfbf9}.checkout-section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.coupon-row{display:grid;grid-template-columns:1fr auto;gap:8px}.coupon-row input{text-transform:uppercase;margin:0}.coupon-row button{min-width:92px;border:0;border-radius:10px;background:#21473b;color:#fff;font-weight:800;padding:0 16px}.coupon-row button:disabled{opacity:.55}.checkout-promo p{min-height:1.25em;margin:8px 0 0;font-size:.84rem;color:#6b655f}.checkout-promo p.success{color:#17663e;font-weight:800}.checkout-promo p.error{color:#9b2639;font-weight:800}.marketing-consent{margin:18px 0!important;padding:15px!important;border:1px solid #d8cec5!important;border-radius:14px;background:#fff}.marketing-consent>p{margin:2px 0 12px;color:#6f6962;font-size:.82rem}.marketing-consent label{display:grid!important;grid-template-columns:24px 1fr;gap:9px;align-items:start;margin:10px 0!important;padding:10px;border-radius:10px;background:#f7f4ef}.marketing-consent input{width:20px!important;height:20px!important;margin:2px 0 0!important;accent-color:#762d3a}.marketing-consent span{display:grid;gap:3px}.marketing-consent small{color:#706a64;line-height:1.35}.fee-summary .coupon-discount{color:#17663e}.fee-summary .coupon-discount b{color:#17663e}
@media(max-width:600px){.checkout-restaurant-mini{grid-template-columns:1fr}.checkout-restaurant-mini a{margin-top:4px}.coupon-row{grid-template-columns:1fr 84px}.coupon-row button{min-width:0;padding:0 10px}.marketing-consent{padding:12px!important}}
/* Pickup scheduling */
.pickup-time{margin:16px 0!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px;background:#f8f5f0}.pickup-time legend{padding:0 7px;font-weight:800;color:var(--wine)}.pickup-time .choice{margin:4px 0 12px}.pickup-time>label{display:grid;gap:6px;font-weight:700}.pickup-time select{width:100%;min-height:48px;padding:11px;border:1px solid #d7cdc7;border-radius:8px;background:#fff}.field-note{margin:8px 0 0;color:var(--muted);font-size:.8rem}
.pickup-exact{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pickup-exact label{display:grid;gap:6px;font-weight:750}.pickup-exact input{min-height:50px;font-size:16px;background:#fff}.field-note.success{color:#17663e;font-weight:750}.field-note.error{color:#9b2639;font-weight:750}
/* Keep tall item dialogs stable on phones while their contents scroll independently. */
body{overflow-x:hidden}dialog[open]{overscroll-behavior:contain;touch-action:pan-y}
@media(max-width:600px){html:has(dialog[open]),body:has(dialog[open]){overflow:hidden;overscroll-behavior:none}}
@media(max-width:600px){#item{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;right:auto;bottom:auto;margin:0;transform:translateX(-50%);width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}#item form{min-width:0}#item .close{position:sticky;top:0;z-index:4;float:right;width:48px;min-width:48px;background:#faf8f4;border:2px solid #9d3547;border-radius:8px}#item h2{overflow-wrap:anywhere}.option label{gap:12px}.pickup-time .choice{grid-template-columns:1fr}}
@media(max-width:600px){.pickup-exact{grid-template-columns:1fr}.pickup-exact input{width:100%}}
