/**
 * Design tokens do tema Cais.
 * Ver design-tokens.md na raiz do tema para documentação de cada variável.
 */

:root {
	/* Cores — marca */
	--color-primary: #0F766E;
	--color-primary-dark: #0B5E58;
	--color-primary-light: #E6F5F3;

	/* Cor de destaque — segunda cor para distinguir séries de dados (ex:
	   gráfico de Visualizações vs Candidaturas no Painel do Empregador).
	   Nenhuma outra cor do design system atual é suficientemente distinta
	   do teal principal para servir este papel; valor vindo diretamente do
	   mockup aprovado do painel, não inventado.
	   Escurecido de #D9A441 para #8E661C (QA de acessibilidade, 2026-09-02):
	   o mockup original (1.99:1 sobre o fundo #FBF0DC do badge "75%",
	   2.25:1 como texto branco sobre este fundo no badge "Dono" da Equipa)
	   falhava o mínimo WCAG AA (4.5:1). Mesma matiz/saturação (HSL),
	   só a luminosidade reduzida ao ponto exato em que as DUAS utilizações
	   (texto sobre #FBF0DC, e branco sobre este fundo) atingem 4.5:1 —
	   confirmado por cálculo, não adivinhado. */
	--color-accent: #8E661C;

	/* Cores — texto */
	--color-text: #1A1A1A;
	--color-text-secondary: #5B6670;
	/* --color-text-disabled tinha só 2.37:1 sobre branco (QA de
	   acessibilidade, 2026-09-02) — escurecido de #A0AAB0 para #6A7880,
	   mesma matiz/saturação, luminosidade reduzida ao ponto exato de 4.5:1
	   (calculado, não adivinhado). */
	--color-text-disabled: #6A7880;
	/* Nova: cor "muted" usada em timestamps, rodapé, notas — antes
	   hardcoded como #9AAEAA (2.33:1, falhava AA) em 10 ficheiros CSS
	   diferentes, nunca ligada a nenhuma variável partilhada. Consolidada
	   aqui e escurecida para #637B76 (mesma matiz/saturação, 4.5:1 sobre
	   branco) — ver auditoria de contraste, 2026-09-02. */
	--color-text-muted: #637B76;

	/* Cores — superfícies e estado */
	--color-background: #FFFFFF;
	--color-border: #E1E5E8;
	--color-success: #2E7D32;
	--color-error: #C62828;

	/* Tipografia */
	--font-heading: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Espaçamento */
	--space-xs: 0.25rem;
	--space-sm: 0.5rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2.5rem;

	/* Tamanhos de fonte */
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 2rem;

	/* Border-radius */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 16px;
	--radius-pill: 999px;

	/* Sombra */
	--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
	--shadow-header: 0 1px 0 color-mix(in srgb, var(--color-primary) 6%, transparent),
		0 8px 24px -12px color-mix(in srgb, var(--color-primary) 12%, transparent);

	/* Largura máxima de conteúdo — já usada como valor literal (1240px) em
	   jobs-listing.css (.page-hero/.page-layout) e single-job.css
	   (.breadcrumb/.job-header-card/.job-layout); extraída para variável
	   partilhada para as páginas nativas do WP Job Manager (Bug 4,
	   submit-job.css) reutilizarem o mesmo valor sem o repetir às cegas. */
	--container-max-width: 1240px;
}

/*
 * Modo Escuro (v1.93.0) — puramente reatribuição de variáveis de cor,
 * nunca layout/geometria (Regra de Ouro da diretiva). Ativado por
 * assets/js/theme-toggles.js, que aplica data-theme="dark" a <html>
 * (nunca <body>, para o script bloqueante de prevenção de "flash" em
 * <head> — cais_print_dark_mode_fouc_prevention_script(), functions.php
 * — poder correr antes do <body> sequer existir no parser).
 *
 * --color-card NUNCA existe neste tema (confirmado por auditoria, v1.92.0
 * e v1.93.0) — "fundo dos cartões" é sempre --color-background, "fundo da
 * página" é sempre --cais-color-site-bg (Paleta Global, v1.85.0); os dois
 * já são o par de camadas correto para redefinir aqui, nunca uma variável
 * nova e inconsequente.
 *
 * Paleta (Slate, Tailwind) confirmada por cálculo de contraste WCAG, não
 * adivinhada — nunca só as 4 variáveis mencionadas na diretiva original,
 * que deixariam --color-links/--color-text-secondary/--color-text-muted
 * ilegíveis sobre o novo fundo escuro:
 *   texto principal   9.85:1 sobre --color-background (AAA)
 *   títulos          13.98:1 sobre --color-background (AAA)
 *   texto secundário  5.71:1 sobre --color-background (AA)
 *   texto muted       4.56:1 sobre --color-background (AA)
 *   texto disabled    3.07:1 sobre --color-background (isento de AA —
 *                     estado "disabled", mesma exceção já usada nativamente
 *                     em qualquer sistema de design)
 *   links             7.86:1 sobre --color-background (AAA)
 *
 * --color-primary (marca) e --color-primary-light deliberadamente
 * intocados — o teal da marca já lê bem sobre o novo fundo escuro, e
 * --color-primary-contrast (Auto-Contraste, v1.85.1) já garante texto
 * legível em qualquer botão preenchido independentemente do tema.
 */
html[data-theme="dark"] {
	--cais-color-site-bg: #0f172a;
	--color-background: #1e293b;
	--color-text: #cbd5e1;
	--color-heading: #f8fafc;
	--color-border: #334155;
	--color-text-secondary: #94a3b8;
	--color-text-muted: #8291a6;
	--color-text-disabled: #64748b;
	--color-links: #2dd4bf;

	/*
	 * v1.93.1 — --footer-bg (cais_get_footer_inline_css(), functions.php)
	 * é emitida SEMPRE em :root, incondicionalmente (nunca só "quando
	 * difere do default", ao contrário das 6 variáveis da Paleta Global
	 * acima) — por isso nunca era redefinida por este bloco antes de
	 * agora. Especificidade de html[data-theme="dark"] (0-1-1) já vence
	 * :root (0-1-0) sem precisar de !important. --footer-trust-bg
	 * deliberadamente NUNCA tocada aqui — decisão explícita de manter a
	 * faixa "Vagas verificadas..." como um cartão claro intencional
	 * (nunca revista, ao contrário do banner "Nunca perca uma vaga nova",
	 * v1.93.2 — ver jobs-listing.css).
	 */
	--footer-bg: #1e293b;

	/*
	 * v1.93.2 — color-scheme, nunca definido antes em nenhum ficheiro do
	 * tema. Propriedade CSS nativa (não uma custom property): instrui o
	 * browser a desenhar CONTROLOS NATIVOS (<select>, checkboxes,
	 * scrollbars) com a paleta escura do próprio sistema operativo, sem
	 * precisar de estilizar cada um manualmente — confirmado ao vivo que
	 * resolve de imediato os <select> nativos do addon Applications em
	 * "Ver Candidaturas" (nunca tocados por nenhum CSS do tema), que de
	 * outra forma ficariam sempre com o fundo branco nativo do browser,
	 * independentemente de qualquer variável de cor.
	 */
	color-scheme: dark;
}
