/*
Theme Name: Entresocios Child
Theme URI: https://entresocios.com.ve
Description: Tema hijo de Hello Elementor para la revista Entresocios. Sistema «Blanco & Negro editorial»: monocromo cálido, la fotografía aporta el único color.
Author: Ricardo Marín — EspacioHub
Template: hello-elementor
Version: 0.9.26
Text Domain: entresocios-child
*/

/* ============================================================
   SISTEMA DE COLOR — Blanco & Negro editorial (cálido)
   La UI es monocroma; el color vive SOLO en las fotos.
   Rojo/verde solo como señales de formulario.
   ============================================================ */
:root {
	--es-paper:        #FCFBFA;  /* fondo base (blanco, apenas cálido) */
	--es-surface:      #FFFFFF;  /* tarjetas / superficies elevadas */
	--es-surface-2:    #F0F0EE;  /* fondo alterno = gris muy claro (no beige) */
	--es-ink:          #141311;  /* texto principal / negro */
	--es-ink-soft:     #454341;  /* texto secundario */
	--es-muted:        #86847F;  /* metadatos, etiquetas, placeholders */
	--es-line:         #E7E6E3;  /* hairline */
	--es-line-2:       #D8D7D3;  /* hairline fuerte */
	--es-error:        #B3261E;  /* solo formularios */
	--es-ok:           #2E7D32;  /* solo formularios */

	/* Los Global Colors de Elementor remapeados a B&N, por si
	   algún elemento nativo aún los referencia. */
	--e-global-color-primary:   #14110C;
	--e-global-color-secondary: #14110C;
	--e-global-color-text:      #14110C;
	--e-global-color-accent:    #4A463D;
}

html, body { background: var(--es-paper); }
body { color: var(--es-ink); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* ============================================================
   IMÁGENES — ninguna imagen supera el ALTO DE LA PANTALLA.
   Se reduce manteniendo la proporción. Solo afecta a <img>
   reales; los fondos CSS (hero, tarjetas, equipo) no cambian.
   ============================================================ */
img {
	max-width: 100%;
	max-height: 100vh;
	max-height: 100svh; /* usa el alto visible real (mejor en móvil) */
}

/* ============================================================
   HEADER — barra estilo Vogue (blanca, logo centrado)
   ============================================================ */
.elementor-element-esnav001 {
	position: sticky;
	top: 0;
	z-index: 9000;
	background-color: var(--es-surface);
	border-bottom: 1px solid var(--es-line);
	min-height: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.elementor-element-esnav001 > .elementor-container { max-width: none; }
.elementor-element-esnav001 .elementor-widget-container { padding: 0 !important; }

/* Tokens del header (el "acento" es tinta negra; sin dorado) */
:root {
	--esv-bg: #ffffff;
	--esv-ink: #14110C;
	--esv-ink-soft: #454341;
	--esv-muted: #86847F;
	--esv-hair: #E7E6E3;
	--esv-hair-2: #D8D7D3;
	--esv-gold: #14110C;
	--esv-gold-hover: #4A463D;
	--esv-scrim: rgba(20, 17, 12, .5);
	--esv-z: 9000;
}

.esv { background: var(--esv-bg); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.esv__bar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	max-width: 1300px;
	margin: 0 auto;
	padding: 1.25rem 1.75rem;
}
.esv__side { display: flex; align-items: center; }
.esv__side--left { justify-self: start; }
.esv__side--right { justify-self: end; gap: 1.25rem; }

/* Hamburguesa */
.esv__side .esv__burger {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	height: 40px; box-sizing: border-box; padding: 0 .4rem;
	background: transparent; border: none; border-radius: 0; cursor: pointer;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .66rem; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase; color: var(--esv-ink); white-space: nowrap;
	line-height: 1; transition: opacity .2s;
}
.esv__side .esv__burger:hover { color: var(--esv-muted); background: transparent; }
.esv__bars { display: inline-flex; flex-direction: column; gap: 3.5px; }
.esv__bars i { width: 18px; height: 1.4px; background: currentColor; display: block; }

/* Wordmark centrado */
.esv__brand {
	justify-self: center; text-align: center; text-decoration: none;
	display: inline-flex; align-items: center;
}
.esv .esv__logo { display: block; height: 46px !important; width: auto; max-width: none; }

/* Utilidades derecha */
.esv__side .esv__ico {
	background: transparent; border: none; border-radius: 0; cursor: pointer;
	width: 40px; height: 40px; box-sizing: border-box; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--esv-ink); line-height: 1; transition: opacity .2s;
}
.esv__side .esv__ico:hover { color: var(--esv-muted); background: transparent; }
.esv__side .esv__ico svg { width: 20px; height: 20px; stroke: var(--esv-ink); fill: none; }
.esv__side .esv__ico:hover svg { stroke: var(--esv-muted); }

/* Icono de galería — solo móvil, píldora negra (mismo fondo que el CTA) */
.esv__galico {
	display: none; align-items: center; justify-content: center;
	width: 40px; height: 40px; box-sizing: border-box; padding: 0;
	background: var(--esv-ink); border: 1px solid var(--esv-ink); border-radius: 2px;
	color: #fff; text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease;
}
.esv__galico:hover { background: transparent; border-color: var(--esv-ink); }
.esv__galico svg { width: 20px; height: 20px; stroke: #fff; fill: none; }
.esv__galico:hover svg { stroke: var(--esv-ink); }
.esv__cta {
	display: inline-flex; align-items: center; justify-content: center;
	height: 40px; box-sizing: border-box; padding: 0 1.15rem;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .63rem; font-weight: 600;
	letter-spacing: .18em; text-transform: uppercase; color: #fff;
	text-decoration: none; background: var(--esv-ink); border: 1px solid var(--esv-ink); border-radius: 2px;
	white-space: nowrap;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.esv__cta:hover { background: transparent; border-color: var(--esv-ink); color: var(--esv-ink); }

/* El kit de Elementor estiliza TODO <button> (.elementor-kit-5 button) con
   fondo/color/relleno. Lo anulamos donde hace falta con mayor especificidad. */
.esv__drawer .esv__x,
.esv__search .esv__x {
	background-color: transparent;
	color: var(--esv-ink);
	border: none;
	line-height: 1;
	padding: .3rem;
}
.esv__search .esv__searchsubmit {
	background-color: transparent;
	color: var(--esv-ink);
	border: none;
	line-height: 1;
	padding: .4rem .3rem;
}

/* Scrim */
.esv__scrim {
	position: fixed; inset: 0; background: var(--esv-scrim);
	z-index: calc(var(--esv-z) + 10);
	opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s;
}
.esv__scrim[hidden] { display: block; }
.esv-menu-open .esv__scrim, .esv-search-open .esv__scrim { opacity: 1; visibility: visible; }

/* Drawer lateral */
.esv__drawer {
	position: fixed; top: 0; bottom: 0; left: 0; width: min(90vw, 400px);
	background: var(--esv-bg); color: var(--esv-ink); z-index: calc(var(--esv-z) + 20);
	transform: translateX(-102%); transition: transform .36s cubic-bezier(.4, 0, .15, 1);
	display: flex; flex-direction: column; padding: 1.4rem 1.9rem 2rem;
	border-right: 1px solid var(--esv-hair); overflow-y: auto;
}
.esv-menu-open .esv__drawer { transform: none; box-shadow: 0 0 60px -20px rgba(0, 0, 0, .18); }
.esv__drawertop { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.8rem; }
.esv__drawerbrand { display: inline-flex; align-items: center; text-decoration: none; }
.esv__drawer .esv__drawerlogo { display: block; height: 38px !important; width: auto; max-width: none; }
.esv__x { background: none; border: none; cursor: pointer; color: var(--esv-ink); padding: .3rem; display: inline-flex; transition: color .2s; }
.esv__x:hover { color: var(--esv-muted); }
.esv__x svg { width: 20px; height: 20px; }

.esv__nav .esv__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.esv__nav .esv__menu li { margin: 0; }
.esv__nav .esv__menu a {
	display: block; font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; font-size: 1.5rem; font-weight: 500;
	color: var(--esv-ink); text-decoration: none; padding: .5rem 0;
	border-bottom: 1px solid var(--esv-hair); transition: color .2s, padding-left .2s;
}
.esv__nav .esv__menu a:hover { color: var(--esv-muted); padding-left: .35rem; }
.esv__nav .esv__menu .current-menu-item > a { text-decoration: underline; text-underline-offset: 4px; }

.esv__drawersub { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .85rem; }
.esv__drawersub a {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .68rem; font-weight: 600; letter-spacing: .18em;
	text-transform: uppercase; color: var(--esv-ink-soft); text-decoration: none; transition: color .2s;
}
.esv__drawersub a:hover { color: var(--esv-ink); }
.esv__drawerfoot { margin: auto 0 0; padding-top: 1.6rem; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: italic; font-size: .82rem; color: var(--esv-muted); }

/* Búsqueda — overlay a todo el ancho bajo el header */
.esv__search {
	position: fixed; top: 0; left: 0; right: 0; z-index: calc(var(--esv-z) + 30);
	background: var(--esv-bg); border-bottom: 1px solid var(--esv-ink);
	opacity: 0; visibility: hidden; transform: translateY(-16px);
	transition: opacity .28s ease, transform .28s ease, visibility .28s;
}
.esv-search-open .esv__search { opacity: 1; visibility: visible; transform: none; box-shadow: 0 24px 44px -24px rgba(0, 0, 0, .25); }
.esv__searchinner { max-width: 900px; margin: 0 auto; padding: 2.1rem 1.75rem 1.9rem; }
.esv__searchrow { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.esv__eyebrow { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .62rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--esv-muted); }
.esv__searchform { display: flex; align-items: center; gap: .85rem; border-bottom: 1px solid var(--esv-hair-2); padding-bottom: .55rem; }
.esv__searchform:focus-within { border-color: var(--esv-ink); }
.esv__searchico { display: inline-flex; color: var(--esv-muted); flex: 0 0 auto; }
.esv__searchform:focus-within .esv__searchico { color: var(--esv-ink); }
.esv__searchico svg { width: 22px; height: 22px; }
.esv__search input[type="search"] {
	flex: 1; min-width: 0; background: transparent; border: none; color: var(--esv-ink);
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em; font-size: 1.5rem; padding: .1rem 0;
}
.esv__search input[type="search"]:focus { outline: none; }
.esv__search input[type="search"]::placeholder { color: var(--esv-muted); font-style: italic; }
.esv__search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.esv__searchsubmit {
	flex: 0 0 auto; background: none; border: none; cursor: pointer; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--esv-ink);
	padding: .4rem .3rem; transition: color .2s;
}
.esv__searchsubmit:hover { color: var(--esv-muted); }
.esv__searchhint { margin: .9rem 0 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: italic; font-size: .8rem; color: var(--esv-muted); }
.esv__searchhint kbd { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-size: .68rem; border: 1px solid var(--esv-hair-2); border-radius: 4px; padding: .05rem .35rem; color: var(--esv-ink-soft); }

/* Responsive header */
@media (max-width: 600px) {
	.esv__bar { padding: .95rem 1.1rem; }
	.esv__burgerlbl { display: none; }
	.esv__cta { display: none; }
	.esv__galico { display: inline-flex; }
	.esv .esv__logo { height: 34px !important; }
	.esv__searchinner { padding: 1.7rem 1.25rem 1.5rem; }
	.esv__search input[type="search"] { font-size: 1.25rem; }
	.esv__nav .esv__menu a { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
	.esv__drawer, .esv__scrim, .esv__search { transition: none; }
}

/* ============================================================
   HERO — Foto a sangre con textos en las esquinas (portada)
   edición: arriba-derecha · cita: abajo-izquierda · botones: abajo-derecha
   ============================================================ */
.elementor-element-eshero01 {
	position: relative;
	overflow: hidden;
	min-height: 88vh;
	background: #0a0a0a;
}
/* Capa de imagen con sobre-escaneo (overscan) para el parallax.
   El JS mueve --es-hero-shift; sin JS queda estática y centrada. */
.elementor-element-eshero01::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -8%;
	height: 116%;
	background-image: url('/wp-content/uploads/hero-ref.jpg');
	background-size: cover;
	background-position: center;
	transform: translate3d(0, var(--es-hero-shift, 0px), 0);
	will-change: transform;
	z-index: 0;
}
/* Degradados de legibilidad como capa superior (no tapan el texto: z-index 1 < 3). */
.elementor-element-eshero01::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		linear-gradient(to top, rgba(10, 10, 10, .78) 0%, rgba(10, 10, 10, .18) 26%, rgba(10, 10, 10, 0) 46%),
		linear-gradient(to bottom, rgba(10, 10, 10, .4) 0%, rgba(10, 10, 10, 0) 20%);
}
/* Video de fondo (opcional). Se ancla a la SECCIÓN (los wrappers del widget son
   estáticos) y cubre todo con object-fit; object-position lo fija el punto focal.
   Pinta sobre ::before (poster/imagen) y bajo ::after (degradados) y el texto. */
.elementor-element-eshero01 .es-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	z-index: 0;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.elementor-element-eshero01 .es-hero-video { display: none; }
}
/* Contenedor a tamaño completo; columnas/wrap sin contexto de posición →
   los widgets se anclan a la SECCIÓN (esquinas reales de la foto). */
