/*
Theme Name: Radio Estación
Theme URI: https://www.radioestacion.cl
Author: Marco Leiva
Description: Tema clásico a medida para Radio Estación, construido sobre su manual de marca. Optimizado para Elementor, sin dependencias externas, con sistema de publicidad, archivo tipo calendario y widgets propios.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: radio-estacion
Tags: news, radio, elementor, custom-menu, featured-images, translation-ready
*/

/* ==========================================================================
   1. TOKENS DE MARCA
   Paleta y tipografia tal como las define el manual de marca (pags. 07, 08, 14).
   ========================================================================== */

:root {
	/* --- Tintas de marca (manual, pag. 07) --- */
	--radest-red: #ec3013;      /* Rojo de marca */
	--radest-ink: #201e1d;      /* Negro */
	--radest-paper: #f3f2f2;    /* Blanco / fondo */
	--radest-surface: #eae9e9;  /* Superficie / tarjetas */

	/* --- Rampa de acento --- */
	--radest-red-100: #fff2ef;
	--radest-red-200: #ffe0d9;
	--radest-red-300: #ffc4b8;
	--radest-red-400: #ff9783;
	--radest-red-500: #ff563c;
	--radest-red-600: #dd2b0f; /* hover de boton primario */
	--radest-red-700: #ae1800; /* texto rojo sobre fondo claro — cumple AA */
	--radest-red-800: #7c1405;
	--radest-red-900: #4d170e;

	/* --- Rampa neutra --- */
	--radest-n-100: #f8f4f4;
	--radest-n-200: #eae7e7;
	--radest-n-300: #d7d3d3;
	--radest-n-400: #bab6b6;
	--radest-n-500: #9b9797;
	--radest-n-600: #7d7979;
	--radest-n-700: #605d5d;
	--radest-n-800: #444141;
	--radest-n-900: #2d2b2b;

	/* --- Roles de interfaz (manual, pag. 14) --- */
	--radest-bg: var(--radest-paper);
	--radest-text: var(--radest-ink);
	--radest-text-soft: #565352;   /* 7.0:1 sobre --radest-bg */
	--radest-text-mute: #6b6867;   /* 5.2:1 sobre --radest-bg */
	--radest-accent: var(--radest-red);
	--radest-accent-text: var(--radest-red-700);
	--radest-divider: #cbc8c7;
	--radest-divider-strong: #a8a4a3;

	/* --- Tipografia --- */
	/* El manual especifica Helvetica Neue. Al ser licenciada no se puede
	   auto-hospedar, asi que servimos Archivo — la sustituta que ya usa el
	   sistema de diseno del propio manual — con Helvetica Neue como primer
	   fallback local para quien la tenga instalada. */
	--radest-font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--radest-fw-light: 300;
	--radest-fw-normal: 400;
	--radest-fw-medium: 600;
	--radest-fw-bold: 700;
	--radest-fw-black: 800;

	/* --- Escala tipografica --- */
	--radest-fs-xs: 0.75rem;
	--radest-fs-sm: 0.8125rem;
	--radest-fs-base: 1rem;
	--radest-fs-md: 1.0625rem;
	--radest-fs-lg: clamp(1.125rem, 0.9rem + 0.7vw, 1.375rem);
	--radest-fs-xl: clamp(1.375rem, 1rem + 1.4vw, 2rem);
	--radest-fs-2xl: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
	--radest-fs-hero: clamp(1.875rem, 1.1rem + 3.4vw, 4rem);

	/* --- Espaciado --- */
	--radest-sp-1: 4px;
	--radest-sp-2: 8px;
	--radest-sp-3: 12px;
	--radest-sp-4: 16px;
	--radest-sp-5: 24px;
	--radest-sp-6: 32px;
	--radest-sp-7: 48px;
	--radest-sp-8: 64px;
	--radest-sp-9: 96px;

	/* --- Medidas --- */
	--radest-wrap: 1280px;
	--radest-wrap-narrow: 760px;
	--radest-wrap-read: 720px;   /* columna de lectura del artículo (~68ch) */
	--radest-wrap-media: 940px;  /* imagen destacada, más ancha que el texto */
	--radest-gutter: clamp(16px, 4vw, 48px);
	--radest-header-h: 84px;

	/* --- Esquinas: el manual fija radios en 0. Estetica modernista. --- */
	--radest-radius: 0px;

	/* --- Sombras --- */
	--radest-shadow-sm: 0 1px 2px rgba(45, 43, 43, 0.14);
	--radest-shadow-md: 0 3px 10px rgba(45, 43, 43, 0.16);
	--radest-shadow-lg: 0 12px 32px rgba(45, 43, 43, 0.22);

	/* --- Movimiento --- */
	--radest-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--radest-dur: 0.22s;
	--radest-z-header: 900;
	--radest-z-panel: 950;
	--radest-z-lightbox: 1000;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--radest-dur: 0.001s;
	}
}

/* ==========================================================================
   2. TIPOGRAFIA AUTO-HOSPEDADA
   Archivo variable (300-800), servida desde el tema. Sin Google Fonts.
   ========================================================================== */

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 300 800;
	font-stretch: 100%;
	font-display: swap;
	src: url("assets/fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 300 800;
	font-stretch: 100%;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   3. BASE
   ========================================================================== */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	margin: 0;
	background: var(--radest-bg);
	color: var(--radest-text);
	font-family: var(--radest-font);
	font-size: var(--radest-fs-md);
	font-weight: var(--radest-fw-normal);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

body.radest-no-scroll {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--radest-font);
	font-weight: var(--radest-fw-black);
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin: 0 0 var(--radest-sp-4);
	/* El manual compone titulares sin partir palabras: hyphens manual, nunca auto. */
	hyphens: manual;
	text-wrap: balance;
}

h1 { font-size: var(--radest-fs-2xl); }
h2 { font-size: var(--radest-fs-xl); }
h3 { font-size: var(--radest-fs-lg); }
h4 { font-size: var(--radest-fs-base); }

p {
	margin: 0 0 var(--radest-sp-4);
}

a {
	color: var(--radest-accent-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color var(--radest-dur) var(--radest-ease);
}

a:hover {
	color: var(--radest-accent);
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

figure {
	margin: 0;
}

ul, ol {
	padding-left: 1.25em;
}

blockquote {
	margin: var(--radest-sp-6) 0;
	padding: var(--radest-sp-2) 0 var(--radest-sp-2) var(--radest-sp-5);
	border-left: 3px solid var(--radest-accent);
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-medium);
	line-height: 1.4;
}

blockquote p:last-child {
	margin-bottom: 0;
}

code, pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.9em;
}

pre {
	overflow-x: auto;
	padding: var(--radest-sp-4);
	background: var(--radest-ink);
	color: var(--radest-paper);
}

hr {
	border: 0;
	height: 1px;
	background: var(--radest-divider);
	margin: var(--radest-sp-6) 0;
}

table {
	width: 100%;
	border-collapse: collapse;
}

th, td {
	padding: var(--radest-sp-2) var(--radest-sp-3);
	border-bottom: 1px solid var(--radest-divider);
	text-align: left;
}

/* Foco: anillo de 2px en el acento. El manual lo exige explicitamente
   (pag. 15) y prohibe el azul por defecto del navegador. */
:focus-visible {
	outline: 2px solid var(--radest-accent);
	outline-offset: 2px;
}

::selection {
	background: var(--radest-red-300);
	color: var(--radest-ink);
}

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

.radest-skip-link {
	position: absolute;
	top: -100px;
	left: var(--radest-sp-4);
	z-index: 1200;
	padding: var(--radest-sp-3) var(--radest-sp-5);
	background: var(--radest-ink);
	color: var(--radest-paper);
	font-weight: var(--radest-fw-bold);
	text-decoration: none;
}

.radest-skip-link:focus {
	top: var(--radest-sp-4);
	color: var(--radest-paper);
}

/* ==========================================================================
   4. DISPOSICION
   ========================================================================== */

.radest-wrap {
	width: 100%;
	max-width: var(--radest-wrap);
	margin-inline: auto;
	padding-inline: var(--radest-gutter);
}

.radest-wrap--narrow {
	max-width: var(--radest-wrap-narrow);
}

.radest-wrap--read {
	max-width: var(--radest-wrap-read);
}

.radest-wrap--media {
	max-width: var(--radest-wrap-media);
}

