/* Ponte Elementor → CSS da Athena.
   O Elementor envolve o conteúdo em .elementor-widget-container; estas regras
   evitam que esse wrapper altere tipografia e espaçamento do CSS original. */

/* o <h2> interno do widget herda a tipografia da classe que está no wrapper */
.h2 .elementor-heading-title,
.final-title .elementor-heading-title,
.sub-h .elementor-heading-title {
  font: inherit; letter-spacing: inherit; color: inherit; text-wrap: inherit;
}

/* o container do widget é só um invólucro: não cria caixa nem espaçamento */
.elementor-widget-text-editor > .elementor-widget-container,
.elementor-widget-heading > .elementor-widget-container {
  display: contents;
}

/* canvas da malha de pontos: o widget precisa preencher a .final,
   senão o pai tem altura 0 e o main.js desenha num canvas vazio */
.dotted-host { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.dotted-host > .elementor-widget-container { position: relative; width: 100%; height: 100%; }

/* O Elementor força `max-width: 100%` em todo widget filho de container
   (`.elementor.elementor .e-con > .elementor-widget`, especificidade 0-4-0).
   Como a classe da LP fica no widget, `.section-lead` (0-1-0) perdia e o texto
   ia a 1200px em vez de 560px. Única classe de widget com max-width no
   style.css — se mudar lá, mudar aqui. */
.elementor.elementor .e-con > .elementor-widget.section-lead { max-width: 560px; }

/* Marquees (`width: max-content`) viram itens flex do container e não encolhem:
   estouravam a largura da página no celular (scrollWidth 2125 em vez de 375) e,
   com isso, a nav fixa ia parar fora da tela. É a mesma proteção que o Elementor
   já dá aos widgets, estendida aos elementos crus dos widgets HTML. */
.elementor.elementor .e-con > * { max-width: 100%; }

/* O CSS do kit do Elementor impõe a tipografia global (Roboto) e a cor global a todo
   widget de texto e título — o parágrafo de abertura saía em Roboto em vez de Host
   Grotesk e quebrava em 3 linhas onde o estático quebra em 4. A tipografia da LP vem
   do styles.css; aqui os widgets voltam a simplesmente herdar. */
.elementor .elementor-widget.elementor-widget-text-editor,
.elementor .elementor-widget-heading .elementor-heading-title {
  font-family: inherit; font-weight: inherit; color: inherit;
}

/* No CTA final, os botões e a linha de e-mail vinham num único widget HTML, então a
   caixa deles ficava com a largura do bloco de botões (540px) em vez de encolher para
   o texto (282px no estático). Texto centralizado, então não aparecia — mas a estrutura
   fica igual à do estático deixando o widget transparente. */
.final-inner > .elementor-widget-html { display: contents; }

/* No modo leve o main.js remove o canvas da malha de pontos; o invólucro do widget
   ficava no DOM como um div absoluto vazio. Some junto, como no estático. */
.dotted-host:not(:has(canvas)) { display: none; }

/* O kit do Elementor vem com a paleta e as fontes padrão dele (#6EC1E4 azul, Roboto) e
   as aplica em todo widget — no site e, principalmente, dentro do editor, onde ele ainda
   gera uma regra por elemento (`.elementor-6 .elementor-element-xxx .elementor-heading-title
   { color: var(--e-global-color-primary) }`). Em vez de disputar especificidade regra a
   regra, as variáveis globais dele passam a apontar para os tokens da Athena: qualquer
   widget novo já nasce com a cor e a fonte certas, e acompanha o tema claro/escuro.
   Seletor com `body` para ganhar de `.elementor-kit-5` independente da ordem dos arquivos. */
body.elementor-kit-5 {
  --e-global-color-primary: var(--ink-900);
  --e-global-color-secondary: var(--ink-700);
  --e-global-color-text: var(--ink-700);
  --e-global-color-accent: var(--accent);
  --e-global-typography-primary-font-family: var(--font-display);
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-family: var(--font-display);
  --e-global-typography-secondary-font-weight: 600;
  --e-global-typography-text-font-family: var(--font-body);
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: var(--font-body);
  --e-global-typography-accent-font-weight: 500;
}

/* Dentro do editor (body.elementor-editor-active) a animação de entrada nunca dispara:
   o IntersectionObserver não enxerga a rolagem do iframe do Elementor. Resultado: os 74
   elementos com `data-reveal` ficavam em opacity 0 e a página abria quase em branco para
   editar. No editor eles já nascem no estado final — que é exatamente o que se quer ver
   enquanto se edita. No site publicado a animação continua normal. */
.elementor-editor-active [data-reveal],
.elementor-editor-active .has-reveal .w,
.elementor-editor-active .reveal,
.elementor-editor-active [data-spotlight] {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
}
.elementor-editor-active [hidden] { display: revert !important; }