.elementor-element-eshero01 > .elementor-container {
	position: static;
	min-height: 88vh;
	max-width: none;
	padding: 0;
}
.elementor-element-eshero01 .elementor-column,
.elementor-element-eshero01 .elementor-widget-wrap { position: static; display: block; }
/* El widget shortcode del hero NO debe crear contexto de posición:
   así el comentario/título/botones (absolutos) se anclan a la SECCIÓN. */
.elementor-element-eshero01 .elementor-widget-shortcode,
.elementor-element-eshero01 .elementor-widget-shortcode > .elementor-widget-container { position: static; }
.es-hero-sub { display: none; }

/* Edición → esquina superior derecha */
.es-hero-edition {
	position: absolute;
	top: 2rem;
	right: 2.25rem;
	z-index: 3;
	width: auto;
}
.es-hero-edition.elementor-widget-heading .elementor-heading-title {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

/* Cita → esquina inferior izquierda */
.es-hero-title {
	position: absolute;
	left: 2.25rem;
	bottom: 2.1rem;
	z-index: 3;
	width: auto;
	max-width: min(58%, 660px);
}
.es-hero-title.elementor-widget-heading .elementor-heading-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-weight: 700;
	line-height: 1.18;
	color: #fff;
	font-size: clamp(1.3rem, 2.6vw, 2.15rem);
	margin: 0;
	text-align: left;
	text-shadow: 0 1px 22px rgba(0, 0, 0, .45);
}
.es-hero-title em { font-style: italic; color: #fff; }

/* Botones → esquina inferior derecha */
.elementor-element-eshact1 {
	position: absolute;
	right: 2.25rem;
	bottom: 2.1rem;
	z-index: 3;
	width: auto;
}
.es-hero-actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }
.es-hbtn {
	display: inline-block;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .85rem 2rem;
	transition: all .25s ease;
	cursor: pointer;
}
.elementor-element-eshero01 .es-hbtn { font-size: .64rem; padding: .58rem 1.25rem; letter-spacing: .12em; }
.es-hbtn-gold { background: var(--es-paper); color: var(--es-ink); border: 1px solid var(--es-paper); }
.es-hbtn-gold:hover { background: transparent; color: var(--es-ink); border-color: var(--es-ink); }
/* En el hero (sobre foto oscura) el invert va a blanco para contrastar */
.elementor-element-eshero01 .es-hbtn-gold:hover { color: var(--es-paper); border-color: var(--es-paper); }
.es-hbtn-outline { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .6); }
.es-hbtn-outline:hover { background: var(--es-paper); color: var(--es-ink); border-color: var(--es-paper); }

/* --- Hero por shortcode [es_hero]: tipografía sobre markup plano
   (mismo aspecto que la versión anterior en widgets de Elementor) --- */
