.checkout-page { min-height:100vh; background:#f7f7f7; color:#262626; }
.checkout-shell { max-width:980px; margin:0 auto; padding:26px 20px 70px; }
.checkout-back { color:#777; font-size:13px; }
.checkout-heading { padding:32px 0 25px; }
.checkout-heading h1 { margin:10px 0 7px; font-size:30px; }
.checkout-heading p { color:#777; font-size:14px; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr); gap:18px; align-items:start; }
.checkout-product,.checkout-card { background:#fff; border:1px solid #e8e8e8; border-radius:4px; }
.checkout-product { min-height:260px; padding:28px; position:relative; overflow:hidden; }
.checkout-product:after { content:'✦'; position:absolute; right:24px; bottom:-15px; color:#ff3b3026; font-size:130px; }
.checkout-product-mark { width:40px; height:40px; display:grid; place-items:center; background:#fff0ed; color:#ff3b30; border-radius:4px; font-size:20px; margin-bottom:22px; position:relative; z-index:1; }
.checkout-label { color:#ff3b30; background:#fff0ed; padding:4px 7px; font-size:11px; }
.checkout-product h2 { font-size:25px; margin:15px 0 9px; position:relative; z-index:1; }
.checkout-product p { color:#777; line-height:1.8; font-size:14px; max-width:500px; position:relative; z-index:1; }
.checkout-tags { display:flex; gap:6px; margin-top:18px; position:relative; z-index:1; }
.checkout-tags span { color:#777; background:#f6f6f6; padding:5px 8px; font-size:11px; }
.checkout-price { position:absolute; right:28px; top:30px; color:#ff3b30; display:flex; flex-direction:column; align-items:end; z-index:1; }
.checkout-price strong { font-size:34px; line-height:1.1; }
.checkout-price small { font-size:17px; align-self:start; margin-left:-12px; }
.checkout-price span { color:#999; font-size:11px; margin-top:4px; }
.checkout-card { padding:23px; }
.checkout-card p { color:#777; font-size:13px; line-height:1.7; }
.checkout-auth strong,.checkout-paid strong { display:block; font-size:19px; margin-bottom:7px; }
.checkout-primary { display:flex; width:100%; justify-content:center; align-items:center; min-height:44px; margin-top:19px; border:0; border-radius:3px; background:#ff3b30; color:#fff; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; }
.checkout-primary:hover { background:#d92820; }
.checkout-primary:disabled { opacity:.6; cursor:wait; }
.credit-option { display:flex; gap:10px; align-items:flex-start; padding:12px; background:#fff8ed; border:1px solid #ffe2b7; cursor:pointer; }
.credit-option input[type=checkbox],
.credit-option input[type=radio] { width:auto; min-height:0; margin-top:3px; padding:0!important; border:0!important; background:transparent; accent-color:#ff3b30; flex-shrink:0; display:inline-block; }
.credit-option strong,.credit-option small { display:block; }
.credit-option strong { color:#9a5a18; font-size:13px; }
.credit-option small { color:#9b7b5a; font-size:11px; margin-top:4px; }
.checkout-total { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #eee; margin-top:18px; padding-top:17px; color:#777; font-size:13px; }
.checkout-total strong { color:#ff3b30; font-size:27px; }
.checkout-total b { font-weight:700; }
.checkout-note { margin-top:12px; color:#aaa!important; font-size:11px!important; }
.checkout-terms-notice { margin:12px 0 0; padding:10px 12px; background:#fff8f0; border:1px solid #f0dcc4; border-radius:6px; color:#8a5a28; font-size:12px; line-height:1.55; }
.checkout-terms-notice strong { color:#a8253b; font-weight:700; }
.checkout-terms { display:flex; gap:8px; align-items:flex-start; margin-top:12px; font-size:12px; color:#666; line-height:1.5; cursor:pointer; width:100%; }
.checkout-terms input[type=checkbox] { width:auto; min-height:0; margin-top:3px; padding:0!important; border:0!important; border-radius:0!important; background:transparent; accent-color:#ff3b30; flex-shrink:0; display:inline-block; }
.checkout-terms span { flex:1; min-width:0; }
.checkout-terms a { color:#ff3b30; text-decoration:underline; }
.checkout-feedback { min-height:20px; margin-top:9px; color:#d92820!important; font-size:12px!important; }
.checkout-bind { margin-top:8px; }
.checkout-bind strong { display:block; font-size:17px; margin-bottom:8px; }
.checkout-bind .form-label { display:block; margin:12px 0 6px; font-size:12px; color:#666; }
.checkout-input { width:100%; box-sizing:border-box; min-height:40px; padding:8px 10px; border:1px solid #e5e5e5; border-radius:3px; font:inherit; }
.checkout-code-row { display:flex; gap:8px; }
.checkout-code-row .checkout-input { flex:1; }
.checkout-secondary { flex-shrink:0; border:1px solid #ffc9c5; background:#fff; color:#ff3b30; border-radius:3px; padding:0 12px; font:inherit; font-size:13px; cursor:pointer; }
.checkout-secondary:disabled { opacity:.6; cursor:wait; }
.checkout-paid { text-align:center; padding:18px 0 5px; }
.paid-mark { width:46px; height:46px; display:grid; place-items:center; margin:0 auto 15px; border-radius:50%; background:#e9f7ed; color:#2f9d4d; font-size:25px; }
.checkout-assurance { display:flex; gap:22px; justify-content:center; flex-wrap:wrap; color:#777; font-size:12px; padding-top:23px; }
@media (max-width:700px) { .checkout-shell{padding:18px 14px 55px}.checkout-heading{padding:25px 0 18px}.checkout-heading h1{font-size:25px}.checkout-layout{grid-template-columns:1fr}.checkout-product{min-height:235px;padding:22px}.checkout-product h2{font-size:22px;max-width:70%}.checkout-product p{font-size:13px;max-width:75%}.checkout-price{right:22px;top:25px}.checkout-price strong{font-size:27px}.checkout-assurance{justify-content:flex-start;gap:8px 16px;font-size:11px} }
.checkout-resubmit{border:1px solid #ecc6c6;background:#fff5f3;border-radius:10px;padding:20px;margin:0 0 24px;color:#802c32;line-height:1.7}.checkout-resubmit p{margin:8px 0}.checkout-resubmit a{color:#a82535;text-decoration:underline}
