/**
 * La Clave Segura – estilos de campaña (Campus Marevents).
 * Acotados a body.lcs (landing 551, «Directo y grabaciones» 552 y páginas
 * legales del flujo). No afectan al resto del Campus.
 *
 * Paleta tomada de los carteles oficiales:
 *   magenta #D01881 · rosa #E881BC · rosa claro #FFE6FA · bruma #FDECFF · negro
 * Tipografía: Montserrat (alojada en el propio servidor).
 * La marca «La Clave Segura» se usa como imagen (extraída del PDF oficial).
 *
 * Los estilos v1.3 están en assets/legacy/avida-v1.3.css (no se cargan).
 */

body.lcs {
	--lcs-magenta: #D01881;
	--lcs-magenta-dark: #A10F63;
	--lcs-pink: #E881BC;
	--lcs-blush: #FFE6FA;
	--lcs-haze: #FDECFF;
	--lcs-ink: #111111;
	--lcs-muted: #3A3A3A;
	--lcs-line: #F3CFE6;
	--lcs-radius: 14px;
	--lcs-wrap: 1180px;
	--lcs-font: "LCS Montserrat", "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--lcs-focus: 3px solid #111111;
	background: #FFFFFF;
	color: var(--lcs-ink);
	font-family: var(--lcs-font);
}

/* Cabecera global oculta SOLO en las páginas del flujo */
body.avida-no-header #masthead,
body.avida-no-header .ehf-header #masthead,
body.avida-no-header header.site-header {
	display: none !important;
}

body.lcs .elementor-widget-container,
body.lcs .elementor-heading-title,
body.lcs .elementor-button,
body.lcs .elementor-widget-text-editor {
	font-family: var(--lcs-font);
}

body.lcs a:focus-visible,
body.lcs .elementor-button:focus-visible,
body.lcs button:focus-visible,
body.lcs input:focus-visible {
	outline: var(--lcs-focus);
	outline-offset: 3px;
}

.lcs-sr,
body.lcs .lcs-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

/* ================================================================
 * ESTRUCTURA (contenedores de Elementor con clase lcs-*)
 * ================================================================ */
body.lcs .e-con.lcs-section {
	--padding-top: clamp(56px, 8vw, 104px);
	--padding-bottom: clamp(56px, 8vw, 104px);
	--padding-left: 20px;
	--padding-right: 20px;
	position: relative;
	background: #FFFFFF;
}
body.lcs .e-con.lcs-section--blush {
	background:
		linear-gradient(var(--lcs-haze), var(--lcs-haze)) 0 0 / 100% 100% no-repeat;
}
body.lcs .e-con.lcs-wrap {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	width: 100%;
	max-width: var(--lcs-wrap);
	margin-left: auto;
	margin-right: auto;
	gap: 24px;
}