.es-hero-edition {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	text-align: right;
	white-space: nowrap;
}
h1.es-hero-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-weight: 700;
	line-height: 1.18;
	color: #fff;
	font-size: clamp(1.3rem, 2.6vw, 2.15rem);
	margin: 0;
	text-align: left;
	text-shadow: 0 1px 22px rgba(0, 0, 0, .45);
}
.es-hero-actions {
	position: absolute;
	right: 2.25rem;
	bottom: 2.1rem;
	z-index: 3;
	width: auto;
}

@media (max-width: 767px) {
	.elementor-element-eshero01 { min-height: 76vh; }
	.elementor-element-eshero01 > .elementor-container { min-height: 76vh; }
	.es-hero-edition { top: 1.1rem; right: 1.2rem; }
	.es-hero-title {
		left: 1.2rem;
		right: 1.2rem;
		bottom: 4.8rem;
		max-width: none;
	}
	.es-hero-title .elementor-heading-title,
	h1.es-hero-title { font-size: clamp(1.15rem, 5.2vw, 1.7rem); }
	.es-hero-actions { left: 1.2rem; right: auto; bottom: 1.4rem; }
	.es-hero-actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
	.es-hbtn { text-align: center; }
}

/* ============================================================
   BADGE / ETIQUETA DE CATEGORÍA
   - sólida (sobre foto): chip papel + tinta
   - outline (sobre superficie clara): borde+texto tinta
   ============================================================ */
.es-badge {
	align-self: flex-start;
	display: inline-block;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-ink);
	background: var(--es-paper);
	padding: .25rem .65rem;
	margin-bottom: .75rem;
}
.es-badge--outline {
	background: transparent;
	border: 1px solid var(--es-ink);
	color: var(--es-ink);
}

/* --- Multi-categoría --- */
/* Línea de secciones en tarjetas (principal destacada, resto atenuado). */
.es-cats { display: flex; flex-wrap: wrap; align-items: baseline; }
.es-cats__c {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--es-muted);
}
.es-cats__c--primary { color: var(--es-ink); }
.es-cats__c:not(:first-child)::before { content: "·"; margin: 0 .45em; color: var(--es-line-2); }
/* Grupo de badges (destacado del home + ficha del post). */
.es-cats-badges { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; align-self: flex-start; }

/* ============================================================
   LO MÁS RECIENTE — grid de artículos
   ============================================================ */
.elementor-element-essrec01 > .elementor-container {
	max-width: 1240px;
	padding: 4rem 2rem;
}
.es-recientes a { text-decoration: none; color: inherit; }
.es-sec-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	position: relative;
	padding-bottom: .75rem;
	margin-bottom: 1.75rem;
}
.es-sec-head::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: var(--es-ink);
}
/* La línea del encabezado se "dibuja" (izq→der) al entrar en pantalla (solo con .es-anim). */
html.es-anim .es-sec-head::after {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .9s cubic-bezier(.22, .7, .2, 1) .12s;
}
html.es-anim .es-sec-head.es-in::after { transform: scaleX(1); }
.es-sec-label {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--es-ink);
}
.es-sec-link {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
	text-decoration: none;
	white-space: nowrap;
}
.es-sec-link:hover {
	color: var(--es-ink);
}

.es-rec-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 1.5rem;
	align-items: stretch;
	margin-bottom: 1.5rem;
}
.es-card-lg {
	position: relative;
	min-height: 420px;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	cursor: pointer;
}
.es-card-lg__ov {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 10, .9), rgba(10, 10, 10, .3) 60%, transparent);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 2rem;
}
.es-card-lg h3 {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin: 0 0 .75rem;
}
.es-card-meta {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	color: rgba(255, 255, 255, .6);
	letter-spacing: .05em;
	margin: 0;
}

.es-rec-side {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.5rem;
}
/* Tarjeta pequeña: superficie clara con borde. No se estira: alto = su
   contenido (compacta como las tarjetas de la fila inferior). */
.es-card-sm {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	padding: 1.5rem;
	cursor: pointer;
	transition: background .2s;
}
.es-card-sm:hover {
	background: var(--es-surface-2);
}
.es-card-sm__img {
	flex-shrink: 0;
	width: 110px;
	height: 110px;
	background-size: cover;
	background-position: center;
}
.es-card-sm h3 {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--es-ink);
	margin: 0 0 .5rem;
}
.es-card-sm .es-card-meta { color: var(--es-muted); }

.es-rec-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
.es-lista {
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	cursor: pointer;
	transition: opacity .2s;
}
.es-lista:hover {
	opacity: .75;
}
.es-lista__img {
	flex-shrink: 0;
	width: 90px;
	height: 90px;
	background-size: cover;
	background-position: center;
}
.es-lista__cat {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--es-ink);
	margin: 0 0 .4rem;
}
.es-lista h4 {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--es-ink);
	margin: 0 0 .4rem;
}
.es-lista__date {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .62rem;
	color: var(--es-muted);
	margin: 0;
}

@media (max-width: 860px) {
	.es-rec-grid { grid-template-columns: 1fr; }
	.es-rec-list { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.elementor-element-essrec01 > .elementor-container { padding: 2.5rem 1.25rem; }
	.es-card-lg { min-height: 320px; }
}

/* ============================================================
   ENTRENOS — entrevistas (ahora sección clara)
   ============================================================ */
.elementor-element-eseco01 {
	background: var(--es-paper);
	position: relative;
	overflow: hidden;
}
.elementor-element-eseco01 > .elementor-container {
	position: relative;
	z-index: 1;
	max-width: 1240px;
	padding: 5rem 2rem;
}
.es-en-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	margin-bottom: 3rem;
}
.es-en-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 .5rem;
}
.es-en-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 700;
	font-style: italic;
	color: var(--es-ink);
	line-height: 1.1;
	margin: 0;
}
.es-en-vermas {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
	border-bottom: 1px solid var(--es-line-2);
	padding-bottom: 2px;
	white-space: nowrap;
	text-decoration: none;
}
.es-en-vermas:hover {
	color: var(--es-ink);
}
.es-en-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--es-line);
}
.es-en-card {
	background: var(--es-surface);
	padding: 2.25rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	transition: background .2s;
	cursor: pointer;
}
.es-en-card:hover {
	background: var(--es-surface-2);
}
.es-en-card__top {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.es-en-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 2px solid var(--es-ink);
	background-size: cover;
	background-position: center top;
}
.es-en-name {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--es-ink);
	line-height: 1.2;
	margin: 0 0 .2rem;
}
.es-en-role {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0;
}
.es-en-quote {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	font-style: italic;
	line-height: 1.65;
	color: var(--es-ink-soft);
	border-left: 2px solid var(--es-ink);
	padding-left: 1rem;
	margin: 0;
}
.es-en-link {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-ink);
	display: flex;
	align-items: center;
	gap: .4rem;
	margin-top: auto;
	transition: gap .2s;
	text-decoration: none;
}
.es-en-link::after {
	content: "\2192";
}
.es-en-card:hover .es-en-link,
.es-en-link:hover {
	gap: .7rem;
}
.es-en-footer {
	text-align: center;
	margin-top: 3rem;
}
@media (max-width: 1024px) {
	.es-en-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.elementor-element-eseco01 > .elementor-container { padding: 3.5rem 1.25rem; }
}

/* ============================================================
   EVENTOS Y SOCIALES — scroll horizontal (fondo alterno)
   ============================================================ */
