/**
 * Unitrópico Estéreo — header + home base
 */

:root {
	--ue-green: #0b3d38;
	--ue-green-mid: #14524b;
	--ue-green-deep: #061e1c;
	--ue-bronze: #e8d9b8;
	--ue-bronze-hot: #d2b88a;
	--ue-white: #ffffff;
	--ue-ink: #f5f5f5;
	--ue-muted: rgba(255, 255, 255, 0.72);
	--ue-font: "Montserrat", sans-serif;
	--ue-header-h: 6.75rem;
	--ue-footer-h: 3.4rem;
	--ue-logo-h: clamp(4.7rem, 8.4vw, 5.7rem);
	--ue-logo-h-scrolled: clamp(3.8rem, 6.4vw, 4.5rem);
}

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

html {
	background: var(--ue-green-deep);
}

body {
	margin: 0;
	font-family: var(--ue-font);
	font-weight: 500;
	color: var(--ue-ink);
	background:
		radial-gradient(ellipse 70% 55% at 75% 45%, rgba(20, 82, 75, 0.55), transparent 60%),
		radial-gradient(ellipse 45% 40% at 15% 85%, rgba(11, 61, 56, 0.5), transparent 55%),
		linear-gradient(165deg, #041614 0%, var(--ue-green-deep) 35%, #0a2f2b 70%, #041614 100%);
	background-attachment: fixed;
	overflow-x: clip;
	min-height: 100vh;
}

html.ue-is-navigating #content,
html.ue-is-navigating main {
	opacity: 0.72;
	transition: opacity 0.15s ease;
}

/* —— Indicador de cambio de página —— */
.ue-route-loader {
	position: fixed;
	inset: 0;
	z-index: 2000;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
}

.ue-route-loader.is-active {
	opacity: 1;
	visibility: visible;
}

/* Barra superior de progreso */
.ue-route-loader__bar {
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: 0 50%;
	background: linear-gradient(90deg, rgba(232, 217, 184, 0.2), var(--ue-bronze), #fff);
	box-shadow: 0 0 12px rgba(232, 217, 184, 0.55);
}

.ue-route-loader.is-active .ue-route-loader__bar {
	animation: ue-route-bar 8s cubic-bezier(0.12, 0.85, 0.2, 1) forwards;
}

.ue-route-loader.is-done .ue-route-loader__bar {
	animation: none;
	transform: scaleX(1);
	transition: transform 0.2s ease, opacity 0.25s ease 0.12s;
	opacity: 0;
}

@keyframes ue-route-bar {
	0% {
		transform: scaleX(0);
	}
	35% {
		transform: scaleX(0.55);
	}
	70% {
		transform: scaleX(0.8);
	}
	100% {
		transform: scaleX(0.94);
	}
}

/* Velo con spinner giratorio */
.ue-route-loader__veil {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	background: radial-gradient(circle at 50% 50%, rgba(6, 40, 36, 0.82), rgba(3, 18, 16, 0.94) 70%);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.2s ease;
}

.ue-route-loader.is-active .ue-route-loader__veil {
	opacity: 1;
}

.ue-route-loader.is-done .ue-route-loader__veil {
	opacity: 0;
	transition: opacity 0.32s ease;
}

.ue-route-loader__spinner {
	position: relative;
	display: block;
	width: clamp(3.25rem, 8vh, 4.5rem);
	height: clamp(3.25rem, 8vh, 4.5rem);
}

/* Aro exterior girando */
.ue-route-loader__spinner i {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px solid rgba(232, 217, 184, 0.18);
	border-top-color: var(--ue-bronze);
	border-right-color: var(--ue-bronze);
	animation: ue-route-spin 0.85s linear infinite;
}

/* Aro interior girando al contrario */
.ue-route-loader__spinner i:last-child {
	inset: 26%;
	border-width: 2px;
	border-color: rgba(255, 255, 255, 0.12);
	border-bottom-color: rgba(255, 255, 255, 0.75);
	animation-duration: 1.25s;
	animation-direction: reverse;
}

@keyframes ue-route-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Entrada del contenido nuevo */
.ue-route-enter {
	animation: ue-route-in 0.45s cubic-bezier(0.2, 0.8, 0.3, 1) both;
}

@keyframes ue-route-in {
	from {
		opacity: 0;
		transform: translateY(0.75rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Enlace pulsado: confirmación inmediata del clic */
.ue-nav__list a.is-ue-loading,
a.is-ue-loading {
	color: var(--ue-bronze) !important;
	opacity: 0.85;
}

@media (prefers-reduced-motion: reduce) {
	.ue-route-loader__bar,
	.ue-route-enter {
		animation: none !important;
	}

	.ue-route-loader__spinner i {
		animation-duration: 2s !important;
	}

	.ue-route-loader.is-active .ue-route-loader__bar {
		transform: scaleX(0.6);
	}
}
body.elementor-editor-active .elementor-widget-heading .elementor-heading-title,
.elementor-widget,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-button,
.elementor-icon-list-text,
.elementor-nav-menu a,
.elementor-element .elementor-heading-title {
	font-family: "Montserrat", sans-serif !important;
}

/* Home: header + contenido + footer = 1 viewport, sin scroll */
body.ue-home-landing {
	display: flex;
	flex-direction: column;
	height: 100svh;
	max-height: 100svh;
	min-height: 100svh;
	overflow: hidden;
}

body.ue-home-landing .ue-header {
	position: relative;
	flex: 0 0 auto;
	top: auto;
	background: transparent;
	backdrop-filter: none;
	box-shadow: none;
}

body.ue-home-landing .ue-header.is-scrolled {
	position: relative;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

body.ue-home-landing .ue-home {
	flex: 1 1 auto;
	min-height: 0;
	height: auto;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	contain: layout;
}

body.ue-home-landing .ue-home > .elementor,
body.ue-home-landing .ue-home > .elementor > .elementor-section,
body.ue-home-landing .ue-home > .elementor > .e-con,
body.ue-home-landing .ue-home .elementor-top-section:first-child,
body.ue-home-landing .ue-home .e-con.e-parent:first-child {
	flex: 1 1 auto;
	min-height: 0 !important;
	height: 100% !important;
	max-height: 100%;
}

body.ue-home-landing .ue-home .elementor-container,
body.ue-home-landing .ue-home .elementor-column,
body.ue-home-landing .ue-home .elementor-widget-wrap,
body.ue-home-landing .ue-home .elementor-element,
body.ue-home-landing .ue-home .e-con,
body.ue-home-landing .ue-home .e-con-inner {
	min-height: 0 !important;
	height: 100%;
	max-height: 100%;
}

body.ue-home-landing .ue-home .elementor-widget-shortcode,
body.ue-home-landing .ue-home .elementor-widget-container,
body.ue-home-landing .ue-home .elementor-shortcode,
body.ue-home-landing .ue-home .ueps-slider {
	height: 100%;
	max-height: 100%;
}

body.ue-home-landing .ue-footer {
	flex: 0 0 auto;
	flex-shrink: 0;
	z-index: 20;
	overflow: visible;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	left: 1rem;
	top: 1rem;
	z-index: 100000;
	background: var(--ue-green);
	color: var(--ue-white);
	padding: 0.75rem 1rem;
	text-decoration: none;
}

.page-header,
.entry-title.main,
h1.entry-title,
.page .entry-header {
	display: none !important;
}

/* —— Ambiente: ondas + brillos aleatorios —— */
.ue-soundscape {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.ue-soundscape__waves {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: min(48vh, 28rem);
	opacity: 0.45;
}

.ue-soundscape__wave {
	fill: none;
	stroke-linecap: round;
	stroke-width: 1.5;
	animation: none;
}

.ue-soundscape__wave--1 {
	stroke: rgba(232, 217, 184, 0.3);
}

.ue-soundscape__wave--2 {
	stroke: rgba(20, 82, 75, 0.55);
}

.ue-soundscape__wave--3 {
	stroke: rgba(232, 217, 184, 0.16);
}

html.ue-decor-ready .ue-soundscape__wave {
	animation: ue-wave-drift 10s ease-in-out infinite alternate;
}

html.ue-decor-ready .ue-soundscape__wave--1 {
	animation-duration: 12s;
}

html.ue-decor-ready .ue-soundscape__wave--2 {
	animation-duration: 9s;
	animation-delay: -2s;
}

html.ue-decor-ready .ue-soundscape__wave--3 {
	animation-duration: 14s;
	animation-delay: -4s;
}

.ue-shine {
	position: absolute;
	width: clamp(12rem, 28vw, 22rem);
	height: clamp(12rem, 28vw, 22rem);
	border-radius: 50%;
	background: radial-gradient(
		circle,
		rgba(232, 217, 184, 0.28) 0%,
		rgba(20, 82, 75, 0.18) 38%,
		transparent 70%
	);
	filter: blur(8px);
	opacity: 0;
	transform: translate3d(-50%, -50%, 0) scale(0.7);
	will-change: transform, opacity, left, top;
	transition: left 2.8s ease, top 2.8s ease, opacity 1.2s ease, transform 2.8s ease;
}

.ue-shine.is-on {
	opacity: 1;
	transform: translate3d(-50%, -50%, 0) scale(1);
}

.ue-shine--b {
	width: clamp(9rem, 20vw, 16rem);
	height: clamp(9rem, 20vw, 16rem);
	background: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.16) 0%,
		rgba(11, 61, 56, 0.2) 42%,
		transparent 72%
	);
}

.ue-shine--c {
	width: clamp(7rem, 16vw, 12rem);
	height: clamp(7rem, 16vw, 12rem);
	background: radial-gradient(
		circle,
		rgba(210, 184, 138, 0.22) 0%,
		transparent 68%
	);
}

.ue-shine-beam {
	position: absolute;
	top: -20%;
	left: -30%;
	width: 45%;
	height: 140%;
	background: linear-gradient(
		105deg,
		transparent 35%,
		rgba(255, 255, 255, 0.045) 47%,
		rgba(232, 217, 184, 0.12) 50%,
		rgba(255, 255, 255, 0.045) 53%,
		transparent 65%
	);
	opacity: 0;
	transform: translateX(0) skewX(-12deg);
	filter: blur(1px);
	will-change: transform, opacity;
}

.ue-shine-beam.is-on {
	animation: ue-beam-sweep 2.4s ease-in-out forwards;
}

@keyframes ue-wave-drift {
	from { transform: translate3d(0, 0, 0) scaleX(1); }
	to { transform: translate3d(-2%, -3%, 0) scaleX(1.04); }
}

@keyframes ue-beam-sweep {
	0% {
		opacity: 0;
		transform: translateX(-10%) skewX(-12deg);
	}
	18% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translateX(240%) skewX(-12deg);
	}
}

/* —— Header —— */
.ue-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	min-height: var(--ue-header-h);
	background: rgba(6, 30, 28, 0.55);
	transition: background-color 0.28s ease, box-shadow 0.28s ease;
	contain: layout;
}

.ue-header.is-scrolled {
	position: sticky;
	top: 0;
	background: rgba(6, 30, 28, 0.92);
	backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(232, 217, 184, 0.12);
}

body.admin-bar .ue-header.is-scrolled {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .ue-header.is-scrolled {
		top: 46px;
	}
}

/* Páginas internas: header arriba, contenido al medio, footer abajo (1 viewport) */
body:not(.ue-home-landing) {
	display: flex;
	flex-direction: column;
	height: 100svh;
	max-height: 100svh;
	min-height: 100svh;
	overflow: hidden;
}

body:not(.ue-home-landing) .ue-header {
	flex: 0 0 auto;
	position: relative;
	top: auto;
	min-height: 0;
	background: rgba(6, 30, 28, 0.92);
	backdrop-filter: blur(12px);
}

body:not(.ue-home-landing) .ue-header__inner,
body:not(.ue-home-landing) .ue-header.is-scrolled .ue-header__inner {
	min-height: 0 !important;
	height: auto;
	align-items: center;
	padding-top: 0.15rem !important;
	padding-bottom: 0 !important;
}

body:not(.ue-home-landing) .ue-header .ue-brand__logo,
body:not(.ue-home-landing) .ue-header.is-scrolled .ue-brand__logo {
	height: 2.05rem !important;
}

body:not(.ue-home-landing) .ue-nav__link {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body:not(.ue-home-landing) #content,
body:not(.ue-home-landing) main,
body:not(.ue-home-landing) .site-main {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

body:not(.ue-home-landing) #content > .elementor,
body:not(.ue-home-landing) main > .elementor,
body:not(.ue-home-landing) .site-main > .elementor {
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
}

body:not(.ue-home-landing) #content .elementor-top-section:first-child,
body:not(.ue-home-landing) #content .e-con.e-parent:first-child,
body:not(.ue-home-landing) main .elementor-top-section:first-child,
body:not(.ue-home-landing) main .e-con.e-parent:first-child {
	flex: 1 1 auto;
	min-height: 0 !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	overflow: hidden;
	gap: 0.35rem !important;
	padding-block: 0.35rem !important;
}

body:not(.ue-home-landing) #content .e-con.e-parent:first-child > .e-con-inner,
body:not(.ue-home-landing) main .e-con.e-parent:first-child > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	gap: 0.35rem !important;
}

/* Título compacto; el video usa el resto del viewport */
body:not(.ue-home-landing) .elementor-widget-heading {
	flex: 0 0 auto !important;
}

body:not(.ue-home-landing) .elementor-widget-heading .elementor-heading-title {
	margin: 0 !important;
	line-height: 1.15 !important;
	font-size: clamp(1.15rem, 2.2vw, 1.65rem) !important;
}

body:not(.ue-home-landing) .elementor-widget-shortcode:has(.ue-video-stream),
body:not(.ue-home-landing) .elementor-element:has(> .elementor-widget-container .ue-video-stream),
body:not(.ue-home-landing) .elementor-element:has(.ue-video-stream),
body:not(.ue-home-landing) .elementor-widget-shortcode:has(.ueps-grid),
body:not(.ue-home-landing) .elementor-element:has(.ueps-grid),
body:not(.ue-home-landing) .elementor-widget-shortcode:has(.ueps-show),
body:not(.ue-home-landing) .elementor-element:has(.ueps-show),
body:not(.ue-home-landing) .elementor-widget-shortcode:has(.uec),
body:not(.ue-home-landing) .elementor-element:has(.uec) {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
	overflow: hidden;
	align-self: stretch;
}

body:not(.ue-home-landing) .ueps-podcast-page,
body:not(.ue-home-landing) .ueps-show-page {
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

body:not(.ue-home-landing) .ueps-podcast-page .ueps-grid {
	flex: 1 1 auto;
}

body:not(.ue-home-landing) .elementor-widget-container:has(.uec),
body:not(.ue-home-landing) .elementor-shortcode:has(.uec) {
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
}

body:not(.ue-home-landing) .uec,
body.ue-has-calendar .uec {
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 0;
}

body.ue-has-calendar #content .elementor-top-section:first-child,
body.ue-has-calendar #content .e-con.e-parent:first-child,
body.ue-has-calendar #content .e-con.e-parent:first-child > .e-con-inner {
	justify-content: center !important;
}

@media (max-width: 820px) {
	body.ue-has-calendar #content,
	body.ue-has-calendar main,
	body.ue-has-calendar .site-main {
		overflow: hidden;
	}

	body.ue-has-calendar #content .elementor-top-section:first-child,
	body.ue-has-calendar #content .e-con.e-parent:first-child,
	body.ue-has-calendar #content .e-con.e-parent:first-child > .e-con-inner,
	body.ue-has-calendar main .elementor-top-section:first-child,
	body.ue-has-calendar main .e-con.e-parent:first-child,
	body.ue-has-calendar main .e-con.e-parent:first-child > .e-con-inner {
		justify-content: stretch !important;
		padding-block: 0 !important;
		gap: 0 !important;
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden;
	}

	body.ue-has-calendar .elementor-widget-shortcode:has(.uec),
	body.ue-has-calendar .elementor-element:has(.uec),
	body.ue-has-calendar .elementor-widget-container:has(.uec),
	body.ue-has-calendar .elementor-shortcode:has(.uec) {
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden;
		flex: 1 1 auto !important;
	}

	body.ue-has-calendar .uec {
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}
}

html.uec-dialog-open,
html.uec-dialog-open body {
	overflow: hidden;
}

html.uec-dialog-open .ue-header,
html.uec-dialog-open .ue-footer {
	z-index: 0;
}

html.uec-dialog-open #content,
html.uec-dialog-open main,
html.uec-dialog-open .site-main {
	z-index: 1;
}

body:not(.ue-home-landing) .ue-footer {
	flex: 0 0 auto;
	margin-top: 0;
	z-index: 5;
}

.ue-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--ue-header-h);
	padding: 0.85rem clamp(1.25rem, 4vw, 3rem);
	max-width: 120rem;
	margin: 0 auto;
	transition: min-height 0.28s ease;
}

.ue-header.is-scrolled .ue-header__inner {
	min-height: 5.5rem;
	padding-top: 0.45rem;
	padding-bottom: 0.45rem;
}

.ue-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
}

.ue-brand__picture--desktop {
	display: contents;
}

.ue-brand__picture--mobile,
.ue-brand__logo--mobile {
	display: none;
}

.ue-brand__logo {
	display: block;
	height: var(--ue-logo-h);
	width: auto;
	max-width: none;
	aspect-ratio: 1668 / 780;
	object-fit: contain;
	object-position: left center;
	filter: brightness(0) invert(1);
	transition: height 0.28s ease;
}

.ue-header.is-scrolled .ue-brand__logo {
	height: var(--ue-logo-h-scrolled);
}

/* Menú: solo texto blanco, sin cajas beige */
.ue-nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	position: relative;
}

