#checkoutModal .box{width:min(640px,100%);padding:0 28px 28px;border-radius:18px;background:#fffdf9;line-height:1.5;scroll-padding-top:110px}
#checkoutModal .checkoutHeader{position:sticky;top:0;z-index:3;background:#fffdf9;padding:22px 0 16px;border-bottom:1px solid #e9dfd4;margin-bottom:20px}
#checkoutModal .checkoutHeader h2{font-size:26px;line-height:1.2;margin:0 48px 7px 0;letter-spacing:-.5px}
#checkoutModal .checkoutHeader p{font-size:14px;color:#70665e;margin:0;padding-right:40px}
#checkoutModal .close{width:44px;height:44px;cursor:pointer;background:#f0e9df;border-radius:50%}
#checkoutModal h3{font-size:18px;line-height:1.35}
#checkoutModal input:not([type=checkbox]):not([type=radio]),#checkoutModal select,#checkoutModal textarea{border:1px solid #d9cec2;border-radius:12px;background:#fff;min-height:48px;font:inherit;font-size:16px;padding:12px;width:100%;margin:6px 0 0}
#checkoutModal :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #ecb1ba;outline-offset:3px}
#checkoutModal [aria-invalid=true]{border-color:#c9002d!important;background:#fff6f6!important}
#checkoutModal .fieldError{display:block;color:#b70028;font-size:13px;margin:6px 0}
#checkoutModal button:disabled{opacity:.5;cursor:not-allowed}
#checkoutModal label{font-size:14px;font-weight:600;min-width:0}
#checkoutModal .deliveryCheckout{padding:0;border:0;background:none;margin:18px 0}
#checkoutModal .fulfillmentChoice{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:#f0e9df;border-radius:14px}
#checkoutModal .fulfillmentChoice button{border:0;border-radius:10px;background:transparent;color:#322923;min-height:48px;font-size:15px;font-weight:750;cursor:pointer;padding:10px}
#checkoutModal .fulfillmentChoice [aria-pressed=true]{background:#e9002b;color:#fff;box-shadow:0 3px 9px #9b002523}
#checkoutModal .deliveryTerms{padding:14px;border:1px solid #e8dac8;border-radius:12px;background:#f8f0e5;line-height:1.6;font-size:14px;margin:18px 0}
#checkoutModal .addressHeading h3{margin:20px 0 5px}
#checkoutModal .addressHeading p,#checkoutModal .addressHint{font-size:14px;color:#74685f;margin:0 0 14px}
#checkoutModal .deliveryAddressGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#checkoutModal .deliveryAddressGrid label{margin:0;display:block}
#checkoutModal .addressWide{grid-column:1/-1}
#checkoutModal .checkDeliveryAddress{width:100%;min-height:48px;border:1px solid #cfb9a5;border-radius:12px;font-weight:750;background:#fff;margin:12px 0;cursor:pointer}
#checkoutModal .addressHint{display:block}
#checkoutModal .deliveryZone{padding:12px 14px;border-radius:12px;font-size:14px;background:#f3efe9}
#checkoutModal .deliveryZone[data-state=success]{background:#eaf5ed;border:1px solid #9bc7a5;color:#205d34;font-weight:700}
#checkoutModal .deliveryZone[data-state=error]{background:#fff0ee;border:1px solid #e7b3ac;color:#9e2c23}
#checkoutModal .matchedAddress{font-size:14px;color:#45624c;overflow-wrap:anywhere;margin-top:-5px}
#checkoutModal .checkoutStep{margin:22px 0;padding-top:20px;border-color:#e9dfd4}
#checkoutModal .dateRow{align-items:start;gap:16px}
#checkoutModal .dateDisclosure summary{border:1px solid #d9cec2;border-radius:12px;background:#fff;padding:12px;font-size:14px;min-height:48px;margin-top:6px}
#checkoutModal #slotInfo{margin-top:10px;font-size:14px}
#checkoutModal .pay{gap:12px}
#checkoutModal .pay label{margin:0;background:#fff;padding:14px;border-radius:12px;align-items:center;cursor:pointer}
#checkoutModal .pay label:has(:checked){background:#fff2f1;border-color:#e9002b;box-shadow:0 0 0 1px #e9002b}
#checkoutModal .pay label:has(:disabled){opacity:.5;cursor:not-allowed}
#checkoutModal .pay input{flex:0 0 20px;width:20px;min-height:20px;height:20px;margin:0;accent-color:#e9002b}
#checkoutModal .pay strong,#checkoutModal .pay small{display:block}
#checkoutModal .pay small{font-size:12px;color:#71645c;font-weight:400;margin-top:3px}
#checkoutModal .optionalField{border:1px solid #e1d6ca;border-radius:12px;padding:0 14px;background:#fff}
#checkoutModal .optionalField summary{font-size:14px;min-height:48px}
#checkoutModal .optionalField textarea{margin-bottom:14px}
#checkoutModal .finalBill{background:#f7eee2;border:1px solid #e6d4be;padding:20px;border-radius:14px;font-size:15px}
#checkoutModal .finalBill h3{margin-top:0}
#checkoutModal .finalBill p{align-items:baseline;overflow-wrap:anywhere}
#checkoutModal .finalBill p>b{flex-shrink:0}
#checkoutModal .finalBill .grand{font-size:22px}
#checkoutModal .checkoutConsent{padding:10px 0;font-weight:400!important}
#checkoutModal .checkoutConsent input{flex:0 0 22px;width:22px!important;height:22px;accent-color:#e9002b}
#checkoutModal .checkoutConsent a{color:#b70028;text-underline-offset:3px}
#checkoutModal #sendOrderButton{background:#e9002b;color:#fff;border:0;border-radius:12px;min-height:54px;font-size:16px;cursor:pointer}
#checkoutModal .allergenNotice{font-size:12px;line-height:1.5}
@media(max-width:600px){#checkoutModal{padding:8px}#checkoutModal .box{padding:0 18px 22px;max-height:calc(100dvh - 16px);border-radius:14px}#checkoutModal .checkoutHeader{padding-top:18px}#checkoutModal .checkoutHeader h2{font-size:24px}#checkoutModal .dateRow{grid-template-columns:1fr}#checkoutModal .finalBill{padding:16px}#checkoutModal .pay label{padding:12px;gap:8px}#checkoutModal .deliveryAddressGrid{gap:12px}#checkoutModal .finalBill .grand{font-size:20px}}
@media(max-width:375px){#checkoutModal .deliveryAddressGrid{grid-template-columns:1fr}#checkoutModal .pay{grid-template-columns:1fr}}

#checkoutModal .deliveryTermRow,#checkoutModal .deliveryTermRow>strong,#checkoutModal .deliveryTermRow>span{display:block}#checkoutModal .deliveryTermRow+ .deliveryTermRow{margin-top:12px}#checkoutModal .deliveryTermRow>strong{margin-bottom:4px}
body:has(#checkoutModal.open){overflow:hidden}
#checkoutModal .deliveryAddressGrid label{display:flex;flex-direction:column;justify-content:flex-end}
#checkoutModal .matchedAddress:not(:empty){background:#eaf5ed;border-radius:0 0 12px 12px;padding:0 14px 12px;margin-top:-22px;padding-top:12px;border:1px solid #9bc7a5;border-top:0}
#checkoutModal .checkoutConsent{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:9px!important}
#checkoutModal .checkoutConsent input{grid-column:1;grid-row:1}
#checkoutModal .checkoutConsent>span{grid-column:2;grid-row:1}
#checkoutModal .checkoutConsent .fieldError{grid-column:2;grid-row:2}

#checkoutModal [hidden]{display:none!important}