.elementor-element-eseco02 {
	background: var(--es-surface-2);
}
.elementor-element-eseco02 > .elementor-container {
	max-width: 1240px;
	padding: 5rem 2rem;
}
.es-ev-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
}
.es-ev-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 .5rem;
}
.es-ev-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--es-ink);
	margin: 0;
}
.es-ev-vermas {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
	border-bottom: 1px solid var(--es-line-2);
	padding-bottom: 2px;
	white-space: nowrap;
	text-decoration: none;
}
.es-ev-vermas:hover {
	color: var(--es-ink);
}
.es-ev-scroll {
	display: flex;
	align-items: stretch;
	gap: 1.25rem;
	overflow-x: auto;
	padding-bottom: 1rem;
	scrollbar-width: thin;
	scrollbar-color: var(--es-ink) var(--es-line-2);
}
.es-ev-scroll::-webkit-scrollbar { height: 3px; }
.es-ev-scroll::-webkit-scrollbar-track { background: var(--es-line-2); }
.es-ev-scroll::-webkit-scrollbar-thumb { background: var(--es-ink); }
.es-ev-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	flex-shrink: 0;
	width: 280px;
	cursor: pointer;
	overflow: hidden;
	transition: transform .3s;
}
.es-ev-card:hover { transform: translateY(-4px); }
.es-ev-card__img {
	flex-shrink: 0;
	height: 200px;
	overflow: hidden;
	position: relative;
}
.es-ev-card__img-inner {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform .5s;
}
.es-ev-card:hover .es-ev-card__img-inner { transform: scale(1.06); }
.es-ev-card__ov {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 10, .55), transparent 60%);
}
.es-ev-card__body {
	flex: 1;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	border-top: none;
	padding: 1.25rem;
}
.es-ev-card__tag {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--es-ink);
	margin: 0 0 .4rem;
}
.es-ev-card__title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: .95rem;
	font-weight: 700;
	color: var(--es-ink);
	line-height: 1.3;
	margin: 0 0 .4rem;
}
.es-ev-card__date {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .62rem;
	color: var(--es-muted);
	margin: 0;
}
@media (max-width: 480px) {
	.elementor-element-eseco02 > .elementor-container { padding: 3.5rem 1.25rem; }
}

/* ============================================================
   CTA ANUNCIA (banda clara con reglas) + botón oscuro reutilizable
   ============================================================ */
.es-hbtn-dark {
	background: var(--es-ink);
	color: var(--es-paper);
	border: 1px solid var(--es-ink);
}
.es-hbtn-dark:hover {
	background: var(--es-paper);
	color: var(--es-ink);
	border-color: var(--es-ink);
}
.elementor-element-eseco03 {
	background: var(--es-surface-2);
	border-top: 1px solid var(--es-ink);
	border-bottom: 1px solid var(--es-ink);
	position: relative;
	overflow: hidden;
}
.elementor-element-eseco03 > .elementor-container {
	position: relative;
	z-index: 1;
	max-width: 1240px;
	padding: 5rem 2rem;
}
.es-cta-anuncia { text-align: center; }
.es-cta-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 1rem;
}
.es-cta-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 900;
	color: var(--es-ink);
	line-height: 1.1;
	margin: 0 0 .75rem;
}
.es-cta-sub {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-style: italic;
	color: var(--es-ink-soft);
	margin: 0 0 3rem;
}
.es-cta-formatos {
	display: flex;
	justify-content: center;
	gap: 3rem;
	margin-bottom: 3rem;
	flex-wrap: wrap;
}
.es-formato {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
}
.es-formato__icon {
	width: 56px;
	height: 56px;
	background: var(--es-ink);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.es-formato__icon svg {
	width: 24px;
	height: 24px;
	fill: var(--es-paper);
}
.es-formato__label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--es-ink);
}

/* ============================================================
   NUESTRAS EDICIONES — grid de portadas
   ============================================================ */
.elementor-element-eseco04 {
	background: var(--es-paper);
}
.elementor-element-eseco04 > .elementor-container {
	max-width: 1240px;
	padding: 5rem 2rem;
}
.es-ed-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
}
.es-ed-headlabel {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 .5rem;
}
.es-ed-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--es-ink);
	margin: 0;
}
.es-ed-vermas {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
	border-bottom: 1px solid var(--es-line-2);
	padding-bottom: 2px;
	white-space: nowrap;
	text-decoration: none;
}
.es-ed-vermas:hover { color: var(--es-ink); }
.es-ed-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.5px;
	margin-bottom: 2.5rem;
}
.es-ed-card {
	position: relative;
	cursor: pointer;
	overflow: hidden;
}
.es-ed-card__img {
	aspect-ratio: 3 / 4;
	background-size: cover;
	background-position: center top;
	transition: transform .4s;
}
.es-ed-card:hover .es-ed-card__img { transform: scale(1.04); }
.es-ed-card__ov {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 10, .8), transparent 60%);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1rem;
}
.es-ed-num {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	margin: 0;
}
.es-ed-lbl {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .5);
	margin: 0;
}
.es-ed-hover {
	position: absolute;
	inset: 0;
	background: rgba(20, 17, 12, .4);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .3s;
}
.es-ed-card:hover .es-ed-hover { opacity: 1; }
.es-ed-hover__t {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--es-ink);
	background: var(--es-paper);
	padding: .4rem .8rem;
}
.es-ed-footer { text-align: center; }
@media (max-width: 768px) {
	.es-ed-grid { grid-template-columns: repeat(2, 1fr); }
	.es-ed-grid .es-ed-card:nth-child(5) { display: none; }
}
@media (max-width: 480px) {
	.es-cta-formatos { gap: 1.5rem; }
	.elementor-element-eseco03 > .elementor-container,
	.elementor-element-eseco04 > .elementor-container { padding: 3.5rem 1.25rem; }
}

/* ============================================================
   FOOTER — claro, con hairlines
   ============================================================ */
.elementor-element-esftr01 {
	background: var(--es-paper);
	border-top: 1px solid var(--es-line);
}
.es-footer {
	max-width: 1240px;
	margin: 0 auto;
	padding: 5rem 2rem 0;
}
.es-ft-top {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 3rem;
	padding-bottom: 4rem;
	border-bottom: 1px solid var(--es-line);
}
.es-ft-logo {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--es-ink);
	margin-bottom: .75rem;
}
.es-ft-logo img { display: block; height: 40px !important; width: auto; max-width: none; }
.es-ft-slogan {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .8rem;
	font-style: italic;
	color: var(--es-muted);
	margin: 0 0 1.5rem;
	letter-spacing: .05em;
}
.es-ft-social { display: flex; gap: .75rem; flex-wrap: wrap; }
.es-ft-social a {
	width: 36px;
	height: 36px;
	border: 1px solid var(--es-line-2);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color .2s, background .2s;
}
.es-ft-social a:hover {
	border-color: var(--es-ink);
	background: var(--es-surface-2);
}
.es-ft-social svg { width: 14px; height: 14px; fill: var(--es-ink-soft); }
.es-ft-social a:hover svg { fill: var(--es-ink); }
.es-ft-coltitle {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--es-ink);
	margin: 0 0 1.5rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--es-line);
}
.es-ft-links { display: flex; flex-direction: column; gap: .6rem; }
.es-ft-links a {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .78rem;
	color: var(--es-ink-soft);
	text-decoration: none;
	transition: color .2s;
}
.es-ft-links a:hover { color: var(--es-ink); }
.es-ft-citem { display: flex; flex-direction: column; gap: .15rem; margin-bottom: 1rem; }
.es-ft-clabel {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
}
.es-ft-cvalue {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .8rem;
	color: var(--es-ink-soft);
	text-decoration: none;
	transition: color .2s;
}
a.es-ft-cvalue:hover { color: var(--es-ink); }
.es-ft-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 0;
	gap: 1rem;
	flex-wrap: wrap;
	border-top: 1px solid var(--es-line);
}
.es-ft-copy {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	color: var(--es-muted);
	letter-spacing: .04em;
	margin: 0;
}
.es-ft-copy a { color: var(--es-ink-soft); text-decoration: none; }
.es-ft-copy a:hover { color: var(--es-ink); }
.es-ft-bar { display: flex; gap: .5rem; align-items: center; }
.es-ft-bar span {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .62rem;
	color: var(--es-muted);
}
.es-ft-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--es-line-2);
	display: inline-block;
}
@media (max-width: 768px) {
	.es-ft-top { grid-template-columns: 1fr; }
	.es-ft-bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
	.es-footer { padding: 3.5rem 1.25rem 0; }
}

/* ============================================================
   ARTÍCULO INDIVIDUAL (single.php)
   ============================================================ */
