/*
 * CR Typography · Sistema centralizado de tipografia do site
 *
 * Definição única das fontes do design system.
 * Carregado em TODAS as páginas via functions.php.
 *
 * Filosofia (decidida em 01/05/2026):
 *   - Fraunces: títulos editoriais, manchetes, palavras destacadas <em>
 *   - Plus Jakarta Sans: body, UI, navegação, números, h3 pequenos
 *   - JetBrains Mono: códigos, IDs técnicos (uso pontual)
 *
 * As fontes são carregadas via 'cr-header-v7-fonts' (header-v7-loader.php).
 * Este arquivo apenas DEFINE as variáveis e aplica os defaults.
 *
 * Versão: 1.0.0 · 2026-05-01
 */

:root {
    /* === Família · stacks completos === */
    --cr-font-display: 'Fraunces', 'Playfair Display', Georgia, 'Times New Roman', serif;
    --cr-font-body:    'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cr-font-mono:    'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

    /* === Pesos padronizados === */
    --cr-fw-regular: 400;
    --cr-fw-medium:  500;
    --cr-fw-semibold: 600;
    --cr-fw-bold:    700;
    --cr-fw-black:   800;

    /* === Letter-spacing harmonioso === */
    --cr-ls-tight:   -0.025em;
    --cr-ls-snug:    -0.015em;
    --cr-ls-normal:  0;
    --cr-ls-loose:   0.05em;
    --cr-ls-wider:   0.1em;
    --cr-ls-widest:  0.18em;
}

/* === BASE · body usa Plus Jakarta por padrão (sobrescreve Open Sans do Porto) === */
/* Selector com html: prefix vence regra `body { font-family: Open Sans }` do Porto */
html body,
html body.porto-no-fixed-header,
html body.porto-page,
html body.woocommerce-page {
    font-family: var(--cr-font-body);
}

/* === Headings · default Fraunces, exceto se classe explícita === */
/* Note: NÃO usamos !important aqui pra permitir overrides locais */
.cr-display {
    font-family: var(--cr-font-display);
}
.cr-display-italic {
    font-family: var(--cr-font-display);
    font-style: italic;
    font-weight: var(--cr-fw-bold);
}

.cr-body {
    font-family: var(--cr-font-body);
}
.cr-body-bold {
    font-family: var(--cr-font-body);
    font-weight: var(--cr-fw-black);
}

.cr-mono {
    font-family: var(--cr-font-mono);
    font-feature-settings: 'tnum';
}

/* === Heading utility · Fraunces normal 800 institucional === */
.cr-heading {
    font-family: var(--cr-font-display);
    font-style: normal;
    font-weight: var(--cr-fw-black);
    letter-spacing: var(--cr-ls-tight);
    line-height: 1.15;
}

/* === Heading editorial · Fraunces italic 700 charme === */
.cr-heading-editorial {
    font-family: var(--cr-font-display);
    font-style: italic;
    font-weight: var(--cr-fw-bold);
    letter-spacing: var(--cr-ls-snug);
    line-height: 1.2;
}

/* === Number · Plus Jakarta 800 com letter-spacing apertado === */
.cr-number,
.cr-numeric {
    font-family: var(--cr-font-body);
    font-style: normal;
    font-weight: var(--cr-fw-black);
    letter-spacing: var(--cr-ls-snug);
    font-feature-settings: 'tnum';
}
