/* Uses the established Veissière palette and native dialog components. */
.checkout-shell{max-width:880px;margin:auto;min-width:0;color:var(--ink)}
.checkout-mode{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);margin-bottom:22px}
.checkout-mode b{font-size:14px}.checkout-mode p{font-size:12px;line-height:1.6;margin-top:3px;color:var(--muted)}
.checkout-mode-mark{font-weight:800;font-size:10px;letter-spacing:.06em;color:var(--blue);background:white;padding:6px;border-radius:4px;flex:none}
.checkout-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 28px}
.checkout-steps button{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-height:65px;padding:9px 7px;border-bottom:3px solid var(--line);background:white;font-size:12px;line-height:1.5;text-align:left;overflow-wrap:anywhere}
.checkout-steps button span{display:grid;place-items:center;width:24px;height:24px;background:var(--surface);border-radius:50%;color:var(--blue);font-weight:700}
.checkout-steps [aria-current=step]{color:var(--blue);font-weight:750;border-color:var(--blue)}.checkout-steps [aria-current=step] span{color:white;background:var(--blue)}
.checkout-steps button:disabled{color:var(--muted);opacity:.75;cursor:default}
.checkout-shell h2{font-size:clamp(26px,3.1vw,38px);line-height:1.14;margin:0 0 14px}.checkout-shell h3{font-size:20px;line-height:1.4;letter-spacing:-.02em}
.checkout-shell .dialog-lead{font-size:16px;margin:0 0 22px}.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.checkout-fields .field{min-width:0}.checkout-fields .field label{display:block;font-size:14px;font-weight:650;margin-bottom:7px}.checkout-fields input,.checkout-fields select{width:100%;min-height:48px;padding:12px;font:inherit;font-size:16px;background:white;color:var(--ink);border:1px solid #bbcbd4;border-radius:var(--radius);min-width:0}
.checkout-profile{border:0;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px}.checkout-profile legend{font-size:14px;font-weight:650;margin-bottom:12px}.checkout-profile label{display:flex;align-items:center;gap:9px;min-height:44px}.checkout-profile input,.checkout-delivery input,.checkout-consent input{accent-color:var(--blue);width:18px;height:18px;flex:none}
.checkout-company{grid-column:1/-1}.checkout-company[hidden]{display:none}.checkout-company .tiny{margin-top:8px}.checkout-help{font-size:13px;line-height:1.7;color:var(--muted);padding:14px 16px;background:var(--surface);border-radius:var(--radius);margin:18px 0}
.checkout-delivery{border:0;padding:0;margin:22px 0;display:grid;gap:12px}.checkout-delivery-choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);align-items:start;cursor:pointer}.checkout-delivery-choice:has(input:checked){border-color:var(--blue);background:#f3f7ff}.checkout-delivery-choice b{display:block;font-size:15px;line-height:1.5}.checkout-delivery-choice small{display:block;font-size:13px;line-height:1.6;margin-top:6px;color:var(--muted)}.checkout-delivery-choice>strong{font-size:13px;line-height:1.6;text-align:right}.checkout-delivery-choice input{margin-top:3px}.checkout-subtitle{margin:24px 0 12px}
.checkout-totals{padding:18px 20px;margin:22px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.checkout-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:14px;line-height:1.6}.checkout-totals dt{min-width:0}.checkout-totals dd{font-weight:700;text-align:right;margin:0;flex:none}.checkout-totals .checkout-total{font-size:20px;border-top:1px solid var(--line);margin-top:10px;padding-top:16px;font-weight:750;line-height:1.4}.checkout-totals .checkout-muted{font-size:12px;color:var(--muted)}.checkout-total-note{font-size:12px;line-height:1.7;color:var(--muted);margin:9px 0 22px}
.checkout-lines{list-style:none;padding:0;margin:22px 0;border-top:1px solid var(--line)}.checkout-lines li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}.checkout-lines img{width:60px;height:60px;object-fit:contain}.checkout-lines b{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.checkout-lines small{display:block;font-size:12px;line-height:1.6;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.checkout-lines li>strong{font-size:14px;line-height:1.5;text-align:right;white-space:nowrap}
.checkout-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.checkout-summary-grid section{padding:18px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.checkout-summary-grid p{font-size:14px;margin:12px 0;overflow-wrap:anywhere}.checkout-summary-grid .button{font-size:12px;min-height:44px;padding:8px 14px}
.checkout-payment-closed{border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;margin:24px 0}.checkout-payment-closed h3{margin:10px 0}.checkout-payment-closed p{font-size:14px;margin:12px 0}.checkout-payment-closed button{margin:10px 0;background:#dce4eb;color:#4a5966;cursor:not-allowed}.checkout-lock{display:block;color:var(--blue);font-size:38px;line-height:1}
.checkout-demo-invite{border-top:2px solid var(--blue);background:var(--surface);padding:20px;margin:24px 0}.checkout-demo-invite p{font-size:14px;margin:10px 0 16px}.checkout-demo-invite .button{margin:4px 6px 4px 0}
.checkout-simulator{padding:22px;border:1px solid var(--line);border-radius:var(--radius)}.checkout-simulator>p{font-size:14px;margin:10px 0 18px}.checkout-simulator .field label{display:block;font-size:14px;margin-bottom:8px;font-weight:650}.checkout-simulator select{width:100%;font-size:16px;min-height:48px}.checkout-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:14px;line-height:1.6}.checkout-consent input{margin-top:3px}
.checkout-payment-state{border-left:4px solid var(--blue);background:var(--surface);padding:16px;margin:20px 0}.checkout-payment-state>b{font-size:16px}.checkout-payment-state p{font-size:14px;margin:8px 0 12px}.checkout-payment-state small{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--muted);margin-top:10px}.checkout-payment-state .button{margin:4px 6px 4px 0}
.checkout-success{text-align:center;padding:12px 0}.checkout-success .eyebrow{margin:18px 0 12px}.checkout-success-mark{display:grid;place-items:center;margin:auto;width:56px;height:56px;border-radius:50%;background:var(--blue);color:white;font-size:30px}.checkout-reference{display:grid;gap:7px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:20px 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.checkout-reference strong{font-size:15px}.checkout-reference span,.checkout-reference small{display:block}
.checkout-tracking{list-style:none;padding:0;margin:28px 0}.checkout-tracking li{position:relative;border-left:2px solid var(--line);padding:0 0 26px 24px;margin-left:9px}.checkout-tracking li:last-child{padding-bottom:0}.checkout-tracking li:before{content:'';position:absolute;left:-8px;top:3px;width:14px;height:14px;border:2px solid var(--line);border-radius:50%;background:white}.checkout-tracking .done:before{background:var(--blue);border-color:var(--blue)}.checkout-tracking b{font-size:16px}.checkout-tracking p{font-size:14px;margin-top:7px;color:var(--muted)}
.checkout-specimen{padding:12px;background:var(--blue);color:white;font-size:13px;font-weight:750;letter-spacing:.06em;text-align:center;margin-bottom:24px}.checkout-invoice>p:not(.checkout-specimen){font-size:14px;margin:20px 0}.checkout-error{color:#8e1b27;background:#fff2f3;padding:14px;border:1px solid #f1c7cd;font-size:14px;margin:18px 0;border-radius:var(--radius)}
@media(max-width:640px){.checkout-mode{padding:12px;gap:8px}.checkout-mode b{font-size:13px}.checkout-mode p{font-size:12px}.checkout-steps{gap:3px;margin-bottom:22px}.checkout-steps button{font-size:10px;padding:8px 2px;min-height:75px;line-height:1.5}.checkout-steps button span{width:22px;height:22px;font-size:11px}.checkout-fields,.checkout-summary-grid{grid-template-columns:1fr;gap:16px}.checkout-delivery-choice{padding:14px;gap:10px;grid-template-columns:18px minmax(0,1fr)}.checkout-delivery-choice>strong{grid-column:2;text-align:left}.checkout-totals{padding:14px}.checkout-totals>div{font-size:13px;gap:10px}.checkout-totals .checkout-total{font-size:17px;gap:10px}.checkout-totals dd{max-width:48%;overflow-wrap:anywhere}.checkout-lines li{grid-template-columns:44px minmax(0,1fr);gap:10px}.checkout-lines img{width:44px;height:52px}.checkout-lines li>strong{grid-column:2;text-align:left}.checkout-payment-closed,.checkout-simulator,.checkout-demo-invite{padding:16px}.checkout-demo-invite .button{width:100%;margin:5px 0}.checkout-mode-mark{padding:5px;font-size:9px}dialog[data-layout=checkout] .dialog-footer{flex-wrap:wrap}dialog[data-layout=checkout] .dialog-footer .button{min-width:120px;flex:1;min-height:48px}.merchant-note .wrap{align-items:center}.merchant-note button{max-width:135px}}
@media(prefers-reduced-motion:reduce){.checkout-shell *{scroll-behavior:auto}}
