/* ============================================================
   SIADME — Fuentes servidas por el propio servidor
   ============================================================
   Ninguna pantalla sale a internet a buscar una fuente. Antes venían de
   fonts.googleapis.com y eso tenía dos problemas:

   1. Los iconos son LIGADURAS: en el HTML dice literalmente
      `<i class="icon">event_available</i>` y la fuente lo dibuja. Si la
      fuente no llegó todavía, el navegador muestra LA PALABRA — eso era el
      texto fantasma que cruzaba el inicio por detrás de las tarjetas.
   2. Sin internet no llegan NUNCA: en una PC de la red del PACS, aislada o
      con salida filtrada, TODO el sistema queda con palabras en vez de
      iconos. No es un parpadeo, es permanente.

   Los .woff2 viven en /static/fonts y se sirven por LAN: se bajan una vez,
   quedan cacheados, y son 3 pedidos externos menos por pantalla.

   Quién carga este archivo:
     - Las pantallas de /app → vía `icons.css`, que lo importa.
     - Portal del paciente, portal de médicos, turnos-web y llamador →
       lo linkean directo (no usan icons.css).

   Al agregar una pantalla nueva: NO volver a poner <link> a Google Fonts.
   Si usa `.icon`, alcanza con icons.css; si no, linkear este archivo.
   ============================================================ */

/* ------------------------------------------------------------------
   Iconos — Material Symbols (Outlined y Rounded)
   ------------------------------------------------------------------
   `font-display: block` es a propósito: mientras carga NO se dibuja nada
   en el lugar del icono. Es el único valor que garantiza que jamás se vea
   el nombre de la ligadura; con `swap` o el default, el navegador muestra
   el texto.

   Va el set COMPLETO de iconos, no un subconjunto, porque los iconos del
   menú salen de la BD (`menu_grupo.icono`, `funcionalidad.icono`) y el
   admin los edita: si eligiera uno que no vino en el subconjunto volvería
   a verse la palabra, que es justo el bug que esto arregla. El eje GRAD sí
   quedó afuera — nunca se varía, siempre 0 — y eso baja las dos fuentes de
   9,1 MB a 5,2 MB. Los ejes que SÍ se usan (opsz, wght, FILL) están.

   Los temas arcilla y bento fuerzan Rounded; el resto usa Outlined.
   ------------------------------------------------------------------ */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 300 700;
  font-display: block;
  src: url('../fonts/material-symbols-outlined.woff2') format('woff2');
}
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 300 700;
  font-display: block;
  src: url('../fonts/material-symbols-rounded.woff2') format('woff2');
}

/* ------------------------------------------------------------------
   Clase base de los iconos — NO BORRAR
   ------------------------------------------------------------------
   El CSS que servía Google no traía sólo la fuente: traía también esta
   regla. Las pantallas públicas (turnos-web, portal, portal-medico,
   llamador) usan `<span class="material-symbols-outlined">nombre</span>`
   y NO cargan icons.css, así que dependían de acá para saber con qué
   fuente dibujarse. Al self-hostear las fuentes sin copiar esta regla,
   esas 16 pantallas quedaron mostrando el nombre del icono como texto
   ("arrow_forward" en el botón de turnos-web).

   Es la regla tal cual la servía Google. Las pantallas de /app la pisan
   después con la suya (icons.css importa este archivo, así que lo de allá
   viene después y gana).
   ------------------------------------------------------------------ */
.material-symbols-outlined,
.material-symbols-rounded {
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
.material-symbols-outlined { font-family: 'Material Symbols Outlined'; }
.material-symbols-rounded  { font-family: 'Material Symbols Rounded'; }

/* ------------------------------------------------------------------
   Texto — Inter (portales, turnos-web, llamador) y Plus Jakarta (bento)
   ------------------------------------------------------------------
   Acá sí `font-display: swap`: es texto de verdad, mejor leerlo en la
   fuente del sistema mientras carga que no verlo. Variables (un archivo
   cubre todos los pesos) y sólo los subsets latin y latin-ext.
   ------------------------------------------------------------------ */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/inter-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-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;
}
