/* site.css */
/* VISU site v5 — overrides locais aplicados sobre o visu.network na prévia (visuwordpress, :4202).
   Escopo atual: home EN, header + hero. Prefixo `body` para vencer o CSS do header-v1 e o <style>
   inline do widget #visu-home-v4, que carregam depois deste arquivo. */

:root {
  --v5-bg: #080808;
  --v5-bar: #090d10;
  --v5-ink: #f1f0ea;
  --v5-muted: #a3acb3;
  --v5-line: rgba(255, 255, 255, 0.09);
  --v5-accent: #44c7f4;
  --v5-accent-ink: #06101a;
}

/* ---------- Header: desktop ---------- */

/* Nav encosta no logo em vez de flutuar no centro; o lado direito fica com as duas ações. */
body .elementor-1494 .elementor-element-b2f28d2 > .elementor-container {
  gap: 8px;
}
body .elementor-1494 .elementor-element-b2f28d2 .elementor-nav-menu__align-center .elementor-nav-menu--main > .elementor-nav-menu {
  justify-content: flex-start;
  margin-inline: 0;
}
body .elementor-1494 .elementor-element-b2f28d2 .elementor-element-e9a1d56 {
  padding-left: 28px;
}
/* Logo respira mais antes do primeiro item quando há espaço (abaixo disso o menu encosta no Log in). */
@media (min-width: 1200px) {
  body .elementor-1494 .elementor-element-b2f28d2 .elementor-element-e9a1d56 {
    padding-left: 44px;
  }
}
body .elementor-1494 .elementor-element-b2f28d2 .elementor-column:has(.elementor-element-e9a1d56) {
  flex: 1 1 auto;
}
/* "Home" duplica o logo. */
body .elementor-1494 .elementor-nav-menu--main .elementor-nav-menu > li:first-child:has(> a[href$="visu.network/"], > a[href$=":4202/"]) {
  display: none;
}
body .elementor-1494 .elementor-nav-menu--main .elementor-item {
  font-size: 15px;
  font-weight: 500;
  color: #c3cad0;
}
body .elementor-1494 .elementor-nav-menu--main .elementor-item:is(:hover, :focus-visible, .highlighted),
body .elementor-1494 .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #fff;
}

/* Log in vira link de texto; o botão cheio passa a ser o cadastro. */
/* Log in = mesmo ghost do "Talk to VISU" do hero. header-v1 declara esses botões com !important. */
body .elementor-1494 .elementor-element-b2f28d2 .elementor-element-6af8ce0 .elementor-button {
  display: inline-flex !important;
  align-items: center;
  height: 40px !important;
  min-height: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #eee !important;
  transition: background 0.18s, border-color 0.18s !important;
}
/* Valores medidos do hover do .r4-secondary ("Talk to VISU"). */
body .elementor-1494 .elementor-element-b2f28d2 .elementor-element-6af8ce0 .elementor-button:is(:hover, :focus-visible) {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: #192932 !important;
  box-shadow: none !important;
  color: #eee !important;
}
body .elementor-1494 .elementor-element-b2f28d2 .elementor-element-6af8ce0 {
  width: auto !important;
}
body .elementor-1494 .v5-signup {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 18px;
  margin-left: 4px;
  border-radius: 10px;
  background: var(--v5-accent);
  font: 600 14px/1 Inter, system-ui, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.18s ease;
}
/* Tema pinta todo `a` (e a:hover) com cor de link: travar tinta escura em todos os estados. */
body .elementor-1494 .v5-signup:is(:link, :visited, :hover, :focus-visible, :active) {
  color: var(--v5-accent-ink) !important;
}
body .elementor-1494 .v5-signup:hover { background: #6fd5f7; }
body .elementor-1494 .v5-signup:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
body .elementor-1494 .elementor-element-b2f28d2 .elementor-column:has(.v5-signup) {
  justify-content: flex-end !important;
}
body .elementor-1494 .elementor-element-b2f28d2 .elementor-widget-wrap:has(> .v5-signup) {
  width: 100%;
  margin-right: 0 !important; /* UiCore ui-col-align-right empurra o wrap com --ui-e-align-offset */
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
}

/* Dropdown: o item da página atual (vhdr-current-item) só mudava a cor do <a>, e o nome/descrição internos
   têm cor própria, então nada se destacava. Mesma pílula do item ativo do menu e da sub-barra. */
body .elementor-1494 .elementor-nav-menu--main .sub-menu li.vhdr-current-item > a {
  background: rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px;
}
body .elementor-1494 .elementor-nav-menu--main .sub-menu li.vhdr-current-item > a .vhdr-product-name {
  color: #fff !important;
}
body .elementor-1494 .elementor-nav-menu--main .sub-menu li.vhdr-current-item > a .vhdr-product-desc {
  color: #c3cad0 !important;
}

/* ---------- Header: mobile ---------- */

@media (max-width: 1024px) {
  /* Log in e hambúrguer sem caixa: menos peso na barra. */
  /* Mesmo ghost do Log in desktop / "Talk to VISU". */
  body .elementor-1494.elementor-location-header a.vhdr-mobile-login {
    display: inline-flex !important;
    align-items: center;
    height: 40px !important;
    min-height: 0 !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #eee !important;
    transition: background 0.18s, border-color 0.18s !important;
  }
  body .elementor-1494.elementor-location-header a.vhdr-mobile-login:is(:hover, :focus-visible, :active) {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: #192932 !important;
    color: #eee !important;
  }
  body .elementor-1494 .elementor-menu-toggle {
    background: transparent !important;
    border-color: transparent !important;
  }
  /* Menu ocupa a tela abaixo da barra, opaco: a página não vaza por baixo. */
  body .elementor-1494 .elementor-element-9185a30 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-height: calc(100dvh - 64px) !important;
    height: calc(100dvh - 64px) !important;
    border: 0 !important;
    border-top: 1px solid var(--v5-line) !important;
    border-radius: 0 !important;
    background: var(--v5-bar) !important;
    box-shadow: 0 32px 64px rgba(0, 0, 0, 0.6) !important;
    overflow-y: auto !important;
    /* O scaleY do Elementor num painel de tela cheia arrasta o conteúdo ao fechar: abre/fecha seco. */
    transition: none !important;
  }
  body .elementor-1494 .elementor-element-9185a30 .elementor-menu-toggle.elementor-active {
    background: transparent !important;
  }
  /* "Home" duplica o logo também no menu mobile. */
  body .elementor-1494 .elementor-element-9185a30 nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li:first-child:has(> a[href$=":4202/"], > a[href$="visu.network/"]) {
    display: none;
  }
  body .elementor-1494 .v5-menu-signup {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 48px;
    margin: 16px 24px 24px;
    border-radius: 10px;
    background: var(--v5-accent);
    color: var(--v5-accent-ink) !important;
    font: 600 15px/1 Inter, system-ui, sans-serif;
    text-decoration: none;
  }
}
@media (min-width: 1025px) {
  body .elementor-1494 .v5-menu-signup { display: none; }
}

/* ---------- Hero ---------- */

/* Fundo liso: sai a grade e o brilho radial. */
body #visu-home-v4 .r4-hero::before,
body #visu-home-v4 .r4-hero::after {
  display: none;
}
body #visu-home-v4 .r4-hero {
  padding-top: 56px;
  padding-bottom: 72px;
}

/* Título numa cor só, peso e tracking menos apertados. */
body #visu-home-v4 .r4-hero h1 {
  font-size: clamp(40px, 4.4vw, 64px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.032em;
  color: var(--v5-ink);
}
body #visu-home-v4 .r4-hero h1 em {
  color: inherit;
}
body #visu-home-v4 .r4-hero .r4-intro {
  max-width: 30em;
  color: var(--v5-muted);
}

/* CTAs: sem seta, altura normal, secundário como contorno. */
body #visu-home-v4 .r4-actions a {
  height: 52px;
  min-height: 0;
  padding: 0 22px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
}
body #visu-home-v4 .r4-primary > span {
  display: none;
}
body #visu-home-v4 .r4-secondary {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
body #visu-home-v4 .r4-secondary:hover {
  border-color: rgba(255, 255, 255, 0.4);
}

/* Checkmarks abaixo dos CTAs saem; a faixa com as lojas logo abaixo do hero já cobre isso. */
body #visu-home-v4 .r4-assurance {
  display: none;
}

/* Celulares retos, sem leque 3D nem brilho ciano. */
body #visu-home-v4 .r4-screen {
  transform: none !important;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5);
  border-color: rgba(255, 255, 255, 0.12);
}
body #visu-home-v4 .r4-screen-local,
body #visu-home-v4 .r4-screen-replay {
  opacity: 0.9;
}
body #visu-home-v4 .r4-stage-controls .r4-real-note {
  color: #7d868d;
}

@media (max-width: 767px) {
  body #visu-home-v4 .r4-hero {
    padding-top: 32px;
  }
  body #visu-home-v4 .r4-hero h1 {
    font-size: 38px;
    letter-spacing: -0.03em;
  }
  body #visu-home-v4 .r4-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  body #visu-home-v4 .r4-actions a {
    flex: 0 0 auto; /* flex:1 do widget zera a altura em coluna */
    width: 100%;
    justify-content: center;
    height: 50px;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .elementor-1494 .v5-signup { transition: none; }
}

/* ---------- Produtos (cards abaixo do hero) ---------- */

/* Cor identifica o produto (nome, link, demo); não pinta o card. Mesmo fundo neutro nos quatro. */
body #visu-home-v4 .r4-card {
  background: #0e1114 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}
body #visu-home-v4 .r4-card:hover {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
/* Eyebrow em caixa alta acima de cada nome: sai (limpeza de eyebrows sitewide). */
body #visu-home-v4 .r4-card-kicker {
  display: none;
}
body #visu-home-v4 .r4-demo-label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
}
/* Demo do Ads no mesmo painel neutro dos demos Local/Replay; roxo só em ícones e nome. */
body #visu-home-v4 .r4-ads-demo {
  background: #0d141b !important;
  border-color: rgba(255, 255, 255, 0.13) !important;
}
body #visu-home-v4 :is(.r4-ad-campaign, .r4-ad-reward, .r4-ad-entry > *) {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
body #visu-home-v4 .r4-demo-label {
  color: var(--v5-muted);
}
/* Brilho azul atrás do celular do Link. */
body #visu-home-v4 .r4-link-demo {
  background-image: none !important;
}
/* Eyebrow "VISU QR" acima do título do bloco QR. */
body #visu-home-v4 .r4-qr-bridge div > span:first-child {
  display: none;
}

/* ---------- How (3 passos) ---------- */

/* É sequência de verdade: numeração fica, mas neutra e maior, sem o ciano miúdo de template. */
body #visu-home-v4 .p5-steps li > span {
  color: #6b747b;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
body #visu-home-v4 .p5-steps li {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}

/* pages/00-foundation.css */
/* 00-foundation.css — fundação mínima das páginas EN sem o CSS global do tema.
 *
 * Substitui o que as 48 páginas migradas realmente herdavam de uicore-global.css
 * (+ bdt-uikit, ep-helper, wp-custom-css), medido por diff de DOM/estilo computado
 * (strip.txt ligado x desligado, 1440 e 390). Só entra aqui o que mudou algo medido.
 * Escopo `:where(body.page)` = especificidade 0 extra: qualquer CSS de página vence.
 * Produção: enfileirar este arquivo só onde o mu-plugin tirar o tema (páginas da allowlist).
 */

