/* =============================================
   CLÍNICA ROSSETTI - CSS Principal
   Organizado e limpo - refatoração 2024
   ============================================= */

/* === VARIÁVEIS === */
:root {
  --cor-primaria: #00718c;
  --cor-secundaria: #F8941C;
  --cor-laranja: #f7941c;
  --cor-azul-escuro: #00566a;
  --cor-texto: #444;
  --cor-branco: #fff;
  --fonte-principal: "Montserrat", Helvetica, Arial, sans-serif;
  --max-largura: 1080px;
  --header-altura: 95px;
  --transicao: 0.3s ease;
}

/* === RESET E BASE === */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; background-color: #fff; }

body {
  margin: 0;
  padding: 0;
  font-family: var(--fonte-principal);
  font-size: 15px;
  line-height: 27px;
  font-weight: 400;
  color: var(--cor-texto);
  background: #fff;
}

a { text-decoration: none; color: inherit; }
a:hover { color: var(--cor-primaria); }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fonte-principal);
  margin: 0 0 15px;
  line-height: 1.2;
}
h1 { font-size: 52px; font-weight: 700; line-height: 1.1; }
h2 { font-size: 28px; font-weight: 700; }
h3 { font-size: 26px; font-weight: 700; }
h4 { font-size: 20px; font-weight: 700; }
h5 { font-size: 20px; font-weight: 400; }
h6 { font-size: 14px; font-weight: 400; letter-spacing: 3px; }

p { margin: 0 0 15px; }

.container {
  max-width: var(--max-largura);
  margin: 0 auto;
  padding: 0 40px !important;
  width: 100%;
  box-sizing: border-box;
}

/* === BARRA SUPERIOR (ACTION BAR) === */









/* Botão agendamento na action bar */
.btn-agendamento-bar {
  display: inline-flex;
  align-items: center;
  color: #fff !important;
  padding: 4px 12px 5px;
  font-weight: 500;
  opacity: 0.92;
  border: 2px solid #fff;
  border-radius: 20px;
  font-size: 0.78em;
  letter-spacing: 0.03em;
  transition: all var(--transicao);
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1.4;
}
.btn-agendamento-bar:hover { opacity: 1; background: rgba(255,255,255,0.15); }

/* === HEADER / TOPBAR === */
#header-wrapper {
  position: relative;
}
#top-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 700;
  background: transparent;
  transition: background var(--transicao), box-shadow var(--transicao);
}
#top-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 95px;
}



#logo { margin-top: 7px !important; align-items: center !important; }


/* Logo */
#logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-top: 20px;
}
#logo img { height: 95px; width: auto; }
#logo img.logo-mobile { display: none; }

/* Nav principal */
#menu-principal {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  align-items: center;
}
#menu-principal > li { position: relative; }
#menu-principal > li > a {
  display: block;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  padding: 0 16px;
  line-height: var(--header-altura);
  transition: color var(--transicao);
  white-space: nowrap;
}

#menu-principal > li > a:hover,
#menu-principal > li.ativo > a { color: var(--cor-secundaria) !important; }

/* Resultados em destaque */
#menu-principal > li.menu-resultados > a { color: var(--cor-secundaria) !important; }


/* Sub-menus */
#menu-principal .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  list-style: none;
  margin: -36px 0 0;
  padding: 8px 0;
  min-width: 230px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.12);
  border-radius: 4px;
  z-index: 999;
}
#menu-principal > li:hover .sub-menu { display: block; }
#menu-principal .sub-menu li a {
  display: block;
  padding: 8px 20px;
  color: var(--cor-azul-escuro) !important;
  font-weight: 600;
  font-size: 14px;
  transition: background var(--transicao);
}
#menu-principal .sub-menu li a:hover { background: #f5f5f5; }

/* Botão hamburguer mobile */
#menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--cor-secundaria);
  font-size: 22px;
  padding: 5px;
  margin-top: 2px;
}

/* Botão agendamento mobile no header */


