/* Payment stays in the Join page flow; Stripe controls its own iframe height. */
.join-payment{position:static;min-width:0;margin-top:28px;scroll-margin-top:110px}
.join-payment h2{margin-top:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:normal}.join-payment h2:focus{outline:none}
.join-payment [role="status"],.join-payment [role="alert"]{overflow-wrap:anywhere}
.join-payment-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.join-payment-actions button{min-height:48px;flex:1 1 180px}
#join-checkout{width:100%;min-width:0;margin-top:18px}
.join-payment-help{font-size:.86rem;line-height:1.6;color:var(--muted)}
.membership-page[data-join-payment-active] .mobile-book{display:none}
@media(max-width:620px){.join-payment{scroll-margin-top:90px}.join-payment-actions button{flex-basis:100%}}
