/* Duplet (licencia web confirmada, 2026-09-30; ver fuentes/LEEME.txt). Si no carga, Roboto (la de la wiki). */
@font-face { font-family: "Duplet"; font-style: normal; font-weight: 400; font-display: swap; src: url("fuentes/Duplet-Regular.woff2") format("woff2"); unicode-range: U+0020-007E, U+00A0-017F, U+2013-2014, U+2018-201D, U+2022, U+2026, U+20AC; }
@font-face { font-family: "Duplet"; font-style: normal; font-weight: 600; font-display: swap; src: url("fuentes/Duplet-SemiBold.woff2") format("woff2"); unicode-range: U+0020-007E, U+00A0-017F, U+2013-2014, U+2018-201D, U+2022, U+2026, U+20AC; }
@font-face { font-family: "Duplet"; font-style: normal; font-weight: 800; font-display: swap; src: url("fuentes/Duplet-ExtraBold.woff2") format("woff2"); unicode-range: U+0020-007E, U+00A0-017F, U+2013-2014, U+2018-201D, U+2022, U+2026, U+20AC; }

/*
 * Portada del Centro de Documentación ([ceprome_portada], mu-plugins/ceprome-portada.php): body.ceprome-portada.
 * Sistema de diseño CEPROME: radio de 2 px, sin sombras ni degradados, alineado a la izquierda; márgenes laterales de
 * 96 px en escritorio y 20 px en móvil. Tipografía: Duplet (arriba) y, si no carga, Roboto, la de la wiki; los tamaños y
 * pesos funcionan con las dos.
 */
