/* ============================================================================
   TIPOGRAFÍAS AUTOALOJADAS
   ----------------------------------------------------------------------------
   Cuatro familias, dos papeles:

     GPro           display · licencia comercial del proyecto
     MyPro          texto   · licencia comercial del proyecto

   Y nada más: no queda ninguna reserva autoalojada. Si una de las dos no carga,
   esa pila cae a las fuentes del sistema. La licencia es anual, así que ese es
   hoy el punto único de fallo de toda la tipografía del sitio.

   Ninguna de las dos lleva reserva de web. Para que aun así nada acabe en una
   fuente del sistema por falta de glifo, los huecos de GPro se rellenan con
   MyPro por unicode-range: ver más abajo. MyPro no tiene huecos, así que no
   necesita relleno. La pila de theme.json solo llega al sistema si falla la
   descarga.

   ⚠️ «GPro» y «MyPro» son NOMBRES INTERNOS DEL PROYECTO, no los nombres
   comerciales de esas dos familias. Se sirven así a propósito: los archivos y
   el CSS son públicos, y con el nombre real cualquiera sabría en un minuto qué
   letra usa el diseño. No reintroducir los nombres comerciales en archivos,
   CSS, theme.json, comentarios ni metadatos.

   La correspondencia está en docs/tipografias.md, que vive fuera de app/public
   y por tanto nunca se despliega.

   ⚠️ Esto sube el coste de copiar, no lo impide. La tabla de nombres sigue
   dentro de cada .woff2, y quien sepa de letra reconoce ambas a ojo. Es una
   barrera, no una protección.

   Autoalojadas a propósito: ningún CDN externo recibe la IP del visitante, así
   que las tipografías quedan fuera del consentimiento de cookies. En un sitio
   que trata datos de salud, esto importa.

   ⚠️ Cada cara debe declararse con SU PROPIO nombre. Un @font-face gana a una
   fuente instalada en el sistema que se llame igual, así que reutilizar aquí el
   nombre de otra familia rompe la cascada de theme.json y sirve un archivo bajo
   un nombre que no le corresponde.

   ⚠️ Estas reglas NO pueden vivir en theme.json → settings.typography
   .fontFamilies[].fontFace: WordPress descarta el fontFamily de cada cara y le
   estampa el primer nombre de la pila del padre. Verificado en WP 7.0.4.

   ⚠️ Sin reserva de web en display, la cobertura de GPro es la que hay: lo que
   le falte lo pone una serif del sistema, y el salto se ve a mitad de palabra.

   Comprobado carácter a carácter en el navegador. Cubre castellano, catalán e
   inglés —incluidas ¿ ¡ ñ ç ï ü À Ç Ñ, las comillas tipográficas, los guiones y
   el punt volat (·, U+00B7)— con DOS excepciones:

       €        U+20AC   no está
       ŀ        U+0140   no está (la ele geminada precompuesta)

   Barrido completo el 2026-08-21 sobre 268 puntos de código: GPro cubre los tres
   idiomas, y le faltan 22 signos en redonda y 6 en cursiva —entre ellos € y →,
   que el sitio ya usa—. Ninguno acaba en el sistema: los toma de MyPro.
   ========================================================================= */

/* GPro · display ---------------------------------------------------------- */
@font-face {
  font-family: "GPro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/GPro/GPro-Regular.woff2") format("woff2");
}

/* La cursiva es cara propia, no la redonda inclinada. En una serif de esta
   clase el dibujo cambia, así que sin este @font-face el navegador la inventaba
   y se notaba: el <em> de cualquier titular, de H1 a H6, la usa. */
@font-face {
  font-family: "GPro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/GPro/GPro-Italic.woff2") format("woff2");
}