.es-art-head {
	max-width: 820px;
	margin: 0 auto;
	padding: 3.5rem 2rem 1.75rem;
}
.es-art-head .es-badge { margin-bottom: 1rem; }
.es-art-head .es-cats-badges { margin-bottom: 1rem; }
.es-art-head .es-cats-badges .es-badge { margin-bottom: 0; }
.es-art-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-weight: 700;
	line-height: 1.12;
	color: var(--es-ink);
	font-size: clamp(1.8rem, 4.5vw, 3.2rem);
	margin: 0 0 .9rem;
}
.es-art-meta {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .72rem;
	letter-spacing: .08em;
	color: #7c756b;
	text-transform: uppercase;
	margin: 0;
}
.es-art-feat {
	max-width: 960px;
	margin: 0 auto 1.5rem;
	padding: 0 2rem;
}
.es-art-feat img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100vh;
	max-height: 100svh;
	margin-inline: auto; /* centra si el tope de alto la deja más angosta */
	border-radius: 4px;
}
.es-art-body {
	max-width: 720px;
	margin: 0 auto;
	padding: 1.5rem 2rem 3.5rem;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.12rem;
	line-height: 1.8;
	color: var(--es-ink);
}
.es-art-body p { margin: 0 0 1.4rem; }
.es-art-body h2,
.es-art-body h3 {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	color: var(--es-ink);
	margin: 2rem 0 1rem;
}
.es-art-body a {
	color: var(--es-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--es-line-2);
}
.es-art-body a:hover { text-decoration-color: var(--es-ink); }
.es-art-body img { display: block; max-width: 100%; height: auto; margin: 1.8rem auto; }
.es-art-body figure { margin: 1.8rem auto; text-align: center; }
.es-art-body figure img { margin: 0 auto; }
.es-art-body figcaption { margin-top: 0.5rem; font-size: 0.88rem; color: var(--es-muted); text-align: center; }
.es-art-body .es-art-credit {
	margin: 2.2rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--es-line-2);
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--es-muted);
}
.es-art-foot {
	max-width: 720px;
	margin: 0 auto 4rem;
	padding: 0 2rem;
}

/* Botón "Volver a noticias" (arriba y abajo del artículo). */
.es-art-top {
	max-width: 820px;
	margin: 0 auto;
	padding: 2rem 2rem 0;
}
.es-back {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--es-ink);
	background: var(--es-surface);
	border: 1px solid var(--es-line-2);
	border-radius: 999px;
	padding: .55rem 1.1rem;
	transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.es-back:hover { background: var(--es-ink); color: var(--es-paper); border-color: var(--es-ink); }

/* Compartir. */
.es-share {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 2rem 2.5rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.es-share__label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
}
.es-share__btns { display: flex; gap: .5rem; align-items: center; }
/* Especificidad + !important para ganarle al estilo de <button> del kit de Elementor. */
.es-share .es-share__btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px !important;
	height: 40px !important;
	min-width: 0;
	padding: 0 !important;
	margin: 0;
	border: 1px solid var(--es-line-2) !important;
	border-radius: 50% !important;
	background: var(--es-surface) !important;
	color: var(--es-ink) !important;
	box-shadow: none;
	cursor: pointer;
	position: relative;
	transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.es-share .es-share__btn:hover {
	background: var(--es-ink) !important;
	color: var(--es-paper) !important;
	border-color: var(--es-ink) !important;
}
.es-share .es-share__btn svg { width: 18px !important; height: 18px !important; flex: 0 0 auto; }
.es-share__copied {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: var(--es-ink);
	color: var(--es-paper);
	font-size: .6rem;
	letter-spacing: .04em;
	padding: .28rem .5rem;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .16s ease;
}
.es-share__copy.is-copied .es-share__copied { opacity: 1; }

/* Sección "Más recientes" al pie del artículo. */
.es-related {
	max-width: 1240px;
	margin: 0 auto;
	padding: 3.5rem 2rem 4.5rem;
	border-top: 1px solid var(--es-line);
}
.es-related .es-sec-head { margin-bottom: 1.75rem; }
.es-related .es-arch-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}
@media (max-width: 860px) {
	.es-related .es-arch-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.es-related .es-arch-grid { grid-template-columns: 1fr; }
	.es-related { padding: 2.5rem 1.25rem 3rem; }
	.es-art-top { padding-left: 1.25rem; padding-right: 1.25rem; }
}
@media (max-width: 480px) {
	.es-art-head,
	.es-art-feat,
	.es-art-body,
	.es-share,
	.es-art-foot { padding-left: 1.25rem; padding-right: 1.25rem; }
}

/* ============================================================
   CABECERA DE PÁGINA (reutilizable) — Contáctanos, Anunciantes...
   ============================================================ */
.es-pagehead {
	background: var(--es-surface-2);
	border-bottom: 1px solid var(--es-line-2);
}
.es-ph-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 2.5rem 2rem;
	text-align: center;
}
@media (max-width: 600px) {
	.es-ph-inner { padding: 1.75rem 1.25rem; }
}
.es-ph-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 .75rem;
}
.es-ph-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	color: var(--es-ink);
	margin: 0 0 .5rem;
}
.es-ph-sub {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	color: var(--es-ink-soft);
	margin: 0;
}

/* ============================================================
   CONTÁCTANOS
   ============================================================ */
.elementor-element-escnt01 > .elementor-container {
	max-width: 1240px;
	padding: 4rem 2rem;
	align-items: flex-start;
}
.es-ci-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 2rem;
	font-weight: 700;
	color: var(--es-ink);
	margin: 0 0 .75rem;
}
.es-ci-lead {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	color: var(--es-ink-soft);
	line-height: 1.7;
	margin: 0 0 2rem;
	max-width: 420px;
}
.es-ci-item { display: flex; flex-direction: column; gap: .15rem; margin-bottom: 1.25rem; }
.es-ci-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--es-muted);
}
.es-ci-value {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	color: var(--es-ink);
	text-decoration: none;
}
a.es-ci-value:hover { color: var(--es-muted); }

/* Formulario Contact Form 7 */
.es-contact-form .es-field { margin-bottom: 1.1rem; display: flex; flex-direction: column; }
.es-contact-form .es-field label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin-bottom: .4rem;
}
.es-contact-form input[type="text"],
.es-contact-form input[type="email"],
.es-contact-form input[type="tel"],
.es-contact-form textarea {
	width: 100%;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	color: var(--es-ink);
	background: var(--es-surface);
	border: 1px solid var(--es-line-2);
	padding: .7rem .85rem;
	transition: border-color .2s;
}
.es-contact-form input:focus,
.es-contact-form textarea:focus {
	outline: none;
	border-color: var(--es-ink);
}
.es-contact-form textarea { min-height: 130px; resize: vertical; }
.es-contact-form .es-field-submit { margin-top: .5rem; }
.es-contact-form input[type="submit"] {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	background: var(--es-ink);
	color: var(--es-paper);
	border: none;
	padding: .85rem 2rem;
	cursor: pointer;
	transition: background .2s;
}
.es-contact-form input[type="submit"]:hover { background: var(--es-ink-soft); }
.wpcf7-response-output { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .85rem; margin: 1rem 0 0 !important; }
.wpcf7-not-valid-tip { color: var(--es-error); font-size: .78rem; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color: var(--es-error); color: var(--es-error); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--es-ok); color: var(--es-ok); }
@media (max-width: 767px) {
	.elementor-element-escnt01 > .elementor-container { padding: 2.5rem 1.25rem; }
	.es-ph-inner { padding: 3rem 1.25rem; }
}

/* ============================================================
   ANUNCIANTES (media kit)
   ============================================================ */
