/* ============================================================
   fonts.css — Declarações @font-face do PixManager
   Carrega as fontes localmente (arquivos .woff2 na pasta
   sistema/frontend/assets/fonts/), eliminando dependência do
   Google Fonts. A página funciona sem conexão externa e
   carrega mais rápido por não precisar de requisição extra.

   Fontes usadas no projeto:
   ┌─────────────┬───────────────────────────────────────────┐
   │ Sora        │ Títulos, logotipo, headings (h1/h2/h3)    │
   │ DM Sans     │ Corpo de texto, labels, inputs, parágrafos│
   └─────────────┴───────────────────────────────────────────┘

   Pesos carregados:
   ┌─────────────┬─────────────────────────────────────────────┐
   │ Sora  300   │ Light — raramente usado                      │
   │ Sora  400   │ Regular — texto corrido em headings          │
   │ Sora  600   │ SemiBold — subtítulos de seção               │
   │ Sora  700   │ Bold — títulos principais e logotipo         │
   │ Sora  800   │ ExtraBold — títulos com máximo impacto visual│
   │ DM Sans 300 │ Light — textos muito discretos               │
   │ DM Sans 400 │ Regular — corpo de texto padrão              │
   │ DM Sans 500 │ Medium — labels de formulário                │
   │ DM Sans 600 │ SemiBold — botões e destaques de texto       │
   └─────────────┴─────────────────────────────────────────────┘

   font-display: swap
     O browser renderiza o texto imediatamente com uma fonte
     de fallback (sans-serif) enquanto baixa o .woff2. Quando
     a fonte carrega, o texto troca ("swap") sem bloco de
     renderização — evita o "flash" de tela em branco.

   unicode-range
     Restringe o arquivo de fonte ao subconjunto Latino
     (U+0000–00FF + caracteres especiais comuns), o que inclui
     todos os caracteres usados em português brasileiro (ç, ã,
     é, ú, etc.). O browser só baixa o arquivo se a página
     realmente usar caracteres desse intervalo.
============================================================ */


/* ══════════════════════════════════════════════════════════
   SORA — fonte geométrica para headings e logotipo
   Usada em: .brand-title, section-title, auth-title,
             .card-icon-badge, h1, h2, h3 em todo o sistema
══════════════════════════════════════════════════════════ */

/* Sora 300 — Light: peso mais leve, usado em subtítulos discretos */
@font-face {
  font-family:   'Sora';
  font-style:    normal;
  font-weight:   300;
  font-display:  swap;
  src: url('../fonts/sora-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Sora 400 — Regular: peso normal para texto em headings sem destaque */
@font-face {
  font-family:   'Sora';
  font-style:    normal;
  font-weight:   400;
  font-display:  swap;
  src: url('../fonts/sora-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Sora 600 — SemiBold: subtítulos de seção e destaques de card */
@font-face {
  font-family:   'Sora';
  font-style:    normal;
  font-weight:   600;
  font-display:  swap;
  src: url('../fonts/sora-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Sora 700 — Bold: títulos principais (h1, section-title) e logotipo */
@font-face {
  font-family:   'Sora';
  font-style:    normal;
  font-weight:   700;
  font-display:  swap;
  src: url('../fonts/sora-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Sora 800 — ExtraBold: títulos com máximo impacto visual (hero titles) */
@font-face {
  font-family:   'Sora';
  font-style:    normal;
  font-weight:   800;
  font-display:  swap;
  src: url('../fonts/sora-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ══════════════════════════════════════════════════════════
   DM SANS — fonte humanista sem serifa para corpo de texto
   Usada em: body, inputs, labels, botões, parágrafos,
             valores monetários, badges, toasts e tabelas
══════════════════════════════════════════════════════════ */

/* DM Sans 300 — Light: textos de apoio muito discretos (dicas, rodapés) */
@font-face {
  font-family:   'DM Sans';
  font-style:    normal;
  font-weight:   300;
  font-display:  swap;
  src: url('../fonts/dm-sans-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans 400 — Regular: peso padrão do body, parágrafos e tabelas */
@font-face {
  font-family:   'DM Sans';
  font-style:    normal;
  font-weight:   400;
  font-display:  swap;
  src: url('../fonts/dm-sans-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans 500 — Medium: labels de formulário e navegação secundária */
@font-face {
  font-family:   'DM Sans';
  font-style:    normal;
  font-weight:   500;
  font-display:  swap;
  src: url('../fonts/dm-sans-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans 600 — SemiBold: botões, badges, valores em destaque e links */
@font-face {
  font-family:   'DM Sans';
  font-style:    normal;
  font-weight:   600;
  font-display:  swap;
  src: url('../fonts/dm-sans-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
