/* =========================================================
   psicologainfantiltatuape.com.br
   Design system proprio deste site (acolhimento / institucional)
   Paleta: bege quente, rosa suave, verde-sálvia suave
   Tipografia arredondada: Fredoka (titulos) + Nunito (corpo)
   ========================================================= */

:root{
  --cream:#FBF3EA;
  --cream-2:#F6E9DC;
  --white:#FFFDFB;
  --rose:#E8A6A0;
  --rose-dark:#CC7C74;
  --rose-light:#F6DAD6;
  --sage:#A9C7BE;
  --sage-dark:#79A296;
  --sage-light:#DCEAE5;
  --yellow:#F3D9A4;
  --brown:#5A463C;
  --brown-light:#8A7468;
  --radius-lg:32px;
  --radius-md:22px;
  --radius-sm:14px;
  --shadow:0 12px 32px rgba(90,70,60,.10);
  --shadow-sm:0 6px 16px rgba(90,70,60,.08);
  --maxw:1140px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Nunito',sans-serif;
  color:var(--brown);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fredoka',sans-serif;
  color:var(--brown);
  line-height:1.25;
  margin:0 0 .5em;
}
h1{font-size:clamp(2rem,4vw,3rem);}
h2{font-size:clamp(1.6rem,3vw,2.2rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em;}
a{color:var(--rose-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:72px 0;}
.section-alt{background:var(--white);}
.section-sage{background:var(--sage-light);}
.text-center{text-align:center;}
.eyebrow{
  display:inline-block;
  font-family:'Fredoka',sans-serif;
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rose-dark);
  background:var(--rose-light);
  padding:6px 16px;
  border-radius:999px;
  margin-bottom:16px;
}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Fredoka',sans-serif;
  font-weight:600;
  font-size:1rem;
  padding:14px 28px;
  border-radius:999px;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);text-decoration:none;}
.btn-primary{background:var(--rose);color:var(--white);box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--rose-dark);color:var(--white);}
.btn-outline{background:transparent;border-color:var(--brown);color:var(--brown);}
.btn-outline:hover{background:var(--brown);color:var(--white);}
.btn-whatsapp{background:#3FA179;color:var(--white);}
.btn-whatsapp:hover{background:#2f8562;color:var(--white);}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,243,234,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--cream-2);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:var(--maxw);margin:0 auto;
}
.logo{
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.15rem;
  color:var(--brown);display:flex;flex-direction:column;line-height:1.1;
}
.logo span{font-family:'Nunito',sans-serif;font-weight:400;font-size:.72rem;color:var(--brown-light);}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.nav-links a{color:var(--brown);font-weight:600;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--brown);cursor:pointer;}

@media (max-width:860px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    background:var(--white);flex-direction:column;
    padding:20px 24px;gap:16px;
    box-shadow:var(--shadow);
    display:none;
  }
  .nav-links.open{display:flex;}
  .menu-toggle{display:block;}
  .nav-cta .btn-outline{display:none;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:80px 0 100px;
}
.hero-inner{
  display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;
}
.hero h1{margin-bottom:20px;}
.hero p.lead{font-size:1.15rem;color:var(--brown-light);max-width:520px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;}
.blob{
  position:absolute;border-radius:50%;filter:blur(0px);opacity:.55;z-index:0;
}
.blob-1{width:340px;height:340px;background:var(--rose-light);top:-120px;right:-80px;}
.blob-2{width:260px;height:260px;background:var(--sage-light);bottom:-100px;left:-60px;}
.hero-inner,.hero-visual{position:relative;z-index:1;}
.hero-visual{
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:32px;
  text-align:center;
}
.hero-visual .badge{
  display:inline-block;background:var(--sage-light);color:var(--sage-dark);
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:.85rem;
  padding:6px 14px;border-radius:999px;margin-bottom:14px;
}

@media (max-width:860px){
  .hero-inner{grid-template-columns:1fr;}
}

/* ---------- Cards ---------- */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}

.card{
  background:var(--white);
  border-radius:var(--radius-md);
  padding:28px;
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.card .icon{
  width:52px;height:52px;border-radius:16px;
  background:var(--rose-light);color:var(--rose-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:16px;
}
.card.sage .icon{background:var(--sage-light);color:var(--sage-dark);}

/* ---------- Blog cards ---------- */
.blog-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.blog-card .cover{height:150px;background:linear-gradient(135deg,var(--rose-light),var(--sage-light));}
.blog-card .body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.blog-card .tag{font-size:.75rem;font-weight:700;color:var(--rose-dark);text-transform:uppercase;letter-spacing:.04em;}
.blog-card h3{margin-bottom:4px;}
.blog-card .read-more{margin-top:auto;font-weight:700;}

/* ---------- Aviso / disclaimer box ---------- */
.aviso{
  background:var(--yellow);
  border-radius:var(--radius-sm);
  padding:20px 24px;
  font-size:.95rem;
  color:var(--brown);
  margin:32px 0;
}
.aviso strong{font-family:'Fredoka',sans-serif;}

/* ---------- CTA banda ---------- */
.cta-banda{
  background:var(--rose);
  color:var(--white);
  border-radius:var(--radius-lg);
  padding:48px;
  text-align:center;
}
.cta-banda h2{color:var(--white);}
.cta-banda p{color:rgba(255,255,255,.9);}
.cta-banda .btn-outline{border-color:var(--white);color:var(--white);}
.cta-banda .btn-outline:hover{background:var(--white);color:var(--rose-dark);}

/* ---------- Cross-link adulto ---------- */
.parceria{
  background:var(--sage-light);
  border-radius:var(--radius-lg);
  padding:36px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}

/* ---------- Contato ---------- */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
@media (max-width:860px){.contato-grid{grid-template-columns:1fr;}}
.contato-info .item{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}
.contato-info .item .icon{
  width:44px;height:44px;border-radius:14px;background:var(--rose-light);color:var(--rose-dark);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.map-wrap{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.map-wrap iframe{width:100%;height:340px;border:0;display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--brown);color:var(--cream);padding:56px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{color:var(--white);font-size:1rem;}
.site-footer a{color:var(--cream);opacity:.85;}
.site-footer a:hover{opacity:1;}
.footer-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:20px;font-size:.85rem;opacity:.75;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:60;
  background:#3FA179;color:#fff;
  width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;box-shadow:0 8px 20px rgba(0,0,0,.2);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(63,161,121,.5);}
  70%{box-shadow:0 0 0 14px rgba(63,161,121,0);}
  100%{box-shadow:0 0 0 0 rgba(63,161,121,0);}
}

/* ---------- Post (artigo) ---------- */
.post-header{max-width:760px;margin:0 auto;text-align:center;}
.post-body{max-width:720px;margin:0 auto;}
.post-body h2{margin-top:1.6em;}
.post-body ul{padding-left:1.2em;}
.post-body li{margin-bottom:.5em;}
