/* Glotus · Ficha de curso · v2.1 (18/10) · versión HTML y CSS para el sitio (tarjeta del catálogo y página de curso).
   Mismo dibujo que los PNG del campus; el nombre sale del título del curso en WordPress, sin regenerar nada.
   Las dos líneas sobre ink-900, la misma regla; la línea la dicen el rótulo y el color de la regla (decisión de Jorge, 18/10).
   Depende de los tokens del puente (--glotus-*); si no están, los valores literales están al lado. */
.ficha{container-type:inline-size;position:relative;overflow:hidden;width:100%;aspect-ratio:2/1;box-sizing:border-box;padding:6.1cqw 5cqw;display:flex;flex-direction:column;gap:1.8cqw;border-radius:inherit;background:var(--glotus-ink-900,#1C1915);color:var(--glotus-paper,#FAF7F2)}
.ficha.is-cuadrada{aspect-ratio:1;padding:8cqw;gap:2.2cqw}
.ficha *{box-sizing:border-box;margin:0}
.ficha__linea{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500;font-size:max(10px,3.7cqw);letter-spacing:.1em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--glotus-paper,#FAF7F2)}
.ficha.is-cuadrada .ficha__linea{font-size:max(10px,4.4cqw)}
.ficha__regla{display:block;flex:none;height:1cqw;width:14cqw}
.ficha.is-cuadrada .ficha__regla{height:1.3cqw;width:18cqw}
.ficha__nombre{margin-top:auto;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:8.4cqw;line-height:1.04;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}
.ficha.is-cuadrada .ficha__nombre{font-size:10cqw}
/* Nombres largos: hasta 48 caracteres entran en tres líneas al cuerpo base. Por encima, el cuerpo baja un escalón. */
.ficha.is-larga .ficha__nombre{font-size:7cqw}
.ficha.is-cuadrada.is-larga .ficha__nombre{font-size:8.2cqw}
/* Regla de línea: teal-500 para Idiomas, coral-400 para Formación. Color solo en la regla; nunca texto encima. */
.ficha--idiomas .ficha__regla{background:var(--glotus-teal-500,#008989)}
.ficha--formacion .ficha__regla{background:var(--glotus-coral-400,#FB6E5F)}
/* Sitio 1.12.1 (Cowork, 18/10): los cqw del propio .ficha (padding y gap) se resuelven contra el contenedor
   más cercano, no contra la ficha; sin uno, contra la ventana, y el nombre quedaba cortado abajo. El padre de
   cada ficha pasa a ser contenedor, así esos cqw miden lo mismo que la ficha. */
:has(> .ficha){container-type:inline-size}
