/* Shared hosted-payment cards, scoped to payment entry points. */
#purchase, #industry-membership { scroll-margin-top: 110px; }
.payment-section { padding: 56px 40px; border: 1px solid var(--stroke); }
.payment-section h2 { font-size: clamp(28px,3vw,42px); line-height: 1.2; margin-bottom: 24px; }
.payment-category + .payment-category { margin-top: 40px; }
.payment-category h3 { font-size: 25px; margin: 0 0 20px; }
.payment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.payment-card { border: 1px solid var(--stroke); padding: 28px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.payment-card h4 { font-size: 23px; line-height: 1.3; margin: 0; }
.payment-card h5 { font-size: 16px; margin: 0; }
.payment-card p, .payment-card ul { margin: 0; color: var(--paragraph-gray); line-height: 1.7; }
.payment-card ul { padding-left: 20px; }
.payment-card > .primary-button { margin-top: auto; }
.payment-price, .join-page .payment-price { font-size: 26px; color: var(--white); }
.payment-note, .join-page .payment-note { font-size: 14px; line-height: 1.6; }
.payment-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; width: 100%; margin-top: auto; }
.payment-actions a { text-align: center; }
.payment-secondary { background: transparent; border: 1px solid var(--stroke); }
.payment-text-link { color: var(--white); font-size: 14px; text-decoration: underline; }
.payment-section a:focus-visible, .payment-actions a:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
#industry-membership { display: flex; flex-direction: column; }
.home-membership-action { margin-top: 18px; }
@media (max-width: 767px) { .payment-section { padding: 40px 20px; } .payment-grid { grid-template-columns: 1fr; } .payment-card { padding: 24px; } }
