/*
 * Escuela Micaélica: estilos propios del tema.
 *
 * Acá va solo lo que theme.json no puede expresar. Reglas:
 *  - Sin resets globales. Lo global (selección, scroll suave, grano) queda
 *    acotado al body del tema: .wp-theme-escuela-micaelica.
 *  - Todo lo demás cuelga de clases con prefijo .em- que ponen las partes de
 *    plantilla y los patrones. Ningún selector toca bloques o markup de plugins.
 *  - Colores, radios y medidas siempre desde las variables que genera theme.json
 *    (--wp--preset--* y --wp--custom--*). Nada de hex sueltos.
 *  - Los patrones usan grupos de flujo normal; el layout (grillas, carrusel,
 *    superposiciones) lo define este archivo para que el editor solo toque texto,
 *    imágenes y enlaces.
 */

/* ── Global, acotado al tema ────────────────────────────── */

html:has(body.wp-theme-escuela-micaelica) {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html:has(body.wp-theme-escuela-micaelica) {
		scroll-behavior: auto;
	}
}

.wp-theme-escuela-micaelica ::selection {
	background: var(--wp--custom--alpha--gold--25);
}

/* Grano de papel: overlay fijo sobre todo el sitio, como en el original. */
.wp-theme-escuela-micaelica::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 50;
	pointer-events: none;
	opacity: 0.05;
	mix-blend-mode: screen;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── Utilidades ─────────────────────────────────────────── */

/* Eyebrow / kicker: mayúsculas chicas con tracking ancho. */
.em-eyebrow {
	margin: 0;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	line-height: normal;
	color: var(--wp--custom--alpha--bone--40);
}

.has-ink-background-color .em-eyebrow,
.has-night-background-color .em-eyebrow,
.em-hero .em-eyebrow {
	color: var(--wp--custom--alpha--bone--45);
}

.em-hero .em-eyebrow {
	color: var(--wp--custom--alpha--bone--50);
}

/* Regla dorada corta: estilo de bloque del Separador ("Regla dorada"). */
.wp-block-separator.is-style-em-rule,
.em-rule {
	width: 36px;
	height: 1px;
	margin: 0 auto 24px;
	border: 0;
	background: var(--wp--custom--alpha--gold--60);
	opacity: 1;
}

/* Formas: arco de medio punto y relleno absoluto. */
.em-arch,
.em-arch img {
	border-radius: var(--wp--custom--radius--arch);
	overflow: hidden;
}

.em-arch-flat,
.em-arch-flat img {
	border-radius: var(--wp--custom--radius--arch-flat);
	overflow: hidden;
}

.em-arch img,
.em-arch-flat img {
	width: 100%;
	display: block;
}

.em-fill {
	position: absolute;
	inset: 0;
	margin: 0;
}

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

/* Entrada editorial: solo oculta cuando hay JavaScript (html.em-js). */
.em-js .em-reveal {
	opacity: 0;
	transform: translateY(24px);
}

.em-js .em-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition:
		opacity 900ms var(--wp--custom--easing--editorial) var(--em-delay, 0ms),
		transform 900ms var(--wp--custom--easing--editorial) var(--em-delay, 0ms);
}

/* ── Botón píldora con aro (estilos de bloque del Botón) ── */

.wp-block-button.is-style-em-pill .wp-block-button__link,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 56px;
	padding: 8px 60px 8px 32px;
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.2;
	transition:
		color var(--wp--custom--duration--slow),
		background-color var(--wp--custom--duration--slow);
}

/* El rótulo no cambia en hover: el acento lo hace el aro. */
.wp-block-button.is-style-em-pill .wp-block-button__link:not(.has-background):hover,
.wp-block-button.is-style-em-pill .wp-block-button__link:not(.has-background):focus {
	background-color: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--night);
}

.wp-block-button.is-style-em-pill .wp-block-button__link.has-bone-background-color:hover,
.wp-block-button.is-style-em-pill .wp-block-button__link.has-bone-background-color:focus {
	background-color: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-em-pill-ghost .wp-block-button__link,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link:hover,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link:focus {
	min-height: 40px;
	padding: 0 52px 0 0;
	background: transparent;
	color: var(--wp--preset--color--bone);
}

/* Aro */
.wp-block-button.is-style-em-pill .wp-block-button__link::before,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	box-sizing: border-box;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid var(--wp--preset--color--gold);
	transition: background-color var(--wp--custom--duration--slow);
}

/* Flecha ↗ */
.wp-block-button.is-style-em-pill .wp-block-button__link::after,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: background-color var(--wp--custom--duration--slow);
}

.wp-block-button.is-style-em-pill-ghost .wp-block-button__link::before {
	right: 0;
}

.wp-block-button.is-style-em-pill-ghost .wp-block-button__link::after {
	right: 12px;
}

.wp-block-button.is-style-em-pill .wp-block-button__link:hover::before,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link:hover::before {
	background-color: var(--wp--preset--color--gold);
}

.wp-block-button.is-style-em-pill .wp-block-button__link:hover::after,
.wp-block-button.is-style-em-pill-ghost .wp-block-button__link:hover::after {
	background-color: var(--wp--preset--color--night);
}

/* ── Cabecera ───────────────────────────────────────────── */

/*
 * Logo del sitio: alto fijo y ancho libre, así sirve tanto para el logotipo
 * horizontal de Templanzi como para la insignia de San Miguel. El estilo
 * "Redondeado" del bloque recorta en círculo, como en el original.
 */
.em-header .wp-block-site-logo img,
.em-footer .wp-block-site-logo img {
	height: 48px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
}

.em-header .wp-block-site-logo.is-style-rounded img,
.em-footer .wp-block-site-logo.is-style-rounded img {
	width: 48px;
	border-radius: var(--wp--custom--radius--pill);
	object-fit: cover;
}

.em-header .wp-block-site-title {
	white-space: nowrap;
}

.em-header .wp-block-navigation a:where(:not(.wp-element-button)) {
	color: var(--wp--custom--alpha--bone--70);
	transition: color var(--wp--custom--duration--fast);
}

.em-header .wp-block-navigation a:where(:not(.wp-element-button)):hover,
.em-header .wp-block-navigation .current-menu-item > a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--bone);
}

/* Página actual: subrayada en oro, como en el original. */
.em-header .wp-block-navigation .current-menu-item > a:where(:not(.wp-element-button)) {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
	text-underline-offset: 6px;
}

/* Minicarrito y Cuenta de cliente de WooCommerce, si se agregan a la cabecera desde el editor. */
.em-header .wc-block-mini-cart__button,
.em-header .wc-block-customer-account__account-link {
	color: var(--wp--custom--alpha--bone--70);
	transition: color var(--wp--custom--duration--fast);
}

.em-header .wc-block-mini-cart__button:hover,
.em-header .wc-block-customer-account__account-link:hover {
	color: var(--wp--preset--color--bone);
}

.em-header .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--ink);
	border: 0;
}

/* ── Cuenta en la cabecera ──────────────────────────────── */

/*
 * "Mi cuenta" con sesión iniciada: el desplegable con el nombre, los accesos (Panel alumno, Mis
 * cursos, Panel docente, El Tablero) y "Cerrar sesión" que suma inc/woocommerce.php. Se abre con
 * hover y con el teclado (:focus-within); en pantallas táctiles lo abre theme.js (clase
 * is-abierto). El relleno de arriba de .em-cuenta__menu es invisible y cubre el espacio entre el
 * enlace y el panel, para que el hover no se corte al bajar el mouse.
 */
.em-header .em-cuenta {
	position: relative;
}

.em-header .wc-block-customer-account__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wp--custom--alpha--bone--70);
	transition: color var(--wp--custom--duration--fast);
}

.em-header .wc-block-customer-account__link:hover,
.em-header .em-cuenta:hover .wc-block-customer-account__link,
.em-header .em-cuenta.is-abierto .wc-block-customer-account__link {
	color: var(--wp--preset--color--bone);
}

/* Flecha chica a la derecha del rótulo: indica que hay más opciones. */
.em-header .em-cuenta .wc-block-customer-account__link::after {
	content: "";
	width: 6px;
	height: 6px;
	margin: -3px 0 0 4px;
	border-right: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	transform: rotate(45deg);
	transition: transform var(--wp--custom--duration--fast), margin var(--wp--custom--duration--fast);
}

.em-header .em-cuenta:hover .wc-block-customer-account__link::after,
.em-header .em-cuenta:focus-within .wc-block-customer-account__link::after,
.em-header .em-cuenta.is-abierto .wc-block-customer-account__link::after {
	margin-top: 3px;
	transform: rotate(-135deg);
}

.em-cuenta__menu {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 40;
	padding-top: 12px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition:
		opacity var(--wp--custom--duration--fast),
		transform var(--wp--custom--duration--fast),
		visibility 0s linear var(--wp--custom--duration--fast);
}

.em-cuenta:hover .em-cuenta__menu,
.em-cuenta:focus-within .em-cuenta__menu,
.em-cuenta.is-abierto .em-cuenta__menu {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition-delay: 0s;
}

.em-cuenta__panel {
	display: flex;
	flex-direction: column;
	min-width: 220px;
	padding: 8px;
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

.em-cuenta__quien {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 8px 12px 12px;
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
	font-family: var(--wp--preset--font-family--sans);
	white-space: nowrap;
}

.em-cuenta__quien span {
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-cuenta__quien strong {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	color: var(--wp--preset--color--bone);
}

.em-cuenta__item {
	display: block;
	margin-top: 2px;
	padding: 9px 12px;
	border-radius: var(--wp--custom--radius--input);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--bone);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--wp--custom--duration--fast), color var(--wp--custom--duration--fast);
}

.em-cuenta__item:hover,
.em-cuenta__item:focus-visible {
	background: var(--wp--preset--color--field);
	color: var(--wp--preset--color--gold);
	outline: none;
}

.em-cuenta__quien + .em-cuenta__item {
	margin-top: 6px;
}

/* "Cerrar sesión" separado de los accesos por un filete. */
.em-cuenta__item--salir {
	position: relative;
	margin-top: 13px;
	color: var(--wp--custom--alpha--bone--70);
}

.em-cuenta__item--salir::before {
	content: "";
	position: absolute;
	top: -7px;
	right: 4px;
	left: 4px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
}

/* Botón de contorno de la cabecera ("Ingresar"). */
.em-header .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--bone);
	border: 1px solid var(--wp--custom--alpha--bone--30);
	padding: 10px 24px;
	font-size: var(--wp--preset--font-size--sm);
	white-space: nowrap;
	transition:
		background var(--wp--custom--duration--slow),
		color var(--wp--custom--duration--slow);
}

.em-header .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
}

/*
 * El original oculta el menú central bajo 900px. El bloque Navegación solo
 * pasa a menú desplegable bajo 600px, así que entre 600 y 1080 se extiende ese
 * comportamiento: se esconde la lista y se muestra el botón de abrir. Hasta el
 * 30 de septiembre de 2026 el corte era 900px; con "Templanzi" el menú tiene seis
 * ítems y por debajo de 1080px no entra en una línea junto al logo y la cuenta.
 */
/*
 * Con más especificidad que las reglas del bloque, porque en las páginas que
 * dibuja Tutor (curso, cursos, panel) el CSS del bloque se imprime después del
 * del tema y, a igual peso, ganaba: el menú no se plegaba.
 */
@media (min-width: 600px) and (max-width: 1080px) {
	.em-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.em-header .wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: flex;
	}
}

/* Entre 1081 y 1180px el menú entra en una línea con un poco menos de aire entre ítems. */
@media (min-width: 1081px) and (max-width: 1180px) {
	.em-header .wp-block-navigation {
		gap: 28px;
	}
}

@media (max-width: 900px) {
	.em-header {
		padding-top: 14px !important;
		padding-right: 20px !important;
		padding-bottom: 14px !important;
		padding-left: 20px !important;
	}

	.em-header .wp-block-site-title {
		font-size: 17px;
	}

	.em-header .wp-block-site-logo img {
		width: 40px;
		height: 40px;
	}
}

/*
 * En las landings nada separa el contenido del borde superior: la cabecera
 * flota y la portada arranca pegada arriba. Esto anula la separación entre
 * bloques que WordPress pone al contenido por venir después de la cabecera.
 */
.em-landing > * {
	margin-block-start: 0;
}

/*
 * La cabecera flota sobre la portada y se vuelve sólida al bajar. El
 * !important hace falta porque la clase de color de fondo que genera
 * WordPress para el bloque (has-ink-background-color) también lo lleva.
 */
.em-landing .em-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 40;
	background-color: transparent !important;
	transition: background-color var(--wp--custom--duration--slow);
}

.em-landing .em-header.is-solid {
	background-color: var(--wp--custom--alpha--ink--96) !important;
}

.admin-bar .em-landing .em-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .em-landing .em-header {
		top: 46px;
	}
}

/* ── Cabecera mínima ────────────────────────────────────── */

.em-header-minimo__logo {
	margin: 0;
}

.em-header-minimo__logo img {
	max-width: 60vw;
	height: auto;
}

@media (max-width: 600px) {
	.em-header-minimo {
		padding: 18px 20px !important;
	}
}

.em-main-minimo {
	padding-top: 48px;
	padding-bottom: 96px;
}

/* ── Pie de página ──────────────────────────────────────── */

.em-footer {
	border-top: 1px solid var(--wp--custom--alpha--gold--20);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--alpha--bone--40);
}

.em-footer .wp-block-site-title {
	color: var(--wp--preset--color--bone);
}

.em-footer__title {
	margin: 0;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--caps);
}

.em-footer__columns a:where(:not(.wp-element-button)) {
	color: var(--wp--custom--alpha--bone--62);
}

.em-footer__columns a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--gold);
}

.em-footer__copyright {
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--custom--alpha--bone--40);
}

/* ── Portada ────────────────────────────────────────────── */

.em-hero {
	position: relative;
	height: 200vh; /* recorrido de scroll de 100vh (antes 200vh); el script se adapta solo */
	background: var(--wp--preset--color--night);
}

/* La tarjeta va pegada al borde superior: marco solo a los lados y abajo. */
.em-hero__sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	box-sizing: border-box;
	padding: 0 16px 16px;
	display: flex;
}

.em-hero__card {
	position: relative;
	flex: 1;
	border-radius: 0 0 var(--wp--custom--radius--card) var(--wp--custom--radius--card);
	overflow: hidden;
	background: var(--wp--preset--color--ink);
}

.em-hero__video {
	position: absolute;
	inset: 0;
	margin: 0;
}

.em-hero__video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.em-hero__card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--preset--gradient--velo-hero);
	pointer-events: none;
}

.em-hero__text {
	position: absolute;
	inset: 0;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	text-align: center;
	padding: clamp(40px, 6vw, 64px);
	box-sizing: border-box;
	will-change: opacity, transform;
}

.em-hero__text--b {
	padding: clamp(40px, 6vw, 72px);
	opacity: 0;
	pointer-events: none;
}

.em-hero__text > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.em-hero__mark {
	margin-bottom: 28px;
}

.em-hero__mark img {
	width: clamp(150px, 15vw, 220px);
	height: auto;
}

.em-hero__mark.is-style-rounded img {
	border-radius: var(--wp--custom--radius--pill);
}

.em-hero__text .em-eyebrow {
	margin-bottom: 20px;
}

.em-hero__text--b .em-eyebrow {
	margin-bottom: 16px;
}

.em-hero__title {
	margin-bottom: 24px;
	color: var(--wp--preset--color--bone);
	line-height: var(--wp--custom--leading--display);
	white-space: nowrap;
}

.em-hero__lead {
	margin-bottom: 40px;
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.65;
	max-width: var(--wp--custom--measure--lead);
}

.em-hero__title-b {
	margin-bottom: 20px;
	color: var(--wp--preset--color--bone);
	font-size: clamp(2.4rem, 4.5vw, 3.75rem);
	line-height: var(--wp--custom--leading--display);
}

.em-hero__lead-b {
	margin-bottom: 36px;
	color: var(--wp--custom--alpha--bone--70);
	font-size: 17px;
	line-height: 1.65;
	max-width: var(--wp--custom--measure--lead-b);
}

@media (max-width: 720px) {
	.em-hero__title {
		white-space: normal;
		font-size: clamp(2.4rem, 11vw, 3.2rem);
	}

	.em-hero__mark {
		margin-bottom: 20px;
	}

	.em-hero__mark img {
		width: clamp(110px, 30vw, 150px);
	}
}