.radest-wrap--full {
	max-width: none;
}

.radest-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.radest-main {
	flex: 1 0 auto;
}

.radest-section {
	padding-block: var(--radest-sp-7);
}

.radest-section--tight {
	padding-block: var(--radest-sp-6);
}

/* --- Elemento grafico de marca: filete divisor bajo cada titular --- */
.radest-rule {
	height: 2px;
	background: var(--radest-ink);
	border: 0;
	margin: 0;
}

/* --- Elemento grafico de marca: franja bicolor rojo/tinta --- */
.radest-band {
	display: flex;
	height: 8px;
	overflow: hidden;
}

.radest-band__red {
	flex: 0 0 41.5%;
	background: var(--radest-accent);
}

.radest-band__ink {
	flex: 1 1 auto;
	background: var(--radest-ink);
}

/* ==========================================================================
   5. TITULO DE SECCION
   ========================================================================== */

.radest-section-title {
	margin-bottom: var(--radest-sp-5);
}

.radest-section-title__kicker {
	display: block;
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--radest-accent-text);
	margin-bottom: var(--radest-sp-2);
}

.radest-section-title__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--radest-sp-4);
	flex-wrap: wrap;
}

.radest-section-title__text {
	margin: 0 0 var(--radest-sp-3);
	font-size: var(--radest-fs-xl);
}

.radest-section-title__link {
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.radest-section-title__link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   6. BOTONES (manual, pag. 15)
   ========================================================================== */

.radest-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--radest-sp-2);
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: var(--radest-radius);
	background: transparent;
	font-family: var(--radest-font);
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

.radest-btn--primary {
	background: var(--radest-accent);
	color: var(--radest-paper);
}

.radest-btn--primary:hover {
	background: var(--radest-red-600);
	color: var(--radest-paper);
}

.radest-btn--primary:active {
	background: var(--radest-red-700);
}

.radest-btn--secondary {
	border-color: var(--radest-divider-strong);
	color: var(--radest-text);
}

.radest-btn--secondary:hover {
	background: rgba(32, 30, 29, 0.07);
	color: var(--radest-text);
}

.radest-btn--ghost {
	padding-inline: var(--radest-sp-1);
	color: var(--radest-accent-text);
}

.radest-btn--ghost:hover {
	background: rgba(236, 48, 19, 0.1);
}

.radest-btn[disabled],
.radest-btn--disabled {
	opacity: 0.45;
	pointer-events: none;
}

/* --- Etiqueta / tag --- */
.radest-tag {
	display: inline-block;
	padding: 4px 10px;
	background: var(--radest-accent);
	color: var(--radest-paper);
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.4;
}

a.radest-tag:hover {
	background: var(--radest-red-700);
	color: var(--radest-paper);
}

.radest-tag--ink {
	background: var(--radest-ink);
}

.radest-tag--outline {
	background: transparent;
	border: 1px solid var(--radest-divider-strong);
	color: var(--radest-text-soft);
}

/* ==========================================================================
   7. FORMULARIOS
   ========================================================================== */

.radest-input,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="password"],
input[type="date"],
select,
textarea {
	width: 100%;
	padding: 11px 14px;
	background: var(--radest-surface);
	border: 1px solid var(--radest-divider);
	border-radius: var(--radest-radius);
	font-family: var(--radest-font);
	font-size: var(--radest-fs-base);
	color: var(--radest-text);
	caret-color: var(--radest-accent);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	border-color: var(--radest-accent);
	outline-offset: 0;
}

label {
	display: inline-block;
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	margin-bottom: var(--radest-sp-1);
}

/* --- Buscador --- */
.radest-searchform {
	display: flex;
	gap: 0;
	width: 100%;
}

.radest-searchform__field {
	flex: 1 1 auto;
	min-width: 0;
	border-right: 0;
}

.radest-searchform__submit {
	flex: 0 0 auto;
	padding-inline: 18px;
	border: 0;
	background: var(--radest-ink);
	color: var(--radest-paper);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background var(--radest-dur) var(--radest-ease);
}

.radest-searchform__submit:hover {
	background: var(--radest-accent);
}

.radest-searchform__submit svg {
	display: block;
}

/* ==========================================================================
   8. CABECERA
   Ancho completo, sin caja, sticky.
   ========================================================================== */

.radest-header {
	position: sticky;
	top: 0;
	z-index: var(--radest-z-header);
	width: 100%;
	background: var(--radest-paper);
	border-bottom: 1px solid var(--radest-divider);
	transition: box-shadow var(--radest-dur) var(--radest-ease);
}

.radest-header.is-stuck {
	box-shadow: var(--radest-shadow-md);
}

/* La cabecera va a ancho completo: solo el gutter la separa del borde. */
.radest-header__inner {
	display: flex;
	align-items: center;
	gap: var(--radest-sp-5);
	min-height: var(--radest-header-h);
	padding-inline: var(--radest-gutter);
	max-width: none;
}

.radest-header__brand {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	text-decoration: none;
	/* Area de seguridad del logotipo: la altura de la nota musical. */
	padding-block: var(--radest-sp-3);
	padding-right: var(--radest-sp-4);
}

.radest-header__brand svg,
.radest-header__brand img {
	display: block;
	/* Minimo digital del manual: 120px de ancho. */
	width: clamp(150px, 16vw, 210px);
	height: auto;
}

.radest-header__nav {
	flex: 1 1 auto;
	min-width: 0;
}

.radest-header__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: var(--radest-sp-2);
}

.radest-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--radest-text);
	cursor: pointer;
	transition: background var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease);
}

.radest-iconbtn:hover {
	background: var(--radest-surface);
	color: var(--radest-accent-text);
}

.radest-iconbtn svg {
	display: block;
	width: 22px;
	height: 22px;
}

.radest-iconbtn--burger {
	display: none;
}

/* --- Menu de escritorio --- */
.radest-menu,
.radest-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radest-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

.radest-menu > li {
	position: relative;
}

.radest-menu > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 12px 14px;
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--radest-text);
	white-space: nowrap;
	transition: color var(--radest-dur) var(--radest-ease);
}

.radest-menu > li > a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 6px;
	height: 2px;
	background: var(--radest-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--radest-dur) var(--radest-ease);
}

.radest-menu > li > a:hover,
.radest-menu > li:focus-within > a {
	color: var(--radest-accent-text);
}

.radest-menu > li > a:hover::after,
.radest-menu > li:focus-within > a::after,
.radest-menu > li.current-menu-item > a::after,
.radest-menu > li.current-menu-ancestor > a::after,
.radest-menu > li.current-menu-parent > a::after {
	transform: scaleX(1);
}

.radest-menu > li.current-menu-item > a,
.radest-menu > li.current-menu-ancestor > a,
.radest-menu > li.current-menu-parent > a {
	color: var(--radest-accent-text);
}

.radest-menu__caret {
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
	transition: transform var(--radest-dur) var(--radest-ease);
}

/* --- Submenus desplegables --- */
.radest-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	padding: var(--radest-sp-2) 0;
	background: var(--radest-ink);
	border-top: 3px solid var(--radest-accent);
	box-shadow: var(--radest-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--radest-dur) var(--radest-ease),
		transform var(--radest-dur) var(--radest-ease),
		visibility var(--radest-dur);
}

.radest-menu li:hover > .sub-menu,
.radest-menu li:focus-within > .sub-menu,
.radest-menu li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.radest-menu li:hover > a .radest-menu__caret,
.radest-menu li.is-open > a .radest-menu__caret {
	transform: rotate(180deg);
}

.radest-menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-medium);
	text-decoration: none;
	color: var(--radest-n-300);
	transition: background var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease);
}

.radest-menu .sub-menu a:hover,
.radest-menu .sub-menu a:focus-visible {
	background: var(--radest-accent);
	color: var(--radest-paper);
}

/* Submenus de tercer nivel */
.radest-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	border-top: 0;
	border-left: 3px solid var(--radest-accent);
}

/* --- Buscador desplegable --- */
.radest-searchdrop {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	background: var(--radest-ink);
	transition: grid-template-rows var(--radest-dur) var(--radest-ease);
}

.radest-searchdrop.is-open {
	grid-template-rows: 1fr;
}

.radest-searchdrop__inner {
	min-height: 0;
}

.radest-searchdrop__pad {
	padding: var(--radest-sp-5) var(--radest-gutter);
}

