/*
Theme Name: Carnaval de Morón · Blocksy Child
Theme URI: https://carnavaldemoron.com/
Description: Tema hijo técnico del proyecto Carnaval de Morón.
Author: Carnaval de Morón
Template: blocksy
Version: 0.1.0
Text Domain: cdm-blocksy-child
*/

/*
 * CSS visual consolidado — candidato exacto V0.1.
 * Generado desde el CSS adicional activo sin alterar orden ni reglas.
 * NO APLICADO.
 */

/*
 * Carnaval de Morón
 * Prototipo visual A — modernización de la identidad histórica
 * Estado: temporal para comparación visual
 */

:root {
	--theme-palette-color-1: #C83B2E;
	--theme-palette-color-2: #9B2F27;
	--theme-palette-color-3: #201D1A;
	--theme-palette-color-4: #173C40;
	--theme-palette-color-5: #D7C6A8;
	--theme-palette-color-6: #E8DED0;
	--theme-palette-color-7: #F7F3EB;
	--theme-palette-color-8: #FFFFFF;

	--theme-text-color: #201D1A;
	--theme-link-initial-color: #C83B2E;
	--theme-link-hover-color: #9B2F27;
	--theme-link-active-color: #9B2F27;

	--theme-headings-color: #173C40;
	--theme-heading-color: #173C40;
	--theme-heading-1-color: #173C40;
	--theme-heading-2-color: #173C40;
	--theme-heading-3-color: #173C40;
	--theme-heading-4-color: #173C40;
	--theme-heading-5-color: #173C40;
	--theme-heading-6-color: #173C40;

	--theme-border-color: rgba(23, 60, 64, 0.18);

	--theme-selection-text-color: #FFFFFF;
	--theme-selection-background-color: #C83B2E;

	--theme-button-text-initial-color: #FFFFFF;
	--theme-button-text-hover-color: #FFFFFF;
	--theme-button-background-initial-color: #C83B2E;
	--theme-button-background-hover-color: #9B2F27;
	--theme-button-border-radius: 5px;

	--theme-form-field-border-initial-color: #9AA9A7;
	--theme-form-field-border-focus-color: #C83B2E;
	--theme-form-selection-field-active-color: #C83B2E;
}

html {
	background: #F7F3EB;
}