.ue-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.1rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent !important;
}

.ue-nav__item {
	margin: 0;
	background: transparent !important;
	box-shadow: none !important;
}

.ue-nav__item::before,
.ue-nav__link::before,
.ue-nav__link::after {
	content: none !important;
	display: none !important;
}

.ue-nav__link {
	display: inline-block !important;
	padding: 0.35rem 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ue-white) !important;
	font-family: var(--ue-font);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none !important;
	opacity: 0.85;
	transform: translateY(0);
	transition: opacity 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ue-nav__link:hover,
.ue-nav__link:focus-visible {
	opacity: 1;
	color: var(--ue-bronze) !important;
	transform: translateY(-1px);
	outline: none;
}

.ue-nav__item.current-menu-item > .ue-nav__link,
.ue-nav__item.current_page_item > .ue-nav__link,
.ue-nav__item.current-menu-ancestor > .ue-nav__link {
	opacity: 1;
	color: var(--ue-bronze) !important;
	background: transparent !important;
}

.ue-nav__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 0.4rem;
	background: transparent;
	color: var(--ue-white);
	cursor: pointer;
}

.ue-nav__toggle-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 1.1rem;
}

.ue-nav__toggle-line {
	display: block;
	height: 2px;
	width: 100%;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.22s ease, opacity 0.18s ease;
}

