/* Hallmark · sistema Fanzine por clases para Beaver Builder · theme: carnival · drop: studio-night
 * cabecera (.fz-cabecera) y pie (.fz-pie) hechos con módulos normales
 * Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V4 · contrast: pass (40–41) · tokens: pass (48) · mobile: pass (34, 49)
 */

/* Envoltorios de Beaver Builder de las plantillas: fuera fondos y márgenes */
.fl-builder-content-28,
.fl-builder-content-34 { --fz-wrap-ink: oklch(20% 0.05 270); }
.fl-builder-content-28 .fl-row-content-wrap,
.fl-builder-content-34 .fl-row-content-wrap {
	background: var(--fz-wrap-ink) !important; background-image: none !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important;
}
.fl-builder-content-28 .fl-row-content-wrap::after,
.fl-builder-content-34 .fl-row-content-wrap::after { display: none !important; }
.fl-builder-content-28 :is(.fl-row-content, .fl-col-content, .fl-module, .fl-module-content),
.fl-builder-content-34 :is(.fl-row-content, .fl-col-content, .fl-module, .fl-module-content) {
	margin: 0 !important; padding: 0 !important; max-width: none !important;
}

/* ════════════════════════════════════════════════════════════════
 * SISTEMA FANZINE POR CLASES (módulos normales de Beaver Builder)
 * Pon la clase en «Avanzado → Clase CSS» del módulo, columna o fila.
 * ════════════════════════════════════════════════════════════════ */
:root {
	--fz-paper: oklch(88% 0.05 25);
	--fz-paper-a70: oklch(88% 0.05 25 / 0.7);
	--fz-paper-a25: oklch(88% 0.05 25 / 0.25);
	--fz-card: oklch(95% 0.025 25);
	--fz-ink: oklch(20% 0.05 270);
	--fz-accent: oklch(78% 0.18 220);
	--fz-accent-2: oklch(24% 0.18 320);
	--fz-font-display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
	--fz-font-body: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fz-space-3xs: 4px; --fz-space-2xs: 8px; --fz-space-xs: 12px; --fz-space-sm: 16px; --fz-space-md: 24px;
	--fz-space-lg: 32px; --fz-space-xl: 48px; --fz-space-2xl: 72px;
	--fz-text-sm: 14px; --fz-text-md: 18px; --fz-text-lg: 22px; --fz-text-xl: 28px;
	--fz-rule: 2px;
	--fz-radius: 4px;
	--fz-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--fz-dur: 180ms;
}

/* ── Fila de cabecera: .fz-cabecera ───────────────────────────── */
.fz-cabecera > .fl-row-content-wrap {
	background: var(--fz-ink) !important; background-image: none !important;
	border-bottom: var(--fz-rule) solid var(--fz-ink) !important;
}
.fz-cabecera .fl-row-content { position: relative; max-width: 1240px !important; margin: 0 auto !important; padding: var(--fz-space-xs) var(--fz-space-md) !important; }
.fz-cabecera .fl-col-group { display: flex !important; flex-wrap: wrap; align-items: center; gap: var(--fz-space-sm) var(--fz-space-md); }
.fz-cabecera .fl-col-group::before, .fz-cabecera .fl-col-group::after { display: none !important; }
.fz-cabecera .fl-col { float: none !important; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; flex: 0 0 auto; clear: none !important; }
.fz-cabecera .fz-cabecera__menu { flex: 1 1 auto; }
.fz-cabecera .fl-col-content { display: flex !important; flex-direction: row !important; flex-wrap: nowrap; align-items: center !important; justify-content: flex-start; gap: var(--fz-space-sm); }
.fz-cabecera .fz-cabecera__menu .fl-col-content { justify-content: flex-end; }
.fz-cabecera .fz-cabecera__accion .fl-col-content { justify-content: flex-end; }
.fz-cabecera .fl-module { margin: 0 !important; }
.fz-cabecera .fl-module-content { margin: 0 !important; }

/* Logo pegatina: .fz-logo (módulo Foto) */
.fz-logo .fl-photo { text-align: left; line-height: 0; }
.fz-logo .fl-photo-content { display: inline-block; }
.fz-logo img {
	display: block; width: 64px !important; height: 64px !important; max-width: none; object-fit: cover;
	border: var(--fz-rule) solid var(--fz-accent) !important; border-radius: var(--fz-radius) !important;
	box-shadow: 4px 4px 0 var(--fz-accent) !important;
	transform: rotate(-3deg);
	transition: transform var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { .fz-logo a:hover img { transform: rotate(0deg); } }
.fz-logo a:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 4px; }

/* Nombre en mayúsculas: .fz-marca (módulo Texto) */
:is(.fz-marca.fl-rich-text, .fz-marca .fl-rich-text),
:is(.fz-marca.fl-rich-text, .fz-marca .fl-rich-text) p {
	margin: 0 !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important;
	line-height: 1.02 !important; letter-spacing: 0.02em; text-transform: uppercase; color: var(--fz-paper) !important;
}

/* Menú: .fz-menu (módulo Menú) */
.fz-menu .menu { display: flex !important; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: var(--fz-space-2xs); margin: 0 !important; padding: 0 !important; background: transparent !important; }
.fz-menu .menu li { float: none !important; margin: 0 !important; border: 0 !important; list-style: none !important; }
.fz-menu .menu a {
	display: block; padding: var(--fz-space-2xs) var(--fz-space-xs) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
	color: var(--fz-paper) !important; background: transparent !important; text-decoration: none !important;
	border: var(--fz-rule) solid transparent; border-radius: var(--fz-radius);
	transition: border-color var(--fz-dur) var(--fz-ease);
}
.fz-menu .menu a:hover { border-color: var(--fz-accent); }
.fz-menu .menu a:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 2px; }
.fz-menu .menu :is(.current-menu-item, .current_page_item) > a {
	text-decoration: underline !important; text-decoration-thickness: 3px !important;
	text-decoration-color: var(--fz-accent) !important; text-underline-offset: 6px;
}
.fz-menu .fl-menu-mobile-toggle {
	display: none; align-items: center; gap: var(--fz-space-2xs);
	min-height: 44px; padding: var(--fz-space-2xs) var(--fz-space-sm) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap; cursor: pointer;
	color: var(--fz-paper) !important; background: transparent !important;
	border: var(--fz-rule) solid var(--fz-paper) !important; border-radius: var(--fz-radius) !important; box-shadow: none !important;
}
.fz-menu .fl-menu-mobile-toggle-label { font: inherit !important; letter-spacing: inherit !important; text-transform: uppercase !important; color: inherit !important; }
.fz-menu .fl-menu-mobile-toggle.fl-active { color: var(--fz-accent) !important; border-color: var(--fz-accent) !important; }
.fz-menu .fl-menu-mobile-toggle svg { width: 18px; height: 18px; fill: currentColor !important; }
.fz-menu .fl-menu-mobile-toggle svg rect { fill: currentColor !important; }
.fz-menu .fl-menu-mobile-toggle:hover { color: var(--fz-accent) !important; border-color: var(--fz-accent) !important; }
.fz-menu .fl-menu-mobile-toggle:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 3px; }

/* Botón cian con sombra dura: :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) (módulo Botón) · variante .fz-boton-linea */
:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button,
.fz-boton-linea a.fl-button {
	display: inline-flex !important; align-items: center; gap: var(--fz-space-2xs);
	min-height: 44px; padding: var(--fz-space-2xs) var(--fz-space-sm) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap; text-decoration: none !important;
	border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease), background-color var(--fz-dur) var(--fz-ease), color var(--fz-dur) var(--fz-ease) !important;
}
:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) { --fz-sombra: var(--fz-ink); }
.fz-cabecera :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral), .fz-pie :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) { --fz-sombra: var(--fz-paper); }
:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button { background: var(--fz-boton-bg, var(--fz-accent)) !important; box-shadow: 4px 4px 0 var(--fz-sombra) !important; }
:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button, :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button * { color: var(--fz-ink) !important; }
@media (hover: hover) and (pointer: fine) { :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--fz-sombra) !important; } }
:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--fz-sombra) !important; }
.fz-boton-linea a.fl-button { background: transparent !important; border-color: var(--fz-paper) !important; box-shadow: none !important; }
.fz-boton-linea a.fl-button, .fz-boton-linea a.fl-button * { color: var(--fz-paper) !important; }
.fz-boton-linea a.fl-button:hover { background: var(--fz-paper) !important; }
.fz-boton-linea a.fl-button:hover, .fz-boton-linea a.fl-button:hover * { color: var(--fz-ink) !important; }
.fz-boton-linea a.fl-button:active { transform: translate(2px, 2px); }
:is(:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral), .fz-boton-linea) a.fl-button:focus-visible { outline: 3px solid var(--fz-accent) !important; outline-offset: 4px; }

@media (max-width: 1199px) {
	.fz-cabecera .fz-marca { display: none; }
}
@media (max-width: 992px) {
	.fz-cabecera .fl-row-content { padding: var(--fz-space-xs) var(--fz-space-sm) !important; }
	.fz-cabecera .fl-col-group { gap: var(--fz-space-xs); }
	.fz-cabecera .fz-cabecera__marca { order: 1; }
	.fz-cabecera .fz-cabecera__accion { order: 2; margin-left: auto !important; }
	.fz-cabecera .fz-cabecera__menu { order: 3; flex: 0 0 auto; }
	.fz-cabecera :is(.fl-col, .fl-col-content, .fl-module, .fl-module-content, .fl-menu) { position: static !important; }
	.fz-logo img { width: 52px !important; height: 52px !important; }
	.fz-menu .fl-menu-mobile-toggle { display: inline-flex !important; }
	.fz-menu .fl-menu .menu {
		position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
		flex-direction: column; align-items: stretch; gap: 0;
		padding: var(--fz-space-2xs) var(--fz-space-sm) var(--fz-space-sm) !important;
		background: var(--fz-ink) !important; border-bottom: var(--fz-rule) solid var(--fz-paper-a25);
	}
	.fz-menu .fl-menu .menu:not([style*="block"]) { display: none !important; }
	.fz-menu .menu a { padding: var(--fz-space-xs) var(--fz-space-2xs) !important; font-size: var(--fz-text-xl) !important; text-align: left !important; border-width: 0 0 var(--fz-rule); border-color: var(--fz-paper-a25); border-radius: 0; }
	.fz-menu .menu li { text-align: left !important; }
}
@media (max-width: 480px) {
	.fz-cabecera :is(:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button, .fz-menu .fl-menu-mobile-toggle) { padding-inline: var(--fz-space-xs) !important; font-size: var(--fz-text-md) !important; }
	.fz-menu .fl-menu-mobile-toggle { gap: 6px; }
}
@media (max-width: 359px) {
	:is(:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral), .fz-boton-linea) a.fl-button, .fz-menu .fl-menu-mobile-toggle { padding-inline: var(--fz-space-2xs) !important; font-size: var(--fz-text-md) !important; }
	.fz-logo img { width: 44px !important; height: 44px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.fz-logo img, :is(:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral), .fz-boton-linea) a.fl-button, .fz-menu .menu a { transition: opacity 120ms linear !important; }
	.fz-logo a:hover img { transform: rotate(-3deg); }
	:is(:is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral), .fz-boton-linea) a.fl-button:is(:hover, :active) { transform: none; }
}

/* ── Fila de pie: .fz-pie ─────────────────────────────────────── */
.fz-pie > .fl-row-content-wrap { background: var(--fz-ink) !important; background-image: none !important; }
.fz-pie .fl-row-content { max-width: none !important; }
.fz-pie .fl-col-group {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: var(--fz-space-sm) var(--fz-space-lg);
	max-width: 1240px; margin: 0 auto !important; padding: 0 var(--fz-space-md);
}
.fz-pie .fl-col-group::before, .fz-pie .fl-col-group::after { display: none !important; }
.fz-pie .fl-col { float: none !important; margin: 0 !important; max-width: none !important; min-width: 0; }
.fz-pie .fl-module, .fz-pie .fl-module-content { margin: 0 !important; }
.fz-pie .fl-col-group:has(.fz-cinta) { max-width: none; padding: 0; }
.fz-pie .fl-col:has(.fz-cinta) { width: 100% !important; }
.fz-pie__principal { width: 100% !important; padding: var(--fz-space-2xl) 0 var(--fz-space-lg) !important; }
.fz-pie__principal .fl-col-content { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: var(--fz-space-sm); }
.fz-pie__principal .fl-module-rich-text { flex: 0 0 100%; }
.fz-pie__principal .fl-module-button { flex: 0 0 auto; }
.fz-pie .fl-col-group:has(.fz-pie__secciones) { justify-content: space-between; padding-top: var(--fz-space-md); padding-bottom: var(--fz-space-lg); position: relative; }
.fz-pie .fl-col-group:has(.fz-pie__secciones)::before { content: ""; display: block !important; position: absolute; top: 0; left: var(--fz-space-md); right: var(--fz-space-md); border-top: var(--fz-rule) solid var(--fz-paper-a25); }
.fz-pie__secciones, .fz-pie__copy { width: auto !important; flex: 0 1 auto; }

/* Cinta que corre: .fz-cinta (módulo Texto, con el texto repetido) */
.fz-cinta { overflow: hidden; background: var(--fz-accent-2); border-block: var(--fz-rule) solid var(--fz-ink); }
:is(.fz-cinta.fl-rich-text, .fz-cinta .fl-rich-text) { white-space: nowrap; }
:is(.fz-cinta.fl-rich-text, .fz-cinta .fl-rich-text) p {
	display: inline-block; margin: 0 !important; padding: var(--fz-space-xs) 0;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.04em; text-transform: uppercase; color: var(--fz-paper) !important;
	animation: lmq-fz-cinta 60s linear infinite;
}
:is(.fz-cinta:hover.fl-rich-text, .fz-cinta:hover .fl-rich-text) p { animation-play-state: paused; }

/* Frase grande: .fz-frase (módulo Texto; lo que pongas en negrita sale en cian) */
:is(.fz-frase.fl-rich-text, .fz-frase .fl-rich-text) p {
	margin: 0 !important; max-width: 14ch;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-style: normal !important;
	font-size: clamp(48px, 20px + 6vw, 120px) !important; line-height: 1.02 !important; letter-spacing: -0.005em;
	text-transform: uppercase; color: var(--fz-frase-color, var(--fz-ink)) !important; overflow-wrap: anywhere;
}
:is(.fz-frase.fl-rich-text, .fz-frase .fl-rich-text) :is(strong, b) { font-weight: inherit; color: var(--fz-accent-2); }
.fz-pie .fz-frase { --fz-frase-color: var(--fz-paper); }
.fz-pie :is(.fz-frase.fl-rich-text, .fz-frase .fl-rich-text) :is(strong, b) { color: var(--fz-accent); }