/* Reset: o tema dava border-box global e zerava a margem do body (sem isso: 8px de UA). */
:where(body.page) *, :where(body.page) ::before, :where(body.page) ::after { box-sizing: border-box; }
html:has(> body.page) { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Base de texto: Inter 16/15/14px, entrelinha 1.875em (valor do tema, herdado em px pelos filhos). */
:where(body.page) {
  margin: 0;
  background-color: #080808;
  color: #e5e7eb;
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.875em;
  --page-title-display: block;
}
/* Casca UiCore que continua no HTML: corta overflow lateral e define texto branco do conteúdo. */
:where(body.page) .uicore-body-content { position: relative; width: 100%; max-width: 100vw; overflow-x: clip; color: #fff; background-color: #090909; }
:where(body.page) #uicore-page { position: relative; z-index: 0; }

/* Títulos: escala do tema (desktop / <=1024 / <=767). O par `.elementor-widget-heading hN.elementor-heading-title`
   repete a especificidade do tema, que vencia o line-height:1 do widget de heading (títulos do footer). */
:where(body.page) :is(h1, h2, h3, h4, h5, h6),
:where(body.page) .elementor-widget-heading :is(h1, h2, h3, h4, h5, h6).elementor-heading-title {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", sans-serif;
  color: #fff;
  font-weight: 500;
  letter-spacing: -0.027em;
}
:where(body.page) h1 { margin: 0.67em 0; }
:where(body.page) h1, :where(body.page) .elementor-widget-heading h1.elementor-heading-title { font-size: 60px; line-height: 1.2em; }
:where(body.page) h2, :where(body.page) .elementor-widget-heading h2.elementor-heading-title { font-size: 48px; line-height: 1.175em; font-weight: 400; }
:where(body.page) h3, :where(body.page) .elementor-widget-heading h3.elementor-heading-title { font-size: 24px; line-height: 1.2em; }
:where(body.page) h4, :where(body.page) .elementor-widget-heading h4.elementor-heading-title { font-size: 20px; line-height: 1.42em; }
:where(body.page) h5, :where(body.page) .elementor-widget-heading h5.elementor-heading-title { font-size: 18px; line-height: 1.187em; letter-spacing: -0.015em; }
:where(body.page) h6, :where(body.page) .elementor-widget-heading h6.elementor-heading-title { font-size: 14px; line-height: 1.2em; }
@media (max-width: 1024px) {
  :where(body.page) { font-size: 15px; }
  :where(body.page) h2, :where(body.page) .elementor-widget-heading h2.elementor-heading-title { font-size: 34px; }
  :where(body.page) h3, :where(body.page) .elementor-widget-heading h3.elementor-heading-title { font-size: 21px; }
  :where(body.page) h4, :where(body.page) .elementor-widget-heading h4.elementor-heading-title { font-size: 18px; }
  :where(body.page) h5, :where(body.page) .elementor-widget-heading h5.elementor-heading-title { font-size: 15px; }
  :where(body.page) h6, :where(body.page) .elementor-widget-heading h6.elementor-heading-title { font-size: 13px; }
}
@media (max-width: 767px) {
  :where(body.page) { font-size: 14px; }
  :where(body.page) h1, :where(body.page) .elementor-widget-heading h1.elementor-heading-title { font-size: 40px; }
  :where(body.page) h2, :where(body.page) .elementor-widget-heading h2.elementor-heading-title { font-size: 26px; }
  :where(body.page) h3, :where(body.page) .elementor-widget-heading h3.elementor-heading-title { font-size: 20px; }
  :where(body.page) h4, :where(body.page) .elementor-widget-heading h4.elementor-heading-title { font-size: 16px; }
  :where(body.page) h5, :where(body.page) .elementor-widget-heading h5.elementor-heading-title { font-size: 14px; }
  :where(body.page) h6, :where(body.page) .elementor-widget-heading h6.elementor-heading-title { font-size: 12px; }
}

/* Texto corrido e listas: margens do tema (parágrafo 0 0 1em; primeiro/último do text-editor sem sobra). */
:where(body.page) p { margin: 0 0 1em; }
:where(body.page) .elementor-widget-text-editor p:first-child { margin-top: 0; }
:where(body.page) .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
:where(body.page) :is(ul, ol)[class]:not(.wp-block-list) { list-style: none; }
:where(body.page) dd { margin-left: 0; }
:where(body.page) small { font-size: 80%; }
:where(body.page) :is(b, strong) { font-weight: bolder; }
:where(body.page) [hidden] { display: none; }

/* Link: herda a cor de quem o contém. Acaba com o vazamento do tema (todo `a` e `a:hover` em ciano
   #00BFFF/#00ADEE, e `main a:not(...)` com !important pintando até botão). Cor de link é decisão da página. */
:where(body.page) a { color: inherit; text-decoration: none; }
/* Link sem classe dentro de texto corrido: como agora herda a cor do texto, ganha sublinhado discreto para
   continuar reconhecível (páginas legais, FAQs). Especificidade (0,1,1) = empata com `.elementor a{text-decoration:none}` do Elementor e vence por ordem. */
:where(body.page) .elementor :where(p, dd, td, li:not([class])) a:where(:not([class])) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}
:where(body.page) .elementor :where(p, dd, td, li:not([class])) a:where(:not([class])):hover { text-decoration-color: currentColor; }

/* Formulários: tema herdava fonte e empilhava campo em bloco (form input/select/textarea). */
:where(body.page) :is(button, input, select, textarea) { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
:where(body.page) button { border: 0; }
:where(body.page) form :is(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]), select, textarea) { display: block; }

/* Ícones Elementor (redes sociais do footer): o tema os pintava na cor primária. Mantido para o footer não mudar. */
:where(body.page) .uicore-body-content .elementor-icon { color: #00bfff; }
:where(body.page) .uicore-body-content .elementor-icon:hover { color: #00adee; }

/* Variáveis globais do kit (cores/tipos "uicore_*") que o CSS do header 1494 e do footer 6625 consomem. */
.elementor-kit-5 {
  --e-global-color-uicore_primary: #00BFFF;
  --e-global-color-uicore_secondary: #00ADEE;
  --e-global-color-uicore_accent: #FFFFFF;
  --e-global-color-uicore_headline: #FFFFFF;
  --e-global-color-uicore_body: #FFFFFF;
  --e-global-color-uicore_dark: #181818;
  --e-global-color-uicore_light: #181818;
  --e-global-color-uicore_white: #FFFFFF;
  --e-global-typography-uicore_primary-font-family: "Inter";
  --e-global-typography-uicore_primary-font-weight: 600;
  --e-global-typography-uicore_secondary-font-family: "Inter";
  --e-global-typography-uicore_secondary-font-weight: 500;
  --e-global-typography-uicore_text-font-family: "Inter";
  --e-global-typography-uicore_text-font-weight: normal;
  --e-global-typography-uicore_accent-font-family: "Inter";
  --e-global-typography-uicore_accent-font-weight: 500;
}

/* Espaçamento e largura dos containers Elementor: o tema definia 20px entre widgets e caixa de min(95%, 1150px).
   Sem isso o Elementor cai em 0px e 1140px. */
:where(body.page) .elementor-element { --widgets-spacing: 20px 20px; --widgets-spacing-row: 20px; --widgets-spacing-column: 20px; }
:where(body.page) .elementor-widget:not(:last-child) { --kit-widget-spacing: 20px; }
:where(body.page) :is(.elementor-section, .elementor > .e-con) { --container-max-width: min(95%, 1150px); }

/* ===== Código VISU que morava no CSS custom do tema (uicore-global) =====
 * Usado por /products/visulink, /visulocal, /visu-ads (+ qr/push/link-ads), /network, /roadmap, /uses, /locations.
 * Portado como estava (inclusive !important: sem ele as regras antigas de página reaparecem, medido).
 * Candidato a ir para o CSS dessas páginas quando cada uma for revisada. */
:where(body.page) {
  --visu-radius: 12px;
  --app-primary: #44C7F4;
  --app-primary-hover: #5ED0F6;
  --btn-text-dark: #06101a;
  --btn-lift: -1px;
  --btn-shadow-hover: 0 4px 12px rgba(0, 0, 0, .3);
}
/* Seção "full-bleed" das páginas visu-page-scope: 100vw, fundo e tinta próprios. */
.visu-page-scope {
  --visu-primary: #22d3ee; --visu-accent: #3b82f6; --visu-ink: #e5f0ff; --visu-sub: #9fb3c8; --visu-bg: #0b0f17;
  --visu-border: #1f2937; --wa-green: #25D366; --rad: 18px; --transition: .3s cubic-bezier(.4, 0, .2, 1);
  --shadow-card: 0 8px 32px rgba(0, 0, 0, .25); --shadow-glow: 0 15px 50px rgba(34, 211, 238, .3);
  background: var(--visu-bg);
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--visu-ink);
  line-height: 1.6;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  overflow-x: clip;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.visu-page-scope * { box-sizing: border-box; }
.e-con.e-flex:has(.visu-page-scope) > .e-con-inner { padding: 0 !important; gap: 0 !important; min-height: auto !important; }
.elementor-section:has(.visu-page-scope), .e-con:has(.visu-page-scope) { padding: 0 !important; margin: 0 !important; }
.visu-page-scope .v-wrap { max-width: 1180px; margin: 0 auto; padding: 48px 20px; }
@media (max-width: 740px) {
  .visu-page-scope .v-wrap { padding: 32px 16px; }
  .visu-page-scope { --svc-ic-size: 40px; --svc-ic-pad: 8px; }
}
/* Botões sol-btn / v-btn dessas páginas: primário ciano cheio, ghost com borda. */
.sol-btn {
  appearance: none; border: 2px solid transparent; border-radius: var(--visu-radius); padding: .875rem 2rem;
  font-weight: 600; cursor: pointer; font-size: 1rem; display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; text-decoration: none; white-space: nowrap; transform: translateY(0); box-shadow: none;
  transition: transform .2s, background-color .2s, box-shadow .2s;
  background: var(--app-primary) !important; color: var(--btn-text-dark) !important; -webkit-text-fill-color: var(--btn-text-dark) !important;
}
.sol-btn:hover {
  background: var(--app-primary-hover) !important; color: var(--btn-text-dark) !important;
  transform: translateY(var(--btn-lift)) !important; box-shadow: var(--btn-shadow-hover) !important;
}
.v-btn--secondary, .sol-btn-ghost {
  border-radius: var(--visu-radius); padding: .875rem 2rem; font-weight: 600; cursor: pointer; display: inline-flex;
  align-items: center; justify-content: center; gap: 8px; transition: .2s; transform: translateY(0);
  background: transparent !important; border: 1.5px solid rgba(255, 255, 255, .6) !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important;
}
.v-btn--secondary:hover, .sol-btn-ghost:hover {
  background: rgba(255, 255, 255, .1) !important; border-color: #fff !important; color: #fff !important;
  -webkit-text-fill-color: #fff !important; transform: translateY(var(--btn-lift)) !important;
}
.sol-plan-badge { background: var(--app-primary) !important; }

/* pages/05-fonts.css */
/* 05-fonts.css - Inter FOUT fix (metric-matched fallback).
 *
 * Problema medido (Chrome, Fast 3G + woff2 atrasado 3s, 26/09):
 *  - Blog/posts/paginas UiCore: font-family computado = "Inter" SEM generico
 *    (vars --uicore-*-font-family = "Inter"). Ate a Inter chegar o texto pinta em
 *    Times New Roman (serif, ~15-19% mais estreito) -> "espremido" -> estica.
 *    H1 do post 895px -> 1084px (+21%).
 *  - Home/paginas custom: "Inter, system-ui, ..." -> Segoe UI/Arial, 6-8% mais estreitos.
 * Correcao: familia "Inter Fallback" = Arial local com size-adjust e overrides
 * verticais calibrados contra a Inter 4 (UPM 2048, ascender 1984, descender 494,
 * lineGap 0) medindo largura real do texto do site (canvas, ~21k chars) por peso.
 *   ascent-override = 96.875% / size-adjust, descent-override = 24.12% / size-adjust.
 * "Inter Fallback Android" = mesmo calculo contra Roboto (Android nao tem Arial).
 *   Nao testado em device; se local('Roboto') nao casar, cai no proximo da pilha.
 *
 * Producao: estes @font-face + overrides vao pro CSS global (UiCore custom CSS ou
 * mu-plugin que imprime <style> no wp_head com prioridade 1, antes do primeiro texto).
 */

/* ---------- Arial (Windows / macOS / iOS) ---------- */
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 100 449;
  font-style: normal;
  size-adjust: 105.96%;   /* Inter 400 / Arial 400 */
  ascent-override: 91.43%;
  descent-override: 22.76%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial"), local("ArialMT");
  font-weight: 450 549;
  font-style: normal;
  size-adjust: 106.87%;   /* Inter 500 / Arial 400 */
  ascent-override: 90.65%;
  descent-override: 22.57%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 550 649;
  font-style: normal;
  size-adjust: 100.88%;   /* Inter 600 / Arial Bold */
  ascent-override: 96.03%;
  descent-override: 23.91%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 650 749;
  font-style: normal;
  size-adjust: 101.72%;   /* Inter 700 / Arial Bold */
  ascent-override: 95.24%;
  descent-override: 23.71%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT");
  font-weight: 750 1000;
  font-style: normal;
  size-adjust: 102.75%;   /* Inter 800 / Arial Bold */
  ascent-override: 94.28%;
  descent-override: 23.47%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial Italic"), local("Arial-ItalicMT");
  font-weight: 100 549;
  font-style: italic;
  size-adjust: 105.96%;
  ascent-override: 91.43%;
  descent-override: 22.76%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback";
  src: local("Arial Bold Italic"), local("Arial-BoldItalicMT");
  font-weight: 550 1000;
  font-style: italic;
  size-adjust: 101.72%;
  ascent-override: 95.24%;
  descent-override: 23.71%;
  line-gap-override: 0%;
}

/* ---------- Roboto (Android) ---------- */
@font-face {
  font-family: "Inter Fallback Android";
  src: local("Roboto"), local("Roboto-Regular");
  font-weight: 100 449;
  size-adjust: 106.88%;   /* Inter 400 / Roboto 400 */
  ascent-override: 90.64%;
  descent-override: 22.57%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback Android";
  src: local("Roboto"), local("Roboto-Regular");
  font-weight: 450 549;
  size-adjust: 107.80%;   /* Inter 500 / Roboto 400 */
  ascent-override: 89.87%;
  descent-override: 22.37%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback Android";
  src: local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 550 649;
  size-adjust: 107.37%;   /* Inter 600 / Roboto 700 */
  ascent-override: 90.22%;
  descent-override: 22.46%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback Android";
  src: local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 650 749;
  size-adjust: 108.26%;   /* Inter 700 / Roboto 700 */
  ascent-override: 89.48%;
  descent-override: 22.28%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Inter Fallback Android";
  src: local("Roboto Bold"), local("Roboto-Bold");
  font-weight: 750 1000;
  size-adjust: 109.36%;   /* Inter 800 / Roboto 700 */
  ascent-override: 88.58%;
  descent-override: 22.06%;
  line-gap-override: 0%;
}

/* ---------- 1) Variaveis globais (UiCore + Elementor kit) ----------
 * Cobrem body, h1-h6, p, blog (blog_h*, blog_p, blog_title) e widgets Elementor que
 * usam var(--e-global-typography-uicore_*). Sem isto o fallback e Times New Roman.
 * Especificidade (0,1,2) > original (:root body = 0,1,1; .elementor-kit-5 = 0,1,0). */
html:root body,
html body.elementor-kit-5 {
  --uicore-primary-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --uicore-secondary-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --uicore-accent-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --uicore-text-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --e-global-typography-uicore_primary-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --e-global-typography-uicore_secondary-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --e-global-typography-uicore_text-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
  --e-global-typography-uicore_accent-font-family: "Inter", "Inter Fallback", "Inter Fallback Android", sans-serif;
}

/* ---------- 2) Pilhas literais "Inter, ..." ----------
 * Gerado por varredura do CSSOM em 15 paginas da previa (26/09): toda regra cujo
 * font-family comeca com Inter e nao tem fallback metrico. Mesmo seletor com prefixo
 * `html` (ou `html:root`) para vencer o empate; !important onde o original tinha.
 * Comentario = arquivo de origem (onde corrigir na fonte em producao).
 * Nenhum seletor de icone entra aqui (so regras cujo 1o family e Inter).
 * Camadas pages/*.css de outras frentes que mudarem depois precisam trazer o
 * fallback na propria pilha: Inter, "Inter Fallback", "Inter Fallback Android", ... */

html .elementor-1494 .elementor-nav-menu--main .elementor-item,  /* elementor e7d9c876 */
html .elementor-1494 .elementor-nav-menu--main .elementor-sub-item,  /* elementor e7d9c876 */
html .elementor-1494 :is(.elementor-widget-button .elementor-button, .vhdr-mobile-login),  /* elementor e7d9c876 */
html .elementor-1494 .elementor-nav-menu--dropdown .elementor-item,  /* elementor e7d9c876 */
html .elementor-1494 .elementor-nav-menu--dropdown .elementor-sub-item,  /* elementor e7d9c876 */
html #pv-design :is(.pv-button, .sol-btn, .loc-btn, .rep-btn)  /* elementor a11d2251 */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", sans-serif !important;
}