.ue-nav__icon {
	display: none;
}

.ue-nav__label {
	display: inline;
}

/* —— Home —— */
.ue-home {
	position: relative;
	z-index: 1;
	padding-top: 0;
	background: transparent;
	color: var(--ue-white);
}

body.ue-home-landing .ue-home .elementor-top-section:first-child,
body.ue-home-landing .ue-home .e-con.e-parent:first-child {
	min-height: 0;
}

.ue-home .n2-section-smartslider,
.ue-home .n2-ss-slider {
	width: 100% !important;
	max-width: 100%;
}

/* —— Footer —— */
.ue-footer {
	position: relative;
	z-index: 20;
	padding: 0.35rem clamp(1.25rem, 4vw, 3rem);
	background: rgba(4, 22, 20, 0.88);
	color: rgba(255, 255, 255, 0.72);
	border-top: 1px solid rgba(232, 217, 184, 0.12);
}

.ue-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.75rem;
	max-width: 120rem;
	margin: 0 auto;
	min-height: var(--ue-footer-h);
	flex-wrap: nowrap;
}

.ue-footer__legal {
	display: contents;
}

.ue-footer__meta,
.ue-footer__copy {
	flex: 1 1 0;
	min-width: 0;
}

.ue-footer__meta {
	order: 1;
}

.ue-footer-player {
	order: 2;
}

.ue-footer__copy {
	order: 3;
}

.ue-footer__brand {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--ue-white);
	line-height: 1.2;
}

.ue-footer__institution {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 500;
	line-height: 1.25;
	color: var(--ue-muted);
	white-space: nowrap;
}

/* Reproductor footer */
.ue-footer-player {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem 1.1rem;
	position: relative;
	padding: 0.28rem 0.75rem 0.28rem 0.85rem;
	border: 1px solid rgba(232, 217, 184, 0.16);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
		rgba(6, 30, 28, 0.55);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(10px);
}

.ue-footer-player__cover {
	display: none;
}

.ue-footer-player__waves {
	display: none;
}

.ue-footer-player__controls {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem 1.1rem;
}

.ue-footer-player__info {
	display: flex;
	flex-direction: column;
	gap: 0.08rem;
	min-width: 0;
}

.ue-footer-player__live {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ue-bronze);
	line-height: 1;
}

.ue-footer-player__dot {
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: #e05a4f;
	box-shadow: 0 0 0 0 rgba(224, 90, 79, 0.55);
	animation: ue-live-pulse 1.6s ease-out infinite;
}

html.ue-is-playing .ue-footer-player__dot,
.ue-footer-player.is-playing .ue-footer-player__dot {
	animation-duration: 1.1s;
}

@keyframes ue-live-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(224, 90, 79, 0.55);
	}
	70% {
		box-shadow: 0 0 0 0.4rem rgba(224, 90, 79, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(224, 90, 79, 0);
	}
}

.ue-footer-player__station {
	font-size: 0.8rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.92);
	letter-spacing: 0.01em;
	line-height: 1.2;
	white-space: nowrap;
}

.ue-footer-player__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.15rem;
	height: 2.15rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 50% !important;
	/* Verde más oscuro de la paleta — fuerza sobre estilos de Elementor */
	background: #041614 !important;
	background-color: #041614 !important;
	background-image: none !important;
	color: var(--ue-bronze) !important;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
	transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.ue-footer-player__btn:hover,