/* Texto claro: .fz-texto-claro · Etiqueta: .fz-etiqueta · Enlaces en pastilla: .fz-enlaces · Copyright: .fz-copy */
:is(.fz-texto-claro.fl-rich-text, .fz-texto-claro .fl-rich-text) p { margin: 0 !important; font-family: var(--fz-font-body) !important; font-size: var(--fz-text-md) !important; line-height: 1.5 !important; color: var(--fz-paper) !important; }
:is(.fz-etiqueta.fl-rich-text, .fz-etiqueta .fl-rich-text) p {
	margin: var(--fz-space-sm) 0 0 !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.03em; text-transform: uppercase; color: var(--fz-accent) !important;
}
:is(.fz-enlaces.fl-rich-text, .fz-enlaces .fl-rich-text) p { display: flex; flex-wrap: wrap; gap: var(--fz-space-2xs); margin: 0 !important; }
:is(.fz-enlaces.fl-rich-text, .fz-enlaces .fl-rich-text) a {
	display: inline-block; padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-size: var(--fz-text-sm) !important; font-weight: 600; line-height: 1.2; white-space: nowrap;
	color: var(--fz-paper) !important; text-decoration: none !important;
	border: var(--fz-rule) solid var(--fz-paper-a70); border-radius: var(--fz-radius);
	transition: background-color var(--fz-dur) var(--fz-ease), color var(--fz-dur) var(--fz-ease), border-color var(--fz-dur) var(--fz-ease);
}
:is(.fz-enlaces.fl-rich-text, .fz-enlaces .fl-rich-text) a:hover { color: var(--fz-ink) !important; background: var(--fz-accent); border-color: var(--fz-accent); }
:is(.fz-enlaces.fl-rich-text, .fz-enlaces .fl-rich-text) a:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 2px; }
:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) p { margin: 0 !important; font-size: var(--fz-text-sm) !important; color: var(--fz-paper-a70) !important; }

/* Menú del pie: .fz-menu-pie (módulo Menú, modo «expandido») */
.fz-menu-pie .fl-menu-mobile-toggle { display: none !important; }
:is(.fz-menu, .fz-menu-pie) .menu::before, :is(.fz-menu, .fz-menu-pie) .menu::after { display: none !important; content: none !important; }
.fz-menu-pie .menu { display: flex !important; flex-wrap: wrap; gap: var(--fz-space-2xs) var(--fz-space-md); margin: 0 !important; padding: 0 !important; background: transparent !important; }
.fz-menu-pie .menu li { float: none !important; margin: 0 !important; border: 0 !important; list-style: none !important; }
.fz-menu-pie .menu a { padding: 0 !important; font-size: var(--fz-text-sm) !important; font-weight: 600; white-space: nowrap; color: var(--fz-paper) !important; background: transparent !important; text-decoration: none !important; }
.fz-menu-pie .menu a:hover { text-decoration: underline !important; text-decoration-color: var(--fz-accent) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }
.fz-menu-pie .menu a:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 2px; }

@media (max-width: 767px) {
	.fz-pie .fl-col-group { padding: 0 var(--fz-space-sm); }
	.fz-pie__principal { padding: var(--fz-space-xl) 0 var(--fz-space-md) !important; }
	.fz-pie .fl-col-group:has(.fz-pie__secciones)::before { left: var(--fz-space-sm); right: var(--fz-space-sm); }
	.fz-pie__secciones, .fz-pie__copy { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.fz-cinta.fl-rich-text, .fz-cinta .fl-rich-text) p { animation: none; }
	:is(.fz-enlaces.fl-rich-text, .fz-enlaces .fl-rich-text) a { transition: opacity 120ms linear; }
}

@keyframes lmq-fz-cinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ════════════════════════════════════════════════════════════════
 * BLOQUES DE PÁGINA POR CLASES
 * ════════════════════════════════════════════════════════════════ */
html, body { overflow-x: clip; }
:root { --fz-paper-2: oklch(84% 0.055 22); --fz-ink-2: oklch(32% 0.045 265); --fz-ink-a25: oklch(20% 0.05 270 / 0.25); }

/* Filas: .fz-cartel (papel rosa, arriba) · .fz-seccion (rosa algo más oscuro) */
.fz-cartel { position: relative; overflow-x: clip; }
.fz-cartel > .fl-row-content-wrap { background: var(--fz-paper) !important; background-image: none !important; padding: var(--fz-space-xl) var(--fz-space-md) 0 !important; }
.fz-seccion > .fl-row-content-wrap { background: var(--fz-paper-2) !important; background-image: none !important; padding: var(--fz-space-2xl) var(--fz-space-md) calc(var(--fz-space-2xl) + var(--fz-space-lg)) !important; }
:is(.fz-cartel, .fz-seccion) > .fl-row-content-wrap::after { display: none !important; }
.fz-cartel .fl-row-content, .fz-seccion .fl-row-content { max-width: 1240px; }
.fz-cartel__texto > .fl-col-content { padding-right: var(--fz-space-xl) !important; }

/* La cinta sale a todo lo ancho aunque esté dentro de una fila estrecha */
.fz-cartel .fz-cinta, .fz-seccion .fz-cinta { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

/* Etiqueta pegatina ciruela: .fz-pegatina (módulo Texto) */
:is(.fz-pegatina.fl-rich-text, .fz-pegatina .fl-rich-text) { text-align: left !important; margin: 0 0 var(--fz-space-md) !important; }
:is(.fz-pegatina.fl-rich-text, .fz-pegatina .fl-rich-text) p {
	display: inline-block; margin: 0 !important; padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-family: var(--fz-font-display) !important; font-weight: 800; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
	color: var(--fz-paper) !important; background: var(--fz-accent-2);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: 4px 4px 0 var(--fz-ink); transform: rotate(-2deg);
}
:is(.fz-pegatina.fl-rich-text, .fz-pegatina .fl-rich-text) p::before { content: "◆ "; content: "◆ " / ""; }

/* Título grande de cartel: .fz-titulo-cartel (módulo Título) */
:is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
	margin: 0 0 var(--fz-space-lg) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-style: normal !important;
	font-size: clamp(48px, 22px + 4.6vw, 88px) !important; line-height: 1.02 !important; letter-spacing: -0.005em !important;
	text-transform: uppercase; text-align: left !important; text-wrap: balance;
	color: var(--fz-ink) !important; overflow-wrap: anywhere; min-width: 0;
}
:is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) .fl-heading-text { font: inherit !important; color: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; background: none !important; padding: 0 !important; }

/* Texto de presentación: .fz-texto (módulo Texto; la cursiva sale como pegatina cian) */
:is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text), :is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text) p {
	max-width: 52ch; margin: 0 !important; text-align: left !important;
	font-family: var(--fz-font-body) !important; font-size: var(--fz-text-md) !important; line-height: 1.55 !important; color: var(--fz-ink) !important;
}
:is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text) p + p { margin-top: var(--fz-space-sm) !important; font-size: var(--fz-text-sm) !important; color: var(--fz-ink-2) !important; }
:is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text) :is(em, i) {
	font-style: normal !important; font-weight: 700 !important; color: var(--fz-ink) !important; background: var(--fz-accent) !important;
	padding: 0 var(--fz-space-3xs); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
}
.fz-cartel .fz-texto { margin-top: var(--fz-space-xl) !important; }

/* Reproductor en tarjeta: .fz-reproductor (módulo HTML con [podcastplayer]) */
.fz-reproductor .pp-podcast {
	margin: 0 !important; max-width: none !important; background: var(--fz-card) !important;
	border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important;
	box-shadow: 6px 6px 0 var(--fz-ink) !important; overflow: hidden;
}
.fz-reproductor .pp-podcast * { font-family: var(--fz-font-body); }
.fz-reproductor .pp-podcast :is(.pp-podcast__wrapper, .pp-podcast__content, .pp-podcast__single, .pp-podcast__player) { background: var(--fz-card) !important; }
.fz-reproductor .pp-podcast :is(p, span, div, a, button, input, h2, h3, h4) { color: var(--fz-ink) !important; }
.fz-reproductor .pp-podcast :is([class*="date"], [class*="desc"], [class*="excerpt"], [class*="time"]) { color: var(--fz-ink-2) !important; }
.fz-reproductor .pp-podcast svg,
.fz-reproductor .pp-podcast svg use,
.fz-reproductor .pp-podcast .ppjs__button.ppjs__playpause-button button * { fill: var(--fz-ink) !important; color: var(--fz-ink) !important; }
.fz-reproductor .pp-podcast input { background: var(--fz-paper) !important; border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important; }
.fz-reproductor .pp-podcast img { border-radius: var(--fz-radius); }
.fz-reproductor .pp-podcast .ppjs__playpause-button button { background: var(--fz-accent) !important; border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: 999px !important; box-shadow: 3px 3px 0 var(--fz-ink) !important; }
.fz-reproductor .pp-podcast :is(button, a, input):focus-visible { outline: 3px solid var(--fz-accent-2) !important; outline-offset: 2px; }

/* Botones de suscripción en etiqueta: .fz-suscripcion (módulo HTML con [podcast_subscribe]) */
.fz-suscripcion .secondline-psb-subscribe-inline { display: flex; flex-wrap: wrap; gap: var(--fz-space-xs); justify-content: flex-start; }
.fz-suscripcion .secondline-psb-subscribe-inline > span { margin: 0 !important; }
.fz-suscripcion a.podcast-subscribe-button {
	margin: 0 !important; padding: var(--fz-space-2xs) var(--fz-space-sm) var(--fz-space-2xs) var(--fz-space-2xs) !important;
	font-family: var(--fz-font-body) !important; font-weight: 600 !important; white-space: nowrap;
	color: var(--fz-ink) !important; background: var(--fz-card) !important;
	border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important;
	box-shadow: 3px 3px 0 var(--fz-ink) !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease) !important;
}
@media (hover: hover) and (pointer: fine) { .fz-suscripcion a.podcast-subscribe-button:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--fz-ink) !important; } }
.fz-suscripcion a.podcast-subscribe-button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--fz-ink) !important; }
.fz-suscripcion a.podcast-subscribe-button:focus-visible { outline: 3px solid var(--fz-accent-2) !important; outline-offset: 3px; }

/* Ilustración sobre semicírculo cian: .fz-ilustracion (módulo Foto) */
.fz-ilustracion { margin-top: var(--fz-space-xl) !important; }
.fz-ilustracion .fl-photo { text-align: center; line-height: 0; }
.fz-ilustracion .fl-photo-content { position: relative; display: inline-block; width: min(560px, 100%); }
.fz-ilustracion .fl-photo-content::before {
	content: ""; position: absolute; left: 50%; bottom: 0; z-index: 0;
	width: 92%; aspect-ratio: 2 / 1; transform: translateX(-50%);
	background: var(--fz-accent); border: 3px solid var(--fz-ink); border-bottom: 0; border-radius: 999px 999px 0 0;
}
.fz-ilustracion img { position: relative; z-index: 1; display: block; width: 100%; height: auto; border: 0 !important; }

/* Botón de tinta con sombra cian: .fz-boton-tinta (módulo Botón) */
.fz-boton-tinta a.fl-button {
	display: inline-flex !important; align-items: center; gap: var(--fz-space-2xs);
	padding: var(--fz-space-sm) var(--fz-space-lg) !important;
	background: var(--fz-ink) !important; border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important;
	box-shadow: 6px 6px 0 var(--fz-accent) !important; white-space: nowrap; text-decoration: none !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease) !important;
}
.fz-boton-tinta a.fl-button .fl-button-text {
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-xl) !important;
	letter-spacing: 0.03em !important; line-height: 1 !important; text-transform: uppercase; color: var(--fz-paper) !important;
}
.fz-boton-tinta a.fl-button i { color: var(--fz-accent) !important; font-size: var(--fz-text-lg) !important; }
@media (hover: hover) and (pointer: fine) { .fz-boton-tinta a.fl-button:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--fz-accent) !important; } }
.fz-boton-tinta a.fl-button:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--fz-accent) !important; }
.fz-boton-tinta a.fl-button:focus-visible { outline: 3px solid var(--fz-accent-2) !important; outline-offset: 4px; }
.fz-seccion .fz-boton-tinta { margin: 0 0 var(--fz-space-xl) !important; }

/* Botones de color de la home (cartel y secciones): más grandes que los de la cabecera y el pie */
:is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button {
	display: inline-flex !important; align-items: center;
	padding: var(--fz-space-xs) var(--fz-space-md) !important;
	background: var(--fz-boton-bg, var(--fz-accent)) !important; border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important;
	box-shadow: 4px 4px 0 var(--fz-sombra) !important; white-space: nowrap; text-decoration: none !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease) !important;
}
:is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button .fl-button-text {
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important;
	letter-spacing: 0.03em !important; line-height: 1 !important; text-transform: uppercase; color: var(--fz-ink) !important;
}
@media (hover: hover) and (pointer: fine) { :is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--fz-sombra) !important; } }
:is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--fz-sombra) !important; }
:is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button:focus-visible { outline: 3px solid var(--fz-accent-2) !important; outline-offset: 4px; }
.fz-seccion :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) { margin-top: var(--fz-space-md) !important; }

/* Título de sección a dos líneas: .fz-titulo-seccion (módulo Título; la 2.ª línea va en <span class="fz-destacado"> sobre cian) */
.fz-titulo-seccion { margin: 0 0 var(--fz-space-lg) !important; }
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading) { text-align: left !important; }
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading),
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading) :is(.fl-heading-text, .fz-destacado) {
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-style: normal !important;
	font-size: clamp(36px, 18px + 3.4vw, 68px) !important; line-height: 1.04 !important; letter-spacing: 0.01em !important;
	text-transform: uppercase !important; color: var(--fz-ink) !important; overflow-wrap: anywhere;
}
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading) .fz-destacado {
	display: inline !important; padding: 0 var(--fz-space-2xs) !important;
	background: var(--fz-accent) !important; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading)::before {
	content: "✱ ✱ ✱"; content: "✱ ✱ ✱" / "";
	display: block; margin-bottom: var(--fz-space-sm);
	font-size: var(--fz-text-xl); letter-spacing: 0.3em; line-height: 1; color: var(--fz-accent-2);
}

