/* ======================================================
   DR VACCINUM — CUSTOM (limpo)
   ====================================================== */

/* ---------- Base / Reset ---------- */
html { scroll-behavior: smooth; }

body{
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:#1e293b;                 /* slate-800 */
  background:#fff;
}

/* ---------- Spacing global ---------- */
section{ padding:2.5rem 0 !important; }
@media (min-width:768px){
  section{ padding:3rem 0 !important; }
}
h2,h3{ margin-bottom:.75rem; }
p{ margin-bottom:.75rem; }

/* ---------- Hero (genérico) ---------- */
#hero{ position:relative; height:80vh; min-height:550px; max-height:900px; }
#hero .hero-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.35); }

/* Melhor distribuição do título/sub no mobile */
#hero .hero-copy h1, #hero .hero-copy p{
  hyphens:none !important; word-break:keep-all !important; overflow-wrap:normal !important;
  text-rendering:optimizeLegibility;
}
#hero .hero-copy h1{ font-size:clamp(1.9rem,5.5vw + .5rem,3.2rem); line-height:1.15; letter-spacing:-.01em; max-width:22ch; margin-inline:auto; text-wrap:balance; }
#hero .hero-copy p{  font-size:clamp(1rem,1.6vw + .6rem,1.2rem); line-height:1.35; max-width:34ch; margin-inline:auto; color:rgba(255,255,255,.92); }
@media (max-width:430px){
  #hero .hero-copy h1{ font-size:clamp(1.8rem,6vw + .6rem,2.4rem); line-height:1.18; max-width:20ch; }
  #hero .hero-copy p{ font-size:1rem; max-width:32ch; }
}

