/*
 * Sistema global de temas da Evolve Terapias
 *
 * Estrutura de leitura de cada tema:
 * 1. Paleta base: cores "humanas" do tema
 * 2. Mapeamento tonal normal: comportamento atual do site
 * 3. Mapeamento tonal invertido: versão mais leve, pronta para uso
 * 4. Modo tonal ativo: único ponto para ligar/desligar a inversão
 * 5. Semântica real: camada que os componentes devem consumir
 * 6. Compatibilidade: tokens mantidos para o CSS atual continuar funcionando
 * 7. Aliases antigos: nomes legados do projeto, não são a fonte de verdade
 *
 * Tokens contextuais importantes:
 * - --theme-text-hero-kicker: nome curto da marca no hero da home
 * - --theme-process-step-badge-*: badges numéricos da seção "Primeiro contato"
 * Esses elementos não devem depender de semânticas genéricas de accent ou botão.
 *
 * Como ligar o modo invertido:
 * - Em cada tema, localize o bloco "Modo tonal ativo"
 * - Troque os aliases ativos de var(--tone-normal-...) para var(--tone-inverted-...)
 * - O site inteiro muda sem precisar editar HTML ou página por página
 */

:root,
body[data-theme="default"] {
  /* Paleta base do tema default */
  --theme-brand: #5b2362;
  --theme-brand-contrast: #5b2362;
  --theme-brand-light: #c9b0d1;
  --theme-brand-light-contrast: #c9b0d1;
  --theme-accent: #c9b0d1;
  --theme-page: #f9f4ef;
  --theme-page-soft: #f4ebe7;
  --theme-surface: #ffffff;
  --theme-text: #3d3944;
  --theme-text-soft: #6d6676;
  --theme-success: #1fb855;
  --theme-success-dark: #12863c;

  /* Helpers alpha derivados da marca e do apoio */
  --theme-brand-alpha-quiet: #5b236212;
  --theme-brand-alpha-soft: #5b23621f;
  --theme-brand-alpha-medium: #5b23622e;
  --theme-brand-alpha-strong: #5b236259;
  --theme-accent-alpha-soft: #c9b0d12e;
  --theme-accent-alpha-medium: #c9b0d159;
  --theme-accent-alpha-strong: #c9b0d1b8;
  --theme-white-alpha-soft: #ffffff24;
  --theme-white-alpha-medium: #ffffff2e;
  --theme-white-alpha-strong: #ffffff47;
  --theme-white-alpha-elevated: #ffffffb8;
  --theme-white-alpha-high: #ffffffeb;

  /* Mapeamento tonal normal: comportamento atual */
  --tone-normal-bg-header-footer: var(--theme-brand);
  --tone-normal-bg-page: var(--theme-page);
  --tone-normal-bg-page-soft: var(--theme-page-soft);
  --tone-normal-bg-surface: var(--theme-surface);
  --tone-normal-bg-surface-muted: #fffffff0;
  --tone-normal-bg-hero-overlay-start: #5b2362cc;
  --tone-normal-bg-hero-overlay-mid: #5b2362a6;
  --tone-normal-bg-hero-overlay-end: #c9b0d14f;
  --tone-normal-bg-gradient-soft-start: var(--theme-page);
  --tone-normal-bg-gradient-soft-end: var(--theme-page-soft);
  --tone-normal-bg-support-soft: var(--theme-brand-light);
  --tone-normal-bg-support-muted: var(--theme-page-soft);
  --tone-normal-bg-whatsapp-soft: #e4f7eb;
  --tone-normal-text-on-brand: #ffffff;
  --tone-normal-text-on-brand-soft: #ffffffe8;
  --tone-normal-btn-primary-bg: var(--tone-normal-bg-header-footer);
  --tone-normal-btn-primary-hover: var(--theme-brand-contrast);
  --tone-normal-btn-primary-text: #ffffff;
  --tone-normal-btn-header-bg: var(--theme-brand-light);
  --tone-normal-btn-header-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-header-text: var(--theme-brand);
  --tone-normal-btn-header-border: var(--theme-brand-light);
  --tone-normal-btn-secondary-bg: var(--theme-brand-alpha-soft);
  --tone-normal-btn-secondary-bg-hover: var(--theme-brand-alpha-medium);
  --tone-normal-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-normal-btn-secondary-text: var(--theme-brand);
  --tone-normal-btn-secondary-on-dark-bg: #ffffff2e;
  --tone-normal-btn-secondary-on-dark-bg-hover: #ffffff47;
  --tone-normal-btn-secondary-on-dark-border: #ffffff8f;
  --tone-normal-btn-secondary-on-dark-text: #ffffff;
  --tone-normal-text-hero-kicker: var(--theme-accent);
  --tone-normal-process-step-badge-bg: var(--tone-normal-btn-primary-bg);
  --tone-normal-process-step-badge-text: #ffffff;
  --tone-normal-logo-header-src: 'assets/images/evolve-123x80.png';
  --tone-normal-logo-footer-src: 'assets/images/evolve-506x327.png';
  --tone-normal-btn-soft-bg: var(--theme-brand-light);
  --tone-normal-btn-soft-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-soft-text: var(--theme-brand);
  --tone-normal-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-normal-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-normal-compat-bg-soft: var(--theme-brand-light);
  --tone-normal-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-normal-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-normal-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-normal-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-normal-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-normal-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-normal-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-normal-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-normal-compat-white-14: var(--theme-white-alpha-soft);
  --tone-normal-compat-white-18: var(--theme-white-alpha-medium);
  --tone-normal-compat-white-28: var(--theme-white-alpha-strong);
  --tone-normal-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-normal-compat-white-92: var(--theme-white-alpha-high);
  --tone-normal-compat-white-100: #ffffff;
  --tone-normal-compat-text-on-dark: #ffffff;
  --tone-normal-compat-text-on-dark-soft: #ffffffe0;
  --tone-normal-compat-border-on-dark: #ffffff7d;

  /* Mapeamento tonal invertido: versão mais leve */
  --tone-inverted-bg-header-footer: var(--theme-brand-light);
  --tone-inverted-bg-page: #ffffff;
  --tone-inverted-bg-page-soft: var(--theme-page);
  --tone-inverted-bg-surface: var(--theme-surface);
  --tone-inverted-bg-surface-muted: var(--theme-page-soft);
  --tone-inverted-bg-hero-overlay-start: #f8f4f0e6;
  --tone-inverted-bg-hero-overlay-mid: #c9b0d1a8;
  --tone-inverted-bg-hero-overlay-end: #ffffff52;
  --tone-inverted-bg-gradient-soft-start: #ffffff;
  --tone-inverted-bg-gradient-soft-end: var(--theme-page);
  --tone-inverted-bg-support-soft: var(--theme-accent-alpha-soft);
  --tone-inverted-bg-support-muted: var(--theme-page-soft);
  --tone-inverted-bg-whatsapp-soft: #eef9f2;
  --tone-inverted-text-on-brand: var(--theme-brand-contrast);
  --tone-inverted-text-on-brand-soft: #5b2362d9;
  --tone-inverted-btn-primary-bg: var(--theme-brand);
  --tone-inverted-btn-primary-hover: var(--theme-brand-contrast);
  --tone-inverted-btn-primary-text: #ffffff;
  --tone-inverted-btn-header-bg: var(--theme-brand-contrast);
  --tone-inverted-btn-header-bg-hover: var(--theme-brand);
  --tone-inverted-btn-header-text: #ffffff;
  --tone-inverted-btn-header-border: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-bg: #ffffffe0;
  --tone-inverted-btn-secondary-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-inverted-btn-secondary-text: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-on-dark-bg: #ffffffe0;
  --tone-inverted-btn-secondary-on-dark-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-on-dark-border: #ffffffb8;
  --tone-inverted-btn-secondary-on-dark-text: var(--theme-brand-contrast);
  --tone-inverted-text-hero-kicker: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-bg: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-text: #ffffff;
  --tone-inverted-logo-header-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-logo-footer-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-btn-soft-bg: var(--theme-page-soft);
  --tone-inverted-btn-soft-bg-hover: var(--theme-brand-light);
  --tone-inverted-btn-soft-text: var(--theme-brand-contrast);
  --tone-inverted-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-bg-soft: var(--theme-brand-light);
  --tone-inverted-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-inverted-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-inverted-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-inverted-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-inverted-compat-white-14: var(--theme-white-alpha-soft);
  --tone-inverted-compat-white-18: var(--theme-white-alpha-medium);
  --tone-inverted-compat-white-28: var(--theme-white-alpha-strong);
  --tone-inverted-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-inverted-compat-white-92: var(--theme-white-alpha-high);
  --tone-inverted-compat-white-100: #ffffff;
  --tone-inverted-compat-text-on-dark: var(--theme-brand-contrast);
  --tone-inverted-compat-text-on-dark-soft: #5b2362d9;
  --tone-inverted-compat-border-on-dark: var(--theme-brand-alpha-medium);

  /* Modo tonal ativo: NORMAL
   * Para ativar o modo invertido neste tema, troque "tone-normal" por "tone-inverted"
   * apenas neste bloco de aliases ativos.
   */
  --active-bg-header-footer: var(--tone-inverted-bg-header-footer);
  --active-bg-page: var(--tone-inverted-bg-page);
  --active-bg-page-soft: var(--tone-inverted-bg-page-soft);
  --active-bg-surface: var(--tone-inverted-bg-surface);
  --active-bg-surface-muted: var(--tone-inverted-bg-surface-muted);
  --active-bg-hero-overlay-start: var(--tone-inverted-bg-hero-overlay-start);
  --active-bg-hero-overlay-mid: var(--tone-inverted-bg-hero-overlay-mid);
  --active-bg-hero-overlay-end: var(--tone-inverted-bg-hero-overlay-end);
  --active-bg-gradient-soft-start: var(--tone-inverted-bg-gradient-soft-start);
  --active-bg-gradient-soft-end: var(--tone-inverted-bg-gradient-soft-end);
  --active-bg-support-soft: var(--tone-inverted-bg-support-soft);
  --active-bg-support-muted: var(--tone-inverted-bg-support-muted);
  --active-bg-whatsapp-soft: var(--tone-inverted-bg-whatsapp-soft);
  --active-text-on-brand: var(--tone-inverted-text-on-brand);
  --active-text-on-brand-soft: var(--tone-inverted-text-on-brand-soft);
  --active-btn-primary-bg: var(--tone-inverted-btn-primary-bg);
  --active-btn-primary-hover: var(--tone-inverted-btn-primary-hover);
  --active-btn-primary-text: var(--tone-inverted-btn-primary-text);
  --active-btn-header-bg: var(--tone-inverted-btn-header-bg);
  --active-btn-header-hover: var(--tone-inverted-btn-header-bg-hover);
  --active-btn-header-text: var(--tone-inverted-btn-header-text);
  --active-btn-header-border: var(--tone-inverted-btn-header-border);
  --active-btn-secondary-bg: var(--tone-inverted-btn-secondary-bg);
  --active-btn-secondary-hover: var(--tone-inverted-btn-secondary-bg-hover);
  --active-btn-secondary-border: var(--tone-inverted-btn-secondary-border);
  --active-btn-secondary-text: var(--tone-inverted-btn-secondary-text);
  --active-btn-secondary-on-dark-bg: var(--tone-inverted-btn-secondary-on-dark-bg);
  --active-btn-secondary-on-dark-hover: var(--tone-inverted-btn-secondary-on-dark-bg-hover);
  --active-btn-secondary-on-dark-border: var(--tone-inverted-btn-secondary-on-dark-border);
  --active-btn-secondary-on-dark-text: var(--tone-inverted-btn-secondary-on-dark-text);
  --active-text-hero-kicker: var(--tone-inverted-text-hero-kicker);
  --active-process-step-badge-bg: var(--tone-inverted-process-step-badge-bg);
  --active-process-step-badge-text: var(--tone-inverted-process-step-badge-text);
  --active-logo-header-src: var(--tone-inverted-logo-header-src);
  --active-logo-footer-src: var(--tone-inverted-logo-footer-src);
  --active-btn-soft-bg: var(--tone-inverted-btn-soft-bg);
  --active-btn-soft-hover: var(--tone-inverted-btn-soft-bg-hover);
  --active-btn-soft-text: var(--tone-inverted-btn-soft-text);
  --active-compat-bg-secondary: var(--tone-inverted-compat-bg-secondary);
  --active-compat-bg-secondary-hover: var(--tone-inverted-compat-bg-secondary-hover);
  --active-compat-bg-soft: var(--tone-inverted-compat-bg-soft);
  --active-compat-bg-soft-hover: var(--tone-inverted-compat-bg-soft-hover);
  --active-compat-bg-soft-quiet: var(--tone-inverted-compat-bg-soft-quiet);
  --active-compat-bg-soft-accent: var(--tone-inverted-compat-bg-soft-accent);
  --active-compat-brand-08: var(--tone-inverted-compat-brand-08);
  --active-compat-brand-12: var(--tone-inverted-compat-brand-12);
  --active-compat-accent-12: var(--tone-inverted-compat-accent-12);
  --active-compat-accent-35: var(--tone-inverted-compat-accent-35);
  --active-compat-accent-72: var(--tone-inverted-compat-accent-72);
  --active-compat-white-14: var(--tone-inverted-compat-white-14);
  --active-compat-white-18: var(--tone-inverted-compat-white-18);
  --active-compat-white-28: var(--tone-inverted-compat-white-28);
  --active-compat-white-72: var(--tone-inverted-compat-white-72);
  --active-compat-white-92: var(--tone-inverted-compat-white-92);
  --active-compat-white-100: var(--tone-inverted-compat-white-100);
  --active-compat-text-on-dark: var(--tone-inverted-compat-text-on-dark);
  --active-compat-text-on-dark-soft: var(--tone-inverted-compat-text-on-dark-soft);
  --active-compat-border-on-dark: var(--tone-inverted-compat-border-on-dark);

  /* Semântica real do sistema: camada fonte de verdade para componentes */
  --theme-color-brand-main: var(--theme-brand);
  --theme-color-brand-strong: var(--theme-brand-contrast);
  --theme-color-brand-light: var(--theme-brand-light);
  --theme-color-brand-light-strong: var(--theme-brand-light-contrast);
  --theme-color-accent: var(--theme-accent);
  --theme-bg-page: var(--active-bg-page);
  --theme-bg-page-soft: var(--active-bg-page-soft);
  --theme-bg-surface: var(--active-bg-surface);
  --theme-bg-surface-muted: var(--active-bg-surface-muted);
  --theme-bg-header-footer: var(--active-bg-header-footer);
  --theme-bg-hero-overlay-start: var(--active-bg-hero-overlay-start);
  --theme-bg-hero-overlay-mid: var(--active-bg-hero-overlay-mid);
  --theme-bg-hero-overlay-end: var(--active-bg-hero-overlay-end);
  --theme-bg-gradient-soft-start: var(--active-bg-gradient-soft-start);
  --theme-bg-gradient-soft-end: var(--active-bg-gradient-soft-end);
  --theme-bg-support-soft: var(--active-bg-support-soft);
  --theme-bg-support-muted: var(--active-bg-support-muted);
  --theme-bg-whatsapp-soft: var(--active-bg-whatsapp-soft);
  --theme-text-primary: var(--theme-text);
  --theme-text-secondary: var(--theme-text-soft);
  --theme-text-on-brand: var(--active-text-on-brand);
  --theme-text-on-brand-soft: var(--active-text-on-brand-soft);
  --theme-text-hero-accent: var(--theme-accent);
  --theme-text-hero-kicker: var(--active-text-hero-kicker);
  --theme-logo-header-src: var(--active-logo-header-src);
  --theme-logo-footer-src: var(--active-logo-footer-src);
  /* Botoes primarios gerais do site: compartilham a mesma familia cromatica do CTA do header. */
  --theme-btn-primary-bg: var(--active-btn-header-bg);
  --theme-btn-primary-bg-hover: var(--active-btn-header-hover);
  --theme-btn-primary-text: var(--active-btn-header-text);
  /* CTA destacado do header: mesma familia cromatica do primario, com uso contextual proprio. */
  --theme-btn-header-bg: var(--active-btn-header-bg);
  --theme-btn-header-bg-hover: var(--active-btn-header-hover);
  --theme-btn-header-text: var(--active-btn-header-text);
  --theme-btn-header-border: var(--active-btn-header-border);
  --theme-btn-secondary-bg: var(--active-btn-secondary-bg);
  --theme-btn-secondary-bg-hover: var(--active-btn-secondary-hover);
  --theme-btn-secondary-border: var(--active-btn-secondary-border);
  --theme-btn-secondary-text: var(--active-btn-secondary-text);
  --theme-btn-secondary-on-dark-bg: var(--active-btn-secondary-on-dark-bg);
  --theme-btn-secondary-on-dark-bg-hover: var(--active-btn-secondary-on-dark-hover);
  --theme-btn-secondary-on-dark-border: var(--active-btn-secondary-on-dark-border);
  --theme-btn-secondary-on-dark-text: var(--active-btn-secondary-on-dark-text);
  --theme-process-step-badge-bg: var(--active-process-step-badge-bg);
  --theme-process-step-badge-text: var(--active-process-step-badge-text);
  --theme-btn-soft-bg: var(--active-btn-soft-bg);
  --theme-btn-soft-bg-hover: var(--active-btn-soft-hover);
  --theme-btn-soft-text: var(--active-btn-soft-text);
  --theme-border-soft: #dccdd9;
  --theme-border-soft-strong: #cbb4c8;
  --theme-border-card: #e7dae3;
  --theme-border-secondary: var(--theme-btn-secondary-border);
  --theme-border-on-dark: var(--active-compat-border-on-dark);
  --theme-focus-border: var(--theme-brand);
  --theme-focus-ring: #5b236233;
  --theme-focus-outline: #5b236266;
  --theme-shadow-soft: 0 22px 42px #5b236214;
  --theme-shadow-card: 0 20px 40px #5b23621a;
  --theme-shadow-button: 0 16px 30px #5b236226;
  --theme-shadow-header: 0 14px 28px #5b23620f;
  --theme-shadow-whatsapp: 0 16px 28px #1fb85530;
  --theme-whatsapp: var(--theme-success);
  --theme-whatsapp-dark: var(--theme-success-dark);

  /* Compatibilidade com o consumo atual do CSS do site
   * Novos componentes devem preferir a semântica real acima.
   * --theme-bg-primary continua existindo porque o CSS atual ainda consome essa semantica,
   * mas a fonte de verdade do primario agora é o grupo --theme-btn-primary-*.
   */
  --theme-bg-header: var(--theme-bg-header-footer);
  --theme-bg-header-strong: var(--theme-bg-header-footer);
  --theme-bg-primary: var(--theme-btn-primary-bg);
  --theme-bg-primary-hover: var(--theme-btn-primary-bg-hover);
  --theme-bg-secondary: var(--active-compat-bg-secondary);
  --theme-bg-secondary-hover: var(--active-compat-bg-secondary-hover);
  --theme-bg-soft: var(--active-compat-bg-soft);
  --theme-bg-soft-hover: var(--active-compat-bg-soft-hover);
  --theme-bg-soft-quiet: var(--active-compat-bg-soft-quiet);
  --theme-bg-soft-accent: var(--active-compat-bg-soft-accent);
  --theme-brand-08: var(--active-compat-brand-08);
  --theme-brand-12: var(--active-compat-brand-12);
  --theme-accent-12: var(--active-compat-accent-12);
  --theme-accent-35: var(--active-compat-accent-35);
  --theme-accent-72: var(--active-compat-accent-72);
  --theme-white-14: var(--active-compat-white-14);
  --theme-white-18: var(--active-compat-white-18);
  --theme-white-28: var(--active-compat-white-28);
  --theme-white-72: var(--active-compat-white-72);
  --theme-white-92: var(--active-compat-white-92);
  --theme-white-100: var(--active-compat-white-100);
  --theme-text-on-dark: var(--active-compat-text-on-dark);
  --theme-text-on-dark-soft: var(--active-compat-text-on-dark-soft);

  /* Nomenclaturas antigas do projeto: compatibilidade apenas */
  --color-plum-900: var(--theme-color-brand-main);
  --color-plum-700: var(--theme-color-brand-strong);
  --color-lilac-300: var(--theme-color-accent);
  --color-lilac-200: var(--theme-brand-light);
  --color-cream-50: var(--theme-bg-page);
  --color-cream-100: var(--theme-bg-page-soft);
  --color-surface: var(--theme-bg-surface);
  --color-ink-900: var(--theme-text-primary);
  --color-ink-600: var(--theme-text-secondary);
  --color-border: var(--theme-border-soft);
  --color-success-whatsapp: var(--theme-whatsapp);
  --shadow-soft: var(--theme-shadow-soft);
  --shadow-card: var(--theme-shadow-card);
}