/* Foto con borde y sombra dura: .fz-foto (Foto o Imagen de PowerPack) */
.fz-foto :is(.pp-photo-content-inner, .fl-photo-content) {
	border: var(--fz-rule) solid var(--fz-ink) !important; border-radius: var(--fz-radius) !important; overflow: hidden;
	box-shadow: 4px 4px 0 var(--fz-ink) !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { .fz-foto :is(.pp-photo-content-inner, .fl-photo-content):hover { transform: translate(-3px, -3px); box-shadow: 7px 7px 0 var(--fz-ink) !important; } }
.fz-foto img { display: block; border: 0 !important; border-radius: 0 !important; }

/* Columna con el contenido arriba y ficha estirada: .fz-col-arriba + .fz-ultima */
.fz-col-arriba > .fl-col-content { justify-content: flex-start !important; }
.fz-col-arriba .fz-ultima { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; }
.fz-ultima .lmq-reco--ultima { flex: 1 1 auto; display: flex; flex-direction: column; width: 100%; max-width: 340px; margin-inline: auto; }
.fz-ultima .lmq-reco__ultima-label { align-self: flex-start; }
.fz-ultima .lmq-reco__grid--single { flex: 1 1 auto; }

/* En móvil: .fz-movil-abajo baja ese bloque al final de su grupo de columnas */
@media (max-width: 992px) {
	.fz-cartel .fl-col-group { display: flex !important; flex-direction: column; }
	.fz-cartel .fl-col, .fz-cartel .fl-col > .fl-col-content { display: contents !important; }
	.fz-cartel .fl-module { order: 1; }
	.fz-cartel .fz-movil-abajo { order: 2 !important; }
	.fz-cartel .fz-reproductor { margin-bottom: var(--fz-space-lg) !important; }
	.fz-cartel .fz-texto { margin-top: var(--fz-space-lg) !important; }
	.fz-cartel__texto > .fl-col-content { padding-right: 0 !important; }
}
@media (max-width: 767px) {
	.fz-cartel > .fl-row-content-wrap { padding: var(--fz-space-lg) var(--fz-space-sm) 0 !important; }
	.fz-seccion > .fl-row-content-wrap { padding: var(--fz-space-xl) var(--fz-space-sm) var(--fz-space-2xl) !important; }
	/* portada pequeña al lado del título para que el «play» quede a la vista */
	.fz-reproductor .pp-podcast .ppjs__head-container { display: flex !important; align-items: flex-start; gap: var(--fz-space-xs); }
	.fz-reproductor .pp-podcast .ppjs__img-wrapper { flex: 0 0 88px; width: 88px !important; max-width: 88px !important; margin: 0 !important; }
	.fz-reproductor .pp-podcast .ppjs__img-wrapper :is(.ppjs__img-btn-cover, img) { width: 88px !important; height: 88px !important; }
	.fz-reproductor .pp-podcast .ppjs__head-container > :not(.ppjs__img-wrapper) { flex: 1 1 auto; min-width: 0; }
	.fz-boton-tinta a.fl-button { padding: var(--fz-space-xs) var(--fz-space-md) !important; }
	.fz-boton-tinta a.fl-button .fl-button-text { font-size: var(--fz-text-lg) !important; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.fz-suscripcion a.podcast-subscribe-button, .fz-boton-tinta a, :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button, .fz-foto .pp-photo-content-inner, .fz-foto .fl-photo-content) { transition: opacity 120ms linear !important; }
	:is(.fz-suscripcion a.podcast-subscribe-button, .fz-boton-tinta a, :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) a.fl-button, .fz-foto .pp-photo-content-inner, .fz-foto .fl-photo-content):is(:hover, :active) { transform: none !important; }
}

/* ════════════════════════════════════════════════════════════════
 * FICHAS DE RECOMENDACIONES (plugin) · estilo Fanzine en toda la web
 * ════════════════════════════════════════════════════════════════ */
:root { --fz-text-xs: 12px; --fz-shadow-hard: 4px 4px 0 oklch(20% 0.05 270); --fz-shadow-hard-lift: 7px 7px 0 oklch(20% 0.05 270); }

/* Fila del listado: .fz-seccion-catalogo · módulo HTML con el shortcode: .fz-catalogo */
.fz-seccion-catalogo > .fl-row-content-wrap { background: var(--fz-paper) !important; background-image: none !important; padding: var(--fz-space-xl) var(--fz-space-md) var(--fz-space-2xl) !important; }
.fz-seccion-catalogo > .fl-row-content-wrap::after { display: none !important; }
.fz-seccion-catalogo .fl-row-content { max-width: 1240px; }
.fz-catalogo, .fz-catalogo > .fl-module-content { margin: 0 !important; }

/* Entradilla bajo el título: .fz-entradilla (módulo Texto) */
:is(.fz-entradilla.fl-rich-text, .fz-entradilla .fl-rich-text) :is(p, h2, h3) {
	margin: 0 !important; max-width: 36ch;
	font-family: var(--fz-font-body) !important; font-size: var(--fz-text-lg) !important; font-weight: 500 !important;
	line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important; text-align: left !important;
	color: var(--fz-ink) !important;
}
/* Botón «volver» con flecha: añade .fz-boton-volver a un :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) */
.fz-boton-volver { margin-top: var(--fz-space-lg) !important; }
.fz-boton-volver .fl-button-text::before { content: "← "; content: "← " / ""; }
.fz-cartel .fz-boton-volver { margin-bottom: var(--fz-space-2xl) !important; }
:is(.fz-cartel, .fz-seccion) :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) .fl-button-wrap { text-align: left !important; }
@media (max-width: 767px) {
	.fz-seccion-catalogo > .fl-row-content-wrap { padding: var(--fz-space-lg) var(--fz-space-sm) var(--fz-space-xl) !important; }
	:is(.fz-entradilla.fl-rich-text, .fz-entradilla .fl-rich-text) :is(p, h2, h3) { font-size: var(--fz-text-md) !important; }
	.fz-cartel .fz-boton-volver { margin-bottom: var(--fz-space-xl) !important; }
}

body .lmq-reco {
	--lmq-reco-card: var(--fz-card);
	--lmq-reco-ink: var(--fz-ink);
	--lmq-reco-muted: var(--fz-ink-2);
	--lmq-reco-line: var(--fz-ink);
	--lmq-reco-star: var(--fz-ink);
	--lmq-reco-accent: var(--fz-accent-2);
	--lmq-reco-radius: var(--fz-radius);
	font-family: var(--fz-font-body);
	color: var(--fz-ink);
}

/* Cómo puntuamos: bloque cian, cinco puestos */
body .lmq-reco__legend {
	margin: 0 0 var(--fz-space-xl);
	background: var(--fz-accent);
	color: var(--fz-ink);
	border: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard);
}
body .lmq-reco__legend summary {
	padding: var(--fz-space-sm) var(--fz-space-md);
	font-family: var(--fz-font-display);
	font-weight: 800;
	font-size: var(--fz-text-xl);
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--fz-ink);
}
body .lmq-reco__legend summary::marker { color: var(--fz-ink); }
body .lmq-reco__legend summary:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 3px; }
body .lmq-reco__legend ul {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	padding: 0;
	border-top: var(--fz-rule) solid var(--fz-ink);
}
body .lmq-reco__legend li {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: center;
	gap: var(--fz-space-xs);
	padding: var(--fz-space-xs) var(--fz-space-md);
	font-size: var(--fz-text-sm);
	font-weight: 600;
	line-height: 1.3;
	color: var(--fz-ink);
	border-bottom: var(--fz-rule) solid var(--fz-ink);
}
body .lmq-reco__legend li:last-child { border-bottom: 0; }
@media (min-width: 992px) {
	body .lmq-reco__legend ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	body .lmq-reco__legend li { grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--fz-space-2xs); padding: var(--fz-space-sm) var(--fz-space-md); border-bottom: 0; border-right: var(--fz-rule) solid var(--fz-ink); }
	body .lmq-reco__legend li:last-child { border-right: 0; }
}
body .lmq-reco__legend .lmq-stars { font-size: var(--fz-text-lg); }
body .lmq-reco__legend .lmq-stars__on { color: var(--fz-ink); }
body .lmq-reco__legend .lmq-stars__off { color: var(--fz-ink-a25); }

/* buscador + orden */
body .lmq-reco__tools { gap: var(--fz-space-sm) var(--fz-space-md); margin: 0 0 var(--fz-space-xl); align-items: center; }
body .lmq-reco__search input,
body .lmq-reco__sort select {
	min-height: 52px;
	font-family: var(--fz-font-body);
	font-size: var(--fz-text-md);
	font-weight: 500;
	color: var(--fz-ink);
	background-color: var(--fz-card);
	border: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard);
}
body .lmq-reco__search input::placeholder { color: var(--fz-ink-2); opacity: 1; }
body .lmq-reco__search input:focus,
body .lmq-reco__sort select:focus { outline: none; }
body .lmq-reco__search input:focus-visible,
body .lmq-reco__sort select:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 3px; border-color: var(--fz-ink); }
body .lmq-reco__sort > span {
	font-family: var(--fz-font-display);
	font-weight: 800;
	font-size: var(--fz-text-lg);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}
body .lmq-reco__count { font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); text-transform: uppercase; color: var(--fz-accent-2); }

/* rejilla de carteles */
body .lmq-reco__grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 224px), 1fr));
	gap: var(--fz-space-lg) var(--fz-space-md);
	padding-right: 8px;
}
body .lmq-card {
	background: var(--fz-card);
	border: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard);
	overflow: visible;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { body .lmq-card:hover { transform: translate(-3px, -3px); box-shadow: var(--fz-shadow-hard-lift); } }
body .lmq-card:has(a:focus-visible) { transform: translate(-3px, -3px); box-shadow: var(--fz-shadow-hard-lift); }
body .lmq-card__poster {
	background-color: var(--fz-paper-2);
	background-image: radial-gradient(var(--fz-ink-a25) 1.5px, transparent 1.5px);
	background-size: 12px 12px;
	border-bottom: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius) var(--fz-radius) 0 0;
	overflow: hidden;
}
body .lmq-card__noposter {
	font-family: var(--fz-font-display);
	font-weight: 800;
	font-size: 96px;
	color: var(--fz-accent-2);
}

/* nota: pegatina cian en la esquina */
body .lmq-card__rating {
	left: auto;
	right: var(--fz-space-2xs);
	top: var(--fz-space-2xs);
	bottom: auto;
	gap: var(--fz-space-2xs);
	padding: var(--fz-space-3xs) var(--fz-space-2xs);
	background: var(--fz-accent);
	border: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius);
	box-shadow: 3px 3px 0 var(--fz-ink);
	transform: rotate(3deg);
	font-size: var(--fz-text-sm);
}
body .lmq-card__rating .lmq-stars__on { color: var(--fz-ink); }
body .lmq-card__rating .lmq-stars__off { color: var(--fz-ink-a25); }
body .lmq-card__rating-num {
	font-family: var(--fz-font-display);
	font-weight: 800;
	font-size: var(--fz-text-lg);
	line-height: 1;
	color: var(--fz-ink);
}

body .lmq-card__body { gap: var(--fz-space-2xs); padding: var(--fz-space-sm) var(--fz-space-sm) var(--fz-space-md); }
body .lmq-card__title {
	font-family: var(--fz-font-display) !important;
	font-weight: 800 !important;
	font-size: var(--fz-text-xl) !important;
	line-height: 1.02 !important;
	letter-spacing: 0.01em !important;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
body .lmq-card__title a { color: var(--fz-ink) !important; text-decoration: none; }
body .lmq-card__title a:hover { text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--fz-accent-2); text-underline-offset: 4px; }
body .lmq-card__title a:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 3px; }
body .lmq-card__meta { font-size: var(--fz-text-sm); font-weight: 600; color: var(--fz-ink-2); }
body .lmq-card__syn { font-size: var(--fz-text-sm); line-height: 1.5; color: var(--fz-ink-2); }
body .lmq-card__links { gap: var(--fz-space-2xs); padding-top: var(--fz-space-xs); }
body .lmq-card__links a {
	padding: var(--fz-space-3xs) var(--fz-space-xs);
	font-family: var(--fz-font-display);
	font-size: var(--fz-text-md);
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--fz-ink) !important;
	background: transparent;
	border: var(--fz-rule) solid var(--fz-ink);
	border-radius: var(--fz-radius);
	transition: background-color var(--fz-dur) var(--fz-ease), color var(--fz-dur) var(--fz-ease);
}
body .lmq-card__links a:hover { background: var(--fz-accent-2); color: var(--fz-paper) !important; border-color: var(--fz-ink); }
body .lmq-card__links a:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 2px; }

body .lmq-reco__empty { font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-xl); text-transform: uppercase; }
body .lmq-reco__credit {
	margin-top: var(--fz-space-xl) !important;
	padding-top: var(--fz-space-sm);
	border-top: var(--fz-rule) solid var(--fz-accent-2);
	font-size: var(--fz-text-xs);
	color: var(--fz-ink-2);
	opacity: 1;
}
body .lmq-reco__credit::before { content: "✱ ✱ ✱ ✱"; content: "✱ ✱ ✱ ✱" / ""; display: block; margin-bottom: var(--fz-space-2xs); color: var(--fz-accent-2); letter-spacing: 0.3em; }

/* Cargar más: bloque cian con sombra dura */
body .lmq-reco__more-wrap { margin-top: var(--fz-space-xl); gap: var(--fz-space-sm); }
body .lmq-reco__more {
	min-height: 52px; padding: var(--fz-space-xs) var(--fz-space-lg);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-xl); line-height: 1;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
	color: var(--fz-ink); background: var(--fz-accent);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard); filter: none;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { body .lmq-reco__more:hover { filter: none; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--fz-ink); } }
body .lmq-reco__more:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--fz-ink); }
body .lmq-reco__more:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 4px; }
body .lmq-reco__shown { font-size: var(--fz-text-sm); font-weight: 600; color: var(--fz-ink-2); }

/* [lmq_ultima]: etiqueta pegatina ciruela sobre una sola ficha */
body .lmq-reco--ultima { max-width: 340px; margin-inline: auto; padding-right: 8px; }
body .lmq-reco__ultima-label {
	display: inline-block; margin: 0 0 var(--fz-space-sm) !important;
	padding: var(--fz-space-3xs) var(--fz-space-xs);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); line-height: 1.1;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
	color: var(--fz-paper); background: var(--fz-accent-2);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: 3px 3px 0 var(--fz-ink); transform: rotate(-2deg);
}
body .lmq-reco__grid--single { grid-template-columns: minmax(0, 1fr); padding-right: 0; }

/* música: etiqueta disco/canción, artista y filtro */
body .lmq-card__format {
	left: var(--fz-space-2xs); top: var(--fz-space-2xs); padding: var(--fz-space-3xs) var(--fz-space-2xs);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-md); line-height: 1; letter-spacing: 0.04em;
	color: var(--fz-paper); background: var(--fz-accent-2);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: 3px 3px 0 var(--fz-ink); transform: rotate(-3deg);
}
body .lmq-card__artist { font-size: var(--fz-text-md); font-weight: 600; color: var(--fz-ink); }
body .lmq-reco__formats { gap: var(--fz-space-2xs); }
body .lmq-reco__format {
	min-height: 52px; padding: var(--fz-space-xs) var(--fz-space-md);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); line-height: 1;
	letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink); background: var(--fz-card);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard);
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { body .lmq-reco__format:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--fz-ink); } }
body .lmq-reco__format[aria-pressed="true"] { color: var(--fz-ink); background: var(--fz-accent); border-color: var(--fz-ink); }
body .lmq-reco__format:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--fz-ink); }
body .lmq-reco__format:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 3px; }

@media (max-width: 767px) {
	body .lmq-reco__legend li { padding-inline: var(--fz-space-sm); }
	body .lmq-reco__legend .lmq-stars { font-size: var(--fz-text-md); }
	body .lmq-reco__search { flex-basis: 100%; max-width: none; }
	body .lmq-reco__sort { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	body .lmq-card,
	body .lmq-card__links a,
	body .lmq-reco__format,
	body .lmq-reco__more { transition: opacity 120ms linear !important; }
	body .lmq-reco__more:hover,
	body .lmq-reco__format:hover,
	body .lmq-card:hover,
	body .lmq-card:has(a:focus-visible) { transform: none; }
}

/* Ajustes: las estrellas de la leyenda no se estiran · título en columnas estrechas cuando está solo en la fila */
body .lmq-reco__legend .lmq-stars { justify-self: start; width: max-content; }
.fz-cartel .fl-col:only-child :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) { max-width: 11ch; font-size: clamp(48px, 25.6px + 6vw, 104px) !important; }
/* mismo margen lateral para módulos antiguos y nuevos de Beaver Builder dentro de las filas Fanzine */
:is(.fz-cartel, .fz-seccion-catalogo) :is(.fl-module, .fl-module-content) { margin-left: 0 !important; margin-right: 0 !important; }

