/* Portal contrast repair - 2026-05-17 */
.prqr-seo-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Fundo escuro do menu off-canvas (31156f6e) — mantido.
   REMOVIDO: #header_pop (= container sticky do header desktop 2d945370). Esse
   seletor de ID forcava o gradiente no header e vencia qualquer classe, impedindo
   a transparencia. Agora o fundo do header e controlado pelas regras de
   transparencia/sticky/safeguard abaixo. */
.elementor-element-31156f6e {
  background: #262a33 !important;
  background-image: linear-gradient(135deg, #262a33 0%, #1d222b 100%) !important;
}

/* Menu MOBILE (dropdown do nav) + submenus: fundo escuro solido — o texto do
   header e branco, entao o painel precisa de fundo escuro p/ legibilidade.
   (Antes vinha do gradiente global do #header_pop, removido acima.) */
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container.elementor-nav-menu--dropdown,
#header_pop .elementor-nav-menu--dropdown,
.elementor-element-2d945370 .elementor-nav-menu--dropdown {
  background-color: #262a33 !important;
  background-image: none !important;
}

#header_pop {
  opacity: 1 !important;
  visibility: visible !important;
}

#header_pop :where(a, li, span, .menu-link, .elementor-icon-list-text),
.elementor-element-31156f6e :where(a, li, span, .menu-link, .elementor-icon-list-text) {
  color: #fbfbfb !important;
}

#header_pop :where(svg, path),
.elementor-element-31156f6e :where(svg, path) {
  fill: #fbfbfb !important;
}

#header_pop .elementor-icon-list-icon svg,
#header_pop .elementor-button-icon svg,
.elementor-element-31156f6e .elementor-icon-list-icon svg,
.elementor-element-31156f6e .elementor-button-icon svg {
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
}

.elementor-social-icon,
.elementor-social-icon :where(span, i, svg, path) {
  color: #ffffff !important;
  fill: #ffffff !important;
}

#masthead,
#masthead :where(.ast-above-header-bar, .ast-primary-header-bar, .main-header-bar),
.site-header :where(.ast-above-header-bar, .ast-primary-header-bar, .main-header-bar) {
  background: #262a33 !important;
  background-image: linear-gradient(135deg, #262a33 0%, #1d222b 100%) !important;
}

#masthead :where(a, span, .menu-link, .ast-icon, .ast-header-html, .ast-builder-html-element),
#masthead :where(svg, path) {
  color: #fbfbfb !important;
  fill: #fbfbfb !important;
}

