#order-dialog{width:min(560px,calc(100% - 24px));padding:36px;max-height:90svh;overflow:auto}
#order-dialog h2{font-size:clamp(32px,6vw,46px);margin:20px 0;line-height:1.05}
#order-dialog p{line-height:1.6}
#checkout-form{display:grid;gap:16px}
#checkout-form label:not(.checkout-consent){display:grid;gap:7px;font-size:14px;font-weight:550}
#checkout-form input:not([type=checkbox]){width:100%;min-height:48px;border:1px solid #bdc5be;border-radius:12px;padding:12px;font:inherit;font-size:16px;background:#fff;color:#202722}
#checkout-form input:focus-visible{outline:2px solid #607c66;outline-offset:2px}
#checkout-form .checkout-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;cursor:pointer;min-height:44px}
.checkout-consent input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:#344f3b}
#order-dialog .dialog-small{font-size:12px;margin:0;color:#525e55}
#order-dialog .dialog-timing{font-size:13px;margin:0;color:#525e55}
#order-dialog .checkout-summary{padding:16px;background:#edf2e9;border-radius:12px;font-size:17px;font-weight:600;margin:0}
#order-dialog .checkout-notice{padding:12px 16px;background:#fff4d9;border:1px solid #dbca96;border-radius:12px;font-size:13px;margin-bottom:20px}
#order-dialog .checkout-error{padding:12px;border:1px solid #dbb0a6;background:#fff1ee;color:#823c2d;border-radius:10px;font-size:14px;margin:8px 0}
#order-dialog .payment-status{font-size:20px;font-weight:600;color:#365840;margin-bottom:12px}
#payment-reference{display:block;font-family:monospace;overflow-wrap:anywhere;font-size:13px}
#payment-message{font-size:15px;margin:18px 0}
.payment-actions{display:grid;gap:12px;margin:20px 0}
.payment-actions a:not(.button){padding:10px 0;text-align:center;text-decoration:underline;font-size:14px}
#order-dialog a:not(.button){text-decoration:underline}
#order-dialog button:disabled{opacity:.6;cursor:wait}
#resume-order{margin:18px auto 0;display:flex}
#resume-order[hidden]{display:none}
.payment-route{text-align:center;margin:28px auto 0;color:#485740}
.payment-route p{font-size:14px;line-height:1.8;margin-top:8px}
.payment-route p span{margin-inline:8px;color:#7c8a72}
#checkout-availability a{font-weight:600}
#checkout-form input:disabled{background:#f4f5f1;color:#687164;cursor:not-allowed}
.floating-whatsapp{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#128c4a;color:#fff;border:2px solid #fff;box-shadow:0 5px 22px #173c2530;transition:background .2s,box-shadow .2s}
.floating-whatsapp svg{width:36px;height:36px}
.floating-whatsapp:hover{background:#0b713a;box-shadow:0 6px 26px #173c2545}
.floating-whatsapp:focus-visible{outline:3px solid #244f32;outline-offset:4px}
.floating-whatsapp::before{content:'Chat WhatsApp';position:absolute;right:calc(100% + 10px);padding:8px 12px;background:#203d2b;color:#fff;border-radius:8px;white-space:nowrap;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}
.floating-whatsapp:focus-visible::before{opacity:1}
.site-footer{padding-bottom:104px}
@media(hover:hover){.floating-whatsapp:hover::before{opacity:1}}
@media(max-width:600px){.floating-whatsapp{right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:56px;height:56px}.floating-whatsapp svg{width:33px;height:33px}.payment-route p{font-size:12px}.payment-route p span{margin-inline:4px}}
@media(max-width:600px){#order-dialog{padding:28px 20px}#order-dialog .dialog-close{top:10px;right:10px}}