.radest-searchdrop .radest-searchform__field {
	background: transparent;
	border-color: var(--radest-n-700);
	color: var(--radest-paper);
	font-size: var(--radest-fs-lg);
	padding-block: 14px;
}

.radest-searchdrop .radest-searchform__field::placeholder {
	color: var(--radest-n-500);
}

.radest-searchdrop .radest-searchform__submit {
	background: var(--radest-accent);
}

.radest-searchdrop .radest-searchform__submit:hover {
	background: var(--radest-red-600);
}

/* ==========================================================================
   9. PANEL MOVIL A PANTALLA COMPLETA
   ========================================================================== */

.radest-mobile {
	position: fixed;
	inset: 0;
	z-index: var(--radest-z-panel);
	display: flex;
	flex-direction: column;
	background: var(--radest-ink);
	color: var(--radest-paper);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform var(--radest-dur) var(--radest-ease),
		visibility var(--radest-dur);
	overscroll-behavior: contain;
}

.radest-mobile.is-open {
	transform: translateX(0);
	visibility: visible;
}

.radest-mobile__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--radest-sp-4);
	padding: var(--radest-sp-4) var(--radest-gutter);
	border-bottom: 1px solid var(--radest-n-800);
	flex: 0 0 auto;
}

.radest-mobile__top svg.radest-logo {
	width: 160px;
	height: auto;
}

.radest-mobile__close {
	color: var(--radest-paper);
}

.radest-mobile__close:hover {
	background: var(--radest-n-900);
	color: var(--radest-accent);
}

.radest-mobile__body {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: var(--radest-sp-5) var(--radest-gutter) var(--radest-sp-8);
}

.radest-mobile__search {
	margin-bottom: var(--radest-sp-5);
}

.radest-mobile__search .radest-searchform__field {
	background: transparent;
	border-color: var(--radest-n-700);
	color: var(--radest-paper);
}

.radest-mobile__search .radest-searchform__field::placeholder {
	color: var(--radest-n-500);
}

.radest-mobile__search .radest-searchform__submit {
	background: var(--radest-accent);
}

/* --- Acordeon movil --- */
.radest-mmenu,
.radest-mmenu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radest-mmenu > li {
	border-bottom: 1px solid var(--radest-n-800);
}

/* Un ítem de primer nivel: enlace directo, o —si tiene submenú— el enlace
   dentro de .radest-mmenu__row. Ambos comparten el mismo aspecto (blanco,
   negrita, sin subrayado) para que el padre no se vea distinto a sus hermanos. */
.radest-mmenu > li > a,
.radest-mmenu__row > a {
	display: block;
	padding: 16px 0;
	font-size: 1.25rem;
	font-weight: var(--radest-fw-black);
	letter-spacing: -0.01em;
	line-height: 1.2;
	text-decoration: none;
	color: var(--radest-paper);
}

.radest-mmenu > li > a:hover,
.radest-mmenu__row > a:hover,
.radest-mmenu > li.current-menu-item > a,
.radest-mmenu > li.current-menu-ancestor > .radest-mmenu__row > a,
.radest-mmenu > li.current-menu-parent > .radest-mmenu__row > a {
	color: var(--radest-red-400);
}

.radest-mmenu__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--radest-sp-3);
}

.radest-mmenu__row > a {
	flex: 1 1 auto;
	min-width: 0;
}

.radest-mmenu__toggle {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border: 1px solid var(--radest-n-800);
	background: transparent;
	color: var(--radest-paper);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.radest-mmenu__toggle svg {
	width: 18px;
	height: 18px;
	transition: transform var(--radest-dur) var(--radest-ease);
}

.radest-mmenu__toggle[aria-expanded="true"] {
	background: var(--radest-accent);
	border-color: var(--radest-accent);
}

.radest-mmenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.radest-mmenu .sub-menu {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows var(--radest-dur) var(--radest-ease);
}

.radest-mmenu .sub-menu.is-open {
	grid-template-rows: 1fr;
}

.radest-mmenu__subinner {
	min-height: 0;
}

.radest-mmenu .sub-menu a {
	display: block;
	padding: 11px 0 11px var(--radest-sp-4);
	border-left: 2px solid var(--radest-accent);
	margin-bottom: var(--radest-sp-1);
	font-size: var(--radest-fs-base);
	font-weight: var(--radest-fw-medium);
	text-decoration: none;
	color: var(--radest-n-300);
}

.radest-mmenu .sub-menu a:hover {
	color: var(--radest-paper);
}

.radest-mmenu__sublist {
	padding-bottom: var(--radest-sp-4);
}

/* ==========================================================================
   10. HERO — ultima publicacion
   ========================================================================== */

.radest-hero {
	position: relative;
	background: var(--radest-ink);
	color: var(--radest-paper);
	overflow: hidden;
}

.radest-hero__grid {
	display: grid;
	/* minmax(0,...) para que el contenido pueda encogerse sin recortarse. */
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
	min-height: clamp(360px, 56vh, 620px);
}

/* Imagen sangrada al borde de la ventana. */
.radest-hero__media {
	position: relative;
	min-height: clamp(220px, 34vh, 620px);
	background: var(--radest-n-900);
	overflow: hidden;
}

.radest-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.radest-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(32, 30, 29, 0.55) 0%, rgba(32, 30, 29, 0) 45%);
	pointer-events: none;
}

.radest-hero__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--radest-sp-4);
	padding: clamp(28px, 5vw, 72px) var(--radest-gutter) clamp(28px, 5vw, 72px) clamp(28px, 4vw, 64px);
	min-width: 0;
}

.radest-hero__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--radest-sp-3);
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--radest-n-400);
}

/* El titular llena su columna: se escala con el ancho disponible. */
.radest-hero__title {
	margin: 0;
	font-size: var(--radest-fs-hero);
	font-weight: var(--radest-fw-black);
	line-height: 1.03;
	letter-spacing: -0.03em;
	hyphens: manual;
	text-wrap: balance;
}

.radest-hero__title a {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(var(--radest-accent), var(--radest-accent));
	background-size: 0% 3px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size var(--radest-dur) var(--radest-ease);
}

.radest-hero__title a:hover,
.radest-hero__title a:focus-visible {
	color: inherit;
	background-size: 100% 3px;
}

.radest-hero__excerpt {
	margin: 0;
	max-width: 52ch;
	font-size: var(--radest-fs-base);
	line-height: 1.6;
	color: var(--radest-n-300);
}

.radest-hero__cta {
	margin-top: var(--radest-sp-2);
	align-self: flex-start;
}

/* Franja de acento al pie del hero: elemento grafico de marca. */
.radest-hero__band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	display: flex;
	z-index: 2;
}

.radest-hero--reverse .radest-hero__media {
	order: 2;
}

@media (max-width: 900px) {
	.radest-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.radest-hero__media {
		min-height: clamp(200px, 42vw, 340px);
		order: -1;
	}

	.radest-hero--reverse .radest-hero__media {
		order: -1;
	}

	.radest-hero__media::after {
		background: linear-gradient(180deg, rgba(32, 30, 29, 0) 40%, rgba(32, 30, 29, 0.5) 100%);
	}
}

/* ==========================================================================
   11. TARJETAS Y GRILLA
   ========================================================================== */

.radest-grid {
	display: grid;
	/* minmax(0, 1fr) evita el piso min-content que recorta en movil. */
	grid-template-columns: repeat(var(--radest-cols, 3), minmax(0, 1fr));
	gap: var(--radest-sp-6) var(--radest-sp-5);
}

@media (max-width: 1024px) {
	.radest-grid {
		grid-template-columns: repeat(min(var(--radest-cols, 3), 2), minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.radest-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--radest-sp-5);
	}
}

.radest-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: transparent;
}

.radest-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--radest-surface);
	margin-bottom: var(--radest-sp-3);
}

.radest-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s var(--radest-ease);
}

.radest-card:hover .radest-card__media img {
	transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
	.radest-card:hover .radest-card__media img {
		transform: none;
	}
}

.radest-card__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
}

.radest-card__media--empty svg {
	width: 34%;
	height: auto;
	opacity: 0.16;
}

.radest-card__cat {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
}

.radest-card__title {
	margin: 0 0 var(--radest-sp-2);
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-black);
	line-height: 1.18;
	letter-spacing: -0.015em;
	hyphens: manual;
}

