/* HarpasiosApp3 - Fontes institucionais locais e papeis semanticos. */
@font-face {
    font-family: 'Atkinson Hyperlegible Next';
    src: url('/assets/fonts/atkinson-hyperlegible-next/AtkinsonHyperlegibleNext-Variable.woff2') format('woff2');
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: 'Atkinson Hyperlegible Next';
    src: url('/assets/fonts/atkinson-hyperlegible-next/AtkinsonHyperlegibleNext-Italic-Variable.woff2') format('woff2');
    font-style: italic;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/assets/fonts/playfair-display/PlayfairDisplay-Variable.woff2') format('woff2');
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('/assets/fonts/playfair-display/PlayfairDisplay-Italic-Variable.woff2') format('woff2');
    font-style: italic;
    font-weight: 400 900;
    font-display: swap;
}

:root {
    --font-primary: 'Inter', 'Atkinson Hyperlegible Next', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-brand-title: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-display: var(--font-primary);
    --font-document: var(--font-primary);

    --font-report: var(--font-document);
    --font-pdf: var(--font-document);
    --font-generated-image: var(--font-document);
    --font-mono: ui-monospace, 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}


/* ============================================================
   MOTOR DE RENDERIZAÇÃO TIPOGRÁFICA LINUX-GRADE (FREETYPE / CAIRO)
   Replica no Windows (Chrome/Edge/Firefox) a nitidez e suavidade do Linux:
   1. Stem Darkening (Preenchimento denso e sem serrilhado nos traços)
   2. Suavização em Escala de Cinza (-webkit-font-smoothing: antialiased)
   3. Desativação de sintese de negrito falso (font-synthesis: none)
   4. Optimização de legibilidade vetorial (text-rendering: optimizeLegibility)
   ============================================================ */
*, *::before, *::after {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    font-smooth: always;
}

html {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    font-smooth: always;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    font-synthesis: none;
    font-optical-sizing: auto;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11", "calt" 1, "liga" 1;
}

body,
button,
input,
select,
textarea,
p, span, h1, h2, h3, h4, h5, h6, a, label, div {
    font-family: var(--font-primary);
    font-weight: 400;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility;
    font-synthesis: none;
}


.brand-title,
#brandTitleTarget,
.font-display {
    font-family: var(--font-brand-title);
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.document-font,
.report-font,
.pdf-font,
.generated-image-font,
[data-typography-role='document'],
[data-typography-role='pdf'],
[data-typography-role='generated-image'] {
    font-family: var(--font-document);
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

@media print {
    html,
    body,
    .print-page,
    .report-page,
    [data-typography-role='document'],
    [data-typography-role='pdf'] {
        font-family: var(--font-document);
    }
}
