/* Scoped checkout refinement. No pricing, consent or payment processing rules. */
/* Keep one vertical scroller. Hidden X + auto Y on body trapped touch/wheel
   chaining before the document could reveal consent below the fixed footer. */
.checkout-page{overflow-x:clip;overflow-y:visible;overscroll-behavior-y:auto}
.checkout-web :focus-visible,.checkout-page :focus-visible{outline:3px solid #3D8BD9!important;outline-offset:3px}
.checkout-web input:not([type=checkbox]),.checkout-page input:not([type=checkbox]){min-width:0;font-size:16px}
.checkout-web .row{gap:16px;align-items:baseline;line-height:1.45}
.checkout-web .row>*,.checkout-web #methods,.checkout-web .checkout-summary{min-width:0;overflow-wrap:anywhere}
.checkout-web .row>b,.checkout-web .row>strong{text-align:right}
.checkout-web #promoWrap>div{flex-wrap:wrap}
.checkout-web #promo{flex:1 1 120px!important}
.checkout-web #promoBtn,.checkout-web #promoClear{min-height:44px}
.checkout-web #methods>h3{margin-top:20px!important}
.checkout-web .msg:empty,.checkout-page .msg:empty{min-height:0;margin:0}
.checkout-web .badges{color:#546A7E;font-size:11px;gap:6px}
.checkout-web .card{padding:22px}
.checkout-web #backBtn{max-width:480px;margin-inline:auto!important}
@media(min-width:850px){
 .checkout-web .wrap{max-width:1040px;padding:32px 32px 56px}
 .checkout-web .checkout-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 40px;padding:32px}
 .checkout-web .checkout-summary{align-self:start;position:sticky;top:24px;padding:20px;border:1px solid #DCE8F4;border-radius:18px;background:#F7FAFD}
 .checkout-web #methods>h3{margin-top:0!important}
 .checkout-web #msg{grid-column:1/-1}
}
@media(max-width:359px){.checkout-web .wrap{padding-inline:12px}.checkout-web .card{padding:16px}.checkout-web .row{font-size:14px;gap:10px}}
.checkout-page .back{width:44px;height:44px}
.checkout-page .payment-help{border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--card)}
.checkout-page .payment-help>summary{display:flex;align-items:center;min-height:44px;font-size:12px;font-weight:700;color:var(--navy-t);cursor:pointer;gap:10px}
.checkout-page .payment-help>summary:after{content:'+';margin-left:auto;font-size:18px}
.checkout-page .payment-help[open]>summary:after{content:'−'}
.checkout-page .payment-help .redirect-note{margin:0 0 12px}
.checkout-page .secure-note{display:none}
.checkout-page .plan-retry{min-height:44px;padding:10px 16px;font:inherit;font-weight:700;color:var(--navy-t);background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer}
.checkout-page .footer{padding-left:0;padding-right:0}
.checkout-page #promoCard{flex-wrap:wrap}
.checkout-page #promo{flex:1 1 100px}
.checkout-page .promo-action{min-height:44px}
@media(max-width:359px){.checkout-page #checkoutCredit{margin-inline:12px}.checkout-page .footer-in{padding-inline:12px}}
@media(min-width:700px){.checkout-page .top,.checkout-page .bars,.checkout-page .step-text,.checkout-page .wrap,.checkout-page .footer-in{max-width:600px}.checkout-page .plan-summary{grid-template-columns:48px minmax(0,1fr) auto}}
/* Short landscape/large text: footer becomes normal flow, so consent stays reachable. */
@media(max-height:500px){.checkout-page .footer{position:static}.checkout-page .wrap{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.checkout-page .btn,.checkout-page .pm-sec,.checkout-web .pp-row{transition:none}.checkout-page .btn:active,.checkout-page .back:active{transform:none}}
