/* Quiet refinements shared by the existing editorial and checkout pages. */
.detail-page .inline-link{color:#337583;text-decoration:underline;text-underline-offset:4px}
.detail-page .opening-event{margin:0 0 8px}
.detail-page .opening-event+.text-link{margin-top:0}
.booking-option>span,.booking-summary-track,.membership-card{min-width:0}
.booking-option strong{line-height:1.4}
.booking-summary li span:last-child,.selection-total output{white-space:nowrap;font-variant-numeric:tabular-nums}
.agreement-copy{display:block}
.agreement-copy>span{display:block}
.agreement-copy>span+span{margin-top:12px}
.policy-accept{font-size:14px;line-height:1.65}
.policy{font-size:14px;line-height:1.7}
.policy-accept input{accent-color:#337583}
.membership-terms h3{font:400 20px/1.4 Baskerville,Georgia,serif;color:#337583;border-top:1px solid #20282230;padding-top:22px;margin:26px 0 12px}
.membership-terms h3+p{margin-top:0}
.membership-checkout .membership-card{padding:clamp(22px,4vw,40px)}
.membership-checkout{width:100%;max-width:820px;padding-inline:28px}
.membership-checkout .membership-dues{line-height:1.65}
.membership-checkout .membership-card .policy-accept{border-top:1px solid #20282230;padding-top:24px}
.detail-page .guest-count{flex-wrap:wrap;gap:12px 20px}
.detail-page .guest-count select{min-height:44px}
.detail-page .booking-option:has(input:checked){border-top-color:#337583}
.detail-page .booking-option:has(input:checked)>span>strong{font-weight:600}
.detail-page .booking-option:has(input:focus-visible){outline:2px solid #337583;outline-offset:6px}
.detail-page .booking-summary h2{margin-bottom:24px}
.membership-card button,.payment-button{min-height:48px}
.detail-page .detail-footer nav{column-gap:28px;row-gap:12px}
.detail-page .detail-footer nav a{display:inline-flex;align-items:center;min-height:44px}
.checkout-unavailable .checkout-grid{grid-template-columns:1fr;max-width:680px}
.checkout-unavailable .checkout-grid>aside{display:none}
.checkout-unavailable #introduction{max-width:100%}
/* Keep the agreement and action reachable on short screens and tablets. */
@media(min-width:701px) and (max-width:1100px),(min-width:701px) and (max-height:820px){
 .booking-summary-track{height:auto!important;min-height:0}
 .booking-summary-track .booking-summary{position:static}
}
@media(max-width:700px){
 .membership-checkout{padding:0 7vw}
 .membership-checkout .membership-card{padding:24px 0;border-left:0;border-right:0}
 .membership-checkout h1{font-size:clamp(37px,9vw,58px)}
 .booking-summary .policy-accept{margin:24px 0}
 .booking-summary li{font-size:15px;line-height:1.55}
 .booking-result #booking-policy{font-size:14px;line-height:1.7}
 .detail-page .detail-footer nav{gap:8px}
}
@media(prefers-reduced-motion:no-preference){
 .membership-card button,.payment-button,.booking-option{transition:color .3s ease,background-color .3s ease,border-color .3s ease}
}