/* ── Linaje ─────────────────────────────────────────────── */

.em-linaje {
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-linaje__grid {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) 3fr;
	gap: 32px;
	align-items: center;
}

.em-linaje__grid > * {
	margin-block-start: 0;
}

.em-linaje__label {
	margin: 0;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.65;
}

.em-linaje__viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
	mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.em-linaje__strip {
	display: flex;
	width: max-content;
	animation: em-linaje 34s linear infinite;
}

.em-linaje__track {
	display: flex;
	width: max-content;
}

.em-linaje__track > * {
	margin: 0 36px;
	flex-shrink: 0;
	white-space: nowrap;
	color: var(--wp--custom--alpha--bone--55);
}

/*
 * Muestrario tipográfico del linaje. El original mezclaba ocho fuentes del
 * sistema; acá se conservan los pesos, itálicas, tracking y tamaños sobre la
 * serif del sitio (el quinto ítem va en la sans, como el Helvetica original).
 */
.em-linaje__track > :nth-child(8n + 1) { font-style: italic; letter-spacing: 0.02em; font-size: 18px; }
.em-linaje__track > :nth-child(8n + 2) { font-weight: 500; letter-spacing: 0.06em; font-size: 17px; }
.em-linaje__track > :nth-child(8n + 3) { letter-spacing: 0.01em; font-size: 19px; }
.em-linaje__track > :nth-child(8n + 4) { font-weight: 600; letter-spacing: 0.16em; font-size: 14px; text-transform: uppercase; }
.em-linaje__track > :nth-child(8n + 5) { font-family: var(--wp--preset--font-family--sans); font-weight: 500; letter-spacing: -0.01em; font-size: 16px; }
.em-linaje__track > :nth-child(8n + 6) { letter-spacing: 0.03em; font-size: 18px; }
.em-linaje__track > :nth-child(8n + 7) { letter-spacing: 0.04em; font-size: 17px; }
.em-linaje__track > :nth-child(8n + 8) { font-weight: 600; letter-spacing: 0.14em; font-size: 15px; text-transform: uppercase; }

@keyframes em-linaje {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.em-linaje__strip {
		animation: none;
	}
}

@media (max-width: 780px) {
	.em-linaje__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* ── Manifiesto ─────────────────────────────────────────── */

.em-manifiesto__intro {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 64px;
	align-items: start;
	margin-bottom: 80px;
}

.em-manifiesto__intro > *,
.em-manifiesto__intro .wp-block-group > * {
	margin-block-start: 0;
}

.em-manifiesto__title {
	margin: 0 0 32px;
	line-height: 1.02;
}

.em-manifiesto__statement {
	margin: 0;
	color: var(--wp--custom--alpha--bone--70);
	line-height: var(--wp--custom--leading--statement);
	text-wrap: pretty;
}

.em-manifiesto__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}

.em-manifiesto__cards > * {
	margin-block-start: 0;
}

.em-manifiesto__wide {
	grid-column: span 2;
	min-width: 0;
	position: relative;
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
	min-height: 26rem;
}

.em-manifiesto__wide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--custom--alpha--ink--45);
}

.em-manifiesto__wide-body {
	position: absolute;
	inset: 0;
	z-index: 1;
	padding: 36px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.em-manifiesto__wide-body > * {
	margin: 0;
}

.em-manifiesto__wide .em-manifiesto__card-title {
	color: var(--wp--preset--color--bone);
}

.em-manifiesto__wide-text {
	color: var(--wp--custom--alpha--bone--70);
	max-width: var(--wp--custom--measure--card-wide);
	line-height: 1.65;
}

.em-manifiesto__card {
	min-height: 26rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.em-manifiesto__card > * {
	margin: 0;
}

.em-manifiesto__card-title {
	letter-spacing: var(--wp--custom--tracking--display);
	line-height: normal;
}

.em-manifiesto__card-text {
	color: var(--wp--custom--alpha--bone--60);
	line-height: 1.65;
}

@media (max-width: 900px) {
	.em-manifiesto__wide {
		grid-column: span 1;
		min-height: 22rem;
	}

	.em-manifiesto__intro {
		gap: 40px;
		margin-bottom: 56px;
	}
}

/* ── Salas (carrusel) ───────────────────────────────────── */

.em-salas__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 48px;
}

.em-salas__header > *,
.em-salas__header .wp-block-group > * {
	margin-block-start: 0;
}

.em-salas__header .em-eyebrow {
	margin-bottom: 12px;
}

.em-salas__title {
	margin: 0;
	line-height: var(--wp--custom--leading--display);
}

.em-rail__controls {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.em-rail__arrow {
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid var(--wp--custom--alpha--bone--20);
	background: transparent;
	color: var(--wp--preset--color--bone);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color var(--wp--custom--duration--slow);
}

.em-rail__arrow:hover {
	border-color: var(--wp--preset--color--bone);
}

.em-rail {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 8px;
}

.em-rail::-webkit-scrollbar {
	display: none;
}

.em-rail > * {
	width: 22rem;
	flex-shrink: 0;
	scroll-snap-align: start;
	margin-block-start: 0;
}

.em-rail__card > * {
	margin-block-start: 0;
}

.em-rail__frame {
	margin: 0;
	filter: grayscale(15%);
	transition:
		filter var(--wp--custom--duration--slower),
		transform var(--wp--custom--duration--slower);
}

.em-rail__card:hover .em-rail__frame {
	filter: grayscale(0);
	transform: scale(1.04);
}

.em-rail__title {
	margin: 24px 0 0;
	letter-spacing: var(--wp--custom--tracking--display);
	line-height: normal;
}

.em-rail__title a {
	color: var(--wp--preset--color--bone);
}

.em-rail .wp-block-separator.is-style-em-rule {
	width: 40px;
	margin: 12px 0;
	background: var(--wp--custom--alpha--gold--40);
}

.em-rail__text {
	margin: 0;
	color: var(--wp--custom--alpha--bone--40);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

@media (max-width: 600px) {
	.em-rail > * {
		width: 78vw;
	}

	.em-salas__header {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ── Método ─────────────────────────────────────────────── */

.em-metodo__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	gap: 48px;
	align-items: start;
}

.em-metodo__grid > *,
.em-metodo__col > * {
	margin-block-start: 0;
}

.em-metodo__col {
	padding-right: clamp(0px, 4vw, 64px);
	padding-top: 16px;
}

.em-metodo__col .em-eyebrow {
	margin-bottom: 12px;
}

.em-metodo__title {
	margin: 0 0 24px;
	line-height: 1;
}

.em-metodo__intro {
	margin: 0 0 48px;
	color: var(--wp--custom--alpha--bone--62);
	max-width: var(--wp--custom--measure--intro);
	line-height: 1.65;
}

.em-steps > * {
	margin-block-start: 0;
}

.em-step {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
	padding: 20px 0;
}

.em-step:last-child {
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-step > * {
	margin-block-start: 0;
}

.em-step__num {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--gold);
}

.em-step__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
	letter-spacing: normal;
	line-height: normal;
}

.em-step__text {
	margin: 0;
	color: var(--wp--custom--alpha--bone--40);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

.em-metodo__panel {
	position: relative;
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
	min-height: min(46rem, 80vh);
}

.em-metodo__panel::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--preset--gradient--velo-panel);
}

.em-metodo__panel-body {
	position: absolute;
	inset: 0;
	z-index: 1;
	padding: 48px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
}

.em-metodo__panel-body > * {
	margin-block-start: 0;
}

.em-metodo__panel-title {
	margin: 0 0 16px;
	color: var(--wp--preset--color--bone);
}

.em-metodo__panel-text {
	margin: 0 0 28px;
	color: var(--wp--custom--alpha--bone--70);
	max-width: var(--wp--custom--measure--panel);
	line-height: 1.65;
}

@media (max-width: 600px) {
	.em-metodo__panel-body {
		padding: 28px;
	}
}

/* ── Antología ──────────────────────────────────────────── */

.em-antologia__header {
	text-align: center;
	margin-bottom: 64px;
}

.em-antologia__header > * {
	margin-block-start: 0;
}

.em-antologia__title {
	margin: 0 0 16px;
	line-height: var(--wp--custom--leading--display);
}

.em-antologia__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.em-antologia__grid > * {
	margin-block-start: 0;
}

.em-obra {
	position: relative;
	border-radius: var(--wp--custom--radius--card-sm);
	overflow: hidden;
	border: 1px solid var(--wp--custom--alpha--bone--08);
	aspect-ratio: 4 / 5;
}

.em-obra::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--custom--alpha--night--55);
	transition: background var(--wp--custom--duration--slower);
}

.em-obra:hover::after {
	background: var(--wp--custom--alpha--night--35);
}

.em-obra__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 28px;
	box-sizing: border-box;
}

.em-obra__body > * {
	margin-block-start: 0;
}

.em-obra__title {
	margin: 0;
	line-height: 1.3;
	letter-spacing: normal;
	color: var(--wp--preset--color--bone);
}

.em-obra .wp-block-separator.is-style-em-rule {
	width: 44px;
	margin: 12px 0;
	background: var(--wp--custom--alpha--gold--50);
}

.em-obra__meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}

.em-obra__meta > * {
	margin: 0;
}

.em-obra__author {
	text-transform: uppercase;
	font-size: 0.7rem;
	letter-spacing: var(--wp--custom--tracking--caps);
	color: var(--wp--custom--alpha--bone--45);
}

.em-obra__century {
	font-size: 0.7rem;
	color: var(--wp--custom--alpha--bone--45);
	white-space: nowrap;
}

.em-antologia__footer {
	display: flex;
	justify-content: center;
	margin-top: 56px;
}

/* ── Quiénes ────────────────────────────────────────────── */

/* La grilla es el Query Loop del tipo de contenido "Profesores". */
.em-quienes__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 64px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-quienes__grid > *,
.em-quienes__grid .wp-block-post > * {
	margin-block-start: 0;
}

.em-quienes__empty {
	color: var(--wp--custom--alpha--bone--62);
	font-style: italic;
}

/* Retratos a color, con el mismo tono apagado del retrato del fundador en el Inicio. */
.em-persona__portrait {
	margin: 0;
	max-width: 24rem;
	filter: sepia(0.22) saturate(0.85) contrast(1.03);
}

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

.em-persona__name {
	margin: 28px 0 6px;
	letter-spacing: var(--wp--custom--tracking--display);
	line-height: normal;
}

.em-persona__role {
	margin: 0 0 16px;
	color: var(--wp--custom--alpha--bone--40);
	font-size: var(--wp--preset--font-size--sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.em-persona__bio {
	margin: 0;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
	max-width: var(--wp--custom--measure--text);
}

.em-persona__bio > * {
	margin-block-start: 0;
	margin-block-end: 12px;
}

.em-persona__bio > :last-child {
	margin-block-end: 0;
}

/* ── Llamado final ──────────────────────────────────────── */

.em-cta__card {
	max-width: 48rem;
	margin: 0 auto;
	border-radius: var(--wp--custom--radius--arch-flat);
	padding: 96px 48px;
	text-align: center;
}

.em-cta__card > * {
	margin-block-start: 0;
}

.em-cta__title {
	margin: 0 0 20px;
	line-height: 1.05;
}

.em-cta__text {
	margin: 0 auto 40px;
	color: var(--wp--custom--alpha--bone--60);
	line-height: 1.65;
	max-width: var(--wp--custom--measure--text);
}

@media (max-width: 600px) {
	.em-cta__card {
		padding: 64px 28px;
	}
}

/* ── Novedades (newsletter) ─────────────────────────────── */

/*
 * La tarjeta de cierre con la suscripción (patrón "Novedades"): el formulario "Novedades" de
 * Contact Form 7, un campo de correo y el botón en una línea. Los campos, el botón y los
 * mensajes toman el estilo de .em-form (más abajo); acá va solo la disposición.
 */
.em-news {
	max-width: 30rem;
	margin: 0 auto 18px;
}

.em-news__campos {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: start;
	text-align: left;
}

.em-news__campo {
	display: block;
}

.em-news .em-form__submit {
	width: auto;
	height: 46px;
	margin-top: 0;
	padding: 0 26px;
	white-space: nowrap;
}

.em-news__legal a {
	color: var(--wp--preset--color--gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.em-news__legal a:hover {
	color: var(--wp--preset--color--bone);
}

@media (max-width: 520px) {
	.em-news__campos {
		grid-template-columns: 1fr;
	}

	.em-news .em-form__submit {
		width: 100%;
	}
}

/* ── Próximamente (sitio cerrado al público) ────────────── */

/*
 * templates/coming-soon.html reemplaza la plantilla "Próximamente" de WooCommerce mientras el sitio
 * no está abierto (WooCommerce → Ajustes → Visibilidad del sitio). Pantalla única, sin cabecera
 * ni pie: logo, título, la suscripción a las novedades y el acceso del equipo.
 */
.em-proximamente {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100svh;
	padding: 64px 24px;
	background: var(--wp--preset--gradient--vela), var(--wp--preset--color--night);
	text-align: center;
}

.em-proximamente > * {
	width: 100%;
	margin-block: 0;
}

.em-proximamente > .em-proximamente__logo {
	width: auto;
	margin-bottom: 36px;
}

.em-proximamente__logo img {
	width: clamp(200px, 40vw, 260px);
	height: auto;
}

.em-proximamente > .em-eyebrow {
	margin-bottom: 18px;
}

.em-proximamente > .em-proximamente__titulo {
	margin-bottom: 20px;
	line-height: 1.05;
}

.em-proximamente > .em-proximamente__texto {
	max-width: var(--wp--custom--measure--text);
	margin-bottom: 36px;
	color: var(--wp--custom--alpha--bone--60);
	line-height: 1.65;
	text-wrap: pretty;
}

.em-proximamente > .em-news {
	margin-bottom: 18px;
}

.em-proximamente > .em-proximamente__acceso {
	margin-top: 48px;
	font-size: var(--wp--preset--font-size--sm);
}

.em-proximamente__acceso a {
	color: var(--wp--custom--alpha--bone--45);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.em-proximamente__acceso a:hover {
	color: var(--wp--preset--color--gold);
}

/* ── Página de formulario ───────────────────────────────── */

.em-form-card {
	max-width: 56rem;
	margin: 0 auto;
	box-sizing: border-box;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	padding: clamp(32px, 5vw, 56px);
}

.em-form-card > * {
	margin-block-start: 0;
}

.em-form__intro {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	margin-bottom: 40px;
}

.em-form__intro > * {
	margin-block-start: 0;
}

.em-form__photo {
	margin: 0;
}

.em-form__intro-body,
.em-form__comunidad-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.em-form__intro-body > *,
.em-form__comunidad-body > * {
	margin: 0;
}

.em-form__title {
	font-weight: 500;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: normal;
}

.em-form__text {
	color: var(--wp--custom--alpha--bone--70);
	line-height: 1.7;
}

.em-form__text strong {
	color: var(--wp--preset--color--bone);
	font-weight: 600;
}

.em-form__comunidad {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	margin-bottom: 40px;
}

.em-form__comunidad > * {
	margin-block-start: 0;
}

.em-form__comunidad-title {
	font-weight: 500;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: normal;
}

/* Marco de celular para el video del grupo. */
.em-phone {
	position: relative;
	width: min(190px, 80%);
	aspect-ratio: 9 / 19;
	margin: 0 auto;
	border: 10px solid var(--wp--custom--color--device);
	border-radius: var(--wp--custom--radius--device);
	background: var(--wp--custom--color--device);
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--dispositivo);
}

.em-phone__video {
	position: absolute;
	inset: 0;
	margin: 0;
}

.em-phone__video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 30px;
	display: block;
}

.em-form-card .wp-block-separator.is-style-em-rule {
	margin: 0 auto 32px;
}

.em-form__form-title {
	margin: 0 0 32px;
	font-weight: 500;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	line-height: normal;
}

/* Formulario de inscripción (Contact Form 7 con el HTML propio de la plantilla). */
.em-form {
	margin-bottom: 24px;
}

.em-form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.em-form .wpcf7-form > * {
	margin: 0;
}

.em-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.em-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.em-form__label {
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--70);
}

.em-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.em-form .wpcf7-form-control:not(.wpcf7-submit) {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	color: var(--wp--preset--color--bone);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
}

.em-form .wpcf7-form-control:not(.wpcf7-submit):focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
}

.em-form .wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--wp--preset--color--ember);
}

