/* Only the right-hand web checkout panel; the plan summary and app checkout retain their existing styles. */
.checkout-panel { align-self:start; min-width:0; padding:32px; border:1px solid #e7ebf0; border-radius:20px; box-shadow:0 12px 32px rgba(15,23,42,.045); }
.checkout-panel-header { padding-bottom:24px; border-bottom:1px solid #e7ebf0; }
.checkout-panel-header .eyebrow { color:#687488; font-size:11px; letter-spacing:.12em; margin-bottom:10px; }
.checkout-panel-header h1 { font-size:28px; line-height:1.2; letter-spacing:-.6px; margin:0 0 20px; color:#1a1a2e; }
.checkout-plan-summary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; }
.checkout-plan-summary-name { flex:1 1 190px; color:#526071; font-size:14px; line-height:1.65; }
.checkout-plan-summary-price { flex:0 0 auto; color:#1a1a2e; font-size:25px; line-height:1.2; font-weight:800; letter-spacing:-.5px; }
.checkout-price-label { display:block; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#687488; margin-bottom:3px; }
.checkout-panel h2 { color:#1a1a2e; font-size:19px; line-height:1.35; margin:0 0 8px; letter-spacing:-.2px; }
.checkout-panel .checkout-section-copy,.checkout-panel .express-wallet p { color:#687488; font-size:14px; line-height:1.65; margin:0 0 20px; }
.checkout-panel .express-wallet { padding:26px 0 0; margin:0; border:0; min-width:0; }
.checkout-panel .express-wallet--loading { visibility:hidden; height:0; padding:0; margin:0; border:0; overflow:hidden; }
.checkout-panel #express-wallet-buttons { min-width:0; }
.checkout-panel .express-wallet .express-wallet-delivery { font-size:12px; line-height:1.6; margin:14px 0 0; }
.checkout-panel .express-wallet-total { font-size:14px; font-weight:700; color:#1a1a2e; margin:0 0 14px; }
.checkout-panel .checkout-method-divider { display:flex; align-items:center; gap:14px; color:#8490a1; font-size:10px; line-height:1.4; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin:28px 0; text-align:center; }
.checkout-method-divider::before,.checkout-method-divider::after { content:''; flex:1; height:1px; background:#e7ebf0; min-width:12px; }
.checkout-panel .checkout-method-divider[hidden],.checkout-panel [hidden] { display:none !important; }
.checkout-standard { padding-top:26px; }
.checkout-method-divider:not([hidden]) + .checkout-standard { padding-top:0; }
.checkout-panel .verification-providers { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:12px; margin:0 0 22px; }
.checkout-panel .verification-providers .google-button,.checkout-panel .verification-providers .microsoft-button { width:100%; min-width:0; min-height:50px; padding:12px 14px; margin:0; font-size:14px; line-height:1.35; border-color:#dce2e9; border-radius:10px; }
.checkout-panel .google-icon { flex-shrink:0; width:20px; height:20px; }
.checkout-panel .microsoft-icon { flex-shrink:0; }
.checkout-panel .checkout-form label { font-size:13px; font-weight:650; margin-bottom:8px; }
.checkout-panel .checkout-form input[type=email],.checkout-panel .checkout-form input[type=text] { min-height:50px; border:1px solid #dce2e9; border-radius:10px; padding:13px 14px; font-size:16px; }
.checkout-panel .checkout-form button { min-height:50px; padding:13px 16px; border-radius:10px; font-size:14px; line-height:1.5; }
.checkout-panel .secondary-button { min-height:44px; border-radius:9px; }
.checkout-panel .status-box { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.checkout-promotion-footer { margin-top:26px; padding-top:20px; border-top:1px solid #e7ebf0; }
.checkout-wallet-promotion { font-size:13px; color:#364356; }
.checkout-wallet-promotion summary { cursor:pointer; font-weight:650; padding:4px 0; }
.checkout-wallet-promotion p,.checkout-promotion-card-note { margin:8px 0 0; color:#687488; font-size:12px; line-height:1.65; }
.checkout-panel .express-wallet-promotion { display:flex; gap:8px; margin:12px 0; min-width:0; }
.checkout-panel .express-wallet-promotion input { flex:1; min-width:0; width:0; padding:11px 12px; min-height:44px; border:1px solid #dce2e9; border-radius:9px; font:inherit; }
.checkout-panel .express-wallet-promotion button { flex:0 0 auto; min-height:44px; padding:10px 16px; border:0; border-radius:9px; background:#ff6666; color:white; font:inherit; font-weight:700; cursor:pointer; }
.checkout-panel .express-wallet-promotion button:disabled { opacity:.6; cursor:wait; }
.checkout-panel [role=status] { font-size:12px; color:#687488; line-height:1.6; overflow-wrap:anywhere; }
.checkout-panel [role=status]:not(:empty) { margin-top:12px; }
.checkout-reassurance { display:flex; align-items:center; justify-content:center; gap:8px; color:#687488; font-size:12px; line-height:1.6; margin-top:24px; padding-top:20px; border-top:1px solid #e7ebf0; text-align:center; }
.checkout-reassurance svg { flex:0 0 auto; }
@media(max-width:640px) {
 .checkout-panel { padding:24px 20px; border-radius:16px; }
 .checkout-panel-header h1 { font-size:26px; }
 .checkout-plan-summary-name { flex-basis:170px; font-size:13px; }
 .checkout-plan-summary-price { font-size:23px; }
 .checkout-panel .verification-providers { grid-template-columns:1fr; }
 .checkout-panel .checkout-method-divider { font-size:9px; letter-spacing:.06em; gap:10px; }
 .checkout-reassurance { font-size:11px; }
}

/* Compact checkout refinement: align with the simpler stacked-panel layout. */
.checkout-panel { padding:24px; border-radius:12px; box-shadow:0 4px 16px rgba(15,23,42,.025); }
.checkout-panel-header { padding-bottom:20px; }
.checkout-panel-header h1 { font-size:24px; margin-bottom:16px; }
.checkout-plan-summary-price { font-size:21px; }
.checkout-price-label { display:none; }
.checkout-panel h2 { font-size:17px; }
.checkout-panel .express-wallet { padding-top:20px; }
.checkout-panel .express-wallet--loading { padding-top:0; }
.checkout-panel .checkout-section-copy,.checkout-panel .express-wallet p { margin-bottom:12px; line-height:1.5; }
.checkout-panel .express-wallet .express-wallet-delivery { margin-top:8px; }
.checkout-panel .checkout-method-divider { margin:22px 0; font-size:10px; letter-spacing:.03em; font-weight:500; }
.checkout-standard { padding-top:20px; }
.checkout-panel .verification-providers { gap:8px; margin-bottom:14px; }
.checkout-panel .verification-providers .google-button,.checkout-panel .verification-providers .microsoft-button { min-height:46px; border-radius:7px; padding:10px; }
.checkout-panel .checkout-form input[type=email],.checkout-panel .checkout-form input[type=text],.checkout-panel .checkout-form button { border-radius:7px; }
.checkout-promotion-footer { margin-top:20px; padding-top:16px; }
.checkout-reassurance { justify-content:flex-start; text-align:left; margin-top:14px; padding-top:0; border-top:0; }
@media(max-width:640px) { .checkout-panel { padding:20px 16px; } .checkout-panel-header h1 { font-size:24px; } }