/* Interferencias / glitch: barras horizontales rosa muy claro, como en los carteles */
body.lcs .lcs-glitch {
	background-image:
		linear-gradient(var(--lcs-haze), var(--lcs-haze)),
		linear-gradient(var(--lcs-blush), var(--lcs-blush)),
		linear-gradient(var(--lcs-haze), var(--lcs-haze)),
		linear-gradient(var(--lcs-blush), var(--lcs-blush)),
		linear-gradient(var(--lcs-haze), var(--lcs-haze)),
		linear-gradient(var(--lcs-blush), var(--lcs-blush)),
		linear-gradient(var(--lcs-haze), var(--lcs-haze)),
		linear-gradient(#F9D2EC, #F9D2EC),
		linear-gradient(#F9D2EC, #F9D2EC);
	background-repeat: no-repeat;
	background-size:
		38% 14px, 22% 10px, 30% 18px, 16% 12px,
		44% 10px, 26% 16px, 18% 8px, 18px 18px, 12px 12px;
	background-position:
		4% 9%, 72% 16%, 88% 38%, 2% 46%,
		58% 74%, 10% 86%, 92% 92%, 66% 9%, 94% 64%;
}

body.lcs .e-con.lcs-section--tight { --padding-top: 32px; --padding-bottom: 44px; }
body.lcs .e-con.lcs-section--flush { --padding-top: 8px; }
body.lcs .elementor-element.lcs-help { margin-bottom: 20px; }
body.lcs [id] { scroll-margin-top: 24px; }
html:has(body.lcs) { scroll-behavior: smooth; }

/* ================================================================
 * TIPOGRAFÍA
 * ================================================================ */
body.lcs .elementor-element.lcs-kicker .elementor-heading-title {
	display: inline-block;
	margin: 0;
	padding: 8px 14px;
	background: var(--lcs-magenta);
	color: #FFFFFF;
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	border-radius: 4px;
}
body.lcs .elementor-element.lcs-h1 .elementor-heading-title {
	margin: 0;
	color: var(--lcs-magenta);
	font-size: clamp(1.6rem, 3.2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}
body.lcs .elementor-element.lcs-h2 .elementor-heading-title,
body.lcs h2.lcs-h2 {
	margin: 0;
	color: var(--lcs-magenta);
	font-size: clamp(1.75rem, 3.6vw, 2.75rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}
body.lcs .elementor-element.lcs-lead,
body.lcs .elementor-element.lcs-lead p {
	color: var(--lcs-ink);
	font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
	line-height: 1.6;
	max-width: 62ch;
}
body.lcs .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.lcs .elementor-widget-text-editor a,
body.lcs .lcs-live a:not(.lcs-btn),
body.lcs .lcs-footer a {
	color: var(--lcs-magenta-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ================================================================
 * BOTONES (widget Botón de Elementor con clase lcs-btn-*)
 * ================================================================ */
body.lcs .elementor-element.lcs-btn-primary .elementor-button,
body.lcs .elementor-element.lcs-btn-secondary .elementor-button,
body.lcs .elementor-element.lcs-btn-light .elementor-button,
body.lcs .lcs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 30px;
	border: 2px solid var(--lcs-magenta);
	border-radius: 8px;
	background: var(--lcs-magenta);
	color: #FFFFFF;
	font-family: var(--lcs-font);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 4px 4px 0 var(--lcs-blush);
	transition: background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.lcs .elementor-element.lcs-btn-primary .elementor-button:hover,
body.lcs .lcs-btn--primary:hover {
	background: var(--lcs-magenta-dark);
	border-color: var(--lcs-magenta-dark);
	color: #FFFFFF;
	transform: translate(-1px, -1px);
	box-shadow: 5px 5px 0 var(--lcs-pink);
}
body.lcs .elementor-element.lcs-btn-secondary .elementor-button {
	background: #FFFFFF;
	color: var(--lcs-magenta);
}
body.lcs .elementor-element.lcs-btn-secondary .elementor-button:hover {
	background: var(--lcs-blush);
	color: var(--lcs-magenta-dark);
}
body.lcs .elementor-element.lcs-btn-light .elementor-button {
	background: #FFFFFF;
	border-color: #FFFFFF;
	color: var(--lcs-magenta);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.18);
}
body.lcs .elementor-element.lcs-btn-light .elementor-button:hover {
	background: var(--lcs-blush);
	color: var(--lcs-magenta-dark);
}
body.lcs .lcs-btn--lg { min-height: 58px; padding: 16px 36px; font-size: 1.0625rem; }
body.lcs .lcs-btn--disabled {
	background: #F1E4EC;
	border-color: #E0C9D7;
	color: #6B5A64;
	box-shadow: none;
	cursor: not-allowed;
}

/* ================================================================
 * HERO
 * ================================================================ */
body.lcs .e-con.lcs-hero {
	--padding-top: clamp(32px, 5vw, 64px);
	--padding-bottom: clamp(48px, 7vw, 96px);
	--padding-left: 20px;
	--padding-right: 20px;
	min-height: min(92vh, 860px);
	justify-content: center;
}
body.lcs .e-con.lcs-hero__grid {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	gap: clamp(24px, 4vw, 64px);
	width: 100%;
	max-width: var(--lcs-wrap);
	margin: 0 auto;
}
body.lcs .e-con.lcs-hero__text {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	gap: 22px;
	align-items: flex-start;
}
body.lcs .elementor-element.lcs-wordmark,
body.lcs .elementor-element.lcs-poster,
body.lcs .elementor-element.lcs-phone { text-align: left; }
body.lcs .elementor-element.lcs-wordmark img {
	width: clamp(220px, 26vw, 340px);
	height: auto;
	mix-blend-mode: multiply;
}
body.lcs .elementor-element.lcs-wordmark--sm img { width: clamp(150px, 16vw, 210px); }
body.lcs .elementor-element.lcs-dates ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lcs .elementor-element.lcs-dates li {
	margin: 0;
	padding: 10px 16px;
	background: var(--lcs-blush);
	border-radius: 6px;
	color: var(--lcs-magenta);
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	font-weight: 800;
	line-height: 1.2;
}
body.lcs .elementor-element.lcs-dates li.lcs-dates__main { color: var(--lcs-ink); }
body.lcs .e-con.lcs-actions {
	--padding-top: 6px; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 14px;
	width: auto;
}
body.lcs .e-con.lcs-actions > .elementor-widget { width: auto; }
body.lcs .elementor-element.lcs-phone img {
	width: 100%;
	display: block;
	max-width: 560px;
	height: auto;
	margin-left: auto;
	mix-blend-mode: multiply;
}

/* ================================================================
 * CÓMO FUNCIONA (3 pasos)
 * ================================================================ */
body.lcs .elementor-element.lcs-steps ol {
	counter-reset: lcs-step;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
body.lcs .elementor-element.lcs-steps li {
	counter-increment: lcs-step;
	position: relative;
	margin: 0;
	padding: 22px 22px 22px 74px;
	min-height: 96px;
	background: #FFFFFF;
	border: 1px solid var(--lcs-line);
	border-radius: var(--lcs-radius);
	color: var(--lcs-ink);
	font-size: 1rem;
	line-height: 1.5;
}
body.lcs .elementor-element.lcs-steps li::before {
	content: counter(lcs-step);
	position: absolute;
	left: 20px;
	top: 20px;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	background: var(--lcs-magenta);
	color: #FFFFFF;
	font-weight: 800;
	border-radius: 6px;
}
body.lcs .elementor-element.lcs-steps strong { display: block; margin-bottom: 2px; font-weight: 800; }

/* ================================================================
 * TALLERES
 * ================================================================ */
body.lcs .e-con.lcs-talleres {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	gap: clamp(28px, 4vw, 48px);
}
body.lcs .e-con.lcs-taller {
	--padding-top: clamp(24px, 3.5vw, 44px);
	--padding-bottom: clamp(24px, 3.5vw, 44px);
	--padding-left: clamp(20px, 3.5vw, 48px);
	--padding-right: clamp(20px, 3.5vw, 48px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(220px, 26vw, 320px);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	background: #FFFFFF;
	border: 1px solid var(--lcs-line);
	border-radius: var(--lcs-radius);
	box-shadow: 0 10px 30px rgba(208, 24, 129, 0.07);
	overflow: hidden;
}
body.lcs .e-con.lcs-taller::after {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 6px;
	background: var(--lcs-magenta);
}
body.lcs .e-con.lcs-taller__info {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	gap: 16px;
	align-items: flex-start;
}
body.lcs .e-con.lcs-taller__poster {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
body.lcs .elementor-element.lcs-taller-num .elementor-heading-title {
	margin: 0;
	color: var(--lcs-magenta-dark);
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
body.lcs .elementor-element.lcs-taller-num .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 10px;
	background: var(--lcs-pink);
	vertical-align: 0.05em;
}
body.lcs .elementor-element.lcs-taller-title .elementor-heading-title {
	margin: 0;
	color: var(--lcs-magenta);
	font-size: clamp(1.5rem, 3vw, 2.375rem);
	font-weight: 800;
	line-height: 1.08;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	hyphens: manual;
}
body.lcs .elementor-element.lcs-chips ul,
body.lcs ul.lcs-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lcs .elementor-element.lcs-chips li,
body.lcs ul.lcs-meta li {
	margin: 0;
	padding: 8px 14px;
	background: var(--lcs-blush);
	border-radius: 6px;
	color: var(--lcs-magenta-dark);
	font-size: 0.9375rem;
	font-weight: 800;
	line-height: 1.2;
}
body.lcs .elementor-element.lcs-taller-text,
body.lcs .elementor-element.lcs-taller-text p {
	color: var(--lcs-ink);
	font-size: 1.0625rem;
	line-height: 1.62;
}
body.lcs .elementor-element.lcs-taller-text p { margin: 0 0 0.9em; }
body.lcs .elementor-element.lcs-poster img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(17, 17, 17, 0.14);
	transform: rotate(1.5deg);
}
body.lcs .elementor-element.lcs-taller--alt .lcs-poster img { transform: rotate(-1.5deg); }

/* ================================================================
 * INSCRIPCIONES (Entradium)
 * ================================================================ */
body.lcs .e-con.lcs-signup-grid {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	width: 100%;
}
body.lcs .e-con.lcs-signup-card {
	--padding-top: 24px; --padding-bottom: 24px; --padding-left: 22px; --padding-right: 22px;
	gap: 12px;
	justify-content: space-between;
	background: #FFFFFF;
	border: 1px solid var(--lcs-line);
	border-top: 6px solid var(--lcs-magenta);
	border-radius: var(--lcs-radius);
}
body.lcs .elementor-element.lcs-signup-num .elementor-heading-title {
	margin: 0;
	color: var(--lcs-magenta-dark);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
body.lcs .elementor-element.lcs-signup-title .elementor-heading-title {
	margin: 0;
	color: var(--lcs-ink);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}
body.lcs .elementor-element.lcs-signup-date,
body.lcs .elementor-element.lcs-signup-date p { color: var(--lcs-muted); font-weight: 600; margin: 0; }
body.lcs .elementor-element.lcs-signup-card .lcs-btn-primary .elementor-button { width: 100%; }
body.lcs .elementor-element.lcs-note,
body.lcs .elementor-element.lcs-note p {
	color: var(--lcs-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
	max-width: 80ch;
}

/* ================================================================
 * ACCESO AL DIRECTO (bloque magenta)
 * ================================================================ */
body.lcs .e-con.lcs-access {
	--padding-top: clamp(32px, 5vw, 56px);
	--padding-bottom: clamp(32px, 5vw, 56px);
	--padding-left: clamp(22px, 5vw, 56px);
	--padding-right: clamp(22px, 5vw, 56px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px 40px;
	max-width: var(--lcs-wrap);
	margin: 0 auto;
	background:
		linear-gradient(rgba(255,255,255,.10), rgba(255,255,255,.10)) 78% 18% / 22% 12px no-repeat,
		linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)) 92% 82% / 30% 16px no-repeat,
		linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)) 4% 88% / 14% 10px no-repeat,
		var(--lcs-magenta);
	border-radius: var(--lcs-radius);
	color: #FFFFFF;
}
body.lcs .elementor-element.lcs-access .elementor-heading-title { color: #FFFFFF; }
body.lcs .elementor-element.lcs-access .lcs-h2 .elementor-heading-title { color: #FFFFFF; font-size: clamp(1.5rem, 3vw, 2.25rem); }
body.lcs .elementor-element.lcs-access .elementor-widget-text-editor,
body.lcs .elementor-element.lcs-access .elementor-widget-text-editor p { color: #FFFFFF; font-size: 1.0625rem; line-height: 1.6; }
body.lcs .e-con.lcs-access__text {
	--padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
	gap: 12px;
}

/* ================================================================
 * LOGOS Y PIE
 * ================================================================ */
body.lcs .e-con.lcs-logos {
	--padding-top: 8px; --padding-bottom: 8px; --padding-left: 0; --padding-right: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 28px clamp(28px, 5vw, 64px);
}
body.lcs .e-con.lcs-logos > .elementor-widget { width: auto; }
body.lcs .elementor-element.lcs-logo img {
	display: block;
	width: auto;
	height: clamp(48px, 5vw, 64px);
	max-width: none;
}
body.lcs .elementor-element.lcs-logo--ucam img,
body.lcs .elementor-element.lcs-logo--murcia img { height: clamp(52px, 5.4vw, 70px); }
body.lcs .e-con.lcs-footer {
	--padding-top: 28px; --padding-bottom: 28px; --padding-left: 20px; --padding-right: 20px;
	background: var(--lcs-haze);
	border-top: 1px solid var(--lcs-line);
}
body.lcs .lcs-footer .elementor-widget-text-editor,
body.lcs .lcs-footer p {
	margin: 0;
	color: var(--lcs-muted);
	font-size: 0.9375rem;
	line-height: 1.6;
	text-align: center;
}
body.lcs .lcs-footer a { color: var(--lcs-ink); font-weight: 600; }
body.lcs .lcs-footer .lcs-sep { display: inline-block; margin: 0 8px; color: var(--lcs-pink); }

/* ================================================================
 * DIRECTO Y GRABACIONES (área protegida)
 * ================================================================ */
body.lcs .e-con.lcs-area-head {
	--padding-top: clamp(28px, 4vw, 48px);
	--padding-bottom: clamp(36px, 5vw, 64px);
	--padding-left: 20px;
	--padding-right: 20px;
}
body.lcs .elementor-element.lcs-back,
body.lcs .elementor-element.lcs-back p { margin: 0; font-weight: 700; }
body.lcs .elementor-element.lcs-back a { color: var(--lcs-magenta-dark); }

body.lcs .lcs-live {
	position: relative;
	padding: clamp(24px, 4vw, 44px);
	background:
		linear-gradient(var(--lcs-haze), var(--lcs-haze)) 96% 14% / 26% 12px no-repeat,
		linear-gradient(var(--lcs-blush), var(--lcs-blush)) 86% 86% / 18% 16px no-repeat,
		#FFFFFF;
	border: 2px solid var(--lcs-magenta);
	border-radius: var(--lcs-radius);
	box-shadow: 8px 8px 0 var(--lcs-blush);
}
body.lcs .lcs-live__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 7px 14px;
	background: var(--lcs-ink);
	color: #FFFFFF;
	border-radius: 4px;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
body.lcs .lcs-live--directo .lcs-live__badge { background: var(--lcs-magenta); }
body.lcs .lcs-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #FFFFFF;
	animation: lcs-pulse 1.4s ease-in-out infinite;
}
@keyframes lcs-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
body.lcs .lcs-live__eyebrow,
body.lcs .lcs-next__eyebrow,
body.lcs .lcs-rec__eyebrow {
	margin: 0 0 6px;
	color: var(--lcs-magenta-dark);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
body.lcs .lcs-live__title {
	margin: 0 0 16px;
	color: var(--lcs-magenta);
	font-family: var(--lcs-font);
	font-size: clamp(1.5rem, 3.4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}
body.lcs .lcs-live__cta { margin: 26px 0 0; }
body.lcs .lcs-live__note { margin: 14px 0 0; color: var(--lcs-muted); font-size: 0.9375rem; }

body.lcs .lcs-next { margin-top: clamp(36px, 5vw, 56px); }
body.lcs .lcs-next .lcs-h2 { font-size: clamp(1.375rem, 2.4vw, 1.75rem); margin-bottom: 18px; }
body.lcs .lcs-next__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lcs .lcs-next__item {
	margin: 0;
	padding: 22px;
	background: var(--lcs-haze);
	border-radius: var(--lcs-radius);
}
body.lcs .lcs-next__title {
	margin: 0 0 12px;
	color: var(--lcs-ink);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

body.lcs .lcs-rec {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lcs .lcs-rec__item {
	margin: 0;
	background: #FFFFFF;
	border: 1px solid var(--lcs-line);
	border-radius: var(--lcs-radius);
	overflow: hidden;
}
body.lcs .lcs-rec__media {
	aspect-ratio: 16 / 9;
	background: #111111;
}
body.lcs .lcs-rec__media video { display: block; width: 100%; height: 100%; }
body.lcs .lcs-rec__media--empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px;
	background:
		linear-gradient(#FFFFFF, #FFFFFF) 8% 18% / 34% 10px no-repeat,
		linear-gradient(var(--lcs-haze), var(--lcs-haze)) 92% 30% / 22% 14px no-repeat,
		linear-gradient(#FFFFFF, #FFFFFF) 70% 84% / 40% 8px no-repeat,
		var(--lcs-blush);
	color: var(--lcs-magenta-dark);
	font-size: 0.9375rem;
	font-weight: 800;
	text-align: center;
}
body.lcs .lcs-rec__icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--lcs-magenta);
	-webkit-mask: radial-gradient(circle, #000 64%, transparent 65%);
	position: relative;
}
body.lcs .lcs-rec__icon::after {
	content: "";
	position: absolute;
	left: 18px; top: 14px;
	border-style: solid;
	border-width: 9px 0 9px 14px;
	border-color: transparent transparent transparent #FFFFFF;
}
body.lcs .lcs-rec__body { padding: 18px 20px 22px; }
body.lcs .lcs-rec__title {
	margin: 0 0 6px;
	color: var(--lcs-ink);
	font-family: var(--lcs-font);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}
body.lcs .lcs-rec__date { margin: 0; color: var(--lcs-muted); font-size: 0.9375rem; }

body.lcs .lcs-signup-moved {
	padding: 16px 18px;
	background: var(--lcs-blush);
	border-left: 5px solid var(--lcs-magenta);
	border-radius: 8px;
}

.avida-session-notice {
	max-width: 1180px;
	margin: 16px auto;
	padding: 14px 18px;
	border-left: 5px solid #D01881;
	border-radius: 8px;
	background: #FFE6FA;
	color: #111111;
	font-weight: 600;
}

/* ================================================================
 * PANTALLA DE CONTRASEÑA
 * ================================================================ */
body.lcs.post-password-required #content,
body.lcs.post-password-required main#content {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px 16px;
	box-sizing: border-box;
	background:
		linear-gradient(var(--lcs-haze), var(--lcs-haze)) 6% 12% / 30% 14px no-repeat,
		linear-gradient(var(--lcs-blush), var(--lcs-blush)) 90% 22% / 18% 10px no-repeat,
		linear-gradient(var(--lcs-haze), var(--lcs-haze)) 84% 84% / 34% 16px no-repeat,
		linear-gradient(var(--lcs-blush), var(--lcs-blush)) 10% 90% / 16% 12px no-repeat,
		#FFFFFF;
}
body.lcs.post-password-required #content > * { width: 100%; }
body.admin-bar.lcs.post-password-required #content { min-height: calc(100vh - 32px); }
body.lcs .avida-pass {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: clamp(24px, 5vw, 40px);
	background: #FFFFFF;
	border: 2px solid var(--lcs-magenta);
	border-radius: var(--lcs-radius);
	box-shadow: 8px 8px 0 var(--lcs-blush);
	color: var(--lcs-ink);
}
body.lcs .avida-pass__eyebrow {
	display: inline-block;
	margin: 0 0 14px;
	padding: 6px 12px;
	background: var(--lcs-magenta);
	color: #FFFFFF;
	border-radius: 4px;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
body.lcs .avida-pass__title {
	margin: 0 0 12px;
	color: var(--lcs-magenta);
	font-family: var(--lcs-font);
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.1;
}
body.lcs .avida-pass__text,
body.lcs .avida-pass .post-password-form p { color: var(--lcs-muted); }
body.lcs .avida-pass .post-password-form label { display: block; font-weight: 700; color: var(--lcs-ink); }
body.lcs .avida-pass input[type="password"] {
	width: 100%;
	min-height: 50px;
	margin: 6px 0 14px;
	padding: 10px 14px;
	border: 2px solid #8A7F86;
	border-radius: 8px;
	color: var(--lcs-ink);
	font-size: 1rem;
}
body.lcs .avida-pass input[type="submit"] {
	min-height: 50px;
	padding: 12px 28px;
	background: var(--lcs-magenta);
	color: #FFFFFF;
	border: 2px solid var(--lcs-magenta);
	border-radius: 8px;
	font-family: var(--lcs-font);
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}
body.lcs .avida-pass input[type="submit"]:hover { background: var(--lcs-magenta-dark); border-color: var(--lcs-magenta-dark); }
body.lcs .avida-pass__help {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--lcs-line);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--lcs-muted);
}
body.lcs .avida-pass__help p { margin: 0 0 8px; color: var(--lcs-ink); }
body.lcs .avida-pass__help ul { margin: 0; padding-left: 1.2em; }
body.lcs .avida-pass__help li { margin-bottom: 6px; }
body.lcs .avida-pass a { color: var(--lcs-magenta-dark); text-decoration: underline; text-underline-offset: 3px; }
body.lcs .avida-pass__back { margin: 18px 0 0; font-weight: 700; }

/* ================================================================
 * PÁGINAS LEGALES DEL FLUJO
 * ================================================================ */
body.avida-legal #content,
body.avida-legal .site-main {
	max-width: 860px;
	margin: 0 auto;
	padding: 48px 20px;
	color: var(--lcs-ink);
}
body.avida-legal .avida-legal-title {
	margin: 0 0 8px;
	color: var(--lcs-magenta);
	font-family: var(--lcs-font);
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}
body.avida-legal .page-content,
body.avida-legal .entry-content {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #2B2B2B;
}
body.avida-legal .page-content h2,
body.avida-legal .entry-content h2 {
	margin: 2.2em 0 0.6em;
	padding-top: 0.6em;
	border-top: 1px solid var(--lcs-line);
	color: var(--lcs-ink);
	font-size: 1.35rem;
	font-weight: 800;
}
body.avida-legal .page-content h3,
body.avida-legal .entry-content h3 {
	margin: 1.6em 0 0.5em;
	color: var(--lcs-ink);
	font-size: 1.1rem;
	font-weight: 800;
}
body.avida-legal .page-content ul,
body.avida-legal .entry-content ul { padding-left: 1.3em; margin: 0 0 1.2em; }
body.avida-legal .page-content li,
body.avida-legal .entry-content li { margin-bottom: 0.45em; }
body.avida-legal .page-content a,
body.avida-legal .entry-content a { color: var(--lcs-magenta-dark); text-decoration: underline; text-underline-offset: 3px; }
body.avida-legal .wp-block-table { margin: 1em 0 1.6em; overflow-x: auto; }
body.avida-legal .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 560px; }
body.avida-legal .wp-block-table th,
body.avida-legal .wp-block-table td { border: 1px solid var(--lcs-line); padding: 10px 12px; text-align: left; vertical-align: top; }
body.avida-legal .wp-block-table thead th { background: var(--lcs-blush); color: var(--lcs-ink); }
body.avida-legal code { font-size: 0.9em; background: var(--lcs-haze); padding: 1px 5px; border-radius: 4px; word-break: break-word; }
body.lcs .avida-back { margin: 0 0 24px; }
body.lcs .avida-back a { color: var(--lcs-magenta-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ================================================================
 * RESPONSIVE
 * ================================================================ */
@media (max-width: 1024px) {
	body.lcs .e-con.lcs-hero { min-height: 0; }
	body.lcs .e-con.lcs-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); }
	body.lcs .elementor-element.lcs-steps ol { grid-template-columns: 1fr; }
	body.lcs .e-con.lcs-signup-grid { grid-template-columns: 1fr; }
	body.lcs .e-con.lcs-signup-card {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "num btn" "title btn" "date btn";
		align-items: center;
		column-gap: 20px;
	}
	body.lcs .elementor-element.lcs-signup-card > .lcs-signup-num { grid-area: num; }
	body.lcs .elementor-element.lcs-signup-card > .lcs-signup-title { grid-area: title; }
	body.lcs .elementor-element.lcs-signup-card > .lcs-signup-date { grid-area: date; }
	body.lcs .elementor-element.lcs-signup-card > .lcs-btn-primary { grid-area: btn; }
	body.lcs .elementor-element.lcs-signup-card .lcs-btn-primary .elementor-button { width: auto; }
	body.lcs .lcs-rec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	body.lcs .e-con.lcs-hero { --padding-top: 28px; --padding-bottom: 48px; }
	body.lcs .e-con.lcs-hero__grid { grid-template-columns: 1fr; }
	body.lcs .e-con.lcs-hero__art { display: none; }
	body.lcs .elementor-element.lcs-wordmark img { width: min(260px, 72vw); }
	body.lcs .e-con.lcs-actions { width: 100%; flex-direction: column; }
	body.lcs .e-con.lcs-actions > .elementor-widget,
	body.lcs .e-con.lcs-actions .elementor-button { width: 100%; }
	body.lcs .e-con.lcs-taller {
		grid-template-columns: 1fr;
		--padding-left: 20px; --padding-right: 20px;
	}
	body.lcs .e-con.lcs-taller__poster { order: -1; }
	body.lcs .elementor-element.lcs-poster img,
	body.lcs .elementor-element.lcs-taller--alt .lcs-poster img {
		width: 132px;
		transform: none;
		box-shadow: 0 8px 20px rgba(17, 17, 17, 0.14);
	}
	body.lcs .elementor-element.lcs-taller__info .lcs-btn-primary,
	body.lcs .elementor-element.lcs-taller__info .lcs-btn-primary .elementor-button { width: 100%; }
	body.lcs .e-con.lcs-signup-card { grid-template-columns: 1fr; grid-template-areas: "num" "title" "date" "btn"; }
	body.lcs .elementor-element.lcs-signup-card .lcs-btn-primary .elementor-button { width: 100%; }
	body.lcs .e-con.lcs-access { grid-template-columns: 1fr; }
	body.lcs .elementor-element.lcs-access .lcs-btn-light,
	body.lcs .elementor-element.lcs-access .lcs-btn-light .elementor-button { width: 100%; }
	body.lcs .elementor-element.lcs-logo img { height: 44px; }
	body.lcs .elementor-element.lcs-logo--ucam img,
	body.lcs .elementor-element.lcs-logo--murcia img { height: 50px; }
	body.lcs .e-con.lcs-logos { gap: 22px 28px; }
	body.lcs .lcs-next__list,
	body.lcs .lcs-rec { grid-template-columns: 1fr; }
	body.lcs .lcs-live .lcs-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	html:has(body.lcs) { scroll-behavior: auto; }
	body.lcs * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* 1.4.3 – Pantalla de clave (textos neutros) y logos oficiales sin UCAM */
body.lcs .avida-pass__help p { margin: 0 0 10px; }
body.lcs .avida-pass__help .avida-pass__help-title { margin: 18px 0 6px; color: var(--lcs-ink); }
body.lcs .avida-pass__help .avida-pass__help-title:first-child { margin-top: 0; }
body.lcs .avida-pass__cta { margin: 8px 0 0; }
body.lcs .avida-pass a.lcs-btn,
body.lcs a.lcs-btn--outline {
	background: #FFFFFF;
	color: var(--lcs-magenta);
	border-color: var(--lcs-magenta);
	text-decoration: none;
}
body.lcs .avida-pass a.lcs-btn:hover { background: var(--lcs-blush); color: var(--lcs-magenta-dark); }
body.lcs .elementor-element.lcs-logo--murcia img { height: clamp(62px, 6.4vw, 82px); }
@media (max-width: 767px) {
	body.lcs .elementor-element.lcs-wordmark--sm img { width: min(180px, 52vw); }
	body.lcs .avida-pass a.lcs-btn { width: 100%; }
	body.lcs .elementor-element.lcs-logo--murcia img { height: 58px; }
}

/* 1.4.4 – Directo sin enlace configurado */
body.lcs .lcs-live__soon {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 14px 22px;
	background: var(--lcs-blush);
	border: 2px dashed var(--lcs-pink);
	border-radius: 8px;
	color: var(--lcs-magenta-dark);
	font-weight: 800;
	line-height: 1.3;
}

/* 1.4.5 – «Cómo participar» con 4 pasos */
body.lcs .elementor-element.lcs-steps ol { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* 1.4.6 – CTA «Entrar al directo» destacado y cartel en el bloque del directo */
body.lcs .elementor-element.lcs-btn-xl .elementor-button,
body.lcs .lcs-btn--xl {
	min-height: 68px;
	padding: 20px 44px;
	font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
	letter-spacing: 0.06em;
	border-width: 3px;
	box-shadow: 6px 6px 0 var(--lcs-pink);
}
body.lcs .elementor-element.lcs-btn-xl .elementor-button:hover,
body.lcs .lcs-btn--xl:hover { box-shadow: 8px 8px 0 var(--lcs-pink); }
body.lcs .elementor-element.lcs-access .lcs-btn-light.lcs-btn-xl .elementor-button { box-shadow: 6px 6px 0 rgba(0,0,0,.2); }
body.lcs .e-con.lcs-actions { align-items: center; }
body.lcs .lcs-live--poster {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(200px, 24vw, 300px);
	align-items: center;
	gap: clamp(24px, 4vw, 48px);
}
body.lcs .lcs-live__poster img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(17, 17, 17, 0.14);
}
@media (max-width: 767px) {
	body.lcs .lcs-live--poster { grid-template-columns: 1fr; }
	body.lcs .lcs-live__poster { order: -1; }
	body.lcs .lcs-live__poster img { width: 150px; }
	body.lcs .elementor-element.lcs-btn-xl,
	body.lcs .elementor-element.lcs-btn-xl .elementor-button,
	body.lcs .lcs-btn--xl { width: 100%; }
}