.ue-footer-player__btn:focus-visible {
	outline: none;
	transform: scale(1.05);
	border-color: rgba(232, 217, 184, 0.35) !important;
	background: #061e1c !important;
	background-color: #061e1c !important;
	background-image: none !important;
	color: var(--ue-bronze) !important;
}

/* Play = verde oscuro; Pause (en reproducción) = bronce del logo */
.ue-footer-player__btn.is-playing,
html.ue-is-playing .ue-footer-player__btn {
	background: var(--ue-bronze) !important;
	background-color: var(--ue-bronze) !important;
	background-image: none !important;
	color: #041614 !important;
	border-color: rgba(232, 217, 184, 0.55) !important;
}

.ue-footer-player__btn.is-playing:hover,
.ue-footer-player__btn.is-playing:focus-visible,
html.ue-is-playing .ue-footer-player__btn:hover,
html.ue-is-playing .ue-footer-player__btn:focus-visible {
	background: var(--ue-bronze-hot) !important;
	background-color: var(--ue-bronze-hot) !important;
	background-image: none !important;
	color: #041614 !important;
}

.ue-footer-player__icon {
	display: block;
	width: 0;
	height: 0;
}

.ue-footer-player__icon--play {
	margin-left: 0.14rem;
	border-style: solid;
	border-width: 0.4rem 0 0.4rem 0.68rem;
	border-color: transparent transparent transparent currentColor;
}

.ue-footer-player__icon--pause {
	display: none;
	width: 0.72rem;
	height: 0.72rem;
	background:
		linear-gradient(currentColor, currentColor) left / 0.22rem 100% no-repeat,
		linear-gradient(currentColor, currentColor) right / 0.22rem 100% no-repeat;
}

.ue-footer-player__btn.is-playing .ue-footer-player__icon--play,
html.ue-is-playing .ue-footer-player__btn .ue-footer-player__icon--play {
	display: none;
}

.ue-footer-player__btn.is-playing .ue-footer-player__icon--pause,
html.ue-is-playing .ue-footer-player__btn .ue-footer-player__icon--pause {
	display: block;
}

.ue-footer-player__volume {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-width: 7.5rem;
}

.ue-footer-player__mute {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	padding: 0;
	border: 0;
	border-radius: 0.35rem;
	background: transparent;
	color: rgba(255, 255, 255, 0.72);
	cursor: pointer;
}

.ue-footer-player__mute:hover,
.ue-footer-player__mute:focus-visible {
	color: var(--ue-bronze);
	outline: none;
}

.ue-footer-player__vol-icon {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

.ue-footer-player__vol-icon--off {
	display: none;
}

.ue-footer-player.is-muted .ue-footer-player__vol-icon--on,
.ue-footer-player__mute.is-muted .ue-footer-player__vol-icon--on {
	display: none;
}

.ue-footer-player.is-muted .ue-footer-player__vol-icon--off,
.ue-footer-player__mute.is-muted .ue-footer-player__vol-icon--off {
	display: block;
}

.ue-footer-player__range {
	--ue-vol: 80%;
	-webkit-appearance: none;
	appearance: none;
	width: 5.5rem;
	height: 0.28rem;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--ue-bronze) 0%,
		var(--ue-bronze) var(--ue-vol),
		rgba(255, 255, 255, 0.18) var(--ue-vol),
		rgba(255, 255, 255, 0.18) 100%
	);
	outline: none;
	cursor: pointer;
}

