.tier-options, .payment-options { display: grid; gap: 10px; margin-top: 10px; }
.choice { display: flex; gap: 10px; align-items: flex-start; padding: 13px; border: 1px solid #91b9b2; border-radius: 3px; cursor: pointer; }
.choice:has(input:checked) { border: 2px solid var(--teal); background: #f0f7f5; }
.choice input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--teal); }
.choice strong, .choice small { display: block; }.choice small { color: var(--muted); }
.payment-section { margin: 28px 0 0; padding: 20px; border: 1px solid var(--line); background: #f0f7f5; }
.payment-amount { margin: 14px 0; font-size: 1.15rem; color: var(--navy); }.payment-amount strong { font-size: 1.35rem; }
.payment-qr-wrap { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 18px 0; }
.payment-qr { display: block; width: min(100%, 300px); height: auto; background: white; border: 1px solid var(--line); }
.receipt-field { margin-top: 18px; }.receipt-field input { width: 100%; padding: 10px; border: 1px solid #91b9b2; background: white; }
.phone-fields { display: grid; grid-template-columns: 125px 1fr; gap: 10px; }.phone-fields input { min-height: 49px; width: 100%; padding: 10px; border: 1px solid #91b9b2; background: white; color: var(--ink); font: inherit; }
fieldset { min-width: 0; border: 0; padding: 0; } legend { font-weight: 750; font-size: .9rem; }
.membership-links { margin-top: 10px; color: var(--muted); font-size: .9rem; }.membership-links a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.ipn-logo { display: block; width: min(240px, 55vw); height: auto; }
@media (max-width: 520px) { .payment-qr-wrap { grid-template-columns: 1fr; } }
