:root{
  --bg:#F5F7F4; --bg-alt:#EDF1EA; --ink:#1B2620; --ink-soft:#4B5A50;
  --primary:#0B5D51; --primary-dark:#083F37; --accent:#C97A2B;
  --line:#D8E0D9; --card:#FFFFFF; --radius:14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:'Inter',system-ui,sans-serif; line-height:1.65; font-size:17px;}
h1,h2,h3{font-family:'Source Serif 4',Georgia,serif; color:var(--primary-dark); line-height:1.2; margin:0 0 .5em;}
h1{font-size:clamp(2rem,4.5vw,3rem); font-weight:700;}
h2{font-size:clamp(1.4rem,2.8vw,1.9rem); font-weight:600; margin-top:2.2em;}
h3{font-size:1.2rem; font-weight:600; color:var(--ink);}
a{color:var(--primary);}
.wrap{max-width:840px; margin:0 auto; padding:0 24px;}

/* Topo com logo */
.topbar{background:#fff; border-bottom:1px solid var(--line);}
.topbar .wrap{max-width:1040px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 24px;}
.topbar .logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--primary-dark); font-family:'Source Serif 4',serif; font-weight:700; font-size:1.3rem; flex-shrink:0;}
.topbar .logo img{height:38px; width:auto; border-radius:8px; display:block;}
.logo-icon{width:38px; height:38px; flex-shrink:0; display:inline-flex;}
.logo-icon svg{width:100%; height:100%; display:block;}

.topbar .tagline{flex:1; text-align:center; margin:0; color:var(--ink-soft); font-family:'Source Serif 4',serif; font-style:italic; font-size:.98rem; opacity:.9;}
.topbar .tagline-spacer{flex:1;}

.nav-toggle{flex-shrink:0; position:relative;}
.nav-toggle summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:9px 14px; border:1px solid var(--line); border-radius:8px; color:var(--primary-dark);}
.nav-toggle summary::-webkit-details-marker{display:none;}
.nav-toggle summary::marker{content:"";}
.nav-toggle .fone-mini{font-weight:700; font-size:.85rem; white-space:nowrap;}
.nav-toggle .hamburger{width:20px; height:20px; flex-shrink:0;}
.nav-toggle nav.nav-dropdown{
  position:absolute; right:0; top:calc(100% + 8px);
  background:#fff; border:1px solid var(--line); border-radius:10px;
  padding:12px 18px; display:flex; flex-direction:column; gap:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.14); min-width:190px; z-index:30;
}
.nav-toggle nav.nav-dropdown a{color:var(--ink-soft); text-decoration:none; font-weight:600; font-size:.94rem;}
.nav-toggle nav.nav-dropdown a:hover{color:var(--primary);}

@media (max-width:700px){
  .topbar .tagline{display:none;}
  .nav-toggle .fone-mini{display:none;}
}