.ceprome-portada {
	--cp-fondo: #f7f6f2;
	--cp-texto: #221f1d;
	--cp-texto-2: #3a3735;
	--cp-meta: #585857;
	--cp-linea: #e7e4dd;
	--cp-linea-2: #d9d9d9;
	--cp-guinda: #a22944;
	--cp-guinda-hover: #7c1f35;
	--cp-margen: 96px;
	--cp-letra: "Duplet", Roboto, "Helvetica Neue", Arial, sans-serif;
	background: var(--cp-fondo);
}
@media (max-width: 767px) {
	.ceprome-portada { --cp-margen: 20px; }
}
/* Sin el pie del tema: el cierre de la portada hace de pie (con el año). */
.ceprome-portada .full-width-page { padding: 0; margin: 0; }
.ceprome-portada footer.doc_footer_area { display: none; }
/* Cabecera del tema sobre la banda guinda: logo y menú en blanco (como en Documentación y los resultados). */
.ceprome-portada .menu_one:not(.navbar_fixed) .first_logo,
.ceprome-portada .mobile_main_menu:not(.navbar_fixed) .first_logo { display: none !important; }
.ceprome-portada .menu_one:not(.navbar_fixed) .white_logo,
.ceprome-portada .mobile_main_menu:not(.navbar_fixed) .white_logo { display: inline-block !important; }
.ceprome-portada .menu_one:not(.navbar_fixed) .navbar-nav > li > .nav-link,
.ceprome-portada .menu_one:not(.navbar_fixed) .search-icon,
.ceprome-portada .mobile_main_menu:not(.navbar_fixed) .search-icon { color: #fff !important; }
.ceprome-portada .mobile_main_menu:not(.navbar_fixed) .hamburger span { background: #fff !important; }
.ceprome-portada .header { background: var(--cp-guinda); }
/* La cabecera con los mismos márgenes que la portada (el logo alineado con el título). */
.ceprome-portada .menu_one > [class*="container"],
.ceprome-portada .mobile_main_menu > [class*="container"] {
	max-width: none !important;
	padding-left: var(--cp-margen) !important;
	padding-right: var(--cp-margen) !important;
}

.cp,
.cp * { box-sizing: border-box; }
.cp {
	font-family: var(--cp-letra);
	color: var(--cp-texto);
	font-size: 18px;
	line-height: 1.5;
	text-align: left;
}
.cp h1, .cp h2, .cp h3, .cp p, .cp ul { margin: 0; padding: 0; }
.cp h1, .cp h2, .cp h3 { font-family: var(--cp-letra); color: inherit; letter-spacing: 0; text-transform: none; }
.cp ul { list-style: none; }
.cp a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cp a:hover { text-decoration-thickness: 2px; }
.cp .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.cp-marco { padding-left: var(--cp-margen); padding-right: var(--cp-margen); }

/* Foco visible: 3 px, en guinda sobre fondo claro y en blanco sobre fondo de color. */
.cp a:focus-visible,
.cp button:focus-visible,
.cp input:focus-visible {
	outline: 3px solid var(--cp-guinda);
	outline-offset: 3px;
	border-radius: 2px;
}
.cp-hero a:focus-visible, .cp-hero button:focus-visible, .cp-hero input:focus-visible,
.cp-coleccion a:focus-visible,
.cp-cierre a:focus-visible { outline-color: #fff; }

/* ------------------------------------------------------------------ Portada principal: banda guinda */
.cp-hero {
	background: var(--cp-guinda);
	color: #fff;
	padding: 136px 0 64px;   /* la cabecera del tema va encima */
}
.cp-hero__titulo {
	font-size: 64px;
	font-weight: 800;
	line-height: 1.05;
	color: #fff !important;
}
.cp-hero__lema {
	max-width: 44em;
	margin-top: 20px !important;
	font-size: 20px;
	line-height: 1.5;
}
.cp-buscar {
	position: relative;
	max-width: 880px;
	margin-top: 40px !important;
}
.cp-buscar__etiqueta {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
}
.cp-buscar__fila { display: flex; }
.cp-buscar__campo {
	flex: 1 1 auto;
	min-width: 0;
	height: 64px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 2px 0 0 2px !important;
	background: #fff;
	color: var(--cp-texto);
	font: 400 20px/1 var(--cp-letra) !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}
.cp-buscar__campo::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.cp-buscar__boton {
	flex: 0 0 auto;
	height: 64px !important;
	padding: 0 32px !important;
	border: 0;
	border-radius: 0 2px 2px 0;
	background: var(--cp-texto);
	color: #fff;
	font: 600 18px/1 var(--cp-letra);
	cursor: pointer;
}
.cp-buscar__boton:hover { background: #000; }
/* Resultados al escribir (EazyDocs): debajo del campo, sobre el resto; los colores los pone sitio.css. */
#ezd-search-results.cp-buscar__resultados {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	margin-top: 4px;
	border-radius: 2px;
	text-align: left;
}
#ezd-search-results.cp-buscar__resultados:empty { display: none; }
/* Estilos propios del desplegable (el CSS de EazyDocs no se carga en la portada): una sola lista, sin pestañas. */
#ezd-search-results.cp-buscar__resultados.ajax-search {
	max-height: 440px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--cp-linea-2);
	color: var(--cp-texto);
}
#ezd-search-results.cp-buscar__resultados .ezd-result-tabs,
#ezd-search-results.cp-buscar__resultados .ezd-result-group-label,
#ezd-search-results.cp-buscar__resultados .ezd-item-type { display: none !important; }
#ezd-search-results.cp-buscar__resultados .search-result-item { border-bottom: 1px solid var(--cp-linea); }
#ezd-search-results.cp-buscar__resultados .search-result-item a.title {
	display: block;
	padding: 12px 20px;
	color: var(--cp-texto) !important;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;
}
#ezd-search-results.cp-buscar__resultados .search-result-item a.title:hover,
#ezd-search-results.cp-buscar__resultados .search-result-item a.title:focus-visible {
	background: var(--cp-fondo);
	color: var(--cp-guinda) !important;
	outline: 3px solid var(--cp-guinda);
	outline-offset: -3px;
}
/* El texto del resultado sigue al enlace (sitio.css lo pone en blanco al resaltar, para su fondo guinda). */
#ezd-search-results.cp-buscar__resultados .search-result-item a.title *,
#ezd-search-results.cp-buscar__resultados .search-result-item:hover a.title *,
#ezd-search-results.cp-buscar__resultados .search-result-item a.title:hover *,
#ezd-search-results.cp-buscar__resultados .search-result-item a.title:focus-visible * { color: inherit !important; background: transparent !important; }
#ezd-search-results.cp-buscar__resultados .search-result-item:hover,
#ezd-search-results.cp-buscar__resultados .search-result-item.active { background: var(--cp-fondo) !important; }
#ezd-search-results.cp-buscar__resultados .search-result-item:hover a.title { color: var(--cp-guinda) !important; }
#ezd-search-results.cp-buscar__resultados .ceprome-ver-todos {
	display: block;
	padding: 14px 20px;
	color: var(--cp-guinda) !important;
	font-weight: 600;
	text-align: left;
}
#ezd-search-results.cp-buscar__resultados .ceprome-ver-todos:focus-visible { outline: 3px solid var(--cp-guinda); outline-offset: -3px; }
#ezd-search-results.cp-buscar__resultados > p,
#ezd-search-results.cp-buscar__resultados .ezd-no-result { padding: 14px 20px; color: var(--cp-texto-2); }
.cp-frecuentes {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 20px;
	margin-top: 24px;
}
.cp-frecuentes__titulo { font-size: 16px; font-weight: 600; line-height: 1.5; }
.cp-frecuentes__lista { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 16px; }