.em-form__phone {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 12px;
}

.em-form .em-form__prefix {
	padding: 0 8px;
	text-align: center;
	color: var(--wp--custom--alpha--bone--62);
}

.em-form__submit {
	width: 100%;
	margin-top: 8px;
	padding: 18px;
	border: 0;
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: var(--wp--custom--tracking--submit);
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--wp--custom--duration--base);
}

.em-form__submit:hover {
	background: var(--wp--preset--color--bone);
}

.em-form__submit:disabled,
.em-form .wpcf7-form.submitting .em-form__submit {
	opacity: 0.65;
	cursor: default;
}

.em-form .wpcf7-spinner {
	display: none;
}

/* Campo trampa para bots: fuera de pantalla, sin tabulación. */
.em-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.em-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: var(--wp--preset--font-size--label);
	color: var(--wp--preset--color--ember);
}

/* Mensajes de resultado: verde en éxito, rojo en error. Sin el recuadro de Contact Form 7. */
.em-form .wpcf7 .wpcf7-response-output {
	margin: 0;
	padding: 0;
	border: 0;
	text-align: center;
	font-size: var(--wp--preset--font-size--md);
	font-weight: 600;
	color: var(--wp--preset--color--ember);
}

.em-form .wpcf7 form.sent .wpcf7-response-output {
	color: var(--wp--custom--color--success);
}

@media (max-width: 520px) {
	.em-form__row {
		grid-template-columns: 1fr;
	}
}

.em-form__legal {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--wp--custom--alpha--bone--62);
}

@media (max-width: 720px) {
	.em-form__intro,
	.em-form__comunidad {
		grid-template-columns: 1fr;
	}

	.em-form__photo img {
		aspect-ratio: 4 / 3 !important;
	}

	.em-form__comunidad-body {
		text-align: center;
	}

	.em-phone {
		width: min(240px, 80%);
	}
}

/* ── Clase ──────────────────────────────────────────────── */

.em-clase {
	max-width: 38rem;
	margin: 0 auto;
}

.em-clase > * {
	margin-block-start: 0;
}

.em-clase .wp-block-separator.is-style-em-rule {
	margin: 0 auto 24px;
}

.em-clase .wp-block-separator.em-clase__rule-wide {
	margin-bottom: 48px;
}

.em-clase__title {
	margin: 0 0 16px;
	font-weight: 500;
	font-size: clamp(1.7rem, 3vw, 2.1rem);
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: normal;
}

.em-clase__intro {
	margin: 0 auto 24px;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.7;
	max-width: var(--wp--custom--measure--text);
}

.em-clase__lesson {
	margin: 0 0 6px;
	font-size: 22px;
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: normal;
}

.em-clase__kicker {
	margin: 0 0 20px;
	letter-spacing: var(--wp--custom--tracking--caps);
}

/* Player: hueco del video de la clase, con el círculo de reproducción. */
.em-player {
	position: relative;
	background: var(--wp--preset--color--ink);
	aspect-ratio: 16 / 10;
	color: var(--wp--custom--alpha--bone--85);
}

.em-player::before,
.em-player::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
}

.em-player::before {
	width: 72px;
	height: 72px;
	margin: -36px 0 0 -36px;
	box-sizing: border-box;
	border-radius: var(--wp--custom--radius--pill);
	border: 1px solid var(--wp--custom--alpha--gold--70);
	transition: background-color var(--wp--custom--duration--slow);
}

.em-player::after {
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -9px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.em-player:hover::before {
	background-color: var(--wp--custom--alpha--gold--15);
}

.em-player__caption {
	position: absolute;
	left: 20px;
	bottom: 16px;
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--55);
}

.em-formaciones {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 48px;
}

.em-formaciones > * {
	margin-block-start: 0;
}

.em-formacion {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 6px 18px;
	align-items: center;
	padding: 24px 28px;
	transition: background var(--wp--custom--duration--base);
}

.em-formacion > * {
	margin: 0;
	grid-column: 2;
}

/* Ícono a la izquierda y chevron a la derecha, en oro y currentColor. */
.em-formacion::before,
.em-formacion::after {
	content: "";
	grid-row: 1 / span 2;
	background-color: var(--wp--preset--color--gold);
}

.em-formacion::before {
	grid-column: 1;
	width: 20px;
	height: 20px;
}

.em-formacion::after {
	grid-column: 3;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.em-formacion--anual::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M12 2v20M2 12h20M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M12 2v20M2 12h20M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") center / contain no-repeat;
}

.em-formacion--rapido::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M12 3v18M8 7l4-4 4 4M8 17l4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M12 3v18M8 7l4-4 4 4M8 17l4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.em-formacion--biblioteca::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cellipse cx='12' cy='12' rx='5' ry='9'/%3E%3Cpath d='M12 3v18'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Cellipse cx='12' cy='12' rx='5' ry='9'/%3E%3Cpath d='M12 3v18'/%3E%3C/svg%3E") center / contain no-repeat;
}

.em-formacion--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--custom--alpha--bone--60);
}

.em-formacion--dark:hover {
	background: var(--wp--preset--color--night);
}

.em-formacion--light {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--custom--alpha--gold--45);
	color: var(--wp--custom--alpha--bone--50);
}

.em-formacion--light:hover {
	background: var(--wp--preset--color--field);
}

.em-formacion__title {
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.4;
}

/* Toda la tarjeta es clickeable a través del enlace del título. */
.em-formacion__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.em-formacion--dark .em-formacion__title a {
	color: var(--wp--preset--color--bone);
}

.em-formacion--light .em-formacion__title a {
	color: var(--wp--preset--color--bone);
}

.em-formacion__meta {
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.em-formacion--dark .em-formacion__meta {
	color: var(--wp--custom--alpha--bone--50);
}

.em-formacion--light .em-formacion__meta {
	color: var(--wp--custom--alpha--bone--45);
}

/* ── Páginas legales ────────────────────────────────────── */

.em-legal {
	max-width: 46rem;
	margin: 0 auto;
}

.em-legal > *,
.em-legal__section > * {
	margin-block-start: 0;
}

.em-legal__updated {
	margin: 0 0 8px;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--caps);
	color: var(--wp--custom--alpha--bone--62);
}

.em-legal__title {
	margin: 0 0 12px;
	font-weight: 500;
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	line-height: 1.1;
	letter-spacing: var(--wp--custom--tracking--tight);
}

.em-legal .wp-block-separator.em-legal__rule {
	margin: 28px 0 40px;
}

.em-legal__section {
	margin-bottom: 36px;
}

.em-legal__section-title {
	margin: 0 0 12px;
	font-weight: 600;
	font-size: 1.15rem;
	letter-spacing: normal;
	line-height: normal;
}

.em-legal__text {
	margin: 0 0 14px;
	color: var(--wp--custom--alpha--bone--70);
	line-height: 1.75;
}

.em-legal__text:last-child {
	margin-bottom: 0;
}

.em-legal__section .wp-block-list {
	margin: 0 0 14px;
	padding-left: 22px;
	color: var(--wp--custom--alpha--bone--70);
	line-height: 1.75;
}

.em-legal__section .wp-block-list li {
	margin-bottom: 6px;
}

.em-legal__back {
	margin: 16px 0 0;
}

.em-legal__back a {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--45);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

/* ── Portada de Inicio: logo al doble ───────────────────── */

/* Clase extra en el bloque Logo del sitio de la portada de Inicio (pedido del 4 de septiembre de 2026). */
.em-hero__mark--xl img {
	width: clamp(300px, 30vw, 440px);
}

@media (max-width: 720px) {
	.em-hero__mark--xl img {
		width: clamp(220px, 60vw, 300px);
	}
}

/* ── Blog (listado) ─────────────────────────────────────── */

/* Fuera de las landings la cabecera va en el flujo, con fondo tinta: alcanza con aire arriba. */
.em-blog {
	padding-top: clamp(64px, 8vw, 112px);
	padding-bottom: var(--wp--preset--spacing--160);
}

.em-blog__head {
	text-align: center;
	margin-bottom: clamp(48px, 6vw, 88px);
}

.em-blog__head > * {
	margin-block-start: 0;
}

.em-blog__head .em-eyebrow {
	margin-bottom: 20px;
}

.em-blog__title {
	margin: 0 0 20px;
	font-size: var(--wp--preset--font-size--heading-lg);
	line-height: var(--wp--custom--leading--display);
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
}

.em-blog__intro {
	margin: 0 auto;
	max-width: var(--wp--custom--measure--lead);
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.65;
	text-wrap: pretty;
}

.em-blog__intro p {
	margin: 0;
}

/* Buscador de la plantilla de búsqueda. */
.em-blog__search {
	max-width: 32rem;
	margin: 8px auto 0;
}

.em-blog__search .wp-block-search__input {
	padding: 12px 14px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
}

.em-blog__search .wp-block-search__button {
	border: 0;
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
}

/* Grilla: el ancho mínimo de columna (19rem) lo fija el bloque Plantilla de entradas, que
   reparte 3, 2 o 1 columnas según el ancho disponible. Acá solo la separación vertical. */
.em-blog .em-blog__grid.wp-block-post-template {
	row-gap: clamp(40px, 5vw, 64px);
}

.em-blog-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.em-blog-card > * {
	margin: 0;
}

