/* Bistro Si branding; the reference informs form structure, not restaurant identity. */
@font-face{font-family:BistroJost;src:url('assets/fonts/latteria-jost-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
#checkout-dialog,#cart-dialog{--ink:#171613;--cream:#f2ece3;--field:#f7f2ea;--line:#c9bfb0;--muted:#706657;--ui:BistroJost,Arial,sans-serif;--serif:Cormorant,Georgia,serif;background:var(--cream);color:var(--ink);font-family:var(--ui);border:0;border-radius:0;max-width:none;width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden;scrollbar-color:#a59c8c var(--cream)}
#checkout-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#cart-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
:is(#checkout-dialog,#cart-dialog) .commerce-head{position:relative;width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:18px;min-height:98px;padding:22px 22px 20px 28px;border-bottom:1px solid var(--line);background:var(--cream)}
.checkout-title-block{display:grid;gap:8px;min-width:0}
.checkout-brand{display:inline-grid;justify-items:start;gap:5px;margin:0 0 5px;color:var(--ink);text-transform:none}
.checkout-brand-name{display:flex;align-items:baseline;gap:7px;white-space:nowrap;font:400 32px/1.08 Italiana,Georgia,serif;letter-spacing:-.02em}
.checkout-brand-si{font:400 43px/.8 GreatVibes,cursive;letter-spacing:0;padding-right:3px}
.checkout-brand-tagline{font:400 9px/1.2 var(--ui);letter-spacing:.2em;white-space:nowrap}
:is(#checkout-dialog,#cart-dialog) .commerce-head h2{font:400 44px/.92 Cormorant,Georgia,serif;letter-spacing:-.015em;margin:0;text-transform:none}
#cart-dialog .commerce-head h2{margin-top:8px}
#checkout-head-summary{margin:0;font-size:17px;line-height:1.35;font-weight:500;color:#706657;overflow-wrap:anywhere}
:is(#checkout-dialog,#cart-dialog) .close-button{width:46px;height:46px;min-width:0;min-height:0;display:grid;place-items:center;padding:0;border:1px solid currentColor;border-radius:0;color:var(--ink);background:transparent;font:400 28px/1 var(--ui)}
:is(#checkout-dialog,#cart-dialog) .commerce-body{width:min(1120px,calc(100% - 48px));min-height:0;margin:0 auto;padding:22px 0 32px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a59c8c var(--cream)}
#checkout-form{display:grid;gap:14px;margin:18px 0 0}
#checkout-dialog .checkout-section{display:grid;gap:14px;min-width:0;margin:0;padding:0;border:0}
#checkout-dialog .checkout-section legend.sr-only{margin:0;padding:0}
#checkout-dialog .radio-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);margin:0}
#checkout-dialog .radio-options label{position:relative;display:grid;place-items:center;min-width:0;min-height:42px;border:0;border-radius:0;margin:0;padding:0 8px;color:var(--muted);font:700 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
#checkout-dialog .radio-options label+label{border-left:1px solid var(--line)}
#checkout-dialog .radio-options label:has(input:checked){background:var(--ink);color:var(--field)}
#checkout-dialog .radio-options input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
#checkout-dialog .radio-options label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
#checkout-dialog .form-field{display:grid;gap:7px;margin:0;min-width:0;color:var(--muted);font:700 10px/1.45 var(--ui);letter-spacing:.13em;text-transform:uppercase}
#checkout-dialog .form-field :is(input,textarea,select){display:block;width:100%;height:44px;min-height:44px;min-width:0;padding:0 12px;border:1px solid var(--line);border-radius:8px;box-shadow:none;background:var(--field);color:var(--ink);font:400 16px/1.25 var(--ui);letter-spacing:0;text-transform:none;caret-color:var(--ink)}
#checkout-dialog .form-field select{appearance:auto;background-image:none;padding-right:8px}
#checkout-dialog .form-field textarea{height:82px;min-height:82px;padding-top:12px;resize:vertical}
#checkout-dialog .form-field :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
#checkout-dialog .form-field :is(input,textarea,select):focus-visible{outline:2px solid #bf593e;outline-offset:2px}
.checkout-field-error{min-height:14px;letter-spacing:0;text-transform:none;font:400 12px/1.3 var(--ui);color:#943721}
#checkout-dialog .cutlery-field{max-width:180px;margin:0}
#checkout-dialog .checkout-cutlery{display:grid;grid-template-columns:30px minmax(42px,1fr) 30px;align-items:center;width:100%;height:36px;padding:2px;border:1px solid var(--line);background:var(--field)}
#checkout-dialog .checkout-cutlery input{min-width:0;width:100%;height:30px;min-height:30px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 4px;text-align:center;font-size:14px;font-weight:600;background:transparent;appearance:textfield}
#checkout-dialog .checkout-cutlery input::-webkit-inner-spin-button,#checkout-dialog .checkout-cutlery input::-webkit-outer-spin-button{appearance:none;margin:0}
#checkout-dialog [data-cutlery-delta]{position:relative;display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;border:0;padding:0;border-radius:0;background:#17161308;color:#171613}
#checkout-dialog [data-cutlery-delta]::before,#checkout-dialog [data-cutlery-delta="1"]::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
#checkout-dialog [data-cutlery-delta="1"]::after{width:2px;height:11px}
#checkout-dialog [data-cutlery-delta]:disabled{color:#999;background:#17161305}
#checkout-dialog .commerce-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #c9bfb0;background:#f7f2ea;margin:0;font:500 12px/1.45 var(--ui);color:#514b43}
#checkout-dialog .commerce-consent input{appearance:auto;accent-color:var(--ink);width:18px;height:18px;margin:2px 0 0}
.checkout-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f2ece3;box-shadow:0 -14px 34px #17161314;z-index:2}
.checkout-footer>div>span{display:block;color:var(--muted);font:700 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.checkout-footer strong{display:block;margin-top:2px;color:var(--ink);font:700 18px/1 var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap}
#checkout-submit{width:auto;min-width:150px;min-height:44px;padding:0 16px;margin:0;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--field);font:700 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
#checkout-submit:hover{background:#373128}#checkout-submit:disabled{opacity:.55;cursor:default}
.checkout-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 10px}
#checkout-dialog .checkout-tools :is(.dish-back,.text-link){padding:3px 0;margin:0;min-height:28px;font:400 13px/1.4 var(--ui);border:0;border-radius:0;text-decoration:underline;text-underline-offset:3px}
.checkout-composition{font-size:14px;color:var(--muted)}.checkout-composition summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:3px 0}
#checkout-dialog .checkout-summary-line{font:400 15px/1.4 var(--ui)}
#checkout-dialog .checkout-totals{font:400 14px/1.5 var(--ui);margin:12px 0}
#checkout-dialog .checkout-loyalty{display:grid;gap:10px;padding:14px;border:1px solid var(--line);background:#e7dfd4}
#checkout-dialog .checkout-loyalty strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
#checkout-dialog .form-help{font:400 12px/1.4 var(--ui);color:var(--muted);margin:0}
#checkout-dialog .form-status{font-family:var(--ui)}
#checkout-dialog .text-link,#checkout-dialog .oval,#cart-dialog .oval{font-family:var(--ui)}
#checkout-dialog.has-order-result .checkout-tools,#checkout-dialog.has-order-result .checkout-composition{display:none}
#checkout-dialog #order-result h3{font:400 36px/1.1 var(--serif)}
#checkout-dialog #order-result>p,#checkout-dialog #order-result #order-result-number{font-family:var(--ui)}
#cart-dialog .cart-line h3{font:400 24px/1.1 var(--serif)}
#cart-dialog .primary-control{border-radius:8px;min-height:44px;font:700 12px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
#cart-dialog .cart-unit,#cart-dialog .cart-remove,#cart-dialog .form-help{font-family:var(--ui)}
#cart-dialog .cart-line-total,#cart-dialog .cart-summary strong{font-family:var(--ui);font-size:20px;font-weight:600}
@media(max-width:760px){
 :is(#checkout-dialog,#cart-dialog) .commerce-head{width:min(calc(100% - 28px),680px);min-height:88px;padding:18px 16px 16px 20px;grid-template-columns:minmax(0,1fr) 42px}
 :is(#checkout-dialog,#cart-dialog) .commerce-head h2{font-size:36px}
 #checkout-head-summary{font-size:16px;line-height:1.38}
 :is(#checkout-dialog,#cart-dialog) .close-button{width:42px;height:42px}
 :is(#checkout-dialog,#cart-dialog) .commerce-body{width:min(calc(100% - 28px),680px);padding:14px 0 18px}
 #checkout-form{gap:10px;margin-top:12px}#checkout-dialog .checkout-section{gap:10px}
 #checkout-dialog .form-field textarea{height:58px;min-height:58px}
 .checkout-footer{width:min(calc(100% - 28px),680px);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
 #checkout-submit{min-width:136px}
}
@media(max-width:360px){.checkout-footer{gap:10px;padding-inline:8px}#checkout-submit{min-width:124px;padding-inline:12px}}

@font-face{font-family:BistroJost;src:url('assets/fonts/latteria-jost-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:BistroJost;src:url('assets/fonts/latteria-jost-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
#checkout-submit{align-items:center}
:is(#checkout-dialog,#cart-dialog) .close-button{position:static;align-self:center;flex-direction:row}
:is(#checkout-dialog,#cart-dialog) .close-button::before,:is(#checkout-dialog,#cart-dialog) .close-button::after{content:none}

@media(min-width:761px){.checkout-footer{display:none}}
#checkout-submit-desktop{align-items:center;min-height:50px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:var(--field);font:700 10px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase;margin:20px 0 0}
#checkout-submit-desktop:disabled{opacity:.55;cursor:default}
@media(max-width:760px){#checkout-submit-desktop{display:none}}
