/* Portable safeguards layered over the original design. */
html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
body { max-width: 100%; overflow-x: clip; }
body.ace-rebuilt-page { margin: 0; overflow-x: clip; }
body.ace-rebuilt-page *, body.ace-rebuilt-page *::before, body.ace-rebuilt-page *::after { box-sizing: border-box; }
body.ace-rebuilt-page img, body.ace-rebuilt-page svg, body.ace-rebuilt-page video { max-width: 100%; height: auto; }
body.ace-rebuilt-page input, body.ace-rebuilt-page select, body.ace-rebuilt-page textarea, body.ace-rebuilt-page button { max-width: 100%; }
body.ace-rebuilt-page .vc_row { margin-left: 0; margin-right: 0; }
body.ace-rebuilt-page .wpb-content-wrapper { width: 100%; overflow: clip; }
body.ace-rebuilt-page .vc_row,
body.ace-rebuilt-page .wpb_column,
body.ace-rebuilt-page .vc_column-inner,
body.ace-rebuilt-page .wpb_wrapper { min-width: 0; max-width: 100%; }

@media (max-width: 1100px) {
  body.ace-rebuilt-page .site-header { width: 100%; }
  body.ace-rebuilt-page .header__inner { min-width: 0; }
  body.ace-rebuilt-page .primary-nav .menu { width: 100%; }
  body.ace-rebuilt-page .primary-nav .button { width: 100%; }
}

@media (max-width: 991px) {
  body.ace-rebuilt-page .container { width: min(100% - 32px, 1180px); }
  body.ace-rebuilt-page .brand__name { overflow-wrap: anywhere; }
  body.ace-rebuilt-page .primary-nav { max-height: calc(100dvh - 72px); overflow-y: auto; }
  body.ace-rebuilt-page h1 { text-wrap: balance; }
}

@media (max-width: 767px) {
  body.ace-rebuilt-page .announcement__inner { gap: 8px 16px; justify-content: center; text-align: center; }
  body.ace-rebuilt-page .vc_row > .wpb_column { width: 100%; float: none; }
  body.ace-rebuilt-page .wpb_column > .vc_column-inner { padding-left: 0; padding-right: 0; }
  body.ace-rebuilt-page .vc_row:not(.vc_row-no-padding) { padding-left: 16px; padding-right: 16px; }
  body.ace-rebuilt-page .vc_row .vc_row { padding-left: 0; padding-right: 0; }
  body.ace-rebuilt-page h1, body.ace-rebuilt-page h2, body.ace-rebuilt-page h3,
  body.ace-rebuilt-page p, body.ace-rebuilt-page li { overflow-wrap: anywhere; }
  body.ace-rebuilt-page iframe, body.ace-rebuilt-page table { max-width: 100%; }
  body.ace-rebuilt-page .ads-wpb-actions { align-items: stretch; }
  body.ace-rebuilt-page .ads-wpb-actions .button { width: 100%; justify-content: center; text-align: center; }
  body.ace-rebuilt-page .booking-form { grid-template-columns: minmax(0, 1fr); }
  body.ace-rebuilt-page .footer__grid { grid-template-columns: minmax(0, 1fr); }
  body.ace-rebuilt-page .footer__bottom { align-items: flex-start; gap: 12px; }
  body.ace-rebuilt-page .footer__cta { grid-column: auto; padding-left: 0; border-left: 0; }
  body.ace-rebuilt-page .ace-footer-legal { justify-content: flex-start; }
  body.ace-rebuilt-page .whatsapp { right: 14px; bottom: 14px; }
}

@media (max-width: 420px) {
  body.ace-rebuilt-page .container { width: min(100% - 24px, 1180px); }
  body.ace-rebuilt-page h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  body.ace-rebuilt-page .button { white-space: normal; }
  body.ace-rebuilt-page .ads-wpb-row { padding-left: 12px; padding-right: 12px; }
  body.ace-rebuilt-page .whatsapp span { display: none; }
  body.ace-rebuilt-page .whatsapp { width: 52px; height: 52px; padding: 0; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.ace-rebuilt-page *, body.ace-rebuilt-page *::before, body.ace-rebuilt-page *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  body.ace-rebuilt-page .ads-motion-item { opacity: 1 !important; transform: none !important; }
}

/* WPBakery Frontend Editor compatibility: keep controls clickable and content visible. */
body.vc_editor .site-header,
body.compose-mode .site-header { top: 56px; }
body.vc_editor .ads-motion-item,
body.compose-mode .ads-motion-item {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
body.vc_editor .ads-scroll-progress,
body.vc_editor .whatsapp,
body.compose-mode .ads-scroll-progress,
body.compose-mode .whatsapp { display: none !important; }
body.vc_editor .vc_element,
body.compose-mode .vc_element { position: relative; z-index: 1; }
