/* ========== BASE ========== */
*{box-sizing:border-box;margin:0;padding:0}
html,body{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;
  color:#2b1f1a;background:#fff8f1;
}
img{max-width:100%;display:block}
[hidden]{display:none !important;}

:root{
  --brand:#e36a07;
  --brand-2:#8b5e34;
  --ink:#2b1f1a;
  --paper:#ffffff;
  --muted:#6b5b53;
  --card:#ffffff;
  --stroke:#e7d7c9;
}

.container{width:min(1140px,92%);margin-inline:auto}

/* ========== HEADER ========== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:#ffffffee;backdrop-filter:blur(10px);
  border-bottom:1px solid var(--stroke);
  --headerH:64px; /* usado pelo dropdown mobile */
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800}
.brand img{width:42px;height:42px;object-fit:contain}
.nav{display:flex;align-items:center;gap:20px}
.nav a{color:#4a3a30;text-decoration:none;font-weight:700;opacity:.9;transition:.2s}
.nav a:hover{opacity:1;color:var(--brand)}

/* Botão e Backdrop do menu */
.menu-btn{
  display:none; /* aparece no @media */
  background:#fff;border:1px solid var(--stroke);color:#111;
  border-radius:12px;width:44px;height:44px;line-height:44px;text-align:center;
  box-shadow:0 6px 16px rgba(0,0,0,.08);z-index:110;
}
.nav-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  backdrop-filter:blur(1px);z-index:95;
}
body.menu-open{overflow:hidden} /* bloqueia scroll do fundo */

