/* =====================================================================
   DH — FOLHA DE ESTILO UNIFICADA  (v1)
   diegohenrich.com.br — padronização visual do site inteiro

   Substitui o snippet "dh-css-global-consolidado".
   Hospedar no WPCode como 1 snippet de CSS → "Auto Insert / Site Wide".

   O QUE ESTE ARQUIVO FAZ
   - 1 fundo (BG) animado cobrindo o corpo todo; seções transparentes
     → acaba a alternância de fundo / "divisões entre seções"
   - H1 padronizado no layout do título do blog em TODAS as páginas
   - Botão padrão = o da seção "Transforme cliques..." (gradiente + transição no hover)
   - Rótulos de seção SEM borda e SEM bolinha piscando
   - Cards: separação por elevação/sombra no lugar de borda
   - Cabeçalho, rodapé e PONTEIRO mantidos como estão

   ÍNDICE
   01 Fontes + tokens
   02 Base
   03 Fundo único animado  ← coração do pedido
   04 Cabeçalho (mantido)
   05 Tipografia padrão (H1, H2/H3, gradiente)
   06 Rótulos de seção (sem borda / sem bolinha)
   07 Botões padrão
   08 Cards (elevação, menos borda)
   09 Formulários
   10 Rodapé (mantido)
   11 Ponteiro (mantido)
   12 Reveal + keyframes
   13 Responsivo
   ===================================================================== */


/* === 01 · FONTES + TOKENS ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root {
  --dh-primary: #6c3ce1;
  --dh-primary-light: #8b5cf6;
  --dh-primary-dark: #5521c6;
  --dh-accent: #00f5d4;
  --dh-yellow: #fee440;
  --dh-pink: #f15bb5;
  --dh-danger: #ff6b6b;
  --dh-dark: #0a0a0f;
  --dh-dark-2: #12121a;
  --dh-dark-3: #1a1a25;
  --dh-gray: #6b7280;
  --dh-text-gray: #9ca3af;
  --dh-light: #f9fafb;
  --dh-white: #ffffff;

  --dh-gradient-1: linear-gradient(135deg, #6c3ce1 0%, #00f5d4 100%);
  --dh-gradient-2: linear-gradient(135deg, #fee440 0%, #f15bb5 100%);
  --dh-gradient-3: linear-gradient(135deg, #00f5d4 0%, #6c3ce1 50%, #fee440 100%);

  /* Card como elevação (sem borda dura) */
  --dh-card-bg: linear-gradient(145deg, rgba(18,18,26,.92), rgba(10,10,15,.90));
  --dh-card-shadow: 0 18px 46px rgba(0,0,0,.30);
  --dh-card-shadow-hover: 0 26px 60px rgba(0,245,212,.12);

  --dh-shadow: 0 18px 42px rgba(0,0,0,.26);
  --dh-nav-height: 92px;
}

/* Escopo do front-end (não afeta o editor do Elementor) */


/* === 02 · BASE ====================================================== */
html { scroll-behavior: smooth; }

body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active) {
  background: var(--dh-dark);
  color: var(--dh-light);
  font-family: "Inter", sans-serif;
  overflow-x: hidden;
}

.elementor, .elementor * { box-sizing: border-box; }
.elementor a { text-decoration: none; }

/* Largura de conteúdo padrão */
.elementor :is(.dh-section, .dh-nav, .dh-footer).e-con-boxed > .e-con-inner {
  width: min(1200px, calc(100% - 6rem)) !important;
  max-width: 1200px !important;
  margin-inline: auto !important;
}


/* === 03 · FUNDO ÚNICO ANIMADO ======================================= */
/* Uma só camada de fundo (radiais roxo/ciano/rosa) fixa atrás do site
   inteiro. As seções ficam TRANSPARENTES, então some a alternância de
   fundo e as "divisões" entre seções. */

body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)::before {
  content: "";
  position: fixed;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  z-index: -1;                 /* atrás de todo o conteúdo */
  pointer-events: none;
  background:
    radial-gradient(circle at 26% 16%, rgba(108,60,225,.20) 0%, transparent 36%),
    radial-gradient(circle at 78% 24%, rgba(0,245,212,.13) 0%, transparent 36%),
    radial-gradient(circle at 50% 92%, rgba(241,91,181,.08) 0%, transparent 40%);
  animation: dh-rotate 44s linear infinite;
}

/* Seções/containers transparentes → o BG único aparece em tudo.
   (Cards recebem o próprio fundo no bloco 08.) */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.site-main, .page-content, .elementor) ,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor > .e-con,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor .dh-section:not(.dh-nav):not(.dh-footer),
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor .e-con-inner {
  background: transparent !important;
  border: 0 !important;          /* mata as divisórias entre seções */
  box-shadow: none !important;
}