body {
	background: #F7F3EB;
	color: #201D1A;
	font-family:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	font-size: 17px;
	line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.ct-module-title {
	color: #173C40;
	font-family:
		Georgia,
		Cambria,
		"Times New Roman",
		serif;
	font-weight: 700;
	letter-spacing: -0.018em;
	line-height: 1.16;
}

h1,
.entry-title {
	letter-spacing: -0.025em;
}

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.entry-meta,
.post-date,
.wp-block-post-date,
.ct-post-meta {
	color: #657174;
	font-size: 0.82rem;
	letter-spacing: 0.015em;
	text-transform: none;
}

/* Cabecera */

#header [data-row="middle"],
[data-header*="type-1"] [data-row="middle"] {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid rgba(23, 60, 64, 0.14);
	box-shadow: 0 5px 22px rgba(23, 60, 64, 0.05);
}

#header .menu > li > a,
[data-header*="type-1"] .menu > li > a {
	color: #173C40;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.018em;
	text-transform: none;
}

#header .menu > li > a:hover,
#header .menu > li.current-menu-item > a,
#header .menu > li.current-menu-ancestor > a,
[data-header*="type-1"] .menu > li > a:hover,
[data-header*="type-1"] .menu > li.current-menu-item > a,
[data-header*="type-1"] .menu > li.current-menu-ancestor > a {
	color: #C83B2E;
}

#header .sub-menu,
[data-header*="type-1"] .sub-menu {
	background: #173C40;
	border-top: 3px solid #C83B2E;
	border-radius: 0 0 3px 3px;
	box-shadow: 0 14px 36px rgba(16, 47, 51, 0.25);
}

#header .sub-menu a,
[data-header*="type-1"] .sub-menu a {
	color: #F7F3EB;
	font-size: 13.5px;
	font-weight: 650;
}

#header .sub-menu a:hover,
#header .sub-menu .current-menu-item > a,
[data-header*="type-1"] .sub-menu a:hover,
[data-header*="type-1"] .sub-menu .current-menu-item > a {
	background: rgba(200, 59, 46, 0.18);
	color: #FFFFFF;
}

#header [data-id="search"],
[data-header*="type-1"] [data-id="search"] {
	--theme-icon-color: #173C40;
	--theme-icon-hover-color: #C83B2E;
}

/* Menú móvil */

.ct-panel {
	--theme-text-color: #F7F3EB;
	--theme-link-initial-color: #F7F3EB;
	--theme-link-hover-color: #E66A5E;
	--theme-link-active-color: #E66A5E;

	background: rgba(27, 24, 22, 0.975);
}

.ct-panel .mobile-menu > li > a {
	font-size: 1.22rem;
	font-weight: 750;
	letter-spacing: -0.01em;
}

.ct-panel .mobile-menu .sub-menu a {
	font-size: 1rem;
	font-weight: 600;
}

.ct-panel .mobile-menu .current-menu-item > a,
.ct-panel .mobile-menu .current-menu-ancestor > a {
	color: #E66A5E;
}

/* Tarjetas y listados */

.entry-card,
.wp-block-post-template.is-layout-grid > li {
	background: #FFFFFF;
	border: 1px solid rgba(23, 60, 64, 0.12);
	border-radius: 7px;
	box-shadow: 0 9px 28px rgba(23, 60, 64, 0.06);
	overflow: hidden;
}

.entry-card .entry-title,
.wp-block-post-template.is-layout-grid .wp-block-post-title {
	font-family:
		Georgia,
		Cambria,
		"Times New Roman",
		serif;
	line-height: 1.22;
}

.entry-card img,
.wp-block-post-template.is-layout-grid img {
	display: block;
}

/* Contenido editorial */

.entry-content {
	color: #201D1A;
}

.entry-content blockquote {
	border-inline-start: 4px solid #C83B2E;
	background: #E8DED0;
	padding: 1.15em 1.35em;
}

.entry-content figcaption,
.wp-element-caption {
	color: #657174;
	font-size: 0.82rem;
	line-height: 1.45;
}

.wp-block-button__link,
button,
input[type="button"],
input[type="submit"] {
	border-radius: 5px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* Pie provisional */

footer.ct-footer [data-row] {
	background: #173C40;
	border-top: 4px solid #C83B2E;
	color: #F7F3EB;
}

footer.ct-footer a {
	color: #F7F3EB;
}

footer.ct-footer a:hover {
	color: #E66A5E;
}

@media (max-width: 999.98px) {
	body {
		font-size: 16.5px;
	}

	h1,
	.entry-title {
		line-height: 1.12;
	}

	.ct-panel {
		box-shadow: 12px 0 36px rgba(0, 0, 0, 0.35);
	}
}

/* CDM_A2_START */

/*
 * Ajuste del prototipo A:
 * - títulos sans-serif;
 * - primer nivel móvil más compacto;
 * - submenús conservados.
 */

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.ct-module-title,
.entry-card .entry-title,
.wp-block-post-template.is-layout-grid .wp-block-post-title {
	font-family:
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	font-weight: 800;
	letter-spacing: -0.032em;
	line-height: 1.14;
}

h3,
h4,
h5,
h6,
.entry-card .entry-title,
.wp-block-post-template.is-layout-grid .wp-block-post-title {
	letter-spacing: -0.022em;
	line-height: 1.2;
}

@media (max-width: 999.98px) {
	.ct-panel .mobile-menu > li {
		border-bottom: 1px solid rgba(247, 243, 235, 0.13);
	}

	.ct-panel .mobile-menu > li:last-child {
		border-bottom: 0;
	}

	.ct-panel .mobile-menu > li > a {
		font-size: 1.04rem;
		font-weight: 650;
		letter-spacing: 0;
		line-height: 1.3;
		padding-block: 0.72rem;
	}

	.ct-panel .mobile-menu .sub-menu {
		margin-top: 0.1rem;
		margin-bottom: 0.35rem;
	}

	.ct-panel .mobile-menu .sub-menu a {
		font-size: 0.98rem;
		font-weight: 600;
		line-height: 1.35;
	}
}

/* CDM_A2_END */

/* CDM_MOBILE_A3_START */

/*
 * Menú móvil unificado:
 * una sola superficie, submenús integrados y jerarquía por sangría.
 */

@media (max-width: 999.98px) {

	#offcanvas,
	.ct-panel,
	.ct-panel-inner,
	.ct-panel-content {
		--background-color: #173C40;
		background-color: #173C40 !important;
		background-image: none !important;
	}

	.ct-panel-inner,
	.ct-panel-content,
	.ct-panel-actions,
	.ct-panel .mobile-menu {
		background: transparent !important;
	}

	.ct-panel {
		--theme-text-color: #F7F3EB;
		--theme-link-initial-color: #F7F3EB;
		--theme-link-hover-color: #E66A5E;
		--theme-link-active-color: #E66A5E;

		color: #F7F3EB;
		box-shadow: 12px 0 36px rgba(0, 0, 0, 0.38);
	}

	.ct-panel .mobile-menu > li {
		background: transparent !important;
		border-bottom: 1px solid rgba(247, 243, 235, 0.13);
	}

	.ct-panel .mobile-menu > li:last-child {
		border-bottom: 0;
	}

	.ct-panel .mobile-menu > li > a {
		background: transparent !important;
		color: #F7F3EB;
		font-size: 1.04rem;
		font-weight: 650;
		letter-spacing: 0;
		line-height: 1.3;
		padding-block: 0.78rem;
	}

	.ct-panel .mobile-menu > li > a:hover {
		color: #E66A5E;
	}

	.ct-panel .mobile-menu > li.current-menu-item > a,
	.ct-panel .mobile-menu > li.current-menu-ancestor > a {
		color: #E66A5E;
	}

	.ct-panel .mobile-menu .sub-menu {
		background: rgba(255, 255, 255, 0.035) !important;
		border: 0 !important;
		border-inline-start: 3px solid #C83B2E !important;
		border-radius: 0 4px 4px 0;
		box-shadow: none !important;

		margin: 0 0 0.45rem 0;
		padding: 0.2rem 0 0.25rem 0.85rem;
	}

	.ct-panel .mobile-menu .sub-menu li {
		background: transparent !important;
		border: 0 !important;
		list-style: none !important;
	}

	.ct-panel .mobile-menu .sub-menu li::before,
	.ct-panel .mobile-menu .sub-menu li::marker {
		display: none !important;
		content: none !important;
	}

	.ct-panel .mobile-menu .sub-menu a {
		background: transparent !important;
		color: #E8DED0;
		font-size: 0.96rem;
		font-weight: 600;
		line-height: 1.35;
		padding-block: 0.54rem;
	}

	.ct-panel .mobile-menu .sub-menu a:hover,
	.ct-panel .mobile-menu .sub-menu .current-menu-item > a {
		color: #FFFFFF;
	}

	.ct-panel .child-indicator,
	.ct-panel .ct-toggle-dropdown-desktop,
	.ct-panel .ct-sub-menu-parent {
		color: inherit;
	}

	.ct-panel .ct-panel-actions button,
	.ct-panel .ct-toggle-close {
		color: #F7F3EB;
	}
}

/* CDM_MOBILE_A3_END */

/* CDM_MOBILE_A4_START */

/*
 * Ajuste fino de jerarquía tipográfica móvil.
 */

@media (max-width: 999.98px) {

	.ct-panel .mobile-menu > li > a {
		font-size: 1rem;
		font-weight: 650;
		line-height: 1.3;
	}

	.ct-panel .mobile-menu .sub-menu a {
		font-size: 0.98rem;
		font-weight: 600;
		line-height: 1.35;
	}
}

/* CDM_MOBILE_A4_END */

/* CDM_LINEA_B_START */

/*
 * Línea B — identidad cultural contemporánea.
 * Conserva estructura, tipografía y navegación móvil de A4.
 */

:root {
    --theme-palette-color-1: #C83B2E;
    --theme-palette-color-2: #9B2F27;
    --theme-palette-color-3: #344B4E;
    --theme-palette-color-4: #173C40;
    --theme-palette-color-5: #D7C6A8;
    --theme-palette-color-6: #E8DED0;
    --theme-palette-color-7: #F7F3EB;
    --theme-palette-color-8: #FFFFFF;

    --theme-text-color: #201D1A;
    --theme-headings-color: #173C40;
    --theme-heading-color: #173C40;

    --theme-link-initial-color: #C83B2E;
    --theme-link-hover-color: #9B2F27;
    --theme-link-active-color: #9B2F27;

    --theme-button-background-initial-color: #C83B2E;
    --theme-button-background-hover-color: #9B2F27;

    --theme-form-field-border-focus-color: #C83B2E;
    --theme-form-selection-field-active-color: #C83B2E;
}

html,
body {
    background-color: #F7F3EB;
}

body,
.entry-content {
    color: #201D1A;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.ct-module-title {
    color: #173C40;
}

/* Cabecera y desplegables de escritorio */

#header .sub-menu,
[data-header*="type-1"] .sub-menu {
    background: #102F33;
    border-top-color: #C83B2E;
}

#header .menu > li > a:hover,
#header .menu > li.current-menu-item > a,
#header .menu > li.current-menu-ancestor > a,
[data-header*="type-1"] .menu > li > a:hover,
[data-header*="type-1"] .menu > li.current-menu-item > a,
[data-header*="type-1"] .menu > li.current-menu-ancestor > a {
    color: #C83B2E;
}

/* Navegación móvil: misma arquitectura que A4 */

@media (max-width: 999.98px) {
    #offcanvas,
    .ct-panel,
    .ct-panel-inner,
    .ct-panel-content {
        --background-color: #102F33;
        background-color: #102F33 !important;
        background-image: none !important;
    }

    .ct-panel {
        --theme-text-color: #F7F3EB;
        --theme-link-initial-color: #F7F3EB;
        --theme-link-hover-color: #E66A5E;
        --theme-link-active-color: #E66A5E;

        color: #F7F3EB;
    }

    .ct-panel .mobile-menu > li {
        border-bottom-color: rgba(247, 243, 235, 0.13);
    }

    .ct-panel .mobile-menu > li > a {
        color: #F7F3EB;
    }

    .ct-panel .mobile-menu > li > a:hover,
    .ct-panel .mobile-menu > li.current-menu-item > a,
    .ct-panel .mobile-menu > li.current-menu-ancestor > a {
        color: #E66A5E;
    }

    .ct-panel .mobile-menu .sub-menu {
        background: rgba(255, 255, 255, 0.045) !important;
        border-inline-start-color: #C83B2E !important;
    }

    .ct-panel .mobile-menu .sub-menu a {
        color: #E8DED0;
    }

    .ct-panel .mobile-menu .sub-menu a:hover,
    .ct-panel .mobile-menu .sub-menu .current-menu-item > a {
        color: #FFFFFF;
    }

    .ct-panel .ct-panel-actions button,
    .ct-panel .ct-toggle-close {
        color: #F7F3EB;
    }
}

/* Tarjetas y superficies */

.entry-card,
.wp-block-post-template.is-layout-grid > li {
    border-color: rgba(23, 60, 64, 0.12);
    box-shadow: 0 9px 28px rgba(23, 60, 64, 0.06);
}

/* Elementos editoriales */

.entry-meta,
.post-date,
.wp-block-post-date,
.ct-post-meta,
.entry-content figcaption,
.wp-element-caption {
    color: #657174;
}

.entry-content blockquote {
    background: #E8DED0;
    border-inline-start-color: #C83B2E;
}

/* Pie provisional */

footer.ct-footer [data-row] {
    background: #102F33;
    border-top-color: #C83B2E;
    color: #F7F3EB;
}

footer.ct-footer a {
    color: #F7F3EB;
}

footer.ct-footer a:hover {
    color: #E66A5E;
}

/* CDM_LINEA_B_END */

/* CDM_LINEA_B2_START */

/*
 * Línea B2
 * Ajuste moderado de títulos en portada y archivos móviles.
 */

@media (max-width: 689.98px) {

	/* Titulares de tarjetas en categorías y archivos */
	body.archive .entry-card .entry-title,
	body.blog .entry-card .entry-title,
	body.archive .wp-block-post-title,
	body.blog .wp-block-post-title {
		font-size: 1.08rem;
		line-height: 1.22;
	}

	/* Tarjetas y noticias secundarias de la portada */
	body.home .entry-card .entry-title,
	body.home .wp-block-post-template .wp-block-post-title,
	body.home .wp-block-query .wp-block-post-title {
		font-size: 1.1rem;
		line-height: 1.2;
	}

	/*
	 * Titular principal de portada.
	 * El selector queda limitado a la portada para no afectar entradas.
	 */
	body.home main > article .entry-title,
	body.home main .wp-block-post-title:first-of-type {
		font-size: clamp(1.45rem, 6vw, 1.7rem);
		line-height: 1.15;
	}
}

/* CDM_LINEA_B2_END */

/* CDM_LINEA_B4_START */

/*
 * Línea B4
 * Chips individuales de categorías.
 *
 * Blocksy inserta las comas como nodos de texto.
 * font-size: 0 las oculta sin modificar los enlaces.
 */

li.meta-categories[data-type="simple"] {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;

	margin: 0;
	padding: 0;

	border: 0;
	background: transparent;

	font-size: 0;
	line-height: 1;
}

li.meta-categories[data-type="simple"] > a {
	display: inline-flex;
	align-items: center;

	min-height: 1.7rem;
	padding: 0.34rem 0.62rem;

	border: 1px solid rgba(23, 60, 64, 0.15);
	border-radius: 999px;

	background: #E8DED0;
	color: #173C40;

	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	text-decoration: none;

	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease;
}

li.meta-categories[data-type="simple"] > a:hover,
li.meta-categories[data-type="simple"] > a:focus-visible {
	background: #C83B2E;
	border-color: #C83B2E;
	color: #FFFFFF;
}

@media (max-width: 689.98px) {
	li.meta-categories[data-type="simple"] {
		gap: 0.3rem;
	}

	li.meta-categories[data-type="simple"] > a {
		min-height: 1.75rem;
		padding: 0.35rem 0.64rem;
		font-size: 0.74rem;
	}
}

/* CDM_LINEA_B4_END */

/* CDM_HOME_V1_START */

/*
 * Portada prototipo V1.
 * Limitada exclusivamente a la página ID 1393.
 */

.page-id-1342 .hero-section {
	display: none;
}

.page-id-1342 .site-main {
	background: #F7F3EB;
}

.page-id-1342 .entry-content {
	margin-top: 0;
}

.page-id-1342 .cdm-home-shell {
	max-width: 1290px;
	padding-block: clamp(2.5rem, 5vw, 5rem);
}

.page-id-1342 .cdm-section-title,
.page-id-1342 .cdm-subsection-title {
	position: relative;
	margin: 0 0 1.8rem;
	color: #173C40;
}

.page-id-1342 .cdm-section-title {
	font-size: clamp(2.4rem, 4.5vw, 4rem);
}

.page-id-1342 .cdm-subsection-title {
	margin-top: clamp(1.75rem, 2.5vw, 2.5rem);
	font-size: clamp(2rem, 3.4vw, 3rem);
}

.page-id-1342 .cdm-section-title::after,
.page-id-1342 .cdm-subsection-title::after {
	content: "";
	display: block;
	width: 3.25rem;
	height: 4px;
	margin-top: 0.55rem;
	border-radius: 999px;
	background: #C83B2E;
}

/* Noticia principal */

.page-id-1342 .cdm-featured-card {
	padding: clamp(1.15rem, 2.5vw, 2rem);
	border: 1px solid rgba(23, 60, 64, 0.12);
	border-radius: 10px;
	background: #FFFFFF;
	box-shadow: 0 14px 40px rgba(23, 60, 64, 0.07);
	overflow: hidden;
}

.page-id-1342 .cdm-featured-layout {
	align-items: center;
	gap: clamp(1.7rem, 4vw, 4.2rem);
	margin: 0;
}

.page-id-1342 .cdm-featured-media {
	margin: 0;
}

.page-id-1342 .cdm-featured-media img {
	display: block;
	width: 100%;
	max-height: 510px;
	object-fit: contain;
	border-radius: 6px;
	background: #F7F3EB;
}

.page-id-1342 .cdm-featured-title {
	margin: 1rem 0 0;
	font-size: clamp(2rem, 3.3vw, 3.25rem);
	line-height: 1.08;
}

.page-id-1342 .cdm-featured-title a,
.page-id-1342 .cdm-news-title a {
	color: #173C40;
	text-decoration: none;
}

.page-id-1342 .cdm-featured-title a:hover,
.page-id-1342 .cdm-news-title a:hover {
	color: #C83B2E;
}

/* Chips de categorías */

.page-id-1342 .cdm-term-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	font-size: 0;
}

.page-id-1342 .cdm-term-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 1.75rem;
	padding: 0.36rem 0.66rem;
	border: 1px solid rgba(23, 60, 64, 0.15);
	border-radius: 999px;
	background: #E8DED0;
	color: #173C40;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.page-id-1342 .cdm-term-chips a:hover {
	border-color: #C83B2E;
	background: #C83B2E;
	color: #FFFFFF;
}

