/* =========================================================
   psicologoinfantiltatuape.com.br
   Design system proprio deste site (objetivo / clinico / resolutivo)
   Paleta: azul-marinho, verde-salvia, cinza claro
   Tipografia tecnica: Manrope (titulos) + Source Sans 3 (corpo)
   Layout de cantos retos/levemente arredondados, listas numeradas
   e cards "de dossie" -- estrutura propria, sem reaproveitar o
   boilerplate do site institucional (psicologainfantiltatuape).
   ========================================================= */

:root{
  --navy:#1F3A52;
  --navy-dark:#152A3D;
  --sage:#4F8C74;
  --sage-light:#E3F0EA;
  --gray-bg:#F3F5F6;
  --gray-line:#DDE3E6;
  --text:#22313A;
  --text-mute:#5B6B73;
  --white:#FFFFFF;
  --amber:#C97B3E;
  --radius:8px;
  --radius-sm:4px;
  --maxw:1160px;
  --shadow:0 4px 20px rgba(21,42,61,.10);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3',sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.65;
}
h1,h2,h3,h4{
  font-family:'Manrope',sans-serif;
  font-weight:800;
  color:var(--navy);
  line-height:1.2;
  margin:0 0 .5em;
}
h1{font-size:clamp(2rem,3.6vw,2.85rem);}
h2{font-size:clamp(1.5rem,2.6vw,2rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1em;color:var(--text);}
a{color:var(--navy);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:64px 0;}
.bg-gray{background:var(--gray-bg);}
.bg-navy{background:var(--navy);color:var(--white);}
.bg-navy h1,.bg-navy h2,.bg-navy h3{color:var(--white);}
.text-center{text-align:center;}
.kicker{
  display:flex;align-items:center;gap:10px;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sage);
  margin-bottom:14px;
}
.kicker::before{content:"";width:28px;height:3px;background:var(--sage);display:inline-block;}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:.95rem;
  padding:13px 26px;border-radius:var(--radius-sm);
  border:2px solid transparent;cursor:pointer;
}
.btn:hover{text-decoration:none;}
.btn-primary{background:var(--sage);color:var(--white);}
.btn-primary:hover{background:#3E7460;color:var(--white);}
.btn-ghost{background:transparent;border-color:var(--white);color:var(--white);}
.btn-ghost:hover{background:var(--white);color:var(--navy);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-navy:hover{background:var(--navy-dark);color:var(--white);}
.btn-whatsapp{background:#2F8562;color:var(--white);}
.btn-whatsapp:hover{background:#256B4E;color:var(--white);}

/* ---------- Header ---------- */
.site-header{background:var(--navy);}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:var(--maxw);margin:0 auto;
}
.logo{
  font-family:'Manrope',sans-serif;font-weight:800;font-size:1.05rem;
  color:var(--white);display:flex;flex-direction:column;line-height:1.15;
}
.logo span{font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:.7rem;color:#AEC3D1;}
.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.nav-links a{color:#E7EEF2;font-weight:600;font-size:.94rem;}
.nav-links a:hover{color:var(--white);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.menu-toggle{display:none;background:none;border:1px solid #3A5772;border-radius:var(--radius-sm);font-size:1.3rem;color:var(--white);cursor:pointer;padding:2px 10px;}

@media (max-width:880px){
  .nav-links{
    position:absolute;top:64px;left:0;right:0;background:var(--navy-dark);
    flex-direction:column;padding:18px 24px;gap:14px;display:none;z-index:40;
  }
  .nav-links.open{display:flex;}
  .menu-toggle{display:inline-block;}
  .nav-cta .btn-ghost{display:none;}
}

/* ---------- Hero ---------- */
.hero{padding:64px 0;background:var(--gray-bg);border-bottom:1px solid var(--gray-line);}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;}
.hero p.lead{font-size:1.08rem;color:var(--text-mute);max-width:520px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.panel{
  background:var(--white);border:1px solid var(--gray-line);border-left:4px solid var(--sage);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;
}
.panel h3{margin-bottom:14px;font-size:1.05rem;}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--text-mute);}
.checklist li::before{content:"✓";color:var(--sage);font-weight:800;flex-shrink:0;}
@media (max-width:880px){.hero-inner{grid-template-columns:1fr;}}

/* ---------- Grids / dossie cards ---------- */
.grid{display:grid;gap:24px;}
.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:920px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.dossie{
  background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);
  padding:24px;position:relative;
}
.dossie .idx{
  font-family:'Manrope',sans-serif;font-weight:800;font-size:.78rem;color:var(--sage);
  letter-spacing:.05em;margin-bottom:10px;display:block;
}

/* ---------- Lista de servicos (linhas, nao cards em grade) ---------- */
.service-row{
  display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--gray-line);align-items:flex-start;
}
.service-row:first-child{padding-top:0;}
.service-row .num{
  font-family:'Manrope',sans-serif;font-weight:800;color:var(--sage);font-size:1.4rem;
  width:52px;flex-shrink:0;
}

/* ---------- Timeline (plano de acao) ---------- */
.timeline{position:relative;padding-left:34px;}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--gray-line);}
.timeline-step{position:relative;padding-bottom:28px;}
.timeline-step:last-child{padding-bottom:0;}
.timeline-step::before{
  content:"";position:absolute;left:-34px;top:2px;width:20px;height:20px;border-radius:50%;
  background:var(--sage);border:4px solid var(--sage-light);
}
.timeline-step h3{margin-bottom:4px;font-size:1rem;}

/* ---------- Blog: linhas horizontais ---------- */
.blog-row{
  display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--gray-line);
}
.blog-row .tagbox{
  flex-shrink:0;width:96px;height:72px;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--navy),var(--sage));
}
.blog-row .tag{
  font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:800;color:var(--sage);
  text-transform:uppercase;letter-spacing:.05em;
}
.blog-row h3{margin:4px 0 6px;}
.blog-row .read-more{font-weight:700;font-size:.9rem;}