/* Remove o "::before" de fundo que cada hero/seção criava por conta própria
   (agora o fundo é um só, global). */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor :is(.dh-hero, .e-con)::before {
  background: none !important;
  animation: none !important;
}


/* === 04 · CABEÇALHO (mantido) ======================================= */
.elementor .dh-nav {
  position: fixed !important;
  inset: 0 0 auto 0;
  z-index: 1000;
  width: 100%;
  padding: 0 !important;
  border-bottom: 1px solid rgba(108,60,225,.2) !important;
  background: rgba(10,10,15,.84) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.admin-bar .elementor .dh-nav { top: 32px; }

.elementor .dh-nav:hover,
.elementor .dh-nav.is-scrolled {
  background: rgba(10,10,15,.95) !important;
  border-color: rgba(0,245,212,.22) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.elementor .dh-nav > .e-con-inner {
  min-height: var(--dh-nav-height);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  padding-block: 1.15rem !important;
}

.elementor .dh-brand { width: auto !important; min-width: 210px; flex: 0 0 auto; }

.elementor .dh-brand .elementor-heading-title,
.elementor .dh-footer .elementor-widget-heading:first-child .elementor-heading-title {
  display: inline-block;
  margin: 0 !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  background: var(--dh-gradient-1);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.elementor .dh-brand .elementor-widget-text-editor,
.elementor .dh-brand .elementor-widget-text-editor p {
  margin: 0 !important; color: var(--dh-gray) !important;
  font-size: .7rem !important; line-height: 1.2 !important;
}

.elementor .dh-nav-links {
  width: auto !important;
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
  align-items: center !important; justify-content: flex-end !important;
  gap: clamp(1rem, 2vw, 2.25rem) !important;
}
.elementor .dh-nav-links .elementor-widget-button { width: auto !important; flex: 0 0 auto !important; }

/* link de menu = sublinhado animado (mantido) */
.elementor .dh-nav-links .elementor-widget-button:not(:last-child) .elementor-button {
  position: relative; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; color: var(--dh-light) !important; box-shadow: none !important; transform: none !important;
}
.elementor .dh-nav-links .elementor-widget-button:not(:last-child) .elementor-button::after {
  content: ""; position: absolute; bottom: -7px; left: 0; width: 0; height: 2px;
  background: var(--dh-gradient-1); transition: width .25s ease;
}
.elementor .dh-nav-links .elementor-widget-button:not(:last-child) .elementor-button:hover { color: var(--dh-accent) !important; }
.elementor .dh-nav-links .elementor-widget-button:not(:last-child) .elementor-button:hover::after { width: 100%; }

/* botão do cabeçalho mantém o padrão (gradiente + transição) */
.elementor .dh-nav-links .elementor-widget-button:last-child .elementor-button {
  position: relative; overflow: hidden; border: 0 !important; border-radius: 999px !important;
  color: var(--dh-dark) !important; background: var(--dh-gradient-1) !important; font-weight: 800 !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.dh-mobile-menu-btn { display: none; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.dh-mobile-menu-btn span { display: block; width: 25px; height: 2px; margin: 5px auto; background: var(--dh-light); transition: transform .25s ease, opacity .25s ease; }
.dh-mobile-menu-btn.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.dh-mobile-menu-btn.open span:nth-child(2) { opacity: 0; }
.dh-mobile-menu-btn.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }


/* === 05 · TIPOGRAFIA PADRÃO ========================================= */
.elementor :is(h1, h2, h3, h4, .elementor-heading-title) { letter-spacing: 0 !important; }

/* H1 padrão (layout do título do blog) em todas as páginas */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(h1.elementor-heading-title, .elementor-widget-theme-post-title h1, .dh-hero-title .elementor-heading-title) {
  max-width: 980px;
  margin: 0 0 1.5rem !important;
  color: var(--dh-light) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(2.4rem, 5vw, 4.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

/* H2/H3 padrão */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  h2.elementor-heading-title {
  color: var(--dh-light) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(2rem, 4.2vw, 3.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  text-transform: none !important;
}

/* trecho em <span> = gradiente (a "transição de cores" dos títulos) */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(h1, h2, h3, .elementor-heading-title) span {
  background: var(--dh-gradient-1) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* texto corrido */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-text-editor,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-text-editor p {
  color: var(--dh-text-gray) !important;
  font-family: "Inter", sans-serif !important;
  line-height: 1.75 !important;
}


/* === 06 · RÓTULOS DE SEÇÃO (sem borda / sem bolinha) ================ */
/* "Nosso Blog", "Quando você precisa", etc. → só texto limpo,
   sem pílula, sem borda e SEM a bolinha piscando. */

body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .dh-badge .elementor-heading-title,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .dh-section:not(.dh-nav):not(.dh-hero):not(.dh-footer) > .e-con-inner > .e-con:first-child .elementor-widget-heading:first-child .elementor-heading-title,
/* hooks por ID que carregavam pílula+bolinha (home / portfólio) */
body.elementor-page-3629 .elementor-3629 :is(
  .elementor-element-8d36af0, .elementor-element-f3051ff, .elementor-element-977afcf,
  .elementor-element-c75e24a, .elementor-element-7192310, .elementor-element-e201384,
  .elementor-element-d77fd2d, .elementor-element-0673dab, .elementor-element-097225b) .elementor-heading-title,
body.elementor-page-3643 .elementor-3643 .elementor-element-e7e3ed3 .elementor-heading-title {
  display: inline-block !important;
  width: auto !important;
  margin: 0 0 .9rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--dh-accent) !important;
  -webkit-text-fill-color: var(--dh-accent) !important;
  font-family: "Inter", sans-serif !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

/* mata a bolinha (::before) e qualquer traço (::after) dos rótulos */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .dh-badge .elementor-heading-title::before,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .dh-section:not(.dh-nav):not(.dh-hero):not(.dh-footer) > .e-con-inner > .e-con:first-child .elementor-widget-heading:first-child .elementor-heading-title::before,
body.elementor-page-3629 .elementor-3629 :is(
  .elementor-element-8d36af0, .elementor-element-f3051ff, .elementor-element-977afcf,
  .elementor-element-c75e24a, .elementor-element-7192310, .elementor-element-e201384,
  .elementor-element-d77fd2d, .elementor-element-0673dab, .elementor-element-097225b) .elementor-heading-title::before,
body.elementor-page-3643 .elementor-3643 .elementor-element-e7e3ed3 .elementor-heading-title::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}


/* === 07 · BOTÕES PADRÃO ============================================= */
/* Layout do botão da seção "Transforme cliques em contatos qualificados":
   pílula com gradiente roxo→ciano e, no hover, um 2º gradiente (rosa/amarelo)
   que aparece por cima = transição de cor. Vale para todo botão do CORPO
   (cabeçalho e rodapé não são afetados aqui). */

body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-button .elementor-button:not(.dh-nav .elementor-button),
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-button[type="submit"] {
  position: relative;
  overflow: hidden;
  min-height: 52px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  padding: .9rem 2rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--dh-gradient-1) !important;
  color: var(--dh-dark) !important;
  font-family: "Inter", sans-serif !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(108,60,225,.22) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

/* a "transição de cor": 2º gradiente que aparece no hover */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-button .elementor-button::before,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-button[type="submit"]::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  border-radius: inherit;
  background: var(--dh-gradient-2);
  opacity: 0;
  transition: opacity .3s ease;
}
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-button .elementor-button:hover::before,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-button[type="submit"]:hover::before { opacity: 1; }

body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-widget-button .elementor-button:hover,
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(108,60,225,.40) !important;
  filter: saturate(1.05);
}

/* texto/ícone acima do gradiente do hover */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  .elementor-button :is(.elementor-button-content-wrapper, .elementor-button-text, .elementor-button-icon) {
  position: relative; z-index: 1; color: inherit !important; fill: currentColor !important;
}

/* exceção: não tocar nos botões do cabeçalho/rodapé (mantidos nos blocos 04/10) */
.elementor .dh-nav-links .elementor-button,
.elementor .dh-footer .elementor-widget-button .elementor-button { min-height: 0; }


/* === 08 · CARDS (elevação no lugar de borda) ======================= */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .dh-step-card, .dh-compare-card, .dh-float-card,
      .jet-listing-grid__item .e-con, .elementor-icon-box-wrapper.dh-card) {
  border: 0 !important;
  border-radius: 20px !important;
  background: var(--dh-card-bg) !important;
  box-shadow: var(--dh-card-shadow) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .dh-step-card, .dh-compare-card, .dh-float-card,
      .jet-listing-grid__item .e-con):hover {
  transform: translateY(-6px);
  box-shadow: var(--dh-card-shadow-hover) !important;
}

/* divisórias internas dos cards (linha imagem/conteúdo, etc.) → fora */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .jet-listing-grid__item .e-con) :is(.e-con, .elementor-widget-divider) {
  border: 0 !important;
}

/* ícone dos cards mantém o selo em gradiente */
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .dh-float-card) .elementor-icon {
  width: 54px; height: 54px;
  display: inline-flex !important; align-items: center; justify-content: center;
  margin-bottom: 1rem; border-radius: 14px;
  background: var(--dh-gradient-1); color: var(--dh-dark) !important; fill: var(--dh-dark) !important;
}
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .dh-float-card) :is(.elementor-icon-box-title, .elementor-icon-box-title span) {
  margin-bottom: .5rem !important; color: var(--dh-light) !important;
  font-family: "Space Grotesk", sans-serif !important; font-weight: 800 !important;
}
body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
  :is(.dh-card, .dh-float-card) :is(.elementor-icon-box-description, p) {
  color: var(--dh-text-gray) !important; line-height: 1.65 !important;
}


/* === 09 · FORMULÁRIOS =============================================== */
body:is(.elementor-page, .blog, .single-post):not(.elementor-editor-active)
  :is(input.elementor-field, textarea.elementor-field) {
  width: 100% !important; min-height: 48px;
  padding: .9rem 1rem !important;
  border: 1px solid rgba(108,60,225,.24) !important;
  border-radius: 12px !important;
  background: rgba(10,10,15,.72) !important;
  color: var(--dh-light) !important;
  font: 400 .95rem/1.35 "Inter", sans-serif !important;
  outline: none !important;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
body:is(.elementor-page, .blog, .single-post):not(.elementor-editor-active)
  textarea.elementor-field { min-height: 126px; resize: vertical; }
body:is(.elementor-page, .blog, .single-post):not(.elementor-editor-active)
  :is(input.elementor-field, textarea.elementor-field):focus {
  border-color: var(--dh-accent) !important;
  background: rgba(10,10,15,.92) !important;
  box-shadow: 0 0 0 3px rgba(0,245,212,.12) !important;
}
body:is(.elementor-page, .blog, .single-post):not(.elementor-editor-active)
  .elementor-field-label { margin-bottom: .4rem; color: var(--dh-light) !important; font-weight: 700 !important; font-size: .85rem !important; }


/* === 10 · RODAPÉ (mantido) ========================================= */
.elementor .dh-footer {
  padding: 4rem 0 2rem !important;
  border-top: 1px solid rgba(108,60,225,.2) !important;
  background: var(--dh-dark-2) !important;
}
.elementor .dh-footer > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
.elementor .dh-footer-grid { display: grid !important; grid-template-columns: 1.5fr 1fr 1fr 1.15fr; gap: 3rem !important; width: 100% !important; margin-bottom: 3rem !important; }
.elementor .dh-footer-grid > .e-con { width: 100% !important; min-width: 0 !important; }
.elementor .dh-footer .elementor-nav-menu--dropdown { display: none !important; }
.elementor .dh-footer p, .elementor .dh-footer a { color: var(--dh-gray) !important; font-size: .9rem !important; line-height: 1.7 !important; }
.elementor .dh-footer a:hover { color: var(--dh-accent) !important; }
.elementor .dh-footer h4,
.elementor .dh-footer .elementor-widget-heading:not(:first-child) .elementor-heading-title {
  margin: 0 0 1.5rem !important; color: var(--dh-light) !important; font-size: 1rem !important; font-weight: 800 !important;
}
.elementor .dh-footer-bottom {
  display: flex !important; flex-flow: row wrap !important; align-items: center !important; justify-content: space-between !important;
  gap: 1rem !important; width: 100% !important; padding-top: 2rem !important; border-top: 1px solid rgba(108,60,225,.2);
}
.elementor .dh-footer .elementor-widget-button .elementor-button {
  position: relative; overflow: hidden; border: 0 !important; border-radius: 999px !important;
  color: var(--dh-dark) !important; background: var(--dh-gradient-1) !important; font-weight: 800 !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}


/* === 11 · PONTEIRO (mantido — não mexer) =========================== */
.dh-cursor {
  --dh-cursor-scale: 1;
  position: fixed; top: 0; left: 0; z-index: 99999;
  width: 20px !important; height: 20px !important;
  pointer-events: none;
  border: 2px solid var(--dh-accent); border-radius: 50%;
  background: transparent !important;
  mix-blend-mode: difference;
  opacity: 0;
  transform: translate(-50%, -50%) scale(var(--dh-cursor-scale));
  transform-origin: center;
  transition: transform .1s ease, background .2s ease, border-color .2s ease, opacity .16s ease;
  will-change: transform, left, top;
}
.dh-cursor.hover    { --dh-cursor-scale: 2;    background: var(--dh-accent) !important; border-color: var(--dh-accent) !important; }
.dh-cursor.is-link  { --dh-cursor-scale: 2.05; background: var(--dh-accent) !important; }
.dh-cursor.is-button{ --dh-cursor-scale: 2.45; background: var(--dh-accent) !important; border-color: var(--dh-accent) !important; }
.dh-cursor.is-card  { --dh-cursor-scale: 2.85; background: var(--dh-accent) !important; border-color: var(--dh-accent) !important; }
.dh-cursor.is-text  { --dh-cursor-scale: 1.45; background: transparent !important; border-color: var(--dh-accent) !important; }

@media (pointer: fine) {
  body.dh-cursor-enabled, body.dh-cursor-enabled * { cursor: none !important; }
}


/* === 12 · REVEAL + KEYFRAMES ======================================= */
body.dh-js-ready .elementor :is(.reveal, .dh-reveal):not(.active):not(.dh-float-card) {
  opacity: 0; transform: translateY(50px); transition: opacity .8s ease, transform .8s ease;
}
body.dh-js-ready .elementor :is(.reveal, .dh-reveal).active:not(.dh-float-card) { opacity: 1; transform: translateY(0); }
body.blog.dh-js-ready .jet-listing-grid__item :is(.reveal, .dh-reveal) { opacity: 1 !important; transform: none !important; }

@keyframes dh-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes dh-float-a { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-20px,0); } }
@keyframes dh-float-b { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(16px,-26px,0); } }
@keyframes dh-float-c { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-16px,-18px,0); } }


