/*
 * Agenda cultural · hoja base.
 *
 * Tokens tomados de las variables del Figma (Agenda Cultural - UX). Es la base para que el
 * marcado se vea como el diseño sin JavaScript; el ajuste fino es de FrontEnd.
 * Móvil primero (320 px, RD 1112/2018); escritorio desde 1024 px.
 */

:root {
	--azul-50: var(--wp--preset--color--fondo, #f3f9ff);
	--azul-100: var(--wp--preset--color--fondo-alt, #e2f1ff);
	--azul-200: var(--wp--preset--color--borde, #c4e0ff);
	--azul-600: var(--wp--preset--color--primario, #0073e0);
	--azul-700: var(--wp--preset--color--primario-oscuro, #005bba);
	--azul-800: var(--wp--preset--color--marca-medio, #004291);
	--azul-900: var(--wp--preset--color--marca, #002c55);
	--secundario-100: var(--wp--preset--color--acento-claro, #cff8e5);
	--secundario-200: var(--wp--preset--color--acento-suave, #9fedcd);
	--secundario-300: var(--wp--preset--color--acento, #6dd7b0);
	--secundario-400: var(--wp--preset--color--acento-borde, #46bc96);
	--neutro-0: var(--wp--preset--color--base, #fff);
	--neutro-100: var(--wp--preset--color--neutro-100, #eceff1);
	--neutro-200: var(--wp--preset--color--neutro-200, #dcdee1);
	--neutro-300: var(--wp--preset--color--neutro-300, #c5c7ca);
	--neutro-500: var(--wp--preset--color--neutro-500, #7e8082);
	--neutro-600: var(--wp--preset--color--neutro-600, #67696b);
	--neutro-700: var(--wp--preset--color--texto-suave, #545557);
	--neutro-800: var(--wp--preset--color--neutro-800, #3c3d3f);
	--neutro-900: var(--wp--preset--color--neutro-900, #202223);
	--categoria-naranja-claro: var(--wp--preset--color--categoria-naranja-claro, #ffebe1);
	--categoria-naranja-medio: var(--wp--preset--color--categoria-naranja-medio, #b25200);
	--categoria-naranja-oscuro: var(--wp--preset--color--categoria-naranja-oscuro, #733200);
	--categoria-violeta-claro: var(--wp--preset--color--categoria-violeta-claro, #f4ebff);
	--categoria-violeta-medio: var(--wp--preset--color--categoria-violeta-medio, #9f00f9);
	--categoria-violeta-oscuro: var(--wp--preset--color--categoria-violeta-oscuro, #6a00a9);
	--categoria-verde-claro: var(--wp--preset--color--categoria-verde-claro, #d5f8d5);
	--categoria-verde-medio: var(--wp--preset--color--categoria-verde-medio, #007f20);
	--categoria-verde-oscuro: var(--wp--preset--color--categoria-verde-oscuro, #005111);
	--categoria-magenta-claro: var(--wp--preset--color--categoria-magenta-claro, #ffe9f3);
	--categoria-magenta-medio: var(--wp--preset--color--categoria-magenta-medio, #ca0085);
	--categoria-magenta-oscuro: var(--wp--preset--color--categoria-magenta-oscuro, #870058);
	--categoria-turquesa-claro: var(--wp--preset--color--categoria-turquesa-claro, #bffaf9);
	--categoria-turquesa-medio: var(--wp--preset--color--categoria-turquesa-medio, #007b7b);
	--categoria-turquesa-oscuro: var(--wp--preset--color--categoria-turquesa-oscuro, #004d4d);
	--categoria-rojo-claro: var(--wp--preset--color--categoria-rojo-claro, #ffeae8);
	--categoria-rojo-medio: var(--wp--preset--color--categoria-rojo-medio, #d30022);
	--categoria-rojo-oscuro: var(--wp--preset--color--categoria-rojo-oscuro, #8f0014);

	--espacio-4: var(--wp--preset--spacing--4, 4px);
	--espacio-8: var(--wp--preset--spacing--8, 8px);
	--espacio-12: var(--wp--preset--spacing--12, 12px);
	--espacio-16: var(--wp--preset--spacing--16, 16px);
	--espacio-24: var(--wp--preset--spacing--24, 24px);
	--espacio-32: var(--wp--preset--spacing--32, 32px);
	--espacio-48: var(--wp--preset--spacing--48, 48px);
	--espacio-64: var(--wp--preset--spacing--64, 64px);
	--radio-s: 4px;
	--radio-m: 8px;
	--radio-completo: 999px;
	--layout-margen: 16px;
	--layout-medianil: 16px;

	--fs-display: var(--wp--preset--font-size--display, 44px);
	--fs-h1: var(--wp--preset--font-size--h-1, 35px);
	--fs-h2: var(--wp--preset--font-size--h-2, 28px);
	--fs-h3: var(--wp--preset--font-size--h-3, 24px);
	--fs-h4: var(--wp--preset--font-size--h-4, 20px);
	--fs-h5: var(--wp--preset--font-size--h-5, 19px);
	--fs-h6: var(--wp--preset--font-size--h-6, 17px);
	--fs-body-m: var(--wp--preset--font-size--cuerpo-m, 19px);
	--fs-body-s: var(--wp--preset--font-size--cuerpo-s, 17px);
	--fs-body-xs: var(--wp--preset--font-size--cuerpo-xs, 15px);

	--fuente-titular: var(--wp--preset--font-family--titular, "Bricolage Grotesque", system-ui, sans-serif);
	--fuente-cuerpo: var(--wp--preset--font-family--cuerpo, "Atkinson Hyperlegible Next", system-ui, sans-serif);
}

@media (min-width: 1024px) {
	:root {
		--layout-margen: 48px;
		--layout-medianil: 24px;
		--fs-display: var(--wp--preset--font-size--display, 68px);
		--fs-h1: var(--wp--preset--font-size--h-1, 44px);
		--fs-h2: var(--wp--preset--font-size--h-2, 35px);
		--fs-h3: var(--wp--preset--font-size--h-3, 28px);
		--fs-h4: var(--wp--preset--font-size--h-4, 22px);
		--fs-h5: var(--wp--preset--font-size--h-5, 20px);
		--fs-h6: var(--wp--preset--font-size--h-6, 18px);
		--fs-body-m: var(--wp--preset--font-size--cuerpo-m, 20px);
		--fs-body-s: var(--wp--preset--font-size--cuerpo-s, 18px);
		--fs-body-xs: var(--wp--preset--font-size--cuerpo-xs, 16px);
	}
}

/*
 * Con el tema Cultura Guadaíra los valores salen de Apariencia › Editor › Estilos
 * (presets de theme.json); los valores tras la coma son el respaldo con otro tema.
 */

/* Color de categoría y acento: una clase asigna los tres tonos. */
.agc-color--naranja { --c-claro: var(--categoria-naranja-claro); --c-medio: var(--categoria-naranja-medio); --c-oscuro: var(--categoria-naranja-oscuro); }
.agc-color--violeta { --c-claro: var(--categoria-violeta-claro); --c-medio: var(--categoria-violeta-medio); --c-oscuro: var(--categoria-violeta-oscuro); }
.agc-color--verde { --c-claro: var(--categoria-verde-claro); --c-medio: var(--categoria-verde-medio); --c-oscuro: var(--categoria-verde-oscuro); }
.agc-color--magenta { --c-claro: var(--categoria-magenta-claro); --c-medio: var(--categoria-magenta-medio); --c-oscuro: var(--categoria-magenta-oscuro); }
.agc-color--turquesa { --c-claro: var(--categoria-turquesa-claro); --c-medio: var(--categoria-turquesa-medio); --c-oscuro: var(--categoria-turquesa-oscuro); }
.agc-color--rojo { --c-claro: var(--categoria-rojo-claro); --c-medio: var(--categoria-rojo-medio); --c-oscuro: var(--categoria-rojo-oscuro); }
.agc-color--neutro { --c-claro: var(--neutro-300); --c-medio: var(--neutro-500); --c-oscuro: var(--neutro-900); }
.agc-acento--secundario { --a-claro: var(--secundario-100); --a-medio: var(--secundario-400); }
.agc-acento--naranja { --a-claro: var(--categoria-naranja-claro); --a-medio: var(--categoria-naranja-medio); }
.agc-acento--violeta { --a-claro: var(--categoria-violeta-claro); --a-medio: var(--categoria-violeta-medio); }
.agc-acento--verde { --a-claro: var(--categoria-verde-claro); --a-medio: var(--categoria-verde-medio); }
.agc-acento--magenta { --a-claro: var(--categoria-magenta-claro); --a-medio: var(--categoria-magenta-medio); }
.agc-acento--turquesa { --a-claro: var(--categoria-turquesa-claro); --a-medio: var(--categoria-turquesa-medio); }
.agc-acento--rojo { --a-claro: var(--categoria-rojo-claro); --a-medio: var(--categoria-rojo-medio); }

/* ------------------------------------------------------------------ Base */

.agc,
.agc-bloque {
	font-family: var(--fuente-cuerpo);
	font-size: var(--fs-body-s);
	line-height: 1.5;
}
/* El bloque hereda el color de texto de donde se coloque (columna, grupo, ajuste propio). */
.agc { background: var(--azul-50); color: var(--azul-900); }
:where(.agc, .agc-bloque) *,
:where(.agc, .agc-bloque) *::before,
:where(.agc, .agc-bloque) *::after { box-sizing: border-box; }
:where(.agc, .agc-bloque) :is(h1, h2, h3, h4) { font-family: var(--fuente-titular); margin: 0; }
:where(.agc) :is(h1, h2, h3, h4) { color: var(--azul-900); }
:where(.agc, .agc-bloque) h1 { font-size: var(--fs-h1); font-weight: 700; line-height: 1.1; }
:where(.agc, .agc-bloque) h2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.15; }
:where(.agc, .agc-bloque) h3 { font-size: var(--fs-h4); font-weight: 600; line-height: 1.3; }
:where(.agc, .agc-bloque) p { margin: 0; }
:where(.agc, .agc-bloque) img { max-width: 100%; height: auto; display: block; }
:where(.agc, .agc-bloque) ul { margin: 0; padding: 0; list-style: none; }
:where(.agc, .agc-bloque) a { color: var(--azul-700); }
:where(.agc, .agc-bloque) :focus-visible { outline: 3px solid var(--azul-700); outline-offset: 3px; }
:where(.agc, .agc-bloque) .agc-icono { flex: none; }
.agc-tachado { text-decoration: line-through; }

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

/* Botón (Figma «Botón»: Azul/600, etiqueta blanca Bricolage Medium, mínimo 48 px de alto). */
.agc-boton {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--espacio-12);
	min-height: 48px; padding: var(--espacio-12) var(--espacio-24);
	font-family: var(--fuente-titular); font-weight: 500; font-size: var(--fs-h6); line-height: 1.5;
	text-decoration: none; text-align: center; border: 2px solid var(--azul-600); cursor: pointer;
}
.agc-boton--principal,
:where(.agc, .agc-bloque) a.agc-boton--principal { background: var(--azul-600); color: var(--neutro-0); }
.agc-boton--principal:hover { background: var(--azul-700); border-color: var(--azul-700); color: var(--neutro-0); }
.agc-boton--secundario,
:where(.agc, .agc-bloque) a.agc-boton--secundario { background: var(--neutro-0); color: var(--azul-700); }
.agc-boton--secundario:hover { background: var(--azul-100); }
.agc-enlace {
	display: inline-flex; align-items: center; min-height: 48px; padding: var(--espacio-12) var(--espacio-4);
	font-family: var(--fuente-titular); font-weight: 500; font-size: var(--fs-h6);
	color: var(--azul-900); text-decoration: underline; text-decoration-color: var(--azul-200);
	text-decoration-thickness: 30%; text-underline-offset: 0.1em;
}
.agc-enlace:hover { text-decoration-color: var(--azul-600); }
.agc-contador {
	display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px;
	padding: 0 6px; border-radius: var(--radio-completo); background: var(--azul-600); color: var(--neutro-0);
	font-weight: 700; font-size: var(--fs-body-xs); line-height: 1;
}

/* Etiqueta de categoría: dos líneas como máximo (§3.3). */
.agc-cat {
	display: inline-flex; align-items: flex-end; gap: 2px;
	padding: 0 var(--espacio-4); background: var(--c-claro); color: var(--c-oscuro);
	font-weight: 700; font-size: var(--fs-body-xs); line-height: 0.8;
}
.agc-cat__nombre { display: block; max-width: 12ch; padding: 3px 0 2px; }
.agc-cat--noticia { background: var(--azul-900); color: var(--neutro-0); }

/* Etiquetas (atributos). */
.agc-etiquetas { display: flex; flex-wrap: wrap; }
.agc-etiqueta {
	display: inline-flex; align-items: center; gap: var(--espacio-8);
	padding: var(--espacio-4) var(--espacio-8); margin: 0 -1px -1px 0;
	background: var(--azul-100); border: 1px solid var(--azul-200); color: var(--azul-800);
	font-weight: 700; font-size: 15px; line-height: 1.5;
}
@media (min-width: 1024px) { .agc-etiqueta { padding: var(--espacio-12) var(--espacio-16); } }
.agc-etiqueta--activa { background: var(--azul-800); border-color: var(--azul-900); color: var(--neutro-0); text-decoration: none; }

/* ------------------------------------------------------------------ Tarjeta de evento */

.agc-lista { display: flex; flex-direction: column; gap: var(--espacio-12); }
.agc-tarjeta { position: relative; border-left: 2px solid var(--c-medio); }
.agc-tarjeta__categoria { margin-bottom: -1px; position: relative; z-index: 1; }
.agc-tarjeta__marco { background: var(--neutro-0); border: 1px solid var(--azul-200); border-left: 0; }
.agc-tarjeta__cuerpo { display: flex; align-items: flex-start; gap: var(--espacio-24); }
.agc-tarjeta__texto { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: var(--espacio-8); padding: var(--espacio-12); }
@media (min-width: 1024px) { .agc-tarjeta__texto { padding: var(--espacio-16) var(--espacio-24); } }
.agc-tarjeta__cuando { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espacio-8); color: var(--neutro-700); font-size: var(--fs-body-s); }
:where(.agc, .agc-bloque) .agc-tarjeta__titulo { font-size: var(--fs-h4); font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.agc-tarjeta__enlace { color: inherit; text-decoration: none; }
.agc-tarjeta__enlace::after { content: ""; position: absolute; inset: 0; } /* Toda la tarjeta es pulsable. */
.agc-tarjeta__enlace:focus-visible { outline: none; }
.agc-tarjeta:focus-within { outline: 3px solid var(--azul-700); outline-offset: 3px; }
.agc-tarjeta__lugar { display: flex; align-items: center; gap: var(--espacio-4); color: var(--azul-600); font-size: var(--fs-body-xs); }
.agc-tarjeta__imagen { flex: none; width: 60px; height: 84px; object-fit: cover; }
@media (min-width: 1024px) { .agc-tarjeta__imagen { width: 120px; height: 168px; } }
.agc-ahora { color: var(--categoria-rojo-medio); display: inline-flex; align-items: center; gap: var(--espacio-8); }
.agc-ahora::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.agc-ahora[hidden] { display: none; }
.agc-aviso-estado { color: var(--categoria-rojo-oscuro); font-weight: 700; }
.agc-tarjeta--terminada { --c-claro: var(--neutro-300); --c-medio: var(--neutro-500); --c-oscuro: var(--neutro-900); }
.agc-tarjeta--terminada .agc-tarjeta__marco { border-color: var(--neutro-200); }
.agc-tarjeta--terminada .agc-tarjeta__titulo { color: var(--neutro-900); }
.agc-tarjeta--terminada .agc-tarjeta__lugar { color: var(--neutro-600); }
.agc-tarjeta--terminada .agc-etiqueta { background: var(--neutro-100); border-color: var(--neutro-200); color: var(--neutro-800); }
.agc-separador { display: flex; align-items: center; gap: var(--espacio-12); color: var(--neutro-700); }
.agc-separador::before, .agc-separador::after { content: ""; flex: 1; border-top: 1px dashed var(--neutro-700); }

/* Macroevento en listados. */
.agc-macro { border-left: 2px solid var(--a-medio); background: color-mix(in srgb, var(--a-medio) 6%, transparent); padding-bottom: var(--espacio-4); }
.agc-macro__cabecera { display: flex; align-items: flex-start; }
.agc-macro__texto { flex: 1; display: flex; flex-direction: column; gap: var(--espacio-8); padding: var(--espacio-12); }
:where(.agc, .agc-bloque) .agc-macro__titulo { font-size: var(--fs-h4); font-weight: 600; }
.agc-macro__titulo a { color: inherit; text-decoration: none; }
.agc-macro__titulo a:hover { text-decoration: underline; }
.agc-macro__imagen { width: 60px; height: 75px; object-fit: cover; }
.agc-macro__hijos { padding-left: var(--espacio-4); }
.agc-contadores { display: flex; flex-wrap: wrap; gap: var(--espacio-4) var(--espacio-12); color: var(--neutro-700); font-size: var(--fs-body-xs); }
.agc-contadores li { display: inline-flex; align-items: center; gap: var(--espacio-4); }
.agc-contadores--grande { font-size: var(--fs-body-s); }

/* ------------------------------------------------------------------ Archivo */

.agc-cabecera-archivo {
	background: var(--azul-100); padding: var(--espacio-48) var(--layout-margen) var(--espacio-24);
	display: flex; flex-direction: column; align-items: center; gap: var(--espacio-24); text-align: center;
}
.agc-cabecera-archivo__subtitulo { font-size: var(--fs-body-m); }
.agc-selector-fecha { display: flex; flex-direction: column; align-items: stretch; gap: var(--espacio-12); width: 100%; max-width: 420px; }
.agc-selector-fecha__campos { display: grid; grid-template-columns: 4.2em minmax(0, 1fr) 5.4em; border: 0; padding: 0; margin: 0; min-width: 0; }
.agc-select { position: relative; display: inline-flex; align-items: center; background: var(--neutro-0); border: 1px solid var(--azul-200); color: var(--azul-900); }
.agc-select select {
	appearance: none; border: 0; background: transparent; color: inherit; font: inherit;
	min-height: 48px; padding: var(--espacio-8) 36px var(--espacio-8) var(--espacio-12); width: 100%; cursor: pointer;
}
.agc-select .agc-icono--expand_more { position: absolute; right: 8px; pointer-events: none; }
.agc-select--fecha select { font-family: var(--fuente-titular); font-weight: 600; font-size: 20px; padding-right: 30px; padding-left: var(--espacio-8); }
.agc-select--fecha .agc-icono--expand_more { right: 4px; }
.agc-select--fecha + .agc-select--fecha { margin-left: -1px; }
.agc-select--lugar .agc-icono--place { position: absolute; left: 12px; pointer-events: none; color: var(--azul-600); }
.agc-select--lugar select { padding-left: 36px; }

.agc-archivo__cuerpo { display: grid; gap: var(--espacio-24); padding: var(--espacio-24) var(--layout-margen) var(--espacio-48); }
@media (min-width: 1024px) {
	.agc-archivo__cuerpo { grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); align-items: start; }
	.agc-archivo__filtros { position: sticky; top: var(--espacio-24); }
}
.agc-archivo__resultados { display: flex; flex-direction: column; gap: var(--espacio-24); min-width: 0; }
:where(.agc, .agc-bloque) .agc-dia__titulo { font-size: var(--fs-h3); margin-bottom: var(--espacio-12); }
.agc-dia__titulo a { color: inherit; text-decoration: none; }
.agc-dia__titulo a:hover { text-decoration: underline; }
.agc-nav-dias { display: grid; grid-template-columns: 1fr 1fr; background: var(--neutro-0); }
.agc-nav-dias__salto {
	display: flex; align-items: center; justify-content: center; gap: var(--espacio-8); min-height: 48px; padding: var(--espacio-12);
	border: 2px solid var(--azul-600); color: var(--azul-700); text-decoration: none;
	font-family: var(--fuente-titular); font-weight: 500; font-size: var(--fs-h6);
}
.agc-nav-dias__salto + .agc-nav-dias__salto { margin-left: -2px; }
.agc-nav-dias__otra { grid-column: 1 / -1; justify-content: center; }

/* Filtros. */
.agc-filtros { background: var(--neutro-0); }
.agc-filtros__mostrar { width: 100%; list-style: none; }
.agc-filtros__mostrar::-webkit-details-marker { display: none; }
.agc-filtros__formulario { display: flex; flex-direction: column; gap: var(--espacio-24); padding: var(--espacio-24) var(--espacio-16); }
@media (min-width: 1024px) {
	/* En escritorio el panel siempre está abierto (columna lateral). */
	:is(.agc-archivo, .agc-columnas-archivo) .agc-filtros__mostrar { display: none; }
	:is(.agc-archivo, .agc-columnas-archivo) .agc-filtros::details-content { content-visibility: visible; display: contents; }
}
:where(.agc, .agc-bloque) .agc-filtros__titulo { display: flex; align-items: center; gap: var(--espacio-8); font-size: var(--fs-h3); }
.agc-filtros__grupos { display: flex; flex-direction: column; gap: var(--espacio-24); }
.agc-grupo { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--espacio-12); }
.agc-grupo__leyenda { display: flex; flex-direction: column; padding: 0; }
.agc-grupo__titulo { font-size: var(--fs-body-m); color: var(--azul-900); }
.agc-grupo__ayuda { font-size: var(--fs-body-xs); color: var(--neutro-700); }
.agc-chips { display: flex; flex-wrap: wrap; gap: var(--espacio-8); }
.agc-chip__control, .agc-casilla { position: absolute; opacity: 0; width: 1px; height: 1px; }
.agc-chip {
	display: inline-flex; align-items: center; gap: var(--espacio-8); cursor: pointer;
	padding: var(--espacio-12) var(--espacio-16); background: var(--azul-100); border: 1px solid var(--azul-200);
	color: var(--azul-800); font-weight: 700; font-size: 17px; line-height: 1.5;
}
.agc-chip .agc-icono { display: none; }
.agc-chip__control:checked + .agc-chip { background: var(--azul-800); border-color: var(--azul-900); color: var(--neutro-0); }
.agc-chip__control:checked + .agc-chip .agc-icono { display: block; }
.agc-chip__control:focus-visible + .agc-chip,
.agc-casilla:focus-visible + label { outline: 3px solid var(--azul-700); outline-offset: 3px; }
.agc-opciones-categoria { display: flex; flex-direction: column; gap: var(--espacio-16); }
.agc-opciones-categoria label { display: inline-flex; align-items: center; gap: var(--espacio-12); cursor: pointer; min-height: 32px; }
.agc-opciones-categoria label::before {
	content: ""; width: 20px; height: 20px; flex: none; border: 2px solid var(--azul-700); border-radius: 50%; background: var(--neutro-0);
}
.agc-casilla:checked + label::before { background: radial-gradient(circle, var(--azul-700) 45%, var(--neutro-0) 50%); }
.agc-filtros__unicos { display: flex; flex-direction: column; gap: var(--espacio-24); }
.agc-filtros__unicos .agc-select { display: flex; width: 100%; }
.agc-filtros__enviar .agc-boton { width: 100%; }

.agc-activos { display: flex; flex-direction: column; gap: var(--espacio-8); }
:where(.agc, .agc-bloque) .agc-activos__titulo { font-size: var(--fs-h5); }
.agc-activos__lista { display: flex; flex-wrap: wrap; gap: var(--espacio-8); }

.agc-vacio { background: var(--neutro-0); border: 1px solid var(--azul-200); padding: var(--espacio-24); }
.agc-vacio__frase { font-size: var(--fs-body-m); }
.agc-vacio__acciones { display: flex; flex-wrap: wrap; gap: 0 var(--espacio-24); }

:where(.agc, .agc-bloque) .nav-links { display: flex; flex-wrap: wrap; gap: var(--espacio-8); }
:where(.agc, .agc-bloque) .page-numbers { display: inline-flex; min-width: 48px; min-height: 48px; align-items: center; justify-content: center; border: 2px solid var(--azul-600); color: var(--azul-700); text-decoration: none; padding: 0 var(--espacio-12); }
:where(.agc, .agc-bloque) .page-numbers.current { background: var(--azul-600); color: var(--neutro-0); }

/* ------------------------------------------------------------------ Ficha */

@media (min-width: 1024px) {
	.agc-ficha { display: grid; grid-template-columns: 480px minmax(0, 1fr); align-items: start; }
	.agc-ficha__lateral { position: sticky; top: 0; }
}
.agc-ficha__lateral { background: var(--neutro-0); display: flex; flex-direction: column; }
.agc-volver {
	display: flex; align-items: center; gap: var(--espacio-16); min-height: 48px; padding: var(--espacio-12) var(--espacio-24);
	background: var(--azul-600); color: var(--neutro-0) !important; text-decoration: none;
	font-family: var(--fuente-titular); font-weight: 500; font-size: var(--fs-h6);
}
.agc-volver:hover { background: var(--azul-700); }
.agc-ficha__categoria { padding: var(--espacio-16) var(--espacio-24) 0; margin-bottom: -1px; }
.agc-ficha__categoria .agc-cat { font-size: 29px; padding: 0 7px; }
.agc-ficha__principal {
	display: flex; flex-direction: column; gap: var(--espacio-24);
	padding: var(--espacio-32) var(--espacio-48) var(--espacio-32) var(--espacio-32);
	border-left: 4px solid var(--c-medio, var(--a-medio, var(--azul-600)));
}
.agc-ficha__cuando { display: flex; flex-direction: column; gap: var(--espacio-12); }
.agc-ficha__fecha { display: flex; flex-wrap: wrap; gap: var(--espacio-8); color: var(--neutro-700); font-size: 17px; }
.agc-aviso { display: inline-flex; flex-wrap: wrap; gap: var(--espacio-12); padding: var(--espacio-8) var(--espacio-12); align-self: flex-start; }
.agc-aviso--estado { background: var(--categoria-rojo-claro); color: var(--categoria-rojo-oscuro); }
.agc-aviso--finalizado { background: var(--neutro-100); color: var(--neutro-800); }
.agc-ficha__titular { display: flex; flex-direction: column; gap: var(--espacio-8); }
.agc-ficha__entradilla { font-size: var(--fs-body-m); }
.agc-ficha__acciones { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espacio-12); }
.agc-ficha__datos { display: flex; flex-direction: column; }
.agc-dato {
	display: flex; flex-direction: column; gap: var(--espacio-8); padding: var(--espacio-12) var(--espacio-16);
	background: var(--azul-100); border: 1px solid var(--azul-200); margin-top: -1px; color: var(--azul-800);
}
.agc-dato__fila { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--espacio-8); }
:where(.agc, .agc-bloque) .agc-dato__titulo { font-family: var(--fuente-cuerpo); font-weight: 700; font-size: 19px; color: var(--azul-800); line-height: 1.5; }
.agc-dato__valor { font-size: var(--fs-body-m); }
.agc-dato__lugar { display: inline-flex; align-items: center; gap: var(--espacio-4); font-size: 19px; }
.agc-dato__texto { font-size: var(--fs-body-xs); }
.agc-dato .agc-enlace { align-self: flex-start; }
.agc-horarios div { display: flex; justify-content: space-between; gap: var(--espacio-12); font-size: var(--fs-body-xs); }
.agc-horarios dt { font-weight: 700; }
.agc-horarios dd { margin: 0; }

.agc-ficha__contenido { display: flex; flex-direction: column; min-width: 0; }
.agc-galeria { background: var(--azul-900); padding: var(--espacio-4); display: grid; gap: var(--espacio-4); }
.agc-galeria--mosaico { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.agc-galeria--mosaico .agc-galeria__item:first-child { grid-column: span 2; grid-row: span 2; }
.agc-galeria__item { margin: 0; }
.agc-galeria__imagen { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 600 / 430; }
.agc-ficha__descripcion { padding: var(--espacio-48) var(--layout-margen); display: flex; flex-direction: column; gap: var(--espacio-12); }
.agc-ficha__cartel { margin: var(--espacio-24) 0 0; max-width: 360px; }
.agc-texto > * + * { margin-top: var(--espacio-12); }

.agc-espacio { display: grid; }
@media (min-width: 1024px) { .agc-espacio:has(.agc-espacio__imagen) { grid-template-columns: 1fr 1fr; } }
.agc-espacio__imagen img { width: 100%; height: 100%; object-fit: cover; }
.agc-espacio__caja { background: var(--secundario-100); border-top: 4px solid var(--secundario-400); padding: var(--espacio-48) var(--layout-margen); display: flex; flex-direction: column; gap: var(--espacio-24); }
:where(.agc, .agc-bloque) .agc-espacio__subtitulo { font-size: var(--fs-h5); font-weight: 600; margin-bottom: var(--espacio-12); }
.agc-espacio__direccion { display: flex; gap: var(--espacio-4); align-items: center; }
.agc-espacio__botones { display: flex; flex-direction: column; gap: var(--espacio-12); }

.agc-noticias { background: var(--azul-900); border-top: 4px solid var(--azul-800); padding: var(--espacio-48) var(--layout-margen); display: flex; flex-direction: column; gap: var(--espacio-24); }
:where(.agc, .agc-bloque) .agc-noticias__titulo { color: var(--neutro-0); }
.agc-noticias__lista { display: grid; gap: var(--espacio-24); }
@media (min-width: 1024px) { .agc-noticias__lista { grid-template-columns: repeat(3, 1fr); } }
.agc-noticia { position: relative; background: var(--neutro-0); border: 2px solid var(--azul-200); border-radius: var(--radio-m); overflow: hidden; }
.agc-noticia__imagen { position: relative; aspect-ratio: 2 / 1; background: var(--azul-100); }
.agc-noticia__img { width: 100%; height: 100%; object-fit: cover; }
.agc-noticia__imagen .agc-cat { position: absolute; left: 0; bottom: 0; }
.agc-noticia__texto { padding: var(--espacio-16) var(--espacio-12) var(--espacio-8); }
:where(.agc, .agc-bloque) .agc-noticia__titulo { font-size: var(--fs-h4); }
.agc-noticia__titulo a { color: inherit; text-decoration: none; }
.agc-noticia__titulo a::after { content: ""; position: absolute; inset: 0; }
.agc-noticia:focus-within { outline: 3px solid var(--azul-700); outline-offset: 3px; }
.agc-noticia__pie { display: flex; justify-content: space-between; align-items: center; color: var(--neutro-700); }
.agc-noticia__mas { font-family: var(--fuente-titular); font-weight: 500; color: var(--azul-900); text-decoration: underline; text-decoration-color: var(--azul-200); }

.agc-relacionados { border-top: 4px solid var(--azul-200); padding: var(--espacio-48) var(--layout-margen); display: flex; flex-direction: column; gap: var(--espacio-24); }
:where(.agc, .agc-bloque) .agc-relacionados__titulo { font-size: var(--fs-h1); }

.agc-macro-programa { padding: var(--espacio-48) var(--layout-margen); display: flex; flex-direction: column; gap: var(--espacio-32); }
.agc-ediciones { padding: var(--espacio-48) var(--layout-margen); border-top: 4px solid var(--azul-200); display: flex; flex-direction: column; gap: var(--espacio-24); }
.agc-ediciones__lista { display: grid; gap: var(--espacio-12); }
.agc-edicion { position: relative; display: flex; align-items: center; gap: var(--espacio-16); background: var(--neutro-0); border: 1px solid var(--azul-200); }
.agc-edicion__imagen { width: 60px; height: 75px; object-fit: cover; }
.agc-edicion__texto { display: flex; flex-direction: column; gap: var(--espacio-4); padding: var(--espacio-12) 0; }
.agc-edicion__titulo { font-family: var(--fuente-titular); font-weight: 600; font-size: var(--fs-h4); color: var(--azul-900); text-decoration: none; }
.agc-edicion__titulo::after { content: ""; position: absolute; inset: 0; }

/* ------------------------------------------------------------------ Módulos de portada */

.agc-modulo { display: flex; flex-direction: column; gap: var(--espacio-24); padding: var(--espacio-48) var(--layout-margen); font-family: var(--fuente-cuerpo); }
.agc-modulo__cabecera { display: flex; flex-direction: column; gap: var(--espacio-8); }
.agc-modulo .agc-modulo__titulo { font-family: var(--fuente-titular); font-size: var(--fs-h1); font-weight: 700; line-height: 1.1; margin: 0; }
.agc-modulo__texto { font-size: var(--fs-body-m); margin: 0; }

.agc-carrusel { display: flex; flex-direction: column; gap: var(--espacio-12); min-width: 0; max-width: 100%; }
.agc-modulo > * { min-width: 0; }
.agc-carrusel__controles { display: flex; gap: var(--espacio-8); justify-content: flex-end; }
.agc-carrusel__flecha { min-width: 48px; min-height: 48px; padding: 0 var(--espacio-16); border: 2px solid var(--azul-600); background: var(--neutro-0); color: var(--azul-700); font-family: var(--fuente-titular); font-weight: 500; cursor: pointer; }
.agc-carrusel__flecha:disabled { opacity: 0.45; cursor: default; }
.agc-carrusel__pista { display: flex; gap: var(--espacio-12); overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 0 var(--espacio-12); margin: 0; list-style: none; }
.agc-carrusel__item { flex: 0 0 min(280px, 80%); scroll-snap-align: start; }
.agc-novedad { display: flex; flex-direction: column; gap: var(--espacio-8); height: 100%; padding: 0 0 var(--espacio-12); background: var(--neutro-0); border: 1px solid var(--azul-200); border-left: 2px solid var(--c-medio); color: var(--azul-900); text-decoration: none; }
.agc-novedad > .agc-cat { align-self: flex-start; }
.agc-novedad__cuando, .agc-novedad__titulo, .agc-novedad .agc-etiquetas { padding: 0 var(--espacio-12); }
.agc-novedad__cuando { color: var(--neutro-700); }
.agc-novedad__titulo { font-family: var(--fuente-titular); font-weight: 600; font-size: var(--fs-h4); line-height: 1.3; }
.agc-novedad:focus-visible { outline: 3px solid var(--azul-700); outline-offset: 3px; }

.agc-modulo--buscador .agc-filtros__formulario { padding: 0; }
@media (min-width: 1024px) {
	.agc-modulo--buscador .agc-filtros__grupos { flex-direction: row; align-items: flex-start; }
	.agc-modulo--buscador .agc-grupo--plan { flex: 2; }
	.agc-modulo--buscador .agc-grupo--categoria { flex: 1; }
	.agc-modulo--buscador .agc-filtros__unicos { flex: 1; }
	.agc-modulo--buscador .agc-filtros__enviar .agc-boton { width: auto; }
}

.agc-terminos { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--espacio-12); }
.agc-termino { display: flex; flex-direction: column; gap: var(--espacio-8); color: var(--azul-900); text-decoration: none; font-weight: 700; }

@media (prefers-reduced-motion: no-preference) {
	.agc-carrusel__pista { scroll-behavior: smooth; }
}

/* ------------------------------------------------------------------ Plantillas de bloques */

/* Banda de cabecera del archivo (grupo con fondo en la plantilla). */
.agc-banda { padding-block: var(--espacio-48) var(--espacio-24); text-align: center; gap: var(--espacio-24); }
.agc-banda .agc-selector-fecha { margin-inline: auto; }
.agc-cabecera-archivo__textos { display: flex; flex-direction: column; align-items: center; gap: var(--espacio-12); }
.agc-columnas-archivo { padding-block: var(--espacio-24) var(--espacio-48); }
@media (min-width: 1024px) {
	.agc-columnas-archivo > .wp-block-column:first-child { position: sticky; top: var(--espacio-24); align-self: flex-start; }
}
@media (max-width: 781px) {
	.agc-columnas-archivo > .wp-block-column { flex-basis: 100% !important; }
}

/* Ficha: columna lateral fija en escritorio, contenido a la derecha. */
.agc-columnas-ficha { gap: 0 !important; margin-block: 0; }
.agc-columna-lateral { display: flex; flex-direction: column; }
@media (min-width: 1024px) {
	.agc-columna-lateral { position: sticky; top: 0; align-self: flex-start; flex-grow: 0 !important; }
}
@media (max-width: 1023px) {
	.agc-columnas-ficha { flex-wrap: wrap !important; }
	.agc-columnas-ficha > .wp-block-column { flex-basis: 100% !important; }
}
.agc-ficha__bloque { background: transparent; }
.agc-plantilla .agc-ficha__descripcion { padding: var(--espacio-48) var(--layout-margen); }
.agc-plantilla > .wp-block-columns { margin-block-start: 0; }
.agc-bloque--lista-eventos .agc-modulo { padding: 0; }
.agc-bloque--lista-eventos.agc-relacionados .agc-modulo,
.agc-columna-contenido > .agc-bloque { padding-inline: var(--layout-margen); }
.agc-columna-contenido > .agc-bloque--evento-imagenes,
.agc-columna-contenido > .agc-bloque--espacio,
.agc-columna-contenido > .agc-bloque--noticias-relacionadas { padding-inline: 0; }
.agc-columna-contenido > .agc-bloque--lista-eventos { padding-block: var(--espacio-48); border-top: 4px solid var(--azul-200); }

/* ------------------------------------------------------------------ Módulos sobre fondos de color */

/*
 * Si el bloque o su columna tienen color de texto (por ejemplo, blanco sobre el azul de
 * marca), los títulos y textos del módulo lo heredan; las tarjetas mantienen el suyo.
 */
.has-text-color .agc-modulo__titulo,
.has-text-color .agc-modulo__texto,
.has-text-color .agc-modulo__antetitulo,
.has-text-color .agc-modulo .agc-contadores { color: inherit; }
.agc-tarjeta__marco,
.agc-noticia,
.agc-novedad,
.agc-compacta__item,
.agc-vacio,
.agc-filtros { color: var(--azul-900); }

.agc-modulo__antetitulo { font-size: var(--fs-body-s); color: var(--neutro-700); }
.agc-modulo__pie--ancho .agc-boton { display: flex; width: 100%; }
.agc-boton--acento,
:where(.agc, .agc-bloque) a.agc-boton--acento { background: var(--secundario-300); border-color: var(--secundario-300); color: var(--azul-900); }
.agc-boton--acento:hover { background: var(--secundario-200); border-color: var(--secundario-200); }

/* Lista compacta (Figma: «¡Volviste!»): fecha y título, categoría a la derecha. */
.agc-compacta { max-height: 22rem; overflow-y: auto; overscroll-behavior: contain; position: relative; }
.agc-compacta:focus-visible { outline: 3px solid var(--azul-200); outline-offset: 3px; }
.agc-compacta__lista { display: flex; flex-direction: column; gap: var(--espacio-4); margin: 0; padding: 0; list-style: none; }
.agc-compacta__item { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: var(--espacio-8); background: var(--neutro-0); border-top: 2px solid var(--c-medio); padding: var(--espacio-8) var(--espacio-8) var(--espacio-12) var(--espacio-12); }
.agc-compacta__enlace { display: flex; flex-direction: column; gap: var(--espacio-4); color: inherit; text-decoration: none; min-width: 0; }
.agc-compacta__enlace::after { content: ""; position: absolute; inset: 0; }
.agc-compacta__item:focus-within { outline: 3px solid var(--azul-200); outline-offset: 2px; }
.agc-compacta__cuando { color: var(--neutro-700); font-size: var(--fs-body-xs); }
.agc-compacta__titulo { font-family: var(--fuente-titular); font-weight: 600; font-size: var(--fs-h5); line-height: 1.3; }
.agc-compacta__item .agc-cat { flex: none; font-size: 13px; }

/* Noticias: una debajo de otra (columna estrecha) o en rejilla que se adapta. */
.agc-noticias__lista--una { grid-template-columns: 1fr !important; }
@media (min-width: 1024px) {
	.agc-noticias__lista--auto { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
}
.agc-modulo--noticias .agc-noticias__lista { display: grid; gap: var(--espacio-24); }
/* Módulos usados fuera de un bloque (shortcodes en temas clásicos): color propio. */
.agc .agc-modulo { color: var(--azul-900); }
.agc-bloque--noticias .agc-modulo { padding: 0; }
