/* =============================================================
   Tokens
   As cores cruas (--cte-*) vêm de inc/config/palette.php e são
   impressas antes deste arquivo. Aqui elas ganham nome de uso:
   nenhum componente referencia uma cor da marca diretamente,
   sempre um papel (--c-texto, --c-borda, --c-acao).

   Trocar a identidade visual do site é mexer neste arquivo e no
   palette.php — nenhum componente precisa ser tocado.
   ============================================================= */

:root {
	/* Papéis de cor ------------------------------------------- */
	--c-fundo:         var(--cte-surface);
	--c-fundo-alt:     var(--cte-surface-alt);
	--c-fundo-sunk:    var(--cte-surface-sunk);
	--c-fundo-escuro:  var(--cte-ink);

	--c-texto:         var(--cte-ink);
	--c-texto-forte:   var(--cte-ink-strong);
	--c-texto-medio:   var(--cte-ink-medium);
	--c-texto-suave:   var(--cte-ink-soft);
	--c-texto-inverso: var(--cte-surface);

	--c-borda:         var(--cte-line);
	--c-borda-forte:   var(--cte-ink-faint);

	/* Versões em componentes RGB, para uso com opacidade. */
	--c-fundo-escuro-rgb:  var(--cte-ink-rgb);
	--c-texto-inverso-rgb: var(--cte-surface-rgb);

	--c-acao:          var(--cte-brand);
	--c-acao-hover:    var(--cte-brand-hover);
	--c-acao-escura:   var(--cte-brand-dark);
	--c-acao-suave:    var(--cte-brand-wash);
	--c-acao-media:    var(--cte-brand-soft);

	--c-apoio:         var(--cte-accent);
	--c-apoio-hover:   var(--cte-accent-hover);
	--c-apoio-suave:   var(--cte-accent-wash);

	--c-foco:          var(--cte-accent);
	--c-sucesso:       var(--cte-success);
	--c-alerta:        var(--cte-warning);
	--c-erro:          var(--cte-danger);

	/* Tipografia ---------------------------------------------- */
	--fonte: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--t-xs:   0.8125rem;
	--t-sm:   0.9375rem;
	--t-base: 1rem;
	--t-md:   1.125rem;
	--t-lg:   clamp(1.25rem, 0.6vw + 1.1rem, 1.5rem);
	--t-xl:   clamp(1.5rem, 1.2vw + 1.2rem, 2rem);
	--t-2xl:  clamp(1.875rem, 2vw + 1.3rem, 2.75rem);

	--peso-normal: 400;
	--peso-medio:  600;
	--peso-forte:  700;

	--altura-titulo: 1.2;
	--altura-texto:  1.65;

	/* Espaçamento --------------------------------------------- */
	--e-1: 0.25rem;
	--e-2: 0.5rem;
	--e-3: 0.75rem;
	--e-4: 1rem;
	--e-5: 1.5rem;
	--e-6: 2rem;
	--e-7: 3rem;
	--e-8: 4rem;
	--e-9: 6rem;

	/* Medidas ------------------------------------------------- */
	--largura-conteudo: 1160px;
	--largura-texto:    68ch;
	--gutter:           clamp(1rem, 4vw, 2.5rem);

	--raio-sm: 3px;
	--raio:    6px;
	--raio-lg: 12px;

	--sombra-sm: 0 1px 2px rgb(var(--c-fundo-escuro-rgb) / 8%);
	--sombra:    0 2px 10px rgb(var(--c-fundo-escuro-rgb) / 10%);
	--sombra-lg: 0 12px 32px rgb(var(--c-fundo-escuro-rgb) / 14%);

	--transicao: 180ms ease;

	/* Altura de compensação do cabeçalho fixo para âncoras e sticky */
	--altura-cabecalho: clamp(5.25rem, 3vw + 4.25rem, 7.5rem);
}