.em-blog-card__media {
	margin-bottom: 8px;
	border-radius: var(--wp--custom--radius--card-sm);
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-blog-card__media img {
	display: block;
	width: 100%;
	transition: transform var(--wp--custom--duration--slower) var(--wp--custom--easing--editorial);
}

.em-blog-card:hover .em-blog-card__media img {
	transform: scale(1.03);
}

.em-blog-card__meta {
	gap: 12px;
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-blog-card__cat a,
.em-post__cat a {
	color: var(--wp--preset--color--gold);
}

.em-blog-card__title {
	font-size: var(--wp--preset--font-size--card);
	line-height: 1.15;
	letter-spacing: var(--wp--custom--tracking--tight);
	text-wrap: pretty;
}

.em-blog-card__excerpt {
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
}

.em-blog-card__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.em-blog-card__excerpt .wp-block-post-excerpt__more-text {
	margin: 14px 0 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.em-blog-card__excerpt .wp-block-post-excerpt__more-link {
	padding-bottom: 2px;
	color: var(--wp--preset--color--bone);
	border-bottom: 1px solid var(--wp--custom--alpha--gold--60);
	transition: color var(--wp--custom--duration--fast);
}

.em-blog-card__excerpt .wp-block-post-excerpt__more-link:hover {
	color: var(--wp--preset--color--gold);
}

/* Paginación */
.em-blog__pagination {
	margin-top: clamp(56px, 7vw, 96px);
	gap: 32px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.em-blog__pagination .wp-block-query-pagination-numbers {
	display: flex;
	gap: 8px;
}

.em-blog__pagination .page-numbers {
	display: inline-block;
	min-width: 32px;
	padding: 6px 4px;
	text-align: center;
	color: var(--wp--custom--alpha--bone--62);
	border-bottom: 1px solid transparent;
}

.em-blog__pagination .page-numbers.current {
	color: var(--wp--preset--color--gold);
	border-bottom-color: var(--wp--preset--color--gold);
}

.em-blog__pagination .wp-block-query-pagination-previous,
.em-blog__pagination .wp-block-query-pagination-next {
	color: var(--wp--custom--alpha--bone--62);
}

.em-blog__pagination a:hover {
	color: var(--wp--preset--color--gold);
}

.em-blog__empty {
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--lead);
}

@media (max-width: 600px) {
	.em-blog__title {
		font-size: var(--wp--preset--font-size--heading-sm);
	}

	.em-blog__pagination {
		gap: 20px;
		flex-wrap: wrap;
	}
}

/* ── Entrada del blog ───────────────────────────────────── */

/*
 * Dos columnas: el artículo (48rem de medida) y la columna lateral (19rem),
 * centradas dentro de la caja de 86rem. Bajo 1024px la lateral pasa abajo.
 */
.em-post {
	padding-top: clamp(40px, 5vw, 64px);
	padding-bottom: var(--wp--preset--spacing--160);
}

.em-post__layout {
	display: grid;
	grid-template-columns: minmax(0, 48rem) minmax(16rem, 19rem);
	justify-content: center;
	column-gap: clamp(40px, 6vw, 96px);
	row-gap: 64px;
}

.em-post__layout > *,
.em-post__article > *,
.em-post__head > *,
.em-post__foot > *,
.em-post__aside > *,
.em-aside__bloque > *,
.em-autor > *,
.em-autor__cuerpo > * {
	margin-block-start: 0;
	min-width: 0;
}

/* Migas de pan */
.em-migas {
	margin-bottom: 28px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-migas__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-migas__item + .em-migas__item::before {
	content: "›";
	margin-right: 10px;
	color: var(--wp--preset--color--gold);
}

.em-migas a {
	color: var(--wp--custom--alpha--bone--62);
}

.em-migas a:hover {
	color: var(--wp--preset--color--gold);
}

.em-migas [aria-current="page"] span {
	color: var(--wp--preset--color--bone);
}

/* Cabecera de la entrada */
.em-post__head {
	margin-bottom: clamp(28px, 4vw, 40px);
}

.em-post__meta {
	gap: 12px;
	margin-bottom: 20px;
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-post__cat a,
.em-blog-card__cat a {
	color: var(--wp--preset--color--gold);
}

.em-post__title {
	margin: 0 0 24px;
	font-size: var(--wp--preset--font-size--heading-lg);
	line-height: 0.98;
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
}

.em-post__autor {
	gap: 12px;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--alpha--bone--62);
}

.em-post__autor > *,
.em-post__autor-texto > * {
	margin: 0;
}

.em-post__avatar img {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: var(--wp--custom--radius--pill);
	object-fit: cover;
}

.em-post__autor-nombre a {
	color: var(--wp--preset--color--bone);
	border-bottom: 1px solid var(--wp--custom--alpha--gold--60);
}

.em-post__autor-nombre a:hover {
	color: var(--wp--preset--color--gold);
}

.em-post__cover {
	margin: 0 0 clamp(32px, 5vw, 48px);
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-post__cover img {
	display: block;
	width: 100%;
}

/* Cuerpo del texto: 48rem de medida, cuerpo un punto más grande. */
.em-post__content {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.75;
	color: var(--wp--custom--alpha--bone--85);
}

.em-post .em-post__content > * + * {
	margin-block-start: 1.4em;
}

.em-post .em-post__content > h2 {
	margin-block-start: 2.2em;
	font-size: var(--wp--preset--font-size--subheading);
	line-height: 1.1;
	letter-spacing: var(--wp--custom--tracking--tight);
	color: var(--wp--preset--color--bone);
}

.em-post .em-post__content > h3 {
	margin-block-start: 1.8em;
	font-size: var(--wp--preset--font-size--card-lg);
	line-height: 1.15;
	color: var(--wp--preset--color--bone);
}

.em-post .em-post__content > h2 + *,
.em-post .em-post__content > h3 + * {
	margin-block-start: 0.8em;
}

.em-post__content a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--bone);
	text-decoration: underline;
	text-decoration-color: var(--wp--custom--alpha--gold--60);
	text-underline-offset: 4px;
}

.em-post__content a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--gold);
}

.em-post__content ul,
.em-post__content ol {
	padding-left: 1.3em;
}

.em-post__content li + li {
	margin-top: 0.4em;
}

.em-post__content .wp-block-quote {
	margin: 0;
	padding: 4px 0 4px 28px;
	border: 0;
	border-left: 2px solid var(--wp--custom--alpha--gold--60);
	font-size: var(--wp--preset--font-size--statement);
	line-height: var(--wp--custom--leading--statement);
	font-style: italic;
	color: var(--wp--custom--alpha--bone--70);
}

.em-post__content .wp-block-quote p {
	margin: 0;
}

.em-post__content .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	font-style: normal;
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-post__content figure img {
	border-radius: var(--wp--custom--radius--card-sm);
}

.em-post__content figcaption {
	margin-top: 10px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	text-align: center;
	color: var(--wp--custom--alpha--bone--40);
}

/* Pie de la entrada: términos, compartir, autor, anterior y siguiente. */
.em-post__foot {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: clamp(40px, 5vw, 56px);
	padding-top: 28px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-post__terminos {
	gap: 10px 28px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-post__terminos a {
	color: var(--wp--custom--alpha--bone--62);
}

.em-post__terminos a:hover {
	color: var(--wp--preset--color--gold);
}

/* Compartir */
.em-compartir {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.em-compartir__label {
	margin-right: 6px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-compartir__enlace {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--custom--alpha--bone--62);
	cursor: pointer;
	transition:
		color var(--wp--custom--duration--fast),
		border-color var(--wp--custom--duration--fast);
}

.em-compartir__enlace:hover,
.em-compartir__enlace:focus-visible {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
}

.em-compartir__enlace svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.em-compartir__copiar.is-copiado {
	border-color: var(--wp--custom--color--success);
	color: var(--wp--custom--color--success);
}

.em-compartir__aviso {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--color--success);
}

/* Tarjeta del autor */
.em-autor {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	padding: 24px;
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--surface);
}

.em-autor__avatar img {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: var(--wp--custom--radius--pill);
	object-fit: cover;
}

.em-autor__eyebrow {
	margin-bottom: 6px;
}

.em-autor__nombre {
	font-size: var(--wp--preset--font-size--card);
	line-height: 1.15;
}

.em-autor__nombre a {
	color: var(--wp--preset--color--bone);
}

.em-autor__nombre a:hover {
	color: var(--wp--preset--color--gold);
}

.em-autor__bio {
	margin-top: 8px;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
	color: var(--wp--custom--alpha--bone--62);
}

.em-autor__bio p {
	margin: 0;
}

/* Anterior y siguiente */
.em-post__nav {
	gap: 24px;
	padding-top: 28px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-post__nav > * {
	margin: 0;
	flex: 1 1 40%;
	min-width: 0;
}

.em-post__nav .post-navigation-link-next {
	text-align: right;
}

.em-post__nav .post-navigation-link__label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-post__nav a {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.3;
	color: var(--wp--preset--color--bone);
}

/* Columna lateral */
.em-post__aside {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.em-aside__titulo {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 400;
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	line-height: normal;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-aside__search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	overflow: hidden;
}

.em-aside__search .wp-block-search__input {
	padding: 10px 12px;
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
}

.em-aside__search .wp-block-search__input:focus {
	outline: none;
}

.em-aside__search .wp-block-search__button {
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
}

/* Últimas entradas: miniatura a la izquierda, título y fecha a la derecha. */
.em-aside__ultimas {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-aside__ultimas li {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
	margin: 0;
}

.em-aside__ultimas .wp-block-latest-posts__featured-image {
	grid-row: 1 / 3;
	width: 64px;
	height: 64px;
	margin: 0;
	border-radius: var(--wp--custom--radius--card-sm);
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-aside__ultimas .wp-block-latest-posts__featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.em-aside__ultimas .wp-block-latest-posts__post-title {
	grid-column: 2;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.3;
	color: var(--wp--preset--color--bone);
}

.em-aside__ultimas .wp-block-latest-posts__post-title:hover {
	color: var(--wp--preset--color--gold);
}

.em-aside__ultimas .wp-block-latest-posts__post-date {
	grid-column: 2;
	margin-top: 4px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

/* Categorías: nombre a la izquierda, cantidad a la derecha. */
.em-aside__categorias {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-aside__categorias li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--custom--alpha--bone--40);
}

.em-aside__categorias a {
	color: var(--wp--preset--color--bone);
}

.em-aside__categorias a:hover {
	color: var(--wp--preset--color--gold);
}

/* Etiquetas: píldoras del mismo tamaño (el bloque las quiere en nube). */
.em-aside__etiquetas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.em-aside__etiquetas .tag-cloud-link {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--pill);
	font-family: var(--wp--preset--font-family--sans);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
	transition:
		color var(--wp--custom--duration--fast),
		border-color var(--wp--custom--duration--fast);
}

.em-aside__etiquetas .tag-cloud-link:hover {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
}

/* Publicaciones relacionadas */
.em-post__relacionadas {
	margin-top: clamp(64px, 8vw, 112px);
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-post__relacionadas > * {
	margin-block-start: 0;
}

.em-relacionadas__head {
	gap: 24px;
	margin-bottom: 40px;
}

.em-relacionadas__head > *,
.em-relacionadas__head .wp-block-group > * {
	margin: 0;
}

.em-relacionadas__head .em-eyebrow {
	margin-bottom: 12px;
}

.em-relacionadas__titulo {
	font-size: var(--wp--preset--font-size--subheading);
	line-height: 1.05;
	letter-spacing: var(--wp--custom--tracking--tight);
}

.em-relacionadas__link {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.em-relacionadas__link a {
	padding-bottom: 2px;
	color: var(--wp--custom--alpha--bone--62);
	border-bottom: 1px solid var(--wp--custom--alpha--gold--60);
}

.em-relacionadas__link a:hover {
	color: var(--wp--preset--color--gold);
}

.em-relacionadas .em-blog__grid.wp-block-post-template {
	row-gap: clamp(40px, 5vw, 64px);
}

@media (max-width: 1024px) {
	.em-post__layout {
		grid-template-columns: minmax(0, 1fr);
		max-width: 48rem;
		margin: 0 auto;
	}
}

@media (max-width: 600px) {
	.em-post__title {
		font-size: var(--wp--preset--font-size--heading-sm);
	}

	.em-post__nav > * {
		flex-basis: 100%;
	}

	.em-post__nav .post-navigation-link-next {
		text-align: left;
	}

	.em-autor {
		grid-template-columns: 1fr;
	}
}

/* ── Biblioteca (presentación del grupo) ────────────────── */

.em-biblio__intro {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.em-biblio__intro > *,
.em-biblio__body > *,
.em-biblio__pillars > *,
.em-biblio__pasos > *,
.em-biblio__pasos-col > *,
.em-biblio__form > *,
.em-biblio__form-col > *,
.em-biblio__form-card > * {
	margin-block-start: 0;
}

.em-biblio__photo {
	margin: 0;
}

.em-biblio__body .em-eyebrow,
.em-biblio__pasos-col .em-eyebrow,
.em-biblio__form-col .em-eyebrow {
	margin-bottom: 16px;
}

.em-biblio__title,
.em-biblio__pasos-title,
.em-biblio__form-title {
	margin: 0 0 24px;
	line-height: 1.02;
}

.em-biblio__text {
	margin: 0 0 20px;
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.7;
	text-wrap: pretty;
}

.em-biblio__text strong {
	color: var(--wp--preset--color--bone);
	font-weight: 600;
}

.em-biblio__body .wp-block-buttons {
	margin-top: 12px;
}

.em-biblio__pillars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin-top: clamp(48px, 6vw, 80px);
}

.em-biblio__pillar {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 12rem;
	padding: 28px;
	box-sizing: border-box;
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--surface);
}

.em-biblio__pillar > * {
	margin: 0;
}

.em-biblio__pillar-num {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--gold);
}

.em-biblio__pillar-title {
	font-size: var(--wp--preset--font-size--card);
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: 1.1;
}

.em-biblio__pillar-text {
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
}

/* Cómo entrar: pasos a la izquierda (misma pieza que Método) y panel con el celular a la derecha. */
.em-biblio__pasos {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.em-biblio__pasos-intro {
	margin: 0 0 40px;
	color: var(--wp--custom--alpha--bone--62);
	max-width: var(--wp--custom--measure--intro);
	line-height: 1.65;
}

.em-biblio__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding: clamp(32px, 4vw, 56px);
	border-radius: var(--wp--custom--radius--card);
	text-align: center;
}

.em-biblio__panel > * {
	margin: 0;
}

.em-biblio__panel-title {
	color: var(--wp--preset--color--bone);
	font-size: var(--wp--preset--font-size--subheading);
	line-height: 1.05;
}

.em-biblio__panel-text {
	color: var(--wp--custom--alpha--bone--70);
	max-width: var(--wp--custom--measure--panel);
	line-height: 1.65;
}

.em-biblio__panel .em-phone {
	margin-top: 8px;
}

/* Inscripción: texto a la izquierda, formulario en tarjeta clara a la derecha, sobre tinta. */
.em-biblio__form {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

.em-biblio__form-title {
	color: var(--wp--preset--color--bone);
}

.em-biblio__form-text {
	margin: 0 0 16px;
	color: var(--wp--custom--alpha--bone--70);
	line-height: 1.7;
	max-width: var(--wp--custom--measure--panel);
	text-wrap: pretty;
}

.em-biblio__form-card {
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--card-sm);
}

.em-biblio__form-card .em-form {
	margin-bottom: 16px;
}

@media (max-width: 900px) {
	.em-biblio__intro,
	.em-biblio__pasos,
	.em-biblio__form {
		grid-template-columns: 1fr;
	}

	.em-biblio__photo img {
		aspect-ratio: 4 / 3 !important;
	}

	.em-biblio__panel {
		padding: 28px;
	}
}

/* ── Pie: columnas alineadas arriba ─────────────────────── */

/*
 * El bloque Grupo del pie pide alineación arriba y 64px entre columnas, pero
 * WordPress no llega a escribir esa regla y las columnas quedaban centradas
 * verticalmente. Se fija acá.
 */
.em-footer .em-footer__columns.is-layout-flex {
	align-items: flex-start;
	gap: 32px 64px;
}

/* ── Tutor LMS ──────────────────────────────────────────── */

/*
 * Pantallas a página completa de Tutor (panel del alumno, cuenta y zona de
 * aprendizaje). inc/tutor.php imprime la cabecera y el pie del tema y marca el
 * <body> con em-tutor-completa. La cabecera queda pegada arriba, siempre a la
 * vista, y las barras fijas de Tutor bajan lo que mide: --em-cabecera la fija
 * theme.js midiendo la cabecera real; --em-barra es la barra de administración.
 */
body.em-tutor-completa {
	--em-cabecera: 84px;
	--em-barra: 0px;
}

body.admin-bar.em-tutor-completa {
	--em-barra: 32px;
}

/* Pegada arriba. Va sobre el envoltorio de la parte de plantilla (hijo directo del body),
   no sobre .em-header: un sticky solo se mueve dentro de su padre, y ese envoltorio mide
   exactamente lo que la cabecera. */
body.em-tutor-completa > .site-header.wp-block-template-part {
	position: sticky;
	top: var(--em-barra);
	z-index: 15;
}

body.em-tutor-completa .tutor-learning-header,
body.em-tutor-completa .tutor-dashboard-header {
	top: calc(var(--em-cabecera) + var(--em-barra)) !important;
}

body.em-tutor-completa .tutor-learning-sidebar {
	top: calc(62px + var(--em-cabecera) + var(--em-barra)) !important;
	height: calc(100dvh - 62px - var(--em-cabecera) - var(--em-barra)) !important;
}

body.em-tutor-completa .tutor-dashboard-sidebar {
	top: calc(var(--em-cabecera) + var(--em-barra)) !important;
	min-height: calc(100dvh - var(--em-cabecera) - var(--em-barra)) !important;
}

@media (max-width: 900px) {
	body.em-tutor-completa {
		--em-cabecera: 68px;
	}
}

@media (max-width: 782px) {
	body.admin-bar.em-tutor-completa {
		--em-barra: 46px;
	}
}

/* ── Servicios 1:1 (sección del inicio) ─────────────────── */

/* Dos columnas: presentación (fija al bajar) y la lista de servicios en acordeón. */
.em-servicios__layout {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

.em-servicios__layout > *,
.em-servicios__intro-col > * {
	margin-block-start: 0;
	min-width: 0;
}

.em-servicios__intro-col {
	position: sticky;
	top: 96px;
}

.em-servicios__intro-col .em-eyebrow {
	margin-bottom: 14px;
}

.em-servicios__title {
	margin: 0 0 16px;
	line-height: 1.02;
}

.em-servicios__intro {
	margin: 0 0 24px;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
	text-wrap: pretty;
}

/* Lista en acordeón */
.em-servicios__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-servicios__lista > li {
	margin: 0;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-servicio > *,
.em-servicio__cabecera > *,
.em-servicio__texto > *,
.em-servicio__panel > * {
	margin: 0;
	min-width: 0;
}

.em-servicio__cabecera {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 16px 0;
	cursor: pointer;
}

/* Miniatura entera, sin recortar, sobre fondo noche (las imágenes son oscuras). */
.em-servicio__thumb {
	width: 72px;
	height: 72px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-servicio__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.em-servicio__texto {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.em-servicio__titulo {
	font-size: var(--wp--preset--font-size--xl);
	line-height: 1.2;
	letter-spacing: var(--wp--custom--tracking--tight);
	text-wrap: pretty;
}

.em-servicio__titulo a {
	color: var(--wp--preset--color--bone);
}

.em-servicio__titulo a:hover {
	color: var(--wp--preset--color--gold);
}

/* Chips de modalidad, duración y precio (párrafos ligados a los campos del servicio). */
.em-chip-row {
	gap: 6px 8px;
}

.em-chip {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 4px 10px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--field);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

.em-chip:empty {
	display: none;
}

.em-chip--precio {
	border-color: var(--wp--custom--alpha--gold--45);
	color: var(--wp--preset--color--bone);
}

.em-servicio__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: end;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

.em-servicio__toggle::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	transform: rotate(45deg);
	transition: transform var(--wp--custom--duration--fast);
}

.em-servicio.is-abierto .em-servicio__toggle::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.em-servicio__toggle:hover,
.em-servicio__cabecera:hover .em-servicio__toggle {
	color: var(--wp--preset--color--gold);
}

/* Panel desplegado: la imagen entera a la izquierda y la descripción a la derecha. */
.em-servicio__panel {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	padding: 4px 0 28px 90px;
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
	color: var(--wp--custom--alpha--bone--70);
}

.em-servicio__panel-cuerpo > * {
	margin: 0;
}

.em-servicio__imagen {
	align-self: start;
	border-radius: 12px;
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-servicio__imagen img {
	display: block;
	width: 100%;
	height: auto;
}

/* El panel se oculta solo cuando hay JavaScript (html.em-js); sin él, todo visible. */
.em-js .em-servicio__panel {
	display: none;
}

.em-js .em-servicio.is-abierto .em-servicio__panel {
	display: grid;
}

.em-servicio__contenido > * + * {
	margin-block-start: 0.8em;
}

.em-servicio__contenido > p {
	max-width: 40rem;
}

.em-servicio__contenido strong,
.em-ficha__texto strong {
	color: var(--wp--preset--color--bone);
	font-weight: 600;
}

.em-servicio__acciones {
	gap: 12px 20px;
	margin-top: 20px;
}

.em-servicio__ficha {
	padding-bottom: 2px;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--60);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

.em-servicio__ficha:hover {
	color: var(--wp--preset--color--gold);
}

/* Desplegables (bloque Detalles) dentro de la descripción de un servicio. */
.em-desplegable {
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-desplegable + .em-desplegable {
	margin-block-start: 0;
}

.em-desplegable > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--bone);
}

.em-desplegable > summary::-webkit-details-marker {
	display: none;
}

.em-desplegable > summary::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin: -4px 6px 0 0;
	border-right: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	transform: rotate(45deg);
	transition: transform var(--wp--custom--duration--fast);
}

.em-desplegable[open] > summary::after {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.em-desplegable > summary:hover {
	color: var(--wp--preset--color--gold);
}

.em-desplegable > :not(summary) {
	margin: 0 0 14px;
}

.em-desplegable > :not(summary) + :not(summary) {
	margin-top: 10px;
}

.em-desplegable ul {
	padding-left: 1.2em;
}

.em-desplegable li + li {
	margin-top: 4px;
}

.em-desplegable .em-desplegable {
	margin-left: 14px;
	border-top-style: dashed;
}

.em-desplegable .em-desplegable > summary {
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
}

/* ── Dirección (página de servicios) ────────────────────── */

.em-pagina-servicios > * {
	margin-block-start: 0;
}

/* Si la página abre con el linaje (sin portada), aire arriba. */
.em-pagina-servicios > .entry-content > .em-linaje:first-child,
.em-pagina-servicios > .wp-block-post-content > .em-linaje:first-child {
	margin-top: clamp(40px, 6vw, 72px);
}

/* Biblioteca abre con "Un espacio público y gratuito": esa sección hace de portada. */
.em-pagina-servicios > .entry-content > .em-biblio:first-child,
.em-pagina-servicios > .wp-block-post-content > .em-biblio:first-child {
	padding-top: clamp(64px, 9vw, 128px);
}

.em-pagina-servicios .em-biblio:first-child .em-biblio__title {
	letter-spacing: var(--wp--custom--tracking--display);
	line-height: var(--wp--custom--leading--display);
	text-wrap: balance;
}

/* Portada sin video: la cabecera va en el flujo, arriba. */
.em-dir-hero {
	padding: clamp(64px, 8vw, 112px) 0 clamp(56px, 7vw, 96px);
}

.em-dir-hero__body {
	max-width: 44rem;
}

.em-dir-hero__body > * {
	margin-block-start: 0;
}

.em-dir-hero .em-eyebrow {
	margin-bottom: 18px;
}

.em-dir-hero__title {
	margin: 0 0 20px;
	color: var(--wp--preset--color--bone);
	font-size: var(--wp--preset--font-size--heading-lg);
	line-height: var(--wp--custom--leading--display);
	letter-spacing: var(--wp--custom--tracking--display);
	text-wrap: balance;
}

.em-dir-hero__lead {
	margin: 0 0 32px;
	max-width: var(--wp--custom--measure--lead);
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.65;
	text-wrap: pretty;
}

.em-dir-hero .wp-block-buttons {
	gap: 12px;
}

/* Qué es un encuentro */
.em-dir-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: end;
}

.em-dir-intro__grid > *,
.em-dir-intro__col > * {
	margin-block-start: 0;
}

.em-dir-intro__col .em-eyebrow {
	margin-bottom: 14px;
}

.em-dir-intro__title {
	margin: 0;
	line-height: 1.02;
}

.em-dir-intro__statement {
	margin: 0;
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--statement);
	line-height: var(--wp--custom--leading--statement);
	text-wrap: pretty;
}

/* Pilares: misma pieza que en Biblioteca, con nombre genérico. */
.em-pilares {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin-top: clamp(40px, 5vw, 64px);
}

.em-pilares > * {
	margin-block-start: 0;
}

.em-pilar {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	box-sizing: border-box;
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--surface);
}

.em-pilar > * {
	margin: 0;
}

.em-pilar__num {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--gold);
}

.em-pilar__title {
	font-size: var(--wp--preset--font-size--xl);
	letter-spacing: var(--wp--custom--tracking--tight);
	line-height: 1.15;
}

.em-pilar__text {
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.6;
}

/* Fichas de los servicios */
.em-dir-servicios__head {
	max-width: 44rem;
	margin-bottom: 28px;
}

.em-dir-servicios__head > * {
	margin-block-start: 0;
}

.em-dir-servicios__head .em-eyebrow {
	margin-bottom: 14px;
}

.em-dir-servicios__title {
	margin: 0 0 16px;
	line-height: 1.02;
}

.em-dir-servicios__intro {
	margin: 0;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
	text-wrap: pretty;
}

/* Navegación rápida entre fichas: una píldora por servicio. */
.em-servicios-nav {
	margin: 0 0 clamp(40px, 5vw, 64px);
	padding: 0;
	list-style: none;
}

.em-servicios-nav > li {
	margin: 0;
}

.em-servicios-nav__item {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	line-height: 1.3;
}

.em-servicios-nav__item a {
	display: inline-block;
	padding: 9px 14px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--field);
	color: var(--wp--custom--alpha--bone--62);
	transition:
		color var(--wp--custom--duration--fast),
		border-color var(--wp--custom--duration--fast);
}

.em-servicios-nav__item a:hover {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--bone);
}

.em-fichas__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-fichas__lista > li {
	margin: 0;
}

.em-fichas__lista > li + li {
	margin-top: clamp(40px, 5vw, 64px);
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
}

/* Imagen chica, entera y fija al bajar; el texto a la derecha. */
.em-ficha {
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
	scroll-margin-top: 112px;
}

.em-ficha > *,
.em-ficha__cuerpo > * {
	margin: 0;
	min-width: 0;
}

.em-ficha__media {
	position: sticky;
	top: 100px;
	border-radius: var(--wp--custom--radius--card-sm);
	overflow: hidden;
	background: var(--wp--preset--color--paper);
}

.em-ficha__media img {
	display: block;
	width: 100%;
	height: auto;
}

.em-ficha__cuerpo {
	max-width: 42rem;
}

.em-ficha__cuerpo .em-eyebrow {
	margin-bottom: 10px;
}

.em-ficha__titulo {
	margin: 0 0 14px;
	font-size: var(--wp--preset--font-size--subheading);
	line-height: 1.05;
	letter-spacing: var(--wp--custom--tracking--tight);
	text-wrap: balance;
}

.em-ficha__meta {
	margin-bottom: 20px;
}

.em-ficha__meta .em-chip--modalidad::before {
	content: "Modalidad · ";
	color: var(--wp--custom--alpha--bone--40);
}

.em-ficha__meta .em-chip--duracion::before {
	content: "Duración · ";
	color: var(--wp--custom--alpha--bone--40);
}

.em-ficha__meta .em-chip--precio::before {
	content: "Precio · ";
	color: var(--wp--custom--alpha--bone--40);
}

.em-ficha__texto {
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.65;
}

.em-ficha__texto > * + * {
	margin-block-start: 0.9em;
}

.em-ficha__texto > p + .em-desplegable {
	margin-block-start: 1.4em;
}

.em-ficha__texto > .em-desplegable + .em-desplegable {
	margin-block-start: 0;
}

.em-ficha__texto > .em-desplegable:last-child {
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-ficha__acciones {
	gap: 10px 14px;
	margin-top: 24px;
}

/* Botones chicos: misma píldora, un tercio más compacta. */
.em-boton-chico .wp-block-button.is-style-em-pill .wp-block-button__link {
	min-height: 46px;
	padding: 6px 52px 6px 22px;
	font-size: var(--wp--preset--font-size--sm);
}

.em-boton-chico .wp-block-button.is-style-em-pill .wp-block-button__link::before {
	right: 7px;
	width: 32px;
	height: 32px;
	margin-top: -16px;
}

.em-boton-chico .wp-block-button.is-style-em-pill .wp-block-button__link::after {
	right: 16px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
}

.em-boton-chico .wp-block-button.is-style-em-pill-ghost .wp-block-button__link {
	min-height: 32px;
	padding-right: 44px;
	font-size: var(--wp--preset--font-size--sm);
}

.em-boton-chico .wp-block-button.is-style-em-pill-ghost .wp-block-button__link::before {
	width: 32px;
	height: 32px;
	margin-top: -16px;
}

.em-boton-chico .wp-block-button.is-style-em-pill-ghost .wp-block-button__link::after {
	right: 9px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
}

/* Cómo funciona: pasos a la izquierda y panel a la derecha. */
.em-pasos {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.em-pasos > *,
.em-pasos__col > *,
.em-pasos__panel > * {
	margin-block-start: 0;
}

.em-pasos__col .em-eyebrow {
	margin-bottom: 14px;
}

.em-pasos__title {
	margin: 0 0 20px;
	line-height: 1.02;
}

.em-pasos__intro {
	margin: 0 0 32px;
	max-width: var(--wp--custom--measure--intro);
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.65;
}

.em-pasos__panel {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--wp--custom--radius--card);
}

.em-pasos__panel > * {
	margin: 0;
}

.em-pasos__panel-title {
	color: var(--wp--preset--color--bone);
	font-size: var(--wp--preset--font-size--card-lg);
	line-height: 1.15;
	letter-spacing: var(--wp--custom--tracking--tight);
	text-wrap: balance;
}

.em-pasos__panel-text {
	color: var(--wp--custom--alpha--bone--70);
	max-width: var(--wp--custom--measure--panel);
	line-height: 1.65;
}

.em-pasos__panel .wp-block-buttons {
	margin-top: 6px;
}

/* Turnos: texto a la izquierda, formulario en tarjeta clara, sobre tinta. */
.em-turnos__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

.em-turnos__grid > *,
.em-turnos__col > *,
.em-turnos__card > * {
	margin-block-start: 0;
}

.em-turnos__col .em-eyebrow {
	margin-bottom: 14px;
}

.em-turnos__title {
	margin: 0 0 20px;
	color: var(--wp--preset--color--bone);
	line-height: 1.02;
}

.em-turnos__text {
	margin: 0 0 14px;
	max-width: var(--wp--custom--measure--panel);
	color: var(--wp--custom--alpha--bone--70);
	line-height: 1.7;
	text-wrap: pretty;
}

.em-turnos__card {
	padding: clamp(24px, 4vw, 36px);
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--card-sm);
	scroll-margin-top: 112px;
}

.em-turnos__card .em-form {
	margin-bottom: 16px;
}

/* Campos que el formulario de turnos suma al de la Biblioteca. */
.em-form textarea.wpcf7-form-control {
	height: auto;
	min-height: 110px;
	padding: 12px 14px;
	resize: vertical;
	line-height: 1.5;
}

.em-form select.wpcf7-form-control {
	cursor: pointer;
}

@media (max-width: 900px) {
	.em-servicios__layout,
	.em-dir-intro__grid,
	.em-ficha,
	.em-pasos,
	.em-turnos__grid {
		grid-template-columns: 1fr;
	}

	.em-servicios__intro-col {
		position: static;
	}

	.em-ficha__media {
		position: static;
		max-width: 200px;
	}

	.em-pasos__panel {
		padding: 28px;
	}
}

@media (max-width: 600px) {
	.em-servicio__cabecera {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 12px;
		padding: 14px 0;
	}

	.em-servicio__thumb {
		width: 52px;
		height: 52px;
	}

	.em-servicio__toggle {
		grid-column: 2;
		justify-self: start;
	}

	.em-servicio__panel {
		grid-template-columns: 1fr;
		padding-left: 0;
	}

	.em-servicio__imagen {
		display: none;
	}

	.em-dir-hero__title {
		font-size: var(--wp--preset--font-size--heading-sm);
	}

	.em-ficha__media {
		max-width: 160px;
	}
}

/* ── Dark academia ──────────────────────────────────────── */

/*
 * Capa de atmósfera sobre la paleta oscura: luz cálida que baja desde arriba,
 * filetes dorados, marcos con sombra profunda, ornamentos en los rótulos y
 * velos sobre las imágenes de fondo. Todo con los tokens de theme.json.
 */

/* Luz de vela en lo alto de cada página. */
.wp-theme-escuela-micaelica {
	background-image: radial-gradient(ellipse 90% 60% at 50% -10%, var(--wp--custom--alpha--gold--10), transparent 70%);
	background-repeat: no-repeat;
	background-size: 100% 1100px;
}

/* Grupo con imagen de fondo (Group → Fondo en el editor) + clase em-fondo: velo oscuro encima. */
.em-fondo {
	position: relative;
	isolation: isolate;
	background-size: cover;
	background-position: center;
}

.em-fondo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--wp--preset--gradient--velo-fondo);
}

