#checkoutGate{display:grid;place-items:center;min-height:100svh;padding:32px 20px;background:radial-gradient(ellipse at 50% 12%,rgba(5,147,237,.09),transparent 65%),var(--bg)}
#checkoutGate .authFrame{display:block;width:min(610px,100%);min-height:0;border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 80px rgba(16,47,74,.08)}
#checkoutGate .authPanel{display:block;padding:36px 44px;background:var(--surface)}
#checkoutGate .authCard{width:100%;max-width:none;padding:0}
#checkoutGate .authBrand{display:flex;margin:0 0 20px}
#checkoutGate h1{font-size:clamp(26px,3vw,34px);line-height:1.15}
#checkoutGate .authCard>p{max-width:none;margin-bottom:20px}
.checkoutSteps{display:flex;align-items:center;gap:20px;list-style:none;padding:0;margin:0 0 24px;color:var(--muted,#667080);font-size:12px}
.checkoutSteps li{display:flex;align-items:center;gap:6px}.checkoutSteps span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:rgba(5,147,237,.07)}
.checkoutSteps [aria-current=step]{color:#0593ed;font-weight:600}
.checkoutBenefits{list-style:none;padding:0;margin:0 0 22px;font-size:14px;line-height:1.6}.checkoutBenefits li{display:flex;gap:10px;margin:7px 0}.checkoutBenefits span{color:#0593ed}
.checkoutPrice{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(5,147,237,.045);margin:20px 0}.checkoutPrice>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.checkoutPrice strong{font-size:28px}.checkoutPrice span,.checkoutPrice small{font-size:13px}.checkoutPrice small{display:block;color:var(--muted);margin-top:6px}
#checkoutGate .membershipTerms{font-size:12px!important;line-height:1.55;margin:14px 0 18px}
.checkoutTrust{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.55;color:var(--muted,#667080);margin:16px 0}.checkoutTrust svg{width:19px;height:19px;flex-shrink:0;color:#0593ed}
.checkoutNext{font-size:13px;line-height:1.6;color:var(--muted,#667080)}
.checkoutSupport{display:flex;justify-content:center;align-items:start;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:var(--muted,#667080)}.checkoutSupport a{color:inherit;text-decoration:underline;text-underline-offset:3px}.checkoutSupport details{max-width:100%}.checkoutSupport summary{cursor:pointer}.checkoutSupport p{font-size:12px;line-height:1.55}
.checkoutPage{color-scheme:light;color:#20242b;background:radial-gradient(ellipse at 50% 10%,#eaf6ff,transparent 65%),#fafbfc;padding:32px 20px;min-height:100svh;--muted:#667080;--line:#e4eaf0}
.checkoutPage .card{max-width:610px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:36px 44px;box-shadow:0 24px 80px rgba(16,47,74,.08)}
.checkoutPage .checkoutLogo{margin-bottom:20px}.checkoutLogo img{display:block;width:172px;height:auto;animation:checkoutFloat 5s ease-in-out infinite}
.checkoutPage .badge{background:#eef8ff;color:#0786d4;font-size:11px;padding:7px 10px;margin-bottom:20px}
.checkoutPage h1{font-size:30px;line-height:1.2;margin:0 0 14px}.checkoutPage p{color:var(--muted)}
.checkoutPage .notice{background:#f5faff;border:1px solid #dcecf8;padding:18px;line-height:1.6;font-size:14px}
.checkoutPage label{display:block;font-size:14px;font-weight:500;margin:16px 0 8px}.checkoutPage input[type=email]{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#20242b;font:inherit}
.checkoutPage .confirmation{display:flex;font-size:13px}.checkoutPage button{background:#0593ed;color:white;min-height:48px;font-weight:600}.checkoutPage button:focus-visible,.checkoutPage a:focus-visible,.checkoutPage input:focus-visible{outline:3px solid #0593ed;outline-offset:3px}.checkoutPage .back{color:#0786d4;font-size:13px;text-align:center}.checkoutPage .membershipTerms{font-size:12px;line-height:1.55}.checkoutPage .success{color:#147248}.checkoutPage #check-status{background:#eef8ff;color:#0786d4;border:1px solid #cce7fb}
.paymentWait{text-align:center;padding:20px 8px}.paymentWait[hidden]{display:none}.paymentOrbit{position:relative;width:210px;height:95px;margin:8px auto 16px}.paymentOrbit img{width:150px;position:absolute;left:30px;top:28px;animation:checkoutFloat 4s ease-in-out infinite}.orbitIcon{position:absolute;display:grid;place-items:center;width:32px;height:32px;border:1px solid #cce7fb;border-radius:10px;background:#eef8ff;color:#0593ed;font-size:20px;animation:checkoutFloat 4s ease-in-out infinite}.orbitWallet{left:0;top:42px}.orbitChart{right:6px;top:0;animation-delay:-1s}.orbitShield{right:0;bottom:0;animation-delay:-2s}.paymentThemes{display:flex;justify-content:center;gap:20px;font-size:11px;color:#667080}.checkoutPage #status{font-size:14px;line-height:1.6}
@keyframes checkoutFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:520px){#checkoutGate{padding:20px 12px}#checkoutGate .authPanel,.checkoutPage .card{padding:26px 22px}#checkoutGate .authFrame,.checkoutPage .card{border-radius:24px}.checkoutPage{padding:20px 12px}.checkoutPrice>div{flex-wrap:wrap}.checkoutSteps{gap:14px}.checkoutPage h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){.checkoutLogo img,.paymentOrbit img,.orbitIcon{animation:none}}

.checkoutPage [hidden]{display:none!important}.orbitIcon svg{width:20px;height:20px}

#checkoutGate input[type="date"]{width:100%;min-height:52px;box-sizing:border-box}#checkoutGate .checkoutCodeActions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:12px}#checkoutGate #checkoutCode{letter-spacing:.35em;font-size:22px}#checkoutGate .authPrimary{min-height:52px}

#checkoutGate [hidden]{display:none!important}

#checkoutGate #checkoutMsg{color:#087bc4;background:#edf7ff;border-color:#cce7fb}#checkoutGate #checkoutMsg.checkoutError{color:#a62f3b;background:#fff3f4;border-color:#efcbd0}#checkoutGate .checkoutCodeActions .authLink{margin:0;padding:8px;width:auto;min-height:44px;font-size:12px}#checkoutGate .checkoutCodeActions{gap:4px;margin-top:8px}

/* Payphone's native card controls: scope visual overrides to the embedded box. */
.checkoutPage #pp-button .ppb-btn-pay{background-color:#087bc4!important;border-color:#087bc4!important;color:#fff!important;font-family:var(--font-ui),Arial,sans-serif}
.checkoutPage #pp-button .ppb-btn-pay:hover:not(:disabled){background-color:#0669a9!important}
.checkoutPage #pp-button .ppb-text-amount,.checkoutPage #pp-button .ppb-text-amount-h4{color:#087bc4!important}
.checkoutPage #pp-button .payment-box{max-width:100%;min-width:0;border:1px solid #e4eaf0;border-radius:16px}
.checkoutPage #pp-button .ppb-form-control:focus{border-color:#0593ed;box-shadow:0 0 0 3px rgba(5,147,237,.15)}

.checkoutAdultDeclaration{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5;font-size:13px;margin:14px 0!important}.checkoutAdultDeclaration input[type=checkbox]{flex:0 0 20px;width:20px!important;height:20px!important;min-height:20px!important;margin:0;accent-color:#087bc4}.checkoutAdultDeclaration span{min-width:0}

.legalPrivacyNote,.legalEntryLinks{font-size:12px;line-height:1.6;color:var(--muted,#626d7a)}.legalPrivacyNote a,.legalAcceptance a,.legalEntryLinks a{color:#087bc4;text-underline-offset:3px}.legalAlternatives{display:grid;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border,#e1e7ef)}.legalAlternatives a{font-size:13px}.legalAcceptance{align-items:flex-start}.legalCardLinks{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.legalStatus{font-size:12px;line-height:1.6}.legalPrivacyNote a:focus-visible,.legalAcceptance a:focus-visible{outline:2px solid #0593ed;outline-offset:3px}

/* The account legal gate has one panel, so it must not inherit the two-column login frame. */
#legalGate{padding:32px 20px;min-height:100vh;min-height:100dvh;box-sizing:border-box;display:grid;place-items:center}
#legalGate.hidden{display:none!important}
#legalGate .authFrame{display:block;width:min(610px,100%);min-height:0;margin-inline:auto;border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 80px rgba(16,47,74,.08)}
#legalGate .authPanel{display:block;padding:36px 44px;background:var(--surface)}
#legalGate .authCard{width:100%;max-width:none;margin:0;padding:0}
#legalGate .authCard>p{max-width:none}
#legalGate .authBrand{display:flex;justify-content:flex-start;margin-bottom:24px}
#legalGate .authBrand b{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#legalGate .authPrimary{min-height:52px}
@media(max-width:520px){#legalGate{padding:20px 12px}#legalGate .authFrame{border-radius:24px}#legalGate .authPanel{padding:26px 22px}}

/* Secondary legal actions use Finorve's button and link language. */
#legalGate .authCard>a,#legalGate .legalAlternatives>a{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--teal);font-size:13px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;transition:background .18s ease,border-color .18s ease}
#legalGate .authCard>a{margin-top:12px}
#legalGate .authCard>a:hover,#legalGate .legalAlternatives>a:hover{background:var(--surface2);border-color:var(--teal)}
#legalGate .legalAlternatives{gap:12px;margin-top:24px;padding-top:24px;border-top-color:var(--line)}
#legalGate .legalAlternatives>button{margin:0;min-height:44px}
#legalGate #legalExport{border:1px solid var(--line);line-height:1.5}
#legalGate #legalLogout{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
#legalGate #legalLogout:hover{background:var(--surface2);color:var(--ink)}
#legalGate .authCard>a:focus-visible,#legalGate .legalAlternatives>a:focus-visible,#legalGate .legalAlternatives>button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
@media(prefers-reduced-motion:reduce){#legalGate .authCard>a,#legalGate .legalAlternatives>a{transition:none}}

.legalCardLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.legalCardLinks a,.settingsRow>a.ghost{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--ink);font-size:13px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none}
.legalCardLinks a:hover,.settingsRow>a.ghost:hover{color:var(--teal);border-color:var(--teal)}
.legalCardLinks a:focus-visible,.settingsRow>a.ghost:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.profileLayout{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start}
.profileFormCard .formGrid{align-items:start;gap:24px 20px}
.profileFormCard .field{min-width:0}
.profileFormCard .field>label{display:block;min-height:22px;margin-bottom:8px}
.profileFormCard .field>small{display:block;margin-top:10px;line-height:1.6;color:var(--muted)}
.profileFormCard .profileCountryField{grid-column:1/-1}
.profileFormCard .profileCountryField>label:not(:first-child){margin-top:16px}
.profileFormCard .profileNote{margin-top:24px}
@media(max-width:900px){.profileLayout{grid-template-columns:1fr}}
@media(max-width:600px){.legalCardLinks{grid-template-columns:1fr}.profileFormCard .formGrid{grid-template-columns:1fr;gap:20px}}


/* Clear, touch-friendly declarations; native checkboxes retain keyboard behavior. */
#checkoutGate .checkoutAdultDeclaration{min-height:48px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;font-weight:400;box-sizing:border-box}
#checkoutGate .checkoutAdultDeclaration input[type=checkbox]{appearance:auto;opacity:1;position:static;flex:0 0 24px;width:24px!important;height:24px!important;min-height:24px!important;cursor:pointer;accent-color:#087bc4}
#checkoutGate .checkoutAdultDeclaration:has(input:checked){background:#edf8ff;border-color:#087bc4}
#checkoutGate .checkoutAdultDeclaration:focus-within{outline:2px solid #087bc4;outline-offset:3px}
#checkoutGate #checkoutAgeFields[hidden]{display:none!important}
#checkoutGate #checkoutEmailFields>label{display:block;margin-top:20px}
#checkoutGate .legalPrivacyNote{margin:12px 0 16px;line-height:1.6}