body.home .elementor-element-82eedae,
body.home #rotocast,
body.home .elementor-element-a0460fb,
body.elementor-page-15989 .elementor-element-288dd96,
body.elementor-page-15891 .elementor-element-4be3077,
body.elementor-page-15891 .elementor-element-9e38db5,
body.elementor-page-15891 #section-patrocinio,
body.elementor-page-16835 .elementor-element-ea1b065,
body.elementor-page-16835 .elementor-element-ef95960 {
  background: linear-gradient(135deg, #262a33 0%, #14171d 100%) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home .elementor-element-82eedae :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.home #rotocast :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.home .elementor-element-a0460fb :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15989 .elementor-element-288dd96 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 .elementor-element-4be3077 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 .elementor-element-9e38db5 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 #section-patrocinio :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-16835 .elementor-element-ef95960 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong) {
  color: #fbfbfb !important;
  -webkit-text-fill-color: #fbfbfb !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page-13 .elementor.elementor-13 .elementor-element.elementor-element-82eedae.e-con.e-parent,
body.elementor-page-13 .elementor.elementor-13 #rotocast.e-con.e-parent,
body.elementor-page-13 .elementor.elementor-13 .elementor-element.elementor-element-a0460fb.e-con.e-parent,
body.elementor-page-15989 .elementor.elementor-15989 .elementor-element.elementor-element-288dd96.e-con.e-parent,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-4be3077.e-con.e-parent,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-9e38db5.e-con.e-parent,
body.elementor-page-15891 .elementor.elementor-15891 #section-patrocinio.e-con.e-parent,
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-ef95960.e-con.e-parent {
  background: linear-gradient(135deg, #262a33 0%, #14171d 100%) !important;
  background-image: linear-gradient(135deg, #262a33 0%, #14171d 100%) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home .elementor-element-82eedae .elementor-invisible,
body.home #rotocast .elementor-invisible,
body.home .elementor-element-a0460fb .elementor-invisible,
body.elementor-page-15989 .elementor-element-288dd96 .elementor-invisible,
body.elementor-page-15891 .elementor-element-4be3077 .elementor-invisible,
body.elementor-page-15891 .elementor-element-9e38db5 .elementor-invisible,
body.elementor-page-15891 #section-patrocinio .elementor-invisible,
body.elementor-page-16835 .elementor-element-ea1b065 .elementor-invisible,
body.elementor-page-16835 .elementor-element-ef95960 .elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page-13 .elementor.elementor-13 .elementor-element.elementor-element-82eedae.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-13 .elementor.elementor-13 #rotocast.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-13 .elementor.elementor-13 .elementor-element.elementor-element-a0460fb.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15989 .elementor.elementor-15989 .elementor-element.elementor-element-288dd96.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-4be3077.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-9e38db5.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-15891 .elementor.elementor-15891 #section-patrocinio.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-ef95960.e-con.e-parent :where(h1,h2,h3,h4,h5,h6,p,a,span,strong) {
  color: #fbfbfb !important;
  -webkit-text-fill-color: #fbfbfb !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home #rotocast :where(h1,h2,h3,h4,h5,h6,p,a,span,strong),
body.elementor-page-16835 .elementor-element-ea1b065 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong) {
  color: #fbfbfb !important;
  -webkit-text-fill-color: #fbfbfb !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home #rotocast.elementor-invisible,
body.home #rotocast :where(.elementor-invisible, .elementor-widget, .elementor-widget-container, .eael-dual-header, .eael-dch-title, .title, .elementor-button, .elementor-button-text) {
  opacity: 1 !important;
  visibility: visible !important;
}

body.home #rotocast :where(.eael-dch-title, .title, .elementor-heading-title, .elementor-button-text) {
  color: #fbfbfb !important;
  -webkit-text-fill-color: #fbfbfb !important;
}

body.home #rotocast .elementor-element-7754aa6 {
  margin-top: 28px !important;
}

body.home #rotocast .elementor-button-wrapper {
  margin-top: 22px !important;
}

@media (max-width: 544px) {
  body.home #rotocast {
    min-height: 860px !important;
    padding-bottom: 72px !important;
  }

  body.home #rotocast .e-con-inner {
    gap: 18px !important;
  }

  body.home #rotocast .elementor-element-b28b8d4 .eael-dual-header {
    padding-inline: 18px !important;
  }

  body.home #rotocast .elementor-element-b28b8d4 .subtext {
    display: none !important;
  }

  body.home #rotocast .elementor-element-b28b8d4 .subtext p {
    line-height: 1.55 !important;
    margin-bottom: 0 !important;
  }

  body.home #rotocast .elementor-element-7754aa6 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 3 !important;
    transform: translateY(26px) !important;
  }

  body.home #rotocast .elementor-element-e195ea9 {
    display: none !important;
  }

  body.home #rotocast .elementor-button-wrapper {
    margin-top: 0 !important;
  }
}

body.elementor-page-15891 .elementor-element-4be3077 :where(.elementor-button, .elementor-button-content-wrapper, .elementor-button-text),
body.elementor-page-15891 .elementor-element-9e38db5 :where(.elementor-button, .elementor-button-content-wrapper, .elementor-button-text),
body.elementor-page-15891 #section-patrocinio :where(.elementor-button, .elementor-button-content-wrapper, .elementor-button-text),
body.elementor-page-16835 .elementor-element-ef95960 :where(.elementor-button, .elementor-button-content-wrapper, .elementor-button-text) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page-15891 .elementor-element-4be3077 .elementor-button,
body.elementor-page-15891 .elementor-element-9e38db5 .elementor-button,
body.elementor-page-15891 #section-patrocinio .elementor-button,
body.elementor-page-16835 .elementor-element-ea1b065 .elementor-button,
body.elementor-page-16835 .elementor-element-ef95960 .elementor-button {
  background: #940bb8 !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
}