/* ------------------------------------------------------------------ Colecciones: bandas de color, dos columnas pegadas */
.cp-colecciones__lista {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.cp-coleccion {
	background: var(--cp-color, #221f1d);
	color: #fff;
}
.cp-coleccion__caja {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 56px 56px 56px var(--cp-margen);
}
.cp-coleccion:nth-child(even) .cp-coleccion__caja { padding: 56px var(--cp-margen) 56px 56px; }
/* Una colección sola en su fila (p. ej. una tercera): a todo lo ancho. */
.cp-coleccion:nth-child(odd):last-child { grid-column: 1 / -1; }
.cp-coleccion:nth-child(odd):last-child .cp-coleccion__caja { padding-right: var(--cp-margen); }
.cp-coleccion__conteo { font-size: 18px; }
.cp-coleccion__nombre { font-size: 32px; font-weight: 600; line-height: 1.2; color: #fff !important; }
.cp-coleccion__desc { max-width: 34em; font-size: 18px; }
.cp-coleccion__ver { margin-top: auto !important; padding-top: 12px; font-weight: 600; }
.cp-coleccion__ver a { color: #fff; }

/* ------------------------------------------------------------------ Secciones sobre el fondo claro */
.cp-seccion { padding: 72px 0 0; }
.cp-seccion__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-bottom: 24px;
}
.cp-seccion__titulo { font-size: 32px; font-weight: 600; line-height: 1.2; }
.cp-seccion__mas { font-size: 18px; font-weight: 600; color: var(--cp-guinda) !important; }
.cp-seccion__mas:hover { color: var(--cp-guinda-hover) !important; }

/* Países: solo el nombre, 6 columnas (2 en móvil), una línea debajo de cada uno. */
.cp-paises__lista {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 32px;
}
.cp-paises__lista li { border-bottom: 1px solid var(--cp-linea-2); }
.cp-paises__lista a {
	display: block;
	padding: 14px 0;
	color: var(--cp-texto);
	font-weight: 600;
	text-decoration: none;
}
.cp-paises__lista a:hover { color: var(--cp-guinda); text-decoration: underline; }

/* Recién agregados (7 de 12) y Por pontificado (4 de 12), en una fila. */
.cp-fila { padding-bottom: 88px; }
.cp-fila__rejilla {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 32px;
	row-gap: 56px;
}
.cp-recientes { grid-column: 1 / span 7; }
.cp-pontificados { grid-column: 9 / span 4; }
.cp-recientes > .cp-seccion__titulo,
.cp-pontificados > .cp-seccion__titulo { margin-bottom: 24px !important; }
.cp-doc__meta { font-size: 15px; color: var(--cp-meta); }
.cp-doc__titulo a { color: var(--cp-texto); text-decoration: none; }
.cp-doc__titulo a:hover { color: var(--cp-guinda); text-decoration: underline; }
.cp-doc--destacado {
	border-top: 2px solid var(--cp-guinda);
	padding: 20px 0 28px;
}
.cp-doc--destacado .cp-doc__titulo { margin-top: 8px !important; font-size: 26px; font-weight: 600; line-height: 1.25; }
.cp-doc__extracto {
	margin-top: 12px !important;
	color: var(--cp-texto-2);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}
.cp-doc--compacto { border-top: 1px solid var(--cp-linea); padding: 16px 0; }
.cp-doc--compacto .cp-doc__titulo { margin-top: 4px !important; font-size: 18px; font-weight: 600; line-height: 1.35; }

.cp-pontificados__lista li { border-top: 1px solid var(--cp-linea); }
.cp-pontificados__lista li:last-child { border-bottom: 1px solid var(--cp-linea); }
.cp-pontificado {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	color: var(--cp-texto) !important;
	text-decoration: none !important;
}
.cp-pontificado__escudo {
	flex: 0 0 56px;
	width: 56px !important;
	height: 70px !important;
	object-fit: contain;
}
.cp-pontificado__texto { display: flex; flex-direction: column; }
.cp-pontificado__nombre { font-size: 18px; font-weight: 600; }
.cp-pontificado__n { font-size: 15px; color: var(--cp-meta); }
.cp-pontificado:hover .cp-pontificado__nombre { color: var(--cp-guinda); text-decoration: underline; }

/* ------------------------------------------------------------------ Cierre */
.cp-cierre {
	background: var(--cp-texto);
	color: #fff;
	padding: 56px 0;
}
.cp-cierre__texto { max-width: 40em; font-size: 20px; }
.cp-cierre__enlace { margin-top: 16px !important; font-weight: 600; }
.cp-cierre__enlace a { color: #fff; }
.cp-cierre__legal { margin-top: 32px !important; font-size: 15px; color: var(--cp-linea-2); }

/* ------------------------------------------------------------------ Móvil */
@media (max-width: 991px) {
	.cp-recientes, .cp-pontificados { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.cp-hero { padding: 104px 0 44px; }
	.cp-hero__titulo { font-size: 40px; }
	.cp-hero__lema { font-size: 18px; }
	.cp-buscar__fila { flex-direction: column; gap: 8px; }
	.cp-buscar__campo, .cp-buscar__boton { width: 100%; border-radius: 2px !important; }
	.cp-colecciones__lista { grid-template-columns: 1fr; }
	.cp-coleccion__caja,
	.cp-coleccion:nth-child(even) .cp-coleccion__caja { padding: 40px var(--cp-margen); }
	.cp-coleccion__nombre { font-size: 28px; }
	.cp-seccion { padding-top: 56px; }
	.cp-seccion__titulo { font-size: 26px; }
	.cp-paises__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
	.cp-fila { padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) {
	.cp * { transition: none !important; animation: none !important; }
}