/* === 13 · RESPONSIVO =============================================== */
@media (max-width: 1100px) {
  .elementor .dh-nav > .e-con-inner,
  .elementor .dh-footer > .e-con-inner,
  .elementor :is(.dh-section, .dh-nav, .dh-footer).e-con-boxed > .e-con-inner {
    width: min(100%, calc(100% - 3rem)) !important; max-width: 100% !important;
  }
  .elementor .dh-nav-links { gap: 1rem !important; }
  .elementor .dh-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 782px) { .admin-bar .elementor .dh-nav { top: 46px; } }

@media (max-width: 767px) {
  :root { --dh-nav-height: 74px; }
  .dh-cursor { display: none !important; }

  .elementor .dh-mobile-menu-btn { display: block; position: relative; z-index: 1002; flex: 0 0 auto; }
  .elementor .dh-nav-links {
    display: none !important; position: fixed !important; inset: 0 !important; z-index: 1001;
    width: 100vw !important; height: 100vh !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important; gap: 2rem !important;
    background: var(--dh-dark) !important;
  }
  .elementor .dh-nav-links.open { display: flex !important; }
  .elementor .dh-nav-links.open .elementor-hidden-mobile { display: block !important; }
  .elementor .dh-nav-links .elementor-button { font-size: 1.15rem !important; }

  body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
    :is(h1.elementor-heading-title, .elementor-widget-theme-post-title h1, .dh-hero-title .elementor-heading-title) {
    font-size: clamp(2.15rem, 9vw, 2.9rem) !important; line-height: 1.12 !important;
  }
  body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
    h2.elementor-heading-title { font-size: clamp(1.85rem, 8vw, 2.5rem) !important; }

  body:is(.elementor-page, .blog, .archive, .single-post, .single):not(.elementor-editor-active)
    .elementor-widget-button .elementor-button { width: 100%; max-width: 340px; }

  .elementor .dh-footer-grid { grid-template-columns: 1fr !important; }
  .elementor .dh-footer-bottom { flex-direction: column !important; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  body::before,
  .dh-float-card,
  body:is(.elementor-page, .blog, .archive, .single-post, .single)::before { animation: none !important; }
}

/* ============================================================
   PÁGINA SERVIÇO PRINCIPAL — CSS completo (v2 corrigido)
   COLE ESTE ARQUIVO INTEIRO no Custom CSS (SUBSTITUI o anterior).
   Escopo: tudo dentro de .dh-servico-page (não vaza p/ outras páginas).
   Correções v2:
     - Fundo TRANSPARENTE (respeita o efeito radial-gradient do site)
     - Padding-top do hero aumentado (respiro no topo)
     - Scroller lateral eliminado (overflow-x:hidden REMOVIDO do wrapper —
       o navegador força overflow-y:auto quando X é hidden, gerando barra).
       Overflow fica só no .dh-hero, que precisa por causa do ::before.
     - Portfólio com imagens reais + faixa de logos + case antes/depois
   ============================================================ */

/* ============ VARIÁVEIS (escopadas no wrapper) ============ */
.dh-servico-page{
  --dh-dark:#0a0a0f;
  --dh-dark-2:#12121a;
  --dh-dark-3:#1a1a25;
  --dh-light:#f9fafb;
  --dh-white:#ffffff;
  --dh-gray:#6b7280;
  --dh-text-gray:#9ca3af;
  --dh-primary:#6c3ce1;
  --dh-primary-dark:#5521c6;
  --dh-primary-light:#8b5cf6;
  --dh-accent:#00f5d4;
  --dh-yellow:#fee440;
  --dh-pink:#f15bb5;
  --dh-danger:#ff6b6b;
  --dh-gradient-1:linear-gradient(135deg,#6c3ce1 0%,#00f5d4 100%);
  --dh-gradient-2:linear-gradient(135deg,#fee440 0%,#f15bb5 100%);
  --dh-gradient-3:linear-gradient(135deg,#00f5d4 0%,#6c3ce1 50%,#fee440 100%);
  --dh-card-bg:linear-gradient(145deg,rgba(18,18,26,.92),rgba(10,10,15,.90));
  --dh-card-shadow:0 18px 46px rgba(0,0,0,.30);
  --dh-card-shadow-hover:0 26px 60px rgba(0,245,212,.12);
  --dh-shadow:0 18px 42px rgba(0,0,0,.26);
  color:var(--dh-light);
  font-family:"Inter",sans-serif;
  /* FUNDO TRANSPARENTE — deixa o efeito radial do site aparecer */
  background:transparent;
  position:relative;
  /* NÃO usar overflow-x:hidden aqui — o browser força overflow-y:auto
     e cria um scroller vertical dentro do wrapper. O overflow fica só
     no .dh-hero, que precisa por causa do ::before decorativo. */
}

.dh-servico-page *{box-sizing:border-box}

/* ============ TIPOGRAFIA ============ */
.dh-servico-page h1,
.dh-servico-page h2,
.dh-servico-page h3{
  color:var(--dh-light);
  font-family:"Space Grotesk",sans-serif;
  font-weight:800;
  line-height:1.1;
  margin:0 0 1.25rem;
}
.dh-servico-page h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.dh-servico-page h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.dh-servico-page h3{font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 .6rem}
.dh-servico-page h1 span,
.dh-servico-page h2 span{
  background:var(--dh-gradient-1);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.dh-servico-page p{color:var(--dh-text-gray);line-height:1.75;margin:0 0 1rem}
.dh-servico-page p a{color:var(--dh-accent);text-decoration:underline}

/* ============ LAYOUT — sections e wrap ============ */
.dh-servico-page .dh-section{
  position:relative;
  padding:5rem 0;
  background:transparent;               /* transparente por padrão */
}
.dh-servico-page .dh-section > .dh-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}
.dh-servico-page .dh-section.soft{
  /* variação suave: overlay levíssimo, sem tampar o efeito do site */
  background:rgba(18,18,26,.35);
}
.dh-servico-page .dh-center{text-align:center}
.dh-servico-page .dh-center .dh-badge{margin-inline:auto}

/* ============ HERO ============ */
.dh-servico-page .dh-hero{
  /* Padding-top maior (respiro do menu do site) */
  padding:9rem 0 5rem;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:transparent;
}
.dh-servico-page .dh-hero::before{
  content:"";
  position:absolute;
  inset:0;                              /* NÃO usar valores negativos: previne scroll */
  z-index:0;
  background:
    radial-gradient(circle at 22% 42%, rgba(108,60,225,.14) 0%, transparent 55%),
    radial-gradient(circle at 78% 55%, rgba(0,245,212,.09) 0%, transparent 55%);
  animation:dh-slow-pulse 18s ease-in-out infinite;
  pointer-events:none;
}
.dh-servico-page .dh-hero > .dh-wrap{position:relative;z-index:1}
.dh-servico-page .dh-hero p{max-width:760px;font-size:1.08rem;color:var(--dh-text-gray)}

.dh-servico-page .dh-hero-list{
  list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.6rem;
}
.dh-servico-page .dh-hero-list li{
  display:flex;align-items:center;gap:.75rem;
  color:var(--dh-light);font-size:.98rem;font-weight:600;
}
.dh-servico-page .dh-hero-list li::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:var(--dh-accent);flex-shrink:0;
}

/* ============ BADGE (eyebrow) ============ */
.dh-servico-page .dh-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1rem;border-radius:999px;
  background:rgba(108,60,225,.20);
  border:1px solid rgba(108,60,225,.35);
  color:var(--dh-accent);
  font-size:.85rem;font-weight:700;line-height:1.2;
  margin-bottom:1.25rem;
}
.dh-servico-page .dh-badge::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:var(--dh-accent);
  animation:dh-pulse 2s ease-in-out infinite;
}

/* ============ BOTÕES ============ */
.dh-servico-page .dh-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.dh-servico-page .dh-actions.center{justify-content:center}
.dh-servico-page .dh-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.9rem 1.6rem;border-radius:12px;
  background:var(--dh-gradient-1);
  color:#fff !important;text-decoration:none !important;
  font-weight:700;font-size:.98rem;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 12px 28px rgba(108,60,225,.25);
  border:none;
}
.dh-servico-page .dh-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(0,245,212,.30);
}
.dh-servico-page .dh-btn.alt{
  background:transparent;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.dh-servico-page .dh-btn.alt:hover{
  border-color:var(--dh-accent);
  color:var(--dh-accent) !important;
}

/* ============ GRIDS ============ */
.dh-servico-page .dh-grid-3,
.dh-servico-page .dh-grid-4,
.dh-servico-page .dh-grid-5{
  display:grid;gap:1.5rem;margin-top:2.5rem;
}
.dh-servico-page .dh-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.dh-servico-page .dh-grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dh-servico-page .dh-grid-5{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ============ CARDS BASE ============ */
.dh-servico-page .dh-card{
  padding:1.75rem 1.5rem;
  border-radius:16px;
  background:var(--dh-card-bg);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--dh-card-shadow);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.dh-servico-page .dh-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--dh-card-shadow-hover);
  border-color:rgba(0,245,212,.20);
}
.dh-servico-page .dh-card p{font-size:.95rem;color:var(--dh-text-gray);margin:0}

