
html { scroll-behavior:smooth; }
body.modal-open { overflow:hidden; }

.quote-modal-backdrop {
  position:fixed; inset:0; z-index:9999;
  background:rgba(10,25,18,.62);
  display:grid; place-items:center;
  padding:15px;
}
.quote-modal {
  position:relative;
  max-height:calc(100dvh - 30px);
  overflow:auto;
  background:#fff;
  border:1px solid #d5d5c8;
  border-radius:5px 32px;
  width:min(540px,100%);
  padding:30px;
  box-shadow:0 40px 100px rgba(15,30,22,.28);
}
.quote-modal-close {
  position:absolute; top:16px; right:16px;
  width:36px; height:36px; border-radius:50%;
  border:1px solid #d5d5c8; background:#fff;
  color:#173d2d; font-size:22px; line-height:1;
  cursor:pointer;
}
.quote-modal-header { padding-right:38px; }
.quote-modal-title {
  color:#202922; margin:0;
  font-family:Georgia,serif; font-size:30px; font-weight:500; line-height:1.1;
}
.quote-modal-description {
  color:#59655f; margin:10px 0 0; font-size:12px; line-height:1.55;
}
.quote-form { gap:14px; margin-top:23px; display:grid; }
.quote-form label { gap:7px; display:grid; }
.quote-form label > span { color:#334139; font-size:11px; font-weight:800; }
.quote-select,.quote-form input {
  outline:none; width:100%; height:46px;
  box-shadow:none; color:#202922; background:#fbfaf5;
  border:1px solid #d3d4ca; border-radius:4px 12px;
  padding:0 13px; font-size:13px;
}
.quote-select:focus,.quote-form input:focus {
  border-color:#23513d; box-shadow:0 0 0 3px rgba(35,81,61,.11);
}
.field-hint { color:#6f743f; margin-top:-3px; font-size:10px; font-weight:750; }
.minimum-notice {
  color:#6d5a32; background:#f5eedc; border-left:3px solid #a5894d;
  margin-top:-5px; padding:10px 12px; font-size:10px; line-height:1.5;
}
.form-error { color:#a52b21; margin:0; font-size:11px; font-weight:700; }
.button-whatsapp {
  color:#fff; background:#1b8b52; border:0; width:100%; margin-top:3px;
}
.button-whatsapp:hover { background:#167746; }
.button-whatsapp:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.privacy-note { color:#7b837e; text-align:center; margin:-3px 0 0; font-size:9px; line-height:1.45; }

.mobile-nav { z-index:100; }
.faq-list [data-slot="accordion-content"] p { margin:0; }
.faq-list [data-slot="accordion-trigger"] svg { transition:transform .2s ease; }
.faq-list [data-state="open"] > h3 [data-slot="accordion-trigger"] svg { transform:rotate(180deg); }

@media (max-width:900px) {
  .quote-modal { padding:24px 20px; border-radius:4px 24px; }
  .quote-modal-title { font-size:25px; }
  .floating-quote { max-width:calc(100vw - 28px); right:14px; bottom:14px; }
}
@media (max-width:520px) {
  .hero-visual, .product-gallery, .lajao-images, .pool-images { overflow:hidden; }
  img { max-width:100%; }
}
