/**
 * Sistema de design "Calor editorial" — único arquivo de tokens consumido
 * por TUDO no plugin (os dois apps React, o widget JS puro da vaga, e a
 * tela de admin). Nada de framework CSS: só custom properties + algumas
 * classes de componente reutilizáveis (.md-*).
 *
 * Regra de ouro: nenhuma cor/tamanho/espaçamento é escrito solto em outro
 * arquivo CSS do plugin — sempre via var(--md-*). Mudar a identidade
 * visual inteira deveria significar mudar só este arquivo.
 */

:root {
	/* ===== Ação e marca ===== */
	--md-terra: #b4552f;
	--md-terra-deep: #9c4526;
	--md-terra-tint: #f7e6da;

	--md-amber: #d9962e;
	--md-amber-tint: #f5efe6;
	--md-amber-text: #875912;

	--md-green: #4e8a5f;
	--md-green-tint: #e8f3eb;
	--md-green-text: #356442;

	--md-red: #bf4030;
	--md-red-tint: #f4e8e7;
	--md-red-text: #7f251a;

	/* ===== Neutros quentes ===== */
	--md-bg: #f7f2ea;
	--md-card: #fffdf9;
	--md-sunken: #f2ead9;
	--md-ink: #362c24;
	/* Escurecido de #7a6d5f pra fechar 4.5:1 (WCAG AA) sobre --md-sunken —
	   antes ficava ~4.3:1, no limite/abaixo do mínimo em textos pequenos
	   (ex: "COBERTURA DE SKILLS", legendas em --md-text-xs). */
	--md-muted: #64584b;
	--md-faint: #99897b;
	--md-line: #e8ddcf;
	--md-line-soft: #f0e8dc;

	/* ===== 9 categorias de anotação =====
	   Geradas em oklch — mesma luminância (62%) e croma (0.12), só o matiz
	   gira. O hex vem primeiro como fallback (navegador sem suporte a
	   oklch ignora a declaração seguinte e fica com o hex); quem suporta
	   usa a oklch por cima. */
	--md-cat-info: #c46761;
	--md-cat-info: oklch( 62% 0.12 25 );

	--md-cat-objetivo: #bd7138;
	--md-cat-objetivo: oklch( 62% 0.12 55 );

	--md-cat-resumo: #a77f19;
	--md-cat-resumo: oklch( 62% 0.12 85 );

	--md-cat-formacao: #7d9034;
	--md-cat-formacao: oklch( 62% 0.12 120 );

	--md-cat-experiencia: #339c6d;
	--md-cat-experiencia: oklch( 62% 0.12 160 );

	--md-cat-habilidades: #009ba3;
	--md-cat-habilidades: oklch( 62% 0.12 200 );

	--md-cat-idiomas: #3e8cc9;
	--md-cat-idiomas: oklch( 62% 0.12 245 );

	--md-cat-certificacoes: #8c76c6;
	--md-cat-certificacoes: oklch( 62% 0.12 295 );

	--md-cat-cursos: #b5689d;
	--md-cat-cursos: oklch( 62% 0.12 340 );

	/* ===== Tipografia ===== */
	--md-font-display: 'Lora', Georgia, serif;
	--md-font-ui: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--md-font-mono: ui-monospace, 'SFMono-Regular', Menlo, monospace;

	/* Escala: 11 / 12.5 / 13.5 / 16 / 21 / 26px (mobile: hero 27px, títulos de card 19px) */
	--md-text-xs: 12px;
	--md-text-sm: 12.5px;
	--md-text-base: 13.5px;
	--md-text-md: 16px;
	--md-text-lg: 21px;
	--md-text-xl: 26px;
	--md-text-hero-mobile: 27px;
	--md-text-card-title-mobile: 19px;

	/* ===== Espaçamento e raio ===== */
	--md-space-1: 4px;
	--md-space-2: 8px;
	--md-space-3: 12px;
	--md-space-4: 16px;
	--md-space-5: 20px;
	--md-space-6: 24px;
	--md-space-7: 28px;

	--md-radius-controle: 9px;
	--md-radius-card: 14px;
	--md-radius-pill: 99px;

	--md-shadow-card: 0 1px 2px rgba( 54, 44, 36, 0.06 ), 0 4px 14px rgba( 54, 44, 36, 0.05 );
}

/* ============================================================
   Componentes base — usados pelos dois apps React + widget + admin
   ============================================================ */