/* Ícone SVG dentro de cards */
.dh-servico-page .dh-card .dh-icon{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(108,60,225,.20),rgba(0,245,212,.10));
  margin-bottom:1rem;color:var(--dh-accent);
}
.dh-servico-page .dh-card .dh-icon svg{
  width:22px;height:22px;
  stroke:currentColor;stroke-width:2;fill:none;
}

/* Step card com número em gradiente */
.dh-servico-page .dh-step-card .step-num{
  display:inline-block;
  font-family:"Space Grotesk",sans-serif;
  font-size:1.6rem;font-weight:800;line-height:1;
  background:var(--dh-gradient-1);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:.6rem;
}

/* Price card */
.dh-servico-page .dh-price-card{text-align:center}
.dh-servico-page .dh-price-card .price{
  font-family:"Space Grotesk",sans-serif;
  font-size:1.35rem;font-weight:800;line-height:1.2;
  color:var(--dh-accent);
  margin:.6rem 0 1rem;
}
.dh-servico-page .dh-price-card.dh-price-highlight{
  border-color:rgba(0,245,212,.35);
  box-shadow:0 22px 50px rgba(0,245,212,.14);
}

/* Card que é <a> (link) */
.dh-servico-page a.dh-card{
  text-decoration:none;color:inherit;display:block;
}
.dh-servico-page .dh-pill{
  display:inline-block;
  margin-top:1rem;padding:.35rem .8rem;
  border-radius:999px;
  background:rgba(0,245,212,.10);
  border:1px solid rgba(0,245,212,.25);
  color:var(--dh-accent);
  font-size:.8rem;font-weight:700;
}