/* ── Banda «Escúchanos donde prefieras»: .fz-suscribete ───────── */
:root { --fz-carta: oklch(26% 0.05 270); }
.fz-suscribete > .fl-row-content-wrap {
	background: var(--fz-ink) !important; background-image: none !important;
	padding: var(--fz-space-2xl) var(--fz-space-md) !important;
	border-block: var(--fz-rule) solid var(--fz-ink);
}
.fz-suscribete > .fl-row-content-wrap::after { display: none !important; }
.fz-suscribete .fl-row-content { max-width: 1240px; }
.fz-suscribete :is(.fl-module, .fl-module-content) { margin-left: 0 !important; margin-right: 0 !important; }

/* Etiqueta con rayas a los lados: .fz-eyebrow (módulo Texto) */
:is(.fz-eyebrow.fl-rich-text, .fz-eyebrow .fl-rich-text) p {
	display: flex; align-items: center; justify-content: center; gap: var(--fz-space-sm);
	margin: 0 0 var(--fz-space-md) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1 !important;
	letter-spacing: 0.22em; text-transform: uppercase; color: var(--fz-accent) !important;
}
:is(.fz-eyebrow.fl-rich-text, .fz-eyebrow .fl-rich-text) p::before,
:is(.fz-eyebrow.fl-rich-text, .fz-eyebrow .fl-rich-text) p::after {
	content: ""; flex: 0 0 48px; height: var(--fz-rule); background: var(--fz-accent);
}

/* Título sobre fondo oscuro: .fz-titulo-claro (módulo Título) */
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading) {
	margin: 0 auto var(--fz-space-md) !important; max-width: 18ch;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-style: normal !important;
	font-size: clamp(40px, 20px + 4vw, 80px) !important; line-height: 1.02 !important; letter-spacing: -0.005em !important;
	text-transform: uppercase; text-align: center !important; color: var(--fz-paper) !important; overflow-wrap: anywhere;
}
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading) .fl-heading-text { font: inherit !important; color: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }
.fz-centrado :is(p, h2, h3) { text-align: center !important; margin-inline: auto !important; }
.fz-suscribete .fz-texto-claro { max-width: 60ch; margin: 0 auto var(--fz-space-xl) !important; }

/* Plataformas como tarjetas: .fz-plataformas (módulo HTML con [podcast_subscribe]) */
.fz-plataformas .secondline-psb-subscribe-inline {
	display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: var(--fz-space-sm); justify-content: center;
}
.fz-plataformas .secondline-psb-subscribe-inline > span { display: block; margin: 0 !important; }
.fz-plataformas a.podcast-subscribe-button {
	position: relative; display: flex !important; flex-direction: column; align-items: flex-start; gap: var(--fz-space-md);
	width: 100%; min-height: 128px; margin: 0 !important;
	padding: var(--fz-space-md) var(--fz-space-md) var(--fz-space-sm) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-lg) !important; line-height: 1.05 !important;
	letter-spacing: 0.02em; text-transform: uppercase; text-align: left; text-decoration: none !important;
	color: var(--fz-paper) !important; background: var(--fz-carta) !important;
	border: var(--fz-rule) solid var(--fz-paper-a25) !important; border-radius: var(--fz-radius) !important; box-shadow: none !important;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease), border-color var(--fz-dur) var(--fz-ease) !important;
}
.fz-plataformas a.podcast-subscribe-button img {
	width: 34px !important; height: 34px !important; margin: 0 !important; object-fit: contain;
}
.fz-plataformas a.podcast-subscribe-button::after {
	content: "↗"; content: "↗" / ""; position: absolute; top: var(--fz-space-sm); right: var(--fz-space-sm);
	font-size: var(--fz-text-lg); line-height: 1; color: var(--fz-paper-a70);
	transition: transform var(--fz-dur) var(--fz-ease), color var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { .fz-plataformas a.podcast-subscribe-button:hover { transform: translate(-2px, -2px); border-color: var(--fz-accent) !important; box-shadow: 4px 4px 0 var(--fz-accent) !important; } }
@media (hover: hover) and (pointer: fine) { .fz-plataformas a.podcast-subscribe-button:hover::after { transform: translate(2px, -2px); color: var(--fz-accent); } }
.fz-plataformas a.podcast-subscribe-button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--fz-accent) !important; }
.fz-plataformas a.podcast-subscribe-button:focus-visible { outline: 3px solid var(--fz-accent) !important; outline-offset: 4px; }

@media (max-width: 767px) {
	.fz-suscribete > .fl-row-content-wrap { padding: var(--fz-space-xl) var(--fz-space-sm) !important; }
	:is(.fz-eyebrow.fl-rich-text, .fz-eyebrow .fl-rich-text) p::before,
	:is(.fz-eyebrow.fl-rich-text, .fz-eyebrow .fl-rich-text) p::after { flex-basis: 24px; }
	.fz-plataformas .secondline-psb-subscribe-inline { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: var(--fz-space-2xs); }
	.fz-plataformas a.podcast-subscribe-button { min-height: 104px; padding: var(--fz-space-sm) !important; font-size: var(--fz-text-md) !important; gap: var(--fz-space-sm); }
}
@media (prefers-reduced-motion: reduce) {
	.fz-plataformas a.podcast-subscribe-button { transition: opacity 120ms linear !important; }
	.fz-plataformas a.podcast-subscribe-button:is(:hover, :active) { transform: none !important; }
	.fz-plataformas a.podcast-subscribe-button:hover::after { transform: none; }
}

/* ════════════════════════════════════════════════════════════════
 * RECETAS (plugin lmq-recetas) · estilo Fanzine
 * ════════════════════════════════════════════════════════════════ */
body .lmq-recetas, body .lmq-receta { font-family: var(--fz-font-body); color: var(--fz-ink); }

/* Tarjetas */
body .lmq-recetas__grid { gap: var(--fz-space-lg) var(--fz-space-md); padding-right: 8px; }
body .lmq-receta-card {
	background: var(--fz-card); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: var(--fz-shadow-hard); overflow: hidden;
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
body .lmq-receta-card:has(a:focus-visible) { transform: translate(-3px, -3px); box-shadow: var(--fz-shadow-hard-lift); }
@media (hover: hover) and (pointer: fine) { body .lmq-receta-card:hover { transform: translate(-3px, -3px); box-shadow: var(--fz-shadow-hard-lift); } }
body .lmq-receta-card__foto {
	background-color: var(--fz-paper-2);
	background-image: radial-gradient(var(--fz-ink-a25) 1.5px, transparent 1.5px); background-size: 12px 12px;
	border-bottom: var(--fz-rule) solid var(--fz-ink);
}
body .lmq-receta-card__nofoto { font-family: var(--fz-font-display); font-weight: 800; font-size: 96px; color: var(--fz-accent-2); opacity: 1; }
body .lmq-receta-card__cuerpo { gap: var(--fz-space-2xs); padding: var(--fz-space-sm) var(--fz-space-sm) var(--fz-space-md); }
body .lmq-receta-card__titulo {
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: var(--fz-text-xl) !important;
	line-height: 1.02 !important; letter-spacing: 0.01em !important; text-transform: uppercase; overflow-wrap: anywhere;
}
body .lmq-receta-card__titulo a { color: var(--fz-ink) !important; text-decoration: none !important; }
body .lmq-receta-card__titulo a:focus-visible { outline: none; }
body .lmq-receta-card:has(a:focus-visible) { outline: 3px solid var(--fz-accent-2); outline-offset: 3px; }
body .lmq-receta-card__meta { font-size: var(--fz-text-sm); font-weight: 600; color: var(--fz-ink-2); }
body .lmq-receta-card__resumen { font-size: var(--fz-text-sm); line-height: 1.5; color: var(--fz-ink-2); }
body .lmq-receta-card__ver {
	align-self: flex-start; padding: var(--fz-space-3xs) var(--fz-space-xs) !important;
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-md); letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink); background: var(--fz-accent); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
}
body .lmq-recetas--ultima { max-width: 340px; padding-right: 8px; }
body .lmq-recetas__etiqueta {
	display: inline-block; margin: 0 0 var(--fz-space-sm) !important; padding: var(--fz-space-3xs) var(--fz-space-xs);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); line-height: 1.1;
	letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap;
	color: var(--fz-paper); background: var(--fz-accent-2);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: 3px 3px 0 var(--fz-ink); transform: rotate(-2deg);
}
.fz-ultima .lmq-recetas--ultima { flex: 1 1 auto; display: flex; flex-direction: column; width: 100%; margin-inline: auto; }
.fz-ultima .lmq-recetas__etiqueta { align-self: flex-start; }
.fz-ultima .lmq-recetas--ultima .lmq-receta-card { flex: 1 1 auto; }

/* Página de la receta */
body .lmq-receta__foto img { border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: 6px 6px 0 var(--fz-ink); }
body .lmq-receta__meta li {
	padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); line-height: 1; letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink); background: var(--fz-accent); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: 3px 3px 0 var(--fz-ink);
}
body .lmq-receta__resumen { font-size: var(--fz-text-lg); line-height: 1.45; color: var(--fz-ink); }
body .lmq-receta__capitulo { font-size: var(--fz-text-md); color: var(--fz-ink-2); }
body .lmq-receta__capitulo a { color: var(--fz-ink) !important; text-decoration: underline; text-decoration-color: var(--fz-accent-2); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body .lmq-receta h2 {
	margin: 0 0 var(--fz-space-md) !important;
	font-family: var(--fz-font-display) !important; font-weight: 800 !important; font-size: clamp(32px, 20px + 2.4vw, 48px) !important;
	line-height: 1.02 !important; letter-spacing: 0.01em; text-transform: uppercase; color: var(--fz-ink) !important;
}
body .lmq-receta__ingredientes {
	padding: var(--fz-space-md); background: var(--fz-accent);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: var(--fz-shadow-hard);
}
body .lmq-receta__ingredientes ul { list-style: none; padding: 0; }
body .lmq-receta__ingredientes li { padding: var(--fz-space-2xs) 0; margin: 0; border-bottom: var(--fz-rule) solid var(--fz-ink-a25); font-weight: 600; color: var(--fz-ink); }
body .lmq-receta__ingredientes li:last-child { border-bottom: 0; }
body .lmq-receta__pasos ol { list-style: none; padding: 0; counter-reset: fz-paso; }
body .lmq-receta__pasos li {
	position: relative; counter-increment: fz-paso; margin: 0 0 var(--fz-space-md);
	padding-left: 64px; min-height: 48px; font-size: var(--fz-text-md); line-height: 1.55; color: var(--fz-ink);
}
body .lmq-receta__pasos li::before {
	content: counter(fz-paso); position: absolute; left: 0; top: -4px;
	display: grid; place-items: center; width: 48px; height: 48px;
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-xl); line-height: 1;
	color: var(--fz-paper); background: var(--fz-accent-2); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius);
	box-shadow: 3px 3px 0 var(--fz-ink);
}
body .lmq-receta__trucos {
	padding: var(--fz-space-md) var(--fz-space-lg); background: var(--fz-ink); color: var(--fz-paper);
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: 6px 6px 0 var(--fz-accent);
}
body .lmq-receta__trucos h2 { color: var(--fz-accent) !important; }
body .lmq-receta__trucos ul { list-style: none; padding: 0; }
body .lmq-receta__trucos li { position: relative; padding-left: 28px; color: var(--fz-paper); font-size: var(--fz-text-md); }
body .lmq-receta__trucos li::before { content: "✱"; content: "✱" / ""; position: absolute; left: 0; color: var(--fz-accent); }
body .lmq-receta__volver a {
	display: inline-flex; align-items: center; padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink) !important; background: var(--fz-accent); text-decoration: none !important;
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: var(--fz-shadow-hard);
	transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease);
}
@media (hover: hover) and (pointer: fine) { body .lmq-receta__volver a:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--fz-ink); } }
body .lmq-receta__volver a:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 4px; }
@media (max-width: 767px) {
	body .lmq-receta__pasos li { padding-left: 56px; }
	body .lmq-receta__pasos li::before { width: 40px; height: 40px; font-size: var(--fz-text-lg); }
	body .lmq-receta__trucos { padding: var(--fz-space-md); }
}
@media (prefers-reduced-motion: reduce) {
	body :is(.lmq-receta-card, .lmq-receta__volver a) { transition: opacity 120ms linear; }
	body :is(.lmq-receta-card, .lmq-receta__volver a):hover, body .lmq-receta-card:has(a:focus-visible) { transform: none; }
}
/* hueco entre el título y la cinta cuando van seguidos (plantilla de receta) */
.fz-cartel .fz-titulo-cartel + .fz-cinta { margin-top: var(--fz-space-2xl) !important; }
/* la cinta vuelve a salir de borde a borde (la regla de márgenes laterales no debe tocarla) */
:is(.fz-cartel, .fz-seccion, .fz-seccion-catalogo) .fl-module.fz-cinta { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
@media (max-width: 767px) {
	.fz-cartel .fz-titulo-cartel + .fz-cinta { margin-top: var(--fz-space-lg) !important; }
}
/* las fichas «última» se estiran hasta el fondo de la columna también dentro de los envoltorios del módulo HTML */
.fz-col-arriba .fz-ultima > .fl-module-content,
.fz-col-arriba .fz-ultima .fl-html { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0; }
.fz-col-arriba .fz-ultima .lmq-reco__grid--single > li { height: 100%; }
/* plataformas: todas en una fila en ordenador, 3 por fila en tableta y 2 en móvil */
@media (min-width: 1100px) {
	.fz-plataformas .secondline-psb-subscribe-inline { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; }
	.fz-plataformas a.podcast-subscribe-button { padding-inline: var(--fz-space-sm) !important; white-space: nowrap; }
}
@media (min-width: 768px) and (max-width: 1099px) {
	.fz-plataformas .secondline-psb-subscribe-inline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.fz-plataformas .secondline-psb-subscribe-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── Gama de colores para botones: mismo botón, distinto color ─── */
:root {
	--fz-lila: oklch(78% 0.12 320);
	--fz-lima: oklch(86% 0.17 130);
	--fz-mostaza: oklch(86% 0.15 88);
	--fz-coral: oklch(76% 0.14 35);
}
.fz-boton-cian { --fz-boton-bg: var(--fz-accent); }
.fz-boton-lila { --fz-boton-bg: var(--fz-lila); }
.fz-boton-lima { --fz-boton-bg: var(--fz-lima); }
.fz-boton-mostaza { --fz-boton-bg: var(--fz-mostaza); }
.fz-boton-coral { --fz-boton-bg: var(--fz-coral); }

/* ── Título de la banda de plataformas: a la izquierda, como el resto ─── */
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading) {
	margin: 0 0 var(--fz-space-lg) !important; max-width: 16ch;
	font-size: clamp(36px, 18px + 3.4vw, 68px) !important; line-height: 1.04 !important; text-align: left !important;
}
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading)::before {
	content: "✱ ✱ ✱"; content: "✱ ✱ ✱" / "";
	display: block; margin-bottom: var(--fz-space-sm);
	font-size: var(--fz-text-xl); letter-spacing: 0.3em; line-height: 1; color: var(--fz-accent);
}

