.membership-card { border:1px solid var(--line); background:#f3f6f9; padding:28px; margin:24px 0 36px; }
.membership-card h2 { margin:8px 0 22px; overflow-wrap:anywhere; }
.membership-eyebrow { letter-spacing:.16em; font-size:.8rem; color:var(--muted); }
.membership-card dl { display:grid; grid-template-columns:minmax(110px,150px) 1fr; gap:12px 20px; }
.membership-card dd { margin:0; overflow-wrap:anywhere; }
.membership-card dt { color:var(--muted); }
.membership-card form { margin-top:24px; }
.membership-rules { border-top:1px solid var(--line); padding-top:24px; margin-top:32px; }
.membership-rules p { line-height:1.8; }
.membership-vouchers small { display:block; line-height:1.7; }
.membership-vouchers .account-voucher-ticket strong { overflow-wrap:anywhere; min-width:0; }
.membership-policy { max-width:900px; }
.membership-policy > .button { margin-top:20px; }
.membership-checkout { margin:20px 0 28px; border:1px solid var(--line); padding:20px; }
.membership-checkout label { display:block; margin-bottom:10px; }
.membership-checkout-controls { display:flex; gap:12px; align-items:start; }
.membership-checkout-controls select { flex:1; min-width:0; }
.membership-checkout-controls button { flex-shrink:0; }
.membership-discount { color:#24764f; }
.membership-discount > span { min-width:0; overflow-wrap:anywhere; }
.membership-discount > strong { flex-shrink:0; }
.checkout-membership > *, .checkout-membership .form-grid > label { min-width:0; }
.membership-checkout, .checkout-membership .summary-line > span { min-width:0; overflow-wrap:anywhere; }
.checkout-membership .summary-line strong { flex-shrink:0; }
@media(max-width:700px) { .checkout-membership .form-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:540px) { .membership-card { padding:20px; }.membership-card dl { grid-template-columns:1fr; gap:6px; }.membership-card dd { margin-bottom:14px; }.membership-checkout-controls { flex-direction:column; }.membership-checkout-controls select,.membership-checkout-controls button { width:100%; } }
@media(prefers-reduced-motion:no-preference) { .membership-card { animation:membership-in .35s ease-out both; }@keyframes membership-in { from { opacity:0; transform:translateY(8px); }to { opacity:1; transform:none; } } }