/* GPro · relleno de huecos, tomado de MyPro -------------------------------
   Desde que display no lleva reserva de web, lo que le falte a GPro lo pondría
   una serif del sistema. Estas dos caras cierran esa puerta: para los puntos de
   código que GPro NO trae, el glifo sale de MyPro.

   Que un símbolo de una serif salga de la sans es una elección; que salga de la
   Georgia de cada máquina es un accidente. No es el caso que se rechazó para la
   cursiva: allí era un alfabeto entero de otra letra, aquí son signos sueltos.

   ⚠️ Los rangos son EXACTAMENTE los huecos medidos en el navegador el
   2026-08-21, cara por cara. No pueden solaparse con lo que GPro sí trae: dos
   @font-face de la misma familia, estilo y grosor con rangos solapados se
   resuelven por orden de declaración, y el último ganaría también donde GPro
   tiene glifo propio.

   Si algún día se sustituye un .woff2 de GPro, hay que volver a medir. El
   método está en docs/tipografias.md, con su control.

   ⚠️ Lo que esto NO arregla: las letras acentuadas de otras lenguas —Ā ĺ Ł š ž—
   saldrán en sans dentro de una palabra en serif, y se nota. No salen en
   castellano, catalán ni inglés, así que hoy no aparecen. Si llegan a hacer
   falta, la solución de verdad es pedir a la fundición un subconjunto de GPro
   más ancho, no ampliar este parche. */
@font-face {
  font-family: "GPro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/MyPro/MyPro-Regular.woff2") format("woff2");
  unicode-range: U+0100-0101, U+0139-013A, U+013F-0142, U+0160-0161, U+017D-017E,
    U+0192, U+2020-2021, U+2030, U+2044, U+20AC, U+2116, U+2190, U+2192, U+2212;
}

@font-face {
  font-family: "GPro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/MyPro/MyPro-Italic.woff2") format("woff2");
  unicode-range: U+0100-0101, U+0139-013A, U+013F-0140, U+2116, U+2190, U+2192;
}

/* MyPro · texto ------------------------------------------------------------
   El sistema define tres pesos: 300, 400 y 500. Las cursivas se declaran para
   el texto editorial que llegará con el blog. El resto de caras del paquete
   —bold, black— no se declaran porque el diseño no las usa; declararlas no
   costaría descargas, pero sí invitaría a usarlas fuera del sistema.

   El 300 entró el 2026-09-03, por decisión de la clienta: el texto sobre fondo
   oscuro va en light. Sobre azul, el 400 pesa demasiado —la letra clara sobre
   fondo oscuro se ve más gruesa de lo que es, y el 300 compensa ese efecto.

   Su cursiva NO se declara: hoy no hay texto en cursiva sobre fondo oscuro. Si
   llega, se añade aquí; sin ella el navegador inclinaría la redonda. */
/* ⚠️ MÉTRICAS VERTICALES DE MyPro, CORREGIDAS AQUÍ. La fuente declara
   ascent 792 / descent 208 (por 1000) y una altura de versal de 700. Con eso,
   el centro de las mayúsculas queda 58 milésimas de em POR ENCIMA del centro
   de la caja de línea: en un botón de 17 px, 1 px alto; Chrome además redondea
   el ascent y se va a 1,5 px. Firefox coloca distinto y disimula. No es un
   fallo de ningún navegador, es la tabla de la fuente (el mismo problema que
   FontForge #3052 con Liberation).

   La cura es declararle al navegador otro reparto, sin tocar el archivo:
   ascent 85 % + descent 15 % = la misma caja de 1 em, con la versal (70 %)
   centrada exactamente: 85 − 35 = 50. Vale para todos los pesos porque todos
   comparten métricas. Medido el 2026-09-16. */
@font-face {
  font-family: "MyPro";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
  src: url("../fonts/MyPro/MyPro-Light.woff2") format("woff2");
}

@font-face {
  font-family: "MyPro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
  src: url("../fonts/MyPro/MyPro-Regular.woff2") format("woff2");
}

@font-face {
  font-family: "MyPro";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
  src: url("../fonts/MyPro/MyPro-Italic.woff2") format("woff2");
}

@font-face {
  font-family: "MyPro";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
  src: url("../fonts/MyPro/MyPro-Medium.woff2") format("woff2");
}

@font-face {
  font-family: "MyPro";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
  src: url("../fonts/MyPro/MyPro-MediumItalic.woff2") format("woff2");
}