body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-7b2b4cb .elementor-heading-title,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-7f7f8e9 :where(p, a, strong),
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-e195ea9 .elementor-button-text,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-c9dfa7f .elementor-button-text,
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-4d50338e .elementor-button-text,
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-3f7f5567 .elementor-button-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-7b2b4cb,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-7f7f8e9,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-e195ea9,
body.elementor-page-15891 .elementor.elementor-15891 .elementor-element.elementor-element-c9dfa7f,
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-4d50338e,
body.elementor-page-16835 .elementor.elementor-16835 .elementor-element.elementor-element-3f7f5567 {
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page-17091 .wrap > .small {
  color: #fbfbfb !important;
}

body.elementor-page-17091 .wrap :where(.card, .box) .small {
  color: #565d6d !important;
}

body.elementor-page-16835 .ha-timeline-icon :where(.ha-timeline-date, .date) {
  color: #111827 !important;
}

/* ============================================================
   Topbar sticky — transparente no topo, SOLIDO ao colar.
   Header Elementor #16138: o container interno (3548f955) tem
   background #262A33 com alpha 00 (transparente) e NAO havia
   regra de estado sticky -> ficava transparente sempre e
   sobrepunha o conteudo ao rolar. Elementor adiciona
   .elementor-sticky--effects no container sticky (2d945370)
   apos 100px (sticky_effects_offset). Aqui damos o bg solido
   + sombra nesse estado. Transicao suave nos dois estados.
   ============================================================ */
header.elementor-location-header .elementor-element-3548f955,
.elementor-element-2d945370 .elementor-element-3548f955 {
  transition: background-color .25s ease, box-shadow .25s ease;
}

.elementor-element-2d945370.elementor-sticky--effects,
.elementor-element-2d945370.elementor-sticky--effects .elementor-element-3548f955,
header.elementor-location-header .elementor-sticky--effects .elementor-element-3548f955 {
  background-color: #262a33 !important;
  box-shadow: 0 6px 24px rgba(15, 23, 42, .28) !important;
}

/* No topo (nao rolado): header TRANSPARENTE -> revela o hero atras.
   O bg solido vinha da cor global "text" no container 2d945370. */
header.elementor-location-header .elementor-element-2d945370:not(.elementor-sticky--effects) {
  background-color: transparent !important;
}

/* Paginas SEM hero (fundo claro) -> header SOLIDO no topo p/ legibilidade
   (o texto do header e branco). Ativa quando a transparencia do header for
   ligada no Elementor. Paginas confirmadas claras por Playwright:
   WooCommerce (shop/cart/checkout/my-account), obrigado (16367),
   confirmacao newsletter (16290), recaps (17804). */
body.woocommerce-page header.elementor-location-header .elementor-element-2d945370,
body.page-id-16367 header.elementor-location-header .elementor-element-2d945370,
body.page-id-16290 header.elementor-location-header .elementor-element-2d945370,
body.page-id-17804 header.elementor-location-header .elementor-element-2d945370 {
  background-color: #262a33 !important;
  background-image: none !important;
}

/* /recaps/ (page 17804): titulo da pagina com contraste no fundo claro. */
body.page-id-17804 .entry-title,
body.page-id-17804 .ast-single-post-title {
  color: #0f172a !important;
}

/* Hero da Home: o header transparente (~184px) sobrepoe o topo do hero e o logo
   RotoCast ficava colado no menu. Empurra o hero p/ baixo p/ respirar (desktop). */
@media (min-width: 1025px) {
  body.page-id-13 .elementor-element-a0460fb {
    padding-top: 90px !important;
  }
}

/* Respiro no topo (desktop): header transparente nao fica colado na borda,
   alivia o menu sobre o hero. */
@media (min-width: 1025px) {
  header.elementor-location-header .elementor-element-3548f955 {
    padding-top: 52px !important;
    padding-bottom: 24px !important;
  }
}
