.route-cart .checkout-hero { padding-top: 46px; padding-bottom: 24px; }
.route-cart .checkout-hero h1 { font-size: clamp(30px,4vw,48px); }
.route-cart .checkout-layout { align-items: start; grid-template-columns: minmax(0,1fr) minmax(340px,420px); gap: 28px; }
.route-cart .order-summary { padding: 28px; background: #17191e; border: 1px solid #30333b; border-radius: 14px; }
.route-cart .cart-row { background: #17191e; border: 1px solid #30333b; border-radius: 12px; }
.cart-checkout { display: grid; gap: 18px; margin-top: 22px; }
.cart-checkout__email label { display: block; font-size: 15px; font-weight: 650; margin-bottom: 9px; }
.cart-checkout__email input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #414650; border-radius: 8px; background: #101216; color: #f5f6f8; font: inherit; }
.cart-checkout__email p, .cart-checkout__note { color: #b7beca; font-size: 13px; line-height: 1.6; margin: 9px 0 0; }
.cart-checkout__signin a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cart-checkout__terms { display: flex; gap: 10px; align-items: flex-start; color: #c7ccd5; font-size: 13px; line-height: 1.6; cursor: pointer; }
.cart-checkout__terms input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: #ed293b; }
.cart-checkout__terms a { color: #f4f5f7; text-decoration: underline; }
.cart-checkout__payments { display: grid; gap: 10px; }
.cart-pay { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 66px; padding: 13px 16px; border-radius: 9px; border: 1px solid #414650; background: #252832; color: #fff; text-align: left; cursor: pointer; transition: background .15s; }
.cart-pay--card { background: #e6283a; border-color: #e6283a; }
.cart-pay--card:hover { background: #fa3446; }
.cart-pay--crypto:hover { background: #343946; }
.cart-pay > span { flex: 1; }
.cart-pay strong { display: block; font-size: 16px; }
.cart-pay small { display: block; color: #e2e5eb; font-size: 12px; margin-top: 3px; }
.cart-pay .payment-symbol, .cart-pay .payment-coin-svg { width: 30px; height: 26px; flex: none; }
.cart-pay:disabled { opacity: .6; cursor: wait; }
.cart-checkout__status:empty { display: none; }
.cart-checkout__status { margin: 0; color: #e1e5ee; font-size: 14px; }
.cart-checkout__account { font-size: 14px; color: #c7ccd5; margin: 0; }
.cart-checkout__captcha { position: absolute; width: 0; height: 0; }
/* Only our checkout badge: keep verification/challenges active and disclose
   Google branding visibly, per the reCAPTCHA FAQ. Do not hide the iframe. */
.cart-checkout__captcha .grecaptcha-badge { visibility: hidden; }
.cart-checkout__captcha-disclosure { font-size: 11px; color: #aeb5c1; line-height: 1.6; margin: 0; order: 10; }
.cart-checkout__captcha-disclosure a { color: #d4d9e2; text-decoration: underline; text-underline-offset: 2px; }
.cart-checkout :focus-visible { outline: 2px solid #a5c9ff; outline-offset: 4px; }
@media (max-width: 840px) {
    .route-cart .checkout-layout { grid-template-columns: 1fr; }
    .route-cart .checkout-hero { padding-top: 28px; }
    .route-cart .order-summary { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { .cart-pay { transition: none; } }