header.hero{background:linear-gradient(180deg,var(--primary-dark),var(--primary)); color:#EAF3EF; padding:56px 0 48px;}
header.hero .eyebrow{text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; color:#9FCFC2; font-weight:600; margin-bottom:14px;}
header.hero h1{color:#FFFFFF;}
header.hero p.lede{font-size:1.1rem; color:#D6E8E1; max-width:62ch; margin-top:14px;}
nav.breadcrumb{font-size:.85rem; color:#B9D6CC; margin-bottom:16px;}
nav.breadcrumb a{color:#B9D6CC; text-decoration:none;}

.answer-box{background:var(--card); border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:var(--radius); padding:24px 26px; margin:-30px auto 36px; max-width:840px; box-shadow:0 10px 30px rgba(11,93,81,.08); position:relative; z-index:2;}
.answer-box .label{font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--accent); margin-bottom:8px; display:block;}

main{padding:8px 0 60px;}
article section{margin-bottom:2.4em;}
article p{max-width:70ch;}
article ul{padding-left:1.3em;}
article li{margin-bottom:.5em;}

.therapy-card,.servico-card,.internacao-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin:16px 0;}
.badge{display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:var(--bg-alt); color:var(--primary); padding:3px 9px; border-radius:999px; border:1px solid var(--line);}

.servicos-grid,.internacoes-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:20px 0;}

.convenios{background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; margin:30px 0;}
.convenios-grid{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;}
.convenio-badge{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:9px 16px; font-weight:600; font-size:.9rem; color:var(--primary-dark);}

.disclaimer{background:#FBF3E8; border:1px solid #EAD3AC; border-radius:var(--radius); padding:18px 20px; font-size:.9rem; color:#5A4626; margin:30px 0;}

.faq details{border-bottom:1px solid var(--line); padding:14px 0;}
.faq summary{font-family:'Source Serif 4',serif; font-weight:600; font-size:1.02rem; cursor:pointer; color:var(--primary-dark); list-style:none; display:flex; justify-content:space-between; gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--accent); font-size:1.3rem;}
.faq details[open] summary::after{content:"–";}

.cta{background:var(--primary-dark); color:#EAF3EF; border-radius:var(--radius); padding:30px 28px; text-align:center; margin:36px 0;}
.cta h2{color:#fff; margin-top:0;}
.cta a.btn{display:inline-block; margin-top:12px; background:var(--accent); color:#fff; padding:12px 26px; border-radius:999px; text-decoration:none; font-weight:600;}

/* Blog */
.post-list{list-style:none; padding:0; margin:24px 0;}
.post-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin-bottom:14px;}
.post-card a{text-decoration:none;}
.post-card h2{margin:.1em 0 .3em; font-size:1.3rem;}
.post-card time{font-size:.8rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em;}
.post-card p{color:var(--ink-soft); margin:.4em 0 0;}

/* Formulário de contato */
.form-box{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin:24px 0;}
.form-row{margin-bottom:16px;}
.form-row label{display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; color:var(--primary-dark);}
.form-row input, .form-row textarea{width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:1rem; background:#fff;}
.form-row textarea{min-height:120px; resize:vertical;}
.form-submit{background:var(--primary); color:#fff; border:none; padding:13px 28px; border-radius:999px; font-weight:700; font-size:1rem; cursor:pointer;}
.form-submit:hover{background:var(--primary-dark);}
.form-msg{margin-top:14px; font-size:.9rem;}
.form-msg.erro{color:#B3261E;}

/* Cidades relacionadas */
.cidades-relacionadas ul{list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.cidades-relacionadas a{background:var(--bg-alt); border:1px solid var(--line); padding:6px 14px; border-radius:999px; text-decoration:none; font-size:.85rem; color:var(--ink-soft);}

footer.site-footer{border-top:1px solid var(--line); padding:0 0 90px; font-size:.85rem; color:var(--ink-soft);}
.footer-unidades{background:var(--bg-alt); padding:30px 24px; margin-bottom:0;}
.footer-unidades h3{font-family:'Inter',sans-serif; font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; color:var(--primary-dark); margin-bottom:14px;}
.footer-links-cidades{display:flex; flex-wrap:wrap; gap:6px 14px;}
.footer-links-cidades a{color:var(--ink-soft); text-decoration:none; font-size:.85rem;}
.footer-links-cidades a:hover{color:var(--primary); text-decoration:underline;}
.footer-unidades p{margin-top:14px;}
footer.site-footer > .wrap{padding-top:24px;}

/* ===== Botão flutuante WhatsApp — retangular, piscante, lado esquerdo ===== */
.whatsapp-float{
  position:fixed; left:18px; bottom:22px; z-index:999;
  display:flex; align-items:center; gap:10px;
  background:#25D366; color:#fff; text-decoration:none;
  padding:13px 20px; border-radius:10px;
  font-weight:700; font-size:.95rem;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
  animation:wa-blink 1.6s ease-in-out infinite;
}
.whatsapp-float svg{width:24px; height:24px; fill:#fff; flex-shrink:0;}
@keyframes wa-blink{
  0%,100%{box-shadow:0 6px 22px rgba(37,211,102,.35);}
  50%{box-shadow:0 6px 30px rgba(37,211,102,.85);}
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-float{animation:none;}
}
@media (max-width:600px){
  .whatsapp-float{padding:12px 16px; font-size:.85rem; left:12px; bottom:12px;}
}

/* Admin */
.admin-body{background:var(--bg-alt);}
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{width:230px; background:var(--primary-dark); color:#EAF3EF; padding:26px 18px; flex-shrink:0;}
.admin-sidebar h2{color:#fff; font-size:1.1rem;}
.admin-sidebar a{display:block; color:#CFE3DC; text-decoration:none; padding:10px 12px; border-radius:8px; margin-bottom:4px; font-size:.92rem;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.12); color:#fff;}
.admin-main{flex:1; padding:32px 40px; max-width:900px;}
.admin-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; margin-bottom:22px;}
.admin-login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--primary-dark);}
.admin-login-box{background:#fff; border-radius:16px; padding:38px 34px; width:100%; max-width:380px;}
table.admin-table{width:100%; border-collapse:collapse; font-size:.92rem;}
table.admin-table th, table.admin-table td{text-align:left; padding:10px 8px; border-bottom:1px solid var(--line);}
.btn-sm{display:inline-block; padding:6px 12px; border-radius:6px; font-size:.82rem; font-weight:600; text-decoration:none; border:1px solid var(--line); color:var(--ink);}
.btn-danger{color:#B3261E; border-color:#F0C9C4;}
.btn-primary{background:var(--primary); color:#fff; border:none; padding:10px 20px; border-radius:8px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block;}
.alert-ok{background:#E5F3EC; border:1px solid #B9DEC9; color:#1B5E3A; padding:10px 14px; border-radius:8px; margin-bottom:16px; font-size:.9rem;}