/* Rótulos: una estrella de ocho puntas en oro antes del texto. */
.em-eyebrow::before {
	content: "✦";
	margin-right: 10px;
	font-size: 0.85em;
	color: var(--wp--preset--color--gold);
}

.em-eyebrow.has-text-align-center::after,
.em-hero .em-eyebrow::after,
.em-cta .em-eyebrow::after {
	content: "✦";
	margin-left: 10px;
	font-size: 0.85em;
	color: var(--wp--preset--color--gold);
}

/* Regla dorada: se desvanece en las puntas. */
.wp-block-separator.is-style-em-rule,
.em-rule {
	width: 64px;
	background: linear-gradient(to right, transparent, var(--wp--preset--color--gold), transparent);
	opacity: 0.8;
}

/* Filete entre secciones consecutivas. */
.entry-content > .em-section + .em-section {
	border-top: 1px solid var(--wp--custom--alpha--gold--15);
}

/* Cabecera: filete abajo cuando es sólida. */
.em-header {
	border-bottom: 1px solid var(--wp--custom--alpha--gold--20);
}

.em-landing .em-header {
	border-bottom-color: transparent;
}

.em-landing .em-header.is-solid {
	border-bottom-color: var(--wp--custom--alpha--gold--20);
}

/* Marcos: filete dorado interior y sombra profunda. */
.em-manifiesto__card,
.em-manifiesto__wide,
.em-metodo__panel,
.em-cta__card,
.em-pasos__panel,
.em-biblio__panel,
.em-pilar,
.em-biblio__pillar,
.em-autor,
.em-turnos__card,
.em-biblio__form-card,
.em-form-card,
.em-blog-card__media,
.em-post__cover,
.em-servicio__thumb,
.em-servicio__imagen,
.em-ficha__media,
.em-rail__frame,
.em-antologia__card,
.em-phone {
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

/* Imágenes de ambiente: un punto más cálidas y apagadas, como grabados. */
.em-fill img,
.em-rail__frame img,
.em-blog-card__media img,
.em-post__cover img,
.em-biblio__photo img {
	filter: sepia(0.12) saturate(0.9) contrast(1.02);
}

.em-manifiesto__wide::after {
	background: var(--wp--preset--gradient--velo-panel);
}

/* Portada: además del velo, luz de vela sobre el título. */
.em-hero__card::after {
	background:
		var(--wp--preset--gradient--vela),
		var(--wp--preset--gradient--velo-hero);
}

/* Pie: la biblioteca de fondo, casi a oscuras. */
.em-footer {
	position: relative;
	isolation: isolate;
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
	background: var(--wp--preset--color--night) url("../images/pie.jpg") center 45% / cover no-repeat;
	color: var(--wp--custom--alpha--bone--55);
}

.em-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to bottom, var(--wp--custom--alpha--night--85), var(--wp--custom--alpha--night--96));
}

.em-footer .wp-block-site-title {
	color: var(--wp--preset--color--bone);
}

.em-footer__title {
	color: var(--wp--preset--color--gold);
}

/* Formularios sobre fondo oscuro. */
.em-form .wpcf7-form-control::placeholder {
	color: var(--wp--custom--alpha--bone--40);
}

.em-form select.wpcf7-form-control option {
	background: var(--wp--preset--color--field);
	color: var(--wp--preset--color--bone);
}

.em-form input[type="date"]::-webkit-calendar-picker-indicator {
	filter: invert(0.85);
}

/* Bloque Detalles (desplegables de los servicios): flecha en oro ya está; borde pergamino. */
.em-desplegable {
	border-top-color: var(--wp--custom--alpha--bone--10);
}

/* Navegación de la cabecera: la página actual en oro. */
.em-header .wp-block-navigation .current-menu-item > a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--gold);
}

/* Enlaces del cuerpo de una entrada: subrayado en oro (ya), color pergamino. */
.em-post__content a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--gold);
}

/* Página 404: título en oro. */
.error404 main h1 {
	color: var(--wp--preset--color--gold);
}

/* ── WooCommerce sobre fondo oscuro ─────────────────────── */

.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea,
.wc-block-components-form input:not([type="checkbox"]):not([type="radio"]),
.wc-block-components-totals-coupon input,
.woocommerce-uses-block-theme .wp-block-woocommerce-cart input[type="number"] {
	background: var(--wp--preset--color--field);
	color: var(--wp--preset--color--bone);
	border-color: var(--wp--custom--alpha--bone--20);
}

.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-textarea label {
	color: var(--wp--custom--alpha--bone--55);
}

.wc-block-components-order-summary,
.wc-block-components-sidebar,
.wc-block-cart__sidebar,
.wc-block-components-panel,
.wc-block-components-radio-control,
.wc-block-components-checkout-step,
.wc-block-cart-items {
	border-color: var(--wp--custom--alpha--bone--12);
}

.wc-block-components-product-name,
.wc-block-components-totals-item,
.wc-block-components-checkout-step__title,
.wc-block-components-product-price {
	color: var(--wp--preset--color--bone);
}

.wc-block-components-radio-control__option,
.wc-block-components-payment-method-label {
	color: var(--wp--preset--color--bone);
}

.wc-block-components-notice-banner {
	color: var(--wp--preset--color--night);
}

/* Velos según la pieza: el llamado final deja ver la escalera arriba; la portada de
   Dirección deja ver la estatua a la derecha. */
.em-cta__card.em-fondo::before {
	background: var(--wp--preset--gradient--velo-panel);
}

.em-dir-hero.em-fondo::before {
	background:
		linear-gradient(to right, var(--wp--custom--alpha--night--92) 0%, var(--wp--custom--alpha--night--85) 45%, var(--wp--custom--alpha--night--55) 100%),
		linear-gradient(to bottom, transparent 60%, var(--wp--preset--color--night) 100%);
}