body[data-theme="soft"] {
  /* Paleta base do tema soft */
  --theme-brand: #8d5a9a;
  --theme-brand-contrast: #70427d;
  --theme-brand-light: #e4c9ea;
  --theme-brand-light-contrast: #d9b6e1;
  --theme-accent: #eadcf0;
  --theme-page: #fcf8f4;
  --theme-page-soft: #f7efeb;
  --theme-surface: #ffffff;
  --theme-text: #4a4150;
  --theme-text-soft: #756a7b;
  --theme-success: #1fb855;
  --theme-success-dark: #12863c;

  --theme-brand-alpha-quiet: #8d5a9a12;
  --theme-brand-alpha-soft: #8d5a9a1f;
  --theme-brand-alpha-medium: #8d5a9a2e;
  --theme-brand-alpha-strong: #8d5a9a59;
  --theme-accent-alpha-soft: #eadcf02e;
  --theme-accent-alpha-medium: #eadcf059;
  --theme-accent-alpha-strong: #eadcf0b8;
  --theme-white-alpha-soft: #ffffff24;
  --theme-white-alpha-medium: #ffffff2e;
  --theme-white-alpha-strong: #ffffff47;
  --theme-white-alpha-elevated: #ffffffb8;
  --theme-white-alpha-high: #ffffffeb;

  /* Mapeamento tonal normal */
  --tone-normal-bg-header-footer: var(--theme-brand);
  --tone-normal-bg-page: var(--theme-page);
  --tone-normal-bg-page-soft: var(--theme-page-soft);
  --tone-normal-bg-surface: var(--theme-surface);
  --tone-normal-bg-surface-muted: #fffffff2;
  --tone-normal-bg-hero-overlay-start: #70427dcb;
  --tone-normal-bg-hero-overlay-mid: #8d5a9aa1;
  --tone-normal-bg-hero-overlay-end: #eadcf04f;
  --tone-normal-bg-gradient-soft-start: var(--theme-page);
  --tone-normal-bg-gradient-soft-end: var(--theme-page-soft);
  --tone-normal-bg-support-soft: var(--theme-brand-light);
  --tone-normal-bg-support-muted: var(--theme-page-soft);
  --tone-normal-bg-whatsapp-soft: #e4f7eb;
  --tone-normal-text-on-brand: #ffffff;
  --tone-normal-text-on-brand-soft: #ffffffe8;
  --tone-normal-btn-primary-bg: var(--tone-normal-bg-header-footer);
  --tone-normal-btn-primary-hover: var(--theme-brand-contrast);
  --tone-normal-btn-primary-text: #ffffff;
  --tone-normal-btn-header-bg: var(--theme-brand-light);
  --tone-normal-btn-header-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-header-text: var(--theme-brand-contrast);
  --tone-normal-btn-header-border: var(--theme-brand-light);
  --tone-normal-btn-secondary-bg: var(--theme-brand-alpha-soft);
  --tone-normal-btn-secondary-bg-hover: var(--theme-brand-alpha-medium);
  --tone-normal-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-normal-btn-secondary-text: var(--theme-brand-contrast);
  --tone-normal-btn-secondary-on-dark-bg: #ffffff2e;
  --tone-normal-btn-secondary-on-dark-bg-hover: #ffffff47;
  --tone-normal-btn-secondary-on-dark-border: #ffffff8f;
  --tone-normal-btn-secondary-on-dark-text: #ffffff;
  --tone-normal-text-hero-kicker: var(--theme-accent);
  --tone-normal-process-step-badge-bg: var(--tone-normal-btn-primary-bg);
  --tone-normal-process-step-badge-text: #ffffff;
  --tone-normal-logo-header-src: 'assets/images/evolve-123x80.png';
  --tone-normal-logo-footer-src: 'assets/images/evolve-506x327.png';
  --tone-normal-btn-soft-bg: var(--theme-brand-light);
  --tone-normal-btn-soft-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-soft-text: var(--theme-brand-contrast);
  --tone-normal-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-normal-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-normal-compat-bg-soft: var(--theme-brand-light);
  --tone-normal-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-normal-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-normal-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-normal-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-normal-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-normal-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-normal-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-normal-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-normal-compat-white-14: var(--theme-white-alpha-soft);
  --tone-normal-compat-white-18: var(--theme-white-alpha-medium);
  --tone-normal-compat-white-28: var(--theme-white-alpha-strong);
  --tone-normal-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-normal-compat-white-92: var(--theme-white-alpha-high);
  --tone-normal-compat-white-100: #ffffff;
  --tone-normal-compat-text-on-dark: #ffffff;
  --tone-normal-compat-text-on-dark-soft: #ffffffe0;
  --tone-normal-compat-border-on-dark: #ffffff7d;

  /* Mapeamento tonal invertido */
  --tone-inverted-bg-header-footer: var(--theme-brand-light);
  --tone-inverted-bg-page: #ffffff;
  --tone-inverted-bg-page-soft: var(--theme-page);
  --tone-inverted-bg-surface: var(--theme-surface);
  --tone-inverted-bg-surface-muted: var(--theme-page-soft);
  --tone-inverted-bg-hero-overlay-start: #faf5f0e6;
  --tone-inverted-bg-hero-overlay-mid: #eadcf0ab;
  --tone-inverted-bg-hero-overlay-end: #ffffff57;
  --tone-inverted-bg-gradient-soft-start: #ffffff;
  --tone-inverted-bg-gradient-soft-end: var(--theme-page);
  --tone-inverted-bg-support-soft: var(--theme-accent-alpha-soft);
  --tone-inverted-bg-support-muted: var(--theme-page-soft);
  --tone-inverted-bg-whatsapp-soft: #eef9f2;
  --tone-inverted-text-on-brand: var(--theme-brand-contrast);
  --tone-inverted-text-on-brand-soft: #582463d9;
  --tone-inverted-btn-primary-bg: var(--theme-brand);
  --tone-inverted-btn-primary-hover: var(--theme-brand-contrast);
  --tone-inverted-btn-primary-text: #ffffff;
  --tone-inverted-btn-header-bg: var(--theme-brand-contrast);
  --tone-inverted-btn-header-bg-hover: var(--theme-brand);
  --tone-inverted-btn-header-text: #ffffff;
  --tone-inverted-btn-header-border: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-bg: #ffffffe0;
  --tone-inverted-btn-secondary-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-inverted-btn-secondary-text: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-on-dark-bg: #ffffffe0;
  --tone-inverted-btn-secondary-on-dark-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-on-dark-border: #ffffffb8;
  --tone-inverted-btn-secondary-on-dark-text: var(--theme-brand-contrast);
  --tone-inverted-text-hero-kicker: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-bg: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-text: #ffffff;
  --tone-inverted-logo-header-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-logo-footer-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-btn-soft-bg: var(--theme-page-soft);
  --tone-inverted-btn-soft-bg-hover: var(--theme-brand-light);
  --tone-inverted-btn-soft-text: var(--theme-brand-contrast);
  --tone-inverted-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-bg-soft: var(--theme-brand-light);
  --tone-inverted-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-inverted-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-inverted-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-inverted-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-inverted-compat-white-14: var(--theme-white-alpha-soft);
  --tone-inverted-compat-white-18: var(--theme-white-alpha-medium);
  --tone-inverted-compat-white-28: var(--theme-white-alpha-strong);
  --tone-inverted-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-inverted-compat-white-92: var(--theme-white-alpha-high);
  --tone-inverted-compat-white-100: #ffffff;
  --tone-inverted-compat-text-on-dark: var(--theme-brand-contrast);
  --tone-inverted-compat-text-on-dark-soft: #582463d9;
  --tone-inverted-compat-border-on-dark: var(--theme-brand-alpha-medium);

  /* Modo tonal ativo: NORMAL */
  --active-bg-header-footer: var(--tone-normal-bg-header-footer);
  --active-bg-page: var(--tone-normal-bg-page);
  --active-bg-page-soft: var(--tone-normal-bg-page-soft);
  --active-bg-surface: var(--tone-normal-bg-surface);
  --active-bg-surface-muted: var(--tone-normal-bg-surface-muted);
  --active-bg-hero-overlay-start: var(--tone-normal-bg-hero-overlay-start);
  --active-bg-hero-overlay-mid: var(--tone-normal-bg-hero-overlay-mid);
  --active-bg-hero-overlay-end: var(--tone-normal-bg-hero-overlay-end);
  --active-bg-gradient-soft-start: var(--tone-normal-bg-gradient-soft-start);
  --active-bg-gradient-soft-end: var(--tone-normal-bg-gradient-soft-end);
  --active-bg-support-soft: var(--tone-normal-bg-support-soft);
  --active-bg-support-muted: var(--tone-normal-bg-support-muted);
  --active-bg-whatsapp-soft: var(--tone-normal-bg-whatsapp-soft);
  --active-text-on-brand: var(--tone-normal-text-on-brand);
  --active-text-on-brand-soft: var(--tone-normal-text-on-brand-soft);
  --active-btn-primary-bg: var(--tone-normal-btn-primary-bg);
  --active-btn-primary-hover: var(--tone-normal-btn-primary-hover);
  --active-btn-primary-text: var(--tone-normal-btn-primary-text);
  --active-btn-header-bg: var(--tone-normal-btn-header-bg);
  --active-btn-header-hover: var(--tone-normal-btn-header-bg-hover);
  --active-btn-header-text: var(--tone-normal-btn-header-text);
  --active-btn-header-border: var(--tone-normal-btn-header-border);
  --active-btn-secondary-bg: var(--tone-normal-btn-secondary-bg);
  --active-btn-secondary-hover: var(--tone-normal-btn-secondary-bg-hover);
  --active-btn-secondary-border: var(--tone-normal-btn-secondary-border);
  --active-btn-secondary-text: var(--tone-normal-btn-secondary-text);
  --active-btn-secondary-on-dark-bg: var(--tone-normal-btn-secondary-on-dark-bg);
  --active-btn-secondary-on-dark-hover: var(--tone-normal-btn-secondary-on-dark-bg-hover);
  --active-btn-secondary-on-dark-border: var(--tone-normal-btn-secondary-on-dark-border);
  --active-btn-secondary-on-dark-text: var(--tone-normal-btn-secondary-on-dark-text);
  --active-text-hero-kicker: var(--tone-normal-text-hero-kicker);
  --active-process-step-badge-bg: var(--tone-normal-process-step-badge-bg);
  --active-process-step-badge-text: var(--tone-normal-process-step-badge-text);
  --active-logo-header-src: var(--tone-normal-logo-header-src);
  --active-logo-footer-src: var(--tone-normal-logo-footer-src);
  --active-btn-soft-bg: var(--tone-normal-btn-soft-bg);
  --active-btn-soft-hover: var(--tone-normal-btn-soft-bg-hover);
  --active-btn-soft-text: var(--tone-normal-btn-soft-text);
  --active-compat-bg-secondary: var(--tone-normal-compat-bg-secondary);
  --active-compat-bg-secondary-hover: var(--tone-normal-compat-bg-secondary-hover);
  --active-compat-bg-soft: var(--tone-normal-compat-bg-soft);
  --active-compat-bg-soft-hover: var(--tone-normal-compat-bg-soft-hover);
  --active-compat-bg-soft-quiet: var(--tone-normal-compat-bg-soft-quiet);
  --active-compat-bg-soft-accent: var(--tone-normal-compat-bg-soft-accent);
  --active-compat-brand-08: var(--tone-normal-compat-brand-08);
  --active-compat-brand-12: var(--tone-normal-compat-brand-12);
  --active-compat-accent-12: var(--tone-normal-compat-accent-12);
  --active-compat-accent-35: var(--tone-normal-compat-accent-35);
  --active-compat-accent-72: var(--tone-normal-compat-accent-72);
  --active-compat-white-14: var(--tone-normal-compat-white-14);
  --active-compat-white-18: var(--tone-normal-compat-white-18);
  --active-compat-white-28: var(--tone-normal-compat-white-28);
  --active-compat-white-72: var(--tone-normal-compat-white-72);
  --active-compat-white-92: var(--tone-normal-compat-white-92);
  --active-compat-white-100: var(--tone-normal-compat-white-100);
  --active-compat-text-on-dark: var(--tone-normal-compat-text-on-dark);
  --active-compat-text-on-dark-soft: var(--tone-normal-compat-text-on-dark-soft);
  --active-compat-border-on-dark: var(--tone-normal-compat-border-on-dark);

  /* Semântica real */
  --theme-color-brand-main: var(--theme-brand);
  --theme-color-brand-strong: var(--theme-brand-contrast);
  --theme-color-brand-light: var(--theme-brand-light);
  --theme-color-brand-light-strong: var(--theme-brand-light-contrast);
  --theme-color-accent: var(--theme-accent);
  --theme-bg-page: var(--active-bg-page);
  --theme-bg-page-soft: var(--active-bg-page-soft);
  --theme-bg-surface: var(--active-bg-surface);
  --theme-bg-surface-muted: var(--active-bg-surface-muted);
  --theme-bg-header-footer: var(--active-bg-header-footer);
  --theme-bg-hero-overlay-start: var(--active-bg-hero-overlay-start);
  --theme-bg-hero-overlay-mid: var(--active-bg-hero-overlay-mid);
  --theme-bg-hero-overlay-end: var(--active-bg-hero-overlay-end);
  --theme-bg-gradient-soft-start: var(--active-bg-gradient-soft-start);
  --theme-bg-gradient-soft-end: var(--active-bg-gradient-soft-end);
  --theme-bg-support-soft: var(--active-bg-support-soft);
  --theme-bg-support-muted: var(--active-bg-support-muted);
  --theme-bg-whatsapp-soft: var(--active-bg-whatsapp-soft);
  --theme-text-primary: var(--theme-text);
  --theme-text-secondary: var(--theme-text-soft);
  --theme-text-on-brand: var(--active-text-on-brand);
  --theme-text-on-brand-soft: var(--active-text-on-brand-soft);
  --theme-text-hero-accent: var(--theme-accent);
  --theme-text-hero-kicker: var(--active-text-hero-kicker);
  --theme-logo-header-src: var(--active-logo-header-src);
  --theme-logo-footer-src: var(--active-logo-footer-src);
  /* Botoes primarios gerais do site: compartilham a mesma familia cromatica do CTA do header. */
  --theme-btn-primary-bg: var(--active-btn-header-bg);
  --theme-btn-primary-bg-hover: var(--active-btn-header-hover);
  --theme-btn-primary-text: var(--active-btn-header-text);
  /* CTA destacado do header: mesma familia cromatica do primario, com uso contextual proprio. */
  --theme-btn-header-bg: var(--active-btn-header-bg);
  --theme-btn-header-bg-hover: var(--active-btn-header-hover);
  --theme-btn-header-text: var(--active-btn-header-text);
  --theme-btn-header-border: var(--active-btn-header-border);
  --theme-btn-secondary-bg: var(--active-btn-secondary-bg);
  --theme-btn-secondary-bg-hover: var(--active-btn-secondary-hover);
  --theme-btn-secondary-border: var(--active-btn-secondary-border);
  --theme-btn-secondary-text: var(--active-btn-secondary-text);
  --theme-btn-secondary-on-dark-bg: var(--active-btn-secondary-on-dark-bg);
  --theme-btn-secondary-on-dark-bg-hover: var(--active-btn-secondary-on-dark-hover);
  --theme-btn-secondary-on-dark-border: var(--active-btn-secondary-on-dark-border);
  --theme-btn-secondary-on-dark-text: var(--active-btn-secondary-on-dark-text);
  --theme-process-step-badge-bg: var(--active-process-step-badge-bg);
  --theme-process-step-badge-text: var(--active-process-step-badge-text);
  --theme-btn-soft-bg: var(--active-btn-soft-bg);
  --theme-btn-soft-bg-hover: var(--active-btn-soft-hover);
  --theme-btn-soft-text: var(--active-btn-soft-text);
  --theme-border-soft: #e1d5de;
  --theme-border-soft-strong: #cfbfd1;
  --theme-border-card: #ebe0e9;
  --theme-border-secondary: var(--theme-btn-secondary-border);
  --theme-border-on-dark: var(--active-compat-border-on-dark);
  --theme-focus-border: var(--theme-brand);
  --theme-focus-ring: #8d5a9a33;
  --theme-focus-outline: #8d5a9a66;
  --theme-shadow-soft: 0 22px 42px #56395d12;
  --theme-shadow-card: 0 20px 40px #56395d16;
  --theme-shadow-button: 0 16px 30px #56395d21;
  --theme-shadow-header: 0 14px 28px #35233a0e;
  --theme-shadow-whatsapp: 0 16px 28px #1fb85530;
  --theme-whatsapp: var(--theme-success);
  --theme-whatsapp-dark: var(--theme-success-dark);

  /* Compatibilidade com o consumo atual */
  /* --theme-bg-primary continua existindo porque o CSS atual ainda consome essa semantica,
   * mas a fonte de verdade do primario agora é o grupo --theme-btn-primary-*.
   */
  --theme-bg-header: var(--theme-bg-header-footer);
  --theme-bg-header-strong: var(--theme-bg-header-footer);
  --theme-bg-primary: var(--theme-btn-primary-bg);
  --theme-bg-primary-hover: var(--theme-btn-primary-bg-hover);
  --theme-bg-secondary: var(--active-compat-bg-secondary);
  --theme-bg-secondary-hover: var(--active-compat-bg-secondary-hover);
  --theme-bg-soft: var(--active-compat-bg-soft);
  --theme-bg-soft-hover: var(--active-compat-bg-soft-hover);
  --theme-bg-soft-quiet: var(--active-compat-bg-soft-quiet);
  --theme-bg-soft-accent: var(--active-compat-bg-soft-accent);
  --theme-brand-08: var(--active-compat-brand-08);
  --theme-brand-12: var(--active-compat-brand-12);
  --theme-accent-12: var(--active-compat-accent-12);
  --theme-accent-35: var(--active-compat-accent-35);
  --theme-accent-72: var(--active-compat-accent-72);
  --theme-white-14: var(--active-compat-white-14);
  --theme-white-18: var(--active-compat-white-18);
  --theme-white-28: var(--active-compat-white-28);
  --theme-white-72: var(--active-compat-white-72);
  --theme-white-92: var(--active-compat-white-92);
  --theme-white-100: var(--active-compat-white-100);
  --theme-text-on-dark: var(--active-compat-text-on-dark);
  --theme-text-on-dark-soft: var(--active-compat-text-on-dark-soft);

  /* Nomenclaturas antigas do projeto */
  --color-plum-900: var(--theme-color-brand-main);
  --color-plum-700: var(--theme-color-brand-strong);
  --color-lilac-300: var(--theme-color-accent);
  --color-lilac-200: var(--theme-brand-light);
  --color-cream-50: var(--theme-bg-page);
  --color-cream-100: var(--theme-bg-page-soft);
  --color-surface: var(--theme-bg-surface);
  --color-ink-900: var(--theme-text-primary);
  --color-ink-600: var(--theme-text-secondary);
  --color-border: var(--theme-border-soft);
  --color-success-whatsapp: var(--theme-whatsapp);
  --shadow-soft: var(--theme-shadow-soft);
  --shadow-card: var(--theme-shadow-card);
}

