/* Cruzadatos — estilo de toda la web (sobre GeneratePress). Colores y letra sacados del logo. */
@font-face {
	font-family: Figtree;
	src: url("fuentes/Figtree.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

/* Colores globales de GeneratePress (doble :root para ganar a los que imprime el tema). */
:root:root {
	--contrast: #0e2f38;
	--contrast-2: #4a6670;
	--contrast-3: #9db2b9;
	--base: #d3dfe3;
	--base-2: #eef3f5;
	--base-3: #ffffff;
	--accent: #115062;
}

body {
	font-family: Figtree, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: #0e2f38;
	background: #ffffff;
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body .entry-title, body .main-title {
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #0e2f38;
}
body h1, body .entry-title { font-size: clamp(1.75rem, 1.25rem + 2vw, 2.6rem); line-height: 1.1; }
body h2 { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); line-height: 1.2; }
body h3 { font-size: 1.25rem; line-height: 1.3; }
body p, body li { max-width: 70ch; }

a { color: #115062; text-decoration-thickness: 1px; text-underline-offset: .15em; }
a:hover, a:focus { color: #0e2f38; }
:focus-visible { outline: 3px solid #ffb504; outline-offset: 2px; }

/* Cabecera: blanca, con una línea fina en lugar de sombra. */
body .site-header { background: #ffffff; border-bottom: 1px solid #d3dfe3; }
body .main-navigation, body .main-navigation ul ul { background: #ffffff; }
body .main-navigation .main-nav ul li a, body .menu-toggle { color: #0e2f38; font-weight: 600; }
body .main-navigation .main-nav ul li a:hover, body .main-navigation .main-nav ul li.current-menu-item > a { color: #115062; }
body .menu-toggle, body .menu-toggle:hover, body .menu-toggle:focus { background: transparent; }

/* Contenido sin cajas grises: una sola superficie blanca. */
body.separate-containers .inside-article,
body.separate-containers .comments-area,
body.separate-containers .page-header,
body.separate-containers .paging-navigation,
body.separate-containers .inside-right-sidebar .widget,
body.separate-containers .inside-left-sidebar .widget { background: #ffffff; }
body .site-footer, body .site-info { background: #eef3f5; color: #4a6670; }
body .site-info a { color: #115062; }

/* Botones del tema (formularios, comentarios) con el azul de marca. */
/* (Los botones de la herramienta, con clase cdz-, llevan su propio estilo.) */
body button:not([class*="cdz"]), body input[type="submit"], body .button, body .wp-block-button__link {
	background: #115062; color: #ffffff; border-radius: 8px; font-weight: 700;
}
body button:not([class*="cdz"]):hover, body input[type="submit"]:hover, body .button:hover { background: #0e2f38; color: #ffffff; }

/* Portada (la herramienta): menos aire arriba en el móvil para que el gráfico se vea enseguida. */
body.home .inside-article { padding-top: 24px; }
body.home .entry-header { margin-bottom: 8px; }
@media (max-width: 768px) {
	body.home .inside-article { padding: 16px 16px 0; }
	body.home .entry-title { font-size: 1.6rem; }
}

/* Cabecera en el móvil: logo y botón del menú en la misma línea. */
@media (max-width: 768px) {
	body .inside-header { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; }
	body .site-logo, body .site-branding-container { flex: 0 1 auto; min-width: 0; margin: 0; }
	body .site-logo img, body .header-image { width: auto; max-width: 210px; max-height: 44px; height: auto; }
	body .main-navigation { flex: none; width: auto; margin-left: auto; }
	body .main-navigation .inside-navigation { padding: 0; }
}

/* Pie de página: frase, enlaces (normales, sin nofollow) y copyright */
body .site-info { padding: 28px 0 32px; }
.cdz-pie { max-width: 1100px; margin: 0 auto; padding: 0 16px; text-align: left; font-size: .92rem; color: #4a6670; }
.cdz-pie-frase { margin: 0 0 12px; max-width: 62ch; }
.cdz-pie-enlaces { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0 0 12px; padding: 0; }
.cdz-pie-enlaces a { color: #115062; font-weight: 600; text-decoration: none; }
.cdz-pie-enlaces a:hover, .cdz-pie-enlaces a:focus { text-decoration: underline; }
.cdz-pie-copy { margin: 0; font-size: .85rem; }

/* Página «Datos y fuentes» */
.cdz-datos-lista { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 12px; }
.cdz-datos-lista li { padding: 12px 14px; border: 1px solid #d3dfe3; border-radius: 10px; }
.cdz-datos-meta { color: #4a6670; font-weight: 400; }

/* Páginas de texto (legales, datos): ancho de lectura cómodo */
body.page:not(.home) .entry-content { max-width: 72ch; }

/* Cabecera: logo en vector con el lema debajo del nombre (el nombre empieza al 24,2 % del ancho del logo) */
.cdz-marca { --alto: 58px; }
.cdz-marca a { display: inline-flex; flex-direction: column; align-items: flex-start; text-decoration: none; }
.site-header .cdz-marca img { display: block; height: var(--alto); width: auto; max-width: none; }
.cdz-marca .cdz-lema {
	margin: calc(var(--alto) * -0.2) 0 0 calc(var(--alto) * 1.035);
	font-size: 12.5px; font-weight: 500; line-height: 1.2;
	color: #51818D; white-space: nowrap;
}
.main-navigation .main-nav ul li a { font-weight: 600; }
.main-navigation .main-nav ul li.current-menu-item > a { color: #115062; box-shadow: inset 0 -3px 0 #FFB504; }
@media (max-width: 768px) {
	.cdz-marca { --alto: 46px; }
	.cdz-marca .cdz-lema { font-size: 11px; }
}

/* Texto de portada, debajo de la herramienta */
.cdz-portada { max-width: 72ch; margin: 64px auto 0; }
.cdz-portada h2 { margin-top: 1.6em; }
.cdz-portada h3 { font-size: 1.1rem; margin: 1.4em 0 .4em; }

/* Página de ayuda */
.cdz-ayuda .cdz-ayuda-img { margin: 1.2em auto; text-align: center; }
.cdz-ayuda .cdz-ayuda-img img { max-width: 100%; height: auto; border-radius: 10px; box-shadow: 0 4px 18px -8px rgba(14, 47, 56, .35); }
.cdz-ayuda .cdz-ayuda-par { display: grid; grid-template-columns: 1fr; gap: 0 28px; align-items: start; margin: 1.6em 0; }
.cdz-ayuda .cdz-ayuda-par .cdz-ayuda-img { margin: 0 auto 1em; max-width: 270px; }
.cdz-ayuda .cdz-ayuda-par h3 { margin-top: 0; }
.cdz-ayuda .cdz-ayuda-sirve { color: #4a6670; }
.cdz-ayuda .cdz-ayuda-boton { display: inline-block; padding: 12px 22px; border-radius: 8px; background: #D98813; color: #fff; font-weight: 700; text-decoration: none; }
.cdz-ayuda .cdz-ayuda-boton:hover, .cdz-ayuda .cdz-ayuda-boton:focus { background: #b8720f; color: #fff; }
@media (min-width: 720px) {
	.cdz-ayuda .cdz-ayuda-par { grid-template-columns: 270px 1fr; }
	.cdz-ayuda .cdz-ayuda-par .cdz-ayuda-img { margin: 0; }
}

/* Ejemplos de la portada */
.cdz-ejemplos { max-width: 1160px; margin: 56px auto 0; }
.cdz-ejemplos > p { max-width: 72ch; }
.cdz-ejemplos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; margin-top: 20px; }
.cdz-ejemplo { display: flex; flex-direction: column; padding: 14px; border: 1px solid #d3dfe3; border-radius: 12px; background: #fff; }
.cdz-ejemplo-img { display: block; align-self: center; margin-bottom: 10px; }
.cdz-ejemplo-img img { display: block; width: 180px; height: auto; border-radius: 8px; box-shadow: 0 4px 14px -6px rgba(14, 47, 56, .4); }
.cdz-ejemplo-tipo { margin: 0; font-size: .82rem; font-weight: 600; color: #4a6670; }
.cdz-ejemplo h3 { margin: 4px 0 6px; font-size: 1.1rem; line-height: 1.25; }
.cdz-ejemplo p { margin: 0 0 12px; font-size: .95rem; }
.cdz-ejemplo-boton { margin-top: auto; align-self: flex-start; padding: 10px 16px; border-radius: 8px; background: #115062; color: #fff; font-weight: 700; text-decoration: none; }
.cdz-ejemplo-boton:hover, .cdz-ejemplo-boton:focus { background: #0e2f38; color: #fff; }

/* Tablas de las páginas de datos */
.cdz-tabla-envoltorio { overflow-x: auto; margin: 1.2em 0; }
.cdz-tabla { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cdz-tabla caption { caption-side: bottom; text-align: left; font-size: .85rem; color: #4a6670; padding-top: 8px; }
.cdz-tabla th, .cdz-tabla td { padding: 7px 10px; border-bottom: 1px solid #d3dfe3; text-align: right; white-space: nowrap; }
.cdz-tabla th[scope=row], .cdz-tabla thead th:first-child { text-align: left; }
.cdz-tabla thead th { background: #eef3f5; }
.cdz-tabla .cdz-tabla-total { font-weight: 700; background: #fff8ec; }
.cdz-pagina-dato { max-width: 72ch; margin-left: auto; margin-right: auto; }
.cdz-pagina-enlaces li { margin-bottom: .4em; }
/* Páginas que llevan la herramienta: a todo el ancho (el texto sigue estrecho en .cdz-pagina-dato) */
body.page:not(.home) .entry-content:has(.cdz) { max-width: none; }
