.checkout-page { padding: 24px 0 110px; background: linear-gradient(180deg,#f8fbfa 0%,#fff 45%); }
.checkout-topline { display:flex; justify-content:space-between; gap:20px; color:#5e6b7d; font-size:.84rem; font-weight:680; }
.checkout-topline a { color:#185cff; }
.checkout-topline a:hover,.checkout-page a:not(.button):hover { text-decoration:underline; }
.checkout-intro { padding:56px 0 42px; }
.checkout-intro .eyebrow { margin-bottom:12px; }
.checkout-intro h1 { max-width:940px; margin:0 0 18px; font-size:clamp(2.75rem,5.2vw,5rem); }
.checkout-intro>p { max-width:710px; margin:0; font-size:1.05rem; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:30px; align-items:start; }
.checkout-main { min-width:0; }
.checkout-panel { margin-bottom:20px; padding:30px; border:1px solid #dde6e5; border-radius:22px; background:#fff; box-shadow:0 14px 40px rgba(8,12,21,.04); }
.checkout-step { display:flex; align-items:flex-start; gap:18px; margin-bottom:26px; }
.checkout-step>span { display:grid; flex:none; place-items:center; width:38px; height:38px; border-radius:12px; background:#e8fbf1; color:#087542; font-weight:800; font-size:.83rem; }
.checkout-step h2 { margin:0 0 4px; font-size:1.5rem; }
.checkout-step p { margin:0; font-size:.9rem; }
.checkout-plan-options { display:grid; gap:10px; }
.checkout-plan-option { display:flex; align-items:center; gap:14px; min-height:84px; padding:14px 18px; border:1.5px solid #dce5e8; border-radius:14px; cursor:pointer; transition:border-color .15s,background .15s,box-shadow .15s; }
.checkout-plan-option:hover { border-color:#809d92; }
.checkout-plan-option.is-selected { border-color:#079e50; background:#f2fff8; box-shadow:0 0 0 3px rgba(2,189,94,.08); }
.checkout-plan-option input { flex:none; width:18px; height:18px; margin:0; accent-color:#02a650; }
.checkout-plan-copy { display:grid; min-width:0; }
.checkout-plan-copy strong { font-size:.98rem; }
.checkout-plan-copy small { color:#617080; font-size:.78rem; }
.checkout-plan-price { display:grid; flex:none; margin-left:auto; text-align:right; }
.checkout-plan-price strong { font-size:1.12rem; white-space:nowrap; }
.checkout-plan-price small { color:#617080; font-size:.75rem; }
.checkout-period { margin:18px 0 0; color:#687789; font-size:.82rem; }
.checkout-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.checkout-fields label { display:block; color:#253343; font-size:.84rem; font-weight:740; }
.checkout-fields input,.checkout-fields select { display:block; width:100%; height:48px; margin-top:7px; padding:0 13px; border:1px solid #ccd7db; border-radius:10px; background:#fff; color:#080c15; font-size:.95rem; outline:none; }
.checkout-fields input:focus,.checkout-fields select:focus { border-color:#185cff; box-shadow:0 0 0 3px rgba(24,92,255,.12); }
.checkout-fields label>small { display:block; margin-top:5px; color:#687789; font-weight:400; }
.checkout-field-wide { grid-column:1/-1; }
.checkout-optional { color:#8996a3; font-weight:500; }
.checkout-existing { margin:20px 0 0; font-size:.85rem; }
.checkout-existing a,.checkout-terms a,.checkout-help a { color:#185cff; font-weight:700; }
.checkout-payment-method { display:flex; align-items:center; gap:16px; padding:18px; border:1.5px solid #dce5e8; border-radius:14px; }
.checkout-payment-method>div { display:grid; }
.checkout-payment-method strong { font-size:.95rem; }
.checkout-payment-method small { color:#687789; font-size:.78rem; }
.checkout-payment-method>span:last-child { margin-left:auto; color:#02994d; font-weight:900; }
.checkout-payment-icon { display:grid; flex:none; place-items:center; width:40px; height:40px; border-radius:10px; background:#eef2ff; color:#185cff; font-size:1.4rem; }
.checkout-pending { margin-top:20px; padding:16px 18px; border:1px solid #f1d8aa; border-radius:12px; background:#fff9ee; }
.checkout-pending strong { color:#6b4c15; }
.checkout-pending p { margin:4px 0 0; color:#795f31; font-size:.85rem; }
.checkout-terms { margin:18px 0; font-size:.8rem; }
.checkout-submit:disabled { cursor:not-allowed; opacity:.58; box-shadow:none; }
.checkout-submit:disabled:hover { transform:none; }
.checkout-safe { margin:12px 0 0; text-align:center; font-size:.78rem; }
.checkout-terms input[type=checkbox] { width:18px; height:18px; margin:0 7px 0 0; vertical-align:middle; accent-color:#02a650; }
.checkout-payment-frame { display:block; width:100%; min-height:550px; border:0; background:#fff; }
.checkout-summary { position:sticky; top:96px; }
.checkout-summary-card { padding:28px; border:1px solid #dbe5e5; border-radius:20px; background:#fff; box-shadow:0 18px 50px rgba(8,12,21,.08); }
.checkout-summary-card .eyebrow { margin-bottom:13px; }
.checkout-summary-card h2 { margin:0 0 8px; font-size:1.65rem; }
.checkout-summary-card>p { font-size:.84rem; }
.checkout-summary-cycle,.checkout-summary-line,.checkout-summary-total { display:flex; justify-content:space-between; gap:14px; padding:12px 0; font-size:.88rem; }
.checkout-summary-cycle { padding:18px 0; border-top:1px solid #e3e9e9; border-bottom:1px solid #e3e9e9; }
.checkout-summary-line { padding:7px 0; color:#5e6b7d; }
.checkout-summary-line strong { color:#263443; }
.checkout-summary-total { align-items:baseline; margin-top:12px; padding:16px 0 10px; border-top:1px solid #e3e9e9; font-weight:750; }
.checkout-summary-total strong { color:#080c15; font-size:1.55rem; white-space:nowrap; }
.checkout-summary-trust { display:grid; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid #e3e9e9; color:#28774d; font-size:.79rem; font-weight:690; }
.checkout-help { padding:10px 6px; font-size:.83rem; }
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;grid-row:1}.checkout-summary-card{padding:24px}.checkout-intro{padding:40px 0 30px}}
@media(max-width:600px){.checkout-page{padding-bottom:60px}.checkout-topline span{display:none}.checkout-panel{padding:21px 18px}.checkout-step{gap:11px}.checkout-step h2{font-size:1.3rem}.checkout-fields{grid-template-columns:1fr}.checkout-field-wide{grid-column:auto}.checkout-plan-option{flex-wrap:wrap;gap:10px}.checkout-plan-copy{width:calc(100% - 35px)}.checkout-plan-price{width:100%;margin:0 0 0 28px;text-align:left}.checkout-intro h1{font-size:2.5rem}}