.elementor-element-esadb01 > .elementor-container { max-width: 1240px; padding: 4.5rem 2rem; }
.es-adv-lead {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.15rem;
	line-height: 1.8;
	color: var(--es-ink-soft);
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3rem;
}
.es-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--es-line-2);
	border: 1px solid var(--es-line-2);
	margin-bottom: 4rem;
}
.es-stat {
	background: var(--es-surface);
	padding: 2rem 1.25rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.es-stat__num {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.9rem, 3.4vw, 2.6rem);
	font-weight: 700;
	color: var(--es-ink);
	line-height: 1.1;
}
/* Banda de datos reutilizada en el CTA de publicidad del home */
.es-stats--cta { margin-bottom: 2.5rem; }
.es-stat__label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	letter-spacing: .06em;
	color: var(--es-muted);
}
.es-adv-h2 {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 700;
	text-align: center;
	color: var(--es-ink);
	margin: 0 0 2.5rem;
}
.es-formats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-bottom: 4rem;
}
.es-fmt-card {
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	padding: 2.5rem 2rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.es-fmt-card__title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--es-ink);
	margin: 0;
}
.es-fmt-card__desc {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	line-height: 1.7;
	color: var(--es-ink-soft);
	margin: 0;
}
.es-ctaband {
	background: var(--es-surface-2);
	border-top: 1px solid var(--es-ink);
	border-bottom: 1px solid var(--es-ink);
}
.es-ctaband__inner {
	max-width: 820px;
	margin: 0 auto;
	padding: 4rem 2rem;
	text-align: center;
}
.es-ctaband__title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 900;
	color: var(--es-ink);
	margin: 0 0 .5rem;
	line-height: 1.15;
}
.es-ctaband__sub {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	color: var(--es-ink-soft);
	margin: 0 0 2rem;
}
@media (max-width: 860px) {
	.es-stats { grid-template-columns: repeat(2, 1fr); }
	.es-formats { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.elementor-element-esadb01 > .elementor-container { padding: 3rem 1.25rem; }
	.es-ctaband__inner { padding: 3rem 1.25rem; }
}

/* ============================================================
   ARCHIVO DE CATEGORÍA / SECCIÓN
   ============================================================ */
.es-arch {
	max-width: 1240px;
	margin: 0 auto;
	padding: 4rem 2rem;
}
.es-arch-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}
.es-arch-card {
	display: flex;
	flex-direction: column;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	text-decoration: none;
	color: inherit;
	transition: transform .25s, box-shadow .25s;
}
.es-arch-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 30px rgba(20, 17, 12, .08);
}
.es-arch-card__img {
	aspect-ratio: 16 / 10;
	background-size: cover;
	background-position: center;
	background-color: var(--es-surface-2);
}
.es-arch-card__body {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.es-arch-card__cat {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .6rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--es-ink);
}
.es-arch-card__title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--es-ink);
	margin: 0;
}
.es-arch-card__meta {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	color: var(--es-muted);
	margin: 0;
}
.es-arch-empty {
	text-align: center;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	color: var(--es-muted);
	padding: 3rem 0;
}
.es-arch-pag { margin-top: 3rem; }
.es-arch-pag .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .3rem; }
.es-arch-pag .page-numbers {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .8rem;
	padding: .5rem .8rem;
	color: var(--es-ink);
	text-decoration: none;
	border: 1px solid var(--es-line-2);
}
.es-arch-pag .page-numbers.current {
	background: var(--es-ink);
	border-color: var(--es-ink);
	color: var(--es-paper);
}
@media (max-width: 860px) {
	.es-arch-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.es-arch-grid { grid-template-columns: 1fr; }
	.es-arch { padding: 2.5rem 1.25rem; }
}

/* --- Filtro de secciones (desplegable multiselección) — índice de noticias --- */
.es-secfilter {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 1rem 2rem;
	border-bottom: 1px solid var(--es-line);
	display: flex;
	align-items: center;
	gap: .8rem;
}
.es-secfilter__label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .68rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--es-muted);
}
.es-secfilter__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: .7rem;
	min-width: 210px;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .78rem;
	font-weight: 600;
	color: var(--es-ink);
	background: var(--es-surface);
	border: 1px solid var(--es-line-2);
	border-radius: 999px;
	padding: .55rem 1rem;
	cursor: pointer;
	transition: border-color .18s ease;
}
.es-secfilter__toggle:hover { border-color: var(--es-ink); }
.es-secfilter__caret { font-size: .62rem; transition: transform .18s ease; }
.es-secfilter[data-open="true"] .es-secfilter__caret { transform: rotate(180deg); }
.es-secfilter__panel {
	position: absolute;
	top: 100%;
	left: 2rem;
	z-index: 40;
	margin-top: .4rem;
	min-width: 240px;
	max-height: 340px;
	overflow-y: auto;
	background: var(--es-surface);
	border: 1px solid var(--es-line-2);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .10);
	padding: .4rem;
	display: none;
}
.es-secfilter[data-open="true"] .es-secfilter__panel { display: block; }
.es-secfilter__opt {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .5rem .7rem;
	border-radius: 8px;
	cursor: pointer;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .82rem;
	color: var(--es-ink);
}
.es-secfilter__opt:hover { background: var(--es-surface-2); }
.es-secfilter__opt input { width: 16px; height: 16px; accent-color: var(--es-ink); cursor: pointer; }
.es-secfilter__opt--all {
	border-bottom: 1px solid var(--es-line);
	margin-bottom: .2rem;
	font-weight: 600;
}
/* Contenedor de resultados mientras carga el filtro AJAX. */
#es-noticias-results { transition: opacity .18s ease; }
.es-arch--loading { opacity: .35; pointer-events: none; }
@media (max-width: 560px) {
	.es-secfilter { padding: 1rem 1.25rem; flex-wrap: wrap; gap: .5rem; }
	.es-secfilter__toggle { min-width: 0; flex: 1 1 auto; }
	.es-secfilter__panel { left: 1.25rem; right: 1.25rem; min-width: 0; }
}

/* ============================================================
   NUESTRAS PORTADAS (archivo de ediciones)
   ============================================================ */
.elementor-element-esprg01 > .elementor-container {
	max-width: 1240px;
	padding: 4rem 2rem;
}
.es-portadas-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 2px;
}
.es-portadas-grid .es-ed-card { text-decoration: none; }
@media (max-width: 480px) {
	.elementor-element-esprg01 > .elementor-container { padding: 2.5rem 1.25rem; }
	.es-portadas-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   404 Y BÚSQUEDA
   ============================================================ */
.es-404 .es-ph-inner {
	padding-top: 6rem;
	padding-bottom: 6rem;
}
.es-searchform {
	display: flex;
	gap: .5rem;
	max-width: 480px;
	margin: 2rem auto 0;
}
.es-searchform input[type="search"] {
	flex: 1;
	min-width: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	padding: .7rem .9rem;
	border: 1px solid var(--es-line-2);
	background: var(--es-surface);
	color: var(--es-ink);
}
.es-searchform input[type="search"]::placeholder { color: var(--es-muted); }
.es-searchform input[type="search"]:focus {
	outline: none;
	border-color: var(--es-ink);
}
.es-searchform button {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: var(--es-ink);
	color: var(--es-paper);
	border: none;
	padding: .7rem 1.4rem;
	cursor: pointer;
	transition: background .2s;
}
.es-searchform button:hover { background: var(--es-ink-soft); }
.es-back-home { display: inline-block; margin-top: 1.5rem; color: var(--es-ink); }
.es-back-home:hover { color: var(--es-muted); }

/* ============================================================
   MOVIMIENTO — scroll fluido + reveal editorial al hacer scroll
   Se activa SOLO si el JS añade .es-anim al <html> (lo hace únicamente
   cuando hay IntersectionObserver y NO hay prefers-reduced-motion).
   Si el JS no corre, .es-anim nunca se añade → todo se ve normal.
   ============================================================ */
/* Lenis (smooth scroll con inercia) — estilos requeridos por la librería. */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Estado inicial oculto de los bloques que se revelan (solo con .es-anim). */
html.es-anim :is(
	.es-sec-head, .es-en-head, .es-ev-head,
	.es-card-lg, .es-card-sm,
	.es-en-card,
	.es-ev-scroll,
	.es-ed-card,
	.es-hero-edition, .es-hero-title, .es-hero-actions,
	.es-cta-label, .es-cta-title, .es-cta-sub, .es-cta-anuncia .es-hbtn,
	.es-ph-inner, .es-adv-lead, .es-adv-h2,
	.es-stats, .es-topic, .es-fmt-card, .es-print, .es-caled,
	.es-ctaband__inner
) {
	opacity: 0;
	transform: translateY(26px);
	transition:
		opacity .8s cubic-bezier(.22, .7, .2, 1),
		transform .8s cubic-bezier(.22, .7, .2, 1);
	transition-delay: var(--es-d, 0s);
}
html.es-anim :is(
	.es-sec-head, .es-en-head, .es-ev-head,
	.es-card-lg, .es-card-sm,
	.es-en-card,
	.es-ev-scroll,
	.es-ed-card,
	.es-hero-edition, .es-hero-title, .es-hero-actions,
	.es-cta-label, .es-cta-title, .es-cta-sub, .es-cta-anuncia .es-hbtn,
	.es-ph-inner, .es-adv-lead, .es-adv-h2,
	.es-stats, .es-topic, .es-fmt-card, .es-print, .es-caled,
	.es-ctaband__inner
).es-in {
	opacity: 1;
	transform: none;
}

/* ============================================================
   ENLACES DE ACCIÓN — subrayado que se DIBUJA al pasar el mouse
   (misma gramática visual que las líneas de las cabeceras)
   ============================================================ */
.es-sec-link,
.es-en-vermas,
.es-ev-vermas,
.es-ed-vermas,
.es-ft-links a,
a.es-ft-cvalue {
	position: relative;
	display: inline-block;
}
.es-sec-link::after,
.es-en-vermas::after,
.es-ev-vermas::after,
.es-ed-vermas::after,
.es-ft-links a::after,
a.es-ft-cvalue::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s cubic-bezier(.22, .7, .2, 1);
}
.es-sec-link:hover::after,
.es-en-vermas:hover::after,
.es-ev-vermas:hover::after,
.es-ed-vermas:hover::after,
.es-ft-links a:hover::after,
a.es-ft-cvalue:hover::after {
	transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
	.es-sec-link::after,
	.es-en-vermas::after,
	.es-ev-vermas::after,
	.es-ed-vermas::after,
	.es-ft-links a::after,
	a.es-ft-cvalue::after { transition: none; }
}