/* Autor y fecha */

.page-id-1342 .cdm-post-meta {
	gap: 0.45rem;
	margin-top: 0.85rem;
	color: #657174;
	font-size: 0.82rem;
	line-height: 1.35;
}

.page-id-1342 .cdm-post-meta a {
	color: #526568;
	text-decoration: none;
}

.page-id-1342 .cdm-post-meta a:hover {
	color: #C83B2E;
}

.page-id-1342 .cdm-meta-author::before {
	content: "Por ";
	font-weight: 400;
}

.page-id-1342 .cdm-meta-date::before {
	content: "·";
	margin-right: 0.45rem;
	color: #C83B2E;
}

.page-id-1342 .cdm-featured-excerpt {
	margin-top: 1.15rem;
	color: #3C4445;
	font-size: 1rem;
	line-height: 1.65;
}

/* Cuadrícula de últimas noticias */

.page-id-1342 .cdm-latest-grid {
	gap: clamp(1.1rem, 2.3vw, 2rem);
}

.page-id-1342 .cdm-latest-grid > li {
	height: 100%;
}

.page-id-1342 .cdm-news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid rgba(23, 60, 64, 0.12);
	border-radius: 9px;
	background: #FFFFFF;
	box-shadow: 0 10px 30px rgba(23, 60, 64, 0.06);
	overflow: hidden;
}

