.sf-checkout{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:28px 16px;background:rgba(4,7,20,.94);backdrop-filter:blur(8px);color:#f1f5f9;font-family:'Plus Jakarta Sans',Arial,sans-serif}
.sf-checkout *{box-sizing:border-box}.sf-panel{position:relative;width:100%;max-width:660px;margin:auto;background:#0a1128;border:1px solid #d4af3755;border-radius:18px;padding:32px;box-shadow:0 24px 80px #0008;outline:none}.sf-close{position:absolute;top:12px;right:16px;font-size:30px;color:#94a3b8;background:none;border:0;cursor:pointer;padding:0 8px}.sf-eyebrow{font-size:10px;letter-spacing:1.8px;color:#e5c158;font-weight:700;padding-right:20px;margin:0 0 8px}.sf-panel h2{font-family:Cinzel,Georgia,serif;font-size:27px;line-height:1.3;margin:0 0 24px}.sf-panel h3{font-family:Cinzel,Georgia,serif;font-size:16px;margin:22px 0 12px}.sf-product{display:flex;gap:14px;align-items:center;padding:14px;background:#060b1e;border:1px solid #d4af373d;border-radius:12px}.sf-product img{width:64px;height:72px;object-fit:contain;border-radius:8px}.sf-product>div{flex:1}.sf-product h3{font-size:14px;margin:0 0 8px}.sf-unit{margin:0;color:#e5c158;font-size:13px}.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sf-wide{grid-column:1/-1}.sf-panel label{display:block;font-size:11px;letter-spacing:.3px;font-weight:600;color:#cbd5e1}.sf-panel input,.sf-panel select{display:block;width:100%;font-family:inherit;font-size:14px;color:#f1f5f9;background:#060b1e;border:1px solid #334155;border-radius:8px;padding:12px;margin-top:7px;min-height:44px}.sf-panel input:focus,.sf-panel select:focus{outline:2px solid #e5c158;outline-offset:2px}.sf-panel button:focus-visible{outline:2px solid #e5c158;outline-offset:3px}.sf-quantity{min-width:64px}.sf-quantity select{padding:8px}.sf-card{margin-top:16px;min-height:120px}.sf-note{font-size:11px;line-height:1.7;color:#94a3b8;margin:16px 0}.sf-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #334155;padding:20px 0;font-size:15px}.sf-total small{display:block;font-size:11px;color:#94a3b8;margin-top:5px}.sf-total strong{font-size:25px;color:#e5c158}.sf-pay{width:100%;background:linear-gradient(100deg,#f4df8c,#bb951c);border:0;border-radius:8px;padding:16px;color:#060b1e;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;min-height:48px}.sf-pay:disabled{opacity:.55;cursor:wait}.sf-error{font-size:13px;line-height:1.6;color:#fca5a5;padding:12px;background:#7f1d1d33;border-radius:8px}.sf-error[hidden]{display:none}.sf-success{text-align:center;padding:24px 0}.sf-success>span{display:inline-grid;place-items:center;width:64px;height:64px;border:1px solid #d4af37;border-radius:50%;color:#e5c158;background:#d4af3722;font-size:32px}.sf-success p,.sf-content>p{color:#cbd5e1;font-size:14px;line-height:1.7}.sf-reference{color:#e5c158!important;margin:22px 0}.sf-payment-form>label{margin-bottom:10px}@media(max-width:540px){.sf-checkout{padding:12px}.sf-panel{padding:26px 18px}.sf-panel h2{font-size:22px}.sf-grid{grid-template-columns:1fr}.sf-wide{grid-column:auto}.sf-product img{width:48px;height:60px}.sf-product h3{font-size:12px}}

/* Fluid checkout sizing, long product names, and touch-sized controls. */
.sf-panel{min-inline-size:0;max-inline-size:100%;padding:clamp(1rem,4vw,2rem)}
.sf-product{flex-wrap:wrap;gap:clamp(.625rem,2vw,.875rem)}
.sf-product>div{min-inline-size:0;flex:1 1 8rem}
.sf-product h3,.sf-panel p{overflow-wrap:anywhere}
.sf-quantity{flex:0 0 4rem}
.sf-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.sf-grid label{min-inline-size:0}
.sf-panel input,.sf-panel select{min-inline-size:0;font-size:1rem}
.sf-panel .sf-close{min-inline-size:2.75rem;min-block-size:2.75rem}
.sf-total{flex-wrap:wrap;gap:1rem}
.sf-panel .sf-pay{white-space:normal;line-height:1.5}
@media(max-width:540px){.sf-panel{padding:1.25rem 1rem}.sf-product>div{flex-basis:7rem}.sf-grid{grid-template-columns:1fr}.sf-product h3{font-size:.8125rem;line-height:1.5}}

.sf-checkout{overscroll-behavior:contain;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}