/* ============================================================
   Sala de lectura de ediciones (flipbook DearFlip)
   Fondo oscuro editorial: la revista es lo único que "ilumina".
   ============================================================ */
.es-reader {
	background: #14110C; color: var(--es-paper);
	min-height: 100vh; display: flex; flex-direction: column;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.es-reader__bar {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem;
	padding: 1.1rem 1.75rem; border-bottom: 1px solid rgba(250, 248, 244, .14);
}
.es-reader__back,
.es-reader__home {
	color: var(--es-paper); text-decoration: none; white-space: nowrap;
	font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; opacity: .85;
	transition: opacity .2s;
}
.es-reader__back { justify-self: start; }
.es-reader__home { justify-self: end; font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; text-transform: none; font-size: .95rem; }
.es-reader__back:hover,
.es-reader__home:hover { opacity: 1; }
.es-reader__id { text-align: center; display: flex; flex-direction: column; gap: .15rem; line-height: 1.1; }
.es-reader__label { font-size: .64rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(250, 248, 244, .55); }
.es-reader__title { font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; font-size: clamp(1rem, 2.4vw, 1.35rem); }

.es-reader__stage { flex: 1; padding: clamp(1rem, 3vw, 2.5rem); display: flex; align-items: center; justify-content: center; }
.es-reader__stage .dflip-books,
.es-reader__stage ._df_book,
.es-reader__stage .df-container { width: 100%; max-width: 1200px; margin: 0 auto; }

/* En móvil damos todo el ancho y menos padding para que la página llene la pantalla */
@media (max-width: 680px) {
	.es-reader__stage { padding: .6rem; align-items: flex-start; }
	.es-reader__stage .dflip-books,
	.es-reader__stage ._df_book,
	.es-reader__stage .df-container { max-width: 100%; }
}

.es-reader__hint {
	text-align: center; color: rgba(250, 248, 244, .5);
	font-size: .78rem; letter-spacing: .02em; padding: 0 1.25rem 1.6rem; margin: 0;
}
.es-reader__soon { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1.4rem; margin: auto; padding: 2rem 1rem; }
.es-reader__cover { max-width: min(340px, 72vw); height: auto; box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .7); }
.es-reader__soonmsg { color: rgba(250, 248, 244, .78); font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; font-size: 1.05rem; max-width: 34ch; margin: 0; }

@media (max-width: 680px) {
	.es-reader__bar { padding: .9rem 1.1rem; }
	.es-reader__home { display: none; }
	.es-reader__bar { grid-template-columns: auto 1fr; }
	.es-reader__id { text-align: right; }
}

/* ============================================================
   Grid de portadas de ediciones  [es_ediciones]
   ============================================================ */
.es-edgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: clamp(1.5rem, 3vw, 2.6rem);
}
.es-edgrid__empty { color: var(--es-muted); font-style: italic; }
.es-edcard { text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.es-edcard__cover {
	display: block; aspect-ratio: 3 / 4; overflow: hidden;
	background: var(--es-surface-2); box-shadow: 0 18px 40px -22px rgba(20, 17, 12, .55);
}
.es-edcard__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s cubic-bezier(.22, .7, .2, 1); }
.es-edcard:hover .es-edcard__img { transform: scale(1.045); }
.es-edcard__noimg {
	display: flex; width: 100%; height: 100%; align-items: center; justify-content: center;
	padding: 1rem; text-align: center; color: var(--es-muted);
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em; font-size: .95rem;
}
.es-edcard__meta { padding-top: .75rem; }
.es-edcard__label { display: block; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--es-muted); }
.es-edcard__title { display: block; font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; font-size: 1.08rem; line-height: 1.2; color: var(--es-ink); margin-top: .18rem; }
.es-edcard:hover .es-edcard__title { text-decoration: underline; text-underline-offset: 3px; }
.es-edarchive { max-width: 1200px; margin: 0 auto; padding: clamp(2rem, 5vw, 4rem) clamp(1.1rem, 4vw, 2rem) clamp(3rem, 7vw, 5rem); }

/* ============================================================
   EQUIPO — página «Quiénes Somos»  [es_equipo]
   ============================================================ */
.es-team { max-width: 1200px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) clamp(1.1rem, 4vw, 2rem) clamp(3rem, 7vw, 5rem); }
.es-team__head { text-align: center; margin-bottom: clamp(2rem, 5vw, 3.4rem); }
.es-team__title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-style: italic;
	font-weight: 600;
	font-size: clamp(2.6rem, 8vw, 5.5rem);
	line-height: .95;
	letter-spacing: -.01em;
	color: var(--es-ink);
	margin: 0;
	text-transform: uppercase;
}
.es-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: clamp(1.6rem, 3.2vw, 2.8rem) clamp(1.1rem, 2.4vw, 1.8rem);
}
.es-team__card { display: flex; flex-direction: column; text-align: center; height: 100%; }
.es-team__photo {
	aspect-ratio: 4 / 5;
	background-color: var(--es-surface-2);
	background-size: cover;
	background-position: center top;
	box-shadow: 0 18px 40px -22px rgba(20, 17, 12, .55);
}
.es-team__name {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.06rem;
	line-height: 1.2;
	color: var(--es-ink);
	margin: .85rem 0 0;
}
.es-team__role {
	font-size: .8rem;
	line-height: 1.35;
	color: var(--es-ink-soft);
	margin: .2rem 0 0;
}
.es-team__ig {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	margin: auto auto 0;
	padding-top: .45rem;
	font-size: .72rem;
	letter-spacing: .04em;
	color: var(--es-muted);
	text-decoration: none;
	transition: color .2s ease;
}
.es-team__ig:hover { color: var(--es-ink); }
.es-team__igicon { flex: 0 0 auto; }
@media (max-width: 600px) {
	.es-team__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem 1rem; }
	.es-team__title { font-size: clamp(2.4rem, 16vw, 3.4rem); }
}

/* En la página del equipo, el cuerpo de lectura se ensancha para la rejilla. */
.es-team-page .es-art-body { max-width: 1180px; padding: 0 clamp(1.1rem, 4vw, 2rem) clamp(2rem, 5vw, 3rem); font-size: 1rem; line-height: 1.5; }
.es-team-page .es-team { padding-left: 0; padding-right: 0; }

