/* Paleta Vivo compartilhada visualmente com Preços, Eleva App e Cases. */
body.ehr-page {
  --purple: #660099;
  --purple-dark: #490071;
  --lilac: #a467c4;
  --pink: #b0008d;
  --ink: #2f1041;
  --muted: #71617d;
  --soft: #f3e5ff;
  --soft2: #fce7f7;
  --line: #e5d4ef;
  --shadow: 0 22px 60px #49007120;
  --ehr-purple: var(--purple);
  --ehr-purple2: var(--pink);
  --ehr-deep: var(--purple-dark);
  --ehr-lime: #f7cef0;
  --ehr-black: var(--ink);
  --ehr-text: var(--ink);
  --ehr-muted: var(--muted);
  --ehr-border: var(--line);
  --ehr-soft: var(--soft);
  --ehr-shadow: 0 24px 70px #49007120;
  --ehr-on-purple: #f2dffa;
  --ehr-brand-gradient: linear-gradient(110deg, #660099, #97089d);
  --ehr-hero-gradient: radial-gradient(ellipse at 95% 0%, #cb35b36b, transparent 62%), radial-gradient(ellipse at 6% 100%, #45006e, transparent 72%), linear-gradient(110deg, #660099, #920ba4);
}

.ehr-page ::selection { background: var(--soft); color: var(--purple-dark); }
.ehr-page :focus-visible { outline-color: var(--purple); }
.ehr-page .nav-cta { background: var(--purple); box-shadow: 0 12px 28px #66009920; }
.ehr-page .nav-cta:hover { background: var(--purple-dark); }
.ehr-page .ehr-mobile-menu { background: #fff; border-color: var(--line); }
.ehr-page .ehr-mobile-menu a { color: var(--ink); }
.ehr-page .ehr-mobile-menu a:hover { color: var(--purple); }
.ehr-page .ehr-mobile-menu .ehr-mobile-cta { color: #fff; background: var(--ehr-brand-gradient); box-shadow: 0 12px 26px #66009920; }
.ehr-page .ehr-mobile-menu .ehr-mobile-cta:hover { color: #fff; background: var(--purple-dark); }
.ehr-page .ehr-btn--primary { color: #fff; background: var(--ehr-brand-gradient); box-shadow: 0 15px 30px #66009925; }
.ehr-page .ehr-btn--primary:hover { background: var(--purple-dark); }
.ehr-page .ehr-btn--ghost { background: var(--soft2); color: var(--purple); border-color: var(--line); }
.ehr-page .ehr-btn--white { background: #fff; color: var(--purple); }
.ehr-page .ehr-btn--white:hover { background: var(--soft); }

/* Hero e faixa de pilares no mesmo degradê da página de Preços. */
.ehr-page .ehr-hero-atmosphere { background: var(--ehr-hero-gradient); isolation: isolate; }
.ehr-page .ehr-hero-atmosphere::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .14;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}
.ehr-page .ehr-glow { background: transparent; }
.ehr-page .ehr-hero__visual::before { background: radial-gradient(circle, #b0008d26, transparent 72%); }
.ehr-page .ehr-hero h1 { color: #fff; }
.ehr-page .ehr-hero h1 em { color: #f7cef0; }
.ehr-page .ehr-hero__copy > p,
.ehr-page .ehr-eyebrow,
.ehr-page .ehr-hero__trust span { color: var(--ehr-on-purple); }
.ehr-page .ehr-eyebrow span { background: #f7cef0; }
.ehr-page .ehr-hero__trust i { color: #f7cef0; }
.ehr-page .ehr-hero .ehr-btn--primary { background: #fff; color: var(--purple); box-shadow: 0 15px 30px #49007130; }
.ehr-page .ehr-hero .ehr-btn--primary:hover { background: var(--soft); }
.ehr-page .ehr-hero .ehr-btn--ghost { background: #ffffff12; color: #fff; border-color: #ffffff70; }
.ehr-page .ehr-hero .ehr-btn--ghost:hover { background: #ffffff24; }
.ehr-page .ehr-hero a:focus-visible { outline-color: #f7cef0; }
.ehr-page .ehr-strip { background: #ffffff10; border-color: #ffffff30; }
.ehr-page .ehr-strip__grid > div,
.ehr-page .ehr-strip__grid > div:first-child,
.ehr-page .ehr-strip__grid > div:nth-child(odd) { border-color: #ffffff30; }
.ehr-page .ehr-strip strong { color: #fff; }
.ehr-page .ehr-strip__grid > div:first-child strong { color: #fff; }
.ehr-page .ehr-strip span { color: var(--ehr-on-purple); }

/* Seções claras e cards alternados em lilás e rosa suave. */
.ehr-page .ehr-section::before { background: radial-gradient(ellipse at 96% 8%, #6600990c, transparent 39%), radial-gradient(ellipse at 3% 94%, #b0008d0a, transparent 34%); }
.ehr-page .ehr-section--modules,
.ehr-page .ehr-section--soft { background: linear-gradient(135deg, #faf5fd, #fce7f7); }
.ehr-page .ehr-section--report { background: linear-gradient(180deg, #ebebeb, #faf5fd); }
.ehr-page .ehr-section--modules::before,
.ehr-page .ehr-section--soft::before,
.ehr-page .ehr-section--report::before { background: radial-gradient(ellipse at 4% 10%, #6600990a, transparent 38%), radial-gradient(ellipse at 96% 90%, #b0008d0a, transparent 33%); }
.ehr-page :is(.ehr-value-grid, .ehr-govern-grid, .ehr-automation-grid) article { background: #faf5fd; border-color: var(--line); box-shadow: 0 12px 30px #4900710c; }
.ehr-page :is(.ehr-value-grid, .ehr-govern-grid, .ehr-automation-grid) article:nth-child(even) { background: var(--soft2); }
.ehr-page :is(.ehr-value-grid, .ehr-govern-grid, .ehr-automation-grid) article > i { background: var(--soft); color: var(--purple); }
.ehr-page :is(.ehr-value-grid, .ehr-govern-grid, .ehr-automation-grid) article:nth-child(even) > i { background: #f8d4ef; color: var(--pink); }
.ehr-page .ehr-module-card { background: #fff; border-color: var(--line); box-shadow: 0 18px 45px #4900710d; }
.ehr-page .ehr-module-card--homolog { background: var(--soft2); }
.ehr-page .ehr-module-card--measure { background: #faf5fd; }
.ehr-page .ehr-module-icon { background: var(--soft); color: var(--purple); }
.ehr-page .ehr-module-card--homolog .ehr-module-icon { background: #f8d4ef; color: var(--pink); }
.ehr-page .ehr-module-card--homolog > span { color: var(--pink); }
.ehr-page .ehr-module-card li,
.ehr-page .ehr-check-list li { color: var(--muted); }
.ehr-page .ehr-module-card li::before { color: var(--pink); }
.ehr-page .ehr-check-list li::before { color: var(--purple); background: var(--soft); }

/* Acabamento dos dispositivos; capturas do produto mantêm suas cores originais. */
.ehr-page .ehr-device-scene::before { background: radial-gradient(circle, #b0008d20, #6600990c 46%, transparent 74%); }
.ehr-page .ehr-device-scene--dark::before { background: radial-gradient(circle, #f7cef025, transparent 74%); }
.ehr-page .ehr-premium-chip,
.ehr-page .ehr-sign-badge--premium { background: #fffffff5; border-color: var(--line); box-shadow: 0 20px 48px #49007120; }
.ehr-page .ehr-premium-chip > i,
.ehr-page .ehr-sign-badge--premium > div { color: var(--purple); background: var(--soft); }
.ehr-page .ehr-premium-chip strong,
.ehr-page .ehr-sign-badge strong { color: var(--ink); }
.ehr-page .ehr-premium-chip small,
.ehr-page .ehr-sign-badge small,
.ehr-page .ehr-sign-badge em { color: var(--muted); }
.ehr-page .ehr-premium-chip--success > i { color: #398c00; background: #eaffdd; }
.ehr-page .ehr-premium-chip--dark { background: #490071ed; border-color: #ffffff30; }
.ehr-page .ehr-premium-chip--dark > i { background: #ffffff18; color: #f7cef0; }
.ehr-page .ehr-premium-chip--dark strong { color: #fff; }
.ehr-page .ehr-premium-chip--dark small { color: var(--ehr-on-purple); }

/* Fluxos, contato e chamadas finais com roxo e magenta. */
.ehr-page .ehr-section--dark,
.ehr-page .ehr-cta-band,
.ehr-page .ehr-final { background: var(--ehr-brand-gradient); }
.ehr-page .ehr-section--contact { background: var(--ehr-hero-gradient); }
.ehr-page .ehr-section--dark::before,
.ehr-page .ehr-cta-band::before,
.ehr-page .ehr-section--contact::before,
.ehr-page .ehr-final::before { background: radial-gradient(ellipse at 92% 12%, #f7cef014, transparent 48%); }
.ehr-page .ehr-kicker--light,
.ehr-page .ehr-feature-copy--light > p,
.ehr-page .ehr-step-list small,
.ehr-page .ehr-contact-copy > p,
.ehr-page .ehr-contact-points small,
.ehr-page .ehr-cta-band :is(p, small),
.ehr-page .ehr-final small { color: var(--ehr-on-purple); }
.ehr-page .ehr-step-list > div,
.ehr-page .ehr-contact-points > div { background: #ffffff0d; border-color: #ffffff30; }
.ehr-page .ehr-step-list b { background: #ffffff20; color: #fff; }
.ehr-page :is(.ehr-section--dark, .ehr-section--contact, .ehr-cta-band, .ehr-final) a:focus-visible { outline-color: #f7cef0; }

/* Formulário: foco de marca, mantendo as cores de validação. */
.ehr-page .ehr-form { background: #fff; border-color: var(--line); box-shadow: 0 35px 80px #49007130; }
.ehr-page .ehr-form label,
.ehr-page .ehr-form .form-header h3 { color: var(--ink); }
.ehr-page .ehr-form-note { color: var(--muted); }
.ehr-page .ehr-form :is(input, select, textarea) { color: var(--ink); }
.ehr-page .ehr-form :is(input, textarea)::placeholder { color: var(--muted); }
.ehr-page .ehr-form select { background-image: linear-gradient(45deg, transparent 50%, var(--purple) 50%), linear-gradient(135deg, var(--purple) 50%, transparent 50%); }
.ehr-page .ehr-form :is(input, select, textarea):not(.error):not(.valid) { border-color: var(--line); }
.ehr-page .ehr-form :is(input, select, textarea):not(.error):not(.valid):focus { border-color: var(--purple); box-shadow: 0 0 0 4px #66009912; }

.ehr-page .site-footer { background: linear-gradient(135deg, #210b35, #35004f); }
.ehr-page .footer-glow { background: radial-gradient(circle, #b0008d30, transparent 65%); }
.ehr-page .footer-ecosystem { color: var(--ehr-on-purple); }
.ehr-page .site-footer a:hover { color: #f7cef0; }
.ehr-page .site-footer :focus-visible { outline-color: #f7cef0; }

/* Chat: mesma marca, preservando os estados de erro e sucesso. */
.ehr-page .contact-chat { --chat-purple: #660099; color: var(--ink); border-color: var(--line); box-shadow: 0 16px 64px #49007126; }
.ehr-page .contact-chat__header { background: var(--ehr-brand-gradient); }
.ehr-page .contact-chat__heading span,
.ehr-page .contact-chat__message--visitor time { color: var(--ehr-on-purple); }
.ehr-page .contact-chat__bubble { background: #faf5fd; }
.ehr-page .contact-chat__message--visitor .contact-chat__bubble { background: var(--purple); }
.ehr-page .contact-chat__choice { border-color: var(--line); }
.ehr-page .contact-chat__choice:hover,
.ehr-page .contact-chat__volume-option:hover,
.ehr-page .contact-chat__volume-option:has(input:checked) { background: var(--soft); border-color: var(--purple); }
.ehr-page .contact-chat__send { background: var(--soft); }
.ehr-page .contact-chat__send:hover { background: var(--soft2); }
.ehr-page .contact-chat__continue:hover { background: var(--purple-dark); }
.ehr-page .contact-chat__form:focus-within { box-shadow: 0 0 0 2px #66009912; }
.ehr-page .contact-chat :focus-visible,
.ehr-page .contact-chat__volume-option:focus-within { outline-color: #a467c4; }
.ehr-page .contact-chat__header :focus-visible { outline-color: #f7cef0; }
.ehr-page .floating-contact.contact-chat-launcher.is-chat-open { background: var(--purple); box-shadow: 0 7px 22px #66009933; }
