/* Checkout and account screens share the approved purple/peach design. */
.access-preview [hidden]{display:none!important}
.access-backdrop{display:flow-root;min-height:75vh;background:radial-gradient(ellipse at 10% 10%,#f9e2cd70,transparent 58%),radial-gradient(ellipse at 92% 22%,#ded6fa80,transparent 62%)}
.access-container{width:min(980px,calc(100% - 64px));margin:auto;padding:28px 0 70px}
.access-heading{text-align:center;margin:28px auto 24px}
.access-heading h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.05em;outline:none}
.access-heading p{margin-top:14px;font-size:16px;color:var(--ink)}
.access-steps{display:flex;justify-content:center;gap:30px;list-style:none;padding:0;margin:26px 0;color:var(--muted);font-size:13px}
.access-steps li{display:flex;align-items:center;gap:8px;margin:0}
.access-steps span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--lavender);font-weight:650}
.access-steps [aria-current="step"]{color:var(--purple);font-weight:650}
.access-steps [aria-current="step"] span{background:#5545ed;color:white}
.access-preview-note{text-align:center;font-size:11px;line-height:1.7;color:var(--muted);margin:0 auto 25px;max-width:580px}
.payment-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;align-items:start}
.access-card{background:white;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 12px 40px #5545ed08;min-width:0}
.access-card h2{font-size:26px;letter-spacing:-.035em}
.access-card p{color:var(--ink)}
.access-card-intro{margin:12px 0 24px;font-size:14px;line-height:1.75}
.access-card fieldset{border:0;padding:0;margin:0;min-width:0}
.access-card label{font-size:13px;text-align:left;margin:20px 0 8px}
.access-card input{font-size:15px;min-height:49px}
.access-card .access-hint{font-size:11px;line-height:1.7;margin:9px 0 0;color:var(--muted)}
.access-card .btn.full{margin-top:25px}
.centered{text-align:center}
.sample-payment{border:1px solid var(--line);border-radius:14px;margin-top:28px;padding:18px;background:var(--paper)}
.sample-payment>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.sample-payment>div>span{font-size:10px;color:var(--muted)}
.sample-payment>p{font-size:22px;letter-spacing:.08em;margin:18px 0 8px}
.sample-payment small{font-size:10px;color:var(--muted)}
.payment-summary{background:linear-gradient(145deg,#f2eefe,#faf8ff);border-color:#ddd3fb}
.access-eyebrow{display:block;font-size:10px;font-weight:650;letter-spacing:.1em;color:var(--purple);margin:0 0 18px}
.payment-summary>p{font-size:13px;line-height:1.8;margin:16px 0}
.payment-summary dl{font-size:13px;margin:26px 0}
.payment-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px}
.payment-summary dt{color:var(--muted)}
.payment-summary dd{margin:0;font-weight:650;text-align:right}
.payment-due{border-top:1px solid var(--line);padding-top:22px}
.payment-due dd{font-size:42px;letter-spacing:-.045em}
.access-next{border-top:1px solid var(--line);padding-top:22px;margin-top:24px;text-align:left}
.access-next strong{font-size:14px}
.access-next p{font-size:13px;line-height:1.8;margin-top:9px}
.account-form-card{max-width:500px;margin:auto}
#account-screen>h2,#account-screen>.access-card-intro{text-align:center}
.access-card .access-selection{padding:12px 16px;border-radius:12px;background:var(--lavender);color:var(--purple);font-size:12px;font-weight:600;text-align:center;margin-bottom:24px}
.access-card .access-providers{display:grid;gap:12px}
.access-provider{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:12px 38px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.access-provider:hover{background:var(--lavender);border-color:var(--purple)}
.access-provider-mark{position:absolute;left:18px;display:grid;place-items:center;width:22px;font-size:21px}
.google-mark{font-family:Arial,sans-serif;font-weight:750;color:#4285f4}
.access-divider{display:flex;align-items:center;gap:16px;margin:24px 0 4px;color:var(--muted);font-size:11px}
.access-divider:before,.access-divider:after{content:'';height:1px;flex:1;background:var(--line)}
.checkout-identity{display:flex;align-items:center;gap:12px;padding:15px;background:var(--lavender);border-radius:12px}
.checkout-identity>div{min-width:0;flex:1}
.checkout-identity strong{display:block;font-size:13px;overflow-wrap:anywhere}
.checkout-identity p{font-size:11px;margin-top:4px}
.access-account-icon{color:var(--purple);font-size:20px}
.checkout-identity .access-text-button{padding:6px 0;margin:0;flex-shrink:0}
.access-state-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 24px;border-radius:18px;background:var(--lavender);color:var(--purple);font-size:30px;font-weight:600}
.access-state-icon.success{color:var(--green);background:var(--mint)}
#verification-email{overflow-wrap:anywhere}
#verification-code{text-align:center;font-size:25px;letter-spacing:.3em}
.access-field-error{font-size:12px;min-height:19px;margin-top:8px;color:#aa243c!important}
.access-text-button{display:inline-block;margin:20px 0 0;border:0;background:transparent;color:var(--purple);font-size:12px;font-weight:600;padding:8px;cursor:pointer}
.access-provider:focus-visible,.access-text-button:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.access-error p{margin:18px 0}
.access-error .text-link{margin-left:20px}
body.access-preview:has(#preview-dark-mode:checked) .access-backdrop{background:radial-gradient(ellipse at 10% 10%,#a976431a,transparent 58%),radial-gradient(ellipse at 92% 22%,#9670da26,transparent 62%)}
body.access-preview:has(#preview-dark-mode:checked) .access-card{background:#211e2b}
body.access-preview:has(#preview-dark-mode:checked) .access-provider{background:#211e2b;color:var(--ink)}
body.access-preview:has(#preview-dark-mode:checked) .access-provider:hover{background:var(--lavender)}
body.access-preview:has(#preview-dark-mode:checked) .payment-summary{background:linear-gradient(145deg,#302642,#221c30);border-color:#49395f}
body.access-preview:has(#preview-dark-mode:checked) .access-field-error{color:#ff9aa8!important}
@media(max-width:760px){.access-container{width:calc(100% - 40px);padding-top:20px}.payment-grid{grid-template-columns:1fr}.access-card{padding:24px}.access-steps{gap:15px;font-size:11px}.access-steps li{gap:6px}.access-steps span{width:23px;height:23px}.access-heading p{font-size:14px}.access-card h2{font-size:24px}.payment-summary{order:-1}.payment-summary .access-next{display:none}.payment-summary dl{margin-bottom:12px}.payment-summary>p{margin-bottom:0}}
@media(max-width:380px){.access-card{padding:20px}.access-container{width:calc(100% - 32px)}.access-steps{gap:10px;font-size:10px}.payment-due dd{font-size:36px}.sample-payment>p{font-size:19px}}