/* ── Botón de Telegram en el cartel, encima de la ilustración: .fz-boton-cartel ─── */
.fz-cartel .fz-boton-cartel { margin: var(--fz-space-2xl) 0 var(--fz-space-lg) !important; }
.fz-boton-cartel .fl-button-wrap { text-align: center !important; }

/* ── Ilustración más grande y pegada a la cinta ─── */
.fz-cartel .fz-ilustracion { margin-top: 0 !important; margin-bottom: 0 !important; }
.fz-cartel .fz-ilustracion > .fl-module-content { margin-top: 0 !important; margin-bottom: 0 !important; }
.fz-ilustracion .fl-photo-content { width: min(760px, 100%); vertical-align: bottom; }
.fz-cartel .fl-col:has(.fz-ilustracion) > .fl-col-content,
.fz-cartel .fl-col:has(.fz-cinta) > .fl-col-content { padding-top: 0 !important; padding-bottom: 0 !important; }
.fz-cartel .fz-ilustracion + .fz-cinta,
.fz-cartel .fl-col-group:has(.fz-ilustracion) + .fl-col-group .fz-cinta { margin-top: 0 !important; }

/* ── Más aire encima del reproductor (en ordenador) ─── */
@media (min-width: 993px) {
	.fz-cartel .fz-reproductor { margin-top: var(--fz-space-2xl) !important; }
}
/* la cinta mide lo mismo con módulos de texto antiguos y nuevos (sin márgenes internos dentro del morado) */
.fz-cinta > .fl-module-content, .fz-cinta .fl-rich-text { margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; }
/* mismo hueco título → cinta y cinta pegada a la fila siguiente, sea el módulo antiguo o nuevo */
.fz-cartel div.fz-titulo-cartel { margin-bottom: var(--fz-space-lg) !important; }
.fz-cartel div.fz-titulo-cartel .fl-heading { margin-bottom: 0 !important; }
:is(.fz-cartel, .fz-seccion, .fz-seccion-catalogo) .fl-module.fz-cinta { margin-bottom: 0 !important; }
/* el título de módulo antiguo no suma el margen superior por defecto (igual que el módulo nuevo).
   Con :where() esta regla pesa poco: si pones un margen en Beaver Builder, manda Beaver Builder. */
:where(.fz-cartel .fz-titulo-cartel:first-child) > .fl-module-content { margin-top: 0; }

/* ═══ Colores por sección: los mismos que sus botones de la home ═══════════
 * Películas cian · Series lila · Videojuegos lima · Música mostaza · Recetas coral
 * La página reconoce su sección por el listado que contiene (sirve también para copias). */
:root {
	--fz-fucsia: oklch(66% 0.27 355);
	--fz-cian-hondo: oklch(50% 0.13 220);
	--fz-lila-hondo: oklch(48% 0.12 320);
	--fz-lima-hondo: oklch(52% 0.14 130);
	--fz-mostaza-hondo: oklch(54% 0.12 88);
	--fz-coral-hondo: oklch(50% 0.13 35);
}
body:has(.lmq-reco[data-tipo="pelicula"]:not(.lmq-reco--ultima)) { --fz-seccion: var(--fz-accent); }
body:has(.lmq-reco[data-tipo="serie"]:not(.lmq-reco--ultima)) { --fz-seccion: var(--fz-lila); }
body:has(.lmq-reco[data-tipo="videojuego"]:not(.lmq-reco--ultima)) { --fz-seccion: var(--fz-lima); }
body:has(.lmq-reco[data-tipo="musica"]:not(.lmq-reco--ultima)) { --fz-seccion: var(--fz-mostaza); }
body:has(.lmq-recetas:not(.lmq-recetas--ultima)), body.single-lmq_receta { --fz-seccion: var(--fz-coral); }

/* titular grande de cada sección en su color, con relieve (contorno y sombra de tinta) */
:is(body:has(.lmq-reco[data-tipo]:not(.lmq-reco--ultima)), body:has(.lmq-recetas:not(.lmq-recetas--ultima)), body.single-lmq_receta, body.post-type-archive-lmq_capitulo) .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
	color: var(--fz-seccion) !important;
	-webkit-text-stroke: 4px var(--fz-ink); paint-order: stroke fill;
	text-shadow: 5px 5px 0 var(--fz-ink);
	letter-spacing: 0.01em !important;
}
@media (max-width: 767px) {
	:is(body:has(.lmq-reco[data-tipo]:not(.lmq-reco--ultima)), body:has(.lmq-recetas:not(.lmq-recetas--ultima)), body.single-lmq_receta, body.post-type-archive-lmq_capitulo) .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
		-webkit-text-stroke-width: 3px; text-shadow: 3px 3px 0 var(--fz-ink);
	}
}

/* enlaces del menú: cada sección con su color y relieve */
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/peliculas-"] { --fz-link: var(--fz-accent); --fz-link-hondo: var(--fz-cian-hondo); }
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/series-"] { --fz-link: var(--fz-lila); --fz-link-hondo: var(--fz-lila-hondo); }
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/videojuegos-"] { --fz-link: var(--fz-lima); --fz-link-hondo: var(--fz-lima-hondo); }
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/musica-"] { --fz-link: var(--fz-mostaza); --fz-link-hondo: var(--fz-mostaza-hondo); }
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/recetas-"] { --fz-link: var(--fz-coral); --fz-link-hondo: var(--fz-coral-hondo); }
:is(.fz-menu, .fz-menu-pie) .menu a { color: var(--fz-link, var(--fz-paper)) !important; }
.fz-menu .menu a { text-shadow: 2px 2px 0 var(--fz-link-hondo, transparent); }
.fz-menu .menu a:hover { border-color: var(--fz-link, var(--fz-accent)); }
.fz-menu .menu :is(.current-menu-item, .current_page_item) > a { text-decoration-color: var(--fz-link, var(--fz-accent)) !important; }
.fz-menu-pie .menu a:hover { text-decoration-color: var(--fz-link, var(--fz-accent)) !important; }

/* home: la etiqueta de cada «último» en el color de su sección */
body .lmq-reco--ultima .lmq-reco__ultima-label { color: var(--fz-ink); }
body .lmq-reco--ultima[data-tipo="pelicula"] .lmq-reco__ultima-label { background: var(--fz-accent); }
body .lmq-reco--ultima[data-tipo="serie"] .lmq-reco__ultima-label { background: var(--fz-lila); }
body .lmq-reco--ultima[data-tipo="videojuego"] .lmq-reco__ultima-label { background: var(--fz-lima); }
body .lmq-reco--ultima[data-tipo="musica"] .lmq-reco__ultima-label { background: var(--fz-mostaza); }
body .lmq-recetas--ultima .lmq-recetas__etiqueta { color: var(--fz-ink) !important; background: var(--fz-coral) !important; }

/* ═══ 5 estrellas: pegatina fucsia, más grande y torcida al otro lado ═══ */
body .lmq-card[data-lmq-reco-stars="5"] .lmq-card__rating {
	background: var(--fz-fucsia);
	box-shadow: 4px 4px 0 var(--fz-ink);
	transform: rotate(-4deg) scale(1.1);
	transform-origin: top right;
}
body .lmq-card[data-lmq-reco-stars="5"] .lmq-card__rating .lmq-stars__off { color: var(--fz-ink-a25); }

/* ═══ Espacio bajo el titular = espacio sobre el titular (no afecta a la home) ═══ */
.fz-cartel .fz-titulo-cartel:has(+ .fz-cinta),
.fz-cartel .fz-titulo-cartel:has(+ .fz-cinta) .fl-heading { margin-bottom: 0 !important; }
.fz-cartel .fz-titulo-cartel + .fz-cinta { margin-top: var(--fz-space-xl) !important; }
@media (max-width: 767px) {
	.fz-cartel .fz-titulo-cartel + .fz-cinta { margin-top: var(--fz-space-lg) !important; }
}

/* ═══ Música: botones de colores distintos ═══ */
/* filtro Todo / Discos / Canciones: cada uno con su color; el elegido se ve «hundido» y con ✓ */
body .lmq-reco__format[data-lmq-reco-format=""] { background: var(--fz-mostaza); }
body .lmq-reco__format[data-lmq-reco-format="disco"] { background: var(--fz-lila); }
body .lmq-reco__format[data-lmq-reco-format="cancion"] { background: var(--fz-lima); }
body .lmq-reco__format[aria-pressed="true"] { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--fz-ink); }
body .lmq-reco__format[aria-pressed="true"]::before { content: "✓ "; content: "✓ " / ""; }
/* etiquetas Disco / Canción de las fichas, a juego con su botón del filtro */
body .lmq-card[data-lmq-reco-formato="disco"] .lmq-card__format { color: var(--fz-ink); background: var(--fz-lila); }
body .lmq-card[data-lmq-reco-formato="cancion"] .lmq-card__format { color: var(--fz-ink); background: var(--fz-lima); }
/* enlaces de escucha de cada ficha */
body .lmq-reco[data-tipo="musica"] .lmq-card__links a[href*="deezer.com"] { background: var(--fz-accent); }
body .lmq-reco[data-tipo="musica"] .lmq-card__links a[href*="spotify.com"] { background: var(--fz-lima); }
body .lmq-reco[data-tipo="musica"] .lmq-card__links a[href*="apple.com"] { background: var(--fz-coral); }
body .lmq-reco[data-tipo="musica"] .lmq-card__links a[href*="youtube.com"] { background: var(--fz-mostaza); }
body .lmq-reco[data-tipo="musica"] .lmq-card__links a { box-shadow: 2px 2px 0 var(--fz-ink); }
body .lmq-reco[data-tipo="musica"] .lmq-card__links a:hover { background: var(--fz-accent-2); }

/* ═══ Titular de la home: mismo tamaño y relieve que el resto de secciones.
 * Como la home reúne todas las secciones, cada línea lleva el color de una
 * (cian, lila, lima, mostaza, coral… y vuelta a empezar si hay más líneas). */
body.home .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
	font-size: clamp(48px, 25.6px + 6vw, 104px) !important; line-height: 1.02 !important; letter-spacing: 0.01em !important;
	background: repeating-linear-gradient(180deg, var(--fz-accent) 0 1.02em, var(--fz-lila) 1.02em 2.04em, var(--fz-lima) 2.04em 3.06em, var(--fz-mostaza) 3.06em 4.08em, var(--fz-coral) 4.08em 5.1em);
	-webkit-background-clip: text; background-clip: text;
	color: transparent !important; -webkit-text-fill-color: transparent;
	-webkit-text-stroke: 3px var(--fz-ink);
	filter: drop-shadow(5px 5px 0 var(--fz-ink));
}
@media (max-width: 767px) {
	body.home .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) { -webkit-text-stroke-width: 2px; filter: drop-shadow(3px 3px 0 var(--fz-ink)); }
}

/* ═══ Home: titular a todo el ancho, más grande que en las secciones (es la portada), en 2–3 líneas ═══ */
body.home .fz-cartel .fl-col :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) { max-width: none; font-size: clamp(56px, 20px + 8vw, 150px) !important; }
@media (min-width: 768px) {
	body.home .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) { -webkit-text-stroke-width: 4px; filter: drop-shadow(6px 6px 0 var(--fz-ink)); }
}
body.home .fz-cartel__texto > .fl-col-content { padding-right: 0 !important; }
/* texto de presentación de la home: algo mayor y los dos párrafos iguales */
body.home :is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text),
body.home :is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text) p,
body.home :is(.fz-texto.fl-rich-text, .fz-texto .fl-rich-text) p + p {
	font-size: clamp(18px, 14px + 0.6vw, 22px) !important; line-height: 1.5 !important; color: var(--fz-ink) !important; max-width: 40ch;
}

