/* ============================================================
   TEMA — paleta institucional IFPE e tipografia
   Verde #8CC63F e vermelho #ED1C24 são as cores de marca.
   O vermelho é reservado para acento pontual (ver apresentacao.css);
   nunca usá-lo aqui como cor de bloco grande.
   ============================================================ */

:root {
  /* Cores de marca.
     --ifpe-verde-escuro e --ifpe-vermelho-texto são tons mais
     escuros que os oficiais, calculados para garantir 4,5:1 de
     contraste como texto/fundo — o tom de marca puro (--ifpe-verde,
     --ifpe-vermelho) fica reservado a elementos decorativos
     (bordas, marcadores, ícones) sem exigência de contraste de texto. */
  --ifpe-verde: #8cc63f;
  --ifpe-verde-escuro: #4c6e22;
  --ifpe-verde-claro: #c3e8a0;
  --ifpe-vermelho: #ed1c24;
  --ifpe-vermelho-texto: #c81820;
  --ifpe-vermelho-escuro: #a4131a;

  /* Neutros */
  --preto: #16191c;
  --cinza-900: #1f2428;
  --cinza-700: #3a4147;
  --cinza-500: #6b7278;
  --cinza-300: #c7ccd1;
  --cinza-100: #f0f2f3;
  --branco: #ffffff;

  /* Papéis semânticos — tema claro (padrão) */
  --cor-fundo: var(--branco);
  --cor-fundo-alt: var(--cinza-100);
  --cor-texto: var(--preto);
  --cor-texto-suave: var(--cinza-700);
  --cor-acento: var(--ifpe-vermelho-texto);
  --cor-marca: var(--ifpe-verde-escuro);
  --cor-borda: var(--cinza-300);
  --cor-katex: var(--preto);
  --cor-codigo-fundo: var(--cinza-900);
  --cor-codigo-texto: var(--cinza-100);

  /* Tipografia */
  --fonte-base: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --fonte-mono: "Consolas", "Cascadia Mono", "Courier New", monospace;

  --tamanho-h1: 3rem;
  --tamanho-h2: 2.1rem;
  --tamanho-h3: 1.5rem;
  --tamanho-corpo: 1.15rem;
  --tamanho-nota: 0.95rem;
  --tamanho-codigo: 1rem;
}

/* Variante de slide escuro — aplicada via classe .slide--escuro
   Contraste garantido >= 4.5:1 (branco sobre cinza-900 ~15.6:1) */
.slide--escuro {
  --cor-fundo: var(--cinza-900);
  --cor-fundo-alt: var(--preto);
  --cor-texto: var(--branco);
  --cor-texto-suave: var(--cinza-300);
  --cor-acento: #ff5a60; /* vermelho aclarado para manter contraste em fundo escuro */
  --cor-marca: var(--ifpe-verde-claro);
  --cor-borda: var(--cinza-700);
  --cor-katex: var(--branco);
  --cor-codigo-fundo: #0d1012;
  --cor-codigo-texto: var(--cinza-100);
}

/* Variante escura com verde institucional como fundo pleno,
   usada pontualmente para marcar transição de bloco */
.slide--verde {
  --cor-fundo: var(--ifpe-verde-escuro);
  --cor-fundo-alt: #4c7420;
  --cor-texto: var(--branco);
  --cor-texto-suave: #e4f2d4;
  --cor-acento: #ffd9da;
  --cor-marca: var(--branco);
  --cor-borda: #6ca030;
  --cor-katex: var(--branco);
  --cor-codigo-fundo: #3a5a1c;
  --cor-codigo-texto: var(--cinza-100);
}