html .elementor-1494 .vhdr-products-heading > span,  /* elementor e7d9c876 */
html .elementor-1494 .vhdr-products-menu > .vhdr-formats-heading,  /* elementor e7d9c876 */
html .elementor-kit-5 input[type="button"],  /* uicore-global.css */
html .elementor-kit-5 input[type="submit"],  /* uicore-global.css */
html .elementor-kit-5 [type="submit"],  /* uicore-global.css */
html .elementor-kit-5 .wp-block-button__link,  /* uicore-global.css */
html .uicore-mobile-menu-wrapper .uicore-cta-wrapper a,  /* uicore-global.css */
html .uicore-left-menu .uicore-cta-wrapper a,  /* uicore-global.css */
html .wc-block-components-button:not(.is-link),  /* uicore-global.css */
html .elementor-kit-5 .elementor-button.elementor-button,  /* uicore-global.css */
html .elementor-kit-5 .elementor-button:not(.bdt-offcanvas-button),  /* uicore-global.css */
html .elementor-kit-5 .bdt-button-primary,  /* uicore-global.css */
html .elementor-kit-5 .bdt-ep-button,  /* uicore-global.css */
html button.metform-btn,  /* uicore-global.css */
html button.metform-btn:not(.toggle),  /* uicore-global.css */
html .elementor-kit-5 .bdt-callout a.bdt-callout-button,  /* uicore-global.css */
html .elementor-kit-5 .tutor-button,  /* uicore-global.css */
html .elementor-kit-5 .tutor-login-form-wrap input[type="submit"],  /* uicore-global.css */
html .uicore-navbar a.uicore-btn,  /* uicore-global.css */
html .elementor-kit-5 .bdt-contact-form .elementor-button,  /* uicore-global.css */
html #visu-home-v4 .r4-screen-top,  /* home.3addec9833.css */
html #visu-home-v4 .r4-stage-controls button,  /* home.3addec9833.css */
html #visu-home-v4 .r4-profile-selector button,  /* home.3addec9833.css */
html #visu-home-v4 .r4-qr-bridge h4,  /* home.3addec9833.css */
html #home-product-preview .home-preview-close,  /* home.3addec9833.css */
html #pv-design .pv-tabs button  /* elementor a11d2251 */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", sans-serif;
}

html #visu-products-scope,  /* uicore-global.css */
html .visu-page-scope  /* uicore-global.css */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, "Segoe UI", Roboto, Arial, sans-serif;
}

html .visu-page-scope .fluentform .ff-btn-submit  /* uicore-global.css */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, -apple-system, sans-serif !important;
}

html body .elementor-1494 .v5-signup,  /* site.css */
html body .elementor-1494 .v5-menu-signup,  /* site.css */
html:root:lang(en) body.page-id-6959 .valt-lead,  /* site.css */
html:root:lang(en) body.page-id-6959 .valt-jump a,  /* site.css */
html:root:lang(en) body.page-id-6959 .valt .valt-btn,  /* site.css */
html #visu-home-v4 .r4-hero,  /* home.3addec9833.css */
html #visu-home-v4 .r4-products,  /* home.3addec9833.css */
html #visu-home-v4 #how.p5-how,  /* home.3addec9833.css */
html #visu-home-v4 #in-use.p5-cases,  /* home.3addec9833.css */
html #visu-home-v4 #segments.p5-audiences,  /* home.3addec9833.css */
html #home-product-preview,  /* home.3addec9833.css */
html #home-product-preview h2,  /* home.3addec9833.css */
html #pv-design,  /* elementor a11d2251 */
html #pv-design .pv-page :is(h1, h2, h3),  /* elementor a11d2251 */
html #sv-solutions,  /* elementor ecdd5289 */
html #visu-guides-v1,  /* elementor 29609f3c */
html #visu-guides-v1 .vg-category-number,  /* elementor 29609f3c */
html #visu-guides-v1 .vg-select-trigger,  /* elementor 29609f3c */
html #visu-guides-v1 .vg-select-option,  /* elementor 29609f3c */
html #cv-contact,  /* elementor 4a40c44f */
html #visu-hub[data-version="attention-hub-v1"]  /* elementor dbb80ca1 */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, sans-serif;
}

html:root:lang(en) body.page-id-1202 #visu-solutions,  /* site.css */
html:root:lang(en) body.page-id-6959 .valt,  /* site.css */
html #visu-home-v4  /* home.3addec9833.css */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html:root:lang(en) body.page-id-6959.valt-on header.uicore-page-title h1  /* site.css */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

html:root:lang(en) body.page-id-6959 .valt :is(h2, h3),  /* site.css */
html #sv-solutions :is(h1, h2, h3, h4),  /* elementor ecdd5289 */
html #cv-contact :is(h1, h2, h3)  /* elementor 4a40c44f */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, sans-serif !important;
}

html .visu-float-widget  /* inline */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", system-ui, -apple-system, sans-serif;
}

html #visu-products-page  /* inline */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
}

html #visu-country,  /* inline */
html #visu-hub  /* inline */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

html #visu-partners-v2,  /* inline */
html #visu-partners-v2 .pv-phone-bar,  /* inline */
html #visu-partners-v2 figcaption,  /* inline */
html #visu-partners-v2 summary  /* inline */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", Arial, sans-serif;
}

html #visu-uses  /* inline */ {
  font-family: Inter, "Inter Fallback", "Inter Fallback Android", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* pages/15-contact-routing.css */
/* Contato: WhatsApp flutuante do /products/visulink/ sai (gerava "I have a question about VISU Link" genérico
   direto no WhatsApp do dono). Volta quando houver atendimento automático. */
html:lang(en) #vl-wa-float {
  display: none !important;
}

/* pages/16-fixes.css */
/* Correções de bugs pré-existentes (também presentes no ar). */

/* /products/: o container raiz (81b289f) fica sem --display; `display: var(--display)` do Elementor cai no
   valor inicial (inline) e a linha inline abre um vão de ~30px entre o header e a sub-barra de produtos.
   As outras páginas de produto recebem flex e encostam no header. */
/* Mesmo bug em /products/ (81b289f), /products/visu-ads/, /attention-economy/, calculadora e /locations/:
   regra genérica para todo container flex do Elementor, que é o valor que o próprio Elementor pretende. */
.elementor .e-con.e-flex {
  --display: flex;
}

/* Sem o CSS do tema (strip.txt): o tema dava raio 12px ao campo de busca dos Guides e 46px ao select de moeda da
   calculadora; sem ele caem para 5px/43px. Mantém os valores de antes. */
html:lang(en) #visu-guides-v1 form input {
  border-radius: 12px;
}
html:lang(en) body.page-id-24854 select#currency {
  min-height: 46px;
}

/* pages/21-products.css */
/* Revisao site-v5: grupo Produtos (EN). /products/ (5440), VISU Link (5536), VISU Local (32994), VISU Replay (36763),
   VISU Ads (5546) e formatos QR (5554), Push (5563), Link (5573), Replay Ads (41366). Par de pages/20-products.js (textos)
   e pages/21-products.js (emoji no inicio das pills do hero QR/Push/Link).
   Todas as paginas rodam dentro de #pv-design (folha visu-products-v1) + <style> inline do widget
   (#visu-solutions .sol-*, #visu-local .loc-*, #visu-replay .rep-*, #visu-products-page .vpp-*, #visu-qr-ads-page).
   Escopo: html:lang(en) + page-id do grupo + #pv-design. Especificidade (1,2,2) + !important vence as duas folhas;
   regras com dois IDs (#pv-design #visu-local ...) repetem o segundo ID.
   Linguagem: ciano so em acao, cor de produto so identifica, sem glow/gradiente, sem caixa alta decorativa,
   numeracao so em passo de verdade (cinza #6b747b). */

