/* Shared layout corrections, loaded after page-specific styles. */
img, video, iframe { max-width: 100%; }
.row > *, .form-group, .checkout-wrapper, .contact-input { min-width: 0; }
h1, h2, h3, h4, h5, h6, p, a { overflow-wrap: break-word; }
.booking-popup { padding: 12px; overflow-y: auto; }
.enquiry-form-box { width: min(100%, 440px); height: auto; max-height: calc(100dvh - 24px); overflow-y: auto; padding: 24px 20px; }
.form-check-group { gap: 12px; }
.form-check-group > * { flex: 1; min-width: 0; }
.enquiry-form-body .form-group { width: 100%; clear: both; }
.enquiry-form-body .nice-select { float: none; width: 100%; }
.enquiry-form-body .input-icon { display: flow-root; }
.mobile-menu { max-width: 100vw; height: 100dvh; overflow-y: auto; }
.sm-pro-sticky { margin-right: 0; overflow-x: auto; }
.sm-pro-track { width: 100%; padding: 16px; gap: 24px; overflow-x: auto; scroll-snap-type: x proximity; }
.sm-pro-card { flex: 0 0 min(80vw, 450px); min-width: 0; scroll-snap-align: start; }
.sm-pro-title { opacity: 1; transform: none; }
.panels-three-container { max-width: 100%; }
#scrollContainer { width: 100%; gap: 16px; scroll-snap-type: x proximity; }
#scrollContainer > .panel-three { flex: 0 0 min(85vw, 460px); min-width: 0; width: auto; scroll-snap-align: start; }
#scrollContainer .tw-px-18 { padding-inline: 12px; }
.arrow-btn { min-width: 44px; min-height: 44px; }
:focus-visible { outline: 3px solid #b87929; outline-offset: 3px; }
@media (max-width: 991px) {
  .banner-desk { margin-block-start: 0; padding-block: 20px; }
  .checkout-main-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkout-wrapper { max-width: none; padding-inline: 0; border: 0; }
  .checkout-bg { padding: 20px; }
  .banner-three-title { font-size: clamp(36px, 9vw, 80px); }
  .sf-cards { flex-wrap: wrap; }
}
@media (max-width: 575px) {
  .checkout-main-wrapper { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .form-check-group { flex-direction: column; }
  .enquiry-form-box input, .enquiry-form-box select, .enquiry-form-box textarea, .contact-input { font-size: 16px; }
  .enquiry-form-header h2 { font-size: 24px; }
  .amenities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