.ue-footer-player__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 0.85rem;
	height: 0.85rem;
	border-radius: 50%;
	background: var(--ue-white);
	border: 2px solid var(--ue-bronze);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.ue-footer-player__range::-moz-range-thumb {
	width: 0.85rem;
	height: 0.85rem;
	border-radius: 50%;
	background: var(--ue-white);
	border: 2px solid var(--ue-bronze);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.ue-footer-player__range::-moz-range-track {
	height: 0.28rem;
	border-radius: 999px;
	background: transparent;
}

.ue-footer-player__audio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ue-footer__copy {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 500;
	opacity: 0.7;
	text-align: right;
	line-height: 1.25;
	white-space: nowrap;
}

.ue-footer__copy-text {
	margin-left: 0.15rem;
}

/* —— Streaming video —— */
.ue-video-stream {
	--ue-video-chrome: calc(var(--ue-header-h, 5.75rem) + var(--ue-footer-h, 3.25rem) + 3.75rem);
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0.25rem clamp(0.75rem, 2.5vw, 1.5rem) 0.65rem;
	box-sizing: border-box;
}

.ue-video-stream__frame {
	position: relative;
	/* Aprovecha el alto libre entre título y footer; deja margen para controles */
	width: min(100%, 68rem, calc(min(68svh, 100svh - var(--ue-video-chrome)) * 16 / 9));
	max-width: 100%;
	max-height: min(100%, 68svh, calc(100svh - var(--ue-video-chrome)));
	aspect-ratio: 16 / 9;
	height: auto;
	border-radius: 1rem;
	overflow: hidden;
	background: #041614;
	border: 1px solid rgba(232, 217, 184, 0.16);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.ue-video-stream__media {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
	object-fit: contain;
}

.ue-video-stream__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ue-video-stream--empty {
	color: rgba(255, 255, 255, 0.78);
	text-align: center;
	font-size: 0.95rem;
	min-height: 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ue-video-stream--empty p {
	margin: 0;
	padding: 1.25rem 1rem;
	border: 1px dashed rgba(232, 217, 184, 0.28);
	border-radius: 0.85rem;
	background: rgba(255, 255, 255, 0.03);
}

/* —— Página en construcción —— */
body.ue-has-construction #content > .ue-construction,
#content.ue-construction-page > .ue-construction {
	flex: 1 1 auto;
	min-height: 0;
}

.ue-construction {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 18rem;
	padding: clamp(0.75rem, 2vh, 1.5rem) clamp(1rem, 4vw, 2.5rem);
	box-sizing: border-box;
	color: var(--ue-white);
	text-align: center;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Header y footer se funden con la animación (sin líneas ni bloques) */
body.ue-has-construction .ue-header,
body.ue-has-construction .ue-header.is-scrolled,
body:has(.ue-construction) .ue-header,
body:has(.ue-construction) .ue-header.is-scrolled {
	background: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	box-shadow: none !important;
	border: 0 !important;
}

body.ue-has-construction .ue-shine-beam,
body:has(.ue-construction) .ue-shine-beam {
	display: none !important;
}

body.ue-has-construction .ue-footer,
body:has(.ue-construction) .ue-footer {
	background: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

/* Quitar cualquier caja de Elementor alrededor del aviso */
.elementor-element:has(> .elementor-widget-container > .ue-construction),
.elementor-widget-container:has(> .ue-construction),
.elementor-widget:has(.ue-construction),
.elementor-section:has(.ue-construction),
.e-con:has(.ue-construction),
.e-con-inner:has(.ue-construction) {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
}

/* Escenario animado a pantalla completa (sin bordes visibles) */
.ue-construction__stage {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.ue-construction__aurora {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(200vmax, 120rem);
	height: min(200vmax, 120rem);
	transform: translate(-50%, -50%);
	background:
		radial-gradient(circle at 50% 50%, rgba(232, 217, 184, 0.14), transparent 40%),
		conic-gradient(
			from 0deg,
			transparent 0deg,
			rgba(20, 82, 75, 0.4) 70deg,
			transparent 150deg,
			rgba(232, 217, 184, 0.16) 230deg,
			transparent 320deg
		);
	filter: blur(40px);
	animation: ue-construction-spin 26s linear infinite;
}

.ue-construction__wave {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(52vmax, 34rem);
	height: min(52vmax, 34rem);
	margin: calc(min(52vmax, 34rem) / -2) 0 0 calc(min(52vmax, 34rem) / -2);
	border: 1px solid rgba(232, 217, 184, 0.22);
	border-radius: 50%;
	opacity: 0;
	animation: ue-construction-wave 5.2s cubic-bezier(0.22, 0.8, 0.28, 1) infinite;
}

.ue-construction__wave--2 {
	animation-delay: 1.3s;
}

.ue-construction__wave--3 {
	animation-delay: 2.6s;
}

.ue-construction__wave--4 {
	animation-delay: 3.9s;
	border-style: dashed;
}

@keyframes ue-construction-wave {
	0% {
		transform: scale(0.18);
		opacity: 0;
	}
	18% {
		opacity: 0.6;
	}
	100% {
		transform: scale(3.4);
		opacity: 0;
	}
}

.ue-construction__sweep {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(95vmax, 62rem);
	height: min(95vmax, 62rem);
	transform: translate(-50%, -50%);
	background: conic-gradient(
		from 0deg,
		rgba(232, 217, 184, 0.22) 0deg,
		transparent 55deg,
		transparent 360deg
	);
	border-radius: 50%;
	mask-image: radial-gradient(circle, transparent 18%, #000 42%, transparent 72%);
	-webkit-mask-image: radial-gradient(circle, transparent 18%, #000 42%, transparent 72%);
	animation: ue-construction-spin 7s linear infinite;
}

.ue-construction__orbit {
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation: ue-construction-spin 18s linear infinite;
}

.ue-construction__orbit i {
	position: absolute;
	top: -0.28rem;
	left: 50%;
	width: 0.55rem;
	height: 0.55rem;
	margin-left: -0.275rem;
	border-radius: 50%;
	background: var(--ue-bronze);
	box-shadow: 0 0 0.85rem rgba(232, 217, 184, 0.9);
}

.ue-construction__orbit--a {
	width: min(42vmax, 28rem);
	height: min(42vmax, 28rem);
	animation-duration: 13s;
}

.ue-construction__orbit--b {
	width: min(62vmax, 42rem);
	height: min(62vmax, 42rem);
	animation-duration: 21s;
	animation-direction: reverse;
}

.ue-construction__orbit--b i {
	width: 0.4rem;
	height: 0.4rem;
	margin-left: -0.2rem;
	top: -0.2rem;
	opacity: 0.75;
}

.ue-construction__orbit--c {
	width: min(84vmax, 56rem);
	height: min(84vmax, 56rem);
	animation-duration: 30s;
}

.ue-construction__orbit--c i {
	width: 0.3rem;
	height: 0.3rem;
	margin-left: -0.15rem;
	top: -0.15rem;
	opacity: 0.55;
}

/* Onda de audio de fondo */
.ue-construction__waveform {
	position: absolute;
	left: -2%;
	right: -2%;
	bottom: 8%;
	width: 104%;
	height: min(34vh, 18rem);
	opacity: 0.5;
}

.ue-construction__waveform-path {
	fill: none;
	stroke: var(--ue-bronze);
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-dasharray: 14 22;
	opacity: 0.55;
	animation: ue-construction-dash 9s linear infinite;
}

.ue-construction__waveform-path--2 {
	stroke: rgba(255, 255, 255, 0.45);
	stroke-dasharray: 8 26;
	animation-duration: 13s;
	animation-direction: reverse;
	opacity: 0.4;
}

@keyframes ue-construction-dash {
	to {
		stroke-dashoffset: -360;
	}
}

/* Espectro de audio (emisora digital) */
.ue-construction__eq {
	position: absolute;
	left: 50%;
	bottom: 4%;
	display: flex;
	align-items: flex-end;
	gap: clamp(0.35rem, 1vw, 0.7rem);
	height: clamp(3rem, 9vh, 6rem);
	transform: translateX(-50%);
	opacity: 0.55;
}

.ue-construction__eq i {
	display: block;
	width: clamp(0.22rem, 0.5vw, 0.35rem);
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--ue-bronze), rgba(20, 82, 75, 0.25));
	transform-origin: 50% 100%;
	transform: scaleY(0.2);
	animation: ue-construction-eq 1.5s ease-in-out infinite alternate;
	animation-delay: var(--ue-eq-delay, 0s);
}

@keyframes ue-construction-eq {
	from {
		transform: scaleY(0.16);
		opacity: 0.5;
	}
	to {
		transform: scaleY(var(--ue-eq-scale, 0.8));
		opacity: 1;
	}
}

.ue-construction__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(0.45rem, 1.3vh, 0.85rem);
	width: min(100%, 44rem);
	padding: 0;
	background: none;
	border: 0;
}

/* Micrófono con ondas */
.ue-construction__badge {
	display: block;
	width: clamp(3rem, 8vh, 4.5rem);
	height: clamp(3rem, 8vh, 4.5rem);
	margin-bottom: 0.2rem;
	animation: ue-construction-breathe 3.2s ease-in-out infinite;
}

.ue-construction__mic {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.ue-construction__mic-body {
	fill: var(--ue-bronze);
}

.ue-construction__mic-stand {
	fill: none;
	stroke: var(--ue-bronze);
	stroke-width: 2.2;
	stroke-linecap: round;
}

.ue-construction__mic-arc {
	fill: none;
	stroke: rgba(232, 217, 184, 0.85);
	stroke-width: 2;
	stroke-linecap: round;
	opacity: 0;
	animation: ue-construction-arc 2.4s ease-out infinite;
}

.ue-construction__mic-arc--2,
.ue-construction__mic-arc--4 {
	animation-delay: 0.5s;
}

@keyframes ue-construction-arc {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}

.ue-construction__dot {
	display: inline-block;
	width: 0.42rem;
	height: 0.42rem;
	margin-right: 0.45rem;
	border-radius: 50%;
	background: #e05a4f;
	vertical-align: middle;
	animation: ue-live-pulse 1.6s ease-out infinite;
}

@keyframes ue-construction-spin {
	to {
		transform: rotate(360deg);
	}
}

.ue-construction__aurora,
.ue-construction__sweep,
.ue-construction__orbit {
	transform-origin: 50% 50%;
}

.ue-construction__aurora {
	animation-name: ue-construction-spin-centered;
}

.ue-construction__sweep {
	animation-name: ue-construction-spin-centered;
}

.ue-construction__orbit {
	animation-name: ue-construction-spin-centered;
}

@keyframes ue-construction-spin-centered {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@keyframes ue-construction-breathe {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.06);
	}
}

.ue-construction__eyebrow {
	display: inline-flex;
	align-items: center;
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ue-bronze);
}

.ue-construction__title {
	margin: 0;
	font-size: clamp(1.5rem, 4vw, 2.6rem);
	font-weight: 800;
	line-height: 1.12;
	color: var(--ue-white);
	background: linear-gradient(
		100deg,
		#ffffff 0%,
		#ffffff 38%,
		var(--ue-bronze) 50%,
		#ffffff 62%,
		#ffffff 100%
	);
	background-size: 260% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: ue-construction-title 6s ease-in-out infinite;
	text-shadow: 0 6px 30px rgba(0, 0, 0, 0.35);
}

@keyframes ue-construction-title {
	0%,
	100% {
		background-position: 130% 50%;
	}
	50% {
		background-position: -30% 50%;
	}
}

.ue-construction__text {
	margin: 0;
	max-width: 32rem;
	font-size: clamp(0.88rem, 1.2vw, 1rem);
	line-height: 1.55;
	color: var(--ue-muted);
}

.ue-construction__progress {
	position: relative;
	width: min(100%, 18rem);
	height: 0.26rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	overflow: hidden;
}

.ue-construction__progress-bar {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 40%;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, var(--ue-bronze), transparent);
	animation: ue-construction-progress 2.4s ease-in-out infinite;
}

@keyframes ue-construction-progress {
	0% {
		transform: translateX(-110%);
	}
	100% {
		transform: translateX(260%);
	}
}

.ue-construction__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.15rem;
	padding: 0.6rem 1.35rem;
	border: 1px solid rgba(232, 217, 184, 0.45);
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none !important;
	text-underline-offset: 0;
	color: var(--ue-bronze);
	background: transparent;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ue-construction__cta:hover,
.ue-construction__cta:focus-visible {
	background: var(--ue-bronze);
	color: #041614;
	text-decoration: none !important;
	outline: none;
	transform: translateY(-1px);
}

.ue-construction__badge--btn {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	color: inherit;
}

.ue-construction__badge--btn:focus-visible {
	outline: 2px solid var(--ue-bronze);
	outline-offset: 6px;
	border-radius: 50%;
}

.ue-construction__badge--btn.is-pop {
	animation: ue-404-pop 0.42s ease;
}

.ue-404__code {
	margin: 0;
	font-size: clamp(2.8rem, 8vw, 5.2rem);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: 0.08em;
	color: var(--ue-bronze);
}

.ue-404__hint {
	margin: 0;
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.55);
}

.ue-404__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
}