/* ═══ Home: botón «Escucha el último episodio» bajo el titular, que lleva al reproductor ═══ */
body.home .fz-cartel .fz-boton-escucha { margin: 0 !important; }
body.home .fz-cartel .fz-boton-escucha > .fl-module-content { margin: 0 !important; }
body.home .fz-cartel .fz-boton-escucha .fl-button-wrap { text-align: left !important; }
body.home .fz-cartel .fz-titulo-cartel + .fz-boton-escucha { margin-top: var(--fz-space-xl) !important; }
body.home .fz-cartel .fz-boton-escucha + .fz-texto { margin-top: var(--fz-space-xl) !important; }
/* reproductor debajo del texto, con un ancho cómodo */
body.home .fz-cartel .fz-texto + .fz-reproductor { max-width: 760px; margin-top: var(--fz-space-xl) !important; margin-bottom: var(--fz-space-2xl) !important; }
#podcast { scroll-margin-top: var(--fz-space-lg); }
@media (prefers-reduced-motion: no-preference) { html:has(#podcast) { scroll-behavior: smooth; } }
@media (max-width: 767px) {
	body.home .fz-cartel .fz-titulo-cartel + .fz-boton-escucha,
	body.home .fz-cartel .fz-boton-escucha + .fz-texto,
	body.home .fz-cartel .fz-texto + .fz-reproductor { margin-top: var(--fz-space-lg) !important; }
	body.home .fz-cartel .fz-texto + .fz-reproductor { margin-bottom: var(--fz-space-xl) !important; }
}
/* botón de la home más grande, a juego con el titular; el ▶ va por CSS (no depende de fuentes de iconos) */
body.home .fz-cartel .fz-titulo-cartel:has(+ .fz-boton-escucha),
body.home .fz-cartel .fz-titulo-cartel:has(+ .fz-boton-escucha) .fl-heading { margin-bottom: 0 !important; }
body.home .fz-cartel .fz-boton-escucha a.fl-button { min-height: 64px; padding: var(--fz-space-sm) var(--fz-space-lg) !important; font-size: var(--fz-text-xl) !important; }
body.home .fz-cartel .fz-boton-escucha a.fl-button .fl-button-text { font-size: inherit !important; }
body.home .fz-cartel .fz-boton-escucha a.fl-button .fl-button-text::before { content: "▶\00a0\00a0"; content: "▶\00a0\00a0" / ""; }
@media (max-width: 480px) {
	body.home .fz-cartel .fz-boton-escucha a.fl-button { min-height: 56px; padding: var(--fz-space-xs) var(--fz-space-sm) !important; font-size: var(--fz-text-lg) !important; }
}

/* ═══ Home (opción A): Telegram junto a «Escucha el último episodio» y la ilustración a la derecha ═══ */
body.home .fz-cartel .fz-boton-telegram,
body.home .fz-cartel .fz-boton-telegram > .fl-module-content { margin: 0 !important; }
body.home .fz-cartel .fz-boton-telegram .fl-button-wrap { text-align: left !important; }
body.home .fz-cartel .fz-boton-telegram a.fl-button { min-height: 64px; padding: var(--fz-space-sm) var(--fz-space-lg) !important; font-size: var(--fz-text-xl) !important; }
body.home .fz-cartel .fz-boton-telegram a.fl-button .fl-button-text { font-size: inherit !important; }
@media (min-width: 993px) {
	/* los dos botones en la misma línea */
	body.home .fz-cartel__texto > .fl-col-content { display: flex; flex-direction: row !important; flex-wrap: wrap; justify-content: flex-start !important; align-items: center !important; column-gap: var(--fz-space-md); }
	body.home .fz-cartel__texto > .fl-col-content > .fl-module { flex: 0 0 100%; min-width: 0; }
	body.home .fz-cartel__texto > .fl-col-content > :is(.fz-boton-escucha, .fz-boton-telegram) { flex: 0 0 auto; }
	body.home .fz-cartel .fz-cartel__texto > .fl-col-content > .fz-boton-telegram { margin-top: var(--fz-space-xl) !important; }
	/* texto y reproductor a la izquierda, ilustración abajo a la derecha tocando la tira */
	body.home .fz-cartel .fl-col-group:has(> .fz-col-ilustracion) { display: flex; align-items: stretch; }
	body.home .fz-cartel .fl-col-group:has(> .fz-col-ilustracion) > .fl-col { float: none; }
	body.home .fz-cartel .fz-col-texto > .fl-col-content { padding-right: var(--fz-space-xl) !important; }
	body.home .fz-cartel .fz-col-texto .fz-reproductor { max-width: none; }
	body.home .fz-cartel .fz-col-ilustracion > .fl-col-content { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
}
@media (max-width: 992px) {
	body.home .fz-cartel .fz-cartel__texto .fz-boton-telegram { margin-top: var(--fz-space-sm) !important; }
	body.home .fz-cartel .fz-col-texto .fz-texto { margin-top: var(--fz-space-lg) !important; }
}
@media (max-width: 480px) {
	body.home .fz-cartel .fz-boton-telegram a.fl-button { min-height: 56px; padding: var(--fz-space-xs) var(--fz-space-sm) !important; font-size: var(--fz-text-lg) !important; }
}

/* ═══ Movimiento (Hallmark + criterios de Emil Kowalski) ═══════════════════════════
 * Solo transform y opacity; curva de salida fuerte (--fz-ease); nada se anima en acciones repetidas
 * (filtros, búsqueda, menú al pasar el ratón). Con «reducir movimiento»: solo fundidos. */

/* 1 · Home: la cabecera entra en cascada una vez al cargar */
@keyframes fz-entra { from { opacity: 0; transform: translateY(16px); } }
@keyframes fz-aparece { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
	body.home .fz-cartel__texto :is(.fz-pegatina, .fz-titulo-cartel, .fz-boton-escucha, .fz-boton-telegram) { animation: fz-entra 520ms var(--fz-ease) backwards; }
	body.home .fz-cartel__texto .fz-titulo-cartel { animation-delay: 70ms; }
	body.home .fz-cartel__texto .fz-boton-escucha { animation-delay: 160ms; }
	body.home .fz-cartel__texto .fz-boton-telegram { animation-delay: 220ms; }
}
@media (prefers-reduced-motion: reduce) {
	body.home .fz-cartel__texto :is(.fz-pegatina, .fz-titulo-cartel, .fz-boton-escucha, .fz-boton-telegram) { animation: fz-aparece 300ms ease backwards; }
}

/* 2 · Ilustración: Gorka y Víctor asoman desde detrás del semicírculo al llegar a ella (clase puesta por JS) */
.fz-ilustracion.fz-espera .fl-photo-content { clip-path: inset(-100% -100% 0 -100%); }
.fz-ilustracion.fz-espera img { transition: transform 700ms var(--fz-ease), opacity 400ms ease; }
.fz-ilustracion.fz-espera .fl-photo-content::before { transition: transform 600ms var(--fz-ease); transform-origin: 50% 100%; }
.fz-ilustracion.fz-espera:not(.fz-visible) img { transform: translateY(32%); opacity: 0; }
.fz-ilustracion.fz-espera:not(.fz-visible) .fl-photo-content::before { transform: scale(0.92); }
@media (prefers-reduced-motion: reduce) {
	.fz-ilustracion.fz-espera img { transition: opacity 400ms ease; }
	.fz-ilustracion.fz-espera:not(.fz-visible) img { transform: none; }
	.fz-ilustracion.fz-espera .fl-photo-content::before { transition: none; transform: none; }
}

/* 3 · Reproductor: pequeño salto al llegar desde «Escucha el último episodio» (clase puesta por JS) */
@keyframes fz-salto { 0% { transform: none; } 35% { transform: translateY(-10px) rotate(-0.6deg); } 100% { transform: none; } }
@media (prefers-reduced-motion: no-preference) {
	.fz-reproductor.fz-salta .pp-podcast { animation: fz-salto 560ms var(--fz-ease); }
}

/* 4 · Botón de play: se hunde al pulsar */
.fz-reproductor .pp-podcast .ppjs__playpause-button button { transition: transform 120ms var(--fz-ease) !important; }
.fz-reproductor .pp-podcast .ppjs__playpause-button button:active { transform: scale(0.94); }
@media (prefers-reduced-motion: reduce) {
	.fz-reproductor .pp-podcast .ppjs__playpause-button button:active { transform: none; }
}

/* 5 · «Cargar más»: las fichas nuevas entran en cascada (clase y orden puestos por JS) */
@keyframes fz-ficha { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: no-preference) {
	body .lmq-card.fz-nueva { animation: fz-ficha 360ms var(--fz-ease) backwards; animation-delay: calc(var(--fz-i, 0) * 35ms); }
}
@media (prefers-reduced-motion: reduce) {
	body .lmq-card.fz-nueva { animation: fz-aparece 240ms ease backwards; }
}

/* 6 · Menú de móvil: Beaver Builder ya lo despliega; los enlaces entran en cascada mientras baja */
@keyframes fz-enlace { from { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 992px) and (prefers-reduced-motion: no-preference) {
	.fz-menu .fl-menu .menu[style*="block"] > li { animation: fz-enlace 260ms var(--fz-ease) backwards; }
	.fz-menu .fl-menu .menu[style*="block"] > li:nth-child(2) { animation-delay: 30ms; }
	.fz-menu .fl-menu .menu[style*="block"] > li:nth-child(3) { animation-delay: 60ms; }
	.fz-menu .fl-menu .menu[style*="block"] > li:nth-child(4) { animation-delay: 90ms; }
	.fz-menu .fl-menu .menu[style*="block"] > li:nth-child(5) { animation-delay: 120ms; }
	.fz-menu .fl-menu .menu[style*="block"] > li:nth-child(6) { animation-delay: 150ms; }
}

/* ═══ Tazas de café en lugar de asteriscos (icono dibujado para la web, sin licencias de terceros) ═══ */
:root { --fz-taza: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 32'%3E%3Cg fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M10 2.5c-1.6 1.6-1.6 3.2 0 4.8s1.6 3.2 0 4.8'/%3E%3Cpath d='M15.5 2.5c-1.6 1.6-1.6 3.2 0 4.8s1.6 3.2 0 4.8'/%3E%3Cpath d='M21 2.5c-1.6 1.6-1.6 3.2 0 4.8s1.6 3.2 0 4.8'/%3E%3Cpath d='M25 16.5h1.8a3.7 3.7 0 0 1 0 7.4H24.5' stroke-width='2.6'/%3E%3C/g%3E%3Cpath d='M4 14.5h22v5.5a7.5 7.5 0 0 1-7.5 7.5h-7A7.5 7.5 0 0 1 4 20z'/%3E%3Crect x='1.5' y='28.6' width='27' height='2.6' rx='1.3'/%3E%3C/svg%3E"); }
:is(.fz-titulo-seccion.fl-heading, .fz-titulo-seccion .fl-heading)::before,
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading)::before,
body .lmq-reco__credit::before {
	content: ""; content: "" / "";
	display: block; width: calc(var(--fz-taza-n, 3) * var(--fz-taza-t, 30px) * 1.3125 - var(--fz-taza-t, 30px) * 0.3125); height: var(--fz-taza-t, 30px);
	letter-spacing: 0; background-color: var(--fz-taza-color, var(--fz-accent-2));
	-webkit-mask: var(--fz-taza) 0 0 / calc(var(--fz-taza-t, 30px) * 1.3125) var(--fz-taza-t, 30px) repeat-x;
	mask: var(--fz-taza) 0 0 / calc(var(--fz-taza-t, 30px) * 1.3125) var(--fz-taza-t, 30px) repeat-x;
}
:is(.fz-titulo-claro.fl-heading, .fz-titulo-claro .fl-heading)::before { --fz-taza-color: var(--fz-accent); }
body .lmq-reco__credit::before { --fz-taza-n: 4; --fz-taza-t: 18px; }
body .lmq-receta__trucos li::before {
	content: ""; content: "" / ""; top: 0.05em; width: 26px; height: 20px;
	background-color: var(--fz-accent); /* cian: el recuadro de trucos es oscuro */
	-webkit-mask: var(--fz-taza) 0 0 / auto 20px no-repeat; mask: var(--fz-taza) 0 0 / auto 20px no-repeat;
}
body .lmq-receta__trucos li { padding-left: 36px; }

/* ═══ Home: botones de las últimas fichas alineados con el borde izquierdo de su ficha ═══ */
.fz-col-arriba :is(.fz-boton-cian, .fz-boton-lila, .fz-boton-lima, .fz-boton-mostaza, .fz-boton-coral) .fl-button-wrap {
	max-width: 340px; margin-inline: auto; padding-right: 8px; text-align: left !important;
}

/* ═══ Titulares H1 de las secciones (no la home): en 2 líneas y con más relieve ═══ */
body:not(.home) .fz-cartel .fl-col:only-child :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) { max-width: none; }
:is(body:has(.lmq-reco[data-tipo]:not(.lmq-reco--ultima)), body:has(.lmq-recetas:not(.lmq-recetas--ultima)), body.single-lmq_receta, body.post-type-archive-lmq_capitulo) .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
	-webkit-text-stroke-width: 5px;
	text-shadow: 1px 1px 0 var(--fz-ink), 2px 2px 0 var(--fz-ink), 3px 3px 0 var(--fz-ink), 4px 4px 0 var(--fz-ink), 5px 5px 0 var(--fz-ink), 6px 6px 0 var(--fz-ink), 7px 7px 0 var(--fz-ink), 8px 8px 0 var(--fz-ink), 9px 9px 0 var(--fz-ink);
}
@media (max-width: 767px) {
	:is(body:has(.lmq-reco[data-tipo]:not(.lmq-reco--ultima)), body:has(.lmq-recetas:not(.lmq-recetas--ultima)), body.single-lmq_receta, body.post-type-archive-lmq_capitulo) .fz-cartel :is(.fz-titulo-cartel.fl-heading, .fz-titulo-cartel .fl-heading) {
		-webkit-text-stroke-width: 3px;
		text-shadow: 1px 1px 0 var(--fz-ink), 2px 2px 0 var(--fz-ink), 3px 3px 0 var(--fz-ink), 4px 4px 0 var(--fz-ink), 5px 5px 0 var(--fz-ink);
	}
}

/* ═══ Movimiento · 2.ª tanda: toda la web ═══════════════════════════════════════════
 * Aparición al hacer scroll: el JS marca con .fz-revela lo que está fuera de pantalla al cargar
 * (lo visible de entrada no se oculta nunca) y pone .fz-visible al llegar; --fz-i escalona grupos. */
@media (prefers-reduced-motion: no-preference) {
	.fz-revela { transition: opacity 560ms ease, transform 640ms var(--fz-ease) !important; transition-delay: calc(var(--fz-i, 0) * 60ms) !important; }
	.fz-revela:not(.fz-visible) { opacity: 0; transform: translateY(28px); }
	.fz-revela.fz-desde-izq:not(.fz-visible) { transform: translateX(-28px); }
	.fz-revela.fz-pop:not(.fz-visible) { transform: translateY(16px) scale(0.96); }
}
@media (prefers-reduced-motion: reduce) {
	.fz-revela { transition: opacity 400ms ease !important; transition-delay: calc(var(--fz-i, 0) * 40ms) !important; }
	.fz-revela:not(.fz-visible) { opacity: 0; }
}

/* titulares de las secciones (no la home): entran al cargar, y la cinta morada detrás */
@media (prefers-reduced-motion: no-preference) {
	body:not(.home) .fz-cartel .fz-titulo-cartel { animation: fz-entra 560ms var(--fz-ease) backwards; }
	body:not(.home) .fz-cartel .fz-titulo-cartel + .fz-cinta { animation: fz-cinta-entra 700ms var(--fz-ease) 180ms backwards; }
}
@keyframes fz-cinta-entra { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }

/* tazas de los titulares: aparecen una a una cuando el titular entra */
@keyframes fz-tazas { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: no-preference) {
	.fz-visible:is(.fz-titulo-seccion, .fz-titulo-claro) :is(.heading-title, .fl-heading)::before { animation: fz-tazas 720ms steps(3, jump-end) 250ms backwards; }
}

/* leyenda «Cómo puntuamos»: las estrellas se rellenan de izquierda a derecha */
@keyframes fz-relleno { from { clip-path: inset(0 100% 0 0); } }
@media (prefers-reduced-motion: no-preference) {
	body .lmq-reco__legend li.fz-visible .lmq-stars__on { animation: fz-relleno 700ms var(--fz-ease) calc(var(--fz-i, 0) * 60ms + 200ms) backwards; }
}

/* 5 estrellas: la pegatina fucsia cae como un sello al aparecer la ficha (clase puesta por JS) */
@keyframes fz-sello {
	0% { opacity: 0; transform: rotate(-14deg) scale(1.8); }
	60% { opacity: 1; transform: rotate(-2deg) scale(1.02); }
	100% { transform: rotate(-4deg) scale(1.1); }
}
@media (prefers-reduced-motion: no-preference) {
	body .lmq-card[data-lmq-reco-stars="5"] .lmq-card__rating.fz-sello { animation: fz-sello 520ms var(--fz-ease) 280ms backwards; }
}

/* fichas: la portada se acerca un poco al pasar el ratón (solo con ratón) */
body :is(.lmq-card__poster, .lmq-receta-card__foto) img { transition: transform 500ms var(--fz-ease); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	body :is(.lmq-card, .lmq-receta-card):hover :is(.lmq-card__poster, .lmq-receta-card__foto) img { transform: scale(1.05); }
}
body .lmq-receta-card__foto { overflow: hidden; }

/* pegatinas «Nuevo capítulo cada lunes»: se balancean un momento al pasar el ratón */
@keyframes fz-balanceo { 0%, 100% { rotate: 0deg; } 30% { rotate: -3deg; } 65% { rotate: 2deg; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.fz-pegatina:hover p { animation: fz-balanceo 420ms var(--fz-ease); }
}

/* logo: la taza da un saltito al pasar el ratón (además de enderezarse) */
@keyframes fz-saltito { 0%, 100% { translate: 0 0; } 40% { translate: 0 -4px; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.fz-logo a:hover img { animation: fz-saltito 360ms var(--fz-ease); }
}

/* menú de la cabecera: subrayado de color que se dibuja al pasar el ratón */
@media (min-width: 993px) {
	.fz-menu .menu a { background-image: linear-gradient(var(--fz-link, var(--fz-accent)), var(--fz-link, var(--fz-accent))) !important; background-repeat: no-repeat !important; background-position: 0 100% !important; background-size: 0% 3px !important; transition: border-color var(--fz-dur) var(--fz-ease), background-size 260ms var(--fz-ease) !important; }
	.fz-menu .menu a:hover { background-size: 100% 3px !important; border-color: transparent; }
}


/* plataformas: al entrar, el icono de cada plataforma gira un poco */
@keyframes fz-giro { from { transform: rotate(-20deg) scale(0.8); } }
@media (prefers-reduced-motion: no-preference) {
	.fz-plataformas a.podcast-subscribe-button.fz-visible :is(img, svg, i) { animation: fz-giro 520ms var(--fz-ease) calc(var(--fz-i, 0) * 60ms + 120ms) backwards; }
}

/* ═══ Cada sección con su color también en «Cómo puntuamos» y en la cinta bajo el titular ═══
 * (Películas cian · Series lila · Videojuegos lima · Música mostaza · Recetas coral; la home y el pie siguen igual) */
body .lmq-reco__legend { background: var(--fz-seccion, var(--fz-accent)); }
body:not(.home) .fz-cartel .fz-cinta { background: var(--fz-seccion, var(--fz-accent-2)); }
body:not(.home):is(:has(.lmq-reco[data-tipo]:not(.lmq-reco--ultima)), :has(.lmq-recetas:not(.lmq-recetas--ultima)), .single-lmq_receta) .fz-cartel :is(.fz-cinta.fl-rich-text, .fz-cinta .fl-rich-text) p { color: var(--fz-ink) !important; }

/* ═══ HOME · animaciones «disruptivas» (3.ª tanda) ═══════════════════════════════════════
 * Letras, ecualizador, 3D, paralaje, cinta viva, panel de aeropuerto, cartas y barra de progreso.
 * El JS (lmq-fanzine-chrome.php) trocea los titulares y mueve lo que depende del ratón o del scroll.
 * Con «reducir movimiento» no se trocea nada y solo quedan fundidos. */
@property --fz-base { syntax: "<length>"; inherits: false; initial-value: 6px; }
@property --fz-prof { syntax: "<length>"; inherits: false; initial-value: 0px; }
.fz-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fz-palabra { display: inline-block; white-space: nowrap; }
.fz-letra { display: inline-block; }

@media (prefers-reduced-motion: no-preference) {
	/* mientras el JS prepara las letras, el titular espera oculto (si el JS fallara, aparece a los 2 s) */
	.fz-js body.home:not(.fl-builder-edit) .fz-cartel .fz-titulo-cartel .fl-heading:not(.fz-con-letras) { opacity: 0; animation: fz-muestra 1ms 2s forwards; }
	.fz-js body.home:not(.fl-builder-edit) .fz-cartel__texto .fz-titulo-cartel { animation: none; }
}
@keyframes fz-muestra { to { opacity: 1; } }

/* 1 · titular «imprenta»: cada letra cae y se estampa; la 1.ª línea llega por la izquierda y la 2.ª por la derecha */
body.home .fz-cartel .fz-titulo-cartel .fl-heading.fz-con-letras {
	--fz-base: 6px;
	background: none !important;
	filter: drop-shadow(calc(var(--fz-base) + var(--fz-prof)) calc(var(--fz-base) + var(--fz-prof)) 0 var(--fz-ink));
	animation: fz-relieve-crece 420ms var(--fz-ease) 1.35s backwards;
}
@media (max-width: 767px) { body.home .fz-cartel .fz-titulo-cartel .fl-heading.fz-con-letras { --fz-base: 3px; } }
body.home .fz-con-letras .fz-letra { color: var(--c); -webkit-text-fill-color: var(--c); }
@keyframes fz-relieve-crece { from { --fz-base: 0px; } }
@keyframes fz-letra-cae {
	0% { opacity: 0; transform: translate(calc(var(--dir, -1) * 70px), -46px) rotate(calc(var(--dir, -1) * -28deg)) scale(1.5); }
	55% { opacity: 1; transform: translate(0, 5px) rotate(calc(var(--dir, -1) * 4deg)) scale(0.94); }
	80% { transform: translate(0, -2px) rotate(0) scale(1.02); }
	100% { transform: none; }
}
body.home .fz-con-letras .fz-letra { animation: fz-letra-cae 560ms var(--fz-ease) backwards; animation-delay: calc(var(--i) * 26ms + 120ms); }

/* 2 · al pasar el ratón por el titular, las letras hacen la ola (propiedad translate: no pisa la entrada) */
@keyframes fz-ola { 0%, 100% { translate: 0 0; } 40% { translate: 0 -0.14em; } }
body.home .fz-con-letras.fz-ola .fz-letra {
	animation: fz-letra-cae 560ms var(--fz-ease) calc(var(--i) * 26ms + 120ms) backwards, fz-ola 460ms var(--fz-ease) calc(var(--i) * 18ms);
}

/* 3 · con el scroll, la sombra del titular se alarga y las letras se inclinan */
@supports (animation-timeline: scroll()) {
	@keyframes fz-prof { to { --fz-prof: 14px; transform: skewX(-7deg); } }
	body.home .fz-cartel .fz-titulo-cartel .fl-heading.fz-con-letras {
		transform-origin: 0 100%;
		animation: fz-relieve-crece 420ms var(--fz-ease) 1.35s backwards, fz-prof linear both;
		animation-timeline: auto, scroll(root);
		animation-range: normal, 0 70vh;
	}
}

@media (prefers-reduced-motion: no-preference) {
	/* 4 · pegatina: se estampa como un adhesivo, rebota y queda torcida */
	@keyframes fz-pegote {
		0% { opacity: 0; transform: translateY(-70px) rotate(-20deg) scale(1.35); }
		50% { opacity: 1; transform: translateY(4px) rotate(5deg) scale(0.95); }
		72% { transform: translateY(-2px) rotate(-2deg) scale(1.03); }
		100% { transform: none; }
	}
	body.home .fz-cartel__texto .fz-pegatina { animation: fz-pegote 700ms var(--fz-ease) backwards; }
	body.home .fz-cartel__texto .fz-boton-escucha { animation-delay: 1.25s; }
	body.home .fz-cartel__texto .fz-boton-telegram { animation-delay: 1.35s; }

	/* 5 · «Escucha el último episodio»: el ▶ es un ecualizador de tres barras */
	@keyframes fz-eq {
		0%, 100% { background-size: 3px 35%, 3px 90%, 3px 55%; }
		33% { background-size: 3px 85%, 3px 40%, 3px 100%; }
		66% { background-size: 3px 55%, 3px 100%, 3px 30%; }
	}
	body.home .fz-cartel .fz-boton-escucha a.fl-button .fl-button-text::before {
		content: ""; content: "" / "";
		display: inline-block; width: 15px; height: 0.8em; margin-right: 12px; vertical-align: -0.02em;
		background: linear-gradient(currentColor, currentColor) 0 100% no-repeat, linear-gradient(currentColor, currentColor) 6px 100% no-repeat, linear-gradient(currentColor, currentColor) 12px 100% no-repeat;
		background-size: 3px 35%, 3px 90%, 3px 55%;
		animation: fz-eq 950ms ease-in-out infinite;
	}

	/* 6 · Telegram: el avión de papel sale volando y vuelve a entrar */
	@keyframes fz-avion {
		0% { transform: none; opacity: 1; }
		45% { transform: translate(28px, -26px) rotate(-18deg) scale(0.8); opacity: 0; }
		46% { transform: translate(-26px, 24px) rotate(10deg) scale(0.8); opacity: 0; }
		100% { transform: none; opacity: 1; }
	}
	body.home .fz-boton-telegram .fl-button-icon { display: inline-block; }
	@media (hover: hover) and (pointer: fine) {
		body.home .fz-boton-telegram a.fl-button:hover .fl-button-icon { animation: fz-avion 700ms var(--fz-ease); }
	}
}

/* 7 · reproductor en 3D: se inclina siguiendo el ratón (el JS pone --rx/--ry) */
body.home .fz-reproductor .pp-podcast { transition: transform 160ms ease-out !important; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
body.home .fz-reproductor .pp-podcast.fz-suelta { transition: transform 600ms var(--fz-ease) !important; }

/* 8 · ilustración: paralaje con el ratón y el semicírculo sale como un sol al hacer scroll */
body.home .fz-ilustracion img { translate: var(--mx, 0px) var(--my, 0px); transition: translate 300ms ease-out, transform 700ms var(--fz-ease), opacity 400ms ease; }
body.home .fz-ilustracion .fl-photo-content::before { translate: calc(var(--mx, 0px) * -0.6) calc(var(--my, 0px) * -0.4); transition: translate 300ms ease-out, transform 600ms var(--fz-ease); }
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		@keyframes fz-sol { from { transform: translateY(38%) scale(0.85); } to { transform: none; } }
		body.home .fz-ilustracion .fl-photo-content { view-timeline-name: --fz-ilus; clip-path: inset(-100% -100% 0 -100%); }
		body.home .fz-ilustracion .fl-photo-content::before { animation: fz-sol linear both; animation-timeline: --fz-ilus; animation-range: entry 0% cover 45%; }
	}
}

/* 9 · cinta de la home: entra con barrido (como en las secciones); la velocidad la cambia el JS con el scroll */
@media (prefers-reduced-motion: no-preference) {
	.fz-revela.fz-barrido { opacity: 1 !important; transform: none !important; transition: clip-path 800ms var(--fz-ease) !important; }
	.fz-revela.fz-barrido:not(.fz-visible) { clip-path: inset(0 0 0 100%); }
}

/* 10 · plataformas: giran como un panel de aeropuerto; el titular se escribe letra a letra */
@media (prefers-reduced-motion: no-preference) {
	.fz-revela.fz-flap { transform-origin: 50% 0; transition: transform 760ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 240ms ease !important; transition-delay: calc(var(--fz-i, 0) * 90ms) !important; }
	.fz-revela.fz-flap:not(.fz-visible) { opacity: 0; transform: perspective(700px) rotateX(-100deg); }
	/* transición (no animación): el estado final «visible» está garantizado aunque el navegador vaya a saltos */
	.fz-tecleo .fz-letra { opacity: 0; }
	.fz-tecleo.fz-escribe .fz-letra { opacity: 1; transition: opacity 1ms linear; transition-delay: calc(var(--i) * 45ms + 200ms); }
	@keyframes fz-cursor { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
	.fz-tecleo .fl-heading-text::after { content: ""; content: "" / ""; display: inline-block; width: 0.45em; height: 0.8em; margin-left: 0.08em; vertical-align: -0.04em; background: var(--fz-accent); animation: fz-cursor 900ms steps(1) infinite; }
	.fz-tecleo.fz-escrito .fl-heading-text::after { animation: fz-cursor 900ms steps(1) 3, fz-muestra-no 1ms 2.7s forwards; }
	@keyframes fz-muestra-no { to { opacity: 0; } }
}

/* 11 · «Lo último»: las fichas salen de un mazo en el centro y se reparten (el JS pone --dx, --dy, --rot) */
@media (prefers-reduced-motion: no-preference) {
	.fz-revela.fz-carta { transition: transform 820ms cubic-bezier(0.34, 1.4, 0.64, 1), opacity 200ms ease !important; transition-delay: calc(var(--fz-i, 0) * 110ms) !important; }
	.fz-revela.fz-carta:not(.fz-visible) { opacity: 0; transform: translate(var(--dx, 0px), var(--dy, 0px)) rotate(var(--rot, 0deg)) scale(0.82); }
}

/* 12 · titular de sección: la franja cian de la 2.ª línea se pinta como un rotulador */
@media (prefers-reduced-motion: no-preference) {
	body.home .fz-titulo-seccion .fl-heading .fz-destacado {
		background: linear-gradient(var(--fz-accent), var(--fz-accent)) 0 0 / 0% 100% no-repeat !important;
		transition: background-size 750ms var(--fz-ease) 350ms;
	}
	body.home .fz-titulo-seccion.fz-visible .fl-heading .fz-destacado { background-size: 100% 100% !important; }
}

/* 13 · barra de progreso de lectura con los cinco colores de las secciones */
.fz-progreso {
	position: fixed; inset: 0 0 auto 0; z-index: 99999; height: 5px; pointer-events: none;
	background: linear-gradient(90deg, var(--fz-accent) 0 20%, var(--fz-lila) 20% 40%, var(--fz-lima) 40% 60%, var(--fz-mostaza) 60% 80%, var(--fz-coral) 80% 100%);
	transform: scaleX(var(--p, 0)); transform-origin: 0 50%;
	box-shadow: 0 2px 0 var(--fz-ink);
}
body.admin-bar .fz-progreso { top: 32px; }
@media (max-width: 782px) { body.admin-bar .fz-progreso { top: 46px; } }

/* Telegram (módulo Botón normal): el avión no se sale del botón al volar */
body.home .fz-boton-telegram a.fl-button { overflow: hidden; }

/* ═══ Plataformas: al pasar el ratón, cada tarjeta se pinta con el color de su marca ═══
 * (colores tomados de los propios iconos del plugin; el icono conserva sus colores sobre una placa blanca) */
:root {
	--fz-marca-amazon: #4804ff;
	--fz-marca-apple: linear-gradient(160deg, #d772fb, #822cbe);
	--fz-marca-ivoox: #ff6d0e;
	--fz-marca-pocketcasts: #f44336;
	--fz-marca-spotify: #1ed760;
	--fz-marca-youtube: #ff0000;
}
.fz-plataformas a.podcast-subscribe-button:has(img[src*="Amazon-Music"]) { --fz-marca: var(--fz-marca-amazon); --fz-marca-tinta: #fff; }
.fz-plataformas a.podcast-subscribe-button:has(img[src*="Apple-Podcasts"]) { --fz-marca: var(--fz-marca-apple); --fz-marca-tinta: #fff; }
.fz-plataformas a.podcast-subscribe-button:has(img[src*="iVoox"]) { --fz-marca: var(--fz-marca-ivoox); --fz-marca-tinta: var(--fz-ink); }
.fz-plataformas a.podcast-subscribe-button:has(img[src*="PocketCasts"]) { --fz-marca: var(--fz-marca-pocketcasts); --fz-marca-tinta: #fff; }
.fz-plataformas a.podcast-subscribe-button:has(img[src*="Spotify"]) { --fz-marca: var(--fz-marca-spotify); --fz-marca-tinta: var(--fz-ink); }
.fz-plataformas a.podcast-subscribe-button:has(img[src*="YouTube"]) { --fz-marca: var(--fz-marca-youtube); --fz-marca-tinta: #fff; }
.fz-plataformas a.podcast-subscribe-button { isolation: isolate; }
.fz-plataformas a.podcast-subscribe-button::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: var(--fz-marca, var(--fz-carta)); opacity: 0; transition: opacity var(--fz-dur) ease;
}
.fz-plataformas a.podcast-subscribe-button img { border-radius: 6px; transition: background-color var(--fz-dur) ease, box-shadow var(--fz-dur) ease; }
@media (hover: hover) and (pointer: fine) {
	.fz-plataformas a.podcast-subscribe-button:hover { color: var(--fz-marca-tinta, var(--fz-paper)) !important; border-color: var(--fz-paper) !important; box-shadow: 5px 5px 0 var(--fz-paper) !important; }
	.fz-plataformas a.podcast-subscribe-button:hover::before { opacity: 1; }
	.fz-plataformas a.podcast-subscribe-button:hover img { background-color: #fff; box-shadow: 0 0 0 5px #fff; }
	.fz-plataformas a.podcast-subscribe-button:hover::after { color: var(--fz-marca-tinta, var(--fz-accent)); }
}
.fz-plataformas a.podcast-subscribe-button:focus-visible::before { opacity: 1; }
.fz-plataformas a.podcast-subscribe-button:focus-visible { color: var(--fz-marca-tinta, var(--fz-paper)) !important; }
.fz-plataformas a.podcast-subscribe-button:focus-visible img { background-color: #fff; box-shadow: 0 0 0 5px #fff; }

/* panel de aeropuerto: la transición de la tarjeta (180 ms, todas a la vez) tapaba el giro; esta pesa más */
@media (prefers-reduced-motion: no-preference) {
	.fz-plataformas a.podcast-subscribe-button.fz-revela.fz-flap { transform-origin: 50% 0; transition: transform 760ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 240ms ease !important; transition-delay: calc(var(--fz-i, 0) * 90ms) !important; }
	.fz-plataformas a.podcast-subscribe-button.fz-revela.fz-flap:not(.fz-visible) { opacity: 0; transform: perspective(700px) rotateX(-100deg); }
}

/* ═══ Colores más llamativos: pegatina, botones del cartel de la home y cintas ═══ */
/* pegatina «Nuevo capítulo cada lunes»: mostaza con letra oscura */
:is(.fz-pegatina.fl-rich-text, .fz-pegatina .fl-rich-text) p { color: var(--fz-ink) !important; background: var(--fz-mostaza); }

/* «Escucha el último episodio»: naranja butano con letra oscura (el ecualizador también) */
:root { --fz-butano: oklch(72% 0.19 50); }
body.home .fz-cartel .fz-boton-escucha { --fz-boton-bg: var(--fz-butano); }

/* «Únete al canal de Telegram»: lima con letra e icono oscuros y sombra de tinta, como el resto de botones */
body.home .fz-cartel .fz-boton-telegram a.fl-button { background: var(--fz-lima) !important; box-shadow: 6px 6px 0 var(--fz-ink) !important; }
body.home .fz-cartel .fz-boton-telegram a.fl-button :is(.fl-button-text, i) { color: var(--fz-ink) !important; }
@media (hover: hover) and (pointer: fine) {
	body.home .fz-cartel .fz-boton-telegram a.fl-button:hover { box-shadow: 8px 8px 0 var(--fz-ink) !important; }
}
body.home .fz-cartel .fz-boton-telegram a.fl-button:active { box-shadow: 2px 2px 0 var(--fz-ink) !important; }

/* cintas de la home y del pie: lima con letra oscura (las de las secciones siguen con su color) */
:is(body.home .fz-cartel, .fz-pie) .fz-cinta { background: var(--fz-lima); }
:is(body.home .fz-cartel, .fz-pie) :is(.fz-cinta.fl-rich-text, .fz-cinta .fl-rich-text) p { color: var(--fz-ink) !important; }

/* ═══ Home · «Lo último»: Música y Recetas en la misma rejilla de tercios que Película, Serie y Videojuego ═══
 * (el modo «misma altura» de Beaver Builder estiraba las columnas hasta llenar la fila) */
@media (min-width: 769px) {
	.fz-seccion .fl-col-group > .fl-col.fz-col-arriba { flex: 0 0 auto; }
}

/* ═══ Pie: enlace a «Política de Privacidad y Política de Cookies» junto al copyright ═══ */
:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) a {
	color: var(--fz-paper) !important; text-decoration: underline !important;
	text-decoration-thickness: 1px !important; text-underline-offset: 3px;
	transition: text-decoration-color var(--fz-dur) ease, color var(--fz-dur) ease;
}
:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) a:hover { color: var(--fz-accent) !important; text-decoration-thickness: 2px !important; }
:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) a:focus-visible { outline: 3px solid var(--fz-accent); outline-offset: 2px; }
@media (max-width: 767px) {
	/* en móvil, el enlace baja a su propia línea */
	:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) .fz-copy-sep { display: none; }
	:is(.fz-copy.fl-rich-text, .fz-copy .fl-rich-text) a { display: block; margin-top: var(--fz-space-2xs); }
}

/* ═══ Home · «Lo último»: botón de sección más cerca de su ficha (antes sumaban 72 px de márgenes) ═══ */
.fz-col-arriba .fz-ultima,
.fz-col-arriba .fz-ultima > .fl-module-content { margin-bottom: 0 !important; }
.fz-col-arriba .fl-module-button > .fl-module-content { margin-top: 0 !important; }
.fz-seccion .fz-col-arriba .fl-module-button { margin-top: var(--fz-space-md) !important; }

/* ═══ Home · «Lo último»: más aire encima de Música y Receta (de 48 a 96 px en ordenador) ═══ */
@media (min-width: 769px) {
	.fz-seccion .fl-row-content > .fl-col-group:has(> .fz-col-arriba) { margin-top: var(--fz-space-xl) !important; } /* Música y Receta: su grupo va suelto en la fila, el de arriba va dentro de una columna */
}

/* ═══ Página de receta con los colores vivos de las secciones (cian, lila, lima, mostaza, coral) ═══ */
/* foto con sombra coral, el color de Recetas */
body .lmq-receta__foto img { box-shadow: 8px 8px 0 var(--fz-coral); }
/* datos (tiempo, raciones, dificultad): cada uno de un color */
body .lmq-receta__meta li:nth-child(3n+1) { background: var(--fz-lima); }
body .lmq-receta__meta li:nth-child(3n+2) { background: var(--fz-mostaza); }
body .lmq-receta__meta li:nth-child(3n) { background: var(--fz-lila); }
/* ingredientes: recuadro mostaza y cada ingrediente con su pegatina de color */
body .lmq-receta__ingredientes { background: var(--fz-mostaza); box-shadow: 6px 6px 0 var(--fz-ink); }
body .lmq-receta__ingredientes li { position: relative; padding-left: 26px; }
body .lmq-receta__ingredientes li::before {
	content: ""; content: "" / ""; position: absolute; left: 0; top: calc(var(--fz-space-2xs) + 0.28em);
	width: 12px; height: 12px; background: var(--fz-accent); border: var(--fz-rule) solid var(--fz-ink); border-radius: 3px; transform: rotate(45deg);
}
body .lmq-receta__ingredientes li:nth-child(5n+2)::before { background: var(--fz-lila); }
body .lmq-receta__ingredientes li:nth-child(5n+3)::before { background: var(--fz-lima); }
body .lmq-receta__ingredientes li:nth-child(5n+4)::before { background: var(--fz-coral); }
body .lmq-receta__ingredientes li:nth-child(5n)::before { background: #fff; }
/* «Paso a paso»: subrayado de rotulador coral */
body .lmq-receta__pasos h2 { display: inline; padding: 0 var(--fz-space-2xs); background: linear-gradient(transparent 58%, var(--fz-coral) 58% 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
body .lmq-receta__pasos h2 + ol { margin-top: var(--fz-space-md); }
/* números de los pasos: pegatinas que van rotando por los cinco colores, un poco torcidas */
body .lmq-receta__pasos li::before { color: var(--fz-ink); background: var(--fz-accent); transform: rotate(-3deg); }
body .lmq-receta__pasos li:nth-child(5n+2)::before { background: var(--fz-lila); transform: rotate(2deg); }
body .lmq-receta__pasos li:nth-child(5n+3)::before { background: var(--fz-lima); transform: rotate(-2deg); }
body .lmq-receta__pasos li:nth-child(5n+4)::before { background: var(--fz-mostaza); transform: rotate(3deg); }
body .lmq-receta__pasos li:nth-child(5n)::before { background: var(--fz-coral); transform: rotate(-1deg); }
/* «Para que salga de 10»: sombra coral, titular lima y tazas de colores */
body .lmq-receta__trucos { box-shadow: 8px 8px 0 var(--fz-coral); }
body .lmq-receta__trucos h2 { color: var(--fz-lima) !important; }
body .lmq-receta__trucos li:nth-child(3n+2)::before { background-color: var(--fz-mostaza); }
body .lmq-receta__trucos li:nth-child(3n)::before { background-color: var(--fz-lila); }
/* botón «Todas las recetas» en coral */
body .lmq-receta__volver a { background: var(--fz-coral); }

/* ═══ Home · «Lo último»: toda la ficha es pulsable (lleva a su sección de la web) ═══
 * El velo es un enlace que añade el JS; los botones de dentro (IMDb, TMDB, Deezer…) siguen yendo a su sitio. */
body .lmq-reco--ultima .lmq-card { position: relative; cursor: pointer; }
body .lmq-reco--ultima .fz-ficha-seccion { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
body .lmq-reco--ultima .lmq-card__links { position: relative; z-index: 2; }
body .lmq-reco--ultima .fz-ficha-seccion:focus-visible { outline: 3px solid var(--fz-accent-2); outline-offset: 4px; }


/* ═══ Ficha de capítulo (plugin de Capítulos): mismo aire fanzine que las recetas ═══ */
body .lmq-cap { max-width: 860px; }
body .lmq-cap__meta { display: flex; flex-wrap: wrap; gap: var(--fz-space-2xs); margin: 0 0 var(--fz-space-md); padding: 0; list-style: none; }
body .lmq-cap__meta li {
	margin: 0; padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); line-height: 1; letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink); background: var(--fz-lila); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: 3px 3px 0 var(--fz-ink);
}
body .lmq-cap__meta li:nth-child(2) { background: var(--fz-lima); }
body .lmq-cap__meta li:nth-child(3) { background: var(--fz-mostaza); }
body .lmq-cap__audio { display: block; width: 100%; margin: 0 0 var(--fz-space-lg); border: var(--fz-rule) solid var(--fz-ink); border-radius: 999px; box-shadow: 4px 4px 0 var(--fz-ink); background: var(--fz-card); }
body .lmq-cap__notas { font-size: var(--fz-text-md); line-height: 1.6; color: var(--fz-ink); }
body .lmq-cap__notas p { margin: 0 0 var(--fz-space-sm); }
body .lmq-cap__notas ul { margin: 0 0 var(--fz-space-sm); padding-left: 0; list-style: none; }
body .lmq-cap__notas li { position: relative; margin: 0 0 var(--fz-space-2xs); padding-left: 34px; }
body .lmq-cap__notas li::before {
	content: ""; content: "" / ""; position: absolute; left: 0; top: 0.1em; width: 26px; height: 20px;
	background-color: var(--fz-accent-2);
	-webkit-mask: var(--fz-taza) 0 0 / auto 20px no-repeat; mask: var(--fz-taza) 0 0 / auto 20px no-repeat;
}
body .lmq-cap__notas a { color: var(--fz-ink) !important; text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--fz-accent-2); text-underline-offset: 3px; }
body .lmq-cap__notas a:hover { text-decoration-color: var(--fz-ink); }
body .lmq-cap__donde { margin: var(--fz-space-xl) 0 0; padding: var(--fz-space-md) var(--fz-space-lg); background: var(--fz-ink); color: var(--fz-paper); border-radius: var(--fz-radius); box-shadow: 8px 8px 0 var(--fz-lila); }
body .lmq-cap__etiqueta { margin: 0 0 var(--fz-space-sm); font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-xl); text-transform: uppercase; color: var(--fz-accent); }
body .lmq-cap__donde ul { display: flex; flex-wrap: wrap; gap: var(--fz-space-2xs); margin: 0; padding: 0; list-style: none; }
body .lmq-cap__donde a {
	display: inline-block; padding: var(--fz-space-3xs) var(--fz-space-sm);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-md); letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink) !important; background: var(--fz-accent); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); text-decoration: none !important;
}
body .lmq-cap__donde li:nth-child(2) a { background: var(--fz-lila); }
body .lmq-cap__donde li:nth-child(3) a { background: var(--fz-mostaza); }
body .lmq-cap__donde li:nth-child(4) a { background: var(--fz-coral); }
body .lmq-cap__volver { margin: var(--fz-space-lg) 0 0; }
body .lmq-cap__volver a {
	display: inline-flex; align-items: center; padding: var(--fz-space-2xs) var(--fz-space-sm);
	font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); letter-spacing: 0.03em; text-transform: uppercase;
	color: var(--fz-ink) !important; background: var(--fz-lila); text-decoration: none !important;
	border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: var(--fz-shadow-hard);
}
body .lmq-cap__volver a::before { content: "← "; content: "← " / ""; }

/* Listado de capítulos: tarjetas */
body .lmq-caps { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--fz-space-md); margin: 0; padding: 0; list-style: none; }
body .lmq-cap-card { position: relative; height: 100%; padding: var(--fz-space-md); background: var(--fz-card); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: var(--fz-shadow-hard); transition: transform var(--fz-dur) var(--fz-ease), box-shadow var(--fz-dur) var(--fz-ease); }
@media (hover: hover) and (pointer: fine) { body .lmq-cap-card:hover { transform: translate(-3px, -3px); box-shadow: var(--fz-shadow-hard-lift); } }
body .lmq-cap-card__titulo { margin: 0 0 var(--fz-space-2xs); font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-xl); line-height: 1.05; text-transform: uppercase; }
body .lmq-cap-card__titulo a { color: var(--fz-ink) !important; text-decoration: none; }
body .lmq-cap-card__titulo a::after { content: ""; position: absolute; inset: 0; }
body .lmq-cap-card__num { display: inline-block; margin-right: var(--fz-space-3xs); padding: 0 var(--fz-space-2xs); background: var(--fz-lila); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); }
body .lmq-cap-card__meta { margin: 0 0 var(--fz-space-2xs); font-size: var(--fz-text-sm); font-weight: 600; color: var(--fz-ink-2); }
body .lmq-cap-card__resumen { margin: 0; font-size: var(--fz-text-sm); line-height: 1.5; color: var(--fz-ink-2); }
body .lmq-caps__etiqueta { display: inline-block; margin: 0 0 var(--fz-space-sm); padding: var(--fz-space-3xs) var(--fz-space-xs); font-family: var(--fz-font-display); font-weight: 800; font-size: var(--fz-text-lg); text-transform: uppercase; color: var(--fz-ink); background: var(--fz-lila); border: var(--fz-rule) solid var(--fz-ink); border-radius: var(--fz-radius); box-shadow: 3px 3px 0 var(--fz-ink); transform: rotate(-2deg); }

