/* Reference homepage palette, typography and pricing cards. */
.checkout-page { padding-bottom: 0; }
.checkout-page .topbar { background: var(--urgency); }
.checkout-page nav { padding: 18px 0; }
.checkout-page .brand { font-weight: 900; }
.checkout-page nav > .muted { display: none; }
.checkout-page nav > a:last-child { font-size: 14px; font-weight: 700; }
.checkout-page .checkout-main {
    background: linear-gradient(180deg, #fff 0%, #f1f8f4 360px, #fff 100%);
    padding: 20px 0 64px;
}
.checkout-page .checkout-intro { background: none; padding: 14px 0 36px; }
.checkout-page .checkout-intro h1 { font-size: clamp(30px, 5vw, 46px); font-weight: 900; margin-bottom: 18px; }
.checkout-page .checkout-intro .sub { max-width: 610px; margin-bottom: 20px; }
.checkout-page .trust-row { gap: 10px 22px; margin-top: 0; font-size: 13px; }
.checkout-page .checkout-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; }
.checkout-page .checkout-details { padding: 0; border: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 40px rgba(0,0,0,.12); }
.checkout-card-head { background: var(--dark); color: #fff; padding: 14px; font-size: 15px; font-weight: 800; letter-spacing: 1px; text-align: center; text-transform: uppercase; }
.checkout-card-body { padding: 28px; }
.checkout-card-body h2 { font-size: 21px; font-weight: 900; }
.checkout-page .step-number { color: var(--brand); margin-right: 6px; font-weight: 900; }
.checkout-page label { font-size: 15px; font-weight: 800; }
.checkout-page input[type=email] { border: 1px solid #cbd5e1; border-radius: 10px; padding: 15px 14px; min-width: 0; }
.checkout-page input[type=email]:focus { border-color: var(--cta); }
.checkout-page .review { border: 2px dashed var(--brand); background: #f1f8f4; border-radius: 14px; margin: 24px 0; padding: 18px; }
.checkout-page .review h3 { font-size: 17px; font-weight: 900; }
.checkout-page .review-email-label { color: #475569; font-size: 13px; margin-top: 16px; }
.checkout-page #review-email { display: block; font-size: 15px; color: var(--dark); overflow-wrap: anywhere; }
.checkout-page #edit-email { display: inline-block; font-size: 13px; font-weight: 700; margin: 4px 0 14px; }
.checkout-page .review-plan { display: grid; gap: 3px; padding-top: 12px; border-top: 1px solid #bbf7d0; font-size: 14px; }
.checkout-page .review-plan strong { color: var(--dark); font-size: 20px; }
.checkout-page .check { font-weight: 400; font-size: 13px; }
.checkout-page .check input { accent-color: var(--brand); flex-shrink: 0; }
.checkout-page .full { font-size: 18px; font-weight: 800; padding: 20px 12px; }
.checkout-page .payment-note { text-align: center; font-size: 13px; margin-top: 14px; }
.checkout-page .price-card { max-width: none; width: 100%; }
.checkout-page .price-card .body { padding: 28px 24px; }
.checkout-page .price-card .price { font-size: clamp(42px, 5vw, 56px); line-height: 1.25; margin: 12px 0 8px; }
.checkout-page .price-card .price small { display: inline-block; font-size: 16px; }
.membership-tag { display: inline-block; background: #fef3c7; color: #92400e; padding: 5px 12px; border-radius: 99px; font-size: 11px; font-weight: 800; letter-spacing: .4px; }
.renewal-note { color: #64748b; font-size: 14px; }
.checkout-page .price-card ul { margin: 22px 0 10px; }
.checkout-page .price-card ul li { font-size: 14px; padding-left: 24px; }
.checkout-page .summary-row { border-bottom: none; font-size: 15px; color: var(--dark); }
.checkout-page .summary-row b { color: var(--cta); font-size: 19px; }
.checkout-next { margin-top: 20px; border-left: 5px solid var(--brand); border-radius: 12px; background: #fff; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.checkout-next h3 { font-size: 18px; margin-bottom: 10px; }
.checkout-next p { font-size: 14px; }
.checkout-next .muted { font-size: 12px; margin-top: 12px; }
.checkout-footnote { margin: 18px 4px 0; color: #64748b; font-size: 12px; }
.checkout-page .subscription-note { background: #fef2f2; border-color: #fecaca; color: #991b1b; font-size: 13px; margin-bottom: 0; }
.checkout-page footer a { color: #cbd5e1; }
@media (max-width: 650px) {
    .checkout-page .checkout-grid { grid-template-columns: minmax(0, 1fr); }
    .checkout-page .checkout-intro { padding-top: 8px; padding-bottom: 28px; }
    .checkout-page .checkout-intro .sub { font-size: 17px; }
    .checkout-page .checkout-main { padding-top: 12px; }
    .checkout-page .topbar { font-size: 12px; }
    .checkout-card-body { padding: 24px 20px; }
    .checkout-page .brand { font-size: 17px; }
    .checkout-page nav { gap: 8px; }
    .checkout-page nav > a:last-child { font-size: 12px; }
}

/* Express wallets and secure card form share the homepage palette. */
.payment-box {margin-top:28px;padding-top:24px;border-top:1px solid #dce5df}
.payment-box h3 {margin-bottom:20px}.wallet-preview {display:flex;gap:12px;flex-wrap:wrap}
.wallet {flex:1;min-width:120px;border:0;border-radius:30px;height:52px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;background:#000;color:#fff;gap:6px;cursor:pointer}.wallet-help{text-align:center;margin-top:8px}
.wallet.paypal {background:#ffc439;color:#003087;font-style:italic}.wallet.google b {color:#4285f4}
.payment-divider {display:flex;align-items:center;gap:14px;margin:24px 0;color:#64736c;font-size:11px;font-weight:700;letter-spacing:.5px}
.payment-divider:before,.payment-divider:after {content:'';height:1px;flex:1;background:#cbd7d0}
.card-preview {color:#819089}.card-preview>div {background:#fff;border:1px solid #b9c8c0;border-radius:10px;padding:15px 16px;margin-bottom:14px}.card-preview span {float:right}
#pay-card {margin-top:20px}#payment-error {margin-top:16px}#express-payment {margin-top:20px}
.payment-box [hidden] {display:none!important}
