:root{
  --emerald-800:#065F46;
  --emerald-600:#059669;
  --teal-600:#0D9488;
  --sky-600:#0284C7;
  --slate-900:#0F172A;
  --slate-800:#1F2937;
  --slate-600:#475569;
  --slate-500:#64748B;
}

/* ==========================
   BASE
   ========================== */
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--slate-800);background:#fff;line-height:1.6}
a{color:var(--emerald-600);text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* ==========================
   LAYOUT
   ========================== */
.mp-container{max-width:1200px;margin:0 auto;padding:0 16px}
.mp-section{padding:64px 0}
.mp-section-alt{background:linear-gradient(180deg,#F0FDF4,#ECFEFF);padding:64px 0}
.mp-center{text-align:center}
.mp-mt{margin-top:24px}
.mp-h2{font-size:32px;margin:0 0 24px}
.mp-title{font-size:36px;margin:0 0 16px}
.mp-sm{font-size:.9rem}
.mp-max-700{max-width:700px;margin:0 auto}
.mp-max-900{max-width:900px;margin:0 auto}

/* ==========================
   HEADER
   ========================== */
.mp-header{position:sticky;top:0;background:#ffffffee;backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #e5e7eb;z-index:50}
.mp-header-inner{height:64px;display:flex;align-items:center;justify-content:space-between}
.mp-brand{display:flex;align-items:center;gap:10px}
.mp-brand-text{font-weight:800;color:var(--slate-900)}
.mp-logo{color:var(--emerald-600)}
.mp-logo-img img{height:32px;width:auto;display:block}
.mp-nav{display:flex;align-items:center;gap:16px;position:relative}
.mp-menu{list-style:none;margin:0;padding:0;display:flex;gap:16px}
.mp-menu a{color:var(--slate-800);padding:8px 10px;border-radius:999px}
.mp-menu a:hover{background:#f1f5f9}
.mp-burger{display:none;background:none;border:0;padding:6px;cursor:pointer}
.mp-burger span{display:block;width:22px;height:2px;background:#334155;margin:5px 0;border-radius:2px}

/* ==========================
   BUTTONS
   ========================== */
.mp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 20px;font-weight:600;border:1px solid transparent;cursor:pointer}
.mp-btn-primary{background:var(--emerald-600);color:#fff}
.mp-btn-white{background:#fff;color:var(--emerald-800)}
.mp-btn-ghost{background:transparent;color:#fff;border-color:#ffffff66;border-width:1px}
.mp-hide-mobile{display:inline-flex}

/* ==========================
   HERO
   ========================== */
.mp-hero{position:relative;min-height:80vh;overflow:hidden}
.mp-hero-slide{position:absolute;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .8s}
.mp-hero-slide::before{content:"";position:absolute;inset:0;background:var(--bg,linear-gradient(135deg,#065F46,#059669));opacity:.95}
.mp-hero-inner{position:relative;z-index:2;color:#fff;text-align:center;padding:0 16px;max-width:900px}
.mp-hero h1{font-size:44px;margin:0 0 12px}
.mp-hero p{font-size:20px;margin:0 0 24px}
.mp-hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.mp-hero-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;display:flex;gap:8px;z-index:3}
.mp-hero-dots button{width:10px;height:10px;border-radius:50%;background:#fff;opacity:.5;border:0}
.mp-hero-dots button.active{opacity:1;transform:scale(1.2)}
.mp-hero-active{opacity:1}

/* ==========================
   GENERIC GRIDS & CARDS
   ========================== */
.mp-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mp-col-span-2{grid-column:span 2}
.mp-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.mp-kpi{font-size:36px;color:var(--emerald-800);font-weight:800}
.mp-kpi-label{color:#475569}

/* ==========================
   TABS
   ========================== */
.mp-tabs{display:flex;gap:8px;background:#f1f5f9;padding:6px;border-radius:999px;justify-content:center;margin:24px 0}
.mp-tab{padding:10px 18px;border-radius:999px;border:1px solid transparent;background:transparent;color:#334155;cursor:pointer}
.mp-tab-active{background:#fff;color:var(--emerald-800);box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateZ(0)}
.mp-hidden{display:none !important}

/* ==========================
   STEPS (genérico)
   ========================== */
.mp-step{text-align:center}
.mp-step-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:linear-gradient(135deg,var(--emerald-600),#10B981);color:#fff;font-size:28px;box-shadow:0 12px 30px rgba(16,185,129,.45)}

/* ==========================
   REVIEWS
   ========================== */
.mp-review{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px}
.mp-review-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mp-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--emerald-600);color:#fff;font-weight:700}
.mp-stars{color:#F59E0B}

/* ==========================
   BLOG
   ========================== */
.mp-post-card{display:block;border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff}
/* imagens menores e sem corte na sessão Notícias */
#noticias .mp-post-card .mp-thumb{width:100%;height:180px;object-fit:contain;background:#f8fafc;border-radius:12px;margin-bottom:10px}
@media (max-width:640px){#noticias .mp-post-card .mp-thumb{height:160px}}

.mp-post-card .mp-thumb{width:100%;object-fit:cover;border-radius:12px;margin-bottom:10px}
.mp-post-title{margin:12px 0}
.mp-meta{color:#64748B;font-size:.9rem}
.mp-search{display:flex;gap:8px;border:1px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff;margin-bottom:16px}
.mp-search input{flex:1;border:0;outline:0}

/* ==========================
   FOOTER
   ========================== */
/* Footer (novo) */
.mp-footer{
  background: linear-gradient(180deg, var(--emerald-800), #0b7d5d);
  color:#fff;
  margin-top:64px;
}

.mp-footer a{ color:#e6fff6; text-decoration:none }
.mp-footer a:hover{ color:#ffffff }

.mp-footer-wrap{
  display:grid;
  gap:24px;
  grid-template-columns: 1.2fr 1fr 1fr 1.4fr; /* brand, contato, links, mapa */
  padding:48px 16px;
}

@media(max-width:1024px){
  .mp-footer-wrap{
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width:640px){
  .mp-footer-wrap{
    grid-template-columns: 1fr;
  }
}

/* brand */
.mp-footer-brand .custom-logo,
.mp-footer-brand img{ max-height:40px; width:auto; display:block }
.mp-footer-tag{ margin:14px 0 18px; color:#e9fffa; opacity:.9; max-width:360px }

/* social */
.mp-social{ list-style:none; display:flex; gap:10px; padding:0; margin:4px 0 0 }
.mp-social li a{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:10px;
  background:rgba(255,255,255,.12);
  color:#fff;
}
.mp-social li a:hover{ background:rgba(255,255,255,.22) }

/* colunas */
.mp-footer-col h4{ margin:0 0 12px; font-size:1.05rem; color:#fff; font-weight:800 }
.mp-footer-list{ list-style:none; padding:0; margin:0; display:grid; gap:8px }
.mp-footer-list li a{ display:inline-flex; align-items:center; gap:8px }

/* mapa */
.mp-footer-map .mp-map-embed{
  background:#0d5e49;
  border-radius:14px;
  overflow:hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.mp-footer-map iframe{
  display:block; width:100%; height:220px; border:0;
}
.mp-footer-map .mp-map-note{ display:block; margin-top:8px; color:#ddfff2; opacity:.9 }

/* barra de copyright */
.mp-footer-copy{
  border-top:1px solid rgba(255,255,255,.18);
  padding:14px 0;
  color:#dffcf2;
  font-size:.95rem;
}
.mp-footer-copy .mp-container{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.mp-footer-copy a{ color:#ffffff; opacity:.95 }
.mp-footer-copy .mp-copy-links{ display:flex; align-items:center; gap:8px }

@media(max-width:640px){
  .mp-footer-copy .mp-container{
    flex-direction:column; text-align:center;
  }
}


/* ==========================
   FLOATING WHATSAPP
   ========================== */
.mp-whatsapp{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--emerald-600);color:#fff;font-size:22px;box-shadow:0 14px 30px rgba(0,0,0,.2)}

/* ==========================
   ARTICLE
   ========================== */
.mp-article .mp-hero-img{border-radius:12px;margin:16px 0}
.mp-content p{margin:0 0 16px}
.mp-comment-list{list-style:none;margin:0;padding:0}

/* ==========================
   RESPONSIVE GENERICS
   ========================== */
@media(max-width:1024px){
  .mp-grid-4{grid-template-columns:repeat(2,1fr)}
  .mp-grid-3{grid-template-columns:repeat(2,1fr)}
  .mp-hide-mobile{display:none}
  .mp-burger{display:inline-block}
  .mp-nav.is-open .mp-menu{display:flex;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 16px;flex-direction:column}
}
@media(max-width:640px){
  .mp-grid-4,.mp-grid-3{grid-template-columns:1fr}
  .mp-hero h1{font-size:34px}
  .mp-hero p{font-size:18px}
}

/* ==========================
   FIX CABEÇALHO / LOGO
   ========================== */
.mp-header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.mp-left,.mp-right{display:flex;align-items:center;gap:16px}
.custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.custom-logo{height:36px;width:auto;display:block}
@media (max-width:640px){ .custom-logo{height:28px} }
.mp-brand{display:inline-flex;align-items:center;gap:10px}
.mp-brand img{margin:0 !important}
.mp-menu{list-style:none;margin:0;padding:0;display:flex;gap:16px}
.mp-top-cta{padding:10px 18px;border-radius:9999px}
@media(max-width:1024px){
  .mp-burger{display:inline-block}
  .mp-right{position:relative}
  .mp-nav,.mp-right .mp-menu{display:none}
  .mp-right.is-open .mp-menu{
    display:flex;flex-direction:column;position:absolute;top:64px;right:0;left:auto;
    background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;z-index:60
  }
}

/* ==========================
   HERO OFFSET
   ========================== */
:root{ --hero-offset: 24vh; }
.mp-hero-inner{ transform: translateY(var(--hero-offset)); }
@media (max-width: 640px){
  :root{ --hero-offset: 20vh; }
  .mp-hero{ min-height: 100vh; }
}
.mp-hero{ min-height: 90vh; }

/* ==========================
   KPIs (4 colunas no desktop)
   ========================== */
.mp-kpis{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
}
@media(max-width:1024px){ .mp-kpis{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media(max-width:640px){  .mp-kpis{grid-template-columns:1fr;} }

.mp-kpi-card{
  position:relative;overflow:hidden;
  background:#fff;border:1px solid #e5e7eb;border-radius:20px;
  padding:22px 20px;box-shadow:0 14px 34px rgba(2,132,199,.08);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.mp-kpi-card::after{
  content:""; position:absolute; inset:-2px;
  background: conic-gradient(from 180deg, var(--emerald-600), var(--teal-600), var(--sky-600), var(--emerald-600));
  filter: blur(18px); opacity:.15; z-index:0;
}
.mp-kpi-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(2,132,199,.16); border-color:#dbeafe; }
.mp-kpi-icon{position:relative; z-index:1; width:46px; height:46px; border-radius:14px;
  background:linear-gradient(135deg,var(--emerald-600),#10B981); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(16,185,129,.35)}
.mp-kpi-icon svg{width:24px;height:24px;fill:#fff}
.mp-kpi-value{position:relative; z-index:1; margin-top:12px; font-weight:800; color:var(--slate-900); font-size:34px; letter-spacing:.3px}
.mp-kpi-label{position:relative; z-index:1; color:#475569; margin-top:4px}
.mp-kpi-note{position:relative; z-index:1; color:#64748B; font-size:.92rem; margin-top:8px}

/* ==========================
   ESPECIALIDADES — Cabeçalho
   ========================== */
#especialidades .mp-h2{ position:relative; margin:0 0 10px; letter-spacing:-.2px; text-align:center; }
#especialidades .mp-h2::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:-8px;
  width:110px; height:4px; border-radius:999px;
  background:linear-gradient(90deg,var(--emerald-600),var(--teal-600));
}
#especialidades .mp-sublead-wrap{
  display:flex; align-items:center; justify-content:center;
  gap:14px; flex-wrap:wrap; margin:18px 0 26px; text-align:center;
}
#especialidades .mp-sublead{
  margin:0; max-width: 900px; font-size:1.125rem; line-height:1.55; color:#0f172a;
}
#especialidades .mp-sublead-cta{ margin:0 auto; }

/* ==========================
   ESPECIALIDADES — Abas
   ========================== */
#especialidades .mp-tabs{
  width:100%;
  max-width:760px;
  margin:18px auto 26px;
  padding:8px;
  background:linear-gradient(180deg,#f1f5f9,#ecfdf5);
  border-radius:9999px;
  box-shadow:0 6px 24px rgba(2,132,199,.06), inset 0 0 0 1px #e2e8f0;
  display:flex; gap:10px; justify-content:center;
}
#especialidades .mp-tab{
  flex:1 1 260px;
  text-align:center;
  padding:14px 20px;
  border-radius:9999px;
  font-weight:700;
  font-size:1rem;
  color:#334155;
  background:transparent;
  border:0;
  cursor:pointer;
  transition:background .2s,color .2s,transform .15s, box-shadow .2s;
}
#especialidades .mp-tab:hover{ color:var(--emerald-800); transform:translateY(-1px); }
#especialidades .mp-tab-active{
  background:#fff;
  color:var(--emerald-800);
  box-shadow:0 10px 26px rgba(16,185,129,.18);
  border:1px solid #d7efe6;
}
@media (max-width:640px){
  #especialidades .mp-tabs{ max-width:none; padding:6px; margin:14px 0 20px; }
  #especialidades .mp-tab{ flex:1 1 50%; padding:12px 14px; font-size:.95rem; }
}

/* ==========================
   CONSULTAS & EXAMES — Grid + Cards
   ========================== */
/* Exibir/ocultar via mp-hidden (não force oculto por data-tabpanel) */
#especialidades .mp-cards.mp-hidden{ display:none !important; }

/* Grid responsivo só para essa área */
#especialidades .mp-grid-4.mp-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  width:100%;
  box-sizing:border-box;
}
@media (min-width:1280px){
  #especialidades .mp-grid-4.mp-cards{ grid-template-columns:repeat(4, minmax(0,1fr)); }
}
@media (max-width:1024px){
  #especialidades .mp-grid-4.mp-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
  #especialidades .mp-grid-4.mp-cards{ grid-template-columns:1fr; }
}

/* Limpa overlays antigos */
#especialidades .mp-cards .mp-card-action::before,
#especialidades .mp-cards .mp-card-action::after{ content:none !important; display:none !important; }

/* Card com wrap para o título não ficar atrás do CTA */
#especialidades .mp-cards .mp-card-action{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:10px;
  background:#ffffff; color:#1e293b;
  border:1px solid #e2e8f0; border-radius:12px;
  padding:18px 20px; min-height:70px; width:100%; min-width:0;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  text-decoration:none;
  transition:all .2s ease;
  box-sizing:border-box;
}
#especialidades .mp-cards .mp-card-title{
  font-weight:600; font-size:1rem; color:#1e293b; line-height:1.4;
  flex:1 1 100%; margin:0 0 4px; white-space:normal; overflow:visible; text-overflow:unset;
}
#especialidades .mp-cards .mp-card-cta{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px;
  background:#f1f5f9; color:#64748b;
  border:1px solid #e2e8f0; border-radius:8px;
  font-weight:500; font-size:.875rem; line-height:1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  flex:0 0 auto; margin-left:auto;
  transition:all .2s ease; box-sizing:border-box;
}
#especialidades .mp-cards .mp-card-cta::before{ content:"💰"; font-size:14px; opacity:.8; }
#especialidades .mp-cards .mp-card-cta::after{ content:none !important; }

#especialidades .mp-cards .mp-card-action:hover{
  transform:translateY(-1px);
  border-color:#10b981;
  box-shadow:0 4px 16px rgba(16,185,129,.10);
}
#especialidades .mp-cards .mp-card-action:hover .mp-card-title{ color:#065f46; }
#especialidades .mp-cards .mp-card-action:hover .mp-card-cta{
  background:#10b981; color:#fff; border-color:#059669;
  box-shadow:0 2px 8px rgba(16,185,129,.25);
}
#especialidades .mp-cards .mp-card-action:hover .mp-card-cta::before{ content:"✨"; opacity:1; }

/* Mobile: empilha CTA 100% */
@media (max-width:640px){
  #especialidades .mp-cards .mp-card-action{ align-items:flex-start; gap:14px; padding:18px; }
  #especialidades .mp-cards .mp-card-title{ width:100%; margin-bottom:4px; }
  #especialidades .mp-cards .mp-card-cta{ width:100%; justify-content:center; }
}

/* ==========================
   COMO FUNCIONA — versão limpa
   ========================== */
#como-funciona{
  background:#028446;
  background-image:
    radial-gradient(1100px 600px at 10% -10%, rgba(255,255,255,.07), transparent 60%),
    radial-gradient(900px 450px at 90% 0%, rgba(255,255,255,.06), transparent 60%);
  padding-top: 68px;
  padding-bottom: 72px;
}
#como-funciona h2,
#como-funciona > .mp-container > h2,
#como-funciona > .mp-container > p{ text-align:center; color:#fff; }
#como-funciona > .mp-container > p{ color:rgba(255,255,255,.9); }

/* Grid horizontal dos passos */
#como-funciona .mp-grid-3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
  align-items: stretch;
}
/* Card */
#como-funciona .mp-step{
  position:relative;
  text-align:center;
  background:#fff;
  border:1px solid #e6edf2;
  border-radius:18px;
  padding: 28px 22px 26px;
  box-shadow: 0 10px 28px rgba(10, 14, 20, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#como-funciona .mp-step-icon{
  width: 68px; height: 68px;
  margin: 4px auto 14px; border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  color: #0f5132;
  background:
    radial-gradient(closest-side, #ffffff 60%, transparent 61%),
    radial-gradient(closest-side, rgba(2,132,99,.12) 68%, transparent 69%),
    linear-gradient(180deg, #eafaf2, #e1f5ec);
  box-shadow:
    0 10px 26px rgba(16,185,129,.25),
    inset 0 2px 8px rgba(2,132,99,.18);
  font-size: 28px;
}
#como-funciona .mp-step h3{ margin: 6px 0 10px; color:#0f172a; font-weight: 800; letter-spacing: .2px; }
#como-funciona .mp-step p{  color:#334155; font-size: .975rem; line-height: 1.55; margin: 0; }
#como-funciona .mp-step:hover{ transform: translateY(-2px); border-color:#cfe8dd; box-shadow: 0 14px 34px rgba(16,185,129,.20); }

@media (max-width:1024px){
  #como-funciona .mp-grid-3{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:22px; }
}
@media (max-width:640px){
  #como-funciona{ padding-top:56px; padding-bottom:56px; }
  #como-funciona .mp-grid-3{ grid-template-columns:1fr; gap:18px; }
  #como-funciona .mp-step{ padding:22px 18px; }
  #como-funciona .mp-step-icon{ margin:0 auto 12px; }
}


/* Rodapé: logo branca */
.mp-footer-logo img,
.mp-footer-brand .custom-logo,
.mp-footer-brand .custom-logo-link img{
  max-height:40px;
  width:auto;
  display:block;
}

/* Se não houver logo exclusiva de rodapé, inverte a do topo para branco */
.mp-footer-logo.invert img,
.mp-footer-brand .custom-logo,
.mp-footer-brand .custom-logo-link img{
  filter: brightness(0) invert(1);
  opacity:.98;
}

/* Se houver logo branca própria, não aplicar o filtro */
.mp-footer-logo.no-invert img{
  filter:none;
  opacity:1;
}

/* AQUI PARTE QUE CONFIGURA A PAGINA DE ESPECIALIDADE */

/* === Especialidades (página) ===================== */

/* Hero mais estreito */
.hero--slim { min-height: 42vh; }
.hero--slim .mp-hero-inner { transform: translateY(10vh); }

/* Abas um pouco mais largas nesta página */
.mp-tabs--wide { max-width: 880px; }

/* SEO blocks */
.mp-section--tight { padding-top: 40px; padding-bottom: 56px; }
.mp-seo-wrap { margin-top: 6px; }
.mp-seo-block {
  background:#fff;
  border:1px solid #e6edf2;
  border-radius:14px;
  padding:18px 16px 20px;
  margin:12px 0;
  box-shadow:0 8px 20px rgba(2,132,199,.06);
}
.mp-seo-block h3 { margin:0 0 8px; color:#0f172a; }
.mp-seo-block p { margin:0 0 10px; color:#334155; }
.mp-seo-block .mp-seo-cta { margin-top:8px; }

/* Em grades, mantenha o título clicável e CTA alinhados */
.mp-cards .mp-card-title { flex: 1 1 auto; min-width:0; }


/* === HERO SLIM (página Especialidades) ===================== */
/* Força altura menor que a da home e remove o offset de descida do texto */
.hero--slim.mp-hero{
  min-height: 360px !important;         /* desktop */
}
@media (max-width:1024px){
  .hero--slim.mp-hero{ min-height: 320px !important; }
}
@media (max-width:640px){
  .hero--slim.mp-hero{ min-height: 260px !important; }
}

/* Zera o offset vertical aplicado na home e centraliza conteúdo com padding */
.hero--slim{ --hero-offset: 0 !important; }
.hero--slim .mp-hero-inner{
  transform: none !important;
  padding: 40px 16px 48px;               /* respiro */
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

/* Garante comportamento correto da imagem de fundo */
.hero--slim .mp-hero-slide,
.hero--slim .mp-hero-slide::before{
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;     /* preenche sem distorcer (pode recortar) */
  opacity: 1;                             /* se quiser menos véu, reduza aqui (ex.: .92) */
}

/* ===== HERO SLIM para a página de Especialidades ===== */
.hero--slim.mp-hero{ min-height: 360px !important; }
@media (max-width:1024px){ .hero--slim.mp-hero{ min-height: 320px !important; } }
@media (max-width:640px){  .hero--slim.mp-hero{ min-height: 260px !important; } }
.hero--slim{ --hero-offset: 0 !important; }
.hero--slim .mp-hero-inner{ transform:none !important; padding:40px 16px 48px; max-width:920px; margin:0 auto; text-align:center; }
.hero--slim .mp-hero-slide,
.hero--slim .mp-hero-slide::before{ background-position:center !important; background-repeat:no-repeat !important; background-size:cover !important; }

/* ===== Abas um pouco mais largas nesta página ===== */
.mp-tabs--wide{ max-width:880px; margin-left:auto; margin-right:auto; }

/* ===== Cards de âncora: remove CTA e mantém visual limpo ===== */
.mp-cards .mp-card-link{ position:relative; }
.mp-cards .mp-card-link::after{
  content:"↘"; /* indicador discreto */
  font-size:16px; opacity:.6; margin-left:auto;
}
.mp-cards .mp-card-link:hover::after{ opacity:1; transform: translateX(2px); }

/* ===== Blocos SEO: destino das âncoras ===== */
.mp-section--tight{ padding-top:40px; padding-bottom:56px; }
.mp-seo-wrap{ margin-top:6px; }
.mp-seo-block{
  background:#fff; border:1px solid #e6edf2; border-radius:14px;
  padding:18px 16px 18px; margin:12px 0;
  box-shadow:0 8px 20px rgba(2,132,199,.06);
  scroll-margin-top: 100px; /* não “come” o título ao navegar por âncoras */
}
.mp-seo-block h3{ margin:0 0 8px; color:#0f172a; }
.mp-seo-block p{ margin:0 0 10px; color:#334155; }
.mp-seo-bullets{ margin:8px 0 0; padding-left:18px; color:#334155; }
.mp-seo-bullets li{ margin:4px 0; }

/* Destaque automático no alvo */
.mp-seo-block:target{
  outline:2px solid var(--emerald-600);
  box-shadow:0 0 0 4px rgba(16,185,129,.15), 0 10px 26px rgba(16,185,129,.20);
  border-color:#cfe8dd;
}


/* === HERO SLIM — FIX RESPONSIVO (substitua o bloco anterior) ============ */
.hero--slim.mp-hero{
  min-height: 360px !important;       /* desktop */
}
@media (max-width:1024px){
  .hero--slim.mp-hero{ min-height: 320px !important; }
}
@media (max-width:640px){
  .hero--slim.mp-hero{ min-height: 220px !important; } /* mais baixo no mobile */
}

/* remove o offset de descida herdado da home */
.hero--slim{ --hero-offset: 0 !important; }
.hero--slim .mp-hero-inner{
  transform: none !important;
  padding: 36px 16px 42px;
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

/* fundo do slide: desktop/tablet usa cover */
.hero--slim .mp-hero-slide{
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: scroll !important; /* evita bug no iOS */
}

/* no slim, o ::before vira apenas um véu/gradiente (não repete a imagem) */
.hero--slim .mp-hero-slide::before{
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.08)) !important;
  opacity: 1 !important;
}

/* MOBILE: mostrar a imagem inteira sem distorcer (contain + letterbox) */
@media (max-width: 640px){
  .hero--slim .mp-hero-slide{
    background-size: contain !important;        /* não corta, não distorce */
    background-color: #ecfdf5 !important;       /* “letterbox” suave nas sobras */
  }
  .hero--slim .mp-hero-inner h1{ font-size: 26px; }
  .hero--slim .mp-hero-inner p{  font-size: 16px; }
}


