.checkout-page{background:radial-gradient(ellipse at top right,#eef8d9 0,transparent 48%),var(--cream);min-height:100vh}
.checkout-header,.checkout-main,.checkout-footer{width:min(1040px,calc(100% - 48px));margin-inline:auto}
.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 32px}
.checkout-header img{display:block;object-fit:contain}
.checkout-page a{color:var(--forest);text-underline-offset:4px}.checkout-back{font-size:14px;font-weight:650}
.checkout-main h1{font-size:clamp(28px,4vw,43px);line-height:1.13;max-width:720px}
.checkout-intro{color:#57695d;line-height:1.6;margin:16px 0 28px;max-width:620px}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.checkout-card{min-width:0;background:var(--white);border:1px solid #dbe6d9;border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.checkout-tag{display:block;font-size:11px;letter-spacing:.1em;font-weight:800;color:#48674c;margin-bottom:12px}
.checkout-card h2{font-size:23px;line-height:1.3;color:var(--forest);margin-bottom:24px}
.checkout-benefits ul{list-style:none;padding:0;margin:0}.checkout-benefits li{position:relative;padding:0 0 24px 27px}.checkout-benefits li::before{content:'✓';position:absolute;left:0;color:#27852c;font-weight:800}
.checkout-benefits strong,.checkout-benefits span{display:block}.checkout-benefits strong{font-size:15px;margin-bottom:7px}.checkout-benefits li span{font-size:14px;line-height:1.65;color:#57695d}
.checkout-footnote{font-size:12px;line-height:1.65;color:#57695d;border-top:1px solid var(--line);padding-top:20px;margin-bottom:0}
.checkout-summary{border-top:4px solid var(--green)}.checkout-summary h2{margin-bottom:14px}
.checkout-price{font-size:44px;letter-spacing:-.04em;font-weight:800;color:var(--forest);margin-bottom:8px;line-height:1.2}.checkout-price span{font-size:16px;letter-spacing:0;font-weight:500;margin-left:6px}
.checkout-price-note{font-size:12px;color:#57695d;line-height:1.6;margin-bottom:24px}
.checkout-details{margin:0 0 24px}.checkout-details>div{display:flex;justify-content:space-between;gap:14px;font-size:13px;line-height:1.5;padding:11px 0;border-bottom:1px solid var(--line)}.checkout-details dt{color:#57695d}.checkout-details dd{margin:0;text-align:right;font-weight:700}
.checkout-notice{background:#f0f7e5;border:1px solid #ddecc7;border-radius:13px;padding:16px;color:var(--forest);font-size:13px;line-height:1.6}.checkout-notice p{margin:5px 0 0}
.checkout-pay{width:100%;margin-top:18px;min-height:48px;white-space:normal}.checkout-pay:disabled{background:#e5ebe5;color:#506153;box-shadow:none;cursor:not-allowed;opacity:1}
.checkout-provider{font-size:12px;line-height:1.7;color:#57695d;margin:16px 0}.checkout-free{display:block;text-align:center;font-size:13px;font-weight:650;padding:10px}
.checkout-conditions{margin:28px 0 0;max-width:690px}.checkout-conditions h2{font-size:16px;margin-bottom:8px}.checkout-conditions p{font-size:13px;color:#57695d;line-height:1.7}
.checkout-footer{border-top:1px solid var(--line);padding:24px 0 32px;margin-top:32px;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#57695d}.checkout-footer nav{display:flex;flex-wrap:wrap;gap:18px}
.checkout-page :focus-visible{outline:3px solid var(--green);outline-offset:5px}
@media(max-width:720px){.checkout-header,.checkout-main,.checkout-footer{width:calc(100% - 32px)}.checkout-header{padding:16px 0 24px}.checkout-header img{width:64px;height:64px}.checkout-grid{grid-template-columns:minmax(0,1fr);gap:18px}.checkout-card{padding:22px;border-radius:20px}.checkout-summary{grid-row:1}.checkout-card h2{font-size:21px}.checkout-price{font-size:40px}.checkout-footer{flex-direction:column}.checkout-intro{font-size:14px}.checkout-back{font-size:13px}.checkout-details>div{flex-wrap:wrap}}

.checkout-access{margin-bottom:24px}.checkout-access #refresh-access{margin:12px 12px 0 0}.checkout-access a{display:inline-block;padding:12px 0}

#cancel-panel button{min-height:44px;margin-top:12px;white-space:normal}#cancel-confirmation{margin-top:12px}#cancel-confirmation button{margin-right:8px}
@media(max-width:480px){#cancel-panel button{width:100%;margin-right:0}}

.checkout-page{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
.checkout-acceptance{display:flex;align-items:flex-start;gap:10px;line-height:1.55;font-size:14px;margin-top:18px;color:var(--forest)}
.checkout-acceptance input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:var(--forest)}
.checkout-page [hidden]{display:none!important}

#checkout-verify{display:grid;gap:10px;margin-top:16px}#checkout-verify button{width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}