/* ========== BUTTONS ========== */
.btn{
  display:inline-block;padding:12px 18px;border-radius:12px;
  text-decoration:none;font-weight:800;border:1px solid var(--stroke);
  transition:all .25s ease
}
.btn-primary{
  background:linear-gradient(135deg,var(--brand),#ffae42);
  color:#1b110e;border-color:transparent;box-shadow:0 6px 14px rgba(227,106,7,.35)
}
.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-outline{background:#fff;color:#3b2f2f}
.btn-outline:hover{background:#f9ede0}

/* ========== HERO SLIDESHOW ========== */
.hero{
  position:relative;min-height:75vh;display:grid;place-items:center;
  overflow:hidden;background:#000;
}
.hero .overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.60))}
.hero-inner{position:relative;z-index:2;text-align:center;color:#fff;padding:90px 20px}
.hero h1{font-size:clamp(34px,5.5vw,64px);line-height:1.05;margin:0 0 14px;text-shadow:0 2px 24px rgba(0,0,0,.42)}
.hero p{font-size:clamp(16px,2.4vw,19px);max-width:760px;margin:0 auto 24px;color:#fff9ed;text-shadow:0 2px 18px rgba(0,0,0,.34)}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.slideshow .slides{position:absolute;inset:0;z-index:0}
.slideshow .slide{
  position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;animation:heroFade 28s infinite;will-change:opacity;transform:translateZ(0);
  filter:contrast(1.06) saturate(1.08)
}
/* Imagens 1x/2x */
.slideshow .s1{
  background-image:image-set(
    url("https://images.pexels.com/photos/3089685/pexels-photo-3089685.jpeg?auto=compress&cs=tinysrgb&h=1080&w=1920") 1x,
    url("https://images.pexels.com/photos/3089685/pexels-photo-3089685.jpeg?auto=compress&cs=tinysrgb&h=2160&w=3840") 2x
  );animation-delay:0s
}
.slideshow .s2{
  background-image:image-set(
    url("https://images.pexels.com/photos/31498921/pexels-photo-31498921.jpeg?auto=compress&cs=tinysrgb&h=1080&w=1920") 1x,
    url("https://images.pexels.com/photos/31498921/pexels-photo-31498921.jpeg?auto=compress&cs=tinysrgb&h=2160&w=3840") 2x
  );animation-delay:7s
}
.slideshow .s3{
  background-image:image-set(
    url("https://images.pexels.com/photos/188679/pexels-photo-188679.jpeg?auto=compress&cs=tinysrgb&h=1080&w=1920") 1x,
    url("https://images.pexels.com/photos/188679/pexels-photo-188679.jpeg?auto=compress&cs=tinysrgb&h=2160&w=3840") 2x
  );animation-delay:14s
}
.slideshow .s4{
  background-image:image-set(
    url("https://images.pexels.com/photos/12835355/pexels-photo-12835355.jpeg?auto=compress&cs=tinysrgb&h=1080&w=1920") 1x,
    url("https://images.pexels.com/photos/12835355/pexels-photo-12835355.jpeg?auto=compress&cs=tinysrgb&h=2160&w=3840") 2x
  );animation-delay:21s
}
@keyframes heroFade{0%,100%{opacity:0}5%,25%{opacity:1}30%,95%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .slideshow .slide{animation:none;opacity:1}
  .slideshow .s2,.slideshow .s3,.slideshow .s4{display:none}
}

/* ========== SECTIONS / CARDS ========== */
.section{padding:72px 0;background:#fff8f1}
.section.alt{background:#fdebd3}
.section-header{text-align:center;margin-bottom:28px}
.section-header h2{color:#2b1f1a;margin:0 0 6px}
.section-header p{color:#6b5b53;margin:0}

.grid{display:grid;gap:22px}
.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{
  background:var(--card);border:1px solid var(--stroke);border-radius:16px;
  padding:18px;color:var(--ink);box-shadow:0 6px 20px rgba(139,94,52,.12);
  transition:transform .25s ease, box-shadow .25s ease
}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(139,94,52,.2)}
.card h3{margin-top:6px;margin-bottom:8px;color:#2b1f1a}

/* ========== GALERIA / FROTA ========== */
.gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.gallery figure{
  border:1px solid var(--stroke);border-radius:14px;overflow:hidden;background:#fff;
  box-shadow:0 6px 18px rgba(139,94,52,.12);display:flex;flex-direction:column;align-items:center;padding:10px
}
.gallery img{
  width:100%;height:230px;object-fit:cover;background:#fff;
  filter:contrast(1.06) saturate(1.08);transition:transform .3s ease
}
.gallery img:hover{transform:scale(1.04)}
.gallery.labeled figcaption{
  padding:12px 14px;color:#4a3a30;border-top:1px solid var(--stroke);
  font-size:15px;font-weight:700;text-align:center
}

/* ========== ABOUT / CONTATO ========== */
.about{display:grid;gap:24px;grid-template-columns:1.4fr .8fr}
.about-card{
  background:#fff;border:1px solid var(--stroke);border-radius:16px;
  padding:18px;color:var(--ink);box-shadow:0 6px 18px rgba(139,94,52,.12)
}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding-left:22px;position:relative;margin:10px 0;color:#4a3a30}
.ticks li::before{content:"✔";position:absolute;left:0;top:0;color:var(--brand)}
.contact-form{display:grid;gap:12px}
.grid.two{grid-template-columns:1fr 1fr}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--stroke);background:#fff;color:#2b1f1a
}
.contact-form label{color:#2b1f1a;font-weight:700;display:grid;gap:6px}

/* ========== FLOAT WHATSAPP / FOOTER ========== */
.whats-fab{
  position:fixed;right:16px;bottom:16px;background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  text-decoration:none;font-size:22px;box-shadow:0 12px 24px rgba(0,0,0,.18);z-index:60
}
.footer{border-top:1px solid var(--stroke);padding:28px 0;background:#fff;color:#6b5b53;text-align:center;font-size:15px}

/* ========== RESPONSIVO (MENU DROPDOWN) ========== */
@media (max-width:900px){
  .about{grid-template-columns:1fr}
  .menu-btn{display:inline-block}

  /* Dropdown fixo ancorado ao botão (não desloca a página) */
  .nav{
    position:fixed;
    top:calc(var(--headerH,64px) + 6px);
    right:12px;
    width:min(92vw,340px);
    max-height:calc(100dvh - var(--headerH,64px) - 24px);
    overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;

    display:flex;flex-direction:column;gap:8px;
    background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:12px;
    box-shadow:0 20px 50px rgba(0,0,0,.18);z-index:100;

    opacity:0;transform:scale(.96);transform-origin:top right;
    pointer-events:none;transition:opacity .18s ease,transform .18s ease;
  }
  .nav.open{opacity:1;transform:scale(1);pointer-events:auto}

  .nav a{
    display:block;padding:12px 10px;font-weight:700;color:#4a3a30;
    border-radius:10px;text-align:left
  }
  .nav a:hover{background:#f8efe6}

  .nav .btn{width:100%;text-align:center;padding:12px 14px}
}

/* Garante layout normal no desktop mesmo com .open */
@media (min-width:901px){
  .nav{
    position:static;transform:none !important;opacity:1 !important;pointer-events:auto !important;
    height:auto;width:auto;flex-direction:row;gap:20px;padding:0;border:none;box-shadow:none
  }
}
/* Validação moderna dos inputs/select/textarea */
.input-error{
  border-color:#e36a07 !important;
  box-shadow:0 0 0 3px rgba(227,106,7,.25);
  animation:shake .25s ease;
}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-3px)}}
.error-msg{
  font-size:14px;color:#e36a07;margin-top:4px;font-weight:600;display:inline-block;
  animation:fadeIn .25s ease;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}


.error-msg {
  font-size: 14px;
  color: #e36a07;
  margin-top: 4px;
  font-weight: 600;
  display: inline-block;
  animation: fadeIn .25s ease;
}

@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-4px);}
  to {opacity: 1; transform: translateY(0);}
}
/* Prévia da foto do terreno */
.photo-field{display:grid;gap:10px;margin:10px 0}
.photo-preview{
  display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--stroke);
  border-radius:12px;padding:10px;box-shadow:0 6px 14px rgba(0,0,0,.06)
}
.photo-preview img{
  width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--stroke)
}
.photo-meta{display:flex;flex-direction:column;gap:8px}
.btn-sm{padding:8px 12px;border-radius:10px;font-size:14px}

