/* ====== Core ====== */
:root{
  --bg:#fff;
  --text:#2a2a2a;
  --muted:#666;
  --primary:#eeb9cf;   /* rosa claro */
  --primary-2:#f6d3e3; /* rosa mais claro */
  --accent:#c14d7b;    /* rosa profundo para hovers */
  --shadow: 0 10px 30px rgba(193,77,123,.15);
  --radius: 14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg, #fff 0%, var(--primary-2) 120%);
}

img{max-width:100%;display:block}
.container{width:min(1120px, 92%);margin-inline:auto}

/* ====== Header / Nav ====== */
.header{
  position:sticky; top:0; z-index:20;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; padding:14px 0;
}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; font-weight:600}
.logo img{width:36px;height:36px}
.menu{display:flex; gap:22px; align-items:center}
.menu a{color:#333; text-decoration:none; font-weight:500}
.menu a:hover{color:var(--accent)}
.btn{
  background:var(--accent); color:#fff; text-decoration:none; padding:12px 18px; border-radius:999px; box-shadow:var(--shadow); display:inline-block; border:0; cursor:pointer; font-weight:600
}
.btn:hover{opacity:.92}
.btn--ghost{background:transparent; border:2px solid var(--accent); color:var(--accent)}
.btn--sm{padding:8px 14px}

/* Mobile menu */
.hamburger{display:none; background:transparent; border:0; cursor:pointer}
.hamburger span{display:block; width:24px; height:2px; background:#333; margin:5px 0; transition:.3s}

/* ====== Hero ====== */
.hero{padding:68px 0 28px}
.hero__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:36px; align-items:center}
.hero h1{font-family:'Playfair Display', serif; font-size:clamp(28px, 4vw, 54px); line-height:1.1; margin:8px 0 12px}
.highlight{background:linear-gradient(120deg, var(--primary), #ffd9ec); padding:0 .4rem; border-radius:.6rem}
.hero p{color:var(--muted); font-size:1.05rem}
.hero__cta{display:flex; gap:12px; margin:16px 0 8px}
.badges{display:flex; gap:16px; padding:0; margin:16px 0 0; list-style:none; flex-wrap:wrap}
.badges li{background:#fff; border:1px solid rgba(0,0,0,.06); padding:8px 12px; border-radius:999px}
.hero__img{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}

/* ====== Sections ====== */
.section{padding:68px 0}
.section__title{font-family:'Playfair Display', serif; font-size:clamp(24px,3.2vw,40px); margin:0 0 18px}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start}
.card{background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.card__img{aspect-ratio: 4 / 3; object-fit:cover}
.card__body{padding:18px}

/* ====== Procedimentos ====== */
.grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px}
.proc{background:#fff; padding:14px; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid rgba(0,0,0,.06)}
.proc img{border-radius:10px; aspect-ratio: 4 / 3; object-fit:cover}
.proc h3{margin:10px 0 6px}
.proc p{color:var(--muted); margin:0}

/* ====== Resultados (galeria) ====== */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.gallery img{border-radius:10px; aspect-ratio: 1 / 1; object-fit:cover}
.note{color:var(--muted); margin-top:10px}

/* ====== Depoimentos ====== */
.quote{background:#fff; border-left:6px solid var(--primary); padding:16px; border-radius:10px; margin:12px 0; box-shadow:var(--shadow)}
.quote span{display:block; margin-top:6px; color:var(--muted)}

/* ====== Contato ====== */
.form{display:grid; gap:12px}
.field{display:grid; gap:6px}
input, select, textarea{
  border:1px solid rgba(0,0,0,.12); border-radius:10px; padding:12px; font:inherit; background:#fff;
}
.form__hint{color:var(--muted); font-size:.9rem}
.contact-card{padding:18px}
.contact-list{list-style:none; padding:0; margin:0; display:grid; gap:8px}
/*.map-placeholder{background:#fff; border:1px dashed rgba(0,0,0,.2); border-radius:20px; padding:20px; text-align:center; color:var(--muted); margin-top:12px}*/
.map-placeholder{
  background:#fff;
  border:1px dashed rgba(0,0,0,.2);
  border-radius:20px;
  padding:-1px;
  margin-top:12px;

  display:flex;
  justify-content:center;   /* centraliza horizontal */
  align-items:center;       /* centraliza vertical */
}

.map-placeholder iframe{
  display:block;
  width:100%;
  max-width:510px;   /* ajusta o tamanho do mapa */
  height:380px;
  border-radius:16px;
}

/* ====== Footer ====== */
.footer{padding:36px 0}
.footer__grid{display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:12px}
.footer__brand{display:flex; align-items:center; gap:10px; font-weight:600}
.footer__menu{display:flex; gap:16px}
.footer__menu a{color:#333; text-decoration:none}
.footer__menu a:hover{color:var(--accent)}
.footer__legal{color:var(--muted); margin:0}

/* ====== WhatsApp FAB ====== */
.whatsapp-fab{
  position:fixed; right:18px; bottom:18px; width:60px; height:60px; border-radius:50%;
  display:grid; place-items:center; background:#25D366; box-shadow:var(--shadow);
}
.whatsapp-fab img{width:28px;height:28px}

/* ====== Animations ====== */
.reveal{opacity:0; transform:translateY(12px); transition:.5s ease}
.reveal.visible{opacity:1; transform:none}

/* ====== Responsive ====== */
@media (max-width: 980px){
  .hero__grid, .two-col{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr; text-align:center}
}
@media (max-width: 640px){
  .grid-3{grid-template-columns:1fr}
  .menu{display:none; position:absolute; top:64px; right:4%; background:#fff; padding:16px; border-radius:12px; box-shadow:var(--shadow); flex-direction:column; gap:12px}
  .menu.open{display:flex}
  .hamburger{display:block}
}