.checkout-test-page { min-height: 100vh; }
.checkout-test-hero { padding-bottom: 40px; }
.sandbox-banner { margin-top: 22px; padding: 13px 16px; display: inline-flex; gap: 12px; align-items: center; color: #061517; background: #c9f0e9; border-radius: 999px; font-size: 12px; }
.sandbox-banner strong { font-weight: 800; letter-spacing: .08em; }
.checkout-shell { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: 34px; align-items: start; }
.checkout-summary, .checkout-panel { padding: 28px; background: rgba(3, 13, 19, .74); border: 1px solid rgba(240, 216, 158, .19); box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.checkout-summary h2 { margin: 7px 0 22px; color: var(--gold-pale); font-family: var(--serif); font-weight: 500; line-height: 1.55; }
.checkout-summary ul { margin: 20px 0 0; padding-left: 20px; color: #aebfc0; font-size: 13px; line-height: 2; }
.checkout-panel form { display: grid; gap: 18px; }
.checkout-field { display: grid; gap: 7px; }
.checkout-field > label, .checkout-field > legend, .card-field-wrap > label { color: #d6e1df; font-size: 12px; font-weight: 700; letter-spacing: .035em; }
.checkout-field input[type="email"], .checkout-field input[type="date"], .checkout-field input[type="text"] { width: 100%; min-height: 48px; padding: 10px 12px; color: #eef5f3; background: rgba(4,18,24,.78); border: 1px solid rgba(240,216,158,.22); border-radius: 6px; font: inherit; }
.checkout-theme { margin: 0; padding: 0; border: 0; grid-template-columns: repeat(2, minmax(0,1fr)); }
.checkout-theme > legend { margin-bottom: 8px; grid-column: 1 / -1; }
.checkout-theme label { padding: 10px 12px; display: flex; gap: 8px; align-items: center; color: #becdcd; background: rgba(6,21,27,.54); border: 1px solid rgba(240,216,158,.13); border-radius: 6px; font-size: 12px; }
.checkout-consent { margin-top: 2px; display: flex; gap: 9px; align-items: flex-start; color: #a7b8b8; font-size: 12px; line-height: 1.65; }
.checkout-not-ready { margin-top: 25px; padding: 18px; color: #9fb3b4; background: rgba(189,152,83,.07); border: 1px solid rgba(240,216,158,.18); }
.checkout-not-ready strong { display: block; color: var(--gold-pale); font-family: var(--serif); font-weight: 500; }
.checkout-not-ready p { margin: 7px 0 0; font-size: 12px; line-height: 1.8; }
#checkout-payment-area { margin-top: 26px; }
.checkout-method-title { margin: 0 0 12px; color: var(--gold-pale); font-family: var(--serif); font-size: 15px; }
.checkout-divider { margin: 23px 0; display: grid; grid-template-columns: 1fr auto 1fr; gap: 13px; align-items: center; color: #718b8c; font-size: 10px; }
.checkout-divider::before, .checkout-divider::after { content: ""; height: 1px; background: rgba(240,216,158,.14); }
#card-payment-section { display: grid; gap: 14px; }
.card-field-wrap { display: grid; gap: 7px; }
.paypal-card-field { min-height: 50px; overflow: hidden; background: rgba(4,18,24,.78); border: 1px solid rgba(240,216,158,.22); border-radius: 6px; }
.card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.checkout-postal { max-width: 240px; }
.checkout-pay-button { margin-top: 4px; width: 100%; min-height: 51px; }
.checkout-pay-button:disabled { opacity: .55; cursor: wait; }
.checkout-status { min-height: 24px; margin: 18px 0 0; color: #aebfc0; font-size: 12px; line-height: 1.7; }
.checkout-status[data-kind="error"] { color: #ffd0c7; }
.checkout-status[data-kind="success"] { color: #bde9d6; }
.checkout-security-note { margin: 11px 0 0; color: #718b8c; font-size: 10px; line-height: 1.7; }

.reading-unlock-page .paid-hero { padding-bottom: 26px; }
.unlocked-reading { max-width: 900px; margin: 0 auto; padding: 26px 0 80px; }
.unlocked-banner { margin-bottom: 24px; padding: 12px 16px; color: #08201e; background: #c9f0e9; border-radius: 8px; font-size: 12px; font-weight: 700; }
.unlocked-reading-intro { margin-bottom: 34px; padding: 26px; background: rgba(3,13,19,.66); border: 1px solid rgba(240,216,158,.18); }
.unlocked-reading-intro h1 { margin: 8px 0 12px; color: var(--gold-pale); font-family: var(--serif); font-weight: 500; line-height: 1.45; }
.unlocked-reading-intro p { color: #bcc9c9; line-height: 2; }
.unlocked-chapter { padding: 28px 0; border-top: 1px solid rgba(240,216,158,.14); }
.unlocked-chapter small { color: var(--gold); font-size: 10px; letter-spacing: .14em; }
.unlocked-chapter h2 { margin: 7px 0 13px; color: var(--gold-pale); font-family: var(--serif); font-size: 24px; font-weight: 500; }
.unlocked-chapter p { margin: 0; color: #c5d0cf; font-family: var(--serif); font-size: 15px; line-height: 2.05; }
.reading-load-error { padding: 25px; color: #ffd0c7; background: rgba(80,20,20,.18); border: 1px solid rgba(255,120,120,.22); }

@media (max-width: 760px) {
  .checkout-shell { grid-template-columns: 1fr; }
  .checkout-summary, .checkout-panel { padding: 20px 16px; }
  .checkout-theme { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: 1fr; }
}