/* ============ STATS (Diego +250 / 2019 / SEO) ============ */
.dh-servico-page .dh-diego-stats{
  display:flex;flex-wrap:wrap;gap:2rem;margin:2rem 0;
}
.dh-servico-page .dh-stat strong{
  display:block;
  font-family:"Space Grotesk",sans-serif;
  font-size:2.2rem;font-weight:800;line-height:1;
  background:var(--dh-gradient-1);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.dh-servico-page .dh-stat span{
  display:block;color:var(--dh-text-gray);font-size:.9rem;margin-top:.4rem;
}

/* ============ CTA FINAL ============ */
.dh-servico-page .dh-cta-final{text-align:center;background:transparent}
.dh-servico-page .dh-cta-inner{
  max-width:820px;margin:0 auto;
  padding:3rem 2rem;border-radius:24px;
  background:
    radial-gradient(circle at 30% 20%, rgba(108,60,225,.15) 0%, transparent 55%),
    radial-gradient(circle at 70% 80%, rgba(0,245,212,.10) 0%, transparent 55%),
    var(--dh-card-bg);
  border:1px solid rgba(0,245,212,.15);
}

/* ============ FAQ (details/summary) ============ */
.dh-servico-page .dh-faq-items{display:grid;gap:.9rem;margin-top:2rem}
.dh-servico-page .dh-faq-items details{
  background:var(--dh-card-bg);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:0;overflow:hidden;
}
.dh-servico-page .dh-faq-items summary{
  padding:1.1rem 1.3rem;cursor:pointer;
  color:var(--dh-light);font-weight:700;font-size:1.02rem;
  list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.dh-servico-page .dh-faq-items summary::-webkit-details-marker{display:none}
.dh-servico-page .dh-faq-items summary::after{
  content:"+";color:var(--dh-accent);
  font-size:1.4rem;font-weight:400;
  transition:transform .2s ease;
}
.dh-servico-page .dh-faq-items details[open] summary::after{transform:rotate(45deg)}
.dh-servico-page .dh-faq-items details p{
  padding:0 1.3rem 1.2rem;color:var(--dh-text-gray);margin:0;
}
.dh-servico-page .dh-faq-items details p a{color:var(--dh-accent);text-decoration:underline}

/* ============ PORTFÓLIO COM IMAGENS REAIS ============ */
.dh-servico-page .dh-portfolio .dh-grid-4{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.dh-servico-page .dh-portfolio a.dh-card{
  padding:0;overflow:hidden;display:flex;flex-direction:column;
}
.dh-servico-page .dh-portfolio a.dh-card .card-img{
  aspect-ratio:16/10;overflow:hidden;
  background:#0a0a0f;display:block;
}
.dh-servico-page .dh-portfolio a.dh-card .card-img img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.dh-servico-page .dh-portfolio a.dh-card:hover .card-img img{transform:scale(1.04)}
.dh-servico-page .dh-portfolio a.dh-card .card-body{padding:1.35rem 1.4rem 1.5rem}
.dh-servico-page .dh-portfolio a.dh-card h3{margin:0 0 .45rem}
.dh-servico-page .dh-portfolio a.dh-card p{font-size:.92rem;margin:0}
.dh-servico-page .dh-portfolio a.dh-card .dh-pill{margin-top:.9rem}

/* ============ CASE ANTES/DEPOIS ============ */
.dh-servico-page .dh-case{
  margin-top:3rem;padding:2rem;border-radius:20px;
  background:var(--dh-card-bg);
  border:1px solid rgba(255,255,255,.06);
}
.dh-servico-page .dh-case .case-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:2.2rem;align-items:center;
}
.dh-servico-page .dh-case img{
  width:100%;border-radius:12px;display:block;
}
.dh-servico-page .dh-case h3{font-size:1.4rem;margin:0 0 .6rem}

/* ============ LOGOS DE CLIENTES (prova social) ============ */
.dh-servico-page .dh-logos{padding:3rem 0 2rem;text-align:center}
.dh-servico-page .dh-logos .dh-logos-title{
  color:var(--dh-text-gray);
  font-size:.85rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;
  margin:0 0 1.5rem;
}
.dh-servico-page .dh-logos .dh-logos-row{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:2.5rem 3rem;opacity:.85;
}
.dh-servico-page .dh-logos .dh-logos-row img{
  max-height:52px;width:auto;
  filter:brightness(0) invert(1) opacity(.75);
  transition:opacity .25s ease, filter .25s ease;
}
.dh-servico-page .dh-logos .dh-logos-row img:hover{
  opacity:1;filter:brightness(0) invert(1) opacity(1);
}

/* ============ REVEAL / animações base ============ */
.dh-servico-page .reveal{opacity:1}

/* ============ RESPONSIVO (mobile) ============ */
@media (max-width:767px){
  .dh-servico-page .dh-section{padding:3.5rem 0}
  .dh-servico-page .dh-hero{padding:6.5rem 0 4rem}
  .dh-servico-page h1{font-size:2.15rem}
  .dh-servico-page h2{font-size:1.75rem}
  .dh-servico-page .dh-cta-inner{padding:2rem 1.2rem}
  .dh-servico-page .dh-diego-stats{gap:1.2rem}
  .dh-servico-page .dh-stat strong{font-size:1.75rem}
  .dh-servico-page .dh-case{padding:1.2rem}
  .dh-servico-page .dh-case .case-grid{grid-template-columns:1fr;gap:1.4rem}
  .dh-servico-page .dh-logos .dh-logos-row{gap:1.8rem 2rem}
  .dh-servico-page .dh-logos .dh-logos-row img{max-height:38px}
}

/* ============ KEYFRAMES ============ */
@keyframes dh-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(1.5)}
}
@keyframes dh-slow-pulse{
  0%,100%{opacity:.85;transform:scale(1)}
  50%{opacity:1;transform:scale(1.05)}
}

