* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Jost', ui-sans-serif, system-ui, sans-serif; }
.display { font-family: 'Archivo', ui-sans-serif, system-ui, sans-serif; }
.tracked { letter-spacing: 0.24em; text-transform: uppercase; }
.cap-tracked { letter-spacing: 0.14em; text-transform: uppercase; }
img { display: block; max-width: 100%; }
button { font-family: inherit; border: none; background: none; padding: 0; margin: 0; cursor: pointer; }
input { font-family: inherit; }
a.hero-link { color: #c65a2e; }
a.hero-link:hover { color: #9c4622; }

/* CTA buttons: real <button>, keep the visual look of the original design divs */
.cta-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; font-weight: 600; text-align: center; }

/* Responsive switch: desktop blocks (>=768px) vs mobile blocks (<768px). No tablet
   variant was designed by Rodrigo/Jaiminho — desktop blocks are shown down to 768px. */
.lp-desktop { display: block; }
.lp-mobile { display: none; }
@media (max-width: 767px) {
  .lp-desktop { display: none; }
  .lp-mobile { display: flex; flex-direction: column; justify-content: center; }
}

/* Bloco 3: lightbox de amenidades */
.b3-clickable { cursor: pointer; transition: filter 0.15s ease; }
.b3-clickable:hover { filter: brightness(1.06); }
.b3-lightbox-overlay { position: fixed; inset: 0; background: rgba(10,10,10,0.94); display: none; align-items: center; justify-content: center; z-index: 9999; cursor: zoom-out; padding: 48px; }
.b3-lightbox-overlay.active { display: flex; }
.b3-lightbox-overlay img { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 4px; box-shadow: 0 8px 48px rgba(0,0,0,0.6); }
.b3-lightbox-close { position: fixed; top: 24px; right: 32px; color: #ffffff; font-size: 28px; font-weight: 300; line-height: 1; z-index: 10000; cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; }

/* Bloco 7: formulário */
.lp-contact-form input {
  width: 100%; padding: 13px 14px; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18); border-radius: 4px; color: #ffffff;
  font-family: 'Jost', sans-serif; font-size: 14px;
}
.lp-contact-form input::placeholder { color: rgba(255,255,255,0.5); }
.lp-contact-form input:focus { outline: 2px solid #c65a2e; outline-offset: 1px; }
.lp-contact-form [data-field="submit"]:disabled { opacity: 0.6; cursor: not-allowed; }
