/*
 * Material Symbols (Google) AUTOALOJADA.  2026-08-03 (Claude, owner).
 *
 * POR QUE ESTA AQUI. Los iconos de FontAwesome 7 Free solo vienen en `solid`, que es peso 900, y el
 * owner echaba en falta el trazo fino que tiene produccion con la version 4. En FontAwesome eso solo
 * se resuelve pagando Pro (estilos light y thin). Material Symbols lo da gratis porque es una FUENTE
 * VARIABLE: el grosor es un eje que se ajusta desde CSS.
 *
 *   Licencia: Apache 2.0 (autoalojarla es legitimo y sin condiciones)
 *   Iconos:   4.268
 *   Ejes:     wght 100..700 · FILL 0..1 · GRAD -50..200 · opsz 20..48
 *
 * SE SIRVE DESDE NUESTRO APACHE, como pidio el owner: ni una peticion a fonts.gstatic.com. La fuente
 * esta en /asset/Varios/material-symbols/ y este fichero es el unico @font-face.
 *
 * OJO CON EL TAMANO: la fuente variable completa pesa **3,9 MB** porque lleva los 4.268 iconos con
 * todos los ejes. Se cachea una vez por navegador y `font-display: swap` evita que bloquee el pintado,
 * asi que para la prueba del menu es asumible. **Antes de extenderla a todo el portal hay que recortarla
 * a los iconos que se usen de verdad** (`pip install fonttools` y `pyftsubset`): con 30 iconos la fuente
 * baja de 3,9 MB a unos 15 KB. Queda anotado en el backlog; hoy no hay fonttools en la maquina.
 *
 * COMO SE USA:
 *
 *     <span class="ms">local_shipping</span>              <- el NOMBRE del icono va como texto
 *     <span class="ms ms-fino">history</span>             <- trazo fino
 *     <span class="ms ms-relleno">flag</span>             <- relleno
 *
 * El nombre va dentro del elemento porque Material Symbols usa LIGADURAS: la fuente convierte el texto
 * "local_shipping" en su glifo. De ahi el `font-feature-settings: 'liga'`, que es imprescindible: sin
 * el, se veria el nombre escrito en lugar del icono.
 */

@font-face {
    /* 2026-08-04 (Claude, owner) SUBSET con los 73 iconos que el portal usa hoy: 74 KB en vez de
       3,78 MB, el 1,9%. Con la fuente completa se veian los NOMBRES de los iconos encima del menu
       hasta que terminaba de llegar; con 74 KB eso es imperceptible.

       El `unicode-range` es lo que hace esto seguro: el navegador solo usa este fichero para los
       codepoints listados. Si manana se anade un icono que no este en la lista, cae en la segunda
       declaracion —la fuente completa— y se ve igual, solo que tardando mas. El subset acelera lo
       habitual sin romper lo excepcional.

       Al anadir iconos nuevos conviene regenerar el subset con fontTools.subset y su lista. */
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('/asset/Varios/material-symbols/MaterialSymbolsOutlined.subset.woff2') format('woff2-variations');
    unicode-range: U+e04b,U+e0ba,U+e0e6,U+e0eb,U+e146,U+e149,U+e14d,U+e16c,U+e174,U+e1a1,U+e1d5,U+e250,U+e2bf,U+e2c8,U+e30c,U+e330,U+e558,U+e5c3,U+e625,U+e627,U+e63e,U+e640,U+e677,U+e70b,U+e72c,U+e745,U+e746,U+e80c,U+e859,U+e85d,U+e868,U+e873,U+e875,U+e88e,U+e8af,U+e8b3,U+e8b8,U+e8cc,U+e8d4,U+e8e5,U+e943,U+e97a,U+e9ba,U+e9fc,U+ea40,U+ea4d,U+ea67,U+ea77,U+eaa2,U+eaf6,U+eb98,U+ef3a,U+ef3d,U+ef3e,U+ef6e,U+ef73,U+ef76,U+ef7a,U+efd6,U+eff7,U+f083,U+f090,U+f09a,U+f0c0,U+f0c6,U+f0cc,U+f106,U+f10d,U+f15c,U+f1be,U+f233,U+f2da,U+f2db;
}

@font-face {
    /* respaldo: cubre cualquier icono que no este en el subset */
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('/asset/Varios/material-symbols/MaterialSymbolsOutlined.woff2') format('woff2-variations');
}

.ms {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    vertical-align: middle;

    /* imprescindible: sin las ligaduras se leeria el nombre del icono en vez del dibujo */
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* peso del trazo. Se probo 300 y el owner pidio bajar a 200, mas fino aun. Es un solo numero:
       cambiarlo aqui cambia todo el portal, que es la ventaja de una fuente variable. */
    font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;   /* 2026-08-04: el owner pidio probar 200 */
}

/* --- grosores, que es justo lo que FontAwesome cobra en Pro --------------------------------- */
.ms-finisimo { font-variation-settings: 'FILL' 0, 'wght' 100, 'GRAD' 0, 'opsz' 24; }
.ms-fino     { font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24; }
.ms-normal   { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.ms-grueso   { font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24; }

/* relleno (equivalente al 'solid' de FontAwesome) */
.ms-relleno  { font-variation-settings: 'FILL' 1, 'wght' 300, 'GRAD' 0, 'opsz' 24; }

/* --- tamanos, con los mismos nombres que ya usa el portal ----------------------------------- */
.ms-lg { font-size: 1.33em; }
.ms-2x { font-size: 2em; }
.ms-3x { font-size: 3em; }
