.stripe-payment{margin-top:24px;min-width:0}
.stripe-secure-note{font-size:12px;line-height:1.6;text-align:center;color:var(--muted);margin-top:12px}
body.stripe-modal-open{position:fixed;left:0;right:0;overflow:hidden}
.stripe-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgb(13 9 18 / 72%);backdrop-filter:blur(3px);overscroll-behavior:contain}
.stripe-modal{--ink:#29232e;--muted:#716975;--gold:#655072;--line:#e7e2ea;--accent:#655072;color-scheme:light;color:var(--ink);background:#fff;border-radius:24px;box-shadow:0 24px 100px #0005;width:100%;max-width:470px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;position:relative;padding:26px 26px 22px;font-family:var(--sans);scrollbar-width:thin;scrollbar-color:#d8d0dc transparent}
.stripe-modal:focus{outline:none}
.stripe-modal [hidden]{display:none!important}
.stripe-modal :focus-visible{outline:2px solid #655072;outline-offset:3px}
.stripe-modal-chrome{position:sticky;top:19px;height:0;z-index:2}
.stripe-close{position:absolute;top:-19px;right:-19px;width:44px;height:44px;border:0;background:#fff;color:#827588;font:300 30px/1 system-ui;display:grid;place-items:center;border-radius:50%}
.stripe-close:hover{background:#f6f3f7;color:#29232e}
.stripe-modal-brand{text-align:center;font:400 29px/1 var(--serif);letter-spacing:-1px;color:#655072;margin-bottom:16px}
.stripe-modal-brand span{font:500 8px/1 var(--sans);letter-spacing:2px;vertical-align:middle;margin-left:6px}
.stripe-modal #stripe-modal-title{font:500 29px/1.12 var(--serif);letter-spacing:-.35px;text-align:center;margin:0 18px 25px;color:#29232e}
.stripe-modal-total{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600;gap:16px}
.stripe-modal-total strong{font-size:21px}
.stripe-modal-tax{font-size:11px;text-align:right;margin:0 0 11px;color:#817888}
.stripe-email-row{display:flex;align-items:center;gap:10px;min-width:0;margin:0 0 6px;font-size:14px}
.stripe-email-row label{flex-shrink:0;color:#413747}
.stripe-modal .stripe-email-row input{flex:1;min-width:0;width:0;min-height:44px;padding:9px 10px;border:1px solid #d9d3de;border-radius:7px;background:#fff;color:#413747;font-size:16px;line-height:1.4}
.stripe-modal .stripe-email-row input[readonly]{background:transparent;border-color:transparent;padding-inline:0;text-align:right;font-size:14px;text-overflow:ellipsis}
.stripe-email-row button{width:40px;min-width:40px;height:44px;background:transparent;border:0;color:#817288;display:grid;place-items:center;border-radius:8px;margin-right:-10px}
.stripe-email-row button:hover{background:#f6f3f7}
.stripe-field-error{font-size:12px;color:#a32d3e;margin:0 0 10px}
.stripe-field-error:empty{display:none}
.stripe-reading-note{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;margin:2px 0 12px}
.stripe-reading-note img{width:48px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}
.stripe-reading-note p{font-size:12px;line-height:1.5;color:#716975}
.stripe-reading-note strong{font-weight:600}
.stripe-test-hint,.stripe-loading{font-size:11px;line-height:1.6;color:#817888;margin:0 0 20px}
.stripe-loading{font-size:13px;padding:12px 0;text-align:center}
.stripe-modal-error{border:1px solid #e8bac3;background:#fff2f3;border-radius:8px;color:#a32d3e;padding:12px;font-size:13px;line-height:1.5;margin:12px 0}
.stripe-modal-error:empty{display:none}
#stripe-express-element,#stripe-payment-element,#stripe-billing-element{min-width:0}
.stripe-payment-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#8a808e;font-size:12px;text-align:center}
.stripe-payment-divider::before,.stripe-payment-divider::after{content:"";height:1px;background:var(--line);flex:1}
.stripe-card-toggle{width:100%;min-height:58px;display:flex;align-items:center;gap:12px;border:1px solid #b3a0bd;border-radius:9px;padding:14px 16px;background:#fff;color:#4e3a5c;font-size:15px;text-align:left}
.stripe-card-toggle:hover,.stripe-card-toggle[aria-expanded=true]{background:#faf8fb;border-color:#655072}
.stripe-card-toggle>span:first-of-type{flex:1;color:#413747}
.stripe-card-chevron{font:24px/1 system-ui;transition:transform .15s}
.stripe-card-toggle[aria-expanded=true] .stripe-card-chevron{transform:rotate(180deg)}
#stripe-card-fields{padding-top:18px}
.stripe-card-test{font-size:11px;line-height:1.6;margin-bottom:16px;color:#817888}
.stripe-billing-heading{font:600 15px/1.4 var(--sans);margin:24px 0 12px}
.stripe-payment-terms{margin-top:22px}
.stripe-payment-terms .purchase-consent{margin:0}
.stripe-payment-terms .purchase-disclaimer{font-size:12px;line-height:1.7;font-weight:400;color:#716975;text-align:center}
.stripe-payment-terms .purchase-disclaimer p{display:inline;font:inherit;color:inherit;margin:0}
.stripe-payment-terms .purchase-disclaimer a{font-weight:600}
.stripe-payment-terms a{color:#4e3a5c;text-decoration:underline;text-underline-offset:2px}
.stripe-modal .button{background:#655072;color:#fff;border:1px solid #655072;border-radius:9px;min-height:52px;font-size:14px;font-weight:600;line-height:1.4;transform:none}
.stripe-modal .button:hover{background:#523d5f}
.stripe-confirm-status:empty{display:none}
.stripe-confirm-status{font-size:13px;margin:12px 0 0;text-align:center;color:#655072}
.stripe-modal .stripe-secure-note{font-size:11px;margin-top:16px;color:#817888}
.stripe-secure-note span{font-size:10px}
@media(max-width:520px){.stripe-overlay{padding:8px}.stripe-modal{max-height:calc(100dvh - 16px);padding:24px 18px 20px;border-radius:22px}.stripe-close{right:-11px}.stripe-modal #stripe-modal-title{font-size:27px;margin-bottom:22px}.stripe-modal-brand{margin-bottom:14px}.stripe-modal .stripe-email-row input[readonly]{font-size:13px}}
@media(max-width:350px){.stripe-overlay{padding:5px}.stripe-modal{padding:24px 14px 18px;max-height:calc(100dvh - 10px)}.stripe-modal #stripe-modal-title{font-size:25px;margin-inline:10px}.stripe-email-row{gap:6px}.stripe-reading-note{gap:8px;padding:10px}}
