/*
 * IEBH — estilos de plantillas
 *
 * PRINCIPIO: estas plantillas NO imponen tipografía. Heredan la del sitio
 * (font-family: inherit en todas partes). Solo controlan escala, peso,
 * espaciado y disposición. Cuando llegue el sistema de diseño, cambiará
 * la tipografía globalmente y estas páginas la seguirán sin tocar nada.
 *
 * ------------------------------------------------------------------
 * COLORES — resuelto el 7 de septiembre de 2026.
 *
 * Ya no son aproximaciones. Los valores se muestrearon píxel a píxel de
 * los archivos del logotipo:
 *
 *     #47151E  el árbol y la palabra «iebh»      14,13:1 sobre el papel
 *     #9B2F4E  la hoja del punto de la «i»        6,77:1
 *     #ED4263  la hoja suelta        3,54:1 — SOLO decorativo, nunca cuerpo
 *
 * El #5e1a2c que había aquí no era de la marca: se dedujo de capturas.
 * Tampoco lo era el #AC2117 del kit heredado. El sitio llegó a tener
 * SIETE rojos distintos y ninguno era el del logo.
 *
 * Y no se fijan a pelo: cada token apunta a la variable global del kit de
 * Elementor, con el valor de marca como reserva. Así el color se cambia en
 * UN sitio —Ajustes del sitio → Colores globales— y estas plantillas lo
 * siguen solas. La reserva es lo que hace que la página se vea bien aunque
 * el kit no esté escrito todavía, que es justo el caso de producción antes
 * del despliegue.
 * ------------------------------------------------------------------
 */