/* ---------- Titulos numa cor so, sem glow ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-hero-copy h1,
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-hero-copy h1 :is(em, span),
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-page h2 :is(em, span:not([class])) {
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
  background: none !important;
  text-shadow: none !important;
}
/* Sombra de texto do hero e da caixa final (fundo ja e escuro e liso). As faixas com foto (loc-mid-banner,
   rep-mid-banner) mantem a sombra: la ela segura a leitura sobre a imagem. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-hero, .sol-cta-box, .loc-cta-box, .rep-final, .ra-final) :is(h1, h2, h3, p, span) {
  text-shadow: none !important;
}

/* ---------- Fundos: sem gradiente radial nem brilho ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-page .pv-hero {
  background: #080b0d !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.sol-cta-box, .loc-cta-box, .vpp-cta, .vpp-cta__box, .rep-final, .sol-local-banner, .sol-usecase-card)::before,
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.sol-cta-box, .loc-cta-box, .vpp-cta__box, .rep-final, .sol-local-banner)::after {
  content: none !important;
  display: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-local-banner {
  background: #121b21 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}
/* Paineis dos demos: mesmo fundo neutro nos quatro (o do Ads era roxo, o do Link tinha brilho azul). */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-diagram {
  background: #10181e !important;
  border-color: #2a3943 !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-flow-step {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-flow-arrow {
  color: #6b747b !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-flow-footer {
  color: #a3acb3 !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-proof-link {
  background: #10212b !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-placement {
  background: #111b24 !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-product-note {
  background: #111b22 !important;
  border-color: #2a3943 !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-product-note p {
  color: #a3acb3 !important;
}
/* Caixa final do Replay Ads no mesmo painel das outras paginas do grupo (era marrom). */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-page .ra-final {
  background: #12212a !important;
  border-color: #30434e !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-final p {
  color: #a3acb3 !important;
}

/* ---------- Eyebrows e rotulos em caixa alta ---------- */
/* Linha de contexto acima do H1 (QR/Push/Link/Replay Ads): fica, mas discreta, sem ponto e sem caixa alta. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-eyebrow, .sol-hero-eyebrow, .rep-eyebrow) {
  color: #a3acb3 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-eyebrow, .sol-hero-eyebrow, .rep-eyebrow)::before {
  content: none !important;
  display: none !important;
}
/* "VISU LINK" dentro do demo e "VISU ADS" no diagrama: texto ja em caixa alta no HTML e repete o titulo ao lado. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-proof-kicker, .pv-diagram-label) {
  display: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-proof-note h3 {
  margin-top: 0 !important;
}
/* "Pro feature. Optional.": vira linha de contexto, sem pill ciano. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-local-tag {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  color: #a3acb3 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.sol-plan-badge, .ra-ad-label) {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-ad-label {
  font-size: 12px !important;
}
/* "Most popular": selo neutro, destaque do plano fica na borda do card. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-plan-badge {
  background: #1b2a33 !important;
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-plan-card.featured {
  box-shadow: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-price-amount.accent {
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
}

/* ---------- Pills e tags coloridas: neutras ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.vpp-plans-cta__pill, .loc-tag, .loc-niche-tag) {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #a3acb3 !important;
  -webkit-text-fill-color: #a3acb3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* ---------- Numeros: stats neutros, indice falso fora, passos em cinza ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.loc-stat-val, .sol-local-stat .val) {
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
  background: none !important;
  text-shadow: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.loc-stat-card, .sol-local-stat) {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}
/* 01-04 nos cards de produto, 01-03 nos cards "por que" do Replay Ads e no diagrama: nao sao sequencia. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-card-index, .ra-index, .pv-flow-number) {
  display: none !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-product-card h3 {
  margin-top: 0 !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .ra-card h3 {
  margin-top: 0 !important;
}
/* Passos reais (How it works / How credits work): numero fica, circulo neutro, cinza. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.sol-step-num, .loc-step-num, .rep-step-num) {
  background: #0c1115 !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #6b747b !important;
  -webkit-text-fill-color: #6b747b !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}

/* ---------- Icones: sem caixa colorida; emoji como icone sai ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .sol-usecase-icon {
  background: rgba(255, 255, 255, 0.05) !important;
  box-shadow: none !important;
}
/* QR/Push/Link Ads: emoji antes do titulo dos cards e dos usos; titulo sozinho fica mais limpo. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.sol-card-icon, .sol-use-icon) {
  display: none !important;
}
/* "How it works" do QR/Push/Link e sequencia de verdade: o emoji do topo vira o numero do passo, em cinza. */
html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design .sol-how-grid,
html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design :has(> .sol-how-card) {
  counter-reset: pv-how;
}
html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design .sol-how-card {
  counter-increment: pv-how;
}
html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design .sol-how-icon {
  font-size: 0 !important;
  line-height: 1 !important;
}
html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design .sol-how-icon::before {
  content: counter(pv-how);
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  color: #6b747b;
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* Replay: emoji de cada esporte; o nome ja basta. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .rep-sport > span {
  display: none !important;
}

/* ---------- Botoes ---------- */
/* Fonte 15px (era 14 no desktop e 12 no mobile), radius 10, sem seta no botao cheio. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-button, .sol-btn, .loc-btn, .rep-btn, .vpp-btn, .sol-btn-wa, .loc-btn-wa) {
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-button:not(.pv-button-secondary), .sol-btn-primary, .loc-btn-primary, .rep-btn--primary, .vpp-btn--dark) > svg {
  display: none !important;
}
/* Secundario = contorno, igual a home. */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-button-secondary, .sol-btn-ghost, .loc-btn-ghost, .rep-btn--ghost) {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design :is(.pv-button-secondary, .sol-btn-ghost, .loc-btn-ghost, .rep-btn--ghost):hover {
  background: #192932 !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  filter: none !important;
}
/* VISU Ads: quatro "Explore X Ads" cheios em ciano na mesma grade viravam ruido; ficam como secundario. */
html:lang(en) body.page-id-5546 #pv-design .pv-four-formats .sol-btn-primary {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
}
html:lang(en) body.page-id-5546 #pv-design .pv-four-formats .sol-btn-primary:hover {
  background: #192932 !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  filter: none !important;
}

/* ---------- Seletores: alvo de toque 44px ---------- */
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-tabs button {
  min-height: 44px !important;
  font-size: 14px !important;
}
html:lang(en) body:is(.page-id-5440,.page-id-5536,.page-id-32994,.page-id-36763,.page-id-5546,.page-id-5554,.page-id-5563,.page-id-5573,.page-id-41366) #pv-design .pv-tabs button[aria-selected="true"] {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f1f0ea !important;
}
html:lang(en) body.page-id-5536 #visu-plans-grid .vpg-toggle-btn {
  min-height: 44px !important;
}

/* ---------- VISU Ads: tabela comparativa ---------- */
html:lang(en) body.page-id-5546 #pv-design .sol-compare-table thead th {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #a3acb3 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
/* Nome do formato: texto forte, sem pill em gradiente ciano. */
html:lang(en) body.page-id-5546 #pv-design .sol-compare-table .sol-tag {
  background: none !important;
  padding: 0 !important;
  border: 0 !important;
  color: #f1f0ea !important;
  -webkit-text-fill-color: #f1f0ea !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:first-child {
  color: #f1f0ea !important;
  font-weight: 600 !important;
}
html:lang(en) body.page-id-5546 #pv-design .sol-compare-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.02) !important;
}
@media (max-width: 768px) {
  /* Em cartoes, a tabela nao precisa dos 600px minimos: cabia 358px e estourava ate x=616. */
  html:lang(en) body.page-id-5546 #pv-design .pv-table-scroll table {
    min-width: 0 !important;
  }
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:first-child {
    background: rgba(255, 255, 255, 0.03) !important;
    text-align: left !important;
  }
  /* Rotulos por posicao: a linha Replay Ads veio sem data-label e aparecia sem rotulo. */
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:not(:first-child)::before {
    color: #6b747b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: block;
    margin-bottom: 4px;
  }
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:nth-child(2)::before { content: "Best for" !important; }
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:nth-child(3)::before { content: "Strengths" !important; }
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:nth-child(4)::before { content: "Where it shines" !important; }
}

/* ---------- VISU Local: captura do mapa ---------- */
/* object-position center cortava a esquerda ("l Local · New York"); a captura comeca pelo titulo da lista. */
html:lang(en) body.page-id-32994 #pv-design .pv-proof-local > img {
  object-position: left center !important;
}

/* ---------- Replay Ads: "+" do FAQ em cinza (era laranja) ---------- */
html:lang(en) body.page-id-41366 #pv-design .ra-faq summary span {
  color: #a3acb3 !important;
}

/* ---------- Hub: filete em gradiente no topo das secoes vpp ---------- */
html:lang(en) body.page-id-5440 #pv-design :is(.vpp-section, .vpp-product)::before {
  content: none !important;
  display: none !important;
}

/* ---------- Pills do hero QR/Push/Link no mobile: linha que quebra, alinhada a esquerda (era coluna centralizada) ---------- */
@media (max-width: 767px) {
  html:lang(en) body:is(.page-id-5554,.page-id-5563,.page-id-5573) #pv-design .sol-stack {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
}

/* ---------- VISU Ads, tabela em cartoes: mesmo divisor em todas as linhas (Replay Ads vinha sem) ---------- */
@media (max-width: 768px) {
  html:lang(en) body.page-id-5546 #pv-design .sol-compare-table td:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  }
}

/* pages/31-solutions.css */
/* Revisao site-v5: grupo Solutions (EN). Hub /solutions/ (page-id-1690) + 10 segmentos, todos no
   template v3 do widget visu-solutions-v1 (raiz #sv-solutions[data-v3]). Par de pages/30-solutions.js (so textos).
   Escopo: html:lang(en) + raiz do template. PT-BR/ES usam o mesmo template com html lang diferente: ficam intactos.
   Linguagem: ciano so em acao (botao primario, foco), resto neutro. Ambar fica so dentro dos mocks impressos. */

html:lang(en) #sv-solutions[data-v3] {
  /* Ambar do template pinta os mocks (style inline background:var(--v3-amber)). Menos saturado: continua
     reconhecivel como peca impressa, sem ser a cor mais forte da pagina. */
  --v3-amber: #d3a55c;
  --v3-amber-soft: #dcb679;
  --s31-accent: #44c7f4;
  --s31-accent-hover: #6fd5f7;
  --s31-accent-ink: #06101a;
  --s31-ink: #f1f0ea;
  --s31-muted: #a3acb3;
  --s31-dim: #6b747b;
  --s31-line: rgba(255, 255, 255, 0.09);
  --s31-ghost-edge: rgba(255, 255, 255, 0.2);
  --s31-ghost-edge-hover: rgba(255, 255, 255, 0.4);
  --s31-ghost-hover: #192932;
}

/* ---------- Sub-barra: mesma posicao, sem ambar no hover ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-nav a {
  font-size: 13px;
}
html:lang(en) #sv-solutions[data-v3] .v3-nav a:hover {
  color: #fff !important;
}

/* ---------- Hero ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-hero {
  background: #080d10; /* sem glow ambar */
}
/* Eyebrow "VISU + Food trucks": sai a caixa alta e o ponto, fica uma linha discreta de contexto. */
html:lang(en) #sv-solutions[data-v3] .v3-eyebrow {
  color: var(--s31-muted);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0 !important; /* folha do tema trava caixa alta com !important */
  text-transform: none !important;
}
html:lang(en) #sv-solutions[data-v3] .v3-eyebrow::before {
  content: none !important;
  display: none !important;
}