.radest-card__title a {
	color: var(--radest-text);
	text-decoration: none;
}

.radest-card__title a:hover {
	color: var(--radest-accent-text);
}

.radest-card__excerpt {
	margin: 0 0 var(--radest-sp-3);
	font-size: var(--radest-fs-sm);
	line-height: 1.55;
	color: var(--radest-text-soft);
}

.radest-card__meta {
	margin-top: auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
	padding-top: var(--radest-sp-2);
	border-top: 1px solid var(--radest-divider);
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
}

/* --- Variante horizontal, para listas --- */
.radest-card--row {
	flex-direction: row;
	gap: var(--radest-sp-4);
	align-items: flex-start;
	padding-bottom: var(--radest-sp-4);
	border-bottom: 1px solid var(--radest-divider);
}

.radest-card--row .radest-card__media {
	flex: 0 0 clamp(96px, 26%, 176px);
	aspect-ratio: 4 / 3;
	margin-bottom: 0;
}

.radest-card--row .radest-card__body {
	flex: 1 1 auto;
	min-width: 0;
}

.radest-card--row .radest-card__title {
	font-size: var(--radest-fs-base);
}

/* --- Variante destacada --- */
.radest-card--feature .radest-card__media {
	aspect-ratio: 16 / 9;
}

.radest-card--feature .radest-card__title {
	font-size: var(--radest-fs-xl);
}

/* --- Lista numerada --- */
.radest-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--radest-sp-4);
}

.radest-list__item {
	display: flex;
	gap: var(--radest-sp-4);
	align-items: flex-start;
	padding-bottom: var(--radest-sp-4);
	border-bottom: 1px solid var(--radest-divider);
}

.radest-list__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.radest-list__num {
	flex: 0 0 auto;
	font-size: 1.5rem;
	font-weight: var(--radest-fw-black);
	line-height: 1;
	color: var(--radest-accent);
	min-width: 1.6em;
	font-variant-numeric: tabular-nums;
}

.radest-list__body {
	flex: 1 1 auto;
	min-width: 0;
}

.radest-list__title {
	margin: 0 0 4px;
	font-size: var(--radest-fs-base);
	font-weight: var(--radest-fw-bold);
	line-height: 1.25;
}

.radest-list__title a {
	color: var(--radest-text);
	text-decoration: none;
}

.radest-list__title a:hover {
	color: var(--radest-accent-text);
}

.radest-list__meta {
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
}

/* ==========================================================================
   12. PAGINACION
   ========================================================================== */

.radest-pagination {
	margin-top: var(--radest-sp-7);
}

.radest-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
	align-items: center;
	justify-content: center;
}

.radest-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding-inline: 12px;
	border: 1px solid var(--radest-divider);
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	text-decoration: none;
	color: var(--radest-text);
	transition: background var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

.radest-pagination .page-numbers:hover {
	border-color: var(--radest-ink);
	background: var(--radest-surface);
	color: var(--radest-text);
}

.radest-pagination .page-numbers.current {
	background: var(--radest-accent);
	border-color: var(--radest-accent);
	color: var(--radest-paper);
}

.radest-pagination .page-numbers.dots {
	border-color: transparent;
}

/* ==========================================================================
   13. ARCHIVO TIPO CALENDARIO
   ========================================================================== */

.radest-calendar__years {
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-1);
	margin-bottom: var(--radest-sp-5);
	border-bottom: 2px solid var(--radest-ink);
	padding-bottom: 0;
}

.radest-calendar__year {
	appearance: none;
	padding: 11px 18px;
	border: 0;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	background: transparent;
	font-family: var(--radest-font);
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.06em;
	color: var(--radest-text-soft);
	cursor: pointer;
	font-variant-numeric: tabular-nums;
	transition: color var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

.radest-calendar__year:hover {
	color: var(--radest-text);
}

.radest-calendar__year[aria-selected="true"] {
	color: var(--radest-accent-text);
	border-bottom-color: var(--radest-accent);
}

.radest-calendar__panel[hidden] {
	display: none;
}

.radest-calendar__months {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--radest-sp-3);
}

@media (max-width: 900px) {
	.radest-calendar__months {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.radest-calendar__months {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.radest-calendar__month {
	display: flex;
	flex-direction: column;
	gap: var(--radest-sp-1);
	padding: var(--radest-sp-4);
	background: var(--radest-surface);
	border: 1px solid transparent;
	border-left: 3px solid var(--radest-divider-strong);
	text-decoration: none;
	color: var(--radest-text);
	min-width: 0;
	transition: background var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

a.radest-calendar__month:hover {
	background: var(--radest-ink);
	border-left-color: var(--radest-accent);
	color: var(--radest-paper);
}

.radest-calendar__month--empty {
	opacity: 0.5;
	border-left-color: var(--radest-divider);
	pointer-events: none;
}

.radest-calendar__mname {
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.radest-calendar__mcount {
	font-size: 1.75rem;
	font-weight: var(--radest-fw-black);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--radest-accent-text);
}

a.radest-calendar__month:hover .radest-calendar__mcount {
	color: var(--radest-red-400);
}

.radest-calendar__mlabel {
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
}

a.radest-calendar__month:hover .radest-calendar__mlabel {
	color: var(--radest-n-400);
}

/* --- Calendario al pie de la sección (búsqueda por fecha) --- */
.radest-archive-cal {
	background: var(--radest-surface);
	border-top: 1px solid var(--radest-divider);
	padding-block: var(--radest-sp-7);
}

/* Sobre la franja gris, las tarjetas de mes van en papel para que contrasten. */
.radest-archive-cal .radest-calendar__month {
	background: var(--radest-bg);
}

.radest-archive-cal .radest-calendar__month--empty {
	background: transparent;
}

/* ==========================================================================
   14. ENCABEZADO DE ARCHIVO Y BUSQUEDA
   ========================================================================== */

.radest-pagehead {
	background: var(--radest-ink);
	color: var(--radest-paper);
	padding-block: clamp(28px, 5vw, 64px);
	position: relative;
	overflow: hidden;
}

.radest-pagehead__kicker {
	display: block;
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--radest-red-400);
	margin-bottom: var(--radest-sp-2);
}

.radest-pagehead__title {
	margin: 0;
	font-size: var(--radest-fs-2xl);
	hyphens: manual;
}

.radest-pagehead__desc {
	margin: var(--radest-sp-3) 0 0;
	max-width: 62ch;
	color: var(--radest-n-300);
	font-size: var(--radest-fs-base);
}

.radest-pagehead__band {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	display: flex;
}

.radest-pagehead__search {
	margin-top: var(--radest-sp-5);
	max-width: 520px;
}

.radest-pagehead__search .radest-searchform__field {
	background: transparent;
	border-color: var(--radest-n-700);
	color: var(--radest-paper);
}

.radest-pagehead__search .radest-searchform__field::placeholder {
	color: var(--radest-n-500);
}

.radest-pagehead__search .radest-searchform__submit {
	background: var(--radest-accent);
}

/* --- Migas --- */
.radest-breadcrumb {
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
	margin-bottom: var(--radest-sp-3);
}

.radest-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.radest-breadcrumb a:hover {
	color: var(--radest-accent-text);
	text-decoration: underline;
}

.radest-breadcrumb__sep {
	margin-inline: 6px;
	color: var(--radest-divider-strong);
}

/* --- Sin resultados --- */
.radest-empty {
	padding: var(--radest-sp-8) 0;
	text-align: center;
}

.radest-empty svg {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--radest-sp-4);
	color: var(--radest-divider-strong);
}

.radest-empty__title {
	font-size: var(--radest-fs-xl);
	margin-bottom: var(--radest-sp-3);
}

.radest-empty__form {
	max-width: 420px;
	margin: var(--radest-sp-5) auto 0;
}

/* ==========================================================================
   15. ENTRADA INDIVIDUAL
   ========================================================================== */

.radest-single {
	/* Diagramación a una sola columna centrada. Cada bloque interno se centra
	   con su propio wrap (lectura o imagen); aquí solo el respiro vertical. */
	padding-block: var(--radest-sp-7) var(--radest-sp-8);
}

.radest-single__head {
	margin-bottom: var(--radest-sp-6);
}

.radest-single__cats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
	margin-bottom: var(--radest-sp-4);
}

.radest-single__title {
	margin: 0 0 var(--radest-sp-4);
	font-size: clamp(1.875rem, 1.1rem + 2.9vw, 3.25rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
	hyphens: manual;
}

.radest-single__lead {
	margin: 0 0 var(--radest-sp-5);
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-light);
	line-height: 1.5;
	color: var(--radest-text-soft);
}

.radest-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--radest-sp-3);
	padding-block: var(--radest-sp-3);
	border-top: 2px solid var(--radest-ink);
	border-bottom: 1px solid var(--radest-divider);
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
}

