.billing-page { max-width: 1000px; margin: auto; padding: 38px 28px 80px; }
.billing-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: 40px; }
.billing-header .brand { font-size: 26px; }
.billing-header button { border: 1px solid var(--line, #dce3d8); background: transparent; padding: 8px 14px; border-radius: 6px; cursor: pointer; }
.billing-page h1 { font-size: clamp(36px, 6vw, 60px); letter-spacing: -2px; margin: 24px 0 16px; }
.billing-page p { line-height: 1.7; }
.member-status { border-left: 3px solid #819567; padding: 16px 22px; margin: 30px 0; background: #edf1e7; }
.member-status[data-state='error'] { border-color: #b75936; background: #f8ece7; }
.member-form { border-top: 1px solid #dce3d8; margin-top: 36px; padding-top: 24px; }
.member-form label { display: block; margin-bottom: 10px; font-weight: 600; }
.member-form input { width: min(100%, 540px); display: block; padding: 14px; font: inherit; border: 1px solid #abb6a4; background: #fff; border-radius: 6px; margin-bottom: 16px; }
.member-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 22px 0; }
.member-packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 30px 0; }
.member-packs img { width: 100%; aspect-ratio: 1.77; object-fit: cover; border-radius: 8px; }
.member-packs h3 { font-size: 17px; }
.member-packs a { display: inline-block; padding: 10px 0; }
.member-form button, .member-actions button { cursor: pointer; }
.member-form button:disabled { opacity: .5; cursor: wait; }
.purchase-consent { display: flex; align-items: flex-start; gap: 10px; max-width: 620px; font-size: 14px; line-height: 1.7; }
.purchase-consent input { margin-top: 6px; accent-color: #284333; }
#checkout-remaining { font-size: 13px; font-weight: 600; }
#checkout-status { max-width: 650px; }
.billing-footer { margin-top: 48px; border-top: 1px solid #dce3d8; padding-top: 24px; font-size: 14px; }
.policy-section { border-top: 1px solid #dce3d8; padding: 20px 0; }
@media(max-width: 600px) { .member-packs { grid-template-columns: 1fr; } .billing-page { padding: 24px 20px 50px; } .billing-header { align-items: flex-start; } }
.offer-checkout button:not(:disabled) { opacity: 1; cursor: pointer; }
.purchase-consent { margin-bottom: 18px; }