.ue-construction__cta--ghost {
	border-color: rgba(255, 255, 255, 0.22);
	color: #fff;
}

.ue-construction__text.is-swap {
	opacity: 0;
	transform: translateY(6px);
}

.ue-construction__text {
	transition: opacity 0.16s ease, transform 0.16s ease;
}

@keyframes ue-404-pop {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.12) rotate(-6deg);
	}
	100% {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ue-construction__aurora,
	.ue-construction__wave,
	.ue-construction__sweep,
	.ue-construction__orbit,
	.ue-construction__badge,
	.ue-construction__mic-arc,
	.ue-construction__waveform-path,
	.ue-construction__eq i,
	.ue-construction__dot,
	.ue-construction__progress-bar,
	.ue-construction__title {
		animation: none !important;
	}

	.ue-construction__wave,
	.ue-construction__sweep,
	.ue-construction__eq {
		display: none;
	}

	.ue-construction__mic-arc {
		opacity: 0.6;
	}

	.ue-construction__title {
		-webkit-text-fill-color: var(--ue-white);
	}
}

/* Elementor: el aviso ocupa el alto disponible */
body:not(.ue-home-landing) .elementor-widget-shortcode:has(.ue-construction),
body:not(.ue-home-landing) .elementor-element:has(.ue-construction) {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
	align-self: stretch;
}

/* Elementor: shortcode del video ocupa el alto disponible */
body:not(.ue-home-landing) .elementor-widget-shortcode:has(.ue-video-stream),
body:not(.ue-home-landing) .elementor-widget-container:has(.ue-video-stream),
body:not(.ue-home-landing) .elementor-shortcode:has(.ue-video-stream) {
	height: 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

@media (max-width: 820px) {
	.ue-footer-player__volume {
		min-width: 6.25rem;
	}

	.ue-footer-player__range {
		width: 4.25rem;
	}

	.ue-video-stream {
		padding: 0.35rem 0.75rem;
	}

	.ue-video-stream__frame {
		border-radius: 0.75rem;
	}
}

@media (max-width: 992px) {
	:root {
		--ue-header-h: 3.5rem;
		--ue-footer-h: 5.35rem;
		--ue-logo-h: 2.15rem;
	}

	.ue-header__inner {
		min-height: 3.5rem;
		padding: 0.45rem 0.9rem;
		gap: 0.65rem;
	}

	.ue-brand {
		align-items: center;
		min-width: 0;
		flex: 1 1 auto;
	}

	.ue-brand__picture--desktop {
		display: none;
	}

	.ue-brand__picture--mobile {
		display: contents;
	}

	.ue-brand__logo--desktop {
		display: none;
	}

	.ue-brand__logo--mobile {
		display: block;
		height: auto;
		width: min(18.5rem, calc(100vw - 5.4rem));
		max-height: 2.25rem;
		aspect-ratio: 974 / 178;
		object-fit: contain;
		object-position: left center;
		filter: none;
	}

	.ue-nav {
		margin-left: auto;
		align-self: center;
	}

	.ue-nav__toggle {
		width: 2.65rem;
		height: 2.65rem;
		border: 0;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.07);
		color: var(--ue-white);
	}

	.ue-nav__toggle:hover,
	.ue-nav__toggle:focus-visible,
	.ue-nav.is-open .ue-nav__toggle {
		background: rgba(232, 217, 184, 0.16);
		outline: none;
	}

	.ue-footer {
		padding: 0.18rem 0.65rem 0.12rem;
	}

	.ue-footer__inner {
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		text-align: center;
		gap: 0.18rem 0.6rem;
		min-height: 0;
	}

	.ue-footer-player {
		order: -1;
		flex: 1 1 100%;
		justify-content: center;
		max-width: 100%;
		padding: 0.2rem 0.65rem;
	}

	.ue-footer__legal {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.08rem;
		order: 2;
		width: 100%;
		flex: 0 0 auto;
		margin: 0;
	}

	.ue-footer__meta,
	.ue-footer__copy {
		display: block;
		flex: 0 0 auto;
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	.ue-footer__brand {
		font-size: 0.7rem;
		line-height: 1.1;
	}

	.ue-footer__institution {
		white-space: normal;
		font-size: 0.58rem;
		line-height: 1.15;
	}

	.ue-footer__copy {
		font-size: 0.58rem;
		line-height: 1.15;
		white-space: normal;
		opacity: 0.62;
	}

	.ue-nav__toggle {
		display: inline-flex;
		z-index: 1302;
	}

	.ue-nav.is-open .ue-nav__toggle-line:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}

	.ue-nav.is-open .ue-nav__toggle-line:nth-child(2) {
		opacity: 0;
	}

	.ue-nav.is-open .ue-nav__toggle-line:nth-child(3) {
		transform: translateY(-6px) rotate(-45deg);
	}

	html.ue-nav-open,
	html.ue-nav-open body {
		overflow: hidden;
	}

	html.ue-nav-open .ue-footer,
	html.ue-nav-open .ue-footer__legal {
		display: none !important;
	}

	html.ue-nav-open::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 1298;
		background: #041614;
	}

	html.ue-nav-open .ue-header,
	html.ue-nav-open body.ue-home-landing .ue-header,
	html.ue-nav-open body.ue-home-landing .ue-header.is-scrolled,
	html.ue-nav-open body:not(.ue-home-landing) .ue-header {
		contain: none;
		z-index: 1301;
		background: #041614;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.ue-nav__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-content: center;
		justify-items: stretch;
		gap: 0.75rem;
		position: fixed;
		inset: 0;
		z-index: 1300;
		min-width: 0;
		margin: 0;
		padding: calc(var(--ue-header-h) + 1.1rem) 1.15rem 1.4rem;
		background: #041614 !important;
		border: 0;
		border-radius: 0;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: none;
		transition: opacity 0.22s ease, visibility 0.22s;
	}

	.ue-nav.is-open .ue-nav__list {
		display: grid;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		background: #041614 !important;
	}

	.ue-nav__item {
		width: auto;
		background: transparent !important;
	}

	.ue-nav__link {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.7rem;
		min-height: 7.4rem;
		padding: 1rem 0.55rem !important;
		border: 1px solid rgba(232, 217, 184, 0.22) !important;
		border-radius: 1.15rem !important;
		background: #0b2c28 !important;
		transform: none;
	}

	.ue-nav__link:hover,
	.ue-nav__link:focus-visible,
	.ue-nav__item.current-menu-item > .ue-nav__link {
		background: #163833 !important;
		border-color: rgba(232, 217, 184, 0.55) !important;
		transform: none;
	}

	.ue-nav__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.65rem;
		height: 2.65rem;
		border-radius: 0.9rem;
		background: rgba(232, 217, 184, 0.14);
		color: var(--ue-bronze);
	}

	.ue-nav__glyph {
		display: block;
		width: 1.35rem;
		height: 1.35rem;
	}

	.ue-nav__label {
		font-size: 0.68rem;
		letter-spacing: 0.08em;
		line-height: 1.25;
		text-align: center;
	}

	.ue-header {
		background: rgba(6, 30, 28, 0.55);
	}

	.ue-header.is-scrolled {
		position: sticky;
		top: 0;
	}

	body:not(.ue-home-landing) .ue-header {
		background: rgba(6, 30, 28, 0.92);
	}
}