/* =====================================================================
   CSS ADICIONAL DO PERSONALIZADOR — fonte preservada em 2026-07-12
   ===================================================================== */

/** Start Block Kit CSS: 142-3-a175df65179b9ef6a5ca9f1b2c0202b9 **/

.envato-block__preview{
	overflow: visible;
}

/* Border Radius */
.envato-kit-139-accordion .elementor-widget-container{
	border-radius: 10px !important;
}
.envato-kit-139-map iframe,
.envato-kit-139-slider .slick-slide,
.envato-kit-139-flipbox .elementor-flip-box div{
	border-radius: 10px !important;
}

/* Tema escuro das páginas de segmento (.dh-niche) — alinha ao site */
.dh-niche{background:transparent!important;color:#E7EEFF!important}
.dh-niche .dh-section.soft{background:transparent!important}
.dh-niche .dh-title{color:#fff!important}
.dh-niche .dh-text{color:#AEB9D6!important}
.dh-niche .dh-eyebrow{color:#5FD0A6!important}
.dh-niche .dh-card{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}
.dh-niche .dh-card h3{color:#fff!important}
.dh-niche .dh-card p{color:#AEB9D6!important}
.dh-niche .dh-step{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}
.dh-niche .dh-step h3{color:#fff!important}
.dh-niche .dh-step p{color:#AEB9D6!important}
.dh-niche .dh-faq details{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important}
.dh-niche .dh-faq summary{color:#fff!important}
.dh-niche .dh-faq p{color:#AEB9D6!important}
.dh-niche .dh-icon{background:rgba(255,255,255,.1)!important;color:#fff!important}
.dh-niche .dh-pill{color:#7CC6FF!important}