.em-pasos__panel.em-fondo::before {
	background: linear-gradient(to bottom, var(--wp--custom--alpha--night--70), var(--wp--custom--alpha--night--92));
}

/* ── Tutor LMS: formulario de acceso sobre fondo oscuro ─── */

/* El modo oscuro de Tutor no llega al formulario de acceso (/mi-cuenta/ sin sesión). */
.tutor-login-wrap .tutor-login-form-wrapper {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--custom--alpha--gold--25);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
	color: var(--wp--preset--color--bone);
}

.tutor-login-wrap .tutor-h3,
.tutor-login-wrap .tutor-label,
.tutor-login-wrap a:not(.tutor-btn) {
	color: var(--wp--preset--color--bone);
}

.tutor-login-wrap .tutor-form-control,
.tutor-login-wrap .tutor-input-field input {
	background: var(--wp--preset--color--field);
	color: var(--wp--preset--color--bone);
	border-color: var(--wp--custom--alpha--bone--20);
}

.tutor-login-wrap .tutor-btn.tutor-btn-primary {
	background: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
}

/* ── Fundador (Inicio) ──────────────────────────────────── */

.em-fundador__loop {
	margin: 0;
	padding: 0;
	list-style: none;
}

.em-fundador__loop > li {
	margin: 0;
}

.em-fundador__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}

.em-fundador__grid > *,
.em-fundador__cuerpo > * {
	margin-block-start: 0;
	min-width: 0;
}

/* Retrato: en arco, a color pero apagado, como una foto antigua. */
.em-fundador__retrato {
	margin: 0;
	max-width: 26rem;
	filter: sepia(0.22) saturate(0.85) contrast(1.03);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

.em-fundador__retrato img {
	display: block;
	width: 100%;
}

.em-fundador__cuerpo .em-eyebrow {
	margin-bottom: 16px;
}

.em-fundador__nombre {
	margin: 0 0 10px;
	line-height: 1.02;
}

.em-fundador__rol {
	margin: 0 0 24px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

.em-fundador__bio {
	max-width: var(--wp--custom--measure--lead);
	color: var(--wp--custom--alpha--bone--70);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.7;
	text-wrap: pretty;
}

.em-fundador__bio > * + * {
	margin-block-start: 1em;
}

.em-fundador__cuerpo .wp-block-buttons {
	margin-top: 28px;
	gap: 12px 20px;
}

/* ── Blog en el inicio ──────────────────────────────────── */

.em-blog-inicio__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 64px;
	margin-bottom: clamp(36px, 5vw, 56px);
}

.em-blog-inicio__head > *,
.em-blog-inicio__head-izq > *,
.em-blog-inicio__head-der > * {
	margin-block-start: 0;
}

.em-blog-inicio__head-izq .em-eyebrow {
	margin-bottom: 14px;
}

.em-blog-inicio__title {
	margin: 0;
	line-height: 1.02;
}

.em-blog-inicio__head-der {
	max-width: 30rem;
}

.em-blog-inicio__intro {
	margin: 0 0 18px;
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.65;
	text-wrap: pretty;
}

.em-blog-inicio .em-blog__grid.wp-block-post-template {
	row-gap: 40px;
}

@media (max-width: 900px) {
	.em-fundador__grid {
		grid-template-columns: 1fr;
	}

	.em-fundador__retrato {
		max-width: 18rem;
	}
}

/* ── Cursos (Escuela) ───────────────────────────────────── */

.em-cursos__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 64px;
	margin-bottom: clamp(36px, 5vw, 56px);
}

.em-cursos__head > *,
.em-cursos__head-izq > *,
.em-cursos__head-der > * {
	margin-block-start: 0;
}

.em-cursos__head-izq .em-eyebrow {
	margin-bottom: 14px;
}

.em-cursos__title {
	margin: 0;
	line-height: 1.02;
}

.em-cursos__head-der {
	max-width: 30rem;
}

.em-cursos__intro {
	margin: 0 0 18px;
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.65;
	text-wrap: pretty;
}

.em-cursos .em-cursos__grid.wp-block-post-template {
	row-gap: 24px;
}

/* Cada tarjeta llena su celda: los pies (datos, precio y botón) quedan alineados entre columnas. */
.em-cursos .em-cursos__grid > li > .em-curso {
	height: 100%;
}

/* Tarjeta de curso: cuero con filete, imagen arriba, datos y precio abajo. */
.em-curso {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
	overflow: hidden;
}

.em-curso > *,
.em-curso__cuerpo > * {
	margin: 0;
}

.em-curso__media {
	background: var(--wp--preset--color--night);
}

.em-curso__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	filter: sepia(0.12) saturate(0.9);
	transition: transform var(--wp--custom--duration--slower) var(--wp--custom--easing--editorial);
}

.em-curso:hover .em-curso__media img {
	transform: scale(1.03);
}

/* Sin imagen destacada: cabecera con la luz de vela y un sello en oro. */
.em-curso:not(:has(.em-curso__media))::before {
	content: "✦";
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	font-size: 2rem;
	color: var(--wp--custom--alpha--gold--45);
	background: var(--wp--preset--gradient--vela), var(--wp--preset--color--night);
}

.em-curso__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px 20px;
}

.em-curso__titulo {
	font-size: clamp(18px, 1.35vw, 21px);
	line-height: 1.2;
	text-wrap: pretty;
}

.em-curso__titulo a {
	color: var(--wp--preset--color--bone);
}

.em-curso__titulo a:hover {
	color: var(--wp--preset--color--gold);
}

.em-curso__resumen {
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
}

/* Tres líneas como mucho, para que las tarjetas queden parejas. */
.em-curso__resumen p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.em-curso__datos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-curso__chips {
	display: flex;
	flex-wrap: wrap;
}

.em-curso__precio {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(19px, 1.4vw, 22px);
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--gold);
	white-space: nowrap;
}

/* "Ver el curso": píldora chica en oro. */
.em-curso__cta {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	margin-top: 2px;
	padding: 4px 18px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	transition:
		background-color var(--wp--custom--duration--fast),
		color var(--wp--custom--duration--fast);
}

.em-curso__cta:hover {
	background: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--night);
}

/* Tema del curso: sello sobre la imagen (o sobre la cabecera de vela si no hay imagen). */
.em-curso {
	position: relative;
}

.em-curso__categoria {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.em-curso__categoria a {
	display: inline-block;
	padding: 3px 9px;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--custom--alpha--night--85);
	color: var(--wp--preset--color--bone);
	backdrop-filter: blur(4px);
}

.em-curso__categoria a:hover {
	color: var(--wp--preset--color--gold);
}

/* El bloque Términos de la entrada imprime un separador entre términos: acá sobra. */
.em-curso__categoria .wp-block-post-terms__separator {
	display: none;
}

/* ── Catálogo de cursos (/escuela/cursos/) ──────────────── */

/*
 * Lo dibuja tutor/archive-course.php. Un <form> envuelve buscador, orden y
 * filtros; la consulta la resuelve inc/cursos.php. Layout: cabecera con fondo,
 * barra de resultados y orden, panel de filtros a la izquierda (cajón en
 * pantallas chicas) y la grilla de tarjetas .em-curso (las mismas que en la Escuela).
 */
.em-catalogo {
	padding-bottom: var(--wp--preset--spacing--160);
}

.em-cat__shell {
	box-sizing: border-box;
	max-width: 86rem;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--60);
}

/* Cabecera: la escalera con el estandarte, bajo el velo del tema. */
.em-cat__head {
	padding: clamp(32px, 4vw, 48px) 0 clamp(40px, 6vw, 72px);
	background-image: url("../images/catalogo.jpg");
	background-position: center 30%;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-cat__head .em-migas {
	margin-bottom: clamp(28px, 4vw, 48px);
}

.em-cat__head .em-eyebrow {
	margin: 0 0 16px;
}

.em-cat__titulo {
	max-width: 22ch;
	margin: 0 0 18px;
	font-size: var(--wp--preset--font-size--heading-lg);
	line-height: 1.02;
	text-wrap: balance;
}

.em-cat__intro {
	max-width: var(--wp--custom--measure--lead);
	margin: 0 0 32px;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.6;
	text-wrap: pretty;
}

/* Buscador grande: una sola caja de campo con lupa y botón en oro. */
.em-cat__buscar {
	position: relative;
	display: flex;
	align-items: stretch;
	max-width: 44rem;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--field);
	box-shadow: var(--wp--preset--shadow--tarjeta);
	overflow: hidden;
	transition: border-color var(--wp--custom--duration--fast);
}

.em-cat__buscar:focus-within {
	border-color: var(--wp--preset--color--gold);
}

.em-cat__lupa {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	color: var(--wp--custom--alpha--bone--40);
	pointer-events: none;
}

.em-cat__input {
	flex: 1;
	min-width: 0;
	padding: 16px 16px 16px 52px;
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--bone);
}

.em-cat__input::placeholder {
	color: var(--wp--custom--alpha--bone--40);
}

.em-cat__input:focus {
	outline: none;
}

.em-cat__input::-webkit-search-cancel-button {
	filter: invert(0.8) sepia(0.3);
}

.em-cat__buscar-btn {
	flex-shrink: 0;
	margin: 5px;
	padding: 10px 26px;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	cursor: pointer;
	transition: background-color var(--wp--custom--duration--fast);
}

.em-cat__buscar-btn:hover {
	background: var(--wp--preset--color--bone);
}

.em-cat__nota {
	margin: 16px 0 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

/* Barra: cantidad de resultados a la izquierda, filtros (móvil) y orden a la derecha. */
.em-cat__cuerpo {
	padding-top: clamp(28px, 4vw, 44px);
}

.em-cat__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-cat__conteo {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--card);
	font-weight: 600;
	color: var(--wp--preset--color--bone);
}

.em-cat__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.em-cat__orden {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-cat__select {
	padding: 9px 36px 9px 14px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23c9a45c' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--bone);
	appearance: none;
	cursor: pointer;
}

.em-cat__select:focus-visible {
	outline: 1px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* "Filtros" solo existe en pantallas chicas y con JavaScript (abre el cajón). */
.em-cat__toggle {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 9px 18px;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--bone);
	cursor: pointer;
}

.em-cat__toggle::before {
	content: "";
	width: 14px;
	height: 10px;
	background:
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) 0 0 / 100% 1px no-repeat,
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) 0 50% / 70% 1px no-repeat,
		linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) 0 100% / 40% 1px no-repeat;
}

.em-cat__badge {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--gold);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	color: var(--wp--preset--color--night);
}

/* Filtros activos: chips que se quitan al tocarlos. */
.em-cat__activos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.em-cat__activo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--custom--alpha--gold--10);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bone);
}

.em-cat__activo span[aria-hidden] {
	color: var(--wp--preset--color--gold);
	font-size: 1.2em;
	line-height: 1;
}

.em-cat__activo:hover {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
}

.em-cat__limpiar {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: var(--wp--custom--alpha--bone--62);
}

.em-cat__limpiar:hover {
	color: var(--wp--preset--color--gold);
}

/* Dos columnas: filtros (17rem, fijos al bajar) y resultados. */
.em-cat__layout {
	display: grid;
	grid-template-columns: 17rem minmax(0, 1fr);
	gap: clamp(32px, 4vw, 56px);
	padding-top: clamp(28px, 4vw, 40px);
}

.em-cat__filtros {
	position: sticky;
	top: 24px;
	align-self: start;
}

.em-cat__filtros-head {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-cat__filtros-titulo {
	flex: 1;
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 400;
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	line-height: normal;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

.em-cat__cerrar {
	display: none;
	padding: 0 8px;
	border: 0;
	background: none;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--wp--custom--alpha--bone--62);
	cursor: pointer;
}

.em-cat__grupo {
	margin: 0 0 26px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.em-cat__grupo-titulo {
	margin: 0 0 12px;
	padding: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--card);
	font-weight: 600;
	color: var(--wp--preset--color--bone);
}

.em-cat__opciones {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Cada opción: casilla dibujada (la nativa queda oculta pero accesible), texto y cantidad. */
.em-cat__opcion {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--alpha--bone--62);
	cursor: pointer;
	transition: color var(--wp--custom--duration--fast);
}

.em-cat__opcion:hover {
	color: var(--wp--preset--color--bone);
}

.em-cat__opcion input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.em-cat__caja {
	flex-shrink: 0;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border: 1px solid var(--wp--custom--alpha--bone--40);
	border-radius: 3px;
	background: var(--wp--preset--color--field);
	transition:
		border-color var(--wp--custom--duration--fast),
		background-color var(--wp--custom--duration--fast);
}

.em-cat__caja--radio {
	border-radius: 50%;
}

.em-cat__caja::after {
	content: "";
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--night);
	clip-path: polygon(14% 44%, 0 62%, 40% 100%, 100% 20%, 86% 6%, 40% 70%);
	opacity: 0;
	transform: scale(0.6);
	transition:
		opacity var(--wp--custom--duration--fast),
		transform var(--wp--custom--duration--fast);
}

.em-cat__caja--radio::after {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	clip-path: none;
}

.em-cat__opcion input:checked + .em-cat__caja {
	border-color: var(--wp--preset--color--gold);
	background: var(--wp--preset--color--gold);
}

.em-cat__opcion input:checked + .em-cat__caja::after {
	opacity: 1;
	transform: scale(1);
}

.em-cat__opcion input:checked ~ .em-cat__texto {
	color: var(--wp--preset--color--bone);
}

.em-cat__opcion input:focus-visible + .em-cat__caja {
	outline: 1px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

.em-cat__texto {
	flex: 1;
}

.em-cat__num {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--custom--alpha--bone--40);
}

.em-cat__ayuda {
	margin: 8px 0 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
	color: var(--wp--custom--alpha--bone--40);
}

/* "Aplicar filtros" solo hace falta sin JavaScript. */
.em-cat__aplicar {
	width: 100%;
	min-height: 44px;
	padding: 8px 20px;
	border: 1px solid var(--wp--custom--alpha--gold--45);
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--bone);
	cursor: pointer;
}

.em-cat__aplicar:hover {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold);
}

.em-js .em-cat__aplicar {
	display: none;
}

/* Resultados: la misma grilla de tarjetas que en la Escuela. */
.em-cat__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr));
	gap: 20px;
}

/* Paginación, como la del blog. */
.em-cat__paginacion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 12px;
	margin-top: clamp(40px, 5vw, 64px);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
}

.em-cat__paginacion .page-numbers {
	display: inline-block;
	min-width: 32px;
	padding: 6px 4px;
	text-align: center;
	color: var(--wp--custom--alpha--bone--62);
	border-bottom: 1px solid transparent;
}

.em-cat__paginacion .page-numbers.current {
	color: var(--wp--preset--color--gold);
	border-bottom-color: var(--wp--preset--color--gold);
}

.em-cat__paginacion .prev,
.em-cat__paginacion .next {
	padding-inline: 12px;
}

.em-cat__paginacion a:hover {
	color: var(--wp--preset--color--gold);
}

/* Sin resultados. */
.em-cat__vacio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	max-width: 32rem;
	padding: clamp(32px, 4vw, 48px);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

.em-cat__vacio > * {
	margin: 0;
}

.em-cat__vacio-sello {
	font-size: 2rem;
	line-height: 1;
	color: var(--wp--custom--alpha--gold--45);
}

.em-cat__vacio-titulo {
	font-size: var(--wp--preset--font-size--card-lg);
	line-height: 1.15;
	text-wrap: balance;
}

.em-cat__vacio p {
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.6;
}

/* Llamado final: la Biblioteca y las clases privadas. */
.em-cat__cta {
	margin-top: clamp(56px, 8vw, 104px);
}

.em-cat__cta-caja {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 28px 48px;
	padding-block: clamp(32px, 4vw, 48px);
	border-top: 1px solid var(--wp--custom--alpha--gold--25);
	border-bottom: 1px solid var(--wp--custom--alpha--gold--25);
}

.em-cat__cta-texto {
	flex: 1 1 32rem;
	max-width: 40rem;
}

.em-cat__cta-texto > * {
	margin: 0;
}

.em-cat__cta-texto .em-eyebrow {
	margin-bottom: 12px;
}

.em-cat__cta-titulo {
	margin-bottom: 12px;
	font-size: var(--wp--preset--font-size--heading-sm);
	line-height: 1.1;
	text-wrap: balance;
}

.em-cat__cta-texto p:not(.em-eyebrow) {
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.6;
	text-wrap: pretty;
}