@media (max-width: 992px) and (orientation: landscape) {
	:root {
		--ue-header-h: 2.65rem;
		--ue-footer-h: 2.85rem;
	}

	.ue-footer {
		padding: 0.2rem 0.7rem 0.28rem;
	}

	.ue-footer__inner {
		flex-wrap: nowrap;
		min-height: 0;
		gap: 0.45rem 0.8rem;
	}

	.ue-footer__meta,
	.ue-footer__copy {
		display: block;
		flex: 1 1 0;
		width: auto;
		text-align: center;
	}

	.ue-footer__institution {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ue-nav__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-content: start;
		align-items: stretch;
		gap: 0.45rem;
		padding: calc(var(--ue-header-h) + 0.4rem) 0.7rem 0.55rem;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ue-nav.is-open .ue-nav__list {
		display: grid;
	}

	.ue-nav__link {
		min-height: 0;
		padding: 0.45rem 0.3rem !important;
		gap: 0.32rem;
		border-radius: 0.8rem !important;
	}

	.ue-nav__icon {
		width: 1.85rem;
		height: 1.85rem;
		border-radius: 0.55rem;
	}

	.ue-nav__glyph {
		width: 1rem;
		height: 1rem;
	}

	.ue-nav__label {
		font-size: 0.58rem;
		letter-spacing: 0.06em;
	}
}

/* Streaming: video y radio juntos, tarjeta al ancho del video */
body.ue-is-streaming {
	--ue-stream-gutter: 1rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto minmax(min-content, auto) minmax(0, auto) auto;
	grid-template-areas:
		"head"
		"video"
		"radio"
		"legal";
	height: 100svh;
	max-height: 100svh;
	overflow-x: clip;
	overflow-y: auto;
	column-gap: 0.75rem;
	row-gap: 0.55rem;
}

body.ue-is-streaming .ue-header {
	grid-area: head;
	z-index: 1301;
}

body.ue-is-streaming #content,
body.ue-is-streaming main,
body.ue-is-streaming .site-main {
	grid-area: video;
	flex: none;
	min-height: min-content;
	height: auto;
	overflow: visible;
}

body.ue-is-streaming #content .elementor-top-section:first-child,
body.ue-is-streaming #content .e-con.e-parent:first-child,
body.ue-is-streaming main .elementor-top-section:first-child,
body.ue-is-streaming main .e-con.e-parent:first-child,
body.ue-is-streaming #content .e-con.e-parent:first-child > .e-con-inner,
body.ue-is-streaming main .e-con.e-parent:first-child > .e-con-inner {
	min-height: 0 !important;
	height: auto !important;
	padding-block: 0 !important;
	gap: 0.35rem !important;
	justify-content: flex-start !important;
	overflow: visible !important;
}

body.ue-is-streaming .elementor-widget-shortcode:has(.ue-video-stream),
body.ue-is-streaming .elementor-widget-container:has(.ue-video-stream),
body.ue-is-streaming .elementor-shortcode:has(.ue-video-stream),
body.ue-is-streaming .elementor-element:has(.ue-video-stream) {
	flex: 0 0 auto !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	align-self: stretch;
}

body.ue-is-streaming .ue-footer {
	display: contents;
	background: transparent;
	border: 0;
	padding: 0;
}

body.ue-is-streaming .ue-footer__inner {
	display: contents;
}

body.ue-is-streaming .ue-footer-player {
	grid-area: radio;
	order: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0.7rem;
	justify-self: center;
	align-self: start;
	width: calc(100% - (var(--ue-stream-gutter) * 2));
	max-width: 28rem;
	aspect-ratio: auto;
	max-height: none;
	margin: 0;
	padding: 0.85rem 0.95rem 0.75rem;
	border-radius: 1.1rem;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)),
		#0b2c28;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

body.ue-is-streaming .ue-footer-player__cover {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	min-height: 9.5rem;
	overflow: hidden;
	border-radius: 0.85rem;
	background: rgba(4, 22, 20, 0.35);
}

body.ue-is-streaming .ue-footer-player__waves {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.18rem 0.28rem;
	width: 100%;
	height: 7.2rem;
	padding: 0 0.65rem;
	pointer-events: none;
}

body.ue-is-streaming .ue-footer-player__waves span {
	display: block;
	flex: 0 0 auto;
	width: var(--ue-bar-w, 0.08rem);
	min-height: 0.32rem;
	height: var(--ue-bar, 0%);
	border-radius: 999px;
	background: var(--ue-bronze);
}

body.ue-is-streaming .ue-footer-player__info {
	align-items: center;
	text-align: center;
	gap: 0.28rem;
}

body.ue-is-streaming .ue-footer-player__live {
	font-size: 0.72rem;
}

body.ue-is-streaming .ue-footer-player__station {
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	white-space: normal;
}

body.ue-is-streaming .ue-footer-player__controls {
	width: 100%;
	justify-content: center;
	gap: 1rem;
}

body.ue-is-streaming .ue-footer-player__btn {
	width: 3.1rem;
	height: 3.1rem;
}

body.ue-is-streaming .ue-footer-player__icon--play {
	border-width: 0.5rem 0 0.5rem 0.85rem;
}

body.ue-is-streaming .ue-footer-player__icon--pause {
	width: 0.9rem;
	height: 0.9rem;
}

body.ue-is-streaming .ue-footer-player__volume {
	min-width: 8.5rem;
	gap: 0.55rem;
}

body.ue-is-streaming .ue-footer-player__mute {
	width: 2rem;
	height: 2rem;
}

body.ue-is-streaming .ue-footer-player__vol-icon {
	width: 1.25rem;
	height: 1.25rem;
}

body.ue-is-streaming .ue-footer-player__range {
	width: 6.5rem;
	height: 0.34rem;
}

body.ue-is-streaming .ue-footer__legal {
	grid-area: legal;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	align-self: end;
	gap: 0.12rem;
	padding: 0 0.8rem 0.4rem;
	text-align: center;
}

body.ue-is-streaming .ue-footer__meta,
body.ue-is-streaming .ue-footer__copy {
	flex: 0 1 auto;
	width: auto;
	text-align: center;
}

body.ue-is-streaming .ue-video-stream {
	--ue-video-chrome: 0px;
	min-height: 0;
	height: auto;
	padding: 0 var(--ue-stream-gutter) 0.35rem;
	overflow: visible;
}