/* Botao primario: ciano cheio, sem seta. */
html:lang(en) #sv-solutions[data-v3] .v3-button {
  min-height: 52px;
  padding: 0 22px;
  gap: 0;
  justify-content: center;
  border-radius: 10px;
  border-color: var(--s31-accent);
  background: var(--s31-accent);
  -webkit-text-fill-color: var(--s31-accent-ink);
  color: var(--s31-accent-ink) !important;
  font-size: 15px;
  font-weight: 600;
  transition: background-color 0.18s ease, border-color 0.18s ease;
}
html:lang(en) #sv-solutions[data-v3] .v3-button:hover {
  border-color: var(--s31-accent-hover);
  background: var(--s31-accent-hover);
}
html:lang(en) #sv-solutions[data-v3] .v3-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
html:lang(en) #sv-solutions[data-v3] .v3-button .v3-mark {
  display: none;
}
/* Link de texto do hero ("See the example"): mantem a seta, fonte legivel. */
html:lang(en) #sv-solutions[data-v3] .v3-quiet {
  font-size: 15px;
  border-bottom-color: var(--s31-ghost-edge);
}
html:lang(en) #sv-solutions[data-v3] .v3-quiet:hover {
  border-bottom-color: var(--s31-ghost-edge-hover);
}

/* ---------- Mocks: menos peso de card em volta, tag em sentence case ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-application .v3-panel .v3-stage {
  border-color: transparent;
  border-radius: 12px;
  background: #0d161c;
}
html:lang(en) #sv-solutions[data-v3] .v3-tag {
  color: var(--s31-dim);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
html:lang(en) #sv-solutions[data-v3] .v3-tag::before {
  background: rgba(255, 255, 255, 0.16);
}
html:lang(en) #sv-solutions[data-v3] .v3-panel-copy {
  border-top-color: var(--s31-line);
}

/* ---------- Builds vs stays: rotulos sem caixa alta, sem ambar ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-column h3 {
  color: var(--s31-ink);
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -0.01em;
  text-transform: none;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
html:lang(en) #sv-solutions[data-v3] .v3-column-1 h3 {
  color: var(--s31-muted);
}
html:lang(en) #sv-solutions[data-v3] .v3-column-0 li::before {
  background: rgba(255, 255, 255, 0.35);
}

/* ---------- Escopos (accordion) ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-offer[open] summary h3 {
  color: var(--s31-ink);
}
html:lang(en) #sv-solutions[data-v3] .v3-offer[open] .sv-offer-toggle {
  border-color: var(--s31-ghost-edge-hover);
  color: var(--s31-ink);
}
/* CTA do escopo: ghost do site (contorno, sem seta). */
html:lang(en) #sv-solutions[data-v3] .v3-offer-cta {
  min-height: 48px;
  padding: 0 20px;
  gap: 0;
  justify-content: center;
  border: 1px solid var(--s31-ghost-edge);
  border-radius: 10px;
  background: transparent;
  color: var(--s31-ink) !important;
  font-size: 15px;
  font-weight: 600;
  transition: background-color 0.18s ease, border-color 0.18s ease;
}
html:lang(en) #sv-solutions[data-v3] .v3-offer-cta:hover,
html:lang(en) #sv-solutions[data-v3] .v3-offer-cta:focus-visible {
  border-color: var(--s31-ghost-edge-hover);
  background: var(--s31-ghost-hover);
}
html:lang(en) #sv-solutions[data-v3] .v3-offer-cta .v3-mark {
  display: none;
}

/* ---------- FAQ ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-faq-list details[open] summary span {
  color: var(--s31-ink);
}

/* ---------- Contato (so cor; campos e validacao intactos) ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-contact-copy li::before {
  background: rgba(255, 255, 255, 0.35);
}
html:lang(en) #sv-solutions[data-v3] .v3-form-panel {
  box-shadow: none;
}
html:lang(en) #sv-solutions[data-v3] .sv-context,
html:lang(en) #sv-solutions[data-v3] .v3-form-panel .sv-context {
  color: var(--s31-muted);
  border-left-color: rgba(255, 255, 255, 0.16);
}
html:lang(en) #sv-solutions[data-v3] .vi-form .vi-req {
  color: var(--s31-muted);
}
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-el-form-control:focus,
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-el-form-control:focus-visible,
html:lang(en) #sv-solutions[data-v3] .vi-form :is(input, textarea, select):focus,
html:lang(en) #sv-solutions[data-v3] .vi-form :is(input, textarea, select):focus-visible {
  border-color: var(--s31-accent) !important;
  box-shadow: 0 0 0 3px rgba(68, 199, 244, 0.22) !important;
}
html:lang(en) #sv-solutions[data-v3] .vi-form :is(input, textarea, select):-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--v3-field) inset, 0 0 0 3px rgba(68, 199, 244, 0.22) !important;
}
/* "Send message": primario ciano, sem icone. */
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-btn-submit,
html:lang(en) #sv-solutions[data-v3] .fluentform .ff-btn-submit {
  justify-content: center;
  border-color: var(--s31-accent) !important;
  border-radius: 10px !important;
  background: var(--s31-accent) !important;
  -webkit-text-fill-color: var(--s31-accent-ink);
  color: var(--s31-accent-ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-btn-submit::after {
  content: none;
  display: none;
}
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-btn-submit:hover:not(:disabled),
html:lang(en) #sv-solutions[data-v3] .vi-form .ff-btn-submit:active:not(:disabled) {
  border-color: var(--s31-accent-hover) !important;
  background: var(--s31-accent-hover) !important;
}
html:lang(en) #sv-solutions[data-v3] .vi-form button[type="submit"]:focus-visible,
html:lang(en) #sv-solutions[data-v3] :is(.sv-whatsapp, .v3-hub-whatsapp) a:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px;
}

/* WhatsApp ("Talk to VISU"): ghost do site. */
html:lang(en) #sv-solutions[data-v3] :is(.sv-whatsapp, .v3-hub-whatsapp) a {
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--s31-ghost-edge);
  border-radius: 10px;
  color: var(--s31-ink) !important;
  font-size: 15px;
  font-weight: 600;
}
html:lang(en) #sv-solutions[data-v3] :is(.sv-whatsapp, .v3-hub-whatsapp) a:hover {
  border-color: var(--s31-ghost-edge-hover);
  background: var(--s31-ghost-hover);
  color: var(--s31-ink) !important;
}

/* ---------- Hub: grade de 10 cards ---------- */
html:lang(en) #sv-solutions[data-v3] .v3-hub-card {
  border-color: var(--s31-line);
  border-radius: 12px;
  background: #0c1419;
}
html:lang(en) #sv-solutions[data-v3] .v3-hub-card:hover {
  border-color: rgba(255, 255, 255, 0.2);
}
html:lang(en) #sv-solutions[data-v3] .v3-hub-card-copy {
  border-top-color: var(--s31-line);
}
html:lang(en) #sv-solutions[data-v3] .v3-hub-thumb .v3-stage {
  background: #0f191f;
}
/* "See the industry": link de texto, uma seta discreta. */
html:lang(en) #sv-solutions[data-v3] .v3-hub-card-action {
  min-height: 24px;
  color: var(--s31-ink);
  font-size: 14px;
  font-weight: 600;
}
html:lang(en) #sv-solutions[data-v3] .v3-hub-card-action > [aria-hidden="true"] {
  color: var(--s31-muted);
}
html:lang(en) #sv-solutions[data-v3] .v3-hub-card:hover .v3-hub-card-action {
  color: #fff;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  html:lang(en) #sv-solutions[data-v3] .v3-nav a {
    min-height: 44px;
    font-size: 14px;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-button {
    justify-content: center;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-quiet {
    min-height: 44px;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-offer-cta {
    width: 100%;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-faq-list summary {
    font-size: 16px;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-hub-card-action {
    min-height: 44px;
    margin-top: 12px;
    font-size: 15px;
  }
}

/* Escopo aberto em coluna unica: a lista colava no paragrafo de cima. */
@media (max-width: 880px) {
  html:lang(en) #sv-solutions[data-v3] .v3-offer .sv-offer-content ul {
    margin-top: 18px;
  }
}

/* ==========================================================================
   Estrutura e ritmo do corpo (modelo: Guides). Depois do hero, todas as secoes no mesmo fundo,
   separadas por filete de largura total e respiro regular; cabecalho de secao em duas colunas
   (titulo | intro); FAQ compacto ao lado do titulo; contato como unico bloco elevado no fim.
   So layout: textos, campos, links e ordem das secoes intactos.
   ========================================================================== */
html:lang(en) #sv-solutions[data-v3] {
  --s31-body: #0a1115;
  --s31-rule: rgba(255, 255, 255, 0.09);
  --s31-raised: #0f1a21;
}
html:lang(en) #sv-solutions[data-v3] section:not(.v3-hero) {
  padding-top: 72px;
  padding-bottom: 76px;
  border-top: 1px solid var(--s31-rule);
  border-bottom: 0;
  background: var(--s31-body);
}
html:lang(en) #sv-solutions[data-v3] section.v3-hero {
  border-bottom: 0;
}

/* Cabecalho de secao: titulo a esquerda, intro a direita (como "Browse by collection"). */
html:lang(en) #sv-solutions[data-v3] .v3-head {
  max-width: none;
  margin-bottom: 40px;
}
html:lang(en) #sv-solutions[data-v3] .v3-head h2 {
  max-width: 22ch;
  font-size: clamp(28px, 2.7vw, 38px) !important;
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -0.035em;
}
html:lang(en) #sv-solutions[data-v3] .v3-head p {
  color: var(--s31-muted);
  font-size: 15.5px;
  line-height: 1.7;
}
@media (min-width: 1025px) {
  html:lang(en) #sv-solutions[data-v3] .v3-head:has(> p) {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 70px;
    align-items: end;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-head:has(> p) p {
    margin-top: 0;
    max-width: 46ch;
  }
}

/* Mocks: palco mais baixo e sem caixa, a peca impressa e o foco, nao o card. */
html:lang(en) #sv-solutions[data-v3] .v3-application .v3-panel .v3-stage {
  height: 400px;
  border: 0;
  background: #0d161c;
}
@media (max-width: 1180px) {
  html:lang(en) #sv-solutions[data-v3] .v3-application .v3-panel .v3-stage {
    height: 380px;
  }
}
@media (max-width: 880px) {
  html:lang(en) #sv-solutions[data-v3] .v3-application .v3-panel .v3-stage {
    height: auto;
  }
}

/* Builds x stays: rotulo da coluna com o mesmo filete das linhas. */
html:lang(en) #sv-solutions[data-v3] .v3-columns {
  max-width: none;
  column-gap: 70px;
}
html:lang(en) #sv-solutions[data-v3] .v3-column li {
  border-bottom-color: var(--s31-rule);
  color: #b4bcc2;
  font-size: 15px;
}

/* Escopos: linhas como a lista de colecoes do Guides. */
html:lang(en) #sv-solutions[data-v3] .v3-offer,
html:lang(en) #sv-solutions[data-v3] .v3-offers {
  border-top-color: var(--s31-rule);
}
html:lang(en) #sv-solutions[data-v3] .v3-offer:last-of-type {
  border-bottom-color: var(--s31-rule);
}

/* FAQ: titulo a esquerda, perguntas a direita. Fica secundario, sem competir com os blocos principais. */
html:lang(en) #sv-solutions[data-v3] .v3-faq .v3-head h2 {
  font-size: clamp(24px, 2.2vw, 30px) !important;
}
@media (min-width: 1025px) {
  html:lang(en) #sv-solutions[data-v3] .v3-faq > .sv-wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 70px;
    align-items: start;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-faq .v3-head {
    margin-bottom: 0;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-faq-list {
    max-width: none;
    border-top: 1px solid var(--s31-rule);
  }
}

/* Contato: o unico bloco elevado da pagina, fecha o percurso. */
html:lang(en) #sv-solutions[data-v3] section.v3-contact {
  padding-top: 88px;
  padding-bottom: 88px;
  border-top-color: rgba(255, 255, 255, 0.12);
  background: var(--s31-raised);
}
html:lang(en) #sv-solutions[data-v3] .v3-contact-copy h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  font-weight: 650;
  letter-spacing: -0.035em;
}
html:lang(en) #sv-solutions[data-v3] section.v3-contact .v3-form-panel {
  border-color: rgba(255, 255, 255, 0.12);
  background: #0a1115;
}

