/* Global public-site readability, aligned with the legacy website's content scale. */
body{font-size:19px;line-height:1.8}
.main-nav>a,.nav-parent>button{font-size:.88rem;letter-spacing:.065em}
.nav-dropdown a{font-size:.98rem;line-height:1.5;padding:14px 21px}
.header-book{font-size:.78rem}
p,li{font-size:1.12rem;line-height:1.87}
.cms-content,.legacy-content{font-size:1.16rem;line-height:1.94}
.cms-content p,.cms-content li,.legacy-content p,.legacy-content li{font-size:1.16rem;line-height:1.94}
.inner-lead{font-size:1.9rem;line-height:1.5}
.inner-hero p,.module-listing header p,.inner-cta p{font-size:1.14rem}
.module-grid p{font-size:1.1rem;line-height:1.86}
.v2-copy p,.v2-feature p,.v2-dining p{font-size:1.14rem}
.v2-mosaic p,.v2-activities header p,.v2-activity-grid p,.v2-contact p{font-size:1.08rem;line-height:1.86}
.v2-testimonial blockquote{font-size:1.32rem}
.result-copy p{font-size:1.02rem}.booking-hero p{font-size:1.1rem}
.form-heading p,.payment-choices small,.summary-total small,.terms-check{font-size:.78rem}
.form-grid label,.request-label{font-size:.82rem}
.booking-summary dl>div,.confirmation-details strong{font-size:.86rem}
.footer-grid p,.footer-grid a{font-size:1.05rem;line-height:1.86}.footer-grid h3{font-size:.82rem}.footer-bottom{font-size:.86rem}
@media(max-width:1050px) and (min-width:801px){.main-nav{gap:14px}.main-nav>a,.nav-parent>button{font-size:.78rem}.site-header{gap:20px}}
@media(max-width:800px){.main-nav>a,.nav-parent>button{font-size:.96rem}.nav-dropdown a{font-size:.98rem;padding:14px 18px}}
@media(max-width:700px){body{font-size:16px}p,li,.cms-content p,.cms-content li,.legacy-content p,.legacy-content li{font-size:1rem}.inner-lead{font-size:1.65rem}}
/* Homepage availability search: readable controls and live cottage/picnic layouts. */
.v2-booking.picnic-mode{grid-template-columns:160px 180px 180px 190px}
.v2-booking [hidden]{display:none!important}
.v2-booking label{font-size:.67rem!important;line-height:1.4!important;font-weight:600}
.v2-booking input,.v2-booking select{font-size:.88rem!important;line-height:1.35!important;margin-top:8px}
.v2-booking button{font-size:.71rem!important;line-height:1.4;padding:0 18px}
.v2-booking .home-date-field,.v2-booking input[type=date]{cursor:pointer}
.v2-booking input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);opacity:.9}
@media(max-width:900px){.v2-booking.picnic-mode{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.v2-booking label{font-size:.62rem!important}.v2-booking input,.v2-booking select{font-size:.8rem!important}}
/* Checkout gateway cards follow the enabled Payment Settings list. */
.payment-choices.single-gateway{grid-template-columns:minmax(280px,520px)!important}

/* Clear feedback for public calls-to-action. */
.v2-booking button,.availability-form button,.result-price a,.submit-booking,
.module-grid article a,.v2-copy a,.v2-feature a,.v2-mosaic a,.v2-contact a,
.header-book,.dark-button,.light-button,.outline-light,.confirmation-page main>a{
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease;
  cursor:pointer;
}
.v2-booking button:hover,.availability-form button:hover,.result-price a:hover,.submit-booking:hover,
.module-grid article a:hover,.v2-copy a:hover,.v2-feature a:hover,.v2-mosaic a:hover,.v2-contact a:hover,
.header-book:hover,.dark-button:hover,.light-button:hover,.outline-light:hover,.confirmation-page main>a:hover{
  background:#d0aa63!important;color:#0b0b09!important;border-color:#d0aa63!important;
  transform:translateY(-2px);box-shadow:0 9px 24px rgba(196,154,80,.25);
}
.v2-booking button:active,.availability-form button:active,.result-price a:active,.submit-booking:active,
.module-grid article a:active,.header-book:active,.dark-button:active,.light-button:active,.outline-light:active{
  transform:translateY(0) scale(.98);box-shadow:0 3px 10px rgba(196,154,80,.18);
}
.v2-booking button:focus-visible,.availability-form button:focus-visible,.result-price a:focus-visible,
.submit-booking:focus-visible,.module-grid article a:focus-visible,.header-book:focus-visible,
.dark-button:focus-visible,.light-button:focus-visible,.outline-light:focus-visible{
  outline:3px solid rgba(225,188,116,.48);outline-offset:3px;
}
button.is-loading,a.is-loading{pointer-events:none;opacity:.72!important;cursor:wait!important;transform:none!important}
button.is-loading i{display:inline-block;animation:lp-spin .75s linear infinite}
@keyframes lp-spin{to{transform:rotate(360deg)}}
