/*
 * vendor/fonts.css
 * Define as famílias tipográficas do projeto sem depender da internet.
 *
 * COMO USAR:
 *   1. Execute setup_assets.py uma vez para baixar os arquivos de fonte.
 *   2. Os @font-face abaixo serão ativados automaticamente assim que
 *      os arquivos existirem em vendor/fonts/.
 *   3. Enquanto os arquivos não existirem, o CSS usa fontes de sistema
 *      que têm aparência idêntica em Windows 11 e macOS 13+.
 *
 * FONTES ORIGINAIS:
 *   - Plus Jakarta Sans  →  usada em títulos, labels e texto geral
 *   - Montserrat         →  usada em badges e elementos de destaque
 */

/* ── Plus Jakarta Sans ────────────────────────────────────────────────── */

/* IMPORTANTE: sem local(). Antes, src começava com local('Plus Jakarta Sans …'),
   o que fazia o navegador usar a fonte INSTALADA no sistema (se existisse) em vez
   do .woff2 do projeto. Como o Mac do designer tinha a fonte instalada e o Windows
   não, cada plataforma renderizava métricas diferentes → layout diferente.
   Usando só url(), TODA plataforma usa exatamente o mesmo arquivo. */

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/PlusJakartaSans-Regular.woff2?v=3') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('fonts/PlusJakartaSans-Medium.woff2?v=3') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('fonts/PlusJakartaSans-SemiBold.woff2?v=3') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/PlusJakartaSans-Bold.woff2?v=3') format('woff2');
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('fonts/PlusJakartaSans-ExtraBold.woff2?v=3') format('woff2');
}

/* ── Fallback com MÉTRICA AJUSTADA (Pilar 3) ──────────────────────────────
   Enquanto a webfont carrega, o navegador mostra esta fonte de sistema.
   Os override abaixo (medidos da própria Plus Jakarta Sans) fazem o Arial
   ocupar EXATAMENTE o mesmo espaço — então quando a webfont entra, NÃO há
   "pulo"/reflow. size-adjust 100% porque Arial e PJS têm largura idêntica. */
@font-face {
    font-family: 'PJS Fallback';
    src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
    size-adjust: 100%;
    ascent-override: 89.1%;
    descent-override: 21.6%;
    line-gap-override: 0%;
}

/* ── Montserrat ───────────────────────────────────────────────────────── */

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('fonts/Montserrat-Medium.woff2?v=3') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/Montserrat-Bold.woff2?v=3') format('woff2');
}

/*
 * ── Fallback de sistema ────────────────────────────────────────────────
 *
 * Se os arquivos .woff2?v=3 ainda não foram baixados, o browser usa
 * estas stacks que têm aparência praticamente idêntica:
 *
 *   'Plus Jakarta Sans' → Aptos (Win 11), SF Pro Text (macOS), etc.
 *   'Montserrat'        → Trebuchet MS (universal)
 *
 * Não é necessário configurar nada — o browser escolhe automaticamente.
 */