.page-id-1342 .cdm-news-image {
	margin: 0;
	overflow: hidden;
}

.page-id-1342 .cdm-news-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 220ms ease;
}

.page-id-1342 .cdm-news-card:hover .cdm-news-image img {
	transform: scale(1.025);
}

.page-id-1342 .cdm-news-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
	padding: clamp(1.15rem, 2.1vw, 1.65rem);
}

.page-id-1342 .cdm-news-title {
	margin: 0.9rem 0 0;
	font-size: clamp(1.35rem, 2.1vw, 1.85rem);
	line-height: 1.18;
}

.page-id-1342 .cdm-news-meta {
	margin-top: auto;
	padding-top: 1.15rem;
}

/* Responsive */

@media (max-width: 781px) {
	.page-id-1342 .cdm-home-shell {
		padding-inline: 0.25rem;
	}

	.page-id-1342 .cdm-featured-layout {
		gap: 1.4rem;
	}

	.page-id-1342 .cdm-featured-title {
		font-size: clamp(1.75rem, 7vw, 2.4rem);
	}

	.page-id-1342 .cdm-latest-grid {
		grid-template-columns: 1fr !important;
	}

	.page-id-1342 .cdm-news-title {
		font-size: 1.4rem;
	}
}

/* CDM_HOME_V1_END */

/* CDM_HOME_V11_START */

/*
 * Portada prototipo V1.1
 * Escala tipográfica más contenida.
 */

.page-id-1342 .cdm-section-title {
	font-size: clamp(2rem, 3.2vw, 2.85rem);
	line-height: 1.08;
}

.page-id-1342 .cdm-subsection-title {
	font-size: clamp(1.7rem, 2.6vw, 2.25rem);
	line-height: 1.1;
}

.page-id-1342 .cdm-featured-title {
	font-size: clamp(1.7rem, 2.55vw, 2.5rem);
	line-height: 1.12;
}

.page-id-1342 .cdm-news-title {
	font-size: clamp(1.2rem, 1.65vw, 1.5rem);
	line-height: 1.2;
}

@media (max-width: 781px) {
	.page-id-1342 .cdm-section-title {
		font-size: 2rem;
	}

	.page-id-1342 .cdm-subsection-title {
		font-size: 1.65rem;
	}

	.page-id-1342 .cdm-featured-title {
		font-size: 1.65rem;
		line-height: 1.14;
	}

	.page-id-1342 .cdm-news-title {
		font-size: 1.25rem;
		line-height: 1.2;
	}
}

/* CDM_HOME_V11_END */

/* CDM_HOME_V12_MEDIA_START */

/*
 * Portada prototipo V1.2
 * Imagen principal sin recorte y respetando proporción original.
 */

.page-id-1342 .cdm-featured-media {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: auto !important;
	min-height: 0 !important;
	margin: 0;
	padding: clamp(0.65rem, 1.4vw, 1rem);

	aspect-ratio: auto !important;
	border-radius: 7px;
	background: #F7F3EB;
	overflow: hidden;
}

.page-id-1342 .cdm-featured-media > a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: auto !important;
	min-height: 0 !important;

	aspect-ratio: auto !important;
}

.page-id-1342 .cdm-featured-media img {
	display: block;

	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 480px !important;

	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center center !important;

	border-radius: 5px;
	background: transparent;
}

/*
 * En móvil usamos el ancho natural disponible.
 * No limitamos la altura porque el cartel debe verse completo.
 */
@media (max-width: 781px) {
	.page-id-1342 .cdm-featured-media {
		padding: 0.65rem;
	}

	.page-id-1342 .cdm-featured-media img {
		width: 100% !important;
		max-height: none !important;
	}
}

/* CDM_HOME_V12_MEDIA_END */




/* CDM_SINGLE_V1_START
 *
 * Plantilla global de entrada individual.
 * Alcance global: todas las entradas individuales.
 */

body.single-post {
	--cdm-single-width: 760px;
}

/* Columna editorial */

body.single-post
.hero-section.is-width-constrained,

body.single-post
.entry-content.is-layout-constrained {
	width: min(calc(100% - 2.75rem), var(--cdm-single-width)) !important;
	max-width: var(--cdm-single-width) !important;
	margin-inline: auto !important;
}