/* los capítulos usan el lila como color de sección (titular con relieve y cinta) */
body.single-lmq_capitulo { --fz-seccion: var(--fz-lila); }

body.post-type-archive-lmq_capitulo { --fz-seccion: var(--fz-lila); }

/* ═══ Capítulos: naranja butano como color de sección (el lila ya es de Series) ══ */
:root { --fz-butano-hondo: oklch(48% 0.16 50); }
body.single-lmq_capitulo, body.post-type-archive-lmq_capitulo { --fz-seccion: var(--fz-butano); }
:is(.fz-menu, .fz-menu-pie) .menu a[href*="/capitulos"] { --fz-link: var(--fz-butano); --fz-link-hondo: var(--fz-butano-hondo); }
body .lmq-cap-card__num,
body .lmq-caps__etiqueta { background: var(--fz-seccion, var(--fz-butano)); }
body .lmq-cap__donde { box-shadow: 8px 8px 0 var(--fz-seccion, var(--fz-butano)); }

/* cabecera-siete: con siete enlaces, el menú se ajusta en vez de empujar el botón a otra línea */
@media (min-width: 769px) {
	.fz-cabecera .fl-col-group { flex-wrap: nowrap !important; }
	.fz-cabecera .fz-cabecera__menu { min-width: 0; }
	.fz-cabecera .fz-menu .menu > li > a { font-size: clamp(15px, 0.9vw + 6px, 22px) !important; padding-inline: var(--fz-space-2xs) !important; white-space: nowrap; }
}
