/* =====================================================================
   tipografia.css — el único lugar de sustitución de la familia tipográfica.

   Por qué vive separada de tokens.css: tokens.css es "valores literales
   puros" (colores, escalas, espaciado) que no cambian de naturaleza; la
   fuente en cambio arrastra @font-face con archivos físicos en
   wwwroot/fonts/. El día que Amado pida otra tipografía de marca, el
   cambio es reemplazar los .woff2 y esta hoja sola — sin tocar
   tokens.css ni arriesgar los demás valores que sí son estables.
   Ver la nota espejo en tokens.css. sitio.css y el resto de las hojas
   del sitio solo referencian --fuente-titulos / --fuente-texto, nunca
   "Montserrat" en crudo.

   Seis bloques (3 pesos que el sitio realmente usa × latin/latin-ext,
   ver más abajo por qué no hay un cuarto de peso 500) siguen el patrón
   de unicode-range de wiki/src/Wiki.Web/wwwroot/css/fuentes.css: el
   navegador baja latin-ext solo si el texto lo necesita, así que el
   caso común (es-AR) nunca paga ese subset. Sumado a eso, una cara
   puente "Montserrat Respaldo" sin archivo propio (ver más abajo) que
   ajusta las métricas del respaldo local mientras Montserrat carga.
   ===================================================================== */

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/montserrat-400-latin.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;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/montserrat-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* No hay bloque de peso 500: ningún token de tokens.css pide ese peso
   (--peso-normal: 400, --peso-medio: 600, --peso-fuerte/--peso-titular:
   700) y nunca lo pidió — eran 51 KB de dos .woff2 que ninguna regla del
   sitio podía seleccionar. Los archivos siguen en wwwroot/fonts/ porque
   ese directorio no es parte de esta hoja; se borran aparte. */

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/montserrat-600-latin.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;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/montserrat-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/montserrat-700-latin.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;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/montserrat-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Cara puente para el instante entre "no hay Montserrat todavía" y "ya
   cargó": una @font-face sin src de red, apuntada a las fuentes locales
   del sistema (font-display: swap ya cubre esa ventana con el respaldo
   de abajo, pero sin ajuste de métricas esas fuentes son más angostas
   que Montserrat y todo salta de tamaño al terminar de cargar —esto es
   lo que en el navegador se ve como layout shift de texto—). Los tres
   ajustes son el patrón estándar de "font matching" para reducir ese
   salto: se miden a ojo contra Segoe UI, que es lo que primero resuelve
   local() en Windows. */
@font-face {
  font-family: "Montserrat Respaldo";
  src:
    local("Segoe UI"),
    local("Liberation Sans"),
    local("Arial");
  size-adjust: 108%;
  ascent-override: 90%;
  descent-override: 23%;
}

/* Una sola familia de marca para títulos y texto: Amado no tiene una tipografía
   secundaria, así que ambos tokens apuntan a Montserrat con distinto peso (eso
   se resuelve en sitio.css, no acá). "Montserrat Respaldo" va inmediatamente
   después de "Montserrat" —no al final de la pila— porque es la que absorbe
   el salto de tamaño mientras se descarga el woff2 real. Debajo de esa, la
   pila de respaldo sigue incluyendo Liberation Sans y DejaVu Sans a
   propósito: son las que trae el runner Linux del CI, y sin ellas ahí el
   fallback cae en una fuente distinta a la que ve un usuario real en
   Windows/macOS, y la captura de referencia del baseline visual quedaría
   comparando peras con manzanas. */
:root {
  --fuente-titulos: "Montserrat", "Montserrat Respaldo", "Segoe UI", "Liberation Sans",
    "DejaVu Sans", Arial, sans-serif;
  --fuente-texto: "Montserrat", "Montserrat Respaldo", "Segoe UI", "Liberation Sans",
    "DejaVu Sans", Arial, sans-serif;
}