body.single-post
.hero-section .entry-header {
	width: 100%;
	max-width: none;
}

body.single-post
.entry-content.is-layout-constrained
> :where(:not(.alignwide):not(.alignfull)) {
	max-width: 100% !important;
}

/* Cabecera editorial */

body.single-post
.entry-header .page-title {
	margin: 0;

	color: #173C40;

	font-family:
		ui-sans-serif,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: clamp(2.05rem, 3.2vw, 2.9rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

body.single-post
.entry-header .page-description {
	display: block !important;

	max-width: 65ch;
	margin-top: 1rem;

	color: #657174;

	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.55;
}

body.single-post
.entry-header .page-description p {
	margin: 0;
}

/* Metadatos */

body.single-post
.entry-header .entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 0.6rem;

	margin-top: 1.2rem;

	color: #657174;
	font-size: 0.84rem;
}



body.single-post
.entry-header .meta-date::after {
	display: none !important;
}

body.single-post
.entry-header .meta-categories {
	flex-basis: 100%;
	width: 100%;
	margin-top: 0.25rem;
}

/* Cuerpo */

body.single-post
.entry-content {
	color: #201D1A;

	font-size: 1.125rem;
	line-height: 1.72;
}

body.single-post
.entry-content p {
	margin-top: 0;
	margin-bottom: 1.45em;
}

body.single-post
.entry-content h2,

body.single-post
.entry-content h3,

body.single-post
.entry-content h4 {
	font-family:
		ui-sans-serif,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	line-height: 1.2;
	text-wrap: balance;
}

body.single-post
.entry-content h2 {
	margin-top: 2.2em;
	margin-bottom: 0.75em;
	font-size: clamp(1.55rem, 2.2vw, 2rem);
}

body.single-post
.entry-content h3 {
	margin-top: 1.9em;
	margin-bottom: 0.65em;
	font-size: clamp(1.3rem, 1.8vw, 1.6rem);
}

body.single-post
.entry-content a {
	color: #9B2F27;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

body.single-post
.entry-content a:hover,

body.single-post
.entry-content a:focus-visible {
	color: #C83B2E;
}

/* Imágenes, vídeo y pies */

body.single-post
.entry-content img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

body.single-post
.entry-content figure {
	max-width: 100%;
	margin-inline: auto;
}

body.single-post
.entry-content .wp-block-embed {
	width: 100%;
	margin-block: 2rem;
}

body.single-post
.entry-content figcaption,

body.single-post
.entry-content .wp-element-caption {
	margin-top: 0.65rem;

	color: #657174;

	font-size: 0.82rem;
	line-height: 1.45;
}

/* Citas */

body.single-post
.entry-content blockquote {
	margin-block: 2rem;
	padding: 1.2em 1.4em;

	border-inline-start: 4px solid #C83B2E;

	background: #E8DED0;
	color: #201D1A;
}

body.single-post
.entry-content blockquote > :last-child {
	margin-bottom: 0;
}

/* Final editorial */

body.single-post
.entry-content::after {
	content: "";

	display: block;

	width: 4rem;
	height: 3px;
	margin-top: 3rem;

	border-radius: 999px;
	background: #C83B2E;
}

@media (max-width: 689.98px) {
	body.single-post
	.entry-header .page-title {
		font-size: 2.05rem;
		line-height: 1.1;
		letter-spacing: -0.03em;
	}

	body.single-post
	.entry-header .page-description {
		font-size: 1.05rem;
		line-height: 1.55;
	}

	body.single-post
	.entry-content {
		font-size: 1.0625rem;
		line-height: 1.68;
	}
}

/* CDM_SINGLE_V1_END */

/* CDM_PAGE_SYSTEM_V1_START */

/*
 * Sistema visual de páginas V1.
 *
 * Base:
 * - páginas internas ordinarias;
 * - columna editorial de 760 px.
 *
 * Variantes piloto:
 * - ID 94: landing o índice de 960 px;
 * - ID 79: lectura de 760 px con medios de hasta 960 px.
 *
 * Exclusiones:
 * - ID 1342: portada canónica;
 * - ID 1393: prototipo de portada;
 * - ID 942: Carteles, página especial incompleta.
 */

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942) {
    --cdm-page-width: 760px;
    --cdm-page-media-width: 960px;
}

/* Landing o índice verificado */
body.page-id-94 {
    --cdm-page-width: 960px;
}

/* Apertura */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .hero-section {
    padding-block:
        clamp(2.4rem, 5vw, 4.75rem)
        clamp(1.25rem, 2.5vw, 2rem);
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .hero-section > * {
    box-sizing: border-box;
    width: min(
        var(--cdm-page-width),
        calc(100% - 40px)
    );
    margin-inline: auto;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .hero-section h1 {
    margin: 0;
    color: #173C40;
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size: clamp(2.1rem, 4.25vw, 3.5rem);
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

/* Columna y tipografía */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    article
    .entry-content.is-layout-constrained {
    box-sizing: border-box;
    width: min(
        var(--cdm-page-width),
        calc(100% - 40px)
    );
    max-width: var(--cdm-page-width);
    margin-inline: auto;
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
    color: #201D1A;
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size: clamp(1.04rem, 1rem + 0.16vw, 1.125rem);
    line-height: 1.76;
    overflow-wrap: anywhere;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content.is-layout-constrained
    > :where(
        :not(.alignleft)
        :not(.alignright)
        :not(.alignfull)
    ) {
    max-width: 100%;
    margin-inline: 0;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content
    > :first-child {
    margin-top: 0;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content p {
    margin-block: 0 1.35em;
}

/* Clases heredadas de Drupal */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content .rtejustify {
    text-align: left !important;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content .text-align-center {
    text-align: center !important;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content :is(.text-align-right, .rteright) {
    text-align: right !important;
}

/* Jerarquía */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content h2 {
    margin-block: clamp(2.8rem, 6vw, 4.5rem) 1.1rem;
    color: #173C40;
    font-size: clamp(1.7rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content h3 {
    margin-block: 2.35rem 0.7rem;
    color: #102F33;
    font-size: clamp(1.3rem, 1.15rem + 0.7vw, 1.7rem);
    font-weight: 780;
    line-height: 1.24;
    letter-spacing: -0.015em;
    text-wrap: balance;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content :is(h2, h3, h4) {
    scroll-margin-top: 7rem;
}

/* Preguntas heredadas de páginas informativas */
body.page-id-6 .entry-content p:has(> strong:first-child),
body.page-id-244 .entry-content p:has(> strong:first-child) {
    margin-top: 1.9rem;
}

body.page-id-6 .entry-content p > strong:first-child,
body.page-id-244 .entry-content p > strong:first-child {
    color: #102F33;
    font-weight: 750;
}

/* Enlaces */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content a {
    color: #9B2F27;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
    transition:
        color 160ms ease,
        text-decoration-color 160ms ease;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content a:hover,
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content a:focus-visible {
    color: #C83B2E;
    text-decoration-color: currentColor;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content a[href$=".pdf" i],
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content a[download] {
    font-weight: 700;
}

/* Listas */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content :is(ul, ol) {
    margin-block: 1.35rem 1.75rem;
    padding-inline-start: 1.4rem;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content li + li {
    margin-top: 0.5rem;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content li::marker {
    color: #C83B2E;
}

/* Imágenes y figuras */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content img {
    display: block;
    max-width: 100%;
    height: auto;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content figure {
    max-width: 100%;
    margin-block: clamp(2rem, 5vw, 3.5rem);
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content figure img {
    margin-inline: auto;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content :is(figcaption, .wp-caption-text) {
    margin-top: 0.65rem;
    color: #657174;
    font-size: 0.86rem;
    line-height: 1.5;
    text-align: left;
}

/* Variante histórica: medios amplios y centrados */
body.page-id-79 .entry-content > img,
body.page-id-79 .entry-content
    > figure.wp-block-embed {
    width: min(
        var(--cdm-page-media-width),
        calc(100vw - 40px)
    );
    max-width: none;
    margin-inline-start: 50%;
    transform: translateX(-50%);
}

body.page-id-79 .entry-content
    > figure.wp-block-embed
    .wp-block-embed__wrapper {
    position: relative;
    aspect-ratio: 16 / 9;
}

body.page-id-79 .entry-content
    > figure.wp-block-embed iframe {
    width: 100%;
    height: 100%;
}

/* Citas */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content blockquote {
    margin-block: 2.25rem;
    padding: 1.35rem 1.55rem;
    border-inline-start: 4px solid #C83B2E;
    background: rgba(215, 198, 168, 0.3);
    color: #201D1A;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content blockquote > :last-child {
    margin-bottom: 0;
}

/* Tablas */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content table {
    width: 100%;
    margin-block: 1.5rem 2.25rem;
    border-collapse: collapse;
    border-spacing: 0;
    background: transparent;
    font-size: 0.98em;
    line-height: 1.5;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content :is(th, td) {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(101, 113, 116, 0.28);
    text-align: left;
    vertical-align: top;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content th {
    background: rgba(23, 60, 64, 0.08);
    color: #102F33;
    font-weight: 750;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content tbody tr:nth-child(even) {
    background: rgba(215, 198, 168, 0.12);
}

/* Tabla histórica de Pregoneros */
body.page-id-94 .entry-content table {
    table-layout: fixed;
}

body.page-id-94 .entry-content td:first-child {
    width: 6.5rem;
    color: #102F33;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

@media (hover: hover) {
    body.page-id-94 .entry-content tbody tr {
        transition: background-color 150ms ease;
    }

    body.page-id-94 .entry-content tbody tr:hover {
        background: rgba(215, 198, 168, 0.28);
    }
}

body.page-id-94 .entry-content
    > p.text-align-center {
    text-align: left !important;
}

body.page-id-94 .entry-content
    > p.text-align-center a {
    font-weight: 650;
}

body.page-id-94 .entry-content
    > p.rteright {
    margin-top: 2rem;
    color: #657174;
    font-size: 0.86rem;
    text-align: left !important;
}

/* Botones */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content
    :is(.wp-block-button__link, .wp-element-button) {
    border: 1px solid #C83B2E;
    border-radius: 0.25rem;
    background: #C83B2E;
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content
    :is(.wp-block-button__link, .wp-element-button):hover,
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content
    :is(.wp-block-button__link, .wp-element-button):focus-visible {
    border-color: #9B2F27;
    background: #9B2F27;
    color: #FFFFFF;
}

/* Separadores y cierre */
body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content hr {
    margin-block: 2.75rem;
    border: 0;
    border-top: 1px solid rgba(101, 113, 116, 0.35);
}

body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
    .entry-content:has(> *)::after {
    display: block;
    width: 4.5rem;
    height: 4px;
    margin-top: clamp(3rem, 7vw, 5rem);
    background: #C83B2E;
    content: "";
}

/* Móvil */
@media (max-width: 689px) {
    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .hero-section {
        padding-block: 2.25rem 1.15rem;
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .hero-section > *,
    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        article
        .entry-content.is-layout-constrained {
        width: calc(100% - 32px);
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .hero-section h1 {
        font-size: clamp(2rem, 10vw, 2.65rem);
        line-height: 1.08;
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        article
        .entry-content.is-layout-constrained {
        font-size: 1.0625rem;
        line-height: 1.72;
        padding-bottom: 3.5rem;
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .entry-content h2 {
        margin-top: 2.75rem;
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .entry-content h3 {
        margin-top: 2.15rem;
    }

    body.page-id-79 .entry-content > img,
    body.page-id-79 .entry-content
        > figure.wp-block-embed {
        width: calc(100vw - 32px);
    }

    body.page-id-94 .entry-content table {
        font-size: 0.94rem;
    }

    body.page-id-94 .entry-content :is(th, td) {
        padding: 0.8rem 0.72rem;
    }

    body.page-id-94 .entry-content td:first-child {
        width: 3.6rem;
    }

    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .entry-content blockquote {
        padding: 1.15rem 1.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page:not(.page-id-1342):not(.page-id-1393):not(.page-id-942)
        .entry-content a,
    body.page-id-94 .entry-content tbody tr {
        transition: none;
    }
}

/* CDM_PAGE_SYSTEM_V11_PATCH_START */

/*
 * Correcciones de robustez:
 * - impedir que los años de Pregoneros se dividan;
 * - anular anchuras heredadas o inline de las imágenes históricas.
 */

body.page-id-94 .entry-content td:first-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

body.page-id-79 .entry-content > img {
    display: block;
    width: min(
        var(--cdm-page-media-width),
        calc(100vw - 40px)
    ) !important;
    max-width: none !important;
    height: auto !important;
    margin-inline-start: 50% !important;
    margin-inline-end: 0 !important;
    transform: translateX(-50%);
    object-fit: contain;
}

@media (max-width: 689px) {
    body.page-id-94 .entry-content td:first-child {
        width: 4.25rem;
        min-width: 4.25rem;
        padding-inline: 0.65rem;
    }

    body.page-id-79 .entry-content > img {
        width: calc(100vw - 32px) !important;
    }
}

/* CDM_PAGE_SYSTEM_V11_PATCH_END */

/* CDM_PAGE_SYSTEM_V12_PATCH_START */

/*
 * Centrado robusto del bloque Gutenberg core/embed de Historia.
 * Se neutralizan los márgenes heredados de la regla general de página.
 */

body.page-id-79 .entry-content
    > figure.wp-block-embed {
    display: block;
    box-sizing: border-box;
    width: min(
        var(--cdm-page-media-width),
        calc(100vw - 40px)
    ) !important;
    max-width: none !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%);
}

body.page-id-79 .entry-content
    > figure.wp-block-embed
    .wp-block-embed__wrapper {
    position: relative;
    display: block;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    aspect-ratio: 16 / 9;
}

body.page-id-79 .entry-content
    > figure.wp-block-embed iframe {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0;
}

@media (max-width: 689px) {
    body.page-id-79 .entry-content
        > figure.wp-block-embed {
        width: calc(100vw - 32px) !important;
    }
}

/* CDM_PAGE_SYSTEM_V12_PATCH_END */

/* CDM_PAGE_SYSTEM_V1_END */

/* CDM_ARCHIVE_MEDIA_V01_START
 * Alinea las imágenes de las tarjetas de archivo con el título y el extracto.
 * Neutraliza el efecto boundless de Blocksy sin cambiar la configuración del tema.
 */
body.archive article.entry-card > .ct-media-container.boundless-image {
    width: auto;
    max-width: 100%;
    margin-inline: 0;
    align-self: stretch;
}
/* CDM_ARCHIVE_MEDIA_V01_END */

/* CDM_ARCHIVE_HEADER_V01_START
 * Cabecera editorial de archivos y navegación por ediciones.
 */

body.archive .hero-section .page-title {
    color: #173C40;
    font-size: clamp(1.9rem, 3vw, 2.65rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

body.archive .hero-section .page-description {
    width: 100%;
    margin-top: 1.1rem;
}

body.archive .cdm-editions-nav {
    width: 100%;
}

body.archive .cdm-editions-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.archive .cdm-editions-list li {
    margin: 0;
    padding: 0;
}

body.archive .cdm-edition-link {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.78rem;
    border: 1px solid rgba(23, 60, 64, 0.18);
    border-radius: 999px;
    background: #FFFFFF;
    color: #173C40;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(16, 47, 51, 0.04);
}

body.archive .cdm-edition-link:hover,
body.archive .cdm-edition-link:focus-visible {
    border-color: #C83B2E;
    color: #9B2F27;
}

body.archive .cdm-edition-link.is-current {
    border-color: #C83B2E;
    background: #C83B2E;
    color: #FFFFFF;
}

@media (max-width: 689px) {
    body.archive .hero-section .page-description {
        margin-top: 0.85rem;
        overflow: hidden;
    }

    body.archive .cdm-editions-nav {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    body.archive .cdm-editions-list {
        width: max-content;
        min-width: 100%;
        flex-wrap: nowrap;
        padding-bottom: 0.45rem;
    }

    body.archive .cdm-edition-link {
        min-height: 2.2rem;
        padding-inline: 0.72rem;
        font-size: 0.8rem;
    }
}

/* CDM_ARCHIVE_HEADER_V01_END */

/* CDM_ARCHIVE_HEADER_V02_START
 * Navegación anual visible y completa en móvil.
 * Los años se distribuyen en varias filas para que
 * la edición activa permanezca siempre visible.
 */
@media (max-width: 689px) {
    body.archive .hero-section .page-description {
        display: block !important;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    body.archive .cdm-editions-nav {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    body.archive .cdm-editions-list {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        gap: 0.45rem;
        padding-bottom: 0;
    }
}
/* CDM_ARCHIVE_HEADER_V02_END */

/* CDM_ARCHIVE_PAGINATION_V01_START
 * Paginación común para archivos.
 * Los números permanecen visibles en móvil y los controles
 * se distribuyen sin provocar desbordamiento horizontal.
 */
body.archive .ct-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: clamp(2rem, 4vw, 3.25rem);
}

body.archive .ct-pagination .ct-hidden-sm {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

body.archive .ct-pagination .page-numbers {
    display: inline-flex;
    min-width: 2.35rem;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(23, 60, 64, 0.18);
    border-radius: 999px;
    background: #fff;
    color: #173c40;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(16, 47, 51, 0.04);
}

body.archive .ct-pagination a.page-numbers:hover,
body.archive .ct-pagination a.page-numbers:focus-visible {
    border-color: #c83b2e;
    color: #9b2f27;
}

body.archive .ct-pagination .page-numbers.current {
    border-color: #c83b2e;
    background: #c83b2e;
    color: #fff;
}

body.archive .ct-pagination .page-numbers.dots {
    min-width: auto;
    padding-inline: 0.25rem;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

body.archive .ct-pagination > .prev,
body.archive .ct-pagination > .next {
    min-width: auto;
    padding-inline: 1rem;
}

@media (max-width: 689px) {
    body.archive .ct-pagination {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: 100%;
        gap: 0.7rem 0.5rem;
    }

    body.archive .ct-pagination .ct-hidden-sm {
        grid-column: 1 / -1;
        width: 100%;
        gap: 0.35rem;
    }

    body.archive .ct-pagination .page-numbers {
        min-width: 2.15rem;
        min-height: 2.15rem;
        padding: 0.38rem 0.55rem;
        font-size: 0.8rem;
    }

    body.archive .ct-pagination > .prev {
        grid-column: 1;
        justify-self: start;
    }

    body.archive .ct-pagination > .next {
        grid-column: 2;
        justify-self: end;
    }
}
/* CDM_ARCHIVE_PAGINATION_V01_END */

/* CDM_PAGE_INSIGNIA_YEARS_V13_START
 * Evita que los años de la tabla de Insignia de Oro
 * se dividan en varias líneas en pantallas móviles.
 */
@media (max-width: 689px) {
    body.page-id-77 .entry-content table {
        table-layout: auto;
    }

    body.page-id-77 .entry-content table tr > :first-child {
        width: 4.75rem;
        min-width: 4.75rem;
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
        vertical-align: top;
    }
}
/* CDM_PAGE_INSIGNIA_YEARS_V13_END */

/* CDM_HOME_SPACING_V13_START */
/*
 * Apertura de portada V1.3.
 * Evita acumular el espaciado vertical de Blocksy con el relleno
 * propio del contenedor editorial de la portada.
 */
body.page-id-1342 .content-area,
body.page-id-1342 .site-main {
    padding-top: 0 !important;
}

body.page-id-1342 .entry-content {
    margin-top: 0 !important;
}

body.page-id-1342 .cdm-home-shell {
    padding-top: 0;
}
/* CDM_HOME_SPACING_V13_END */

/* CDM_COMUNICADOS_ARCHIVE_V01_START
 * Archivo canónico de Comunicados oficiales.
 * Conserva el layout nativo Blocksy y elimina elementos redundantes
 * solo en la categoría ID 5.
 */

/* La categoría ya está implícita en el propio archivo. */
body.category-5 article.entry-card > ul.entry-meta:first-of-type,
body.category-5 article.entry-card .meta-categories {
    display: none !important;
}

/* El archivo de comunicados se mantiene deliberadamente textual. */
body.category-5 article.entry-card .ct-media-container {
    display: none !important;
}

/* Ligero refuerzo de la fecha sin competir con el título. */
body.category-5 article.entry-card .meta-date .ct-meta-element-date {
    color: #4F6063;
    font-weight: 650;
}

/* CDM_COMUNICADOS_ARCHIVE_V01_END */

/* CDM_PENAS_V021_START
 * Página Peñas (ID 687) · directorio horizontal en escritorio.
 * Mantiene sin cambios las reglas móviles aprobadas en V0.2.
 */
body.page-id-687 {
    --cdm-page-width: 960px;
}

body.page-id-687 .entry-content .cdm-penas-intro {
    width: min(760px, 100%);
    margin-inline: 0;
    line-height: 1.66;
}

body.page-id-687 .entry-content .cdm-penas-intro p {
    margin: 0 0 0.9rem;
}

body.page-id-687 .entry-content .cdm-penas-intro > :last-child {
    margin-bottom: 0;
}

body.page-id-687 .entry-content > h2 {
    margin-block: clamp(2.35rem, 4vw, 3.1rem) 1rem;
}

body.page-id-687 .entry-content .cdm-penas-grid,
body.page-id-687 .entry-content .cdm-penas-grid--historicas {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    width: 100%;
    margin: 0;
}

body.page-id-687 .entry-content .cdm-pena-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) minmax(190px, 0.62fr);
    grid-template-areas:
        "logo name links"
        "logo details links";
    grid-template-rows: auto auto;
    column-gap: 1.2rem;
    row-gap: 0.34rem;
    align-items: center;
    min-width: 0;
    min-height: 122px;
    padding: 0.95rem 1.15rem;
    border: 1px solid rgba(23, 60, 64, 0.13);
    border-left: 3px solid rgba(200, 59, 46, 0.82);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.62);
    box-shadow: none;
    color: #201D1A;
    font-size: 0.96em;
    line-height: 1.45;
}

body.page-id-687 .entry-content .cdm-pena-card--historica {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas:
        "logo name"
        "logo details";
    border-left-color: rgba(101, 113, 116, 0.58);
    background: rgba(247, 243, 235, 0.52);
}

body.page-id-687 .entry-content .cdm-pena-name {
    grid-area: name;
    align-self: end;
    margin: 0;
    color: #102F33;
    font-size: clamp(1.08rem, 1rem + 0.28vw, 1.28rem);
    font-weight: 780;
    line-height: 1.18;
    letter-spacing: -0.012em;
}

body.page-id-687 .entry-content figure.cdm-pena-logo {
    grid-area: logo;
    align-self: center;
    width: 96px;
    max-width: 100%;
    margin: 0;
}

body.page-id-687 .entry-content figure.cdm-pena-logo img {
    display: block;
    width: 96px;
    height: 96px;
    max-width: 100%;
    margin: 0;
    object-fit: contain;
}

body.page-id-687 .entry-content .cdm-pena-details,
body.page-id-687 .entry-content .cdm-pena-links {
    margin: 0;
}

body.page-id-687 .entry-content .cdm-pena-details {
    grid-area: details;
    align-self: start;
    color: #4B5352;
}

body.page-id-687 .entry-content .cdm-pena-links {
    grid-area: links;
    align-self: center;
    min-width: 0;
    padding: 0.05rem 0 0.05rem 1.1rem;
    border-left: 1px solid rgba(23, 60, 64, 0.11);
    line-height: 1.48;
}

body.page-id-687 .entry-content .cdm-pena-links a {
    text-underline-offset: 0.16em;
    text-decoration-thickness: 1px;
}

body.page-id-687 .entry-content::after {
    margin-top: clamp(2.25rem, 4vw, 3rem);
}

@media (max-width: 689.98px) {
    body.page-id-687 .entry-content .cdm-penas-intro {
        line-height: 1.61;
    }

    body.page-id-687 .entry-content .cdm-penas-intro p {
        margin-bottom: 0.8rem;
    }

    body.page-id-687 .entry-content > h2 {
        margin-block: 2rem 0.85rem;
    }

    body.page-id-687 .entry-content .cdm-penas-grid,
    body.page-id-687 .entry-content .cdm-penas-grid--historicas {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0.8rem;
    }

    body.page-id-687 .entry-content .cdm-pena-card {
        grid-template-columns: 84px minmax(0, 1fr);
        grid-template-areas:
            "logo name"
            "logo details"
            "logo links";
        grid-template-rows: auto auto 1fr;
        column-gap: 0.85rem;
        row-gap: 0.32rem;
        align-items: start;
        min-height: 0;
        padding: 0.95rem 1rem;
        font-size: 0.93em;
        line-height: 1.42;
    }

    body.page-id-687 .entry-content .cdm-pena-card--historica {
        grid-template-columns: 84px minmax(0, 1fr);
        grid-template-areas:
            "logo name"
            "logo details";
        grid-template-rows: auto auto;
    }

    body.page-id-687 .entry-content figure.cdm-pena-logo,
    body.page-id-687 .entry-content figure.cdm-pena-logo img {
        width: 84px;
        height: 84px;
    }

    body.page-id-687 .entry-content .cdm-pena-name {
        align-self: end;
        font-size: 1.05rem;
    }

    body.page-id-687 .entry-content .cdm-pena-details {
        align-self: start;
    }

    body.page-id-687 .entry-content .cdm-pena-links {
        align-self: end;
        padding: 0.15rem 0 0;
        border-left: 0;
        line-height: 1.43;
    }
}

@media (max-width: 359.98px) {
    body.page-id-687 .entry-content .cdm-pena-card {
        grid-template-columns: 76px minmax(0, 1fr);
        column-gap: 0.75rem;
        padding-inline: 0.85rem;
    }

    body.page-id-687 .entry-content .cdm-pena-card--historica {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    body.page-id-687 .entry-content figure.cdm-pena-logo,
    body.page-id-687 .entry-content figure.cdm-pena-logo img {
        width: 76px;
        height: 76px;
    }
}
/* CDM_PENAS_V021_END */

/* CDM_MOBILE_SUBMENU_DOTS_FIX_V01_START */
/*
 * Blocksy genera los puntos decorativos del menú móvil mediante a::before
 * cuando data-submenu-dots="yes". Los ocultamos, manteniendo la sangría
 * y la jerarquía visual ya aprobadas.
 */
.ct-panel .mobile-menu[data-submenu-dots="yes"] [class*="children"] > ul li > a:not(:empty)::before,
.ct-panel .mobile-menu[data-submenu-dots="yes"] [class*="children"] > ul li > .ct-sub-menu-parent > a:not(:empty)::before {
    display: none !important;
    content: none !important;
}
/* CDM_MOBILE_SUBMENU_DOTS_FIX_V01_END */