@media (max-width: 767px) {
  html:lang(en) #sv-solutions[data-v3] section:not(.v3-hero) {
    padding-top: 56px;
    padding-bottom: 60px;
  }
  html:lang(en) #sv-solutions[data-v3] section.v3-contact {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  html:lang(en) #sv-solutions[data-v3] .v3-head {
    margin-bottom: 30px;
  }
}

/* pages/41-guides.css */
/* Revisao site-v5: Guides (EN) = hub /guides/ + 10 colecoes (template visu-guides-v1, classes .vg-*).
   Par visual de pages/40-guides.js (textos). So acabamento: titulo numa cor so, kicker discreto,
   sem seta em botao cheio, sem numeracao falsa, icone de categoria sem fundo tinto, CTA final integrado.
   NAO toca: cards de artigo, paginacao (Load more / Showing X of N / Open the full collection),
   busca (so tira a seta do botao), filtros por colecao, breadcrumb, links.
   Id repetido no seletor = vencer o tema (#visu-guides-v1[data-palette]:not():not() h1) sem !important. */

/* ---------- Titulo: uma cor so ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 h1,
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 h1 em { color: #f1f0ea; }

/* ---------- Kicker "Collection": sentence case discreto, sem ponto verde ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-kicker {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #a3acb3;
}
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-kicker::before { content: none; }

/* ---------- Botoes: sem seta, texto centrado, radius/fonte do site ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-hero .vg-button .vg-arrow,
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-search .vg-button .vg-arrow,
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-button .vg-arrow { display: none; }

html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-hero .vg-button,
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-search > .vg-button,
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-button {
  justify-content: center;
  text-align: center;
  font-size: 15px;
  border-radius: 10px;
}
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-ghost {
  border-color: rgba(255, 255, 255, 0.2);
  background: transparent;
}
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-ghost:hover {
  border-color: rgba(255, 255, 255, 0.4);
  background: #192932;
}

/* ---------- Categorias: sem 01..10, icone com cor so no traco, seta neutra ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-category-number { display: none; }
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1[data-palette] .vg-category-mark {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 10px;
}
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-category > span:last-child { color: #6b747b; transition: color 0.15s; }
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-category:hover > span:last-child { color: #44c7f4; }

/* ---------- Destaque: selo "Start here" sem caixa alta miuda ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-feature-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  border-left: 0;
  border-radius: 6px;
}

/* ---------- CTA final das colecoes: sem caixa propria, so um filete como as outras secoes ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing { padding: 0 0 56px; }
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing-inner {
  padding: 40px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--vg-line);
  border-radius: 0;
}
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-actions { justify-content: flex-end; }

@media (max-width: 1000px) {
  html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-hero .vg-button { font-size: 15px; }
  html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing .vg-actions { justify-content: stretch; }
}
@media (max-width: 700px) {
  html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing { padding: 0 0 40px; }
  html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-closing-inner { padding: 32px 0 0; }
}

/* ---------- Breadcrumb: alvo de toque 44px sem mudar o desenho ---------- */
html:lang(en) body:is(.page-id-15384,.page-id-15143,.page-id-15374,.page-id-15606,.page-id-15648,.page-id-15581,.page-id-15596,.page-id-15634,.page-id-15622,.page-id-15659,.page-id-15672) #visu-guides-v1#visu-guides-v1 .vg-breadcrumb a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-block: -12.5px;
}

/* pages/51-roadmap.css */
/* Revisao site-v5: /roadmap/ (EN, page-id-1202). Par de pages/51-roadmap.js (markup .rm-*).
   Escopo proprio: nao depende do tema nem da fundacao global. Prefixo com #visu-solutions para
   vencer o <style> inline do widget (que usa #visu-solutions .sol-*). */

html:lang(en) body.page-id-1202 #visu-solutions {
  --rm-bg: #080808;
  --rm-ink: #f1f0ea;
  --rm-muted: #a3acb3;
  --rm-dim: #6b747b;
  --rm-line: rgba(255, 255, 255, 0.09);
  --rm-accent: #44c7f4;
  --rm-accent-ink: #06101a;
  background: var(--rm-bg);
  color: var(--rm-ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow-x: clip;
}

/* ---------- Hero: sem glow, altura natural, alinhado com a lista ---------- */
html:lang(en) body.page-id-1202 #visu-solutions .sol-hero {
  min-height: 0;
  display: block;
  text-align: left;
  padding: 112px 0 40px;
  background: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-hero::before,
html:lang(en) body.page-id-1202 #visu-solutions .sol-hero::after {
  content: none;
  display: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-hero h1 {
  font-size: clamp(2.2rem, 5vw, 3.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 16px;
  color: var(--rm-ink);
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-hero-lead {
  max-width: 620px;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--rm-muted);
}

/* ---------- Roadmap ---------- */
html:lang(en) body.page-id-1202 #visu-solutions section.rm-section {
  padding: 0 0 72px;
  background: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-updated {
  margin: 0 0 40px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--rm-dim);
}

html:lang(en) body.page-id-1202 #visu-solutions .rm-group {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 16px 48px;
  padding: 40px 0;
  border-top: 1px solid var(--rm-line);
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-group-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  font-size: 1.375rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--rm-ink);
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-group-head p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--rm-muted);
}

/* Status: forma, nao cor. Cheio = no ar, metade = em andamento, anel = planejado. */
html:lang(en) body.page-id-1202 #visu-solutions .rm-status {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--rm-ink);
  box-sizing: border-box;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-status--live { background: var(--rm-ink); }
html:lang(en) body.page-id-1202 #visu-solutions .rm-status--now { background: linear-gradient(90deg, var(--rm-ink) 50%, transparent 50%); }
html:lang(en) body.page-id-1202 #visu-solutions .rm-status--next { border-color: var(--rm-muted); }

html:lang(en) body.page-id-1202 #visu-solutions .rm-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 40px;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-item {
  margin: 0;
  padding: 18px 0 22px;
  border-top: 1px solid var(--rm-line);
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-item:nth-child(-n + 2) {
  border-top: 0;
  padding-top: 2px;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-product {
  display: block;
  margin-bottom: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rm-muted);
}
/* Cor de produto so no nome, para identificar. */
html:lang(en) body.page-id-1202 #visu-solutions .rm-item[data-product="link"] .rm-product { color: #44c7f4; }
html:lang(en) body.page-id-1202 #visu-solutions .rm-item[data-product="local"] .rm-product { color: #62cd9b; }
html:lang(en) body.page-id-1202 #visu-solutions .rm-item[data-product="replay"] .rm-product { color: #f6a15b; }
html:lang(en) body.page-id-1202 #visu-solutions .rm-item[data-product="ads"] .rm-product { color: #b39cf5; }

html:lang(en) body.page-id-1202 #visu-solutions .rm-item h3,
html:lang(en) body.page-id-1202 #visu-solutions .rm-principles h3 {
  margin: 0 0 6px;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--rm-ink);
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-item p,
html:lang(en) body.page-id-1202 #visu-solutions .rm-principles p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--rm-muted);
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 2px;
  margin-bottom: -12px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--rm-ink);
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: 4px;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-more:is(:hover, :focus-visible),
html:lang(en) body.page-id-1202 #visu-solutions .rm-principles a:is(:hover, :focus-visible) {
  text-decoration-color: currentColor;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-when {
  display: block;
  margin-top: 8px;
  font-size: 0.8125rem;
  color: var(--rm-dim);
}

html:lang(en) body.page-id-1202 #visu-solutions .rm-principles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 40px;
}
html:lang(en) body.page-id-1202 #visu-solutions .rm-principles li { margin: 0; }
html:lang(en) body.page-id-1202 #visu-solutions .rm-principles a {
  color: var(--rm-ink);
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: 3px;
}

/* ---------- CTA: sem glow nem gradiente, botoes do sistema ---------- */
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-section {
  background: none;
  padding: 0 0 96px;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box {
  background: #0e1114;
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  padding: 48px 40px;
  text-align: left;
  box-shadow: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box::before,
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box::after {
  content: none;
  display: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
  color: var(--rm-ink);
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box p {
  max-width: 560px;
  margin: 0 0 28px;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--rm-muted);
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none;
  transform: none;
  transition: background 0.18s, border-color 0.18s;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn-primary,
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn-primary:hover {
  background: var(--rm-accent);
  border: 1px solid var(--rm-accent);
  color: var(--rm-accent-ink) !important;
  box-shadow: none;
  transform: none;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn-primary:hover { background: #5ed0f6; border-color: #5ed0f6; }
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn-ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--rm-ink) !important;
}
html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn-ghost:hover {
  background: #192932;
  border-color: rgba(255, 255, 255, 0.4);
  transform: none;
}

/* ---------- Tablet / mobile ---------- */
@media (max-width: 900px) {
  html:lang(en) body.page-id-1202 #visu-solutions .rm-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding: 32px 0;
  }
  html:lang(en) body.page-id-1202 #visu-solutions .rm-principles {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 640px) {
  html:lang(en) body.page-id-1202 #visu-solutions .sol-hero { padding: 96px 0 32px; }
  html:lang(en) body.page-id-1202 #visu-solutions .rm-list { grid-template-columns: minmax(0, 1fr); }
  html:lang(en) body.page-id-1202 #visu-solutions .rm-item:nth-child(2) {
    border-top: 1px solid var(--rm-line);
    padding-top: 18px;
  }
  html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-section { padding-bottom: 64px; }
  html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-box { padding: 32px 20px; }
  html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions { flex-direction: column; }
  html:lang(en) body.page-id-1202 #visu-solutions .sol-cta-actions .sol-btn { width: 100%; }
}

/* pages/52-alternatives.css */
/* Revisao site-v5: /alternatives/ (EN, page-id-6959). Par de pages/52-alternatives.js (markup .valt-*).
   Escopo proprio: nao depende do tema nem da fundacao global. Cor de produto so no nome do produto. */

html:lang(en) body.page-id-6959 {
  --valt-bg: #080808;
  --valt-ink: #f1f0ea;
  --valt-muted: #a3acb3;
  --valt-dim: #6b747b;
  --valt-line: rgba(255, 255, 255, 0.09);
  --valt-accent: #44c7f4;
  --valt-accent-ink: #06101a;
  --valt-link: #44c7f4;
  --valt-local: #62cd9b;
  --valt-replay: #ff9a4d;
  --valt-ads: #a98bff;
}

/* Corpo Elementor antigo sai quando o novo monta (JS poe body.valt-on so se o markup bater). */
html:lang(en) body.page-id-6959.valt-on .elementor-6959 { display: none !important; }
html:lang(en) body.page-id-6959.valt-on #content,
html:lang(en) body.page-id-6959.valt-on .uicore-body-content { background: var(--valt-bg); }

/* ---------- Hero: sem foto stock, H1 alinhado ao conteudo ---------- */
html:lang(en) body.page-id-6959.valt-on header.uicore-page-title {
  background: var(--valt-bg) !important;
  background-image: none !important;
  padding: 112px 0 40px !important;
  min-height: 0 !important;
  border-bottom: 1px solid var(--valt-line);
}
html:lang(en) body.page-id-6959.valt-on header.uicore-page-title .uicore-overlay { display: none !important; }
html:lang(en) body.page-id-6959.valt-on header.uicore-page-title > .uicore-container {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  text-align: left !important;
  display: block !important;
}
html:lang(en) body.page-id-6959.valt-on header.uicore-page-title h1 {
  font: 700 clamp(2.2rem, 5vw, 3.2rem)/1.1 Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  letter-spacing: -0.02em;
  color: var(--valt-ink) !important;
  margin: 0 0 16px !important;
  opacity: 1 !important;
  transform: none !important;
}
html:lang(en) body.page-id-6959 .valt-lead {
  max-width: 720px;
  margin: 0 0 28px;
  font: 400 18px/1.6 Inter, system-ui, sans-serif;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
html:lang(en) body.page-id-6959 .valt-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  font: 500 15px/1 Inter, system-ui, sans-serif;
  color: var(--valt-ink) !important;
  text-decoration: none !important;
  transition: background 0.18s, border-color 0.18s;
}
html:lang(en) body.page-id-6959 .valt-jump a:is(:hover, :focus-visible) {
  border-color: rgba(255, 255, 255, 0.4);
  background: #192932;
}

/* ---------- Corpo ---------- */
html:lang(en) body.page-id-6959 .valt {
  background: var(--valt-bg);
  color: var(--valt-ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow-x: clip;
}
html:lang(en) body.page-id-6959 .valt-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px 24px 96px;
}
html:lang(en) body.page-id-6959 .valt :is(h2, h3) {
  font-family: Inter, system-ui, sans-serif !important;
  color: var(--valt-ink) !important;
  text-transform: none !important;
  letter-spacing: -0.01em;
}
html:lang(en) body.page-id-6959 .valt h2 {
  font-size: clamp(1.6rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
html:lang(en) body.page-id-6959 .valt h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 0 12px !important;
}
html:lang(en) body.page-id-6959 .valt p { margin: 0; }
html:lang(en) body.page-id-6959 .valt a:not(.valt-btn):not(.valt-p) {
  color: var(--valt-ink) !important;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.18s;
}
html:lang(en) body.page-id-6959 .valt a:not(.valt-btn):not(.valt-p):is(:hover, :focus-visible) {
  color: #fff !important;
  text-decoration-color: currentColor;
}
html:lang(en) body.page-id-6959 .valt a:focus-visible,
html:lang(en) body.page-id-6959 .valt summary:focus-visible,
html:lang(en) body.page-id-6959 .valt-jump a:focus-visible {
  outline: 2px solid var(--valt-accent);
  outline-offset: 2px;
}

/* Categoria */
html:lang(en) body.page-id-6959 .valt-cat {
  padding: 56px 0;
  border-bottom: 1px solid var(--valt-line);
  scroll-margin-top: 88px;
}
html:lang(en) body.page-id-6959 .valt-cat-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 24px;
  margin-bottom: 14px;
}
html:lang(en) body.page-id-6959 .valt-cat-product {
  font-size: 15px;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt .valt-p {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
  text-decoration: none;
}
html:lang(en) body.page-id-6959 .valt .valt-p--link { color: var(--valt-link) !important; }
html:lang(en) body.page-id-6959 .valt .valt-p--local { color: var(--valt-local) !important; }
html:lang(en) body.page-id-6959 .valt .valt-p--replay { color: var(--valt-replay) !important; }
html:lang(en) body.page-id-6959 .valt .valt-p--ads { color: var(--valt-ads) !important; }
html:lang(en) body.page-id-6959 .valt .valt-p:is(:hover, :focus-visible) { text-decoration: underline; }
html:lang(en) body.page-id-6959 .valt-cat-intro {
  max-width: 760px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt-fit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}
html:lang(en) body.page-id-6959 .valt-fit-col {
  padding: 22px 24px;
  border: 1px solid var(--valt-line);
  border-radius: 12px;
  background: #0e1114;
}
html:lang(en) body.page-id-6959 .valt-fit-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
html:lang(en) body.page-id-6959 .valt-fit-col li {
  position: relative;
  padding-left: 18px;
  font-size: 15.5px;
  line-height: 1.55;
  color: #d5d9dc;
}
html:lang(en) body.page-id-6959 .valt-fit-col li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--valt-dim);
}
html:lang(en) body.page-id-6959 .valt-note {
  margin-top: 18px !important;
  font-size: 15px;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt-compare { margin-top: 28px; }
html:lang(en) body.page-id-6959 .valt-compare h3 { color: var(--valt-muted) !important; font-weight: 500 !important; font-size: 15px !important; }
html:lang(en) body.page-id-6959 .valt-compare-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0 24px;
}
html:lang(en) body.page-id-6959 .valt-compare-list li { margin: 0; }
html:lang(en) body.page-id-6959 .valt .valt-compare-list a {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 15.5px;
}