/* ---------- Aviso clinico ---------- */
.aviso{
  background:var(--sage-light);border-left:4px solid var(--sage);border-radius:var(--radius-sm);
  padding:18px 22px;font-size:.94rem;color:var(--text);margin:28px 0;
}
.aviso strong{font-family:'Manrope',sans-serif;}

/* ---------- CTA banda ---------- */
.cta-banda{
  background:var(--navy);color:var(--white);border-radius:var(--radius);
  padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.cta-banda h2{color:var(--white);margin-bottom:6px;}
.cta-banda p{color:#C7D6DE;margin:0;}

/* ---------- Parceria (cross-link) ---------- */
.parceria{
  background:var(--white);border:1px solid var(--gray-line);border-radius:var(--radius);
  padding:32px;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:36px;align-items:start;}
@media (max-width:880px){.contato-grid{grid-template-columns:1fr;}}
.contato-info .item{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.contato-info .item .label{
  font-family:'Manrope',sans-serif;font-weight:800;font-size:.78rem;color:var(--sage);
  text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:2px;
}
.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-line);}
.map-wrap iframe{width:100%;height:320px;border:0;display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-dark);color:#C7D6DE;padding:52px 0 22px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:32px;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{color:var(--white);font-size:.95rem;font-family:'Manrope',sans-serif;}
.site-footer a{color:#C7D6DE;}
.site-footer a:hover{color:var(--white);}
.footer-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.footer-bottom{
  border-top:1px solid #2A4054;padding-top:18px;font-size:.82rem;color:#8FA5B3;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* ---------- WhatsApp flutuante (quadrado, diferente do site institucional) ---------- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:60;
  background:#2F8562;color:#fff;width:58px;height:58px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
}

/* ---------- Post (artigo) ---------- */
.post-header{max-width:780px;margin:0 auto;}
.post-body{max-width:740px;margin:0 auto;}
.post-body h2{margin-top:1.5em;font-size:1.35rem;}
.post-body ul{padding-left:1.2em;}
.post-body li{margin-bottom:.5em;}
.post-body strong{color:var(--navy);}