.radest-single__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.radest-single__meta-item svg {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	color: var(--radest-accent);
}

.radest-single__thumb {
	margin: 0 0 var(--radest-sp-6);
}

.radest-single__thumb img {
	width: 100%;
	height: auto;
}

.radest-single__caption {
	margin-top: var(--radest-sp-2);
	padding-left: var(--radest-sp-3);
	border-left: 3px solid var(--radest-accent);
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-mute);
}

/* --- Cuerpo del articulo --- */
/* El ancho de lectura lo fija el wrap contenedor (.radest-wrap--read); el
   cuerpo ocupa todo ese ancho para quedar alineado con la imagen y la meta. */
.radest-content {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.radest-content > * {
	margin-bottom: var(--radest-sp-4);
}

.radest-content h2 {
	margin-top: var(--radest-sp-7);
	font-size: var(--radest-fs-xl);
}

.radest-content h3 {
	margin-top: var(--radest-sp-6);
	font-size: var(--radest-fs-lg);
}

.radest-content img,
.radest-content figure {
	max-width: 100%;
	height: auto;
}

.radest-content figcaption {
	margin-top: var(--radest-sp-2);
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-mute);
}

.radest-content a {
	font-weight: var(--radest-fw-medium);
}

/* Imagen del contenido: cursor de lupa, la abre el visor propio. */
.radest-content img[data-radest-zoom] {
	cursor: zoom-in;
}

.radest-content ul li::marker {
	color: var(--radest-accent);
}

/* --- Barra de progreso de lectura --- */
.radest-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: var(--radest-accent);
	z-index: 1100;
	transition: width 0.08s linear;
	pointer-events: none;
}

/* --- Compartir --- */
.radest-share {
	margin-top: var(--radest-sp-7);
	padding-top: var(--radest-sp-4);
	border-top: 2px solid var(--radest-ink);
}

.radest-share__label {
	display: block;
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
	margin-bottom: var(--radest-sp-3);
}

.radest-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
}

.radest-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 44px;
	height: 44px;
	border: 1px solid var(--radest-divider-strong);
	background: transparent;
	color: var(--radest-text);
	text-decoration: none;
	cursor: pointer;
	transition: background var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

.radest-share__btn:hover {
	background: var(--radest-ink);
	border-color: var(--radest-ink);
	color: var(--radest-paper);
}

.radest-share__btn svg {
	width: 19px;
	height: 19px;
}

.radest-share__btn.is-copied {
	background: var(--radest-accent);
	border-color: var(--radest-accent);
	color: var(--radest-paper);
}

/* --- Etiquetas --- */
.radest-tags {
	margin-top: var(--radest-sp-5);
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
	align-items: center;
}

/* --- Navegacion entre entradas --- */
.radest-postnav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--radest-sp-4);
	margin-top: var(--radest-sp-7);
}

@media (max-width: 620px) {
	.radest-postnav {
		grid-template-columns: minmax(0, 1fr);
	}
}

.radest-postnav__item {
	display: block;
	padding: var(--radest-sp-4);
	background: var(--radest-surface);
	border-left: 3px solid var(--radest-accent);
	text-decoration: none;
	color: var(--radest-text);
	min-width: 0;
	transition: background var(--radest-dur) var(--radest-ease);
}

.radest-postnav__item:hover {
	background: var(--radest-ink);
	color: var(--radest-paper);
}

.radest-postnav__item--next {
	border-left: 0;
	border-right: 3px solid var(--radest-accent);
	text-align: right;
}

.radest-postnav__dir {
	display: block;
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--radest-accent-text);
	margin-bottom: 6px;
}

.radest-postnav__item:hover .radest-postnav__dir {
	color: var(--radest-red-400);
}

.radest-postnav__title {
	font-size: var(--radest-fs-base);
	font-weight: var(--radest-fw-bold);
	line-height: 1.3;
}

/* --- Barra lateral --- */
.radest-sidebar {
	position: sticky;
	top: calc(var(--radest-header-h) + var(--radest-sp-4));
	display: flex;
	flex-direction: column;
	gap: var(--radest-sp-6);
	min-width: 0;
}

@media (max-width: 1024px) {
	.radest-sidebar {
		position: static;
	}
}

.radest-widget__title {
	margin: 0 0 var(--radest-sp-3);
	padding-bottom: var(--radest-sp-2);
	border-bottom: 2px solid var(--radest-ink);
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-black);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.radest-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radest-widget li {
	padding: 9px 0;
	border-bottom: 1px solid var(--radest-divider);
	font-size: var(--radest-fs-sm);
}

.radest-widget li a {
	color: var(--radest-text);
	text-decoration: none;
}

.radest-widget li a:hover {
	color: var(--radest-accent-text);
}

/* --- Relacionadas al pie del artículo, a ancho completo --- */
.radest-related {
	margin-top: var(--radest-sp-8);
	padding-top: var(--radest-sp-7);
	border-top: 1px solid var(--radest-divider);
}

/* ==========================================================================
   16. VISOR DE IMAGENES (lightbox)
   ========================================================================== */

.radest-lightbox {
	position: fixed;
	inset: 0;
	z-index: var(--radest-z-lightbox);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(32, 30, 29, 0.96);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--radest-dur) var(--radest-ease), visibility var(--radest-dur);
}

.radest-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.radest-lightbox__figure {
	margin: 0;
	max-width: min(92vw, 1400px);
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--radest-sp-3);
}

.radest-lightbox__img {
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
}

.radest-lightbox__caption {
	color: var(--radest-n-300);
	font-size: var(--radest-fs-sm);
	text-align: center;
	max-width: 70ch;
}

.radest-lightbox__count {
	color: var(--radest-n-500);
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.12em;
	font-variant-numeric: tabular-nums;
}

.radest-lightbox__btn {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(243, 242, 242, 0.28);
	background: transparent;
	color: var(--radest-paper);
	cursor: pointer;
	transition: background var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease);
}

.radest-lightbox__btn:hover {
	background: var(--radest-accent);
	border-color: var(--radest-accent);
}

.radest-lightbox__btn svg {
	width: 24px;
	height: 24px;
}

.radest-lightbox__close {
	top: var(--radest-sp-4);
	right: var(--radest-sp-4);
}

.radest-lightbox__prev {
	left: var(--radest-sp-4);
	top: 50%;
	transform: translateY(-50%);
}

.radest-lightbox__next {
	right: var(--radest-sp-4);
	top: 50%;
	transform: translateY(-50%);
}

.radest-lightbox__btn[hidden] {
	display: none;
}

@media (max-width: 620px) {
	.radest-lightbox__prev {
		left: var(--radest-sp-2);
	}

	.radest-lightbox__next {
		right: var(--radest-sp-2);
	}

	.radest-lightbox__btn {
		width: 44px;
		height: 44px;
	}
}

/* ==========================================================================
   17. ESTACION TV
   ========================================================================== */

.radest-tv {
	background: var(--radest-ink);
	color: var(--radest-paper);
	padding-block: var(--radest-sp-6);
}

.radest-tv__head {
	display: flex;
	align-items: center;
	gap: var(--radest-sp-3);
	margin-bottom: var(--radest-sp-4);
}

.radest-tv__title {
	margin: 0;
	font-size: var(--radest-fs-lg);
	letter-spacing: 0.02em;
}

.radest-tv__live {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 10px;
	background: var(--radest-accent);
	color: var(--radest-paper);
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.radest-tv__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--radest-paper);
	animation: radest-pulse 1.8s var(--radest-ease) infinite;
}

@keyframes radest-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.25; }
}

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

.radest-tv__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	overflow: hidden;
}

.radest-tv__frame video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

.radest-tv__poster {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--radest-sp-3);
	background: var(--radest-n-900);
	border: 0;
	color: var(--radest-paper);
	cursor: pointer;
	font-family: var(--radest-font);
}

.radest-tv__poster img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.5;
}

