/* Overrides layered on top of the Webflow export (loaded after the Webflow stylesheet). */

/* Nothing should ever make the page scroll sideways. */
body { overflow-x: clip; }

/* Scroll-linked "zoom in" interactions start content blocks at 120% scale, which pushes
   text past the screen edges on phones, tablets and small laptops. Keep them on wide desktops only. */
@media screen and (max-width: 1279px) {
  .hero-split, .hero-wrapper, .section-title, .about-us-wrapper, .about-us-long-text,
  .contact-grid, .contact-image-wrapper-1, .contact-image-wrapper-2 { transform: none !important; }
}

/* Tablet: Webflow switches .main-wrapper to a flex column aligned to flex-start, which lets the
   two-column story rows grow wider than the screen (text runs off the right edge, photos overlap text). */
@media screen and (max-width: 991px) {
  .main-wrapper > .w-row { align-self: stretch; width: auto; }
  .paragraph-small { min-width: 0; } /* Webflow sets a 500px minimum on body copy at every size */
}
@media screen and (max-width: 767px) {
  .form-block { min-width: 0; } /* same 500px minimum on the inquiry form */
}

/* Lodging's full-width photos zoom on scroll; keep the zoom inside the photo's own frame. */
*:has(> .full-width-image-1) { overflow: hidden; }

/* Footer: one type scale for every column, matching social icon badges. */
.footer-block .paragraph-5 { font-family: var(--body); color: var(--grey); font-size: 14px; line-height: 22px; margin: 12px 0 0; }
.footer-block .bold-text-2 { font-size: 14px; color: var(--white); }
.div-block-3.mobile { display: flex; gap: 12px; align-items: center; margin-top: 20px; min-height: 0; }
.fb-link, .ig-link {
  display: flex; flex-direction: row; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 40px; max-width: none; max-height: none; padding: 0;
  border: 1px solid rgba(228, 227, 223, .35); border-radius: 50%;
  transition: border-color .2s, background-color .2s;
}
.fb-link:hover, .ig-link:hover { border-color: var(--white); background-color: rgba(228, 227, 223, .08); }
/* The icons carry Webflow grid-placement IDs (align-self: start) that pin them to the circle's left edge. */
.image-17.footer-fb, .image-17.footer-ig { display: block; flex: none; align-self: center !important; justify-self: center !important; margin: 0 !important; min-height: 0; max-height: none; max-width: none; object-fit: contain; }
.image-17.footer-fb { width: 20px; height: 20px; }
.image-17.footer-ig { width: 18px; height: 18px; }

@media screen and (max-width: 767px) {
  .footer-block, .footer-block .paragraph-5 { text-align: center; }
  .div-block-3.mobile { justify-content: center; align-self: center; }
  .heading.footer-heading { font-size: 24px; margin-bottom: 12px; }
}
