/* ============================================================
   CASAPÊ — botão de WhatsApp flutuante + modal "fale conosco"
   (compartilhado por todas as páginas)
   ============================================================ */
:root{
  --wz-wa:#1FA855; --wz-ink:#1A160E; --wz-ink-soft:#4A4234;
  --wz-cream:#F7F1E6; --wz-paper:#fffdf8; --wz-line:#e7ddc8;
  --wz-gold:#C6A15A; --wz-gold-deep:#A8823C;
  --wz-ez:cubic-bezier(.32,.72,0,1);
}

/* Botão flutuante (FAB) */
.wa-fab{
  position:fixed; right:22px; bottom:22px; z-index:80;
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 20px 14px 16px; border:none; border-radius:999px;
  background:var(--wz-wa); color:#fff; cursor:pointer;
  font-family:"Plus Jakarta Sans",system-ui,sans-serif; font-weight:600; font-size:15px;
  box-shadow:0 14px 34px -10px rgba(31,168,85,.6);
  transition:transform .4s var(--wz-ez), filter .3s var(--wz-ez);
}
.wa-fab:hover{ filter:brightness(1.05); transform:translateY(-2px); }
.wa-fab:active{ transform:scale(.97); }
.wa-fab svg{ width:24px; height:24px; }
.wa-fab .wa-fab__txt{ white-space:nowrap; }
@media (max-width:640px){
  .wa-fab{ padding:15px; right:16px; bottom:16px; }
  .wa-fab .wa-fab__txt{ display:none; }
}

/* Overlay + modal */
.wz-overlay{
  position:fixed; inset:0; z-index:90;
  display:none; align-items:center; justify-content:center; padding:20px;
  background:rgba(26,22,14,.5); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.wz-overlay.is-open{ display:flex; animation:wz-fade .3s var(--wz-ez); }
@keyframes wz-fade{ from{opacity:0} to{opacity:1} }

.wz-modal{
  width:min(430px,100%); background:var(--wz-paper);
  border:1px solid var(--wz-line); border-radius:24px; padding:28px;
  box-shadow:0 40px 80px -30px rgba(26,22,14,.6);
  animation:wz-pop .45s var(--wz-ez);
}
@keyframes wz-pop{ from{opacity:0; transform:translateY(18px) scale(.98)} to{opacity:1; transform:none} }
.wz-modal__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:6px; }
.wz-modal__title{ font-family:"Fraunces",Georgia,serif; font-weight:400; font-size:1.5rem; color:var(--wz-ink); line-height:1.15; }
.wz-modal__sub{ font-size:13.5px; color:var(--wz-ink-soft); margin-bottom:20px; }
.wz-modal__sub b{ color:var(--wz-gold-deep); font-weight:600; }
.wz-close{ background:none; border:none; font-size:26px; line-height:1; color:var(--wz-ink-soft); cursor:pointer; padding:2px 4px; }
.wz-close:hover{ color:var(--wz-ink); }

.wz-field{ margin-bottom:13px; }
.wz-field label{ display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--wz-gold-deep); margin-bottom:5px; }
.wz-field input, .wz-field textarea{
  width:100%; font-family:inherit; font-size:15px; color:var(--wz-ink);
  background:var(--wz-cream); border:1px solid var(--wz-line); border-radius:12px;
  padding:12px 14px; outline:none; transition:border-color .3s var(--wz-ez);
}
.wz-field textarea{ resize:vertical; min-height:64px; }
.wz-field input:focus, .wz-field textarea:focus{ border-color:var(--wz-gold); }
.wz-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }  /* honeypot fsv */

.wz-submit{
  width:100%; margin-top:8px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px; border:none; border-radius:14px; background:var(--wz-wa); color:#fff;
  font-family:inherit; font-weight:600; font-size:15px; cursor:pointer;
  transition:filter .3s var(--wz-ez), transform .3s var(--wz-ez);
}
.wz-submit:hover{ filter:brightness(1.06); }
.wz-submit:active{ transform:scale(.98); }
.wz-submit svg{ width:20px; height:20px; }
.wz-submit[disabled]{ opacity:.6; cursor:default; }
.wz-note{ font-size:11.5px; color:var(--wz-ink-soft); text-align:center; margin-top:12px; }