body[data-theme="warm"] {
  /* Paleta base do tema warm */
  --theme-brand: #8a4e5b;
  --theme-brand-contrast: #6b3944;
  --theme-brand-light: #e8c8be;
  --theme-brand-light-contrast: #ddb2a5;
  --theme-accent: #edd9cf;
  --theme-page: #fbf4ee;
  --theme-page-soft: #f6ece4;
  --theme-surface: #ffffff;
  --theme-text: #4d4044;
  --theme-text-soft: #746468;
  --theme-success: #1fb855;
  --theme-success-dark: #12863c;

  --theme-brand-alpha-quiet: #8a4e5b12;
  --theme-brand-alpha-soft: #8a4e5b1f;
  --theme-brand-alpha-medium: #8a4e5b2e;
  --theme-brand-alpha-strong: #8a4e5b59;
  --theme-accent-alpha-soft: #edd9cf2e;
  --theme-accent-alpha-medium: #edd9cf59;
  --theme-accent-alpha-strong: #edd9cfb8;
  --theme-white-alpha-soft: #ffffff24;
  --theme-white-alpha-medium: #ffffff2e;
  --theme-white-alpha-strong: #ffffff47;
  --theme-white-alpha-elevated: #ffffffb8;
  --theme-white-alpha-high: #ffffffeb;

  /* Mapeamento tonal normal */
  --tone-normal-bg-header-footer: var(--theme-brand);
  --tone-normal-bg-page: var(--theme-page);
  --tone-normal-bg-page-soft: var(--theme-page-soft);
  --tone-normal-bg-surface: var(--theme-surface);
  --tone-normal-bg-surface-muted: #fffffff0;
  --tone-normal-bg-hero-overlay-start: #6b3944cc;
  --tone-normal-bg-hero-overlay-mid: #8a4e5ba6;
  --tone-normal-bg-hero-overlay-end: #edd9cf52;
  --tone-normal-bg-gradient-soft-start: var(--theme-page);
  --tone-normal-bg-gradient-soft-end: var(--theme-page-soft);
  --tone-normal-bg-support-soft: var(--theme-brand-light);
  --tone-normal-bg-support-muted: var(--theme-page-soft);
  --tone-normal-bg-whatsapp-soft: #e4f7eb;
  --tone-normal-text-on-brand: #ffffff;
  --tone-normal-text-on-brand-soft: #ffffffe8;
  --tone-normal-btn-primary-bg: var(--tone-normal-bg-header-footer);
  --tone-normal-btn-primary-hover: var(--theme-brand-contrast);
  --tone-normal-btn-primary-text: #ffffff;
  --tone-normal-btn-header-bg: var(--theme-brand-light);
  --tone-normal-btn-header-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-header-text: var(--theme-brand-contrast);
  --tone-normal-btn-header-border: var(--theme-brand-light);
  --tone-normal-btn-secondary-bg: var(--theme-brand-alpha-soft);
  --tone-normal-btn-secondary-bg-hover: var(--theme-brand-alpha-medium);
  --tone-normal-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-normal-btn-secondary-text: var(--theme-brand-contrast);
  --tone-normal-btn-secondary-on-dark-bg: #ffffff2e;
  --tone-normal-btn-secondary-on-dark-bg-hover: #ffffff47;
  --tone-normal-btn-secondary-on-dark-border: #ffffff8f;
  --tone-normal-btn-secondary-on-dark-text: #ffffff;
  --tone-normal-text-hero-kicker: var(--theme-accent);
  --tone-normal-process-step-badge-bg: var(--tone-normal-btn-primary-bg);
  --tone-normal-process-step-badge-text: #ffffff;
  --tone-normal-logo-header-src: 'assets/images/evolve-123x80.png';
  --tone-normal-logo-footer-src: 'assets/images/evolve-506x327.png';
  --tone-normal-btn-soft-bg: var(--theme-brand-light);
  --tone-normal-btn-soft-bg-hover: var(--theme-brand-light-contrast);
  --tone-normal-btn-soft-text: var(--theme-brand-contrast);
  --tone-normal-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-normal-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-normal-compat-bg-soft: var(--theme-brand-light);
  --tone-normal-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-normal-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-normal-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-normal-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-normal-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-normal-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-normal-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-normal-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-normal-compat-white-14: var(--theme-white-alpha-soft);
  --tone-normal-compat-white-18: var(--theme-white-alpha-medium);
  --tone-normal-compat-white-28: var(--theme-white-alpha-strong);
  --tone-normal-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-normal-compat-white-92: var(--theme-white-alpha-high);
  --tone-normal-compat-white-100: #ffffff;
  --tone-normal-compat-text-on-dark: #ffffff;
  --tone-normal-compat-text-on-dark-soft: #ffffffe0;
  --tone-normal-compat-border-on-dark: #ffffff7d;

  /* Mapeamento tonal invertido */
  --tone-inverted-bg-header-footer: var(--theme-brand-light);
  --tone-inverted-bg-page: #ffffff;
  --tone-inverted-bg-page-soft: var(--theme-page);
  --tone-inverted-bg-surface: var(--theme-surface);
  --tone-inverted-bg-surface-muted: var(--theme-page-soft);
  --tone-inverted-bg-hero-overlay-start: #fbf5efeb;
  --tone-inverted-bg-hero-overlay-mid: #edd9cfb3;
  --tone-inverted-bg-hero-overlay-end: #ffffff57;
  --tone-inverted-bg-gradient-soft-start: #ffffff;
  --tone-inverted-bg-gradient-soft-end: var(--theme-page);
  --tone-inverted-bg-support-soft: var(--theme-accent-alpha-soft);
  --tone-inverted-bg-support-muted: var(--theme-page-soft);
  --tone-inverted-bg-whatsapp-soft: #eef9f2;
  --tone-inverted-text-on-brand: var(--theme-brand-contrast);
  --tone-inverted-text-on-brand-soft: #60343ed9;
  --tone-inverted-btn-primary-bg: var(--theme-brand);
  --tone-inverted-btn-primary-hover: var(--theme-brand-contrast);
  --tone-inverted-btn-primary-text: #ffffff;
  --tone-inverted-btn-header-bg: var(--theme-brand-contrast);
  --tone-inverted-btn-header-bg-hover: var(--theme-brand);
  --tone-inverted-btn-header-text: #ffffff;
  --tone-inverted-btn-header-border: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-bg: #ffffffe0;
  --tone-inverted-btn-secondary-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-border: var(--theme-brand-alpha-strong);
  --tone-inverted-btn-secondary-text: var(--theme-brand-contrast);
  --tone-inverted-btn-secondary-on-dark-bg: #ffffffe0;
  --tone-inverted-btn-secondary-on-dark-bg-hover: #ffffffff;
  --tone-inverted-btn-secondary-on-dark-border: #ffffffb8;
  --tone-inverted-btn-secondary-on-dark-text: var(--theme-brand-contrast);
  --tone-inverted-text-hero-kicker: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-bg: var(--theme-brand-contrast);
  --tone-inverted-process-step-badge-text: #ffffff;
  --tone-inverted-logo-header-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-logo-footer-src: 'assets/images/evolve-logo-dark-on-light.png';
  --tone-inverted-btn-soft-bg: var(--theme-page-soft);
  --tone-inverted-btn-soft-bg-hover: var(--theme-brand-light);
  --tone-inverted-btn-soft-text: var(--theme-brand-contrast);
  --tone-inverted-compat-bg-secondary: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-bg-secondary-hover: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-bg-soft: var(--theme-brand-light);
  --tone-inverted-compat-bg-soft-hover: var(--theme-brand-light-contrast);
  --tone-inverted-compat-bg-soft-quiet: var(--theme-page-soft);
  --tone-inverted-compat-bg-soft-accent: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-brand-08: var(--theme-brand-alpha-soft);
  --tone-inverted-compat-brand-12: var(--theme-brand-alpha-medium);
  --tone-inverted-compat-accent-12: var(--theme-accent-alpha-soft);
  --tone-inverted-compat-accent-35: var(--theme-accent-alpha-medium);
  --tone-inverted-compat-accent-72: var(--theme-accent-alpha-strong);
  --tone-inverted-compat-white-14: var(--theme-white-alpha-soft);
  --tone-inverted-compat-white-18: var(--theme-white-alpha-medium);
  --tone-inverted-compat-white-28: var(--theme-white-alpha-strong);
  --tone-inverted-compat-white-72: var(--theme-white-alpha-elevated);
  --tone-inverted-compat-white-92: var(--theme-white-alpha-high);
  --tone-inverted-compat-white-100: #ffffff;
  --tone-inverted-compat-text-on-dark: var(--theme-brand-contrast);
  --tone-inverted-compat-text-on-dark-soft: #60343ed9;
  --tone-inverted-compat-border-on-dark: var(--theme-brand-alpha-medium);

  /* Modo tonal ativo: NORMAL */
  --active-bg-header-footer: var(--tone-normal-bg-header-footer);
  --active-bg-page: var(--tone-normal-bg-page);
  --active-bg-page-soft: var(--tone-normal-bg-page-soft);
  --active-bg-surface: var(--tone-normal-bg-surface);
  --active-bg-surface-muted: var(--tone-normal-bg-surface-muted);
  --active-bg-hero-overlay-start: var(--tone-normal-bg-hero-overlay-start);
  --active-bg-hero-overlay-mid: var(--tone-normal-bg-hero-overlay-mid);
  --active-bg-hero-overlay-end: var(--tone-normal-bg-hero-overlay-end);
  --active-bg-gradient-soft-start: var(--tone-normal-bg-gradient-soft-start);
  --active-bg-gradient-soft-end: var(--tone-normal-bg-gradient-soft-end);
  --active-bg-support-soft: var(--tone-normal-bg-support-soft);
  --active-bg-support-muted: var(--tone-normal-bg-support-muted);
  --active-bg-whatsapp-soft: var(--tone-normal-bg-whatsapp-soft);
  --active-text-on-brand: var(--tone-normal-text-on-brand);
  --active-text-on-brand-soft: var(--tone-normal-text-on-brand-soft);
  --active-btn-primary-bg: var(--tone-normal-btn-primary-bg);
  --active-btn-primary-hover: var(--tone-normal-btn-primary-hover);
  --active-btn-primary-text: var(--tone-normal-btn-primary-text);
  --active-btn-header-bg: var(--tone-normal-btn-header-bg);
  --active-btn-header-hover: var(--tone-normal-btn-header-bg-hover);
  --active-btn-header-text: var(--tone-normal-btn-header-text);
  --active-btn-header-border: var(--tone-normal-btn-header-border);
  --active-btn-secondary-bg: var(--tone-normal-btn-secondary-bg);
  --active-btn-secondary-hover: var(--tone-normal-btn-secondary-bg-hover);
  --active-btn-secondary-border: var(--tone-normal-btn-secondary-border);
  --active-btn-secondary-text: var(--tone-normal-btn-secondary-text);
  --active-btn-secondary-on-dark-bg: var(--tone-normal-btn-secondary-on-dark-bg);
  --active-btn-secondary-on-dark-hover: var(--tone-normal-btn-secondary-on-dark-bg-hover);
  --active-btn-secondary-on-dark-border: var(--tone-normal-btn-secondary-on-dark-border);
  --active-btn-secondary-on-dark-text: var(--tone-normal-btn-secondary-on-dark-text);
  --active-text-hero-kicker: var(--tone-normal-text-hero-kicker);
  --active-process-step-badge-bg: var(--tone-normal-process-step-badge-bg);
  --active-process-step-badge-text: var(--tone-normal-process-step-badge-text);
  --active-logo-header-src: var(--tone-normal-logo-header-src);
  --active-logo-footer-src: var(--tone-normal-logo-footer-src);
  --active-btn-soft-bg: var(--tone-normal-btn-soft-bg);
  --active-btn-soft-hover: var(--tone-normal-btn-soft-bg-hover);
  --active-btn-soft-text: var(--tone-normal-btn-soft-text);
  --active-compat-bg-secondary: var(--tone-normal-compat-bg-secondary);
  --active-compat-bg-secondary-hover: var(--tone-normal-compat-bg-secondary-hover);
  --active-compat-bg-soft: var(--tone-normal-compat-bg-soft);
  --active-compat-bg-soft-hover: var(--tone-normal-compat-bg-soft-hover);
  --active-compat-bg-soft-quiet: var(--tone-normal-compat-bg-soft-quiet);
  --active-compat-bg-soft-accent: var(--tone-normal-compat-bg-soft-accent);
  --active-compat-brand-08: var(--tone-normal-compat-brand-08);
  --active-compat-brand-12: var(--tone-normal-compat-brand-12);
  --active-compat-accent-12: var(--tone-normal-compat-accent-12);
  --active-compat-accent-35: var(--tone-normal-compat-accent-35);
  --active-compat-accent-72: var(--tone-normal-compat-accent-72);
  --active-compat-white-14: var(--tone-normal-compat-white-14);
  --active-compat-white-18: var(--tone-normal-compat-white-18);
  --active-compat-white-28: var(--tone-normal-compat-white-28);
  --active-compat-white-72: var(--tone-normal-compat-white-72);
  --active-compat-white-92: var(--tone-normal-compat-white-92);
  --active-compat-white-100: var(--tone-normal-compat-white-100);
  --active-compat-text-on-dark: var(--tone-normal-compat-text-on-dark);
  --active-compat-text-on-dark-soft: var(--tone-normal-compat-text-on-dark-soft);
  --active-compat-border-on-dark: var(--tone-normal-compat-border-on-dark);

  /* Semântica real */
  --theme-color-brand-main: var(--theme-brand);
  --theme-color-brand-strong: var(--theme-brand-contrast);
  --theme-color-brand-light: var(--theme-brand-light);
  --theme-color-brand-light-strong: var(--theme-brand-light-contrast);
  --theme-color-accent: var(--theme-accent);
  --theme-bg-page: var(--active-bg-page);
  --theme-bg-page-soft: var(--active-bg-page-soft);
  --theme-bg-surface: var(--active-bg-surface);
  --theme-bg-surface-muted: var(--active-bg-surface-muted);
  --theme-bg-header-footer: var(--active-bg-header-footer);
  --theme-bg-hero-overlay-start: var(--active-bg-hero-overlay-start);
  --theme-bg-hero-overlay-mid: var(--active-bg-hero-overlay-mid);
  --theme-bg-hero-overlay-end: var(--active-bg-hero-overlay-end);
  --theme-bg-gradient-soft-start: var(--active-bg-gradient-soft-start);
  --theme-bg-gradient-soft-end: var(--active-bg-gradient-soft-end);
  --theme-bg-support-soft: var(--active-bg-support-soft);
  --theme-bg-support-muted: var(--active-bg-support-muted);
  --theme-bg-whatsapp-soft: var(--active-bg-whatsapp-soft);
  --theme-text-primary: var(--theme-text);
  --theme-text-secondary: var(--theme-text-soft);
  --theme-text-on-brand: var(--active-text-on-brand);
  --theme-text-on-brand-soft: var(--active-text-on-brand-soft);
  --theme-text-hero-accent: var(--theme-accent);
  --theme-text-hero-kicker: var(--active-text-hero-kicker);
  --theme-logo-header-src: var(--active-logo-header-src);
  --theme-logo-footer-src: var(--active-logo-footer-src);
  /* Botoes primarios gerais do site: compartilham a mesma familia cromatica do CTA do header. */
  --theme-btn-primary-bg: var(--active-btn-header-bg);
  --theme-btn-primary-bg-hover: var(--active-btn-header-hover);
  --theme-btn-primary-text: var(--active-btn-header-text);
  /* CTA destacado do header: mesma familia cromatica do primario, com uso contextual proprio. */
  --theme-btn-header-bg: var(--active-btn-header-bg);
  --theme-btn-header-bg-hover: var(--active-btn-header-hover);
  --theme-btn-header-text: var(--active-btn-header-text);
  --theme-btn-header-border: var(--active-btn-header-border);
  --theme-btn-secondary-bg: var(--active-btn-secondary-bg);
  --theme-btn-secondary-bg-hover: var(--active-btn-secondary-hover);
  --theme-btn-secondary-border: var(--active-btn-secondary-border);
  --theme-btn-secondary-text: var(--active-btn-secondary-text);
  --theme-btn-secondary-on-dark-bg: var(--active-btn-secondary-on-dark-bg);
  --theme-btn-secondary-on-dark-bg-hover: var(--active-btn-secondary-on-dark-hover);
  --theme-btn-secondary-on-dark-border: var(--active-btn-secondary-on-dark-border);
  --theme-btn-secondary-on-dark-text: var(--active-btn-secondary-on-dark-text);
  --theme-process-step-badge-bg: var(--active-process-step-badge-bg);
  --theme-process-step-badge-text: var(--active-process-step-badge-text);
  --theme-btn-soft-bg: var(--active-btn-soft-bg);
  --theme-btn-soft-bg-hover: var(--active-btn-soft-hover);
  --theme-btn-soft-text: var(--active-btn-soft-text);
  --theme-border-soft: #e5d8d7;
  --theme-border-soft-strong: #d5c3c3;
  --theme-border-card: #ecdfde;
  --theme-border-secondary: var(--theme-btn-secondary-border);
  --theme-border-on-dark: var(--active-compat-border-on-dark);
  --theme-focus-border: var(--theme-brand);
  --theme-focus-ring: #8a4e5b33;
  --theme-focus-outline: #8a4e5b66;
  --theme-shadow-soft: 0 22px 42px #5c3c4412;
  --theme-shadow-card: 0 20px 40px #5c3c4417;
  --theme-shadow-button: 0 16px 30px #5c3c4422;
  --theme-shadow-header: 0 14px 28px #38252a0e;
  --theme-shadow-whatsapp: 0 16px 28px #1fb85530;
  --theme-whatsapp: var(--theme-success);
  --theme-whatsapp-dark: var(--theme-success-dark);

  /* Compatibilidade com o consumo atual */
  /* --theme-bg-primary continua existindo porque o CSS atual ainda consome essa semantica,
   * mas a fonte de verdade do primario agora é o grupo --theme-btn-primary-*.
   */
  --theme-bg-header: var(--theme-bg-header-footer);
  --theme-bg-header-strong: var(--theme-bg-header-footer);
  --theme-bg-primary: var(--theme-btn-primary-bg);
  --theme-bg-primary-hover: var(--theme-btn-primary-bg-hover);
  --theme-bg-secondary: var(--active-compat-bg-secondary);
  --theme-bg-secondary-hover: var(--active-compat-bg-secondary-hover);
  --theme-bg-soft: var(--active-compat-bg-soft);
  --theme-bg-soft-hover: var(--active-compat-bg-soft-hover);
  --theme-bg-soft-quiet: var(--active-compat-bg-soft-quiet);
  --theme-bg-soft-accent: var(--active-compat-bg-soft-accent);
  --theme-brand-08: var(--active-compat-brand-08);
  --theme-brand-12: var(--active-compat-brand-12);
  --theme-accent-12: var(--active-compat-accent-12);
  --theme-accent-35: var(--active-compat-accent-35);
  --theme-accent-72: var(--active-compat-accent-72);
  --theme-white-14: var(--active-compat-white-14);
  --theme-white-18: var(--active-compat-white-18);
  --theme-white-28: var(--active-compat-white-28);
  --theme-white-72: var(--active-compat-white-72);
  --theme-white-92: var(--active-compat-white-92);
  --theme-white-100: var(--active-compat-white-100);
  --theme-text-on-dark: var(--active-compat-text-on-dark);
  --theme-text-on-dark-soft: var(--active-compat-text-on-dark-soft);

  /* Nomenclaturas antigas do projeto */
  --color-plum-900: var(--theme-color-brand-main);
  --color-plum-700: var(--theme-color-brand-strong);
  --color-lilac-300: var(--theme-color-accent);
  --color-lilac-200: var(--theme-brand-light);
  --color-cream-50: var(--theme-bg-page);
  --color-cream-100: var(--theme-bg-page-soft);
  --color-surface: var(--theme-bg-surface);
  --color-ink-900: var(--theme-text-primary);
  --color-ink-600: var(--theme-text-secondary);
  --color-border: var(--theme-border-soft);
  --color-success-whatsapp: var(--theme-whatsapp);
  --shadow-soft: var(--theme-shadow-soft);
  --shadow-card: var(--theme-shadow-card);
}