.md-btn-primary,
.md-btn-secondary {
	font-family: var( --md-font-ui );
	font-size: var( --md-text-base );
	font-weight: 600;
	border-radius: var( --md-radius-controle );
	padding: 10px 20px;
	min-height: 44px;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
	/* Essas classes também são usadas em <a> (ex: CTAs do widget de vaga) —
	   sem isso, o link herda sublinhado nativo e vira inline (padding sem
	   efeito de verdade), destoando visualmente de quando é um <button>. */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.md-btn-primary {
	background: var( --md-terra );
	color: #fff;
}

.md-btn-primary:hover:not( :disabled ) {
	background: var( --md-terra-deep );
}

.md-btn-primary:active:not( :disabled ) {
	transform: translateY( 1px );
}

.md-btn-primary:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.md-btn-secondary {
	background: var( --md-card );
	color: var( --md-ink );
	border-color: var( --md-line );
}

.md-btn-secondary:hover:not( :disabled ) {
	border-color: var( --md-terra );
	color: var( --md-terra-deep );
}

.md-btn-secondary:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Botão de correção automática — usa o tint da terra, não a cor sólida
   (é uma ação secundária/utilitária, não a ação primária da tela) */
.md-btn-fix {
	font-family: var( --md-font-ui );
	font-size: var( --md-text-base );
	font-weight: 600;
	border-radius: var( --md-radius-controle );
	padding: 8px 16px;
	min-height: 44px;
	cursor: pointer;
	background: var( --md-terra-tint );
	color: var( --md-terra-deep );
	border: 1px solid transparent;
}

.md-btn-fix:hover:not( :disabled ) {
	border-color: var( --md-terra );
}

.md-btn-fix:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.md-card {
	background: var( --md-card );
	border: 1px solid var( --md-line );
	border-radius: var( --md-radius-card );
	box-shadow: var( --md-shadow-card );
}

/* Badge de severidade textual — a cor NUNCA é o único sinal, o texto
   (Crítico/Atenção/Detalhe) sempre acompanha */
.md-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var( --md-font-ui );
	font-size: var( --md-text-xs );
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 3px 10px;
	border-radius: var( --md-radius-pill );
}

.md-badge--critico {
	background: var( --md-red-tint );
	color: var( --md-red-text );
}

.md-badge--atencao {
	background: var( --md-amber-tint );
	color: var( --md-amber-text );
}

.md-badge--detalhe {
	background: var( --md-line-soft );
	color: var( --md-muted );
}

.md-chip-skill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: var( --md-font-ui );
	font-size: var( --md-text-sm );
	font-weight: 600;
	background: var( --md-green-tint );
	color: var( --md-green-text );
	border-radius: var( --md-radius-pill );
	padding: 4px 12px;
}

.md-tag-nivel {
	display: inline-flex;
	align-items: center;
	font-family: var( --md-font-ui );
	font-size: var( --md-text-xs );
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: var( --md-radius-pill );
	padding: 3px 10px;
}

.md-tag-nivel--essencial {
	background: var( --md-terra-tint );
	color: var( --md-terra-deep );
}

.md-tag-nivel--recomendada {
	background: var( --md-amber-tint );
	color: var( --md-amber-text );
}

.md-tag-nivel--diferencial {
	background: var( --md-line-soft );
	color: var( --md-muted );
}

.md-pill {
	display: inline-block;
	font-family: var( --md-font-ui );
	font-weight: 700;
	font-size: var( --md-text-sm );
	padding: 2px 10px;
	border-radius: var( --md-radius-pill );
}

.md-pill--green {
	background: var( --md-green-tint );
	color: var( --md-green-text );
}

.md-pill--terra {
	background: var( --md-terra-tint );
	color: var( --md-terra-deep );
}

.md-pill--amber {
	background: var( --md-amber-tint );
	color: var( --md-amber-text );
}

.md-pill--neutro {
	background: var( --md-line-soft );
	color: var( --md-muted );
}

/* Link privado (token) — única superfície que usa a fonte monoespaçada */
.md-link-privado {
	font-family: var( --md-font-mono );
	font-size: var( --md-text-sm );
	color: var( --md-muted );
	background: var( --md-sunken );
	border-radius: var( --md-radius-controle );
	padding: 6px 10px;
}

/* Melhor esforço: esconde o título de página grande/centrado que o TEMA
 * (não o plugin) desenha acima do app — ex: um H1 "Currículo" genérico,
 * comum em temas padrão do WordPress, que só ocupa espaço sem servir pra
 * nada aqui (o app já tem seu próprio título/contexto). Cobre os seletores
 * mais comuns; se o template real (Elementor, em produção) usar um
 * diferente, isso não bate com nada e não quebra — precisa validar e
 * ajustar o seletor lá se for o caso.
 */
body:has( #dv-annotator-root ) .entry-title,
body:has( #dv-workspace-root ) .entry-title,
body:has( #dv-annotator-root ) .page-title,
body:has( #dv-workspace-root ) .page-title,
body:has( #dv-annotator-root ) .wp-block-post-title,
body:has( #dv-workspace-root ) .wp-block-post-title {
	display: none;
}