body.ue-is-streaming .ue-video-stream__frame {
	width: 100%;
	height: auto;
	max-width: 28rem;
	max-height: none;
	margin-inline: auto;
	overflow: visible;
	z-index: 2;
}

body.ue-is-streaming .ue-video-stream__media {
	border-radius: 1rem;
}

body.ue-is-streaming .elementor-widget-heading {
	margin: 0 auto !important;
	padding: 0 var(--ue-stream-gutter) !important;
	max-width: calc(28rem + (var(--ue-stream-gutter) * 2));
}

body.ue-is-streaming .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(1rem, 3.6vw, 1.25rem) !important;
}

@media (min-width: 900px) {
	body.ue-is-streaming {
		--ue-stream-gutter: clamp(1.5rem, 3.5vw, 3rem);
		--ue-pair-h: min(32rem, calc(100svh - var(--ue-header-h) - 5.25rem));
		grid-template-columns: minmax(0, calc(var(--ue-pair-h) * 16 / 9)) 21.25rem;
		grid-template-rows: auto auto 1fr;
		grid-template-areas:
			"head head"
			"video radio"
			"legal legal";
		justify-content: center;
		align-items: center;
		column-gap: 1.35rem;
		row-gap: 0.55rem;
		padding-inline: var(--ue-stream-gutter);
	}

	body.ue-is-streaming .ue-header {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}

	body.ue-is-streaming #content,
	body.ue-is-streaming main,
	body.ue-is-streaming .site-main {
		display: flex;
		flex-direction: column;
		align-self: center;
		justify-self: stretch;
		width: 100%;
		min-height: 0;
		height: auto;
	}

	body.ue-is-streaming .elementor-widget-heading {
		max-width: none;
		padding: 0 0 0.55rem !important;
		text-align: left;
	}

	body.ue-is-streaming .elementor-widget-heading .elementor-heading-title {
		font-size: 1.15rem !important;
	}

	body.ue-is-streaming .ue-video-stream {
		flex: 0 0 auto;
		height: auto;
		padding: 0;
	}

	body.ue-is-streaming .ue-video-stream__frame {
		width: 100%;
		height: auto;
		max-width: none;
		max-height: var(--ue-pair-h);
		aspect-ratio: 16 / 9;
		overflow: hidden;
		border-radius: 1rem;
	}

	body.ue-is-streaming .ue-footer-player {
		align-self: end;
		justify-self: stretch;
		width: 100%;
		max-width: none;
		min-height: 0;
		height: var(--ue-pair-h);
		margin: 0;
		padding: 1.35rem 1.2rem 1.15rem;
		gap: 1rem;
		justify-content: space-between;
	}

	body.ue-is-streaming .ue-footer-player__cover {
		flex: 1 1 auto;
		min-height: 11rem;
	}

	body.ue-is-streaming .ue-footer__legal {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}
}

@media (orientation: landscape) and (max-height: 540px) {
	body.ue-is-streaming {
		--ue-stream-gutter: 0.55rem;
		grid-template-columns: minmax(0, 1.2fr) minmax(14rem, 0.8fr);
		grid-template-rows: auto minmax(0, 1fr) auto;
		grid-template-areas:
			"head head"
			"video radio"
			"legal legal";
		column-gap: 0.55rem;
		row-gap: 0.15rem;
		align-items: center;
	}

	body.ue-is-streaming .ue-header__inner {
		min-height: 2.65rem;
		padding: 0.2rem 0.75rem;
	}

	body.ue-is-streaming .elementor-widget-heading {
		display: none !important;
	}

	body.ue-is-streaming .ue-footer__legal {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 0.1rem 0.85rem;
		padding: 0.12rem 0.6rem 0.22rem;
	}

	body.ue-is-streaming #content,
	body.ue-is-streaming main,
	body.ue-is-streaming .site-main {
		align-self: stretch;
	}

	body.ue-is-streaming .ue-footer-player {
		align-self: center;
		width: calc(100% - 0.7rem);
		max-width: 18rem;
		margin: 0;
		padding: 0.55rem 0.65rem 0.5rem;
		gap: 0.4rem;
		border-radius: 0.85rem;
	}

	body.ue-is-streaming .ue-video-stream {
		height: 100%;
		padding: 0 0.4rem;
	}

	body.ue-is-streaming .ue-video-stream__frame {
		width: auto;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		border-radius: 0.55rem;
	}
}

/* Teléfono en horizontal (otras páginas): compactar para que no se corte el video */
@media (orientation: landscape) and (max-height: 540px) {
	body:not(.ue-home-landing):not(.ue-is-streaming) {
		--ue-header-h: 2.65rem;
		--ue-footer-h: 3.35rem;
	}

	body:not(.ue-is-streaming) .ue-header__inner {
		min-height: 2.65rem;
		padding: 0.2rem 0.75rem;
	}

	body:not(.ue-is-streaming) .ue-brand__logo--mobile {
		max-height: 1.55rem;
		width: min(14rem, calc(100vw - 5rem));
	}

	body:not(.ue-is-streaming) .ue-nav__toggle {
		width: 2.2rem;
		height: 2.2rem;
	}

	body:not(.ue-home-landing):not(.ue-is-streaming) #content .elementor-top-section:first-child,
	body:not(.ue-home-landing):not(.ue-is-streaming) #content .e-con.e-parent:first-child,
	body:not(.ue-home-landing):not(.ue-is-streaming) main .elementor-top-section:first-child,
	body:not(.ue-home-landing):not(.ue-is-streaming) main .e-con.e-parent:first-child {
		padding-block: 0 !important;
		gap: 0.15rem !important;
	}

	body:not(.ue-home-landing):not(.ue-is-streaming) .elementor-widget-heading {
		display: none !important;
	}

	body:not(.ue-is-streaming) .ue-footer {
		padding: 0.2rem 0.7rem;
	}

	body:not(.ue-is-streaming) .ue-footer__inner {
		flex-wrap: nowrap;
		min-height: 0;
	}

	body:not(.ue-is-streaming) .ue-footer__meta,
	body:not(.ue-is-streaming) .ue-footer__copy {
		display: block;
	}

	body:not(.ue-is-streaming) .ue-footer-player {
		order: 0;
		flex: 1 1 auto;
		max-width: 36rem;
	}

	body:not(.ue-is-streaming) .ue-video-stream {
		--ue-video-chrome: calc(var(--ue-header-h) + var(--ue-footer-h) + 0.6rem);
		min-height: 0;
		height: 100%;
		padding: 0.1rem 0.6rem 0.15rem;
	}

	body:not(.ue-is-streaming) .ue-video-stream__frame {
		width: auto;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		aspect-ratio: 16 / 9;
		border-radius: 0.55rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ue-soundscape__wave,
	.ue-footer-player__waves span,
	.ue-shine,
	.ue-shine-beam,
	.ue-brand__logo,
	.ue-header,
	.ue-header__inner {
		animation: none !important;
		transition: none !important;
	}

	.ue-shine,
	.ue-shine-beam,
	.ue-footer-player__dot {
		animation: none !important;
	}

	.ue-shine,
	.ue-shine-beam {
		display: none !important;
	}
}

/*
 * En móvil las animaciones de fondo cuestan CPU y empeoran el Speed Index
 * en equipos lentos, así que dejamos solo las ondas estáticas.
 */
@media (max-width: 900px) {
	.ue-shine,
	.ue-shine-beam {
		display: none !important;
	}

	.ue-soundscape__wave {
		animation: none !important;
	}

	.ue-construction__orbit,
	.ue-construction__waveform-path {
		animation: none !important;
	}
}