.iebh {
	--iebh-granate: var(--e-global-color-primary, #9B2F4E);
	--iebh-granate-osc: var(--e-global-color-secondary, #47151E);
	--iebh-enlace: var(--e-global-color-primary, #9B2F4E);
	--iebh-tinta: var(--e-global-color-text, #2B2320);
	--iebh-tinta-suave: var(--e-global-color-iebhapagad, #635A56);
	--iebh-linea: var(--e-global-color-iebhlinea, #E8DED9);
	--iebh-fondo-suave: var(--e-global-color-iebhpapel2, #F4EEE6);

	/* Escala de espaciado */
	--iebh-e1: 0.5rem;
	--iebh-e2: 1rem;
	--iebh-e3: 1.75rem;
	--iebh-e4: 3rem;
	--iebh-e5: 5rem;

	color: var(--iebh-tinta);
}

.iebh *,
.iebh *::before,
.iebh *::after {
	box-sizing: border-box;
}

.iebh-envoltura {
	max-width: 1140px;
	margin-inline: auto;
	padding: var(--iebh-e4) var(--iebh-e2) var(--iebh-e5);
}

/* ---------------------------------------------------------------- Tipos */

/*
 * Frase capital en lugar de MAYÚSCULAS: en pāḷi las mayúsculas destruyen
 * los diacríticos que portan el significado (ṃ, ṅ, ṇ, ṭ, ḍ, ḷ). Es la
 * única decisión tipográfica que estas plantillas sí imponen, y hay una
 * razón concreta para ella.
 */
.iebh-titulo {
	font-family: inherit;
	font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 var(--iebh-e2);
	color: var(--iebh-granate);
	text-transform: none;
	text-wrap: balance;
}

.iebh-antetitulo {
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--iebh-tinta-suave);
	margin: 0 0 var(--iebh-e1);
}

.iebh-entradilla {
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
	line-height: 1.6;
	color: var(--iebh-tinta-suave);
	max-width: 46ch;
	margin: 0;
}

.iebh-seccion {
	margin-top: var(--iebh-e5);
}

.iebh-seccion__titulo {
	font-family: inherit;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--iebh-granate);
	text-transform: none;
	margin: 0 0 var(--iebh-e3);
	padding-bottom: var(--iebh-e1);
	border-bottom: 1px solid var(--iebh-linea);
}

.iebh-prosa {
	/*
	 * 56ch, y NO 68ch, aunque el objetivo sean 68 caracteres.
	 *
	 * `ch` NO es un carácter: es el ancho del glifo «0» de la fuente
	 * actual, y en Literata el cero es más ancho que la letra media de
	 * una frase en español.
	 *
	 * CÓMO SE MIDIÓ, porque el primer intento salió mal. Dividir
	 * caracteres entre líneas solo converge en párrafos largos: con dos o
	 * cinco líneas manda cómo cae la última. Así se calibró primero 62ch
	 * y se quedó corto. Lo que vale es medir la CAPACIDAD con la fuente
	 * real ya cargada —`measureText` sobre el propio texto, dividiendo el
	 * ancho de la columna entre el ancho medio de sus caracteres— y
	 * contar las líneas por la ALTURA del párrafo, no por cajas de Range.
	 *
	 * Medido así el 9 de septiembre de 2026, a 1280 px:
	 *   68ch → columna 669 px → capacidad 81–85 caracteres
	 *   62ch → columna 610 px → capacidad 73–77   (borde del rango)
	 *   56ch → columna ~550 px → capacidad ~68    (centro del rango)
	 *
	 * Y la advertencia: la capacidad DEPENDE DEL TEXTO. Dos párrafos en
	 * español, misma anchura y misma fuente, dieron 73 y 77. Perseguir un
	 * número exacto es perseguir ruido; lo que importa es quedarse dentro
	 * de 45–75. Si cambia la tipografía de lectura, hay que volver a
	 * medirlo — este número no se traslada.
	 */
	max-width: 56ch;
	margin-top: var(--iebh-e4);
	font-size: 1.0625rem;
	line-height: 1.75;
}

.iebh-prosa p { margin: 0 0 var(--iebh-e2); }
.iebh-prosa p:last-child { margin-bottom: 0; }
.iebh-prosa em,
.iebh-prosa i { font-style: italic; }

.iebh a { color: var(--iebh-enlace); }
.iebh a:hover { color: var(--iebh-granate-osc); }

/* Foco visible: el tema no siempre lo garantiza. */
.iebh a:focus-visible {
	outline: 2px solid var(--iebh-granate);
	outline-offset: 3px;
	border-radius: 2px;
}

/* -------------------------------------------------------------- Retrato */

.iebh-retrato {
	display: block;
	position: relative;
	overflow: hidden;
	background: var(--iebh-fondo-suave);
	border-radius: 2px;
	aspect-ratio: 1 / 1;
}

.iebh-retrato__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * Monograma: sustituye al retrato cuando no hay foto. Un hueco vacío se
 * lee como un error; unas iniciales se leen como una decisión. Resuelve
 * el caso de Nandisena (BN10.jpg da 404) sin que la página parezca rota.
 */
.iebh-monograma {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: clamp(2rem, 1rem + 5vw, 4rem);
	font-weight: 300;
	letter-spacing: 0.06em;
	color: #fff;
	background: var(--iebh-granate);
}

/* ------------------------------------------------- Cabecera de un maestro */

.iebh-maestro__cabecera {
	display: grid;
	gap: var(--iebh-e4);
	grid-template-columns: 1fr;
	align-items: start;
}

@media (min-width: 700px) {
	.iebh-maestro__cabecera {
		grid-template-columns: minmax(200px, 300px) 1fr;
	}
}

.iebh-maestro__ordenacion {
	font-size: 1rem;
	font-style: italic;
	color: var(--iebh-tinta-suave);
	margin: calc(var(--iebh-e2) * -0.5) 0 var(--iebh-e2);
}

/* ---------------------------------------------------------------- Datos */

.iebh-datos {
	margin: var(--iebh-e3) 0 0;
	padding: 0;
	display: grid;
	gap: var(--iebh-e2);
}

.iebh-datos__par {
	display: grid;
	gap: 2px;
}

.iebh-datos dt {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--iebh-tinta-suave);
	margin: 0;
}

.iebh-datos dd {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
}

/* --------------------------------------------------------------- Listas */

.iebh-lista,
.iebh-enlaces {
	list-style: none;
	margin: 0;
	padding: 0;
}

.iebh-lista__item {
	display: flex;
	flex-wrap: wrap;
	gap: var(--iebh-e1) var(--iebh-e2);
	align-items: baseline;
	justify-content: space-between;
	padding: var(--iebh-e2) 0;
	border-bottom: 1px solid var(--iebh-linea);
}

.iebh-lista__enlace {
	font-size: 1.0625rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.iebh-lista__enlace:hover { text-decoration: underline; }

.iebh-meta {
	display: inline-flex;
	gap: var(--iebh-e1);
	align-items: center;
	font-size: 0.8125rem;
	color: var(--iebh-tinta-suave);
	white-space: nowrap;
}

.iebh-codigo {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
}

.iebh-estado {
	padding: 2px 8px;
	border: 1px solid var(--iebh-linea);
	border-radius: 999px;
	background: var(--iebh-fondo-suave);
}

.iebh-enlaces li { padding: var(--iebh-e1) 0; }

/* -------------------------------------------------------------- Rejilla */

.iebh-rejilla {
	list-style: none;
	margin: var(--iebh-e4) 0 0;
	padding: 0;
	display: grid;
	gap: var(--iebh-e3);
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.iebh .iebh-tarjeta__enlace {
	display: grid;
	gap: var(--iebh-e2);
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.iebh-retrato--tarjeta { aspect-ratio: 4 / 5; }

.iebh-tarjeta__cuerpo {
	display: grid;
	gap: 4px;
	align-content: start;
}

.iebh-tarjeta__nombre {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--iebh-granate);
	text-wrap: balance;
}

.iebh-tarjeta__enlace:hover .iebh-tarjeta__nombre {
	text-decoration: underline;
}

.iebh-tarjeta__afiliacion {
	font-size: 0.875rem;
	color: var(--iebh-tinta-suave);
}

.iebh-tarjeta__bio {
	margin-top: var(--iebh-e1);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--iebh-tinta);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.iebh-tarjeta__enlace:focus-visible {
	outline: 2px solid var(--iebh-granate);
	outline-offset: 4px;
	border-radius: 3px;
}

/* --------------------------------------------------------------- Varios */

.iebh-volver {
	margin-top: var(--iebh-e5);
	padding-top: var(--iebh-e2);
	border-top: 1px solid var(--iebh-linea);
	font-size: 0.9375rem;
}

.iebh-vacio {
	margin-top: var(--iebh-e4);
	color: var(--iebh-tinta-suave);
}

@media (prefers-reduced-motion: reduce) {
	.iebh * {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   CURSOS
   ========================================================================== */

.iebh-curso__cabecera { margin-bottom: var(--iebh-e4); }

.iebh-antetitulo .iebh-codigo,
.iebh-antetitulo .iebh-estado { margin-right: var(--iebh-e1); }

.iebh-curso__maestros {
	margin: calc(var(--iebh-e2) * -0.5) 0 0;
	font-size: 1.0625rem;
}

.iebh-curso__cuerpo {
	display: grid;
	gap: var(--iebh-e4);
	grid-template-columns: 1fr;
	align-items: start;
}

@media (min-width: 860px) {
	.iebh-curso__cuerpo { grid-template-columns: 1fr minmax(260px, 320px); }
	.iebh-curso__lateral { position: sticky; top: var(--iebh-e2); }
}

.iebh-curso__principal .iebh-prosa { margin-top: 0; }

/* El temario suele venir como lista de clases: se le da ritmo. */
.iebh-temario ul,
.iebh-temario ol { padding-left: 1.2em; }
.iebh-temario li { margin-bottom: var(--iebh-e1); }

/* --------------------------------------------------------------- Ficha */

.iebh-ficha {
	padding: var(--iebh-e3);
	background: var(--iebh-fondo-suave);
	border-radius: 3px;
	margin-bottom: var(--iebh-e3);
}

.iebh-ficha .iebh-datos { margin-top: 0; }

.iebh-ficha__titulo {
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--iebh-tinta-suave);
	margin: 0 0 var(--iebh-e2);
}

/*
 * ---------------------------------------------------------------------------
 * ESPECIFICIDAD DE LOS BOTONES  (corregido 28-08-2026)
 *
 * `.iebh a { color: var(--iebh-enlace) }` tiene una clase y un tipo — (0,1,1) —
 * y `.iebh-boton` solo una clase — (0,1,0). Gana la primera, por mucho que la
 * segunda venga después en el archivo. Resultado: el texto del botón salía en
 * rosa enlace sobre fondo granate.
 *
 *     lo que se veía:   #b33a52 sobre #5e1a2c  =  2,19:1
 *     lo que se quería: #ffffff sobre #5e1a2c  = 12,65:1
 *     mínimo WCAG AA para texto normal          =  4,50:1
 *
 * No era un matiz: el botón principal del sitio era casi ilegible, y en :hover
 * empeoraba. Se arregla subiendo la especificidad, no añadiendo !important.
 *
 * 07-09-2026: con los colores de marca reales el botón queda blanco sobre
 * #9B2F4E = 7,22:1, y en hover blanco sobre #47151E = 15,06:1. Ambos AAA.
 *
 * 08-09-2026: la tipografía deja de ser propia. Un botón es INTERFAZ, no
 * lectura, así que toma la familia y el tamaño de la tipografía «accent» del
 * kit, que es la misma que usan los botones de Elementor. Antes convivían dos
 * botones en la misma portada —«Inscribirse» en Literata 15 px y «Ver el
 * catálogo» en Montserrat 13 px— y se notaba.
 * ---------------------------------------------------------------------------
 */

.iebh .iebh-boton {
	display: block;
	margin-top: var(--iebh-e3);
	padding: 14px 24px;
	text-align: center;
	text-decoration: none;
	font-family: var(--e-global-typography-accent-font-family, inherit);
	font-size: var(--e-global-typography-accent-font-size, 0.84375rem);
	font-weight: var(--e-global-typography-accent-font-weight, 600);
	letter-spacing: 0.3px;
	line-height: 1.4;
	min-height: 44px;
	color: #fff;
	background: var(--iebh-granate);
	border-radius: 2px;
}

.iebh .iebh-boton:hover { background: var(--iebh-granate-osc); color: #fff; }

.iebh .iebh-boton--secundario {
	color: var(--iebh-granate);
	background: transparent;
	border: 1px solid var(--iebh-granate);
	margin-top: var(--iebh-e2);
}

.iebh .iebh-boton--secundario:hover { background: #fff; color: var(--iebh-granate-osc); }

.iebh-nota {
	margin: var(--iebh-e2) 0 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--iebh-tinta-suave);
}

/* Maestro en miniatura, en la barra lateral del curso. */
.iebh-mini {
	display: flex;
	gap: var(--iebh-e2);
	align-items: center;
	text-decoration: none;
	color: inherit;
	margin-bottom: var(--iebh-e2);
}

.iebh-mini:last-child { margin-bottom: 0; }

.iebh-retrato--mini {
	flex: 0 0 56px;
	width: 56px;
	border-radius: 50%;
}

.iebh-retrato--mini .iebh-monograma { font-size: 1.125rem; font-weight: 500; }

.iebh-mini__nombre {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--iebh-granate);
}

.iebh-mini:hover .iebh-mini__nombre { text-decoration: underline; }

/* ----------------------------------------------------------- Destacado */

.iebh-destacado {
	margin-top: var(--iebh-e4);
	padding: var(--iebh-e4);
	background: var(--iebh-fondo-suave);
	border-left: 3px solid var(--iebh-granate);
	border-radius: 2px;
}

.iebh-destacado__titulo {
	font-family: inherit;
	font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 var(--iebh-e1);
	text-wrap: balance;
}

.iebh-destacado__titulo a { text-decoration: none; color: var(--iebh-granate); }
.iebh-destacado__titulo a:hover { text-decoration: underline; }

.iebh-destacado__maestros,
.iebh-destacado__fechas {
	margin: 0 0 var(--iebh-e1);
	font-size: 1rem;
	color: var(--iebh-tinta-suave);
}

.iebh-destacado__resumen {
	margin: var(--iebh-e2) 0 0;
	max-width: 60ch;
	line-height: 1.6;
}

.iebh-destacado .iebh-boton { display: inline-block; }

/* ------------------------------------------------------------- Filtros */

.iebh-filtros {
	margin-top: var(--iebh-e4);
	padding-bottom: var(--iebh-e2);
	border-bottom: 1px solid var(--iebh-linea);
	display: grid;
	gap: var(--iebh-e2);
}

.iebh-filtros__grupo {
	display: flex;
	flex-wrap: wrap;
	gap: var(--iebh-e1);
	align-items: baseline;
}

.iebh-filtros__etiqueta {
	flex: 0 0 4.5em;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--iebh-tinta-suave);
}

.iebh-filtro {
	padding: 4px 12px;
	font-size: 0.875rem;
	text-decoration: none;
	color: var(--iebh-tinta);
	border: 1px solid var(--iebh-linea);
	border-radius: 999px;
	background: #fff;
}

.iebh-filtro:hover { border-color: var(--iebh-granate); color: var(--iebh-granate); }

.iebh-filtro--activo {
	color: #fff;
	background: var(--iebh-granate);
	border-color: var(--iebh-granate);
}

.iebh-filtro--activo:hover { color: #fff; }

.iebh-recuento {
	margin: var(--iebh-e3) 0 0;
	font-size: 0.875rem;
	color: var(--iebh-tinta-suave);
}

/* ------------------------------------------------- Tarjetas de curso */

.iebh-rejilla--cursos {
	margin-top: var(--iebh-e2);
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.iebh-tarjeta--curso .iebh-tarjeta__enlace {
	gap: var(--iebh-e1);
	padding: var(--iebh-e3);
	background: #fff;
	border: 1px solid var(--iebh-linea);
	border-radius: 3px;
	align-content: start;
}

.iebh-tarjeta--curso .iebh-tarjeta__enlace:hover { border-color: var(--iebh-granate); }

.iebh-meta--tarjeta { margin-bottom: var(--iebh-e1); }

.iebh-tarjeta__pie {
	margin-top: var(--iebh-e2);
	font-size: 0.8125rem;
	color: var(--iebh-tinta-suave);
}

.iebh-estado--proximo { border-color: var(--iebh-granate); color: var(--iebh-granate); }
.iebh-estado--en_curso { border-color: var(--iebh-granate); color: var(--iebh-granate); }

/* ------------------------------------------------- Imágenes de curso */

/*
 * Las imágenes de curso son ilustrativas, no retratos: manuscritos,
 * templos, caligrafía. Se recortan a una franja ancha para que 42
 * tarjetas de proporciones distintas formen una rejilla regular.
 *
 * 08-09-2026: de 16/9 a 3/2. Medido el 7 de septiembre, el catálogo mezcla
 * originales de 376×219 con otros de 768×1023, y a 16/9 los verticales
 * perdían el 58 % de su altura — normalmente la cabeza de la escultura.
 * A 3/2 la caja es más alta y el recorte muerde bastante menos.
 *
 * `object-position` se deja arriba y no centrado: en fotografía de
 * escultura y de manuscrito lo que importa está en el tercio superior,
 * y un recorte centrado es justo el que decapita.
 */
.iebh-tarjeta__imagen {
	display: block;
	margin: calc(var(--iebh-e3) * -1) calc(var(--iebh-e3) * -1) var(--iebh-e2);
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--iebh-fondo-suave);
	border-radius: 3px 3px 0 0;
}

.iebh-tarjeta__imagen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 30%;
}

/*
 * Banda ancha y baja, con tope de altura. A 21/9 la imagen llenaba la
 * pantalla y empujaba la descripción por debajo del pliegue: en una
 * página cuyo cometido es explicar un curso, la foto no debe mandar
 * sobre el texto.
 */
.iebh-curso__imagen {
	margin: 0 0 var(--iebh-e4);
	aspect-ratio: 3 / 1;
	max-height: 340px;
	overflow: hidden;
	border-radius: 3px;
	background: var(--iebh-fondo-suave);
}

.iebh-curso__imagen img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   EVENTOS  (v1.9.0)
   ========================================================================== */

.iebh-evento__cabecera { margin-bottom: var(--iebh-e3); }

.iebh-zona {
	display: block;
	font-size: 0.8125rem;
	color: var(--iebh-tinta-suave);
}

/* Vídeo incrustado, proporción 16:9 sin trucos de padding. */
.iebh-evento__video {
	margin: var(--iebh-e3) 0 0;
}

.iebh-video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 3px;
	background: var(--iebh-fondo-suave);
}

/*
 * Bloque de fecha de la tarjeta. Un evento se reconoce por cuándo ocurrió
 * antes que por su título, así que la fecha va primero y en grande.
 */
.iebh-tarjeta--evento .iebh-tarjeta__enlace {
	grid-template-columns: auto 1fr;
	gap: var(--iebh-e2);
	align-items: start;
}

.iebh-fechabloque {
	display: grid;
	justify-items: center;
	align-content: center;
	min-width: 64px;
	padding: var(--iebh-e1) var(--iebh-e1) 6px;
	border: 1px solid var(--iebh-linea);
	border-top: 3px solid var(--iebh-granate);
	border-radius: 3px;
	background: #fff;
	line-height: 1.1;
}

.iebh-fechabloque__dia {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--iebh-granate);
}

.iebh-fechabloque__mes {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--iebh-tinta-suave);
}

.iebh-fechabloque__anio {
	font-size: 0.6875rem;
	color: var(--iebh-tinta-suave);
}

.iebh-rejilla--eventos {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

/* Estados propios del evento. */
.iebh-estado--finalizado {
	color: var(--iebh-tinta-suave);
}

.iebh-estado--fecha_pendiente {
	border-style: dashed;
	color: var(--iebh-tinta-suave);
}

.iebh-estado--grabacion {
	border-color: var(--iebh-granate);
	color: var(--iebh-granate);
}

/* --------------------------------------------------- Tema compartido */

.iebh-lista__pie {
	display: block;
	font-size: 0.8125rem;
	color: var(--iebh-tinta-suave);
}

@media (max-width: 480px) {
	.iebh-tarjeta--evento .iebh-tarjeta__enlace {
		grid-template-columns: 1fr;
	}
	.iebh-fechabloque {
		justify-self: start;
		grid-auto-flow: column;
		gap: var(--iebh-e1);
		align-items: baseline;
		min-width: 0;
		padding: 4px var(--iebh-e2);
	}
	.iebh-fechabloque__dia { font-size: 1.125rem; }
}

/* ==========================================================================
   PUBLICACIONES  (v1.10.0)
   ========================================================================== */

/*
 * El título original en pāḷi, bajo el título en español. Va en cursiva y en
 * un tono más suave: es el nombre del texto, no el titular de la página.
 */
.iebh-publicacion__original {
	margin: calc(var(--iebh-e2) * -0.5) 0 var(--iebh-e2);
	font-size: 1.125rem;
	font-style: italic;
	color: var(--iebh-tinta-suave);
}

/* Peso del archivo dentro del botón de descarga. */
.iebh-boton__peso {
	display: inline;
	margin-left: 0.5em;
	font-weight: 400;
	opacity: 0.85;
}

/* Estados de proyecto. Solo «publicado» va en granate: es el que invita. */
.iebh-estado--publicado {
	border-color: var(--iebh-granate);
	color: var(--iebh-granate);
}

.iebh-estado--en_curso,
.iebh-estado--revision {
	color: var(--iebh-tinta-suave);
}

.iebh-tarjeta--publicacion .iebh-tarjeta__afiliacion {
	font-style: italic;
}

/* ==========================================================================
   BLOQUES DE PORTADA  (v1.11.0)
   --------------------------------------------------------------------------
   Los shortcodes se insertan dentro de una página de Elementor, así que cada
   bloque trae su propio espaciado vertical y no da por hecho que exista un
   .iebh-envoltura alrededor. El ancho lo pone el contenedor de Elementor.
   ========================================================================== */

.iebh-bloque {
	margin: var(--iebh-e5) 0;
}

.iebh-bloque:first-child { margin-top: 0; }
.iebh-bloque:last-child  { margin-bottom: 0; }

.iebh-bloque > .iebh-seccion__titulo {
	margin-top: 0;
}

/* La rejilla ya trae margen superior; dentro de un bloque con título sobra. */
.iebh-bloque .iebh-rejilla {
	margin-top: var(--iebh-e3);
}

.iebh-bloque__mas {
	margin: var(--iebh-e3) 0 0;
	font-size: 0.9375rem;
	font-weight: 600;
}

/* El destacado de portada no necesita el margen superior del de catálogo. */
.iebh-bloque--destacado .iebh-destacado {
	margin-top: 0;
}

/* Rejilla de maestros: retratos, así que columnas más estrechas. */
.iebh-rejilla--maestros {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.iebh-tarjeta--maestro .iebh-tarjeta__enlace {
	gap: var(--iebh-e2);
}

/* --------------------------------------------------------------------------
   LOS ENLACES DENTRO DE PROSA SE SUBRAYAN — 9 de septiembre de 2026.

   Medido en la ficha de maestro: el granate `#9B2F4E` sobre el texto del
   cuerpo `#2B2320` da **2,13 : 1**. WCAG permite distinguir un enlace solo
   por el color si ese contraste llega a 3 : 1, y no llega — y `.iebh a:hover`
   solo cambia el tono, así que tampoco había señal al pasar por encima.
   Con lo cual el enlace era invisible para quien no distingue esos dos
   granates, que es exactamente el fallo 1.4.1.

   VA SOLO EN `.iebh-prosa`, Y ESO ES DELIBERADO. En `.iebh-lista` cada
   elemento entero es un enlace y el contexto ya lo dice: subrayar las 41
   entradas de la ficha de un maestro añadiría ruido sin resolver nada, y
   esas ya se subrayan al pasar por encima. La regla es «un enlace dentro de
   una frase se subraya», no «todo enlace se subraya».
   -------------------------------------------------------------------------- */
.iebh-prosa a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.iebh-prosa a:hover {
	text-decoration-thickness: 2px;
}

/* Píldora de filtro activa: el texto se perdía sobre el granate. */
.iebh .iebh-filtros .iebh-filtro--activo,
.iebh .iebh-filtros .iebh-filtro--activo:link,
.iebh .iebh-filtros .iebh-filtro--activo:visited,
.iebh .iebh-filtros .iebh-filtro--activo:hover,
.iebh .iebh-filtros .iebh-filtro--activo:focus {
	color: #fff;
	background: var(--iebh-granate);
	border-color: var(--iebh-granate);
}
/* ---------------------------------------------------------------------
 * Portada · bloque de Maestros — retratos circulares y uniformes
 * ---------------------------------------------------------------------
 *
 * Idea tomada de buddhistinquiry.org: una rejilla de retratos redondos,
 * todos del mismo tamaño, con el nombre centrado debajo. Nada más. Ni
 * su tipografía ni su color: solo la forma.
 *
 * Además arregla un defecto real. Los retratos actuales son 4/5 y los
 * recortes no coinciden entre sí —hay encuadres de grupo y de medio
 * cuerpo mezclados con primeros planos—, así que la fila se ve
 * desordenada. Un círculo con `object-position: top` centra la cara de
 * cualquier encuadre y la rejilla se lee como una sola cosa.
 *
 * Solo afecta al bloque de la portada (.iebh-bloque--maestros). El
 * archivo /maestros/ y las fichas siguen igual.
 *
 * Va AL FINAL de assets/iebh.css.
 */

.iebh-bloque--maestros .iebh-retrato--tarjeta {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	max-width: 180px;
	margin-inline: auto;
}

.iebh-bloque--maestros .iebh-retrato__img {
	object-position: top center;
}

.iebh-bloque--maestros .iebh-tarjeta__cuerpo {
	text-align: center;
	justify-items: center;
}

.iebh-bloque--maestros .iebh-tarjeta__nombre {
	font-size: 1rem;
}

/*
 * Con los retratos acotados a 180px las columnas pueden ser más
 * estrechas, así que caben más por fila sin apretarse.
 */
.iebh-bloque--maestros .iebh-rejilla {
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: var(--iebh-e3);
}

/*
 * El retrato tiene que llenar el círculo, venga la foto como venga.
 *
 * `.iebh-retrato__img` ya pedía `height: 100%`, pero el `img { height:
 * auto }` global del tema le gana por especificidad y la imagen se queda
 * con su proporción natural. En fotos apaisadas eso deja una franja del
 * fondo asomando por abajo —se veía en el retrato de Nandisena, 180×135
 * dentro de un círculo de 180×180—. En las verticales no se notaba
 * porque sobresalen y el círculo las recorta.
 */
.iebh-bloque--maestros .iebh-retrato--tarjeta img.iebh-retrato__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}