.radest-tv__play {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--radest-accent);
	transition: transform var(--radest-dur) var(--radest-ease);
}

.radest-tv__poster:hover .radest-tv__play {
	transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
	.radest-tv__poster:hover .radest-tv__play {
		transform: none;
	}
}

.radest-tv__play svg {
	width: 30px;
	height: 30px;
	margin-left: 4px;
}

.radest-tv__playlabel {
	position: relative;
	font-size: var(--radest-fs-sm);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.radest-tv__note {
	margin: var(--radest-sp-3) 0 0;
	font-size: var(--radest-fs-sm);
	color: var(--radest-n-400);
}

.radest-tv__note a {
	color: var(--radest-red-400);
}

/* ==========================================================================
   17b. PARRILLA DE PROGRAMACIÓN
   ========================================================================== */

.radest-schedule__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.radest-schedule__item {
	display: flex;
	align-items: center;
	gap: var(--radest-sp-5);
	padding: var(--radest-sp-4) 0;
	border-bottom: 1px solid var(--radest-divider);
	min-width: 0;
}

.radest-schedule__item:first-child {
	border-top: 2px solid var(--radest-ink);
}

.radest-schedule__time {
	flex: 0 0 clamp(120px, 20%, 180px);
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.radest-schedule__hours {
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-black);
	line-height: 1;
	color: var(--radest-accent-text);
	font-variant-numeric: tabular-nums;
}

.radest-schedule__days {
	font-size: var(--radest-fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
}

.radest-schedule__photo {
	flex: 0 0 auto;
}

.radest-schedule__photo img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 50%;
}

.radest-schedule__body {
	flex: 1 1 auto;
	min-width: 0;
}

.radest-schedule__program {
	margin: 0 0 2px;
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-bold);
	line-height: 1.15;
}

.radest-schedule__host {
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-soft);
}

@media (max-width: 560px) {
	.radest-schedule__item {
		flex-wrap: wrap;
		gap: var(--radest-sp-2) var(--radest-sp-4);
	}

	.radest-schedule__time {
		flex-basis: 100%;
		flex-direction: row;
		align-items: baseline;
		gap: var(--radest-sp-3);
	}
}

/* ==========================================================================
   17c. TARIFAS (widget Elementor)
   ========================================================================== */

.radest-rates__intro {
	max-width: 68ch;
	margin: 0 0 var(--radest-sp-6);
	color: var(--radest-text-soft);
}

.radest-rates__grid {
	display: grid;
	grid-template-columns: repeat(var(--radest-cols, 3), minmax(0, 1fr));
	gap: var(--radest-sp-5);
}

@media (max-width: 1024px) {
	.radest-rates__grid {
		grid-template-columns: repeat(min(var(--radest-cols, 3), 2), minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.radest-rates__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.radest-rate-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: var(--radest-sp-5);
	background: var(--radest-surface);
	border-top: 3px solid var(--radest-ink);
}

/* Tarjeta destacada: se invierte a tinta con el borde de acento. */
.radest-rate-card--featured {
	background: var(--radest-ink);
	color: var(--radest-paper);
	border-top-color: var(--radest-accent);
}

.radest-rate-card__badge {
	position: absolute;
	top: 0;
	right: var(--radest-sp-4);
	transform: translateY(-50%);
	padding: 5px 12px;
	background: var(--radest-accent);
	color: var(--radest-paper);
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
}

.radest-rate-card__head {
	margin-bottom: var(--radest-sp-4);
	padding-bottom: var(--radest-sp-3);
	border-bottom: 1px solid var(--radest-divider);
}

.radest-rate-card--featured .radest-rate-card__head {
	border-bottom-color: var(--radest-n-800);
}

.radest-rate-card__kicker {
	display: block;
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--radest-accent-text);
	margin-bottom: var(--radest-sp-1);
}

.radest-rate-card--featured .radest-rate-card__kicker {
	color: var(--radest-red-400);
}

.radest-rate-card__title {
	margin: 0;
	font-size: var(--radest-fs-xl);
	font-weight: var(--radest-fw-black);
	line-height: 1.1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.radest-rate-card__subtitle {
	display: block;
	margin-top: var(--radest-sp-1);
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-mute);
}

.radest-rate-card--featured .radest-rate-card__subtitle {
	color: var(--radest-n-400);
}

.radest-rate-card__rows {
	list-style: none;
	margin: 0 0 auto;
	padding: 0;
}

.radest-rate-card__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--radest-sp-3);
	padding: 10px 0;
	border-bottom: 1px solid var(--radest-divider);
}

.radest-rate-card--featured .radest-rate-card__row {
	border-bottom-color: var(--radest-n-900);
}

.radest-rate-card__row:last-child {
	border-bottom: 0;
}

.radest-rate-card__label {
	font-size: var(--radest-fs-sm);
	min-width: 0;
}

.radest-rate-card__value {
	flex: 0 0 auto;
	font-size: var(--radest-fs-lg);
	font-weight: var(--radest-fw-black);
	line-height: 1;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.radest-rate-card__cur {
	font-size: 0.7em;
	font-weight: var(--radest-fw-bold);
	color: var(--radest-accent-text);
	margin-right: 1px;
}

.radest-rate-card--featured .radest-rate-card__cur {
	color: var(--radest-red-400);
}

.radest-rate-card__note {
	margin: var(--radest-sp-3) 0 0;
	font-size: var(--radest-fs-xs);
	color: var(--radest-text-mute);
	line-height: 1.4;
}

.radest-rate-card--featured .radest-rate-card__note {
	color: var(--radest-n-400);
}

.radest-rates__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--radest-sp-4);
	margin-top: var(--radest-sp-6);
	padding-top: var(--radest-sp-4);
	border-top: 2px solid var(--radest-ink);
}

.radest-rates__note {
	margin: 0;
	flex: 1 1 320px;
	min-width: 0;
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-mute);
}

/* Blindaje frente al kit global de Elementor. */
.elementor .radest-rate-card__title,
body .radest-rate-card__title,
.elementor .radest-rate-card__value,
body .radest-rate-card__value {
	font-family: var(--radest-font);
	color: inherit;
}

.elementor .radest-rate-card--featured,
body .radest-rate-card--featured {
	background-color: var(--radest-ink);
	color: var(--radest-paper);
}

.elementor-widget-radest-tarifas .elementor-widget-container {
	min-width: 0;
}

/* ==========================================================================
   18. PUBLICIDAD
   ========================================================================== */

.radest-ad {
	display: block;
	margin-block: var(--radest-sp-5);
	text-align: center;
	min-width: 0;
}

.radest-ad__link {
	display: inline-block;
	max-width: 100%;
	text-decoration: none;
	line-height: 0;
}

/* El anuncio conserva su proporcion: nada de object-fit cover,
   que recortaria el mensaje del anunciante. */
.radest-ad__img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	margin-inline: auto;
}

.radest-ad__label {
	display: block;
	margin-bottom: 6px;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--radest-text-mute);
	line-height: 1;
}

/* --- Banner generado (sin imagen) --- */
.radest-ad__banner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--radest-sp-2);
	width: 100%;
	padding: var(--radest-sp-5);
	background: var(--radest-ink);
	color: var(--radest-paper);
	text-align: left;
	position: relative;
	overflow: hidden;
	min-height: 140px;
}

.radest-ad__banner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 8px;
	background: var(--radest-accent);
}

.radest-ad__banner-kicker {
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-bold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--radest-red-400);
}

.radest-ad__banner-title {
	margin: 0;
	font-size: var(--radest-fs-lg);
	line-height: 1.15;
	hyphens: manual;
}

.radest-ad__banner-text {
	margin: 0;
	font-size: var(--radest-fs-sm);
	color: var(--radest-n-300);
	max-width: 46ch;
}

.radest-ad__banner-cta {
	margin-top: var(--radest-sp-2);
}

.radest-ad--sidebar .radest-ad__banner {
	min-height: 220px;
}

/* ==========================================================================
   19. PIE
   ========================================================================== */

.radest-footer {
	margin-top: auto;
	background: var(--radest-ink);
	color: var(--radest-n-300);
	font-size: var(--radest-fs-sm);
}

/* Franja de las tintas de marca al tope del pie. */
.radest-footer__band {
	display: flex;
	height: 10px;
}

.radest-footer__band span {
	flex: 1 1 0;
}