/* ============================================================
   EQUIPO ES — franja del home (carrusel horizontal)  [es_equipo_home]
   ============================================================ */
.es-thome { background: var(--es-surface-2); padding: clamp(3rem, 6vw, 5rem) 0; overflow: hidden; }
.es-thome__inner { max-width: 1240px; margin: 0 auto; padding: 0 2rem; }
.es-thome .es-en-head { margin-bottom: clamp(1.8rem, 3.5vw, 2.6rem); }

.es-thome__marquee {
	position: relative;
	overflow-x: auto; overflow-y: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	cursor: grab; touch-action: pan-x; user-select: none;
	scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch;
}
.es-thome__marquee::-webkit-scrollbar { width: 0; height: 0; display: none; }
.es-thome__marquee.is-grabbing { cursor: grabbing; }
.es-thome__marquee a, .es-thome__marquee .es-thome__photo { -webkit-user-drag: none; user-drag: none; }
.es-thome__track { display: flex; width: max-content; }

.es-thome__card { flex: 0 0 auto; width: 200px; margin-right: 1.5rem; text-decoration: none; color: inherit; display: flex; flex-direction: column; text-align: center; }
.es-thome__photo {
	display: block; width: 200px; height: 250px;
	background-color: var(--es-surface);
	background-size: cover; background-position: center top; background-repeat: no-repeat;
	box-shadow: 0 18px 40px -22px rgba(20, 17, 12, .55);
	transition: transform .5s cubic-bezier(.22, .7, .2, 1);
}
.es-thome__card:hover .es-thome__photo { transform: translateY(-4px); }
.es-thome__name { font-family: "Taviraj", Georgia, serif; letter-spacing: -0.04em; font-size: 1rem; color: var(--es-ink); margin-top: .75rem; line-height: 1.2; }
.es-thome__role { font-size: .75rem; color: var(--es-ink-soft); margin-top: .15rem; line-height: 1.3; }
.es-thome__foot { margin-top: clamp(2rem, 4vw, 3rem); text-align: center; }

/* El auto-desplazamiento y el arrastre manual del equipo del home los maneja
   el script inline del shortcode [es_equipo_home]; respeta prefers-reduced-motion
   (sin auto-desplazamiento), pero el arrastre/deslizamiento manual sigue activo. */
@media (max-width: 600px) {
	.es-thome__card, .es-thome__photo { width: 150px; }
	.es-thome__photo { height: 188px; }
}

/* ============================================================
   Sección Instagram del home (.es-ig) — envuelve el feed de
   Smash Balloon con el mismo lenguaje visual que .es-en-*.
   ============================================================ */
.es-ig {
	max-width: 1240px;
	margin: 0 auto;
	padding: 5rem 2rem;
}
.es-ig-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	margin-bottom: 2.5rem;
}
.es-ig-label {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 .5rem;
}
.es-ig-title {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 700;
	font-style: italic;
	color: var(--es-ink);
	line-height: 1.1;
	margin: 0;
}
.es-ig-handle {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--es-muted);
	border-bottom: 1px solid var(--es-line-2);
	padding-bottom: 2px;
	white-space: nowrap;
	text-decoration: none;
	transition: color .2s, border-color .2s;
}
.es-ig-handle:hover { color: var(--es-ink); border-color: var(--es-ink); }

/* Contenedor del feed: neutraliza márgenes propios del plugin. */
.es-ig-feed #sb_instagram,
.es-ig-feed .sbi_photo_wrap { padding: 0 !important; }
.es-ig-feed { margin: 0; }

.es-ig-notice {
	border: 1px dashed var(--es-line-2);
	background: var(--es-surface-2);
	color: var(--es-ink-soft);
	font-size: .95rem;
	line-height: 1.6;
	padding: 1.5rem 1.75rem;
	border-radius: 2px;
}

.es-ig-footer { margin-top: 2.5rem; text-align: center; }
/* Botón propio de la sección (el .es-hbtn-gold del hero es invisible sobre papel). */
.es-ig-footer .es-hbtn {
	background: var(--es-ink);
	color: var(--es-paper);
	border: 1px solid var(--es-ink);
}
.es-ig-footer .es-hbtn:hover {
	background: transparent;
	color: var(--es-ink);
	border-color: var(--es-ink);
}

@media (max-width: 767px) {
	.es-ig { padding: 3.5rem 1.25rem; }
	.es-ig-head { margin-bottom: 1.75rem; }
}

/* ============================================================
   ANUNCIANTES — extras del media kit (temáticas, impresión, calendario)
   ============================================================ */
.es-topics {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	max-width: 900px;
	margin: 0 auto 4rem;
}
.es-topic {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--es-ink-soft);
	border: 1px solid var(--es-line-2);
	border-radius: 999px;
	padding: .45rem .9rem;
}

.es-print {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--es-line-2);
	border: 1px solid var(--es-line-2);
	margin: 0 0 4rem;
}
.es-print__col {
	background: var(--es-surface);
	padding: 2.25rem 2rem;
}
.es-print__eyebrow {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .65rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 1.25rem;
}
.es-print__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}
.es-print__list li {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .95rem;
	color: var(--es-ink-soft);
	line-height: 1.4;
	padding-left: 1.1rem;
	position: relative;
}
.es-print__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .5em;
	width: 5px;
	height: 5px;
	background: var(--es-ink);
	border-radius: 50%;
}

.es-caled {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
	background: var(--es-line-2);
	border: 1px solid var(--es-line-2);
}
.es-caled__item {
	background: var(--es-surface);
	padding: 1.75rem 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: .4rem;
}
.es-caled__month {
	font-family: "Taviraj", Georgia, serif;
	letter-spacing: -0.04em;
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--es-ink);
}
.es-caled__cover {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--es-muted);
	line-height: 1.3;
}
.es-caled__cover strong {
	display: block;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--es-ink-soft);
	font-size: .85rem;
	margin-top: .25rem;
}

@media (max-width: 860px) {
	.es-print { grid-template-columns: 1fr; }
	.es-caled { grid-template-columns: repeat(2, 1fr); }
	.es-topics { margin-bottom: 3rem; }
}
@media (max-width: 480px) {
	.es-caled { grid-template-columns: 1fr; }
}

/* ============================================================
   Resultados de búsqueda — eventos de la Galería
   ============================================================ */
.es-galres { margin: 0 0 2.6rem; }
.es-galres__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .es-galres__grid { grid-template-columns: 1fr 1fr; } }
.es-galres__card {
	display: flex; align-items: stretch; gap: 1rem;
	background: var(--es-surface); border: 1px solid var(--es-line);
	border-radius: 3px; overflow: hidden; text-decoration: none; color: var(--es-ink);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.es-galres__card:hover { border-color: var(--es-line-2); box-shadow: 0 8px 24px rgba(20,19,17,.08); transform: translateY(-1px); }
.es-galres__media { flex: 0 0 120px; background: var(--es-surface-2); overflow: hidden; }
.es-galres__media img { display: block; width: 120px; height: 100%; min-height: 104px; object-fit: cover; }
.es-galres__body { display: flex; flex-direction: column; justify-content: center; gap: .32rem; padding: .9rem 1.05rem .9rem 0; min-width: 0; }
.es-galres__tag {
	align-self: flex-start;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .56rem; font-weight: 600;
	letter-spacing: .2em; text-transform: uppercase; line-height: 1;
	background: var(--es-ink); color: var(--es-paper);
	padding: .3rem .5rem; border-radius: 2px;
}
.es-galres__name {
	font-family: "Taviraj", Georgia, serif; font-weight: 500; font-size: 1.32rem; line-height: 1.15;
	letter-spacing: -0.02em; color: var(--es-ink);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.es-galres__meta { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: .72rem; color: var(--es-muted); }
.es-galres__h2 {
	font-family: "Taviraj", Georgia, serif; font-weight: 500; font-size: 1.15rem;
	letter-spacing: -0.01em; color: var(--es-ink); margin: 0 0 1.1rem;
	padding-top: .4rem; border-top: 1px solid var(--es-line);
}