/* ---------- Menu: links ---------- */
header nav ul li a{ transition:.3s ease; }
header nav ul li a:hover{ text-decoration:underline; text-decoration-color:#06b6d4; text-underline-offset:4px; }

/* ---------- Botões ---------- */
.btn-primary{ background:#0ea5e9; color:#fff; font-weight:600; padding:.75rem 1.5rem; border-radius:.75rem; transition:.3s; }
.btn-primary:hover{ background:#0284c7; transform:translateY(-2px); }

.btn-green{ background:#10b981; color:#fff; font-weight:600; padding:.75rem 1.5rem; border-radius:.75rem; transition:.3s; }
.btn-green:hover{ background:#059669; transform:translateY(-2px); }

/* ---------- Cards (autoridade/unidades/blog) ---------- */
.card-elevate{
  border:1px solid #e2e8f0; background:#fff; border-radius:1rem;
  box-shadow:0 2px 6px rgba(0,0,0,.05); transition:.3s;
}
.card-elevate:hover{ transform:translateY(-4px); box-shadow:0 6px 12px rgba(0,0,0,.1); }

/* ---------- CTA Final (gradiente suave) ---------- */
#cta-final{
  background:linear-gradient(270deg,#0ea5e9,#10b981);
  background-size:400% 400%; animation:gradientMove 12s ease infinite;
  color:#fff; text-align:center;
}
@keyframes gradientMove{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-float{ position:fixed; bottom:1.25rem; right:1.25rem; z-index:50; }
.whatsapp-float a{
  display:flex; align-items:center; justify-content:center;
  width:3.5rem; height:3.5rem; border-radius:50%;
  background:#25d366; color:#fff; font-size:1.5rem;
  box-shadow:0 4px 10px rgba(0,0,0,.15); transition:.3s;
}
.whatsapp-float a:hover{ background:#20b857; transform:scale(1.1); }

/* ---------- Blog: thumbs ---------- */
.blog-card img{ border-radius:.75rem; transition:transform .3s; }
.blog-card:hover img{ transform:scale(1.05); }

/* ======================================================
   Footer (polimento leve)
   ====================================================== */
#site-footer{
  --brand-1:#10b981; --brand-2:#0ea5e9; --ink-1:#0f172a; --ink-2:#334155; --ink-3:#64748b;
  background:linear-gradient(180deg,rgba(16,185,129,.06),rgba(14,165,233,.06)) 0 0/100% 100%, #fff;
}
#site-footer .max-w-6xl{ padding:2.75rem 1rem; }
#site-footer h4{ position:relative; font-weight:800; color:var(--ink-1); letter-spacing:-.01em; }
#site-footer h4::after{ content:""; display:block; width:72px; height:3px; margin-top:.5rem; border-radius:999px; background:linear-gradient(90deg,var(--brand-1),var(--brand-2)); opacity:.9; }
#site-footer ul{ margin-top:1rem; }
#site-footer li{ color:var(--ink-2); }
#site-footer a{ color:var(--ink-2); text-decoration:none; transition:.2s; }
#site-footer a:hover{ color:var(--ink-1); text-decoration:underline; text-underline-offset:3px; }
#site-footer p{ color:var(--ink-2); line-height:1.65; }
#site-footer .h-1.w-40{ background:linear-gradient(90deg,var(--brand-1),var(--brand-2)); opacity:.95; }
#site-footer + .border-t{ background:#fff; border-top:1px solid rgba(2,6,23,.06); }
#site-footer + .border-t .max-w-6xl{ color:var(--ink-3); padding:.9rem 1rem; }
@media (max-width:768px){
  #site-footer .max-w-6xl{ padding:2.25rem 1rem; }
  #site-footer h4::after{ width:60px; }
}

/* ======================================================
   Página VACINAS — ajustes leves (id #vacinas)
   ====================================================== */
#vacinas h1,#vacinas h2{ letter-spacing:-.015em; }
#vacinas h2{ position:relative; }
#vacinas h2::after{ content:""; display:block; width:84px; height:3px; margin-top:.55rem; border-radius:999px; background:linear-gradient(90deg,#10b981,#0ea5e9); opacity:.9; }

#vacinas img.rounded-2xl{
  border-radius:1.25rem;
  box-shadow:0 10px 24px rgba(2,6,23,.10), 0 2px 0 0 rgba(2,6,23,.02) inset;
  transition:transform .45s ease, box-shadow .35s ease, filter .25s ease;
}
#vacinas img.rounded-2xl:hover{
  transform:scale(1.03) rotate(.2deg);
  box-shadow:0 16px 32px rgba(2,6,23,.16), 0 3px 0 0 rgba(2,6,23,.03) inset;
  filter:saturate(1.04);
}
#vacinas p{ color:#334155; line-height:1.7; }         /* slate-700 */
#vacinas p strong{ color:#0f172a; }                   /* slate-900 */

#vacinas details{
  border-radius:1rem; border:1px solid rgba(2,6,23,.06);
  box-shadow:0 6px 16px rgba(2,6,23,.06);
  transition:box-shadow .25s,border-color .25s,background-color .25s;
}
#vacinas details[open]{ box-shadow:0 12px 24px rgba(2,6,23,.10); border-color:rgba(2,6,23,.10); background:#fff; }
#vacinas details>summary{ list-style:none; position:relative; padding-right:2rem; cursor:pointer; }
#vacinas details>summary::-webkit-details-marker{ display:none; }
#vacinas details>summary::after{ content:"▾"; position:absolute; right:.75rem; top:.15rem; color:#94a3b8; transition:.25s; }
#vacinas details[open]>summary::after{ transform:rotate(180deg); color:#0ea5e9; }

/* ======================================================
   Post content (prose)
   ====================================================== */
.post-prose{ color:#0f172a; font-size:1.05rem; line-height:1.75; }
.post-prose p{ margin:1rem 0; color:#334155; }
.post-prose h2{ margin:2rem 0 .75rem; font-weight:800; font-size:1.6rem; color:#0f172a; }
.post-prose h3{ margin:1.5rem 0 .5rem; font-weight:800; font-size:1.3rem; color:#0f172a; }
.post-prose h4{ margin:1.25rem 0 .5rem; font-weight:700; color:#0f172a; }
.post-prose ul,.post-prose ol{ margin:1rem 0 1rem 1.25rem; color:#334155; }
.post-prose ul li{ list-style:disc; margin:.35rem 0; }
.post-prose ol li{ list-style:decimal; margin:.35rem 0; }
.post-prose a{ color:#0ea5e9; text-decoration:underline; text-underline-offset:3px; }
.post-prose blockquote{ margin:1.25rem 0; padding:1rem 1.25rem; border-left:4px solid #10b981; background:#f8fafc; border-radius:.5rem; color:#0f172a; }
.post-prose img{ border-radius:1rem; box-shadow:0 10px 30px rgba(2,6,23,.12); margin:1.25rem 0; height:auto; }
.post-prose figure{ margin:1.25rem 0; }
.post-prose figcaption{ font-size:.85rem; color:#64748b; text-align:center; margin-top:.35rem; }
.post-prose table{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem; }
.post-prose th,.post-prose td{ border:1px solid #e2e8f0; padding:.65rem .75rem; }
.post-prose thead th{ background:#f1f5f9; }
.post-prose hr{ border:0; height:1px; background:#e2e8f0; margin:2rem 0; }

/* ======================================================
   Header / Logo — contraste e “logo branco”
   ====================================================== */

/* (A) Home mantém logo original */
body.home header .custom-logo,
body.front-page header .custom-logo{
  filter:none !important; -webkit-filter:none !important; mix-blend-mode:normal !important;
}

/* (B) DEMais páginas: logo branco puro (sem brilho) */
body:not(.home):not(.front-page) header .custom-logo{
  filter:grayscale(1) contrast(0) brightness(2.2) !important;
  -webkit-filter:grayscale(1) contrast(0) brightness(2.2) !important;
  mix-blend-mode:normal !important; opacity:1 !important;
}

/* (C) Header transparente em Blog/Arquivo/Post — links brancos;
      ao rolar (classe .is-scrolled no <body>), header branco e logo normal */
.blog .site-header, .archive .site-header, .single-post .site-header{
  background:transparent !important; box-shadow:none !important; border-bottom:0 !important;
  position:sticky; top:0; z-index:50; transition:background .25s, box-shadow .25s, border-color .25s;
}
.blog .site-header a, .archive .site-header a, .single-post .site-header a{ color:#fff !important; }

body.is-scrolled .site-header{
  background:#fff !important; box-shadow:0 10px 30px rgba(2,6,23,.08) !important; border-bottom:1px solid rgba(2,6,23,.06) !important;
}
body.is-scrolled .site-header a{ color:#0f172a !important; }
body.is-scrolled header .custom-logo{ filter:none !important; -webkit-filter:none !important; }

/* Centralização do título do banner do blog/arquivo, se usado */
#blog section:first-child .max-w-6xl,
#blog-archive section:first-child .max-w-6xl{ text-align:center; }
#blog section:first-child h1,
#blog-archive section:first-child h1{ margin-inline:auto; }

/* Utilitário: impedir quebras de termos curtos (use <span class="nb">Anápolis</span>) */
.nb{ white-space:nowrap !important; }