.em-cat__cta-botones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.em-cat__cta-secundario {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: var(--wp--custom--alpha--gold--45);
	color: var(--wp--preset--color--bone);
}

.em-cat__cta-secundario:hover {
	color: var(--wp--preset--color--gold);
}

/* Migas de pan en la página del curso de Tutor (inc/cursos.php). */
.em-curso-migas {
	padding-top: clamp(24px, 3vw, 36px);
}

.em-curso-migas .em-migas {
	margin-bottom: 0;
}

/* Pantallas chicas: los filtros pasan a un cajón que abre "Filtros". Sin JavaScript
   quedan arriba de los resultados, con el botón "Aplicar filtros". */
@media (max-width: 1023px) {
	.em-cat__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.em-cat__filtros {
		position: static;
	}

	.em-js .em-cat__toggle {
		display: inline-flex;
	}

	.em-js .em-cat__filtros {
		display: none;
	}

	.em-js .em-cat__filtros.is-abierto {
		position: fixed;
		inset: 0;
		z-index: 60;
		display: block;
		padding: 24px var(--wp--preset--spacing--60) 40px;
		overflow-y: auto;
		background: var(--wp--preset--color--surface);
		box-shadow: var(--wp--preset--shadow--filete-oro);
	}

	.em-js .em-cat__filtros.is-abierto .em-cat__cerrar {
		display: block;
	}

	.em-cat-filtros-abiertos {
		overflow: hidden;
	}
}

@media (max-width: 600px) {
	.em-cat__titulo {
		font-size: var(--wp--preset--font-size--heading-sm);
	}

	.em-cat__intro {
		font-size: var(--wp--preset--font-size--md);
	}

	.em-cat__buscar {
		border-radius: var(--wp--custom--radius--card-sm);
	}

	.em-cat__input {
		padding: 14px 12px 14px 44px;
	}

	.em-cat__lupa {
		left: 14px;
	}

	.em-cat__buscar-btn {
		padding-inline: 16px;
		border-radius: 12px;
	}

	.em-cat__barra {
		align-items: flex-start;
		flex-direction: column;
	}

	.em-cat__acciones {
		width: 100%;
		justify-content: space-between;
	}
}

/* ── Tutor LMS: página del curso ────────────────────────── */

/*
 * single-course.php sigue siendo la plantilla de Tutor, y su CSS (tutor-front)
 * pinta texto casi negro y paneles blancos: sobre el fondo noche del tema las
 * letras se pierden. El "tema oscuro" de Tutor solo alcanza a la zona de
 * aprendizaje. Acá se pasa la página a la paleta del sitio: texto pergamino,
 * paneles cuero con filete de oro, botón principal en oro. Todo va acotado a
 * body.single-courses para no tocar el panel del alumno ni las lecciones.
 */
body.single-courses .tutor-wrap,
body.single-courses .tutor-color-black,
body.single-courses .tutor-course-details-title,
body.single-courses .tutor-course-details-widget-title,
body.single-courses .tutor-course-content-list-item-title,
body.single-courses .tutor-accordion-item-header,
body.single-courses .tutor-course-details-tab h1,
body.single-courses .tutor-course-details-tab h2,
body.single-courses .tutor-course-details-tab h3,
body.single-courses .tutor-course-details-tab h4,
body.single-courses .tutor-nav-link.is-active,
body.single-courses .tutor-icon-level,
body.single-courses .tutor-icon-cart-filled {
	color: var(--wp--preset--color--bone);
}

body.single-courses .tutor-course-details-tab p,
body.single-courses .tutor-course-details-tab li {
	color: var(--wp--custom--alpha--bone--85);
}

body.single-courses .tutor-color-secondary,
body.single-courses .tutor-color-muted,
body.single-courses .tutor-color-subdued,
body.single-courses .tutor-color-hints,
body.single-courses .tutor-meta,
body.single-courses .tutor-course-details-info,
body.single-courses .tutor-nav-link,
body.single-courses .tutor-course-content-list-item .tutor-fs-7,
body.single-courses .tutor-btn.tutor-btn-ghost {
	color: var(--wp--custom--alpha--bone--62);
}

body.single-courses .tutor-course-details-tab a:not(.tutor-btn),
body.single-courses .tutor-course-details-info a,
body.single-courses .tutor-accordion-item-header.is-active,
body.single-courses .tutor-btn.tutor-btn-ghost:hover,
body.single-courses .tutor-nav-link:hover {
	color: var(--wp--preset--color--gold);
}

/* Título del curso en la tipografía de títulos del sitio. */
body.single-courses .tutor-course-details-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--heading-sm);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0;
}

body.single-courses .tutor-course-details-widget-title,
body.single-courses .tutor-accordion-item-header {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
}

/* Paneles: temario, caja de compra, docentes y listas laterales. */
body.single-courses .tutor-accordion-item,
body.single-courses .tutor-card,
body.single-courses .tutor-course-details-widget,
body.single-courses .tutor-course-details-instructors {
	background: var(--wp--preset--color--paper);
	border-color: var(--wp--custom--alpha--gold--25);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

body.single-courses .tutor-accordion-item-header {
	background: var(--wp--preset--color--paper);
}

body.single-courses .tutor-accordion-item-header.is-active {
	background: var(--wp--preset--color--field);
}

body.single-courses .tutor-accordion-item-body-content,
body.single-courses .tutor-card-footer {
	background: transparent;
	border-color: var(--wp--custom--alpha--bone--10);
}

body.single-courses .tutor-course-content-list-item {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--custom--alpha--bone--10);
}

/* La caja de compra pinta el cuerpo en gris claro con más especificidad; los iconos de las
   lecciones (video, evaluación) van en oro. */
body.single-courses .tutor-card.tutor-sidebar-card .tutor-card-body,
body.single-courses .tutor-card .tutor-card-body {
	background: transparent;
}

body.single-courses .tutor-course-content-list-item [class*="tutor-icon-"] {
	color: var(--wp--preset--color--gold);
}

body.single-courses .tutor-avatar {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--bone);
}

body.single-courses .tutor-progress-bar {
	background: var(--wp--custom--alpha--bone--12);
}

body.single-courses .tutor-progress-value {
	background: var(--wp--preset--color--gold);
}

/* Precio en oro; botón principal como el resto del sitio. */
body.single-courses .tutor-course-sidebar-card-pricing .tutor-fs-4,
body.single-courses .woocommerce-Price-amount {
	font-family: var(--wp--preset--font-family--display);
	color: var(--wp--preset--color--gold);
}

body.single-courses .tutor-btn.tutor-btn-primary {
	background: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--night);
}

body.single-courses .tutor-btn.tutor-btn-primary:hover,
body.single-courses .tutor-btn.tutor-btn-primary:focus {
	background: var(--wp--preset--color--bone);
	border-color: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--night);
}

body.single-courses .tutor-btn.tutor-btn-outline-primary {
	border-color: var(--wp--custom--alpha--gold--45);
	color: var(--wp--preset--color--bone);
}

body.single-courses .tutor-btn.tutor-btn-outline-primary:hover {
	border-color: var(--wp--preset--color--gold);
	background: transparent;
	color: var(--wp--preset--color--gold);
}

/* Ventanas de acceso y compartir: mismo tratamiento que el formulario de login. */
body.single-courses .tutor-modal-content {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--custom--alpha--gold--25);
	color: var(--wp--preset--color--bone);
}

body.single-courses .tutor-modal-content .tutor-form-control {
	background: var(--wp--preset--color--field);
	border-color: var(--wp--custom--alpha--bone--20);
	color: var(--wp--preset--color--bone);
}

body.single-courses .tutor-modal-content .tutor-iconic-btn,
body.single-courses .tutor-modal-content .tutor-copy-text {
	background: transparent;
	color: var(--wp--custom--alpha--bone--62);
}

/* ── Sello de la Escuela Micaélica ──────────────────────── */

/*
 * El logo de la Escuela acompaña todo lo que vive dentro de ella: el catálogo
 * (arriba del rótulo), cada curso (banda sobre las migas, con el nombre) y la
 * sección de cursos de la página Escuela. Es assets/images/escuela-micaelica-sello.png,
 * una copia de 240px del logo grande.
 */
.em-cat__sello {
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 0 20px;
	filter: drop-shadow(0 6px 16px var(--wp--custom--alpha--night--55));
}

.em-cursos .em-cursos__sello {
	margin: 0 0 18px;
}

.em-cursos .em-cursos__sello img {
	display: block;
	width: 56px;
	height: auto;
	filter: drop-shadow(0 6px 16px var(--wp--custom--alpha--night--55));
}

.em-sello-escuela {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

.em-sello-escuela img {
	display: block;
	width: 44px;
	height: 44px;
	filter: drop-shadow(0 4px 12px var(--wp--custom--alpha--night--55));
}

.em-sello-escuela:hover {
	color: var(--wp--preset--color--bone);
}

@media (max-width: 600px) {
	.em-cat__sello {
		width: 56px;
		height: 56px;
	}
}

/* ── El Tablero ─────────────────────────────────────────── */

/*
 * La Mesa Libre de tarot (app en tablero/, compilada en assets/tablero/).
 * Página /tablero/: a visitantes, presentación + acceso (grupo
 * em-solo-visitantes); con sesión, la mesa (grupo em-solo-usuarios, bloque
 * escuela-micaelica/tablero). inc/tablero.php pone em-tablero en el <body>.
 */

/* Cabecera pegada arriba, como en las pantallas de Tutor; theme.js mide --em-cabecera. */
body.em-tablero {
	--em-cabecera: 84px;
	--em-barra: 0px;
}

body.admin-bar.em-tablero {
	--em-barra: 32px;
}

body.em-tablero .wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--em-barra);
	z-index: 15;
}

/* Presentación + acceso (visitantes). */
.em-tablero-gate__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

.em-tablero-gate__grid > *,
.em-tablero-gate__texto > *,
.em-tablero-gate__acceso > * {
	margin-block-start: 0;
}

.em-tablero-gate__texto .em-eyebrow {
	margin-bottom: 16px;
}

.em-tablero-gate__titulo {
	margin: 0 0 20px;
	line-height: 1.02;
	text-wrap: balance;
}

.em-tablero-gate__intro {
	max-width: var(--wp--custom--measure--lead);
	margin: 0 0 24px;
	color: var(--wp--custom--alpha--bone--85);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.6;
	text-wrap: pretty;
}

.em-tablero-gate__lista {
	display: grid;
	gap: 12px;
	max-width: 40rem;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.em-tablero-gate__lista li {
	position: relative;
	margin: 0;
	padding-left: 26px;
	color: var(--wp--custom--alpha--bone--62);
	line-height: 1.55;
}

.em-tablero-gate__lista li::before {
	content: "✦";
	position: absolute;
	top: 0.15em;
	left: 0;
	font-size: 0.85em;
	color: var(--wp--preset--color--gold);
}

.em-tablero-gate__lista strong {
	color: var(--wp--preset--color--bone);
	font-weight: 600;
}

.em-tablero-gate__nota {
	margin: 0 0 32px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--alpha--bone--62);
}

/* Abanico de tres cartas (decorativo). --carta es el ancho de cada una. */
.em-abanico {
	--carta: 120px;
	position: relative;
	width: calc(var(--carta) * 2.4);
	height: calc(var(--carta) * 1.8);
	margin: 8px 0 0;
}

.em-abanico img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: var(--carta);
	height: auto;
	border-radius: calc(var(--carta) * 0.06);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
	filter: sepia(0.15) saturate(0.85);
	transform-origin: 50% 115%;
}

.em-abanico img:nth-child(1) {
	transform: rotate(-12deg);
}

.em-abanico img:nth-child(2) {
	z-index: 1;
	transform: translate(calc(var(--carta) * 0.6), -14px);
}

.em-abanico img:nth-child(3) {
	transform: translateX(calc(var(--carta) * 1.2)) rotate(12deg);
}

.em-abanico--grande {
	--carta: clamp(140px, 14vw, 190px);
	margin: 0 auto;
}

/* Acceso: el formulario de WordPress (wp_login_form) como tarjeta. */
.em-acceso {
	padding: clamp(24px, 3vw, 36px);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--paper);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
}

.em-acceso > * {
	margin: 0;
}

.em-acceso__titulo {
	margin-bottom: 6px;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--card-lg);
	font-weight: 600;
	line-height: 1.1;
	color: var(--wp--preset--color--bone);
}

.em-acceso__intro {
	margin-bottom: 22px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--custom--alpha--bone--62);
}

.em-acceso__error {
	margin-bottom: 16px;
	padding: 10px 14px;
	border: 1px solid var(--wp--preset--color--ember);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--bone);
}

.em-acceso form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.em-acceso form p {
	margin: 0;
}

.em-acceso label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

.em-acceso .input {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--bone);
}

.em-acceso .input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
}

.em-acceso .login-remember label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: 0;
	text-transform: none;
}

.em-acceso .login-remember input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--wp--preset--color--gold);
}

.em-acceso .login-submit {
	margin-top: 6px;
}

.em-acceso .button {
	width: 100%;
	min-height: 48px;
	padding: 8px 20px;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
	color: var(--wp--preset--color--night);
	cursor: pointer;
	transition: background-color var(--wp--custom--duration--fast);
}

.em-acceso .button:hover {
	background: var(--wp--preset--color--bone);
}

.em-acceso__olvido {
	margin-top: 16px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
}

.em-acceso__olvido a {
	color: var(--wp--custom--alpha--bone--62);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.em-acceso__olvido a:hover,
.em-acceso__registro a {
	color: var(--wp--preset--color--gold);
}

.em-acceso__registro {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
	color: var(--wp--custom--alpha--bone--62);
}

/* La mesa (con sesión): la app ocupa todo debajo de la cabecera, sin barra propia. */
/* Sin el espacio que WordPress deja entre la cabecera y el contenido: la mesa arranca pegada. */
body.em-tablero-abierto .wp-site-blocks > main {
	margin-block-start: 0;
}

.em-tablero__cargando {
	margin: 0;
	padding: 64px 24px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-align: center;
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--40);
}

/*
 * La app trae sus variables (navy/gold/cream, sus fuentes) prefijadas en
 * .em-tablero-app; acá se pisan con la paleta y las fuentes del sitio. Su
 * sección ocupa la pantalla menos la cabecera pegada (y la barra de administración).
 */
.em-tablero .em-tablero-app {
	--navy: var(--wp--preset--color--ink);
	--navy-deep: var(--wp--preset--color--night);
	--gold: var(--wp--preset--color--gold);
	--gold-mid: #b8944f;
	--gold-deep: #8f7340;
	--cream: var(--wp--preset--color--bone);
	--cream-warm: #d9cdb6;
	--cyan: var(--wp--preset--color--gold);
	--serif: var(--wp--preset--font-family--display);
	--sans: var(--wp--preset--font-family--sans);
	--mono: var(--wp--preset--font-family--sans);
	--nav-h: 0px;
	min-height: 0;
	overflow-x: visible;
}

.em-tablero .em-tablero-app .section-board.section-mesa {
	height: calc(100dvh - var(--em-cabecera) - var(--em-barra));
	min-height: 560px;
}

.em-tablero .em-tablero-app .section-mesa > .container {
	padding-top: 0;
}

/* Sección en el inicio. */
.em-tablero-inicio__grid {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}

.em-tablero-inicio__grid > *,
.em-tablero-inicio__texto > * {
	margin-block-start: 0;
}

.em-tablero-inicio__texto .em-eyebrow {
	margin-bottom: 14px;
}

.em-tablero-inicio__title {
	margin: 0 0 18px;
	line-height: 1.02;
}

.em-tablero-inicio__intro {
	max-width: var(--wp--custom--measure--lead);
	margin: 0 0 28px;
	color: var(--wp--custom--alpha--bone--62);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.6;
	text-wrap: pretty;
}

.em-tablero-inicio__visual {
	display: flex;
	justify-content: center;
}

@media (max-width: 900px) {
	body.em-tablero {
		--em-cabecera: 68px;
	}

	.em-tablero-gate__grid,
	.em-tablero-inicio__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.em-tablero-inicio__visual {
		order: -1;
	}

	.em-tablero .em-tablero-app .section-board.section-mesa {
		min-height: 480px;
	}
}

@media (max-width: 782px) {
	body.admin-bar.em-tablero {
		--em-barra: 46px;
	}
}

