.checkout-modal{min-height:0;height:fit-content;display:none;flex-direction:column;width:min(1080px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper,#fff);box-shadow:0 24px 100px #132c3540;overflow:hidden;overscroll-behavior:contain;color:var(--ink)}
.checkout-modal[open]{display:flex}.checkout-modal:not([open]){display:none}
.checkout-modal::backdrop{background:#132c3570;backdrop-filter:blur(4px)}
.checkout-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:0 0 auto;z-index:2;padding:24px 28px 18px;border-bottom:1px solid var(--line);background:#fff}
.checkout-modal-header h2{margin-top:5px;font-size:25px;line-height:1.5}.checkout-modal-header .hint{margin-top:7px;max-width:760px}
.checkout-modal-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0!important;border:1px solid var(--line);border-radius:12px;font-size:26px!important;background:#f4f7f5}
.checkout-modal-close:disabled{opacity:.45;cursor:wait}
.checkout-progress{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:20px 28px;border-bottom:1px solid var(--line);background:#fafcfb}
.checkout-progress li{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);line-height:1.6}
.checkout-progress li>span{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;background:#eaf0ec;border-radius:50%;font-weight:600}
.checkout-progress li[aria-current=step]{color:var(--green);font-weight:600}.checkout-progress li[aria-current=step]>span{background:var(--green);color:#fff}.checkout-progress li[data-complete=true]>span{background:#dceee3;color:var(--green)}
.checkout-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 28px 28px}.checkout-modal-status:empty{display:none}.checkout-modal-status:not(:empty){padding:12px 28px;margin:0;color:#92452d;background:#fff3e6;font-size:13px}
.checkout-modal .billing-gate{margin:12px auto;max-width:650px}.checkout-modal .billing-gate h3{font-size:23px}.checkout-modal .billing-gate a{justify-content:center}
.checkout-modal .billing-grid{grid-template-columns:minmax(0,1fr);gap:20px}.checkout-modal .card{padding:22px;border-radius:16px}.checkout-modal .billing-purchase{margin-top:0}
.checkout-modal .billing-credit-balance,.checkout-modal .checkout-kind-field,.checkout-modal #billing-plan-field,.checkout-modal[data-fixed-item=true] #billing-addon-field,.checkout-modal[data-fixed-item=true] #billing-sku-addon-field{display:none!important}
.checkout-shop-step{max-width:650px;margin:0 auto;padding:18px 0}.checkout-shop-step h3{font-size:24px;margin-top:6px}.checkout-selected-item{padding:16px 18px;border:1px solid #cee1d5;background:#f1f8f3;border-radius:12px;font-size:17px;font-weight:600;color:var(--green);margin-top:20px}
.checkout-step-actions,.checkout-review-heading,.checkout-result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px}.checkout-step-actions>button{min-width:190px}.checkout-review-heading{margin:0 0 18px}.checkout-review-heading .hint{font-size:13px}.checkout-result-actions{justify-content:flex-start}.checkout-result-actions a{justify-content:center;border-radius:10px}
.checkout-modal #checkout-poll-status{margin-top:16px;font-size:12px}.checkout-modal .billing-quote{position:static}.checkout-modal #purchase-title,.checkout-modal #quote-title{font-size:21px}.checkout-modal .billing-payment-choice{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.checkout-modal #checkout-coupon-success{max-width:650px;margin:auto}.checkout-modal #checkout-coupon-success p{margin:14px 0 22px;line-height:1.9}
.checkout-modal :is(input,select,textarea,button,a):focus-visible{outline:3px solid #8bc9ae;outline-offset:3px}.checkout-modal :is(h2,h3,p,a,span){overflow-wrap:anywhere}.checkout-modal [hidden]{display:none!important}
@media(max-width:800px){.checkout-modal .billing-grid{grid-template-columns:minmax(0,1fr)}.checkout-modal .billing-quote{position:static}.checkout-modal .billing-payment-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.checkout-modal{width:calc(100vw - 24px);height:fit-content;min-height:0;max-height:calc(100dvh - 24px);border-radius:16px}.checkout-modal-header{padding:18px 16px 14px}.checkout-modal-header h2{font-size:21px}.checkout-modal-header .hint{font-size:11px}.checkout-modal-body{padding:18px 14px 28px}.checkout-progress{padding:14px;gap:6px}.checkout-progress li{font-size:10px;align-items:flex-start;gap:6px}.checkout-progress li>span{width:24px;height:24px;flex-basis:24px}.checkout-modal .card{padding:18px 15px}.checkout-modal .billing-fields,.checkout-modal .billing-payment-choice{grid-template-columns:minmax(0,1fr)}.checkout-step-actions{flex-direction:column;align-items:stretch}.checkout-step-actions>:is(button,a){width:100%;justify-content:center}.checkout-result-actions{align-items:stretch;flex-direction:column}.checkout-result-actions>a{width:100%}.checkout-review-heading{align-items:flex-start}.checkout-modal .billing-coupon{padding-top:18px}.checkout-modal .billing-section-head{align-items:flex-start}.checkout-modal .billing-qr img{width:min(100%,300px)}}
@media(prefers-reduced-motion:reduce){.checkout-modal,.checkout-modal *{scroll-behavior:auto;transition:none!important}}

.checkout-modal[data-session-checking=true] .checkout-modal-body{visibility:hidden;pointer-events:none}
.billing-upgrade-summary{border:1px solid #c9ddcf;background:#f1f8f3;padding:18px;border-radius:12px;margin:18px 0}.billing-upgrade-summary h3{font-size:17px;margin-bottom:10px}.billing-upgrade-summary p{font-size:12px;line-height:1.9;margin-top:8px}