/* === HERO / BANNER INICIAL === */
#hero {
  background: linear-gradient(130deg, #005D73 29%, #FF8303 98%);
  position: relative;
  overflow: hidden;
}
#hero::before { display: none; }
#hero .hero-parallax {
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  bottom: -60px;
  background: url('/assets/img/bg-1.jpg') center center/cover no-repeat;
  opacity: 0.37;
  mix-blend-mode: overlay;
  will-change: transform;
  pointer-events: none;
}
#hero .container { position: relative; z-index: 2; padding-top: 80px; padding-bottom: 80px; }
#hero h1 { color: #fff !important; margin-bottom: 20px; }
#hero .big { display: block; color: rgba(255,255,255,0.85); font-size: 17px; font-weight: 600; margin-bottom: 30px; max-width:50%; text-align:left; }
.btn-saiba-mais {
  display: inline-block;
  background: #fff;
  color: #006c86;
  padding: 12px 32px;
  border-radius: 100px;
  border: 2px solid #fff;
  font-weight: 600;
  font-size: 15px;
  transition: all .3s ease;
}
.btn-saiba-mais:hover { background: transparent; color: #fff; border-color: #fff; }

/* === BARRA LINKS RÁPIDOS === */
#links-rapidos {
  background: #eff4f6;
  padding: 12px 0;
  width: 100%;
}
#links-rapidos .container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-left: 16px;
  padding-right: 16px;
  scroll-behavior: smooth;
}
#links-rapidos .container::-webkit-scrollbar { display: none; }
#links-rapidos .label { color: #778; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-right: 4px; }
#links-rapidos .btn-link-rapido { color: var(--cor-primaria); background: #fff; border-color: #c8d8dc; }
#links-rapidos .btn-link-rapido:hover { background: var(--cor-primaria); color: #fff; border-color: var(--cor-primaria); }
.btn-link-rapido {
  display: inline-block;
  color: #fff;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  transition: all var(--transicao);
}
.btn-link-rapido:hover { background: rgba(255,255,255,0.3); color: #fff; }

/* === BANNER DE EXAMES (imagem full) === */
.banner-full img { width: 100%; display: block; }

/* === SEÇÃO EXAMES === */
#secao-exames {
  padding: 70px 0 50px;
  background: #fff;
}
#secao-exames .intro { text-align: center; margin-bottom: 40px; }
#secao-exames .intro h2 { margin-bottom: 10px; }
.grid-exames {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 40px;
  min-width: 0;
}
/* Tablet viewport: 3 colunas */
@media(min-width:768px) and (max-width:1024px){
  .grid-exames { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
.card-exame { text-align: center; min-width: 0; overflow: hidden; }
.card-exame img {
  width: 100%;
  max-width: 200px;
  margin: 0 auto 10px;
  border-radius: 4px;
}
.card-exame h4 { font-size: 16px; font-weight: 700; }
.card-exame h4 a { color: #555; }
.card-exame h4 a:hover { color: var(--cor-primaria); }

/* === SUBHEADER (páginas internas) === */
#subheader {
  background: linear-gradient(135deg, var(--cor-primaria) 0%, #004f66 100%);
  padding: 110px 0 40px;
  text-align: center;
  overflow: hidden;
  position: relative;
}
#subheader h1 { color: #fff; line-height: 1.1;   text-align: center;
}
#subheader h6 { color: #fff; display:inline-block; background:var(--cor-secundaria,#F8941C); padding:3px 10px; border-radius:3px; font-size:11px; letter-spacing:3px; }
#subheader.subheader-artigo h2 { font-size: 42px; line-height: 1.2; }
#subheader h6 { margin-bottom: 8px; }
#subheader .breadcrumb {
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  margin-top: 10px;
}
#subheader .breadcrumb a { color: rgba(255,255,255,0.7); }
#subheader .breadcrumb a:hover { color: #fff; }

/* === BARRA DE LINKS RÁPIDOS (interna) === */
.barra-links-internos {
  background: #eff4f6;
  padding: 10px 0;
  display: none;
  text-align: center;
  margin-bottom: 0;
}
.barra-links-internos .container {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 2px;
  gap: 8px;
}
.barra-links-internos .container::-webkit-scrollbar { display: none; }
.barra-links-internos .container { display:flex; flex-wrap:nowrap; gap:8px; align-items:center; justify-content:center; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; padding:0 16px; scroll-behavior:smooth; }
.barra-links-internos .container::-webkit-scrollbar { display:none; }
.barra-links-internos .btn-link-rapido {
  color: var(--cor-primaria);
  background: #fff;
  border-color: #ddd;
}
.barra-links-internos .btn-link-rapido:hover { background: var(--cor-primaria); color: #fff; border-color: var(--cor-primaria); }

/* === CONTEÚDO GERAL === */
#conteudo { padding: 0 0 60px 0; }

#conteudo h2 { color: var(--cor-primaria); margin-bottom: 18px; font-size: 26px !important; line-height: 1.25; font-weight: 700; }
#conteudo h3 { font-size: 20px !important; font-weight: 700; margin-bottom: 14px; line-height: 1.3; }
#conteudo h4 { font-size: 17px !important; font-weight: 600; margin-bottom: 10px; }
#conteudo h3 { margin-bottom: 15px; }

/* Seções de exames com foto à esquerda/direita */
.secao-exame {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid #eee;
}
.secao-exame:last-child { border-bottom: none; }
.secao-exame.invertido { direction: rtl; }
.secao-exame.invertido > * { direction: ltr; }
.secao-exame img { width: 100%; border-radius: 8px; }
.secao-exame h2 a { color: var(--cor-primaria); }
.secao-exame .btn-agendar {
  display: inline-block;
  background: var(--cor-secundaria);
  color: #fff;
  padding: 10px 24px;
  border-radius: 4px;
  font-weight: 600;
  margin-top: 15px;
  transition: background var(--transicao);
}
.secao-exame .btn-agendar:hover { background: #d97a10; color: #fff; }

/* strong/b com destaque laranja */
.destaque-laranja strong,
.destaque-laranja b,
h3 a {
  background-color: var(--cor-secundaria) !important;
  color: white !important;
  line-height: 40px;
  padding: 2px 10px !important;
  display: inline-block;
}

/* === PÁGINA SOBRE === */
#sobre-historia { padding: 60px 0; }
#sobre-historia .grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.card-mvv {
  background: #f9f9f9;
  padding: 25px;
  border-radius: 8px;
  border-left: 4px solid var(--cor-primaria);
  margin-bottom: 20px;
}
.card-mvv h4 { color: var(--cor-primaria); margin-bottom: 10px; }
#corpo-clinico { padding: 40px 0 60px; background: #f5f5f5; }
#corpo-clinico h3 { color: var(--cor-primaria); text-align: center; margin-bottom: 30px; }

/* === IFRAME PAGES === */
.iframe-wrapper {
  width: 100%;
  min-height: 600px;
  padding: 0;
}
.iframe-wrapper iframe {
  width: 100%;
  min-height: 600px;
  border: none;
  display: block;
}

/* === PÁGINA RESULTADOS === */
.resultados-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin: 40px 0;
}
.btn-resultado {
  display: inline-block;
  padding: 18px 35px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  transition: all var(--transicao);
}
.btn-resultado.paciente { background: var(--cor-primaria); }
.btn-resultado.paciente:hover { background: var(--cor-azul-escuro); color: #fff; }
.btn-resultado.medico { background: var(--cor-secundaria); }
.btn-resultado.medico:hover { background: #d97a10; color: #fff; }
.btn-resultado.imagem { background: #444; }
.btn-resultado.imagem:hover { background: #222; color: #fff; }

/* === BLOG === */
#blog-lista { padding: 60px 0; }
/* grid-blog definido abaixo */
.card-blog {
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow var(--transicao);
}
.card-blog:hover { box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
.card-blog img { width: 100%; height: 200px; object-fit: cover; }
.card-blog .card-body { padding: 20px; }
.card-blog h3 { font-size: 18px; margin-bottom: 10px; }
.card-blog h3 a { color: var(--cor-texto); }
.card-blog h3 a:hover { color: var(--cor-primaria); }
.card-blog h3 strong { background: var(--cor-secundaria) !important; color: #fff !important; padding: 2px 8px !important; line-height: 40px; }
.card-blog .data { font-size: 12px; color: #999; margin-bottom: 10px; }
.card-blog p { font-size: 14px; color: #666; }
.leia-mais { color: var(--cor-primaria); font-weight: 600; font-size: 14px; }

/* === BARRA DE PESQUISA BLOG === */
#barra-busca {
  display: none;
  width: 100%;
  background: rgba(255,255,255,0.95);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding: 15px 20px;
  text-align: center;
}
#barra-busca input {
  width: 60%;
  max-width: 600px;
  padding: 14px 20px;
  font-size: 1.2em;
  border: 2px solid var(--cor-primaria);
  border-radius: 50px;
  outline: none;
  font-family: var(--fonte-principal);
}
#barra-busca .fechar-busca {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5em;
  cursor: pointer;
  font-weight: 600;
  color: #666;
}

/* === FOOTER === */
#footer {
  background: linear-gradient(304deg, rgba(255,145,3,1) 0%, rgba(0,113,138,1) 70%);
  padding: 30px 0 20px;
  position: relative;
  overflow: hidden;
}
#footer::before {
  content: '';
  position: absolute;
  right: -20px;
  bottom: -20px;
  width: 800px;
  height: 800px;
  background: url('/assets/img/fav.png') center / contain no-repeat;
  opacity: 0.12;
  pointer-events: none;
  z-index: 0;
}
#footer > * { position: relative; z-index: 1; }
#footer * { color: #fff !important; }
#footer .widgets-wrapper {
  padding: 40px 0 30px;
}
#footer .grid-footer {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 30px;
}
#footer .col-logo img { max-width: 170px; margin-bottom: 15px; }
#footer .col-logo .redes { display: flex; gap: 12px; list-style: none; padding: 0; margin: 15px 0 0; }
#footer .col-logo .redes a { font-size: 18px; opacity: 0.9; }
#footer .col-logo .redes a:hover { opacity: 1; }
#footer h4 { font-size: 16px; font-weight: 600; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.3); }
#footer ul { list-style: none; padding: 0; margin: 0; }
#footer ul li { margin-bottom: 7px; }
#footer ul li a { opacity: 0.85; font-size: 16px; line-height: 26px; }
#footer ul li a:hover { opacity: 1; }
#footer .endereco p { opacity: 0.85; font-size: 16px; line-height: 26px; margin: 0; }
#footer 
#footer .selo-dponet img { max-width: 140px; }
#footer .footer-copy {
  border-top: 1px solid rgba(255,255,255,0.2);
  padding-top: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
#footer .footer-copy .copyright { font-size: 13px; opacity: 0.8; }
#footer .footer-copy .redes-copy { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; }
#footer .footer-copy .redes-copy a { font-size: 16px; opacity: 0.8; }
#footer .footer-copy .redes-copy a:hover { opacity: 1; }
.btn-voltar-topo {
  color: #fff !important;
  opacity: 0.7;
  font-size: 18px;
  transition: opacity var(--transicao);
}
.btn-voltar-topo:hover { opacity: 1; }

/* === WHATSAPP FLUTUANTE === */
.whatsapp-float {
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 999999;
  width: 60px;
  height: 60px;
}
.whatsapp-float a { display: block; text-decoration: none; }
.whatsapp-float .btn-wh {
  width: 60px;
  height: 60px;
  background: #2ecc71;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.24);
  position: relative;
  transition: background 0.3s, box-shadow 0.3s;
}
.whatsapp-float .btn-wh::after {
  content: "";
  background-image: url("//i.imgur.com/cAS6qqn.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 60%;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
}
.whatsapp-float .btn-wh:hover { background: #20bf6b; box-shadow: 0 3px 6px rgba(0,0,0,0.23); }
.whatsapp-float .tooltip-wh {
  display: block;
  position: absolute;
  right: 70px;
  top: 50%;
  transform: translateY(-50%);
  background: #49654e;
  color: #fff;
  font-size: 13px;
  padding: 7px 10px;
  border-radius: 30px;
  white-space: nowrap;
  box-shadow: 0 1px 15px rgba(32,33,36,0.28);
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: opacity 0.4s, width 0.4s, padding 0.5s;
  padding-left: 0;
  padding-right: 0;
}
.whatsapp-float a:hover .tooltip-wh {
  opacity: 1;
  width: auto;
  padding: 7px 10px;
}

/* Pulse animation */
.whatsapp-float::before {
  content: " ";
  position: absolute;
  z-index: -1;
  bottom: -15px;
  right: -15px;
  background-color: #10b418;
  width: 90px;
  height: 90px;
  border-radius: 100%;
  opacity: 0.6;
  animation: pulse 1.8s ease-out infinite;
}
@keyframes pulse {
  0% { transform: scale(0); opacity: 0; }
  25% { transform: scale(0.3); opacity: 1; }
  50% { transform: scale(0.6); opacity: 0.6; }
  75% { transform: scale(0.9); opacity: 0.3; }
  100% { transform: scale(1); opacity: 0; }
}

/* === BARRA DE COOKIES === */
#cookie-bar {
  opacity: 0.97;
  position: fixed;
  z-index: 99999;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 20px);
  max-width: 900px;
  padding: 12px 20px;
  text-align: center;
  background: #e88208;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.22);
  display: none;
  box-sizing: border-box;
}
#cookie-bar a { color: #fff; text-decoration: underline; }
#btn-aceitar-cookie {
  cursor: pointer;
  background: #006c86;
  display: inline-block;
  width: 100px;
  padding: 4px;
  border: 2px solid #fff;
  border-radius: 17px;
  font-weight: 500;
  margin-top: 8px;
  color: #fff;
}

/* === ANIMAÇÕES === */
.animate-fade { animation: fadeIn 1.6s ease; }
.animate-fadeLeft { animation: fadeInLeft 1.6s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInLeft { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: translateX(0); } }

/* === PÁGINA
/* ── BLOG LAYOUT ── */
#blog-lista { padding: 60px 0; }
.blog-layout {
  display: grid;
  grid-template-columns: 1fr 290px;
  gap: 40px;
  align-items: start;
  width: 100%;
}
.blog-main { min-width: 0; }
.blog-main .grid-blog { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }

/* Grid de cards: 2 colunas dentro da área principal */
.grid-blog {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* Cards do blog */
.card-blog {
  display: block;
  border: 1px solid #e0eaed;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.card-blog:hover { box-shadow: 0 8px 28px rgba(0,0,0,.1); transform: translateY(-3px); }
.card-blog .capa { height: 185px; overflow: hidden; }
.card-blog .capa img { width: 100%; height: 185px; object-fit: cover; display: block; }
.card-blog .card-body { padding: 20px; }
.card-blog h4 { font-size: 15px; margin-bottom: 8px; line-height: 1.4; color: #333; }
.card-blog h4:hover { color: var(--azul, #00718c); }
.card-blog .data { font-size: 11px; color: #aaa; margin-bottom: 6px; }
.card-blog p { font-size: 13px; color: #666; line-height: 1.6; margin: 0; }
.card-blog .desc2 { font-size: 12px; color: #888; border-top: 1px solid #eee; padding-top: 10px; margin-top: 10px; }

/* ── SIDEBAR ── */
.blog-sidebar {
  background: #f7f9fa;
  border-radius: 10px;
  padding: 24px;
  position: sticky;
  top: 20px;
  align-self: start;
}
.blog-sidebar h4 {
  color: var(--azul, #00718c);
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 14px;
  padding-bottom: 9px;
  border-bottom: 2px solid var(--azul, #00718c);
}

/* ── SEARCH no topo do blog (grande, arredondado) ── */
#search2 { position: relative; margin-bottom: 18px; }
#search2 input[type=text] {
  width: 100%;
  padding: 15px 22px;
  border: 2px solid #dde5e8;
  border-radius: 50px;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  outline: none;
  transition: border-color .3s ease, box-shadow .3s ease;
  background: #fff;
  box-sizing: border-box;
}
#search2 input[type=text]:focus {
  border-color: var(--azul, #00718c);
  box-shadow: 0 0 0 3px rgba(0,113,140,.1);
}
#sautocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
#sautocomplete-list > div {
  padding: 11px 20px;
  cursor: pointer;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #333;
}
#sautocomplete-list > div:hover,
#sautocomplete-list > div.autocomplete-active {
  background: #f0f7f9;
  color: var(--azul, #00718c);
}

/* Sidebar newsletter inputs */
.blog-sidebar form input[type=text],
.blog-sidebar form input[type=email] {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #dde5e8;
  border-radius: 6px;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  margin-bottom: 10px;
  outline: none;
  box-sizing: border-box;
}
.blog-sidebar form input[type=text]:focus,
.blog-sidebar form input[type=email]:focus { border-color: var(--azul, #00718c); }
.blog-sidebar form input[type=submit] {
  background: var(--azul, #00718c);
  color: #fff;
  width: 100%;
  padding: 11px;
  border: 2px solid var(--azul, #00718c);
  border-radius: 50px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
}
.blog-sidebar form input[type=submit]:hover {
  background: transparent;
  color: var(--azul, #00718c);
}

/* Sidebar categorias */
.sidebar-cat a {
  display: block;
  color: var(--azul, #00718c);
  font-size: 14px;
  padding: 5px 0;
  border-bottom: 1px solid #e8eef0;
  transition: color .3s ease;
}
.sidebar-cat a:hover { color: var(--laranja, #F8941C); }

/* Tags */
.sidebar-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tag-item {
  display: inline-block;
  background: #e8f4f6;
  color: var(--azul, #00718c);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  transition: all .3s ease;
}
.tag-item:hover { background: var(--azul, #00718c); color: #fff; }

/* ── ARTIGO ── */
.artigo-corpo { line-height: 1.85; }
.artigo-corpo h2 { font-size: 26px; color: var(--cor-primaria, #00718c); margin: 28px 0 10px; }
.artigo-corpo h3 { font-size: 21px; color: var(--cor-secundaria, #F8941C); margin: 22px 0 8px; }
.artigo-corpo h4 { font-size: 18px; color: var(--cor-secundaria, #F8941C); margin: 18px 0 6px; }
.artigo-corpo p { margin-bottom: 14px; }
.artigo-corpo ul, .artigo-corpo ol { padding-left: 22px; margin-bottom: 14px; }
.artigo-corpo li { margin-bottom: 6px; }
.artigo-corpo blockquote {
  border-left: 4px solid var(--azul, #00718c);
  padding: 12px 20px;
  background: #f0f7f9;
  margin: 20px 0;
  border-radius: 0 6px 6px 0;
  font-style: italic;
}
.artigo-corpo img { border-radius: 8px; margin: 16px auto; max-width: 100%; }
.artigo-corpo hr { border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0; }
.artigo-desc2 { font-size: 13px; color: #888; margin-top: 16px; padding-top: 14px; border-top: 1px solid #eee; }

/* ── RESPONSIVO BLOG ── */
@media (max-width: 1239px) {
  .blog-layout { grid-template-columns: 1fr 260px; gap: 35px; }
}
@media (max-width: 900px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
  .grid-blog { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .grid-blog { grid-template-columns: 1fr; }
}

/* ── SUBHEADER COM IMAGEM DO ARTIGO ── */
#subheader {
  position: relative;
  overflow: hidden;
}
#subheader .sh-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: /* rossetti-teal */ url('/assets/img/rm-hero.jpg') center center / cover no-repeat;
  opacity: 0.48;
  mix-blend-mode: soft-light;
  will-change: transform;
}
/* Sobre: foto aérea da clínica como bg */
.page-sobre #subheader .sh-bg {
  background-image: url('/assets/img/WhatsApp-Image-2022-02-01-at-15.47.56-4.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
  opacity: 0.25 !important;
  mix-blend-mode: normal !important;
}
#subheader .container {
  position: relative;
  z-index: 1;
  text-align: center;
}
/* subheader-artigo base handled inline via WP thumbnail */
#subheader.subheader-artigo::after { display: none; }
#subheader.subheader-artigo .sh-bg,
#subheader.subheader-artigo .container { z-index: 1; }
#subheader.subheader-artigo .sh-bg {
  background-color: rgba(0, 93, 115, 0.65) !important;
  background-blend-mode: multiply !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 1 !important;
  backdrop-filter: blur(1px) !important;
  -webkit-backdrop-filter: blur(1px) !important;
  will-change: transform !important;
}
#subheader.subheader-artigo {
  background-size: cover;
  background-position: center;
  background-attachment: scroll;
  opacity: 1;
}

/* ── BLOG SLIDER HOME ── */
#secao-blog {
  padding: 70px 0 50px;
  background: #f7f9fa;
  overflow: hidden;
  text-align: center;
}
.blog-home-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 35px;
  flex-wrap: wrap;
  gap: 15px;
  text-align: left;
}
.blog-home-header h2 { margin: 0; }
.btn-ver-blog {
  display: inline-block;
  color: var(--cor-primaria, #00718c);
  border: 2px solid var(--cor-primaria, #00718c);
  padding: 9px 22px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: all .3s ease;
  flex-shrink: 0;
}
.btn-ver-blog:hover { background: var(--cor-primaria, #00718c); color: #fff; }

/* Slider wrapper com botões */
.blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
.blog-slider-viewport {
  overflow: hidden;
  width: 100%;
}
.blog-slider-track { display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); padding:0 !important; }

/* Cada slide: 4 visíveis no desktop */
.blog-slide {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 10px;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  display: block;
}
.bs-img {
  height: 180px;
  background-size: cover;
  background-position: center;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.bs-body {
  background: #fff;
  padding: 16px 18px 20px;
  border-radius: 0 0 10px 10px;
  border: 1px solid #e0eaed;
  border-top: none;
  transition: box-shadow .3s ease;
  text-align: left;
}
.blog-slide:hover .bs-body { box-shadow: 0 6px 20px rgba(0,0,0,.09); }
.bs-date { font-size: 11px; color: #aaa; margin: 0 0 6px; }
.bs-body h4 { font-size: 14px; line-height: 1.4; margin: 0 0 8px; color: #333; }
.blog-slide:hover .bs-body h4 { color: var(--cor-primaria, #00718c); }
.bs-exc { font-size: 12px; color: #777; line-height: 1.5; margin: 0; }

/* Botões prev/next */
.slider-prev, 




/* Dots */
.slider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.s-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: #ccd8db;
  cursor: pointer;
  padding: 0;
  transition: all .3s ease;
}
.s-dot.active {
  background: var(--cor-primaria, #00718c);
  width: 24px;
  border-radius: 4px;
}

/* Mobile: 1 coluna */
@media (max-width: 767px) {
  .blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
  .blog-slide { flex: 0 0 100%; max-width: 100%; }
  .blog-home-header { flex-direction: column; align-items: flex-start; }
}

/* ── SEARCH NO SUBHEADER DO BLOG ── */
.blog-search-header {
  margin-top: 25px;
  position: relative;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}
.blog-search-header input[type=text] {
  width: 100%;
  padding: 18px 30px;
  border: none;
  border-radius: 50px;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  outline: none;
  background: rgba(255,255,255,.15);
  color: #fff;
  box-shadow: none;
  border: 1.5px solid rgba(255,255,255,.5);
  box-sizing: border-box;
}
.blog-search-header input[type=text]::placeholder { color: rgba(255,255,255,.7); }
.blog-search-header input[type=text]:focus { background: rgba(255,255,255,.25); border-color: #fff; }
.blog-search-header #sautocomplete-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0,0,0,.15);
  z-index: 99;
}
.blog-search-header #sautocomplete-list > div {
  padding: 12px 22px;
  cursor: pointer;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #333;
  text-align: left;
}
.blog-search-header #sautocomplete-list > div:hover,
.blog-search-header #sautocomplete-list > div.autocomplete-active {
  background: #f0f7f9;
  color: #00718c;
}

/* ── BOTÃO VER MAIS BLOG ── */
#btnVerMais {
  background: transparent;
  color: #F8941C;
  border: 2px solid #F8941C;
  padding: 13px 40px;
  border-radius: 50px;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
#btnVerMais:hover {
  background: #F8941C;
  color: #fff;
}
#btnVerMais .fa-spin {
  color: #F8941C;
  font-size: 18px;
}
#btnVerMais:hover .fa-spin { color: #fff; }

/* ── EXAMES HOME: img mesma altura ── */
.grid-exames .img-box { height: 240px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:transparent !important; border-radius:10px; width:100%; }
.grid-exames .img-box img { max-height: 220px; width:auto; max-width:100%; object-fit:contain; }

/* ── BLOG grid sempre 2 colunas no blog-main ── */
.blog-main .grid-blog { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
@media(max-width:600px){ .blog-main .grid-blog { grid-template-columns:1fr; } }

/* ── EXAMES PAGE: altura uniforme nas imagens ── */
.exame-img-box {
  width: 100%;
  height: 300px;
  border-radius: 10px;
  overflow: hidden;
}
.exame-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 10px;
}
@media(max-width:767px){
  .exame-img-box { height: 220px; }
}

/* ── SIDEBAR counts e tag ativo ── */
.sidebar-count { font-size: 11px; color: #aaa; font-weight: 400; }
.sidebar-cat a { display:flex; justify-content:space-between; align-items:center; }
.tag-item.tag-ativo { background: var(--cor-primaria, #00718c); color: #fff; }
.tag-item.tag-ativo .sidebar-count { color: rgba(255,255,255,.7); }

/* ── EXAMES MOBILE SLIDER ── */
.exames-slider-wrap { overflow: hidden; width: 100%; border-radius: 10px; }
.exames-slider-track { display: flex; transition: transform .4s cubic-bezier(.4,0,.2,1); }
.exame-slide { flex: 0 0 100%; max-width: 100%; padding: 0 5px; box-sizing: border-box; text-align: center; }
.exame-slide a { text-decoration: none; color: inherit; display: block; }
.exame-slide .img-box { height: 240px; margin: 0 auto 12px; max-width: 280px; }
.exame-slide h4 { font-size:15px; font-weight:700; margin-top:50px; color:#444; }
.exames-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.e-dot { width: 8px; height: 8px; border-radius: 50%; border: none; background: #ccd8db; cursor: pointer; padding: 0; transition: all .3s; }
.e-dot.active { background: var(--cor-primaria, #00718c); width: 24px; border-radius: 4px; }

@media(max-width:767px){
  .slider-prev, 
  .blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
}

@media(max-width:767px){
  #links-rapidos .label { display: none; }
  #links-rapidos .container { justify-content: flex-start; padding-left: 12px; padding-right: 12px; }
  .btn-link-rapido { white-space: nowrap; flex-shrink: 0; }
}

/* ── SOBRE: video placeholder ── */
.sobre-video-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: linear-gradient(130deg,#005D73 29%,#FF8303 98%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.placeholder-inner { text-align: center; color: #fff; }
.placeholder-inner i { font-size: 60px; opacity: .8; display: block; margin-bottom: 12px; }
.placeholder-inner p { font-size: 14px; opacity: .7; margin: 0; }

/* ── AVALIAÇÕES GOOGLE ── */
#secao-avaliacoes { padding: 70px 0; background: #fff; }
.avaliacoes-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 15px; }
.avaliacoes-header h2 { margin: 0; }
.btn-google-review { display: inline-flex; align-items: center; padding: 9px 18px; border: 2px solid #e0e0e0; border-radius: 50px; font-size: 13px; font-weight: 600; color: #444; transition: all .3s; white-space: nowrap; }
.btn-google-review:hover { border-color: #4285f4; color: #4285f4; }
.avaliacoes-nota { display: flex; align-items: center; gap: 14px; margin-bottom: 32px; }
.nota-numero { font-size: 52px; font-weight: 800; color: var(--cor-primaria,#00718c); line-height: 1; }
.estrelas-google { color: #fbbc04; font-size: 24px; letter-spacing: 2px; }
.avaliacoes-grid { display:flex; gap:20px; transition:transform .45s cubic-bezier(.4,0,.2,1); overflow:visible; flex-wrap:nowrap; }
.card-avaliacao { background:#fff; border-radius:12px; padding:20px; box-shadow:0 2px 12px rgba(0,0,0,.07); flex:0 0 calc(33.333% - 14px); max-width:calc(33.333% - 14px); box-sizing:border-box; display:flex; flex-direction:column; gap:10px; }
.card-avaliacao:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); }
.av-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.av-avatar { width:40px; height:40px; border-radius:50%; background:#8a9bb0; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; flex-shrink:0; }
.av-nome { font-size: 14px; display: block; }
.av-data { font-size: 11px; color: #aaa; }
.av-logo-g { margin-left: auto; flex-shrink: 0; }
.estrelas-av { color: #fbbc04; font-size: 16px; margin-bottom: 10px; letter-spacing: 1px; }
.av-texto { font-size: 14px; line-height: 1.65; color: #555; margin: 0; }
.btn-ver-mais-av { display: inline-block; border: 2px solid var(--cor-primaria,#00718c); color: var(--cor-primaria,#00718c); padding: 11px 28px; border-radius: 50px; font-weight: 600; font-size: 14px; transition: all .3s; }
.btn-ver-mais-av:hover { background: var(--cor-primaria,#00718c); color: #fff; }
.avaliacoes-dots { justify-content: center; gap: 8px; margin-top: 16px; }
.av-dot { width: 8px; height: 8px; border-radius: 50%; border: none; background: #ccd8db; cursor: pointer; padding: 0; transition: all .3s; }
.av-dot.active { background: var(--cor-primaria,#00718c); width: 24px; border-radius: 4px; }
@media(max-width:1024px){ .avaliacoes-grid { display:flex; gap:20px; transition:transform .45s cubic-bezier(.4,0,.2,1); overflow:visible; flex-wrap:nowrap; } }
@media(max-width:767px){
  .avaliacoes-grid { display:flex; gap:20px; transition:transform .45s cubic-bezier(.4,0,.2,1); overflow:visible; flex-wrap:nowrap; }
  .avaliacoes-nota { gap: 10px; }
  .nota-numero { font-size: 40px; }
  .avaliacoes-header { flex-direction: column; align-items: flex-start; }
}

@media(max-width:767px){
  .avaliacoes-header { align-items: center !important; text-align: center !important; }
  .avaliacoes-header > div { text-align: center; width: 100%; }
  .avaliacoes-nota { justify-content: center; }
}

/* ── ARTIGO META ── */
.artigo-meta { display:flex; flex-wrap:wrap; gap:16px; font-size:13px; color:#888; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid #eee; }
.artigo-meta span { display:flex; align-items:center; gap:5px; }
.artigo-meta i { color:var(--cor-primaria,#00718c); }
.artigo-corpo a[title*="Clínica Rossetti"] { color:var(--cor-primaria,#00718c); text-decoration:underline; text-decoration-style:dotted; }

#s, #search2 input { color: rgba(0,0,0,.82) !important; }
#s::placeholder, #search2 input::placeholder { color: rgba(0,0,0,.45) !important; }

.label-bar { color: #00718c; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-right: 6px; white-space: nowrap; flex-shrink: 0; min-width: fit-content; display: inline-block;
}

@media(max-width:767px){ .card-exame .img-box { margin-bottom: 35px !important; } }

.avaliacoes-header > * { text-align: inherit; }
@media(max-width:767px){ .avaliacoes-header, .avaliacoes-header > * { text-align: center !important; } .nota-numero { text-align: center !important; } }

/* ── ARTIGOS RELACIONADOS ── */
.artigos-relacionados { margin-top: 40px; padding-top: 30px; border-top: 1px solid #eee; }
.artigos-relacionados h3 { font-size: 20px; margin-bottom: 18px; color: var(--cor-primaria,#00718c); }
.grid-relacionados { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.card-relacionado { display: block; background: #f7f9fa; border-radius: 10px; overflow: hidden; text-decoration: none; transition: box-shadow .3s; border: 1px solid #e5edf0; }
.card-relacionado:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.card-relacionado img { width:100%; height:140px; object-fit:cover; display:block; }
.card-rel-title { padding: 10px 12px; font-size: 13px; font-weight: 600; color: #333; line-height: 1.4; }
@media(max-width:767px){ .grid-relacionados { grid-template-columns: 1fr; } }

/* ── TABELA DE CONTEÚDO (ToC) ── */
.artigo-toc {
  background: #f0f7fa;
  border: 1px solid #c8dfe5;
  border-left: 4px solid var(--cor-primaria,#00718c);
  border-radius: 0 8px 8px 0;
  padding: 18px 22px;
  margin: 0 0 28px;
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.artigo-toc h4 {
  color: var(--cor-primaria,#00718c);
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.artigo-toc h4 i { margin-right: 8px; }
.artigo-toc ol {
  margin: 0;
  padding-left: 20px;
}
.artigo-toc ol li {
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.5;
}
.artigo-toc ol li a {
  color: var(--cor-primaria,#00718c);
  text-decoration: none;
  transition: color .2s;
}
.artigo-toc ol li a:hover {
  color: var(--cor-secundaria,#F8941C);
  text-decoration: underline;
}
.artigo-toc ol li.toc-h3 {
  margin-left: 16px;
  font-size: 13px;
  list-style-type: circle;
}
@media(max-width:767px){
  .artigo-toc { display: block; min-width: 0; }
}

/* ── AVALIACOES: slider desktop 3-a-vez ── */
#secao-avaliacoes .avaliacoes-grid { display:flex; gap:20px; transition:transform .45s cubic-bezier(.4,0,.2,1); overflow:visible; flex-wrap:nowrap; }


@media(max-width:767px){
  
}

/* ── Blog/Artigo título no subheader ── */
#subheader h1.tt {
  color: #fff !important;
  font-size: 38px;
  line-height: 1.2;
}
@media(max-width:767px){
  #subheader h1.tt { font-size: 26px; }
}

/* ── SOBRE: video institucional ── */
.sobre-video-wrap { width:100%; aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#000; }
.sobre-video-wrap iframe { width:100%; height:100%; border:none; display:block; }

/* ── ARTIGOS RELACIONADOS ── */
.artigos-relacionados { margin-top: 48px; padding-top: 32px; border-top: 2px solid #e8eef0; }
.artigos-relacionados h3 { font-size: 18px; font-weight: 700; color: var(--cor-primaria,#00718c); margin-bottom: 20px; }
.artigos-relacionados h3 i { margin-right: 8px; color: var(--cor-secundaria,#F8941C); }
.grid-relacionados { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.card-relacionado { display: flex; flex-direction: column; background: #f7f9fa; border-radius: 10px; overflow: hidden; text-decoration: none; border: 1px solid #e0eaed; transition: box-shadow .3s, transform .2s; }
.card-relacionado:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); transform: translateY(-2px); }
.card-relacionado img { width:100%; height:160px; object-fit:cover; display:block; }
.card-rel-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.card-rel-date { font-size: 11px; color: #aaa; }
.card-rel-date i { margin-right: 4px; }
.card-rel-title { font-size: 14px; font-weight: 700; color: #333; line-height: 1.4; }
.card-rel-exc { font-size: 12px; color: #777; line-height: 1.5; margin: 0; }
@media(max-width:767px){ .grid-relacionados { grid-template-columns: 1fr; } }

/* ── BARRA DE ACESSIBILIDADE ── */


#acc-toggle:hover { background: var(--cor-secundaria,#F8941C); }




/* Accessibility modes */
body
body
body

@media(max-width:767px){  }

@media(max-width:767px){ #hero .container { padding-top:120px !important; } }

@media(max-width:767px){
  #top-bar .container { height:60px !important; padding:0 16px; display:flex; align-items:center; justify-content:space-between; }
  #logo { margin-top:0 !important; height:44px; line-height:44px; }
  #logo img { height:36px !important; width:auto; }
  .btn-agendamento-bar { opacity:1 !important; margin-left:auto; }
  /* mobile-logo-align */
}

/* iOS: prevent zoom on input focus */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], select, textarea { font-size: 16px !important; }

/* ── WHATSAPP FIXED FLOAT ── */
#whatsapp-float {
  position: fixed;
  bottom: 18px;
  right: 18px;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #25d366;
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(0,0,0,.25);
  transition: transform .2s;
}
#whatsapp-float:hover { transform: scale(1.1); }
#whatsapp-float img, #whatsapp-float i { color:#fff; font-size:24px; }


}

/* Prevent double-tap zoom */
a, button, input, select, textarea, [role="button"] { touch-action: manipulation; }

@media(max-width:767px){ .barra-links-internos { display: block !important; } }

.grid-exames .card-exame h4 { margin-top: -25px !important; }

/* ── Avaliações slider: garantir 100% largura ── */
#secao-avaliacoes .avaliacoes-wrap,

#secao-avaliacoes .avaliacoes-grid { width: 100% !important; }
.card-avaliacao { box-sizing: border-box; }

/* ── SLIDER BUTTONS — padrão unificado ── */
.slider-prev,
.slider-next,
#avPrev,
#avNext {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 2px solid var(--cor-primaria, #00718c) !important;
  background: #fff !important;
  color: var(--cor-primaria, #00718c) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  transition: background .2s, color .2s !important;
  z-index: 10 !important;
  padding: 0 !important;
}
.slider-prev:hover, #avPrev:hover,
.slider-next:hover, #avNext:hover {
  background: var(--cor-primaria, #00718c) !important;
  color: #fff !important;
}
.slider-prev, #avPrev { left: -18px !important; }
.slider-next, #avNext { right: -18px !important; }
@media(max-width:767px){
  .slider-prev, .slider-next, #avPrev, #avNext { display: none !important; }
}


/* ── MENU MOBILE ESTILIZADO ── */
#menu-principal {
  display: none;
}
@media(max-width:1239px){
  #menu-principal {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,.15);
    z-index: 9999;
    padding: 8px 0;
    border-top: 2px solid var(--cor-primaria, #00718c);
  }
  #menu-principal > li {
    width: 100%;
    border-bottom: 1px solid #f0f4f6;
  }
  #menu-principal > li > a {
    display: block !important;
    padding: 14px 24px !important;
    color: #333 !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  #menu-principal > li > a:hover {
    background: #f0f7fa !important;
    color: var(--cor-primaria, #00718c) !important;
  }
  #menu-principal > li.menu-resultados > a {
    color: var(--cor-secundaria, #F8941C) !important;
  }
  /* Sub-menus */
  #menu-principal .sub-menu {
    display: none;
    background: #f8fbfc;
    border-top: 1px solid #e8eef0;
  }
  #menu-principal .sub-menu li a {
    display: block !important;
    padding: 10px 24px 10px 36px !important;
    color: #555 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    border-bottom: 1px solid #eef2f4 !important;
  }
  #menu-principal .sub-menu li a:hover {
    color: var(--cor-primaria, #00718c) !important;
    background: #edf6f9 !important;
  }
  /* Indicador de sub-menu */
  #menu-principal .tem-submenu > a::after {
    content: ' ›';
    float: right;
    color: #aaa;
  }
}


/* ── Página /exames mobile: h2 maior + tudo centralizado ── */
@media(max-width:767px){
  body.page-exames #conteudo h2 { font-size: 38px !important; text-align: center !important; }
  body.page-exames #conteudo h3 { text-align: center !important; }
  body.page-exames #conteudo h4 { text-align: center !important; }
  body.page-exames #conteudo p  { text-align: center !important; }
  body.page-exames #conteudo img { margin: 0 auto !important; display: block !important; }
  body.page-exames .exame-link-card { text-align: center !important; }
  body.page-exames .card-preparo { text-align: center !important; }
}

/* ══════════════════════════════════════
   SEÇÃO POR QUE ROSSETTI — Layout imagem
   ══════════════════════════════════════ */
#secao-porque {
  padding: 70px 0;
  background: #f9f9f9;
}
#secao-porque .label-topo {
  text-align: center;
  display: block;
  margin-bottom: 10px;
}
.porque-titulo {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: #222;
  margin: 0 0 40px;
}
.grid-porque {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
.grid-porque .imagem img {
  width: 100%;
  max-width: 420px;
  border-radius: 12px;
  display: block;
  margin: 0 auto;
}
.grid-porque .texto {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.lista-beneficios { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:14px; text-align:left !important; }
.lista-beneficios li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  color: #444;
  line-height: 1.5;
}
.lista-beneficios li i {
  color: var(--cor-primaria, #00718c);
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}
.btn-quem-somos {
  display: inline-block;
  background: var(--cor-primaria, #00718c);
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  align-self: flex-start;
  transition: background .2s;
}
.btn-quem-somos:hover {
  background: #005a70;
}

/* Mobile */
@media(max-width:767px){
  .grid-porque {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .porque-titulo { font-size: 24px; }
  .btn-quem-somos { align-self: center; }
}


/* Avaliações: card altura automática (sem clamp) */
.card-avaliacao {
  box-sizing: border-box !important;
  background: #fff;
  border-radius: 12px;
  padding: 22px 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
}

/* ══════════════════════════════════════
   TOP BAR MOBILE — como na imagem
   Logo esquerda | [Agendamento oval] [☰ laranja]
   ══════════════════════════════════════ */
@media(max-width:1239px){
  #top-bar .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 62px !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
  }
  #logo { flex:0 0 auto !important; }
  #logo img.logo-principal { height:34px !important; width:auto !important; display:block !important; }
  .mobile-right { display:flex !important; align-items:center !important; gap:12px !important; }
  #btn-agendamento-mobile {
    display:inline-flex !important;
    align-items:center !important;
    padding:7px 18px !important;
    border:2px solid #fff !important;
    color:#fff !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:600 !important;
    background:transparent !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    position:static !important;
    transform:none !important;
    letter-spacing:.3px;
  }
  #btn-agendamento-mobile:hover { background:rgba(255,255,255,.15) !important; }
  #menu-toggle {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:36px !important; height:36px !important;
    background:none !important;
    border:none !important;
    color:var(--cor-secundaria,#F8941C) !important;
    font-size:24px !important;
    cursor:pointer !important;
    padding:0 !important;
    flex-shrink:0 !important;
  }
  #menu-principal { display:none !important; }
}
@media(min-width:1240px){
  .mobile-right { display:none !important; }
  #btn-agendamento-mobile { display:none !important; }
  #mobile-menu-panel { display:none !important; }
}

/* ══════════════════════════════════════
   DRAWER MENU MOBILE — profissional
   ══════════════════════════════════════ */
#mobile-menu-panel {
  position:fixed; inset:0; z-index:99990; pointer-events:none;
}
#mobile-menu-panel.open { pointer-events:all; }
#mobile-menu-overlay {
  position:absolute; inset:0;
  background:rgba(0,0,0,.35);
  opacity:0; transition:opacity .3s ease;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
#mobile-menu-panel.open #mobile-menu-overlay { opacity:1; }
#mobile-menu-drawer {
  position:absolute; top:0; right:0; bottom:0;
  width:min(320px,90vw);
  background:#fff;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column;
  box-shadow:-4px 0 20px rgba(0,0,0,.15);
  overflow-y:auto;
}
#mobile-menu-panel.open #mobile-menu-drawer { transform:translateX(0); }




#mobile-menu-nav { flex:1; padding:8px 0; }
#mobile-menu-nav ul { list-style:none; margin:0; padding:0; }
#mobile-menu-nav > ul > li > a,
#mobile-menu-nav > ul > li > button.mob-sub-toggle {
  display:flex; align-items:center; gap:12px;
  padding:14px 20px;
  font-size:15px; font-weight:600;
  color:#2a2a2a;
  text-decoration:none;
  border:none; background:none; width:100%; text-align:left;
  cursor:pointer;
  border-bottom:1px solid #f0f0f0;
  transition:background .15s, color .15s;
}
#mobile-menu-nav > ul > li > a i,
#mobile-menu-nav > ul > li > button i:first-child {
  color:var(--cor-primaria,#00718c); font-size:16px; width:20px; text-align:center; flex-shrink:0;
}
#mobile-menu-nav > ul > li > a:hover,
#mobile-menu-nav > ul > li > button.mob-sub-toggle:hover {
  background:#f0f8fa; color:var(--cor-primaria,#00718c);
}
.mob-arrow { margin-left:auto; font-size:12px !important; color:#aaa !important; transition:transform .2s; }
.mob-has-sub.open .mob-arrow { transform:rotate(180deg); }

/* Sub-items menores */
.mob-sub {
  display:none; background:#f8fafb;
  border-bottom:1px solid #e8f0f2;
}
.mob-has-sub.open .mob-sub { display:block; }
.mob-sub li a {
  display:flex; align-items:center;
  padding:11px 20px 11px 52px;
  font-size:13.5px; font-weight:400; color:#444;
  text-decoration:none;
  border-bottom:1px solid #edf1f2;
  transition:color .15s;
}
.mob-sub li a:before {
  content:"›"; margin-right:8px; color:var(--cor-secundaria,#F8941C); font-size:16px;
}
.mob-sub li a:hover { color:var(--cor-primaria,#00718c); }

/* Footer redes sociais */
#mobile-menu-footer {
  padding:20px 20px 28px;
  border-top:2px solid #f0f0f0;
  text-align:center; flex-shrink:0;
}
#mobile-menu-footer p {
  font-size:12px; color:#aaa; letter-spacing:1.5px;
  text-transform:uppercase; margin:0 0 12px;
}
.mob-social { display:flex; justify-content:center; gap:16px; margin-bottom:14px; }
.mob-social a {
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  background:var(--cor-primaria,#00718c); color:#fff;
  font-size:18px; text-decoration:none;
  transition:background .2s, transform .2s;
}
.mob-social a:hover { background:var(--cor-secundaria,#F8941C); transform:scale(1.1); }
.mob-tel { font-size:13px; color:#555 !important; margin:0 !important; }
.mob-tel i { color:var(--cor-primaria,#00718c); margin-right:6px; }

/* ══════════════════════════════════════
   DOTS — estilo pill animado
   Inativos: bolinha pequena cinza
   Ativo: pill largo azul Rossetti
   ══════════════════════════════════════ */
#avDots button,
#sliderDots button,
#examesDots button {
  width: 8px !important;
  height: 8px !important;
  border-radius: 4px !important;
  border: none !important;
  background: #ccd6da !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: width .3s cubic-bezier(.4,0,.2,1), background .3s !important;
  flex-shrink: 0 !important;
}
#avDots button.active,
#sliderDots button.active,
#examesDots button.active {
  width: 28px !important;
  background: var(--cor-primaria, #00718c) !important;
  border-radius: 4px !important;
}
#avDots, #sliderDots, #examesDots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 18px !important;
  flex-wrap: nowrap !important;
}


/* Also fix dots container inline display:none */
#avDots[style*="none"] { display: flex !important; }

#acc-tools button i { font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important; font-size: 14px !important; width: 16px; text-align: center; flex-shrink: 0; }


/* Wrapper externo: position:relative, padding para acomodar botões */
.avaliacoes-slider-wrap,
.blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}

/* Viewport: overflow hidden, 100% */
.avaliacoes-viewport,
.blog-slider-viewport {
  overflow: hidden !important;
  width: 100% !important;
}

/* Track: flex sem wrap */
.avaliacoes-grid,
#blogTrack {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* Botões prev/next: idênticos em ambos */
.slider-prev,
.slider-next,
#avPrev,
#avNext {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 2px solid var(--cor-primaria,#00718c) !important;
  background: #fff !important;
  color: var(--cor-primaria,#00718c) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  transition: background .2s, color .2s !important;
  z-index: 10 !important;
  padding: 0 !important;
}
.slider-prev:hover, #avPrev:hover,
.slider-next:hover, #avNext:hover {
  background: var(--cor-primaria,#00718c) !important;
  color: #fff !important;
}
.slider-prev, #avPrev { left: 0 !important; }
.slider-next, #avNext { right: 0 !important; }

@media(max-width:767px){
  .slider-prev, .slider-next, #avPrev, #avNext { display:none !important; }
  .avaliacoes-slider-wrap, .blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
}

/* Acc bar: garantir ícones FontAwesome visíveis */
#acc-tools button i,
#acc-toggle i {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  display: inline-block !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
}




/* Blog wrapper: já ocupa 100% do container sem padding */
.blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
.blog-slider-viewport {
  overflow: hidden !important;
  width: 100% !important;
}

/* Avaliações: negative margin para compensar padding do container pai */
/* Container tem padding: 0 22px → margin negativo anula isso */
.avaliacoes-slider-wrap {
  position: relative !important;
  margin-left: -22px !important;
  margin-right: -22px !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
  width: calc(100% + 44px) !important;
}
.avaliacoes-viewport {
  overflow: hidden !important;
  width: 100% !important;
}

/* Track das avaliações */
#avaliacoesTrack {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
}

/* Botões IDÊNTICOS nos dois carrosseis */
.slider-prev,
.slider-next,
#avPrev,
#avNext {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 2px solid var(--cor-primaria,#00718c) !important;
  background: #fff !important;
  color: var(--cor-primaria,#00718c) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  transition: background .2s, color .2s !important;
  z-index: 10 !important;
  padding: 0 !important;
}
.slider-prev:hover, #avPrev:hover,
.slider-next:hover, #avNext:hover {
  background: var(--cor-primaria,#00718c) !important;
  color: #fff !important;
}
/* Posição dos botões DENTRO do padding (28px) */
.slider-prev, #avPrev { left: 0 !important; right: auto !important; }
.slider-next, #avNext { right: 0 !important; left: auto !important; }

@media(max-width:767px){
  .slider-prev, .slider-next, #avPrev, #avNext { display:none !important; }
  .avaliacoes-slider-wrap, .blog-slider-wrap {
  position: relative !important;
  width: calc(100% - 80px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}
  .avaliacoes-slider-wrap { margin:0 !important; width:100% !important; }
}

/* "Como chegar" oculto no mobile */
@media(max-width:767px){
  a.btn-link-rapido[href*="mapa"],
  a.btn-link-rapido[href*="chegar"] { display:none !important; }
}

/* ── HERO desktop: padding-top 90px !important ── */
@media(min-width:768px){
  #hero .container { padding-top: 135px !important; }
}

/* ── HERO mobile: padding-top atual - 25px ── */
/* atual mobile é 120px → 120-25 = 95px */
@media(max-width:767px){
  #hero .container { padding-top: 95px !important; }
}

/* ── PÁGINAS EXAME individuais: texto à esquerda apenas desktop ── */
@media(min-width:768px){
  .secao-exame h2,
  .secao-exame h3,
  .secao-exame p,
  .secao-exame ul,
  .secao-exame li,
  .secao-exame .faq-pergunta,
  .secao-exame .faq-resposta {
    text-align: left !important;
  }
}

/* ── Espaçamento barra-links → conteudo ── */
/* Páginas normais: 30px de respiro */
#conteudo { padding-top: 30px !important; }

/* Blog e artigos: menos espaço (12px) */
body.blog #conteudo,
body.artigo #conteudo,
.page-blog #conteudo { padding-top: 12px !important; }

/* ══════════════════════════════════════
   ACESSIBILIDADE — direita, acima do WhatsApp
   ══════════════════════════════════════ */
#acessibilidade-bar {
  position: fixed !important;
  bottom: 80px !important;
  right: 18px !important;
  left: auto !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 0 !important;
}

/* Botão principal: círculo preto */
#acc-toggle {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.82) !important;
  color: #fff !important;
  border: none !important;
  font-size: 20px !important;
  cursor: pointer !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s !important;
  -webkit-tap-highlight-color: transparent !important;
}
#acc-toggle:hover { background: rgba(0,0,0,0.95) !important; }

/* Painel de ferramentas: abre acima do toggle, lado direito */
#acc-tools {
  position: absolute !important;
  bottom: 52px !important;
  right: 0 !important;
  left: auto !important;
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  background: #fff !important;
  border-radius: 12px !important;
  padding: 10px 8px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.18) !important;
  border: 1px solid #e0eaed !important;
  min-width: 172px !important;
  align-items: stretch !important;
  white-space: nowrap !important;
}
#acc-tools.open {
  display: flex !important;
}

/* Botões internos */
#acc-tools button {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  border: none !important;
  border-radius: 7px !important;
  background: #f4f8fa !important;
  color: #2a2a2a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: background .15s !important;
  font-family: inherit !important;
  width: 100% !important;
}
#acc-tools button:hover {
  background: #e0f0f4 !important;
  color: var(--cor-primaria, #00718c) !important;
}
#acc-tools button i {
  color: var(--cor-primaria, #00718c) !important;
  width: 16px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

/* Divisor A+/A-/A na mesma linha */
.acc-font-row {
  display: flex !important;
  gap: 4px !important;
}
.acc-font-row button {
  flex: 1 !important;
  justify-content: center !important;
  padding: 8px 4px !important;
}

/* Modos */
body.acc-contraste { filter: invert(1) hue-rotate(180deg) !important; }
body.acc-contraste img, body.acc-contraste video { filter: invert(1) hue-rotate(180deg) !important; }
body.acc-pb { filter: grayscale(1) !important; }
body.acc-links a { outline: 2px solid var(--cor-secundaria,#F8941C) !important; text-decoration: underline !important; }

/* Mobile menu: ícones li laranja Rossetti */
#mobile-menu-nav > ul > li > a i,
#mobile-menu-nav > ul > li > button.mob-sub-toggle i:first-child {
  color: var(--cor-secundaria, #F8941C) !important;
}

/* Acessibilidade: apenas ícones */
#acc-tools button {
  justify-content: center !important;
  padding: 10px !important;
  min-width: 42px !important;
  width: 42px !important;
  font-size: 0 !important;
}
#acc-tools button i,
#acc-tools button b {
  font-size: 16px !important;
  color: var(--cor-primaria, #00718c) !important;
  width: auto !important;
}
#acc-tools button b {
  font-size: 14px !important;
  font-weight: 700 !important;
}
.acc-font-row {
  gap: 4px !important;
}
/* Reduzir largura do painel pois agora é só ícones */
#acc-tools {
  min-width: auto !important;
  padding: 8px !important;
  gap: 4px !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  width: auto !important;
  justify-content: center !important;
}
.acc-font-row {
  display: contents !important;
}

/* Mobile menu: X na linha do Início, sem header azul */
#mobile-menu-drawer {
  padding-top: 0 !important;
}
.mob-close-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.mob-close-row > a {
  flex: 1 !important;
}
#mobile-menu-close {
  background: none !important;
  border: none !important;
  color: rgba(0,0,0,0.8) !important;
  font-size: 18px !important;
  cursor: pointer !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
}
#mobile-menu-close:hover { color: #000 !important; }

/* iFrames: contato, agendamento, ouvidoria */
.form-contato iframe,
.form-agendamento iframe,
.form-ouvidoria iframe,
#conteudo iframe {
  margin-left: -10px !important;
}

/* Política de privacidade */
.politica-wrap { max-width: 820px; margin: 0 auto; }
.politica-wrap h2 { font-size: 20px !important; color: var(--cor-primaria); margin: 32px 0 10px; }
.politica-wrap p, .politica-wrap li { font-size: 15px; line-height: 1.75; color: #444; }
.politica-wrap ul { padding-left: 20px; margin-bottom: 16px; }
.politica-wrap li { margin-bottom: 6px; }
.politica-wrap a { color: var(--cor-primaria); text-decoration: underline; }
.politica-update { font-size: 13px !important; color: #888 !important; margin-bottom: 28px; }

/* selo-dponet: desktop left, mobile center */
.selo-dponet { display:flex !important; align-items:center !important; justify-content:flex-start !important; text-align:left !important; width:100% !important; }

/* ═══ CARROSSEIS DESKTOP — padrão unificado ═══ */
.avaliacoes-slider-wrap,
.blog-slider-wrap {
  position: relative !important;
  width: 100% !important;
  padding: 0 44px !important;
  box-sizing: border-box !important;
}
.avaliacoes-viewport,
.blog-slider-viewport {
  overflow: hidden !important;
  width: 100% !important;
}
#avaliacoesTrack,
#blogTrack {
  display: flex !important;
  flex-wrap: nowrap !important;
}
.slider-prev, #avPrev { left: 0 !important; right: auto !important; }
.slider-next, #avNext { right: 0 !important; left: auto !important; }
@media(max-width:767px){
  .avaliacoes-slider-wrap, .blog-slider-wrap {
    width: 100% !important; margin: 0 !important; padding: 0 30px !important;
  }
  .slider-prev,.slider-next,#avPrev,#avNext { display:none !important; }
}

/* Hero mobile: h1 e .big left */
@media(max-width:767px){
  #hero .container { text-align: left !important; }
  #hero h1 { text-align: left !important; }
  #hero .big { text-align: left !important; width: 100% !important; display: block !important; }
  #hero .hero-content { text-align: left !important; }
}

/* ═══ TÍTULOS INTERNOS ═══ */
#conteudo h2 { font-size: 26px !important; line-height: 1.3; }
#conteudo h3 { font-size: 20px !important; }
#conteudo h4 { font-size: 17px !important; }

/* PÁGINA EXAMES DESKTOP: todo conteúdo left */
@media(min-width:768px){
  body.page-exames #conteudo h1,
  body.page-exames #conteudo h2,
  body.page-exames #conteudo h3,
  body.page-exames #conteudo h4,
  body.page-exames #conteudo p,
  body.page-exames #conteudo ul,
  body.page-exames #conteudo li,
  body.page-exames #conteudo a { text-align: left !important; }
}

/* PÁGINAS EXAME INDIVIDUAIS DESKTOP: texto left, CTAs centro */
@media(min-width:768px){
  .secao-exame h2,
  .secao-exame h3,
  .secao-exame p,
  .secao-exame ul,
  .secao-exame li { text-align: left !important; }
  .secao-exame .btn-agendar,
  .secao-exame a.btn-agendar { text-align: center !important; display: block; }
}

/* CONTATO/OUVIDORIA/AGENDAMENTO desktop: left */
@media(min-width:768px){
  body.page-contato #conteudo .container,
  body.page-contato #conteudo .container *,
  body.page-ouvidoria #conteudo .container,
  body.page-ouvidoria #conteudo .container *,
  body.page-agendar #conteudo .container,
  body.page-agendar #conteudo .container * { text-align: left !important; }
  .ouvidoria-sub,
  .ouvidoria-sub * { text-align: left !important; }
}

.lista-beneficios li { text-align: left !important; }

.lista-beneficios li span { text-align: left !important; }

/* Sobre: Nossa história texto left desktop */
@media(min-width:768px){
  .sobre-historia-texto,
  .sobre-historia-texto *,
  #sobre-historia p,
  #sobre-historia h2,
  #sobre-historia h3 { text-align: left !important; }
}



/* Tag links in article content */
a.tag-link {
  color: var(--cor-primaria, #00718c);
  text-decoration: underline;
  text-decoration-color: rgba(0,113,140,0.35);
  text-underline-offset: 2px;
  font-weight: inherit;
  transition: color .15s, text-decoration-color .15s;
}
a.tag-link:hover {
  color: var(--cor-secundaria, #F8941C);
  text-decoration-color: rgba(248,148,28,0.5);
}

/* Subheader h1 mobile: tamanho ajustado para quebra equilibrada */
@media(max-width:767px){
  #subheader h1 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }
  #subheader h6 {
    text-align: center !important;
  }
  #subheader .breadcrumb {
    text-align: center !important;
  }
  #subheader .container {
    text-align: center !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* ═══ SOBRE — NOSSA HISTÓRIA: 2 COLUNAS DESKTOP ═══ */
.sobre-historia-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.sobre-col-esq,
.sobre-col-dir {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.sobre-historia-titulo {
  font-size: 28px;
  font-weight: 700;
  color: var(--cor-primaria);
  margin: 0 0 20px;
  text-align: left;
}
.sobre-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 20px;
}
.sobre-video-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
  border-radius: 10px;
}
.sobre-historia-texto p {
  font-size: 15px;
  line-height: 1.75;
  color: #444;
  margin-bottom: 16px;
  text-align: left !important;
}

/* Mobile: coluna única */
@media(max-width:767px){
  .sobre-historia-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .sobre-col-dir { margin-top: 0; }
  .sobre-historia-titulo { font-size: 22px; }
}

/* ═══ EXAMES INDIVIDUAIS DESKTOP: 2 colunas, texto left, botões auto ═══ */
@media(min-width:768px){
  .secao-exame {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    align-items: start !important;
  }
  .secao-exame h2,
  .secao-exame h3,
  .secao-exame p,
  .secao-exame ul,
  .secao-exame li { text-align: left !important; }
  /* Botões: não 100% */
  .secao-exame .btn-agendar,
  .secao-exame a[class*="btn"] {
    width: auto !important;
    display: inline-block !important;
  }
}
/* Mobile: 1 coluna */
@media(max-width:767px){
  .secao-exame {
    display: block !important;
    grid-template-columns: none !important;
  }
  .secao-exame h2,
  .secao-exame h3,
  .secao-exame p,
  .secao-exame ul { text-align: center !important; }
}