/* Tabela */
html:lang(en) body.page-id-6959 .valt-table-sec { padding: 64px 0 56px; border-bottom: 1px solid var(--valt-line); }
html:lang(en) body.page-id-6959 .valt-table-sec h2 { margin-bottom: 10px !important; }
html:lang(en) body.page-id-6959 .valt-table {
  width: 100%;
  margin: 28px 0 0;
  border-collapse: collapse;
  font-size: 15.5px;
  line-height: 1.5;
  border: 0;
}
html:lang(en) body.page-id-6959 .valt-table :is(th, td) {
  padding: 16px 20px 16px 0;
  border: 0;
  border-bottom: 1px solid var(--valt-line);
  background: transparent !important;
  text-align: left;
  vertical-align: top;
  color: #d5d9dc;
}
html:lang(en) body.page-id-6959 .valt-table thead th {
  font-size: 14px;
  font-weight: 500;
  color: var(--valt-muted);
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
html:lang(en) body.page-id-6959 .valt-table tbody th {
  width: 22%;
  font-weight: 600;
  color: var(--valt-ink);
}

/* FAQ */
html:lang(en) body.page-id-6959 .valt-faq { padding: 64px 0 56px; border-bottom: 1px solid var(--valt-line); }
html:lang(en) body.page-id-6959 .valt-faq h2 { margin-bottom: 20px !important; }
html:lang(en) body.page-id-6959 .valt-faq details { border-bottom: 1px solid var(--valt-line); max-width: 860px; }
html:lang(en) body.page-id-6959 .valt-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 56px;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
  font-size: 17px;
  font-weight: 600;
  color: var(--valt-ink);
}
html:lang(en) body.page-id-6959 .valt-faq summary::-webkit-details-marker { display: none; }
html:lang(en) body.page-id-6959 .valt-faq summary::after {
  content: "+";
  flex: none;
  font-size: 22px;
  font-weight: 400;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt-faq details[open] summary::after { content: "\2212"; }
html:lang(en) body.page-id-6959 .valt-faq details p {
  padding: 0 0 20px;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--valt-muted);
}

/* CTA */
html:lang(en) body.page-id-6959 .valt-cta { padding: 64px 0 48px; }
html:lang(en) body.page-id-6959 .valt-cta p {
  max-width: 620px;
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--valt-muted);
}
html:lang(en) body.page-id-6959 .valt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
html:lang(en) body.page-id-6959 .valt .valt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 10px;
  font: 600 15px/1 Inter, system-ui, sans-serif;
  text-decoration: none !important;
  transition: background 0.18s, border-color 0.18s;
}
html:lang(en) body.page-id-6959 .valt .valt-btn--primary { background: var(--valt-accent); }
html:lang(en) body.page-id-6959 .valt .valt-btn--primary:is(:link, :visited, :hover, :focus-visible, :active) { color: var(--valt-accent-ink) !important; }
html:lang(en) body.page-id-6959 .valt .valt-btn--primary:hover { background: #6fd5f7; }
html:lang(en) body.page-id-6959 .valt .valt-btn--ghost {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
}
html:lang(en) body.page-id-6959 .valt .valt-btn--ghost:is(:link, :visited, :hover, :focus-visible, :active) { color: #eee !important; }
html:lang(en) body.page-id-6959 .valt .valt-btn--ghost:is(:hover, :focus-visible) {
  border-color: rgba(255, 255, 255, 0.4);
  background: #192932;
}
html:lang(en) body.page-id-6959 .valt-legal {
  margin-top: 32px !important;
  padding-top: 20px;
  border-top: 1px solid var(--valt-line);
  font-size: 13px;
  line-height: 1.6;
  color: var(--valt-dim);
}
html:lang(en) body.page-id-6959 .valt .valt-legal a {
  display: inline-block;
  min-height: 24px;
  color: var(--valt-muted) !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  html:lang(en) body.page-id-6959.valt-on header.uicore-page-title { padding: 88px 0 28px !important; }
  html:lang(en) body.page-id-6959.valt-on header.uicore-page-title > .uicore-container,
  html:lang(en) body.page-id-6959 .valt-wrap { padding-left: 16px !important; padding-right: 16px !important; }
  html:lang(en) body.page-id-6959 .valt-lead { font-size: 16.5px; }
  html:lang(en) body.page-id-6959 .valt-jump a { flex: 1 1 calc(50% - 4px); justify-content: center; padding: 0 8px; white-space: nowrap; }
  html:lang(en) body.page-id-6959 .valt-cat { padding: 44px 0; }
  html:lang(en) body.page-id-6959 .valt-cat-intro { font-size: 16px; }
  html:lang(en) body.page-id-6959 .valt-fit { grid-template-columns: 1fr; gap: 12px; margin-top: 22px; }
  html:lang(en) body.page-id-6959 .valt-fit-col { padding: 18px; }
  html:lang(en) body.page-id-6959 .valt-compare-list { grid-template-columns: 1fr 1fr; gap: 0 12px; }
  html:lang(en) body.page-id-6959 .valt .valt-compare-list a { font-size: 15px; }
  /* Tabela vira blocos empilhados */
  html:lang(en) body.page-id-6959 .valt-table thead { display: none; }
  html:lang(en) body.page-id-6959 .valt-table :is(tbody, tr, th, td) { display: block; width: auto; }
  html:lang(en) body.page-id-6959 .valt-table tr { padding: 16px 0; border-bottom: 1px solid var(--valt-line); }
  html:lang(en) body.page-id-6959 .valt-table tr:last-child { border-bottom: 0; }
  html:lang(en) body.page-id-6959 .valt-table :is(th, td) { padding: 0; border: 0; }
  html:lang(en) body.page-id-6959 .valt-table tbody th { width: auto; margin-bottom: 8px; font-size: 16px; }
  html:lang(en) body.page-id-6959 .valt-table td { margin-top: 6px; }
  html:lang(en) body.page-id-6959 .valt-table td::before {
    content: attr(data-label) ": ";
    color: var(--valt-muted);
    font-weight: 500;
  }
  html:lang(en) body.page-id-6959 .valt-actions { flex-direction: column; }
  html:lang(en) body.page-id-6959 .valt .valt-btn { width: 100%; }
}

/* pages/53-other.css */
/* Revisao site-v5: Attention Economy (hub, calculadora, quiz, comparador, glossario), /partners/, /network/, /uses/.
   Somente EN. Cada bloco escopado por page-id + wrapper do widget (#visu-*) para vencer o <style> inline do widget.
   Attention Economy: familia aprovada (NEXT.md). Setas fixas a direita dos botoes e larguras iguais por grupo
   ficam como estao; aqui so sai o que conflita com a linguagem da home (titulo pintado, caixa alta, 01-04 que
   nao e sequencia). Calculadora/quiz: comportamento intocado, receipt e card de perfil intocados.
   Caixa alta que vem do HTML (texto digitado em maiusculas): lowercase + ::first-letter uppercase = sentence case
   sem trocar texto (troca de texto fica no banco depois). */

/* =====================================================================
   ATTENTION ECONOMY: comum aos 5
   ===================================================================== */

/* Segunda linha do H1 em ciano -> mesma cor do titulo (ciano so em acao). */
html:lang(en) body.page-id-24850 #visu-hub h1 em,
html:lang(en) body.page-id-24854 #visu-calculator h1 em,
html:lang(en) body.page-id-24903 #visu-quiz h1 em,
html:lang(en) body.page-id-24889 #visu-comparison h1 em,
html:lang(en) body.page-id-24909 #visu-glossary h1 em {
  color: inherit;
  -webkit-text-fill-color: currentColor;
  background: none;
}

/* ---------- Hub (/attention-economy/) ---------- */

/* 01-04 nas ferramentas nao e sequencia: some a coluna do numero. */
html:lang(en) body.page-id-24850 #visu-hub .ah-tool .ah-index { display: none; }
html:lang(en) body.page-id-24850 #visu-hub .ah-tool { grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); }
@media (max-width: 700px) {
  html:lang(en) body.page-id-24850 #visu-hub .ah-tool { grid-template-columns: minmax(0, 1fr); }
  html:lang(en) body.page-id-24850 #visu-hub .ah-tool-example { grid-column: 1; }
}

/* Titulo da ferramenta: link em tom de texto, ciano so no hover/foco (o CTA abaixo ja e a acao).
   !important porque o tema pinta todo "main a" com !important. */
html:lang(en) body.page-id-24850 #visu-hub .ah-tool h3 a { color: #f1f0ea !important; text-decoration: none; }
html:lang(en) body.page-id-24850 #visu-hub .ah-tool h3 a:hover,
html:lang(en) body.page-id-24850 #visu-hub .ah-tool h3 a:focus-visible { color: #44c7f4 !important; }

/* Rotulos em caixa alta (texto digitado assim) -> sentence case, sem tracking. */
html:lang(en) body.page-id-24850 #visu-hub .ah-hero-receipt figcaption span,
html:lang(en) body.page-id-24850 #visu-hub .ah-example-label,
html:lang(en) body.page-id-24850 #visu-hub .ah-scenario span {
  display: inline-block;
  text-transform: lowercase;
  letter-spacing: 0;
  font-size: 12px;
}
html:lang(en) body.page-id-24850 #visu-hub .ah-example-label { display: block; }
html:lang(en) body.page-id-24850 #visu-hub .ah-hero-receipt figcaption span::first-letter,
html:lang(en) body.page-id-24850 #visu-hub .ah-example-label::first-letter,
html:lang(en) body.page-id-24850 #visu-hub .ah-scenario span::first-letter { text-transform: uppercase; }