/* Validação moderna (já usada nos campos) */
.input-error{
  border-color:#e36a07 !important;box-shadow:0 0 0 3px rgba(227,106,7,.25);animation:shake .25s ease
}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-3px)}}
.error-msg{font-size:14px;color:#e36a07;margin-top:4px;font-weight:600;display:inline-block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Toast informativo */
.toast{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%);
  background:#1f2937;color:#fff;padding:10px 14px;border-radius:10px;
  box-shadow:0 10px 26px rgba(0,0,0,.25);font-weight:600;font-size:14px;z-index:120;
  animation:toastIn .2s ease
}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
/* Prévia múltipla de fotos */
.photo-field{display:grid;gap:10px;margin:10px 0}
.photo-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px
}
.photo-card{
  position:relative;border:1px solid var(--stroke);border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:0 6px 14px rgba(0,0,0,.06)
}
.photo-card img{width:100%;height:110px;object-fit:cover;display:block}
.photo-card button{
  position:absolute;top:6px;right:6px;background:#fff;border:1px solid var(--stroke);
  border-radius:999px;font-weight:800;line-height:1;padding:6px 8px;cursor:pointer
}
.photo-card .meta{
  font-size:12px;color:#6b5b53;padding:6px 8px;border-top:1px solid var(--stroke)
}

/* Botão pequeno reaproveitável (se precisar) */
.btn-sm{padding:8px 12px;border-radius:10px;font-size:14px}

/* Validação moderna (já integrada) */
.input-error{border-color:#e36a07 !important;box-shadow:0 0 0 3px rgba(227,106,7,.25);animation:shake .25s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-3px)}}
.error-msg{font-size:14px;color:#e36a07;margin-top:4px;font-weight:600;display:inline-block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Toast informativo */
.toast{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%);
  background:#1f2937;color:#fff;padding:10px 14px;border-radius:10px;
  box-shadow:0 10px 26px rgba(0,0,0,.25);font-weight:600;font-size:14px;z-index:120;
  animation:toastIn .2s ease
}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
/* ===== Validação moderna ===== */
.input-error {
  border-color: #e36a07 !important;
  box-shadow: 0 0 0 3px rgba(227,106,7,0.25);
  animation: shake 0.25s ease;
}

@keyframes shake {
  0%,100% {transform: translateX(0);}
  25% {transform: translateX(-3px);}
  50% {transform: translateX(3px);}
  75% {transform: translateX(-3px);}
}

.error-msg {
  font-size: 14px;
  color: #e36a07;
  margin-top: 4px;
  font-weight: 600;
  display: inline-block;
  animation: fadeIn .25s ease;
}

@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-4px);}
  to {opacity: 1; transform: translateY(0);}
}

/* ===== Toast / aviso ===== */
.toast {
  position: fixed;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  background: #1f2937;
  color: #fff;
  padding: 12px 18px;
  border-radius: 10px;
  font-weight: 600;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  animation: fadeIn .3s ease;
  z-index: 9999;
}