@media (max-width: 600px) {
	.em-abanico {
		--carta: 96px;
	}
}

/* ── Tutor LMS: acceso, registro y recuperación ─────────── */

/*
 * Registro, Mi cuenta sin sesión y recuperación de contraseña (body.em-cuenta-publica, lo pone
 * inc/tutor.php). tutor-core.min.css pinta el body y los textos con sus tokens claros: acá se
 * mapean a la paleta y los formularios de Tutor toman el mismo tratamiento que el acceso del
 * Tablero (tarjeta de cuero con filete, campos oscuros, botón en oro).
 */
body.em-cuenta-publica {
	--tutor-surface-base: var(--wp--preset--color--night);
	/* l1 a l3: fondos de campos y controles (el campo vacío usa l3). */
	--tutor-surface-l1: var(--wp--preset--color--field);
	--tutor-surface-l1-hover: var(--wp--preset--color--field);
	--tutor-surface-l2: var(--wp--preset--color--field);
	--tutor-surface-l3: var(--wp--preset--color--field);
	--tutor-text-primary: var(--wp--preset--color--bone);
	--tutor-text-secondary: var(--wp--custom--alpha--bone--62);
	--tutor-text-subdued: var(--wp--custom--alpha--bone--62);
	--tutor-border-idle: var(--wp--custom--alpha--bone--12);
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .wp-block-post-title {
	color: var(--wp--preset--color--bone);
}

/* tutor-core también pinta el <html> de claro: se ve al estirar la página. */
html:has(> body.em-cuenta-publica) {
	background-color: var(--wp--preset--color--night);
}

/* En Mi cuenta el formulario viene dentro de otro .tutor-card: ese envoltorio queda sin tarjeta. */
body.em-cuenta-publica .tutor-login-wrap.tutor-card {
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.em-cuenta-publica .tutor-card,
body.em-cuenta-publica .tutor-login-wrap .tutor-login-form-wrapper {
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .tutor-h3,
body.em-cuenta-publica .tutor-color-black {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .tutor-card label,
body.em-cuenta-publica .tutor-login-wrap label.tutor-block {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--custom--alpha--bone--62);
}

body.em-cuenta-publica .tutor-card .tutor-small,
body.em-cuenta-publica .tutor-card p,
body.em-cuenta-publica .tutor-login-wrap .tutor-small,
body.em-cuenta-publica .tutor-login-wrap .tutor-label {
	color: var(--wp--custom--alpha--bone--62);
}

body.em-cuenta-publica .tutor-form-control {
	border: 1px solid var(--wp--custom--alpha--bone--12);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--field);
	box-shadow: none;
	font-family: var(--wp--preset--font-family--sans);
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .tutor-form-control::placeholder {
	color: var(--wp--custom--alpha--bone--40);
}

body.em-cuenta-publica .tutor-form-control:focus {
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 1px var(--wp--preset--color--gold);
}

body.em-cuenta-publica .tutor-btn.tutor-btn-primary {
	min-height: 46px;
	border-color: var(--wp--preset--color--gold);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--sans);
	color: var(--wp--preset--color--night);
}

body.em-cuenta-publica .tutor-btn.tutor-btn-primary:hover,
body.em-cuenta-publica .tutor-btn.tutor-btn-primary:focus {
	border-color: var(--wp--preset--color--bone);
	background: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--night);
}

body.em-cuenta-publica .tutor-btn.tutor-btn-link {
	color: var(--wp--preset--color--gold);
}

body.em-cuenta-publica .tutor-btn.tutor-btn-link-gray {
	color: var(--wp--custom--alpha--bone--62);
}

body.em-cuenta-publica .tutor-btn.tutor-btn-link:hover,
body.em-cuenta-publica .tutor-btn.tutor-btn-link-gray:hover {
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .tutor-checkbox {
	border-color: var(--wp--custom--alpha--bone--40);
	background-color: var(--wp--preset--color--field);
	accent-color: var(--wp--preset--color--gold);
}

body.em-cuenta-publica .tutor-alert {
	border: 0;
	border-left: 3px solid var(--wp--preset--color--ember);
	border-radius: var(--wp--custom--radius--input);
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--bone);
}

body.em-cuenta-publica .tutor-alert.tutor-success {
	border-left-color: var(--wp--preset--color--gold);
}

/* Presentación del registro (inc/tutor.php). */
.em-registro-intro {
	margin: 0 32px 4px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--wp--custom--alpha--bone--10);
}

.em-registro-intro > * {
	margin: 0;
}

.em-registro-intro .em-eyebrow {
	margin-bottom: 10px;
}

.em-registro-intro__texto {
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
	color: var(--wp--custom--alpha--bone--85);
}

/* Consentimiento del registro: casilla obligatoria "Leí y acepto los Términos y Condiciones y la
 * Política de Privacidad" (consentimiento legal de Tutor). Su rótulo es una frase, no un rótulo de
 * campo: sin mayúsculas, con los enlaces en oro. */
body.em-cuenta-publica .tutor-form-check .tutor-label {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	letter-spacing: normal;
	line-height: 1.5;
	text-transform: none;
	color: var(--wp--custom--alpha--bone--85);
}

body.em-cuenta-publica .tutor-form-check .tutor-consent-link {
	color: var(--wp--preset--color--gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.em-cuenta-publica .tutor-form-check .tutor-consent-link:hover {
	color: var(--wp--preset--color--bone);
}

/* ── Tutor LMS: panel de docentes ───────────────────────── */

/*
 * A los docentes se les paga por fuera del sitio (reparto de ingresos apagado, sin "Retiros":
 * mu-plugins/escuela-micaelica-docentes.php). La tarjeta "Ganancias totales" del inicio del panel
 * quedaría siempre en $ 0, así que no se muestra. Es la única tarjeta con la variante "brand".
 */
[data-section-id="current_stats"] > .tutor-flex-1:has(> .tutor-stat-card-brand) {
	display: none;
}

/* ── Tutor LMS: docente con ficha de Profesores ─────────── */

/*
 * "Un curso de" en la página del curso muestra el retrato de la ficha vinculada
 * (tutor/single/course/instructors.php). El retrato se recorta al círculo del avatar de Tutor.
 */
.em-docente__retrato img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

/* ── Cartel de cookies (CookieYes) ──────────────────────── */

/*
 * El cartel y el panel de preferencias de CookieYes con la estética del sitio. Los colores base
 * (fondo, textos, botones en oro) los carga bin/configurar-cookies.php en el propio plugin, que
 * los escribe como estilos en línea; acá van tipografía, bordes, sombras, estados y lo que el
 * plugin no deja configurar (el degradé blanco del pie del panel, la cruz de cerrar oscura). Los
 * !important solo pisan estilos en línea del plugin. Los selectores empiezan con body porque el
 * plugin inyecta su CSS al final de la página, con la misma especificidad.
 */
body .cky-consent-container .cky-consent-bar,
body .cky-modal .cky-preference-center {
	border: 1px solid var(--wp--custom--alpha--gold--25);
	border-radius: var(--wp--custom--radius--card-sm);
	box-shadow: var(--wp--preset--shadow--filete-oro), var(--wp--preset--shadow--tarjeta);
	font-family: var(--wp--preset--font-family--sans);
}

body .cky-consent-container .cky-consent-bar {
	padding: 22px 24px;
}

body .cky-consent-container .cky-title,
body .cky-modal .cky-preference-title {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: var(--wp--custom--tracking--tight);
}

body .cky-consent-container .cky-notice-des,
body .cky-modal .cky-preference-content-wrapper,
body .cky-modal .cky-accordion-header-des {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
}

body .cky-consent-container .cky-notice-des p,
body .cky-modal .cky-preference-content-wrapper p,
body .cky-modal .cky-accordion-header-des p {
	color: var(--wp--custom--alpha--bone--85);
}

body .cky-consent-container .cky-notice-des a,
body .cky-modal .cky-preference-content-wrapper a {
	color: var(--wp--preset--color--gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body .cky-consent-container .cky-btn,
body .cky-modal .cky-btn {
	min-height: 42px;
	padding: 9px 18px;
	border-width: 1px;
	border-radius: var(--wp--custom--radius--pill);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	letter-spacing: normal;
	transition:
		background-color var(--wp--custom--duration--fast),
		border-color var(--wp--custom--duration--fast),
		color var(--wp--custom--duration--fast);
}

body .cky-consent-container .cky-btn:hover,
body .cky-modal .cky-btn:hover {
	opacity: 1;
}

body .cky-consent-container .cky-btn-accept:hover,
body .cky-consent-container .cky-btn-reject:hover,
body .cky-modal .cky-btn-accept:hover,
body .cky-modal .cky-btn-reject:hover {
	border-color: var(--wp--preset--color--bone) !important;
	background-color: var(--wp--preset--color--bone) !important;
	color: var(--wp--preset--color--night) !important;
}

body .cky-consent-container .cky-btn-customize:hover,
body .cky-modal .cky-btn-preferences:hover {
	background-color: var(--wp--custom--alpha--gold--15) !important;
	color: var(--wp--preset--color--bone) !important;
}

body .cky-consent-container .cky-btn:focus-visible,
body .cky-modal .cky-btn:focus-visible,
body .cky-modal .cky-btn-close:focus-visible,
body .cky-modal .cky-accordion-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* Panel de preferencias. */
body .cky-modal .cky-preference-header,
body .cky-modal .cky-accordion,
body .cky-modal .cky-footer-wrapper {
	border-color: var(--wp--custom--alpha--bone--10);
}

body .cky-modal .cky-btn-close img {
	filter: invert(1) sepia(0.2) brightness(0.92);
}

body .cky-modal .cky-accordion-btn {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 500;
}

body .cky-modal .cky-always-active {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: var(--wp--custom--tracking--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

body .cky-modal .cky-chevron-right {
	border-color: var(--wp--custom--alpha--bone--62);
}

body .cky-modal .cky-audit-table {
	border-radius: var(--wp--custom--radius--input);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
}

body .cky-modal .cky-cookie-des-table li div:first-child {
	color: var(--wp--custom--alpha--bone--62);
}

body .cky-modal .cky-cookie-des-table li div:last-child {
	color: var(--wp--preset--color--bone);
}

/* El plugin pinta de blanco el degradé y el fondo del pie del panel. */
body .cky-modal .cky-footer-shadow {
	background: linear-gradient(180deg, transparent 0%, var(--wp--preset--color--surface) 100%);
}

body .cky-modal .cky-footer-wrapper,
body .cky-modal .cky-prefrence-btn-wrapper {
	background: var(--wp--preset--color--surface);
}

body .cky-modal .cky-footer-wrapper [data-cky-tag="detail-powered-by"] {
	border-top: 1px solid var(--wp--custom--alpha--bone--10);
	background: var(--wp--preset--color--night) !important;
	color: var(--wp--custom--alpha--bone--40) !important;
	font-family: var(--wp--preset--font-family--sans);
}

body .cky-modal .cky-preference-body-wrapper {
	scrollbar-color: var(--wp--custom--alpha--gold--40) transparent;
	scrollbar-width: thin;
}

/* En pantallas chicas el cartel ocupa todo el ancho, pegado abajo: sin esquinas ni borde inferior. */
@media (max-width: 440px) {
	body .cky-consent-container .cky-consent-bar {
		padding: 20px 18px;
		border-bottom: 0;
		border-radius: var(--wp--custom--radius--card-sm) var(--wp--custom--radius--card-sm) 0 0;
	}
}

/* ── Escuela Micaélica: cabecera clara ──────────────────── */

/*
 * En la sección de la Escuela (la página /escuela/, el catálogo, cada curso y sus lecciones:
 * body.em-escuela, lo pone inc/escuela.php) la cabecera es marfil, con el sello y el nombre de
 * la Escuela en lugar del logo de Templanzi. Los !important solo pisan las clases de color que
 * WordPress genera para los bloques (has-ink-background-color, has-bone-color), que también
 * los llevan.
 */
body.em-escuela {
	--em-cabecera: 84px;
	--em-barra: 0px;
}

body.admin-bar.em-escuela {
	--em-barra: 32px;
}

body.em-escuela .em-header,
body.em-escuela .em-landing .em-header,
body.em-escuela .em-landing .em-header.is-solid {
	background-color: var(--wp--preset--color--ivory) !important;
	color: var(--wp--preset--color--ink) !important;
	border-bottom: 1px solid var(--wp--custom--alpha--gold--40);
}

/* Sello y nombre de la Escuela (con más peso que la regla del bloque Logo del sitio, que pone
   el enlace en inline-block). */
.em-logo-escuela .em-logo-escuela__enlace {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.em-logo-escuela__nombre {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: var(--wp--custom--tracking--tight);
	white-space: nowrap;
}

.em-logo-escuela__enlace:hover .em-logo-escuela__nombre,
.em-logo-escuela__enlace:focus-visible .em-logo-escuela__nombre {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
	text-underline-offset: 6px;
}

/* Menú: texto azul micaélico; la página actual, subrayada en oro. */
body.em-escuela .em-header .wp-block-navigation.has-text-color {
	color: var(--wp--preset--color--ink) !important;
}

body.em-escuela .em-header .wp-block-navigation a:where(:not(.wp-element-button)) {
	color: var(--wp--custom--alpha--ink--70);
}

body.em-escuela .em-header .wp-block-navigation a:where(:not(.wp-element-button)):hover,
body.em-escuela .em-header .wp-block-navigation .current-menu-item > a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--ink);
}

/* Menú desplegado en pantallas chicas: también claro. */
body.em-escuela .em-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--ivory) !important;
	color: var(--wp--preset--color--ink) !important;
}

/* Carrito y "Mi cuenta". */
body.em-escuela .em-header .wc-block-mini-cart__button,
body.em-escuela .em-header .wc-block-customer-account__link {
	color: var(--wp--custom--alpha--ink--70);
}

body.em-escuela .em-header .wc-block-mini-cart__button:hover,
body.em-escuela .em-header .wc-block-customer-account__link:hover,
body.em-escuela .em-header .em-cuenta:hover .wc-block-customer-account__link,
body.em-escuela .em-header .em-cuenta.is-abierto .wc-block-customer-account__link {
	color: var(--wp--preset--color--ink);
}

/* El desplegable de "Mi cuenta", en claro como la cabecera. */
body.em-escuela .em-cuenta__panel {
	border-color: var(--wp--custom--alpha--ink--12);
	background: var(--wp--preset--color--ivory);
	box-shadow: 0 14px 36px var(--wp--custom--alpha--ink--20);
}

body.em-escuela .em-cuenta__quien {
	border-bottom-color: var(--wp--custom--alpha--ink--10);
}

body.em-escuela .em-cuenta__quien span {
	color: var(--wp--custom--alpha--ink--55);
}

body.em-escuela .em-cuenta__quien strong,
body.em-escuela .em-cuenta__item {
	color: var(--wp--preset--color--ink);
}

body.em-escuela .em-cuenta__item:hover,
body.em-escuela .em-cuenta__item:focus-visible {
	background: var(--wp--preset--color--bone);
	color: var(--wp--preset--color--ink);
}

body.em-escuela .em-cuenta__item--salir {
	color: var(--wp--custom--alpha--ink--70);
}

body.em-escuela .em-cuenta__item--salir::before {
	border-top-color: var(--wp--custom--alpha--ink--10);
}

/*
 * Portada de /escuela/ (plantilla Landing): la cabecera ya no es transparente sobre el video,
 * así que la portada arranca debajo de ella y la tarjeta se pega a su borde inferior.
 * theme.js mide la cabecera real en --em-cabecera.
 */
body.em-escuela .em-landing > .wp-block-post-content {
	padding-top: var(--em-cabecera);
}

body.em-escuela .em-hero__sticky {
	top: calc(var(--em-cabecera) + var(--em-barra));
	height: calc(100vh - var(--em-cabecera) - var(--em-barra));
}

@media (max-width: 900px) {
	body.em-escuela {
		--em-cabecera: 68px;
	}

	.em-logo-escuela .em-logo-escuela__enlace {
		gap: 10px;
	}

	.em-logo-escuela__nombre {
		font-size: 1.2rem;
	}
}

/* En celulares queda el sello solo; el nombre sigue ahí para los lectores de pantalla. */
@media (max-width: 560px) {
	.em-logo-escuela__nombre {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

@media (max-width: 782px) {
	body.admin-bar.em-escuela {
		--em-barra: 46px;
	}
}