/* ---------- Calculadora ---------- */

/* "One receipt. Four different ideas.": 01-04 nao e sequencia. Os passos 01/02 do fluxo ficam. */
html:lang(en) body.page-id-24854 #visu-calculator .ar-concepts .ar-index { display: none; }
html:lang(en) body.page-id-24854 #visu-calculator details.ar-money summary small {
  text-transform: lowercase;
  letter-spacing: 0;
  font-size: 12px;
}
html:lang(en) body.page-id-24854 #visu-calculator details.ar-money summary small::first-letter { text-transform: uppercase; }

/* ---------- Quiz ---------- */

/* Eyebrow acima do H1 repete o breadcrumb: sai. */
html:lang(en) body.page-id-24903 #visu-quiz .aq-kicker { display: none; }

/* Breadcrumb "/ EARNING PERSONALITY QUIZ": o "/ " impede ::first-letter de pegar o E, entao fica como esta
   (troca de texto e pendencia para 50-other.js). */

html:lang(en) body.page-id-24903 #visu-quiz .aq-step,
html:lang(en) body.page-id-24903 #visu-quiz .aq-output-label {
  text-transform: lowercase;
  letter-spacing: 0;
  font-size: 12px;
}
html:lang(en) body.page-id-24903 #visu-quiz .aq-step::first-letter,
html:lang(en) body.page-id-24903 #visu-quiz .aq-output-label::first-letter { text-transform: uppercase; }

/* Os cinco estilos sao uma lista, nao uma sequencia: 01-05 sai. */
html:lang(en) body.page-id-24903 #visu-quiz .aq-styles summary > span:first-child { display: none; }

/* =====================================================================
   /partners/ (page-id-33693)
   ===================================================================== */

/* "VISU" pintado no H1 -> cor do titulo. */
html:lang(en) body.page-id-33693 #visu-partners-v2 #partners-hero h1 em {
  color: inherit;
  -webkit-text-fill-color: currentColor;
  font-style: normal;
}

/* Kickers em caixa alta -> sentence case (identificam o papel, entao ficam). */
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-role .pv-kicker,
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-stage .pv-stage-label {
  display: inline-block;
  text-transform: lowercase;
  letter-spacing: 0;
  font-size: 13px;
}
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-stage .pv-stage-label { font-size: 12px; }
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-role .pv-kicker::first-letter,
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-stage .pv-stage-label::first-letter { text-transform: uppercase; }

/* 01/02 em "Understand where earnings come from" nao e sequencia. */
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-earnings .pv-earn-number { display: none; }
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-earnings article { grid-template-columns: minmax(0, 1fr); }

/* Botoes: fonte >= 15px, radius 10. Primario cheio sem seta; secundario mantem a seta (indica salto/destino). */
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-button {
  font-size: 15px;
  border-radius: 10px;
}
/* Texto centrado nos dois (no mobile os botoes empilham em 100% e o secundario ficava alinhado a esquerda). */
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-button { justify-content: center; gap: 12px; }
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-button:not(.pv-button-secondary) > span[aria-hidden="true"] { display: none; }
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-button.pv-button-secondary { border-color: rgba(255, 255, 255, 0.2); }
html:lang(en) body.page-id-33693 #visu-partners-v2 .pv-button.pv-button-secondary:hover {
  border-color: rgba(255, 255, 255, 0.4);
  background: #192932;
}

/* =====================================================================
   /network/ (page-id-5968, widget #visu-solutions)
   ===================================================================== */

/* Sem glow: hero, CTA e sombras coloridas. */
html:lang(en) body.page-id-5968 #visu-solutions .sol-hero::before,
html:lang(en) body.page-id-5968 #visu-solutions .sol-hero::after,
html:lang(en) body.page-id-5968 #visu-solutions .sol-cta-box::before,
html:lang(en) body.page-id-5968 #visu-solutions .sol-cta-box::after,
html:lang(en) body.page-id-5968 #visu-solutions .sol-feature-card::before,
html:lang(en) body.page-id-5968 #visu-solutions .sol-feature-card::after {
  content: none;
  display: none;
}
html:lang(en) body.page-id-5968 #visu-solutions .sol-cta-section { background-image: none; }
html:lang(en) body.page-id-5968 #visu-solutions .sol-cta-box {
  background: #0d1216;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
}

/* Imagens stock: sem sombra pesada. A do "About" (placa neon, sem informacao) sai e a secao vira coluna de texto. */
html:lang(en) body.page-id-5968 #visu-solutions .sol-hero-visual img {
  box-shadow: none;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
html:lang(en) body.page-id-5968 #visu-solutions .sol-about-image { display: none; }
html:lang(en) body.page-id-5968 #visu-solutions .sol-grid-2 {
  grid-template-columns: minmax(0, 1fr);
  max-width: 720px;
}

/* Eyebrow "ABOUT VISU" acima do H2: sai. */
/* !important: regra antiga do tema forca "display: inline-flex !important" em .sol-hero-eyebrow. */
html:lang(en) body.page-id-5968 #visu-solutions .sol-hero-eyebrow { display: none !important; }

/* Botoes na linguagem da home. */
html:lang(en) body.page-id-5968 #visu-solutions .sol-btn { border-radius: 10px; }
html:lang(en) body.page-id-5968 #visu-solutions .sol-btn-primary {
  box-shadow: none !important;
  border-color: transparent;
  color: #06101a;
}
html:lang(en) body.page-id-5968 #visu-solutions .sol-btn-primary svg { display: none; }
/* !important: regra global antiga do tema forca borda .6 e hover branco com translateY. */
html:lang(en) body.page-id-5968 #visu-solutions .sol-btn-ghost { border-color: rgba(255, 255, 255, 0.2) !important; }
html:lang(en) body.page-id-5968 #visu-solutions .sol-btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: #192932 !important;
  transform: none !important;
}

/* Quatro grades de cards iguais seguidas: "How we build" e "VISU products" viram listas abertas
   (linha no topo, sem caixa); "Who VISU is for" e "What we offer" seguem em card. */
html:lang(en) body.page-id-5968 #visu-solutions #values .sol-feature-card,
html:lang(en) body.page-id-5968 #visu-solutions #ecosystem .sol-feature-card {
  background: none;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding: 24px 0 8px;
  box-shadow: none;
}
html:lang(en) body.page-id-5968 #visu-solutions .sol-feature-card { box-shadow: none; }

/* =====================================================================
   /uses/ (page-id-19936, widget #visu-uses)
   ===================================================================== */

/* Palavra pintada em gradiente no H1 e no "Why VISU Works" -> cor do titulo. */
html:lang(en) body.page-id-19936 #visu-uses h1 span,
html:lang(en) body.page-id-19936 #visu-uses .sol-section-title h2 span {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: currentColor;
  color: inherit;
}

/* Sem glow no hero, CTA sem gradiente, cards sem sombra. */
html:lang(en) body.page-id-19936 #visu-uses .sol-hero::before,
html:lang(en) body.page-id-19936 #visu-uses .sol-hero::after {
  content: none;
  display: none;
}
html:lang(en) body.page-id-19936 #visu-uses .sol-cta-box {
  background: #0d1216;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
}
html:lang(en) body.page-id-19936 #visu-uses .sol-case-card { box-shadow: none; }

/* Barra de gradiente/ciano no topo do bloco de servico -> borda neutra. */
html:lang(en) body.page-id-19936 #visu-uses .sol-service-header {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* 01/02/03 ciano nos cards "Why" nao e sequencia. */
html:lang(en) body.page-id-19936 #visu-uses .sol-why-num { display: none; }

/* Botoes na linguagem da home. "View All": fonte 15px e alvo 44px. */
html:lang(en) body.page-id-19936 #visu-uses .sol-btn { border-radius: 10px; }
html:lang(en) body.page-id-19936 #visu-uses .sol-btn-primary {
  box-shadow: none !important;
  border-color: transparent;
  color: #06101a;
}
/* !important: regra global antiga do tema forca borda .6 e hover branco com translateY. */
html:lang(en) body.page-id-19936 #visu-uses .sol-btn-ghost { border-color: rgba(255, 255, 255, 0.2) !important; }
html:lang(en) body.page-id-19936 #visu-uses .sol-btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.4) !important;
  background: #192932 !important;
  transform: none !important;
}
html:lang(en) body.page-id-19936 #visu-uses .sol-btn-small {
  font-size: 15px;
  min-height: 44px;
  padding-inline: 16px;
}

/* pages/54-legal.css */
/* Legais sincronizados (Terms 6771, Privacy 6783, Cookies 6791): leitura confortável no padrão do site.
   Produção: equivale ao CSS embutido do plugin (visu_legal_css) em wp-legal-sync. */
html:lang(en) .visu-legal-doc[data-visu-legal] {
  max-width: 760px;
  margin: 0 auto;
  padding: 72px 0 96px;
  color: #c0cdd4;
  font-size: 16px;
  line-height: 1.7;
}
html:lang(en) .visu-legal-doc .visu-legal-title {
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.028em;
  color: #f1f0ea;
}
html:lang(en) .visu-legal-doc .visu-legal-meta {
  margin: 0 0 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  font-size: 14px;
  color: #7d868d;
}
html:lang(en) .visu-legal-doc .visu-legal-meta :is(strong, b) {
  color: inherit;
  font-weight: 500;
}
html:lang(en) .visu-legal-doc .visu-legal-rule {
  display: none;
}
html:lang(en) .visu-legal-doc :is(p, li) {
  color: #c0cdd4;
}
html:lang(en) .visu-legal-doc h2 {
  margin: 48px 0 12px;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #f1f0ea;
}
html:lang(en) .visu-legal-doc h3 {
  margin: 36px 0 10px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
  color: #f1f0ea;
}
html:lang(en) .visu-legal-doc :is(strong, b) {
  color: #e6ebee;
}
html:lang(en) .visu-legal-doc a {
  color: #f1f0ea !important; /* tema pinta todo link de ciano com !important */
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: 3px;
}
/* Tabela: o plugin põe display:block + overflow e corta a 3ª coluna em 390px. */
html:lang(en) .visu-legal-doc table {
  display: table;
  width: 100%;
  margin: 20px 0 28px;
  border-collapse: collapse;
  font-size: 14px;
}
html:lang(en) .visu-legal-doc :is(th, td) {
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
html:lang(en) .visu-legal-doc th {
  color: #f1f0ea;
  font-weight: 600;
}
@media (max-width: 767px) {
  html:lang(en) .visu-legal-doc[data-visu-legal] {
    padding: 40px 16px 72px;
    font-size: 15px;
  }
  html:lang(en) .visu-legal-doc h2 { font-size: 22px; }
  html:lang(en) .visu-legal-doc table { font-size: 13px; }
}