/* Base compartilhada de compatibilidade e utilitários */
body.evolve-home,
body.evolve-service-page,
body.evolve-institutional-page {
  background: var(--theme-bg-page);
  color: var(--theme-text-primary);
}

/* Overrides para neutralizar o legado do Mobirise.
 * A fonte de verdade continua sendo a semântica do tema acima.
 */
.btn-primary,
.btn-primary:active {
  background-color: var(--theme-btn-primary-bg) !important;
  border-color: var(--theme-btn-primary-bg) !important;
  color: var(--theme-btn-primary-text) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
  background-color: var(--theme-btn-primary-bg-hover) !important;
  border-color: var(--theme-btn-primary-bg-hover) !important;
  color: var(--theme-btn-primary-text) !important;
}

.btn-secondary,
.btn-secondary:active {
  background-color: var(--theme-btn-secondary-bg) !important;
  border-color: var(--theme-btn-secondary-border) !important;
  color: var(--theme-btn-secondary-text) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus {
  background-color: var(--theme-btn-secondary-bg-hover) !important;
  border-color: var(--theme-btn-secondary-border) !important;
  color: var(--theme-btn-secondary-text) !important;
}

.bg-primary {
  background-color: var(--theme-color-brand-main) !important;
}

.text-primary {
  color: var(--theme-color-brand-main) !important;
}

.mbr-form .form-control {
  border-color: var(--theme-border-soft);
  color: var(--theme-text-primary);
}

.mbr-form .form-control:focus {
  border-color: var(--theme-focus-border);
  box-shadow: 0 0 0 0.25rem var(--theme-focus-ring);
}