.radest-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: var(--radest-sp-6);
	padding-block: var(--radest-sp-7);
}

@media (max-width: 1024px) {
	.radest-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.radest-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--radest-sp-5);
	}
}

.radest-footer__brand svg {
	width: 220px;
	max-width: 100%;
	height: auto;
	margin-bottom: var(--radest-sp-4);
}

.radest-footer__tagline {
	margin: 0;
	max-width: 40ch;
	color: var(--radest-n-400);
	line-height: 1.6;
}

.radest-footer__coltitle {
	margin: 0 0 var(--radest-sp-3);
	font-size: var(--radest-fs-xs);
	font-weight: var(--radest-fw-black);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--radest-paper);
}

.radest-footer__menu,
.radest-footer__menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radest-footer__menu li {
	margin-bottom: var(--radest-sp-2);
}

.radest-footer__menu a {
	color: var(--radest-n-300);
	text-decoration: none;
	transition: color var(--radest-dur) var(--radest-ease);
}

.radest-footer__menu a:hover {
	color: var(--radest-red-400);
}

.radest-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--radest-sp-2);
	margin-top: var(--radest-sp-4);
}

.radest-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--radest-n-800);
	color: var(--radest-n-300);
	transition: background var(--radest-dur) var(--radest-ease),
		border-color var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease);
}

.radest-footer__social a:hover {
	background: var(--radest-accent);
	border-color: var(--radest-accent);
	color: var(--radest-paper);
}

.radest-footer__social svg {
	width: 19px;
	height: 19px;
}

.radest-footer__credit {
	border-top: 1px solid var(--radest-n-800);
	padding-block: var(--radest-sp-4);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--radest-sp-3);
	font-size: var(--radest-fs-xs);
	color: var(--radest-n-500);
}

.radest-footer__credit a {
	color: var(--radest-n-400);
	text-decoration: none;
}

.radest-footer__credit a:hover {
	color: var(--radest-red-400);
}

/* Widgets dentro del pie: heredan el fondo oscuro, así que el texto va claro. */
.radest-footer .radest-widget {
	font-size: var(--radest-fs-sm);
}

.radest-footer .radest-widget__title,
.radest-footer .radest-widget h2 {
	color: var(--radest-paper);
	border-bottom-color: var(--radest-n-800);
}

.radest-footer .radest-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radest-footer .radest-widget li {
	padding: 8px 0;
	border-bottom: 1px solid var(--radest-n-800);
}

.radest-footer .radest-widget a {
	color: var(--radest-n-300);
	text-decoration: none;
}

.radest-footer .radest-widget a:hover {
	color: var(--radest-red-400);
}

.radest-footer .radest-widget .children {
	padding-left: var(--radest-sp-4);
}

/* --- Volver arriba --- */
.radest-totop {
	position: fixed;
	right: var(--radest-sp-4);
	bottom: var(--radest-sp-4);
	z-index: 800;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: var(--radest-ink);
	color: var(--radest-paper);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--radest-dur) var(--radest-ease),
		transform var(--radest-dur) var(--radest-ease),
		visibility var(--radest-dur),
		background var(--radest-dur) var(--radest-ease);
}

.radest-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.radest-totop:hover {
	background: var(--radest-accent);
}

.radest-totop svg {
	width: 20px;
	height: 20px;
}

/* ==========================================================================
   20. PAGINAS Y 404
   ========================================================================== */

.radest-page {
	padding-block: var(--radest-sp-7) var(--radest-sp-8);
}

.radest-404 {
	padding-block: var(--radest-sp-9);
	text-align: center;
}

.radest-404__code {
	font-size: clamp(5rem, 3rem + 14vw, 14rem);
	font-weight: var(--radest-fw-black);
	line-height: 0.85;
	letter-spacing: -0.05em;
	color: var(--radest-accent);
	margin: 0 0 var(--radest-sp-4);
}

.radest-404__title {
	font-size: var(--radest-fs-xl);
	margin-bottom: var(--radest-sp-3);
}

.radest-404__text {
	max-width: 48ch;
	margin-inline: auto;
	color: var(--radest-text-soft);
}

.radest-404__form {
	max-width: 420px;
	margin: var(--radest-sp-6) auto;
}

/* --- Clases de WordPress --- */
.alignleft {
	float: left;
	margin: 0 var(--radest-sp-5) var(--radest-sp-4) 0;
}

.alignright {
	float: right;
	margin: 0 0 var(--radest-sp-4) var(--radest-sp-5);
}

.aligncenter {
	display: block;
	margin-inline: auto;
}

.alignwide,
.alignfull {
	max-width: none;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	font-size: var(--radest-fs-sm);
	color: var(--radest-text-mute);
	margin-top: var(--radest-sp-2);
}

.sticky .radest-card__title::before {
	content: "★ ";
	color: var(--radest-accent);
}

/* ==========================================================================
   21. BLINDAJE FRENTE AL KIT GLOBAL DE ELEMENTOR
   Elementor pisa colores y tipografia del tema con su kit. Estos selectores
   son mas especificos para que los componentes propios conserven la marca.
   ========================================================================== */

.elementor-widget-container .radest-card__title a,
.elementor .radest-card__title a,
body .radest-card__title a {
	color: var(--radest-text);
	font-family: var(--radest-font);
}

.elementor-widget-container .radest-card__title a:hover,
.elementor .radest-card__title a:hover,
body .radest-card__title a:hover {
	color: var(--radest-accent-text);
}

body .radest-btn--primary,
.elementor .radest-btn--primary {
	background-color: var(--radest-accent);
	color: var(--radest-paper);
	font-family: var(--radest-font);
}

body .radest-btn--primary:hover,
.elementor .radest-btn--primary:hover {
	background-color: var(--radest-red-600);
	color: var(--radest-paper);
}

body .radest-tag,
.elementor .radest-tag {
	background-color: var(--radest-accent);
	color: var(--radest-paper);
	font-family: var(--radest-font);
}

body .radest-hero,
.elementor .radest-hero {
	background-color: var(--radest-ink);
	color: var(--radest-paper);
}

body .radest-hero__title,
body .radest-hero__title a,
.elementor .radest-hero__title a {
	color: var(--radest-paper);
	font-family: var(--radest-font);
}

body .radest-footer,
.elementor .radest-footer {
	background-color: var(--radest-ink);
}

body .radest-menu > li > a,
.elementor .radest-menu > li > a {
	font-family: var(--radest-font);
}

body .radest-calendar__month,
.elementor .radest-calendar__month {
	background-color: var(--radest-surface);
	color: var(--radest-text);
}

/* Elementor envuelve los widgets en contenedores que pueden meter overflow. */
.elementor-widget-radest-hero .elementor-widget-container,
.elementor-widget-radest-grid .elementor-widget-container,
.elementor-widget-radest-calendar .elementor-widget-container {
	min-width: 0;
}

/* ==========================================================================
   22. RESPONSIVE — CABECERA
   ========================================================================== */

@media (max-width: 1080px) {
	:root {
		--radest-header-h: 68px;
	}

	.radest-header__nav,
	.radest-header__search-toggle {
		display: none;
	}

	.radest-iconbtn--burger {
		display: inline-flex;
	}

	.radest-header__inner {
		justify-content: space-between;
	}

	.radest-header__brand svg,
	.radest-header__brand img {
		width: clamp(140px, 40vw, 180px);
	}
}

@media (min-width: 1081px) {
	.radest-mobile {
		display: none;
	}
}

/* Pantallas muy anchas: la caja de contenido crece, la cabecera sigue full. */
@media (min-width: 1600px) {
	:root {
		--radest-wrap: 1480px;
		--radest-gutter: 64px;
	}
}

@media (min-width: 1900px) {
	:root {
		--radest-wrap: 1640px;
		--radest-gutter: 80px;
	}

	.radest-hero__grid {
		min-height: 640px;
	}
}

/* ==========================================================================
   23. IMPRESION
   ========================================================================== */

@media print {
	.radest-header,
	.radest-footer,
	.radest-share,
	.radest-postnav,
	.radest-sidebar,
	.radest-totop,
	.radest-ad,
	.radest-mobile,
	.radest-progress {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 12pt;
	}

	.radest-content {
		max-width: none;
	}
}

/* ==========================================================================
   24. PRELOADER
   ========================================================================== */

.radest-preloader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--radest-ink);
	transition: opacity 0.5s var(--radest-ease), visibility 0.5s;
}

