/* Tema refinado por cima do Elementor original (estrutura e conteúdo intactos). */
@font-face {
  font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(/fontes/plus-jakarta-sans-latin-wght-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans'; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(/fontes/plus-jakarta-sans-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* uma fonte só: as tipografias globais do Elementor (antes Montserrat do Google) passam a usar a Plus Jakarta Sans local */
.elementor-kit-19 {
  --e-global-typography-0d5454c-font-family: 'Plus Jakarta Sans'; --e-global-typography-2d4631e-font-family: 'Plus Jakarta Sans';
  --e-global-typography-3bcc232-font-family: 'Plus Jakarta Sans'; --e-global-typography-4ac71db-font-family: 'Plus Jakarta Sans';
  --e-global-typography-6ba0f21-font-family: 'Plus Jakarta Sans'; --e-global-typography-759f7e4-font-family: 'Plus Jakarta Sans';
  --e-global-typography-8290cf9-font-family: 'Plus Jakarta Sans'; --e-global-typography-8c51f57-font-family: 'Plus Jakarta Sans';
  --e-global-typography-960b046-font-family: 'Plus Jakarta Sans'; --e-global-typography-a89b1a5-font-family: 'Plus Jakarta Sans';
  --e-global-typography-accent-font-family: 'Plus Jakarta Sans'; --e-global-typography-add4d57-font-family: 'Plus Jakarta Sans';
  --e-global-typography-b64874a-font-family: 'Plus Jakarta Sans'; --e-global-typography-f04d15a-font-family: 'Plus Jakarta Sans';
  --e-global-typography-primary-font-family: 'Plus Jakarta Sans'; --e-global-typography-secondary-font-family: 'Plus Jakarta Sans';
  --e-global-typography-text-font-family: 'Plus Jakarta Sans';
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}
/* animações de entrada do Elementor mais curtas e com deslocamento pequeno (antes subiam 100% da altura) */
.elementor-24 .animated, .elementor-24 .animated-slow { animation-duration: .7s !important; }
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 28px, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInLeft { from { opacity: 0; transform: translate3d(-28px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInRight { from { opacity: 0; transform: translate3d(28px, 0, 0); } to { opacity: 1; transform: none; } }
:root {
  --t-azul: #1b3c59;
  --t-azul-esc: #0f2539;
  --t-azul-med: #24507a;
  --t-azul-cla: #2f6a9a;
  --t-aco: #5a758c;
  --t-gelo: #eef3f8;
  --t-gelo-2: #f6f9fc;
  --t-celeste: #a9c6e0;
  --t-borda: rgba(27, 60, 89, .08);
  --t-sombra: 0 30px 60px -28px rgba(15, 37, 57, .45);
  --t-sombra-s: 0 14px 34px -18px rgba(15, 37, 57, .35);
  --t-fonte: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --t-grad: linear-gradient(135deg, var(--t-azul) 0%, var(--t-azul-cla) 100%);
}

body { -webkit-font-smoothing: antialiased; }
.elementor-heading-title, .elementor-widget-text-editor, .elementor-icon-list-text, .elementor-button-text,
.jkit-menu a, .elementor-post__title, .elementor-post__read-more, .elementor-icon-box-title,
.comment-content, .profile-name, .profile-des { font-family: var(--t-fonte) !important; }
.elementor-heading-title { letter-spacing: -.02em; }
.elementor-widget-text-editor { line-height: 1.75; }

/* Botões: pílula com degradê (o "Saiba Mais" do topo fica como no site antigo) */
.elementor-widget-button:not(.elementor-element-bffd796) .elementor-button, .tema-botao {
  border-radius: 999px !important;
  background: var(--t-grad) !important;
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  box-shadow: 0 12px 26px -12px rgba(27, 60, 89, .7);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.elementor-widget-button:not(.elementor-element-bffd796) .elementor-button:hover, .tema-botao:hover { transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(27, 60, 89, .8); }

/* Faixa de atendimento */
.elementor-62 .elementor-element.elementor-element-269f43ec {
  background: linear-gradient(90deg, var(--t-azul-esc) 0%, var(--t-azul) 55%, var(--t-azul-cla) 100%) !important;
}
.elementor-62 .elementor-element.elementor-element-2e2f8569 > .elementor-widget-wrap { background: transparent !important; }
/* faixa do topo: respiro entre o ícone, "Atendimento" e o número */
.elementor-62 .elementor-element-2080bc07 .elementor-icon-list-text b { margin-right: 8px; font-weight: 700; }
.elementor-62 .elementor-element-2080bc07 .elementor-icon-list-text { letter-spacing: .01em; }
.elementor-62 .elementor-element-331152c4 .elementor-icon-list-icon i,
.elementor-62 .elementor-element-331152c4 .elementor-icon-list-icon svg { color: #fff !important; fill: #fff !important; }

/* Cabeçalho: fixo; some ao descer; ao subir volta só a parte branca, em vidro (classes postas por /tema.js) */
body { padding-top: var(--tema-cab-h, 135px); }
.elementor-location-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1); will-change: transform;
}
.cab-vidro .elementor-location-header { transform: translateY(calc(-1 * var(--tema-barra-h, 0px))); }
.cab-oculto .elementor-location-header { transform: translateY(-100%); }
.elementor-62 .elementor-element.elementor-element-5dcd81de { background: #fff !important; transition: background .35s ease, box-shadow .35s ease; }
.cab-vidro .elementor-62 .elementor-element.elementor-element-5dcd81de {
  background: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 1px 0 rgba(27, 60, 89, .06), 0 18px 40px -28px rgba(15, 37, 57, .55);
}
.elementor-62 .jkit-menu > li > a { font-weight: 600 !important; transition: color .2s; }

/* Menu lateral do celular */
.tema-btn-menu { display: none; }
@media (max-width: 1024px) {
  .elementor-62 .jkit-hamburger-menu, .elementor-62 .jkit-menu-wrapper { display: none !important; }
  /* botão do menu encostado à direita dentro da coluna do menu */
  .elementor-62 .elementor-element-24f5ad3b > .elementor-widget-wrap { justify-content: flex-end; }
  .elementor-62 .elementor-element.elementor-element-604b713 { width: 100%; }
  .elementor-62 .elementor-element-604b713 .jkit-nav-menu { display: flex !important; justify-content: flex-end; }
  .tema-btn-menu {
    display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-left: auto;
    border-radius: 14px; border: 1px solid #dce3ea; background: #fff; cursor: pointer; position: relative;
  }
  .tema-btn-menu span, .tema-btn-menu span::before, .tema-btn-menu span::after {
    content: ''; position: absolute; left: 50%; width: 20px; height: 2px; margin-left: -10px; border-radius: 2px; background: var(--t-azul);
  }
  .tema-btn-menu span { top: 50%; margin-top: -1px; }
  .tema-btn-menu span::before { top: -6px; left: 0; margin-left: 0; }
  .tema-btn-menu span::after { top: 6px; left: 0; margin-left: 0; width: 14px; }
}
.tema-menu-fundo {
  position: fixed; inset: 0; z-index: 1100; background: rgba(10, 30, 44, .45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s ease, visibility .3s;
}
.tema-menu {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1110; width: min(86vw, 360px); background: #fff;
  box-shadow: -30px 0 60px -30px rgba(10, 30, 44, .5); display: flex; flex-direction: column; overflow-y: auto;
  transform: translateX(105%); visibility: hidden; transition: transform .38s cubic-bezier(.22, 1, .36, 1), visibility .38s;
  font-family: var(--t-fonte);
}
.menu-aberto, .menu-aberto body { overflow: hidden; }
.menu-aberto .tema-menu-fundo { opacity: 1; visibility: visible; pointer-events: auto; }
.menu-aberto .tema-menu { transform: translateX(0); visibility: visible; }
.tema-menu-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #eef1f4; }
.tema-menu-topo img { width: 172px; height: auto; margin: -16px 0 -16px -12px; }
.tema-menu-topo button {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid #dce3e8; background: #fff; color: var(--t-azul);
  cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.tema-menu-links { display: flex; flex-direction: column; padding: 8px 20px; }
.tema-menu-links a {
  display: flex; justify-content: space-between; align-items: center; padding: 17px 4px; border-bottom: 1px solid #eef1f4;
  color: var(--t-azul); text-decoration: none; font-size: 18px; font-weight: 600;
}
.tema-menu-links a span { color: var(--t-azul-cla); transition: transform .2s; }
.tema-menu-links a:active span { transform: translateX(4px); }
.tema-menu-pe { margin-top: auto; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.tema-menu-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; border-radius: 999px;
  background: var(--t-grad); color: #fff; text-decoration: none; font-size: 16px; font-weight: 600;
  box-shadow: 0 14px 28px -14px rgba(27, 60, 89, .8);
}
.tema-menu-tel {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; border-radius: 999px;
  border: 1px solid #dce3e8; color: var(--t-azul); text-decoration: none; font-size: 15px; font-weight: 500;
}
.tema-menu-tel svg { color: var(--t-azul-cla); }
.tema-menu-ig { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; color: #4d5d67; text-decoration: none; font-size: 14px; }
/* cores do menu lateral acima da cor de link do kit do Elementor */
.elementor-kit-19 .tema-menu-links a { color: var(--t-azul); }
.elementor-kit-19 .tema-menu-cta { color: #fff; }
.elementor-kit-19 .tema-menu-tel { color: var(--t-azul); }
.elementor-kit-19 .tema-menu-ig { color: #4d5d67; }

/* Topo: a composição do site original (nome, título em caixa alta, "Cirurgia do Joelho", degradê suave
   que deixa a foto aparecer), com tipografia mais firme e o CTA de agendar ao lado do "Saiba Mais" */
.elementor-24 .elementor-element.elementor-element-582113ac { padding: 130px 0 136px !important; overflow: hidden; }
.elementor-24 .elementor-element-582113ac > .elementor-container { position: relative; z-index: 2; width: 100%; }
/* fundos em WebP (scripts/otimizar.py), versão menor no celular */
.elementor-24 .elementor-element.elementor-element-582113ac:not(.elementor-motion-effects-element-type-background) { background-image: url(/wp-content/uploads/2023/10/BG-dr-victor.webp) !important; }
.elementor-24 .elementor-element.elementor-element-1697b478:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap { background-image: url(/wp-content/uploads/2023/10/BG-dr-victor-3.webp) !important; }
@media (max-width: 767px) {
  .elementor-24 .elementor-element.elementor-element-582113ac:not(.elementor-motion-effects-element-type-background) { background-image: url(/wp-content/uploads/2023/10/BG-dr-victor-celular.webp) !important; }
  .elementor-24 .elementor-element.elementor-element-1697b478:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap { background-image: url(/wp-content/uploads/2023/10/BG-dr-victor-3-celular.webp) !important; }
}
.elementor-24 .elementor-element-6cd01be .elementor-heading-title { font-size: 22px !important; font-weight: 500 !important; letter-spacing: 0; }
.elementor-24 .elementor-element-074cab8 .elementor-heading-title {
  font-size: clamp(32px, 3.4vw, 48px) !important; font-weight: 700 !important; line-height: 1.15 !important; letter-spacing: .01em !important;
  text-shadow: 0 2px 24px rgba(10, 30, 44, .25);
}
.elementor-24 .elementor-element-cbdfdeb .elementor-heading-title { font-size: 24px !important; font-weight: 600 !important; letter-spacing: .06em !important; }

/* CTA do topo: "Agendar Consulta" no formato original do site (pílula 20/40), com o degradê dos botões de agendar */
.elementor-24 .elementor-element-bffd796 .elementor-button-wrapper { display: flex; flex-wrap: wrap; gap: 14px; }
.elementor-24 .elementor-element-bffd796 .tema-cta {
  background: linear-gradient(135deg, var(--t-azul-cla) 0%, var(--t-azul-med) 100%) !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  box-shadow: 0 18px 36px -16px rgba(0, 0, 0, .6) !important;
}
.elementor-24 .elementor-element-bffd796 .tema-cta .elementor-button-content-wrapper { gap: 12px; }
.elementor-24 .elementor-element-bffd796 .tema-cta svg { width: 18px; height: 18px; fill: #fff; }
.elementor-24 .elementor-element-bffd796 .elementor-button:not(.tema-cta) { border: 1px solid rgba(255, 255, 255, .12) !important; }

/* Sobre */
.elementor-24 .elementor-element.elementor-element-32109f21 { background: linear-gradient(180deg, #fff 0%, var(--t-gelo-2) 100%) !important; }
/* moldura acompanha a foto: o container encolhe para o tamanho da imagem */
.elementor-24 .elementor-element-705cea85 .elementor-widget-container {
  position: relative; isolation: isolate; width: fit-content; max-width: 100%; margin: 0 auto; line-height: 0;
}
.elementor-24 .elementor-element-705cea85 .elementor-widget-container::before {
  content: ''; position: absolute; inset: 20px -20px -20px 20px; border-radius: 30px; z-index: -1; background: var(--t-grad);
}
.elementor-24 .elementor-element-705cea85 img { border-radius: 26px !important; box-shadow: var(--t-sombra); width: 100% !important; }
@media (min-width: 768px) { .elementor-24 .elementor-element-2fad1a23 > .elementor-widget-wrap { padding-left: 56px !important; } }
.elementor-24 .elementor-element-4f54200c { color: #4a5b6b; }
.elementor-24 .elementor-element-1698121f .elementor-heading-title { font-size: clamp(30px, 3vw, 42px) !important; font-weight: 800 !important; }
.elementor-24 .elementor-element-c8d386c .elementor-heading-title {
  display: inline-block; padding: 7px 16px; border-radius: 999px; background: var(--t-gelo); color: var(--t-azul) !important;
  font-size: 14px !important; font-weight: 700 !important; letter-spacing: .04em;
}
.elementor-24 .elementor-element-91dee5c .elementor-column > .elementor-widget-wrap {
  background: #fff; border: 1px solid var(--t-borda); border-radius: 18px; margin: 6px; padding: 10px !important;
  box-shadow: var(--t-sombra-s); transition: transform .3s;
}
.elementor-24 .elementor-element-91dee5c .elementor-column > .elementor-widget-wrap:hover { transform: translateY(-4px); }

/* Títulos de seção: sobretítulo + traço em degradê */
.elementor-24 .elementor-element-3e8e90b .elementor-heading-title,
.elementor-24 .elementor-element-1c1e2cb4 .elementor-heading-title {
  font-size: 13px !important; font-weight: 700 !important; letter-spacing: .24em !important; text-transform: uppercase; color: var(--t-azul-cla) !important;
}
.elementor-24 .elementor-element-1f9098 .elementor-heading-title,
.elementor-24 .elementor-element-ed61a66 .elementor-heading-title,
.elementor-24 .elementor-element-547ae2b .elementor-heading-title { font-size: clamp(30px, 3vw, 44px) !important; font-weight: 800 !important; }
.elementor-24 .elementor-element-1f9098 .elementor-heading-title::after,
.elementor-24 .elementor-element-ed61a66 .elementor-heading-title::after,
.elementor-24 .elementor-element-547ae2b .elementor-heading-title::after,
.elementor-24 .elementor-element-1698121f .elementor-heading-title::after {
  content: ''; display: block; width: 64px; height: 4px; border-radius: 4px; margin: 18px auto 0; background: var(--t-grad);
}
.elementor-24 .elementor-element-1698121f .elementor-heading-title::after { margin-left: 0; }

/* Áreas de atuação: cartões */
.elementor-24 .elementor-element.elementor-element-7daebb0b {
  background: radial-gradient(900px 420px at 10% 0%, rgba(47, 106, 154, .1), transparent 70%),
              linear-gradient(180deg, var(--t-gelo) 0%, #fff 100%) !important;
}
.elementor-24 .elementor-element-34656023 .elementor-column > .elementor-widget-wrap,
.elementor-24 .elementor-element-37953e8 .elementor-column > .elementor-widget-wrap {
  background: #fff !important; border: 1px solid var(--t-borda); border-radius: 24px; margin: 10px !important;
  padding: 30px 20px 26px !important; box-shadow: var(--t-sombra-s); transition: transform .35s ease, box-shadow .35s ease; align-content: flex-start;
}
.elementor-24 .elementor-element-34656023 .elementor-column > .elementor-widget-wrap:hover,
.elementor-24 .elementor-element-37953e8 .elementor-column > .elementor-widget-wrap:hover { transform: translateY(-8px); box-shadow: var(--t-sombra); }
/* a imagem já vem com anel azul e borda branca: recorta por dentro e fica só a foto */
.elementor-24 .elementor-element-34656023 picture, .elementor-24 .elementor-element-37953e8 picture {
  display: block; width: 132px; height: 132px; margin: 0 auto; border-radius: 50%; overflow: hidden;
  box-shadow: 0 16px 30px -14px rgba(15, 37, 57, .5);
}
.elementor-24 .elementor-element-34656023 picture img, .elementor-24 .elementor-element-37953e8 picture img {
  width: 100% !important; height: 100% !important; max-width: none !important; border-radius: 0 !important;
  transform: scale(1.36); transition: transform .5s ease !important;
}
.elementor-24 .elementor-element-34656023 .elementor-column:hover picture img,
.elementor-24 .elementor-element-37953e8 .elementor-column:hover picture img { transform: scale(1.45); }

/* Hospitais: faixa contínua com esmaecimento nas laterais (a seção não pode passar da largura da tela) */
html, body { overflow-x: clip; }
.elementor-24 .elementor-element.elementor-element-82bf633 { max-width: 100%; overflow: hidden; }
.tema-logos { min-width: 0; max-width: 100%; }
.tema-logos {
  width: 100%; overflow: hidden; padding: 26px 0 34px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
}
.tema-logos-trilho {
  display: flex; align-items: center; gap: 72px; width: max-content; margin: 0; padding: 0; list-style: none;
  animation: tema-rolar 38s linear infinite;
}
.tema-logos-trilho li { flex: none; }
.tema-logos-trilho img { height: 92px; width: auto; display: block; opacity: .92; transition: opacity .3s, transform .3s; }
.tema-logos-trilho img:hover { opacity: 1; transform: scale(1.04); }
@keyframes tema-rolar { to { transform: translateX(calc(-50% - 36px)); } }

/* Atendimento e consultórios */
.elementor-24 .elementor-element.elementor-element-178d5eca { background: linear-gradient(180deg, #fff 0%, var(--t-gelo) 100%) !important; }
.elementor-24 .elementor-element-66fe2c42 > .elementor-element-populated {
  border-radius: 28px !important; box-shadow: var(--t-sombra) !important; border: 1px solid var(--t-borda); background-color: #fff !important;
}
.elementor-24 .elementor-element-66fe2c42 img { border-radius: 20px !important; }
.elementor-24 .elementor-element-cc9444 > .elementor-element-populated {
  background: radial-gradient(500px 260px at 100% 0%, rgba(169, 198, 224, .25), transparent 70%),
              linear-gradient(150deg, var(--t-azul-esc) 0%, var(--t-azul) 50%, var(--t-azul-cla) 100%) !important;
  border-radius: 28px !important; box-shadow: var(--t-sombra) !important;
}
/* ícone dos consultórios: só o ícone, em degradê, sem caixa */
.elementor-24 .elementor-element-2b11f948 .elementor-icon {
  background: none !important; border: 0 !important; padding: 0 !important; width: auto; height: auto;
  font-size: 46px !important; line-height: 1; filter: drop-shadow(0 8px 18px rgba(169, 198, 224, .35));
}
.elementor-24 .elementor-element-2b11f948 .elementor-icon i { color: #dbe8f4 !important; }
.elementor-24 .elementor-element-2b11f948 .elementor-icon-box-icon { margin-bottom: 14px !important; }
.elementor-24 .elementor-element-cc9444 .elementor-button { background: #fff !important; color: var(--t-azul) !important; }

/* Depoimentos */
.elementor-24 .elementor-element-1697b478 > .elementor-element-populated { border-radius: 30px !important; overflow: hidden; box-shadow: var(--t-sombra); }
.elementor-24 .elementor-element-1697b478 > .elementor-element-populated > .elementor-background-overlay {
  background-image: linear-gradient(90deg, rgba(15, 37, 57, 0) 40%, rgba(27, 60, 89, .75) 68%, var(--t-azul) 82%) !important;
}
.elementor-24 .jkit-testimonials .testimonial-box {
  border-radius: 22px !important; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .55) !important; border: 1px solid rgba(255, 255, 255, .6);
}
.elementor-24 .jkit-testimonials .comment-content { font-size: 16px !important; line-height: 1.7 !important; color: #3f5163 !important; }
.elementor-24 .jkit-testimonials .profile-name { font-weight: 700 !important; color: var(--t-azul) !important; }

/* Artigos da home: seção mais larga; os cartões são do tema (tema-cards) */
.elementor-24 .elementor-element.elementor-element-a9c8314 { background: linear-gradient(180deg, var(--t-gelo-2) 0%, #fff 100%) !important; }
.elementor-24 .elementor-element.elementor-element-a9c8314 > .elementor-container { max-width: 1320px !important; }
.elementor-24 .elementor-element-87f8e9a > .elementor-container { max-width: 100% !important; }
.tema-cards-home { width: 100%; }
.elementor-24 .jkit-testimonials .comment-content, .elementor-24 .jkit-testimonials .comment-content p { font-family: var(--t-fonte) !important; }

/* Rodapé */
.elementor-77 .elementor-element.elementor-element-30b3a15b {
  background: radial-gradient(900px 380px at 88% 0%, rgba(47, 106, 154, .45), transparent 70%),
              linear-gradient(160deg, var(--t-azul-esc) 0%, var(--t-azul) 100%) !important;
}
/* Rodapé reorganizado: marca | áreas em 2 colunas | consultórios | agendar; faixa final com assinatura à direita */
.elementor-77 .elementor-element.elementor-element-30b3a15b > .elementor-container,
.elementor-77 .elementor-element-1459b2f > .elementor-container,
.elementor-77 .elementor-element-26233369 > .elementor-container { max-width: 1320px !important; }
@media (min-width: 1025px) {
  .elementor-77 .elementor-element.elementor-element-3800d6d5 { width: 29% !important; }
  .elementor-77 .elementor-element.elementor-element-635ad94c { width: 21% !important; }
  .elementor-77 .elementor-element.elementor-element-675e4e2b { width: 29% !important; }
  .elementor-77 .elementor-element.elementor-element-795ad6bc { width: 21% !important; }
}
.elementor-77 .elementor-widget-button .elementor-button { white-space: nowrap; }
.elementor-77 .elementor-element-3800d6d5 > .elementor-widget-wrap { flex-direction: column; align-items: flex-start !important; align-content: flex-start !important; padding-right: 48px !important; }
/* a logo tem folga transparente (7,4% à esquerda, 25% em cima e embaixo): o desenho encosta na mesma linha dos ícones */
.elementor-77 .elementor-element-63efca70 .elementor-widget-container { text-align: left !important; }
.elementor-77 .elementor-element-63efca70 img { width: 250px !important; max-width: none !important; margin: -26px 0 -26px -19px !important; }
.tema-rodape-desc { margin: 26px 0 24px; max-width: 300px; color: #b9cad9; font: 400 15px/1.7 var(--t-fonte); }
.elementor-77 .elementor-element-3d0b0046 { width: auto !important; }
.elementor-77 .elementor-element-3d0b0046 .elementor-widget-container { text-align: left !important; }
.elementor-77 .elementor-element-3d0b0046 .elementor-social-icons-wrapper { display: flex !important; justify-content: flex-start !important; gap: 12px; }
.elementor-77 .elementor-element-3d0b0046 .elementor-grid-item { margin: 0 !important; }
.elementor-77 .elementor-social-icon { transition: transform .25s; }
.elementor-77 .elementor-social-icon:hover { transform: translateY(-3px); }
.elementor-77 .elementor-element-1c8dc432 .elementor-heading-title,
.elementor-77 .elementor-element-3e2166a4 .elementor-heading-title,
.elementor-77 .elementor-element-6dfc0606 .elementor-heading-title { font-size: 17px !important; font-weight: 700 !important; letter-spacing: 0; }
.elementor-77 .elementor-widget-divider { --divider-border-width: 2px; }
.elementor-77 .elementor-divider-separator { width: 32px !important; border-block-start-color: var(--t-celeste) !important; border-block-start-width: 2px !important; }
.elementor-77 .elementor-element-73714984 .elementor-icon-list-items { display: grid !important; gap: 10px; }
.elementor-77 .elementor-element-73714984 .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; white-space: nowrap; }
.elementor-77 .elementor-element-73714984 .elementor-icon-list-text,
.elementor-77 .elementor-element-416bbcb .elementor-icon-list-text { color: #c9d7e3; }
.elementor-77 .elementor-widget-button .elementor-button { background: #fff !important; color: var(--t-azul) !important; box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .6) !important; }
.elementor-77 .elementor-widget-button .elementor-button svg { fill: var(--t-azul) !important; }
/* faixa final centralizada e empilhada; o espaço embaixo deixa o botão flutuante sem cobrir a assinatura (como no site do Dr. Marcello) */
.elementor-77 .elementor-element-26233369 > .elementor-container { flex-direction: column-reverse; align-items: center; gap: 8px; padding-bottom: 104px; }
.elementor-77 .elementor-element-26233369 .elementor-column { width: 100% !important; }
.elementor-77 .elementor-element-26233369 .elementor-widget-wrap { justify-content: center; padding: 0 !important; }
.elementor-77 .elementor-element-40027975 .elementor-widget-container { text-align: center !important; color: #9fb3c4; font-size: 14px; margin: 0 !important; }
.elementor-77 .elementor-element-5aa27fdc .elementor-widget-container { text-align: center !important; font-size: 13px; opacity: .8; margin: 0 !important; }
.elementor-77 .elementor-element-40027975 p, .elementor-77 .elementor-element-5aa27fdc p { margin: 0 !important; }

/* botão flutuante do WhatsApp (mesmo do site do Dr. Marcello Barni) */
.joinchat { display: none !important; }
.tema-whats { position: fixed; right: clamp(16px, 2.4vw, 28px); bottom: clamp(16px, 2.4vw, 28px); z-index: 9999; display: flex; align-items: center; gap: 14px; font-family: var(--t-fonte); }
.tema-whats-botao {
  position: relative; flex-shrink: 0; width: 62px; height: 62px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #178040 0%, #0b5e2e 100%);
  box-shadow: 0 16px 30px -10px rgba(11, 94, 46, .65), inset 0 1px 0 rgba(255, 255, 255, .25); transition: transform .25s;
}
.tema-whats-botao:hover { transform: translateY(-2px) scale(1.03); }
.tema-pop {
  position: relative; width: min(230px, calc(100vw - 110px)); border-radius: 14px; background: #fff;
  box-shadow: 0 12px 28px -16px rgba(10, 30, 44, .35), 0 0 0 1px rgba(15, 51, 70, .06); transform-origin: right center;
  transition: opacity .4s ease, transform .4s cubic-bezier(.22, 1, .36, 1), visibility .4s;
  opacity: 0; transform: translateX(12px) scale(.96); pointer-events: none; visibility: hidden;
}
.tema-pop.is-visivel { opacity: 1; transform: translateX(0) scale(1); pointer-events: auto; visibility: visible; }
.tema-pop a { display: flex; flex-direction: column; gap: 3px; padding: 10px 32px 10px 14px; text-decoration: none; }
.tema-pop-quem { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: #128c4a; }
.tema-pop-quem span { width: 6px; height: 6px; border-radius: 50%; background: #25d366; }
.tema-pop-texto { font-size: 13px; line-height: 1.35; color: var(--t-azul); }
.tema-pop-seta { position: absolute; right: -5px; bottom: 22px; width: 10px; height: 10px; background: #fff; transform: rotate(45deg); box-shadow: 4px -4px 8px -6px rgba(10, 30, 44, .2); }
#pop-fechar {
  position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; border: 0; background: transparent;
  color: #7a8790; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0;
}
.elementor-77 a:hover { color: var(--t-celeste) !important; }

/* O kit do Elementor estiliza todo <button> (fundo azul, padding, hover rosa): os botões do tema voltam ao desenho deles */
.elementor-kit-19 .tema-btn-menu, .elementor-kit-19 .tema-btn-menu:hover, .elementor-kit-19 .tema-btn-menu:focus,
.elementor-kit-19 .tema-menu-topo button, .elementor-kit-19 .tema-menu-topo button:hover, .elementor-kit-19 .tema-menu-topo button:focus {
  background: #fff !important; color: var(--t-azul) !important; border: 1px solid #dce3ea !important; padding: 0 !important; box-shadow: none !important;
}
.elementor-kit-19 #pop-fechar, .elementor-kit-19 #pop-fechar:hover, .elementor-kit-19 #pop-fechar:focus {
  background: transparent !important; color: #7a8790 !important; border: 0 !important; padding: 0 !important;
}

@media (max-width: 1024px) {
  .elementor-24 .elementor-element.elementor-element-582113ac { padding: 110px 0 116px !important; }
}
@media (max-width: 767px) {
  .elementor-24 .elementor-element.elementor-element-582113ac { padding: 84px 22px 90px !important; }
  .elementor-24 .jkit-testimonials .icon-content { display: none; }
  .elementor-24 .elementor-element-074cab8 .elementor-heading-title { font-size: 30px !important; }
  .elementor-24 .elementor-element-6cd01be .elementor-heading-title { font-size: 19px !important; }
  .elementor-24 .elementor-element-cbdfdeb .elementor-heading-title { font-size: 19px !important; }
  /* botões do topo com a mesma largura */
  .elementor-24 .elementor-element-bffd796 .elementor-button-wrapper { flex-direction: column; }
  .elementor-24 .elementor-element-bffd796 .elementor-button { width: 100%; justify-content: center; }
  /* áreas: 2 por linha, imagem menor */
  .elementor-24 .elementor-element-34656023 > .elementor-container,
  .elementor-24 .elementor-element-37953e8 > .elementor-container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .elementor-24 .elementor-element-34656023 .elementor-column,
  .elementor-24 .elementor-element-37953e8 .elementor-column { width: 100% !important; }
  .elementor-24 .elementor-element-34656023 .elementor-column > .elementor-widget-wrap,
  .elementor-24 .elementor-element-37953e8 .elementor-column > .elementor-widget-wrap { margin: 0 !important; padding: 20px 12px 18px !important; height: 100%; }
  .elementor-24 .elementor-element-34656023 picture, .elementor-24 .elementor-element-37953e8 picture { width: 92px; height: 92px; }
  .elementor-24 .elementor-element-34656023 .elementor-heading-title,
  .elementor-24 .elementor-element-37953e8 .elementor-heading-title { font-size: 16px !important; }
  .elementor-24 .elementor-element-34656023 .elementor-widget-text-editor,
  .elementor-24 .elementor-element-37953e8 .elementor-widget-text-editor { font-size: 12.5px !important; line-height: 1.5 !important; }
  .elementor-24 .elementor-element-37953e8 { margin-top: 12px; }
  .elementor-24 .elementor-element-705cea85 .elementor-widget-container::before { inset: 14px -10px -14px 14px; }
}
@media (max-width: 767px) {
  .elementor-77 .elementor-element-3800d6d5 > .elementor-widget-wrap { padding-right: 0 !important; }
  .elementor-77 .elementor-element-1459b2f .elementor-column > .elementor-widget-wrap { padding-left: 4px !important; padding-right: 4px !important; }
  .tema-logos-trilho { gap: 40px; animation-duration: 28s; }
  .tema-logos-trilho img { height: 64px; }
  @keyframes tema-rolar { to { transform: translateX(calc(-50% - 20px)); } }
}
/* ================================================================================================
   Páginas internas e cartões de artigos (scripts/paginas.py)
   ================================================================================================ */
.tema-interna { font-family: var(--t-fonte); color: #3f5163; }
.tema-wrap { max-width: 1200px; margin: 0 auto; padding: 0 28px; }
.tema-wrap-estreito { max-width: 880px; }
.tema-sec { padding: clamp(68px, 8vw, 104px) 0; background: #fff; }
.tema-sec-clara { background: linear-gradient(180deg, var(--t-gelo-2) 0%, #fff 100%); }
.elementor-kit-19 .tema-h2 { margin: 0 0 20px; font: 800 clamp(28px, 3vw, 40px)/1.15 var(--t-fonte); color: var(--t-azul); letter-spacing: -.02em; }
.tema-rotulo { margin: 0 0 14px; font: 700 12px/1.2 var(--t-fonte); letter-spacing: .2em; text-transform: uppercase; color: var(--t-azul-cla); }
.tema-rotulo-peq { margin: 0 0 12px; font: 700 11px/1.2 var(--t-fonte); letter-spacing: .16em; text-transform: uppercase; color: var(--t-aco); }
.tema-lead { margin: 0; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; color: #3f5163; }
.tema-lead-peq { margin: 0 0 28px; font-size: 17px; line-height: 1.7; color: #4a5b6b; }
.tema-prosa p { margin: 0 0 18px; font-size: 17px; line-height: 1.8; color: #4a5b6b; }
.elementor-kit-19 .tema-link { display: inline-flex; align-items: center; gap: 8px; font: 700 15px/1.3 var(--t-fonte); color: var(--t-azul-cla); text-decoration: none; }
.elementor-kit-19 .tema-link:hover { color: var(--t-azul); }
.tema-seta { display: inline-block; transition: transform .25s ease; }
.tema-link:hover .tema-seta, .tema-card:hover .tema-seta { transform: translateX(4px); }
.elementor-kit-19 .tema-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 30px; border-radius: 999px;
  background: var(--t-grad); color: #fff; font: 600 16px/1 var(--t-fonte); text-decoration: none;
  box-shadow: 0 14px 30px -14px rgba(27, 60, 89, .75); transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-kit-19 .tema-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 36px -16px rgba(27, 60, 89, .8); color: #fff; }
.elementor-kit-19 .tema-btn-branco { background: #fff; color: var(--t-azul); box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .55); }
.elementor-kit-19 .tema-btn-branco:hover { color: var(--t-azul); }
.elementor-kit-19 .tema-btn-whats { background: linear-gradient(145deg, #178040 0%, #0b5e2e 100%); box-shadow: 0 16px 30px -14px rgba(11, 94, 46, .7); }
.tema-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; margin-top: 32px; }

/* caminho até a página */
.tema-trilha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 22px; font: 500 13px/1.4 var(--t-fonte); color: var(--t-aco); }
.elementor-kit-19 .tema-trilha a { color: var(--t-azul); text-decoration: none; }
.elementor-kit-19 .tema-trilha a:hover { color: var(--t-azul-cla); }
.tema-trilha span[aria-hidden] { opacity: .5; }

/* topo das internas: azul com textura sutil */
.tema-topo {
  position: relative; overflow: hidden; padding: 76px 0 80px;
  background: radial-gradient(700px 320px at 88% 10%, rgba(47, 106, 154, .55), transparent 70%),
              linear-gradient(135deg, var(--t-azul-esc) 0%, var(--t-azul) 62%, var(--t-azul-med) 100%);
}
.tema-topo::before {
  content: ''; position: absolute; inset: 0; opacity: .06; pointer-events: none;
  background: url(/wp-content/uploads/2023/10/pattern-QKPSLY.jpeg) center / 640px auto;
}
.tema-topo .tema-wrap { position: relative; }
.tema-topo .tema-trilha { color: rgba(255, 255, 255, .6); }
.elementor-kit-19 .tema-topo .tema-trilha a { color: #fff; }
.elementor-kit-19 .tema-topo h1 { margin: 0 0 14px; font: 800 clamp(34px, 4.2vw, 54px)/1.1 var(--t-fonte); color: #fff; letter-spacing: -.025em; }
.tema-topo-sub { margin: 0; max-width: 640px; font-size: 18px; line-height: 1.6; color: #cbdcea; }

/* faixa de chamada no fim das páginas */
.tema-sec-faixa { padding: 8px 0 clamp(68px, 8vw, 104px); background: #fff; }
.tema-faixa {
  display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px 56px; border-radius: 30px;
  background: radial-gradient(600px 260px at 100% 0%, rgba(169, 198, 224, .3), transparent 70%),
              linear-gradient(140deg, var(--t-azul-esc), var(--t-azul) 55%, var(--t-azul-cla));
  box-shadow: var(--t-sombra);
}
.elementor-kit-19 .tema-faixa h2 { margin: 0 0 8px; font: 800 30px/1.2 var(--t-fonte); color: #fff; letter-spacing: -.02em; }
.tema-faixa p { margin: 0; font-size: 16px; color: #cfe0ef; }
.tema-faixa .tema-btn { flex: none; }

/* --- Dr. Victor Guil --- */
.tema-sobre-hero { padding: 64px 0 0; background: linear-gradient(180deg, var(--t-gelo) 0%, #fff 100%); overflow: hidden; }
.tema-sobre-grade { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: end; }
.tema-sobre-texto { padding-bottom: 88px; }
.elementor-kit-19 .tema-sobre-texto h1 { margin: 0 0 22px; font: 800 clamp(40px, 4.8vw, 64px)/1.05 var(--t-fonte); color: var(--t-azul); letter-spacing: -.03em; }
.tema-registro-linha { display: flex; align-items: center; gap: 14px; margin: 24px 0 0; font: 700 14px/1 var(--t-fonte); letter-spacing: .06em; color: var(--t-azul); }
.tema-registro-linha span { width: 5px; height: 5px; border-radius: 50%; background: var(--t-azul-cla); }
.tema-sobre-foto { position: relative; margin: 0; align-self: end; }
.tema-sobre-foto::before {
  content: ''; position: absolute; left: 12%; right: -40px; top: 12%; bottom: 0; border-radius: 32px 32px 0 0;
  background: linear-gradient(160deg, var(--t-azul-cla), var(--t-azul) 70%);
}
.tema-sobre-foto > img { position: relative; display: block; width: 88%; margin-left: auto; height: auto; border-radius: 28px 28px 0 0; }
.tema-sobre-foto figcaption {
  position: absolute; left: 0; bottom: 56px; display: flex; align-items: center; gap: 14px; padding: 12px 20px 12px 12px;
  border-radius: 18px; background: #fff; box-shadow: var(--t-sombra); font-size: 13px; line-height: 1.35; color: var(--t-aco);
}
.tema-sobre-foto figcaption img { width: 68px; height: 50px; object-fit: contain; }
.tema-sobre-foto figcaption b { display: block; color: var(--t-azul); font-size: 14px; }

.tema-duas { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: start; }
.tema-selos-logos { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tema-selos-logos li { padding: 8px; border-radius: 16px; background: #fff; border: 1px solid var(--t-borda); box-shadow: var(--t-sombra-s); }
.tema-selos-logos img { display: block; width: 100%; height: auto; }
.tema-linha-caixa { padding: 36px 36px 14px; border-radius: 28px; background: var(--t-gelo-2); border: 1px solid var(--t-borda); }
.tema-linha { list-style: none; margin: 8px 0 0; padding: 0; position: relative; }
.tema-linha::before { content: ''; position: absolute; left: 6px; top: 6px; bottom: 30px; width: 2px; background: linear-gradient(180deg, var(--t-azul-cla), rgba(47, 106, 154, .12)); }
.tema-linha li { position: relative; padding: 0 0 26px 34px; }
.tema-linha li::before { content: ''; position: absolute; left: 0; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--t-azul-cla); }
.tema-linha-marca { display: block; margin-bottom: 4px; font: 700 11px/1.3 var(--t-fonte); letter-spacing: .14em; text-transform: uppercase; color: var(--t-azul-cla); }
.elementor-kit-19 .tema-linha h3 { margin: 0 0 4px; font: 700 18px/1.3 var(--t-fonte); color: var(--t-azul); }
.tema-linha p { margin: 0; font-size: 15px; line-height: 1.6; color: #5b6b7a; }

.tema-duas-foto { grid-template-columns: .85fr 1.15fr; align-items: center; }
.tema-foto-moldura { margin: 0; }
.tema-foto-moldura img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 28px; box-shadow: var(--t-sombra); }
.tema-fatos { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.tema-fatos li { padding-top: 16px; border-top: 2px solid var(--t-azul-cla); font-size: 15px; line-height: 1.55; color: #5b6b7a; }
.tema-fatos b { display: block; margin-bottom: 4px; color: var(--t-azul); font-size: 18px; }

/* --- Áreas de Atuação --- */
.tema-indice { position: sticky; top: 0; z-index: 20; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--t-borda); }
.tema-indice ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; }
.tema-indice ul::-webkit-scrollbar { display: none; }
.elementor-kit-19 .tema-indice a { display: block; padding: 18px 0; white-space: nowrap; font: 600 14px/1 var(--t-fonte); color: var(--t-azul); text-decoration: none; border-bottom: 2px solid transparent; }
.elementor-kit-19 .tema-indice a:hover { color: var(--t-azul-cla); border-bottom-color: var(--t-azul-cla); }
.tema-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tema-area {
  display: grid; grid-template-columns: 120px 1fr; gap: 28px; padding: 34px; border-radius: 26px; background: #fff;
  border: 1px solid var(--t-borda); box-shadow: var(--t-sombra-s); scroll-margin-top: 80px; transition: box-shadow .3s ease, transform .3s ease;
}
.tema-area:hover { box-shadow: var(--t-sombra); transform: translateY(-3px); }
.tema-area-img { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; box-shadow: 0 16px 30px -14px rgba(15, 37, 57, .5); }
.tema-area-img img { display: block; width: 100%; height: 100%; transform: scale(1.36); }
.elementor-kit-19 .tema-area h2 { margin: 2px 0 10px; font: 800 22px/1.25 var(--t-fonte); color: var(--t-azul); letter-spacing: -.01em; }
.tema-area p { margin: 0 0 18px; font-size: 15.5px; line-height: 1.7; color: #4a5b6b; }
.tema-condicoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.tema-condicoes li { position: relative; padding-left: 16px; font-size: 14.5px; line-height: 1.45; color: #3f5163; }
.tema-condicoes li::before { content: ''; position: absolute; left: 0; top: .62em; width: 7px; height: 2px; border-radius: 2px; background: var(--t-azul-cla); }
.tema-area-pe { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--t-borda); }
.tema-area-pe .tema-link { font-size: 14px; }

.tema-duas-sinais { grid-template-columns: .85fr 1.15fr; }
.tema-sinais { list-style: none; margin: 0; padding: 0; counter-reset: sinal; }
.tema-sinais li { counter-increment: sinal; position: relative; padding: 20px 0 20px 64px; border-bottom: 1px solid var(--t-borda); font-size: 17px; line-height: 1.55; color: #3f5163; }
.tema-sinais li:first-child { border-top: 1px solid var(--t-borda); }
.tema-sinais li::before { content: counter(sinal, decimal-leading-zero); position: absolute; left: 0; top: 20px; font: 800 15px/1.6 var(--t-fonte); color: var(--t-azul-cla); letter-spacing: .04em; }

/* --- Cartões de artigos --- */
.tema-cards { display: grid; gap: 28px; }
.tema-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tema-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.elementor-kit-19 .tema-card {
  display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid var(--t-borda);
  box-shadow: var(--t-sombra-s); text-decoration: none; color: inherit; transition: transform .35s ease, box-shadow .35s ease;
}
.elementor-kit-19 .tema-card:hover { transform: translateY(-6px); box-shadow: var(--t-sombra); }
.tema-card-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--t-gelo); }
.tema-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.tema-card:hover .tema-card-img img { transform: scale(1.06); }
.tema-card-corpo { flex: 1; display: flex; flex-direction: column; padding: 24px 24px 22px; font-family: var(--t-fonte); }
.tema-card-cat { display: inline-block; margin-bottom: 10px; font: 700 11px/1.2 var(--t-fonte); letter-spacing: .14em; text-transform: uppercase; color: var(--t-azul-cla); }
.tema-card-titulo { display: block; margin-bottom: 10px; font: 700 19px/1.3 var(--t-fonte); color: var(--t-azul); letter-spacing: -.01em; transition: color .2s; }
.tema-card:hover .tema-card-titulo { color: var(--t-azul-cla); }
.tema-card-resumo { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 20px; font-size: 14.5px; line-height: 1.6; color: #5b6b7a; }
/* pé sempre no fundo do cartão, alinhado entre cartões da mesma linha */
.tema-card-pe { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--t-borda); font-size: 13px; color: var(--t-aco); }
.tema-card-ler { display: inline-flex; gap: 6px; font-weight: 700; color: var(--t-azul-cla); }
.elementor-kit-19 .tema-card-destaque { flex-direction: row; margin-bottom: 28px; }
.tema-card-destaque .tema-card-img { flex: 0 0 54%; aspect-ratio: auto; min-height: 380px; }
.tema-card-destaque .tema-card-corpo { justify-content: center; padding: 48px 52px; }
.tema-card-destaque .tema-card-titulo { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.18; letter-spacing: -.02em; margin-bottom: 14px; }
.tema-card-destaque .tema-card-resumo { -webkit-line-clamp: 4; font-size: 17px; line-height: 1.65; }
.tema-card-destaque .tema-card-pe { margin-top: 28px; }
.tema-cabeca-linha { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.tema-cabeca-linha .tema-h2 { margin: 0; }

/* --- Artigo --- */
.tema-progresso { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1200; pointer-events: none; }
.tema-progresso span { display: block; height: 100%; background: var(--t-grad); transform-origin: 0 50%; transform: scaleX(0); }
.tema-artigo-topo { padding: 56px 0 128px; background: linear-gradient(180deg, var(--t-gelo) 0%, var(--t-gelo-2) 100%); }
.elementor-kit-19 .tema-artigo-topo h1 { margin: 6px 0 18px; font: 800 clamp(34px, 4.4vw, 54px)/1.1 var(--t-fonte); color: var(--t-azul); letter-spacing: -.03em; }
.tema-artigo-autor { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin-top: 30px; font-size: 14px; color: var(--t-aco); }
.tema-artigo-autor > img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: top; }
.tema-artigo-autor b { display: block; color: var(--t-azul); font-size: 15px; }
.tema-artigo-dados { display: flex; gap: 10px; margin-left: auto; }
.tema-artigo-dados span + span::before { content: '·'; margin-right: 10px; }
.tema-artigo-capa { max-width: 1120px; margin-top: -96px; }
.tema-artigo-capa img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 28px; box-shadow: var(--t-sombra); }
.tema-sec-artigo { padding-top: 64px; }
.tema-artigo-grade { display: grid; grid-template-columns: 250px minmax(0, 720px); gap: 72px; justify-content: center; }
.tema-artigo-lateral-fixa { position: sticky; top: 110px; }
.tema-toc { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--t-borda); counter-reset: toc; }
.tema-toc li { counter-increment: toc; margin: 0 0 12px; }
.elementor-kit-19 .tema-toc a { display: block; font: 500 14px/1.45 var(--t-fonte); color: #5b6b7a; text-decoration: none; }
.elementor-kit-19 .tema-toc a:hover { color: var(--t-azul); }
.tema-lateral-cta { margin-top: 30px; padding: 22px; border-radius: 20px; background: linear-gradient(150deg, var(--t-azul-esc), var(--t-azul) 60%, var(--t-azul-cla)); }
.tema-lateral-cta p { margin: 0 0 14px; font: 700 16px/1.35 var(--t-fonte); color: #fff; }
.elementor-kit-19 .tema-lateral-cta .tema-btn { width: 100%; padding: 13px 16px; font-size: 14px; background: #fff; color: var(--t-azul); box-shadow: none; }
.tema-artigo-texto { font-size: 18.5px; line-height: 1.85; color: #34495c; }
.elementor-kit-19 .tema-artigo-texto h2 { margin: 50px 0 14px; font: 800 26px/1.25 var(--t-fonte); color: var(--t-azul); letter-spacing: -.02em; scroll-margin-top: 100px; }
.tema-artigo-texto p { margin: 0 0 20px; }
.tema-artigo-texto ul { list-style: none; margin: 0 0 24px; padding: 0; }
.tema-artigo-texto li { position: relative; margin: 0 0 10px; padding-left: 26px; }
.tema-artigo-texto li::before { content: ''; position: absolute; left: 4px; top: .78em; width: 8px; height: 8px; border-radius: 50%; background: var(--t-azul-cla); }
.tema-artigo-texto strong { color: var(--t-azul); }
.tema-resumo { margin: 0 0 40px; padding: 26px 30px 12px; border-radius: 22px; background: var(--t-gelo); border-left: 4px solid var(--t-azul-cla); }
.tema-resumo ul li { font-size: 16.5px; line-height: 1.6; }
.tema-aviso { margin: 44px 0 32px; padding: 16px 20px; border-radius: 14px; background: var(--t-gelo-2); border: 1px solid var(--t-borda); font-size: 14px !important; line-height: 1.6; color: var(--t-aco); }
.tema-autor-box { display: flex; gap: 24px; align-items: center; padding: 28px; border-radius: 24px; border: 1px solid var(--t-borda); box-shadow: var(--t-sombra-s); background: #fff; }
.tema-autor-box > img { flex: none; width: 104px; height: 104px; border-radius: 50%; object-fit: cover; object-position: top; }
.elementor-kit-19 .tema-autor-box h3 { margin: 0 0 6px; font: 700 21px/1.2 var(--t-fonte); color: var(--t-azul); }
.tema-autor-box p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: #4a5b6b; }

/* --- Contato --- */
.tema-contato { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.tema-contato-linhas { list-style: none; margin: 36px 0 0; padding: 0; border-top: 1px solid var(--t-borda); }
.tema-contato-linhas li { display: flex; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--t-borda); }
.tema-contato-icone { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--t-gelo); color: var(--t-azul-cla); }
.elementor-kit-19 .tema-contato-linhas a { font: 600 18px/1.3 var(--t-fonte); color: var(--t-azul); text-decoration: none; }
.elementor-kit-19 .tema-contato-linhas a:hover { color: var(--t-azul-cla); }
.tema-agenda { padding: 40px 44px 28px; border-radius: 28px; background: var(--t-gelo-2); border: 1px solid var(--t-borda); }
.tema-agenda .tema-h2 { margin-bottom: 26px; }
.tema-agenda ul { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--t-azul); }
.tema-agenda li { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--t-borda); }
.elementor-kit-19 .tema-agenda h3 { margin: 0 0 4px; font: 700 19px/1.3 var(--t-fonte); color: var(--t-azul); }
.tema-agenda li p { margin: 0; font-size: 15px; line-height: 1.55; color: #5b6b7a; }
.tema-agenda .tema-link { flex: none; font-size: 14px; }

@media (max-width: 1024px) {
  .tema-cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tema-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tema-duas, .tema-duas-foto, .tema-duas-sinais, .tema-contato { grid-template-columns: 1fr; gap: 48px; }
  .tema-areas { grid-template-columns: 1fr; }
  .tema-artigo-grade { grid-template-columns: minmax(0, 720px); }
  .tema-artigo-lateral { display: none; }
  .tema-sobre-grade { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 767px) {
  .tema-wrap { padding: 0 20px; }
  .tema-topo { padding: 52px 0 56px; }
  .tema-topo-sub { font-size: 16px; }
  .tema-cards-4, .tema-cards-3 { grid-template-columns: 1fr; gap: 20px; }
  .elementor-kit-19 .tema-card-destaque { flex-direction: column; }
  .tema-card-destaque .tema-card-img { flex: none; min-height: 0; aspect-ratio: 16 / 10; }
  .tema-card-destaque .tema-card-corpo { padding: 26px 24px 24px; }
  .tema-sobre-hero { padding-top: 40px; }
  .tema-sobre-grade { grid-template-columns: 1fr; gap: 8px; }
  .tema-sobre-texto { padding-bottom: 32px; }
  .tema-sobre-foto::before { left: 6%; right: -20px; }
  .tema-sobre-foto figcaption { bottom: 24px; }
  .tema-selos-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tema-linha-caixa { padding: 28px 22px 8px; }
  .tema-fatos { grid-template-columns: 1fr; }
  .tema-area { grid-template-columns: 1fr; gap: 18px; padding: 26px 22px; }
  .tema-area-img { width: 96px; height: 96px; }
  .tema-condicoes { grid-template-columns: 1fr; }
  .tema-sinais li { padding-left: 52px; font-size: 16px; }
  .tema-faixa { flex-direction: column; align-items: flex-start; padding: 34px 26px; }
  .tema-faixa .tema-btn { width: 100%; }
  .tema-artigo-topo { padding: 40px 0 92px; }
  .tema-artigo-dados { margin-left: 0; width: 100%; }
  .tema-artigo-capa { margin-top: -64px; }
  .tema-artigo-capa img { aspect-ratio: 16 / 10; border-radius: 20px; }
  .tema-sec-artigo { padding-top: 44px; }
  .tema-artigo-texto { font-size: 17px; }
  .tema-resumo { padding: 22px 22px 8px; }
  .tema-autor-box { flex-direction: column; align-items: flex-start; }
  .tema-cabeca-linha { flex-direction: column; align-items: flex-start; }
  .tema-agenda { padding: 30px 22px 18px; }
  .tema-agenda li { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } .tema-logos-trilho { animation: none; } }
