/* ==========================================================================
   TOKENS — Jacson Montenegro | Candidato a Deputado Estadual (BA) | Republicanos 10
   Paleta oficial do Manual de Identidade Visual do Republicanos (pág. 8):
     Verde #009E3D · Azul #005CA9 · Amarelo #FDC300
   Nenhum valor de cor, espaçamento ou tipo deve ser escrito solto fora daqui.
   ========================================================================== */

:root {
  /* ---------- Cor: marca partidária (não alterar, vem do manual) ---------- */
  --azul: #005ca9;
  --verde: #009e3d;
  --amarelo: #fdc300;

  /* ---------- Cor: extensões da campanha ---------- */
  --azul-noite: #021833;   /* fundo dominante das faixas escuras */
  --azul-tinta: #032b52;   /* degradê intermediário */
  --azul-vivo: #0a72c9;    /* realce e foco sobre escuro */
  --azul-claro: #cfe2f5;   /* texto suave sobre escuro */
  --azul-nevoa: #eef4fb;   /* fundo das faixas claras */

  /* Verde acessível: #009E3D tem contraste 3,6:1 com branco e reprova em texto
     normal. Este é o verde usado em botões e links; o outro fica no gráfico. */
  --verde-forte: #007a2f;
  --verde-escuro: #045c26;

  /* O amarelo da marca tem 1,7:1 com o branco: ilegível como texto sobre claro.
     Este é o âmbar usado quando o realce precisa virar TEXTO em fundo claro
     (4,9:1 com o branco e 4,8:1 com a névoa). O #FDC300 continua valendo em fundo
     escuro e em grafismo. */
  --amarelo-escuro: #866900;

  --branco: #ffffff;
  --tinta: #10233c;          /* texto principal sobre claro */
  --tinta-suave: #4b5f79;    /* texto secundário sobre claro */
  --linha: #d9e3ef;          /* bordas sobre claro */
  --linha-escura: rgba(255, 255, 255, 0.16);

  --sucesso: #007a2f;
  --erro: #b3261e;

  /* ---------- Superfícies ---------- */
  --sup-clara: var(--branco);
  --sup-nevoa: var(--azul-nevoa);
  --sup-escura: var(--azul-noite);
  --sup-cartao: var(--branco);
  --sup-cartao-escuro: rgba(255, 255, 255, 0.05);

  /* ---------- Tipografia ---------- */
  --fonte-display: 'Archivo', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --fonte-texto: 'Manrope', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --fonte-serifa: 'Instrument Serif', Georgia, 'Times New Roman', serif;

  /* Escala fluida: min em 360px, max em 1280px */
  --t-micro: 0.75rem;
  --t-mini: clamp(0.8125rem, 0.79rem + 0.11vw, 0.875rem);
  --t-base: clamp(1rem, 0.97rem + 0.14vw, 1.0625rem);
  --t-corpo: clamp(1.0625rem, 1.01rem + 0.24vw, 1.1875rem);
  --t-guia: clamp(1.1875rem, 1.09rem + 0.42vw, 1.4375rem);
  --t-t3: clamp(1.25rem, 1.14rem + 0.49vw, 1.5rem);
  --t-t2: clamp(1.5rem, 1.28rem + 0.98vw, 2.125rem);
  --t-t1: clamp(2rem, 1.56rem + 1.96vw, 3.25rem);
  --t-display: clamp(2.75rem, 1.7rem + 4.65vw, 5.75rem);
  --t-display-xl: clamp(3.25rem, 1.75rem + 6.6vw, 7.5rem);

  --peso-normal: 400;
  --peso-medio: 500;
  --peso-semi: 600;
  --peso-forte: 700;
  --peso-extra: 800;

  /* Larguras do eixo variable do Archivo */
  --larg-condensada: 80;
  --larg-media: 92;
  --larg-normal: 100;

  --entre-linhas-apertado: 0.92;
  --entre-linhas-titulo: 1.08;
  --entre-linhas-texto: 1.65;
  --entre-letras-titulo: -0.015em;
  --entre-letras-etiqueta: 0.16em;

  /* ---------- Ritmo ---------- */
  --e1: 0.25rem;
  --e2: 0.5rem;
  --e3: 0.75rem;
  --e4: 1rem;
  --e5: 1.5rem;
  --e6: 2rem;
  --e7: 3rem;
  --e8: 4rem;
  --e9: 6rem;
  --secao-y: clamp(3.5rem, 2rem + 6.5vw, 7rem);
  --largura-max: 1240px;
  --largura-texto: 68ch;
  --goteira: clamp(1.25rem, 0.9rem + 1.5vw, 2.5rem);

  /* ---------- Forma ---------- */
  --raio-p: 6px;
  --raio-m: 12px;
  --raio-g: 20px;
  --raio-xg: 28px;
  --raio-pilula: 999px;

  --sombra-1: 0 1px 2px rgba(2, 24, 51, 0.06), 0 2px 8px rgba(2, 24, 51, 0.05);
  --sombra-2: 0 4px 12px rgba(2, 24, 51, 0.08), 0 12px 32px rgba(2, 24, 51, 0.08);
  --sombra-3: 0 10px 24px rgba(2, 24, 51, 0.1), 0 28px 64px rgba(2, 24, 51, 0.14);
  --sombra-foco: 0 0 0 3px var(--branco), 0 0 0 6px var(--azul);
  --sombra-foco-escuro: 0 0 0 3px var(--azul-noite), 0 0 0 6px var(--amarelo);

  /* ---------- Movimento ---------- */
  --tempo-rapido: 140ms;
  --tempo-medio: 260ms;
  --tempo-lento: 520ms;
  --curva: cubic-bezier(0.22, 0.61, 0.36, 1);
  --curva-suave: cubic-bezier(0.4, 0, 0.2, 1);

  --topo: 76px;          /* altura do cabeçalho fixo */
  --z-cabecalho: 100;
  --z-menu: 120;
  --z-topo: 130;
}

@media (min-width: 900px) {
  :root { --topo: 88px; }
}

/* Respeita quem pediu menos movimento no sistema operacional */
@media (prefers-reduced-motion: reduce) {
  :root {
    --tempo-rapido: 0ms;
    --tempo-medio: 0ms;
    --tempo-lento: 0ms;
  }
}