.radest-preloader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.radest-preloader__inner {
	text-align: center;
}

.radest-preloader__bars {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 40px;
}

.radest-preloader__bars span {
	display: block;
	width: 4px;
	height: 10px;
	background: var(--radest-accent);
	animation: radest-bar 1s var(--radest-ease) infinite;
}

.radest-preloader__bars span:nth-child(1) { animation-delay: 0s; }
.radest-preloader__bars span:nth-child(2) { animation-delay: 0.1s; }
.radest-preloader__bars span:nth-child(3) { animation-delay: 0.2s; }
.radest-preloader__bars span:nth-child(4) { animation-delay: 0.3s; }
.radest-preloader__bars span:nth-child(5) { animation-delay: 0.4s; }

@keyframes radest-bar {
	0%, 100% { height: 10px; opacity: 0.4; }
	50%      { height: 32px; opacity: 1; }
}

/* ==========================================================================
   25. ANIMACIONES DE SCROLL (reveal al entrar en el viewport)
   ========================================================================== */

/* --- Estado inicial: los elementos empiezan ocultos --- */
.radest-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition:
		opacity 0.7s var(--radest-ease),
		transform 0.7s var(--radest-ease);
}

/* --- Estado revelado --- */
.radest-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* --- Variante: deslizar desde la izquierda --- */
.radest-reveal--left {
	opacity: 0;
	transform: translateX(-40px);
	transition:
		opacity 0.7s var(--radest-ease),
		transform 0.7s var(--radest-ease);
}

.radest-reveal--left.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/* --- Variante: deslizar desde la derecha --- */
.radest-reveal--right {
	opacity: 0;
	transform: translateX(40px);
	transition:
		opacity 0.7s var(--radest-ease),
		transform 0.7s var(--radest-ease);
}

.radest-reveal--right.is-visible {
	opacity: 1;
	transform: translateX(0);
}

/* --- Variante: escala (zoom-in sutil) --- */
.radest-reveal--scale {
	opacity: 0;
	transform: scale(0.92);
	transition:
		opacity 0.6s var(--radest-ease),
		transform 0.6s var(--radest-ease);
}

.radest-reveal--scale.is-visible {
	opacity: 1;
	transform: scale(1);
}

/* --- Retrasos escalonados para items en grilla --- */
.radest-reveal[data-delay="1"] { transition-delay: 0.1s; }
.radest-reveal[data-delay="2"] { transition-delay: 0.2s; }
.radest-reveal[data-delay="3"] { transition-delay: 0.3s; }
.radest-reveal[data-delay="4"] { transition-delay: 0.4s; }
.radest-reveal[data-delay="5"] { transition-delay: 0.5s; }
.radest-reveal--left[data-delay="1"],
.radest-reveal--right[data-delay="1"],
.radest-reveal--scale[data-delay="1"] { transition-delay: 0.1s; }
.radest-reveal--left[data-delay="2"],
.radest-reveal--right[data-delay="2"],
.radest-reveal--scale[data-delay="2"] { transition-delay: 0.2s; }
.radest-reveal--left[data-delay="3"],
.radest-reveal--right[data-delay="3"],
.radest-reveal--scale[data-delay="3"] { transition-delay: 0.3s; }

/* ==========================================================================
   26. MICRO-INTERACCIONES
   ========================================================================== */

/* --- Tarjetas: elevación al hover --- */
.radest-card {
	transition:
		transform 0.3s var(--radest-ease),
		box-shadow 0.3s var(--radest-ease);
}

.radest-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--radest-shadow-lg);
}

/* --- Imagen de tarjeta: zoom suave al hover --- */
.radest-card__thumb img {
	transition: transform 0.5s var(--radest-ease);
}

.radest-card:hover .radest-card__thumb img {
	transform: scale(1.04);
}

.radest-card__thumb {
	overflow: hidden;
}

/* --- Hero: imagen con zoom sutil permanente --- */
.radest-hero__media img {
	transition: transform 8s ease-out;
}

.radest-hero:hover .radest-hero__media img {
	transform: scale(1.03);
}

/* --- Botón primario: micro-animación al hover --- */
.radest-btn--primary {
	transition:
		background-color 0.25s var(--radest-ease),
		color 0.25s var(--radest-ease),
		transform 0.25s var(--radest-ease),
		box-shadow 0.25s var(--radest-ease);
}

.radest-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(236, 48, 19, 0.35);
}

.radest-btn--primary:active {
	transform: translateY(0);
	box-shadow: none;
}

/* --- Flecha del CTA: deslizar al hover --- */
.radest-hero__cta svg,
.radest-section-title__link svg {
	transition: transform 0.25s var(--radest-ease);
}

.radest-hero__cta:hover svg,
.radest-section-title__link:hover svg {
	transform: translateX(4px);
}

/* --- Tag de categoría: pulso de opacidad al hover --- */
.radest-tag {
	transition:
		background-color 0.25s var(--radest-ease),
		transform 0.2s var(--radest-ease);
}

.radest-tag:hover {
	background-color: var(--radest-red-600);
	transform: translateY(-1px);
}

/* --- Enlace "Ver sección": subrayado que crece --- */
.radest-section-title__link {
	position: relative;
	text-decoration: none;
}

.radest-section-title__link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--radest-accent);
	transition: width 0.35s var(--radest-ease);
}

.radest-section-title__link:hover::after {
	width: 100%;
}

/* --- Filete de sección: animación de entrada --- */
.radest-rule {
	transform-origin: left;
	transition: transform 0.6s var(--radest-ease);
}

.radest-reveal .radest-rule,
.radest-reveal--left .radest-rule {
	transform: scaleX(0);
}

.radest-reveal.is-visible .radest-rule,
.radest-reveal--left.is-visible .radest-rule {
	transform: scaleX(1);
}

/* --- Tarjetas de tarifa: hover --- */
.radest-rate-card {
	transition:
		transform 0.3s var(--radest-ease),
		box-shadow 0.3s var(--radest-ease);
}

.radest-rate-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--radest-shadow-lg);
}

/* --- Footer: enlaces con transición suave ya existente, reforzar --- */
.radest-footer__brand {
	transition: opacity 0.5s var(--radest-ease);
}

/* --- Iconos de botones: rotación suave al hover --- */
.radest-iconbtn {
	transition:
		background-color var(--radest-dur) var(--radest-ease),
		color var(--radest-dur) var(--radest-ease),
		transform var(--radest-dur) var(--radest-ease);
}

.radest-iconbtn:hover {
	transform: scale(1.08);
}

.radest-iconbtn:active {
	transform: scale(0.95);
}

/* --- Franja bicolor: shimmer sutil --- */
@keyframes radest-shimmer {
	0%   { background-position: -200% 0; }
	100% { background-position: 200% 0; }
}

.radest-hero__band .radest-band__red {
	background: linear-gradient(
		90deg,
		var(--radest-accent) 0%,
		var(--radest-red-400) 50%,
		var(--radest-accent) 100%
	);
	background-size: 200% 100%;
	animation: radest-shimmer 4s ease-in-out infinite;
}

/* --- Calendario: meses con hover --- */
.radest-calendar__month {
	transition:
		transform 0.3s var(--radest-ease),
		box-shadow 0.3s var(--radest-ease);
}

.radest-calendar__month:hover {
	transform: translateY(-3px);
	box-shadow: var(--radest-shadow-md);
}

/* --- Programa de radio (parrilla): hover --- */
.radest-slot {
	transition:
		background-color 0.3s var(--radest-ease),
		transform 0.3s var(--radest-ease);
}

.radest-slot:hover {
	background-color: var(--radest-n-100);
	transform: translateX(4px);
}

/* ==========================================================================
   27. ACCESIBILIDAD — Deshabilitar animaciones si el usuario lo prefiere
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.radest-preloader__bars span {
		animation: none;
		height: 20px;
		opacity: 0.7;
	}

	.radest-reveal,
	.radest-reveal--left,
	.radest-reveal--right,
	.radest-reveal--scale {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.radest-card,
	.radest-card__thumb img,
	.radest-hero__media img,
	.radest-btn--primary,
	.radest-rate-card,
	.radest-calendar__month,
	.radest-slot,
	.radest-iconbtn {
		transition: none;
	}

	.radest-hero__band .radest-band__red {
		animation: none;
	}
}
