/*
Theme Name: CEJAPIM
Theme URI: https://cejapim.org
Author: CEJAPIM
Description: Tema de bloques de CEJAPIM (Centro de Estudios Judaicos y Análisis Político de Israel y el Medio Oriente): agencia de noticias, verificación de datos, OMD TV, Academia y Editorial. Requiere el plugin CEJAPIM Core.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: cejapim
*/

/* ============ 1. Tokens y modo oscuro ============ */
:root {
	--c-paper: var(--wp--preset--color--paper);
	--c-surface: var(--wp--preset--color--surface);
	--c-ink: var(--wp--preset--color--ink);
	--c-muted: var(--wp--preset--color--muted);
	--c-rule: var(--wp--preset--color--rule);
	--c-navy: var(--wp--preset--color--navy);
	--c-navy-2: var(--wp--preset--color--navy-2);
	--c-on-navy: var(--wp--preset--color--on-navy);
	--c-on-navy-muted: var(--wp--preset--color--on-navy-muted);
	--c-gold: var(--wp--preset--color--gold);
	--c-gold-bright: var(--wp--preset--color--gold-bright);
	--c-gold-soft: var(--wp--preset--color--gold-soft);
	--v-verdadero: var(--wp--custom--sello--verdadero);
	--v-impreciso: var(--wp--custom--sello--impreciso);
	--v-sin-contexto: var(--wp--custom--sello--sin-contexto);
	--v-enganoso: var(--wp--custom--sello--enganoso);
	--v-falso: var(--wp--custom--sello--falso);
	--f-serif: var(--wp--preset--font-family--serif);
	--f-marca: var(--wp--preset--font-family--marca);
	--f-ui: var(--wp--preset--font-family--ui);
	--gutter: clamp(16px, 3vw, 32px);
	--ancho: 1200px;
}
@media (prefers-color-scheme: dark) {
	:root:root {
		--wp--preset--color--paper: #0F141B;
		--wp--preset--color--surface: #171E28;
		--wp--preset--color--ink: #ECE8DF;
		--wp--preset--color--muted: #9BA4B1;
		--wp--preset--color--rule: #2A3442;
		--wp--preset--color--navy: #141B25;
		--wp--preset--color--navy-2: #1C2533;
		--wp--preset--color--gold: #D8B35C;
		--wp--preset--color--gold-soft: #2B2517;
		--wp--custom--sello--verdadero: #4DB585;
		--wp--custom--sello--impreciso: #A8B64A;
		--wp--custom--sello--sin-contexto: #7FA3D1;
		--wp--custom--sello--enganoso: #E39A4B;
		--wp--custom--sello--falso: #EE6A5F;
		color-scheme: dark;
	}
}

/* ============ 2. Base ============ */
body { background: var(--c-paper); color: var(--c-ink); -webkit-font-smoothing: antialiased; font-optical-sizing: auto; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
a { text-decoration-color: var(--c-gold); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--c-gold-bright); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.cej-envoltura { max-width: var(--ancho); margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; }
.cej-envoltura .has-global-padding { padding-inline: 0; }
.cej-principal { margin: 0; }
.cej-antetitulo, .cej-antetitulo a { font-family: var(--f-ui); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: var(--c-gold); text-decoration: none; margin: 0; }
.cej-antetitulo--fila { display: flex; flex-wrap: wrap; gap: 0 0.9em; }
.cej-antetitulo--fila > * { margin: 0 !important; }
.cej-meta, .cej-meta a, .wp-block-post-date { font-family: var(--f-ui); font-size: 0.8125rem; color: var(--c-muted); letter-spacing: 0.02em; }
.cej-meta { display: flex; flex-wrap: wrap; gap: 0 0.8em; align-items: baseline; }
.cej-meta > * { margin: 0 !important; }
.cej-entradilla { font-size: 1.2rem; color: var(--c-muted); max-width: 62ch; }
.cej-etiqueta { font-family: var(--f-ui); font-size: 0.78rem !important; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-muted); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Botones */
.wp-element-button, .wp-block-button__link { transition: opacity 0.15s; }
.wp-element-button:hover, .wp-block-button__link:hover { opacity: 0.88; text-decoration: none; }
.is-style-oro .wp-block-button__link, .cej-boton--oro { background: var(--c-gold-bright) !important; color: #1E2734 !important; }
.is-style-enlace .wp-block-button__link { background: transparent !important; color: var(--c-gold) !important; padding-inline: 0.2rem !important; }
.is-style-enlace .wp-block-button__link::after { content: " →"; }
.cej-botones { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; margin-top: 1.75rem; }
.cej-botones > * { margin: 0 !important; }
.cej-enlace-flecha a, .cej-enlaces-linea a { color: var(--c-gold); font-family: var(--f-ui); font-weight: 500; }
.cej-enlaces-linea { font-family: var(--f-ui); color: var(--c-muted); }

/* ============ 3. Cabecera ============ */
.cej-cabecera-sitio { position: relative; z-index: 10; }
.cej-barra { background: var(--c-navy); color: var(--c-on-navy-muted); font-family: var(--f-ui); font-size: 0.8125rem; border-bottom: 1px solid #ffffff14; }
.cej-barra__fila { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding-block: 0.5rem; flex-wrap: wrap; }
.cej-barra__fila > * { margin: 0 !important; }
.cej-fecha b { color: var(--c-on-navy); font-weight: 500; font-variant-numeric: tabular-nums; }
.cej-barra__enlaces { display: flex; gap: 1.1rem; }
.cej-barra__enlaces a { color: inherit; text-decoration: none; }
.cej-barra__enlaces a:hover { color: var(--c-on-navy); }
.cej-cabecera { background: radial-gradient(120% 140% at 15% 0%, var(--c-navy-2), var(--c-navy) 60%); color: var(--c-on-navy); }
.cej-cabecera__fila { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; padding-block: 1.35rem; }
.cej-marca { display: inline-flex; align-items: center; gap: 1.1rem; text-decoration: none; color: inherit; }
.cej-marca:hover { text-decoration: none; }
.cej-marca__leon { width: 66px; height: auto; display: block; }
.cej-marca__texto { display: flex; flex-direction: column; gap: 0.3rem; }
.cej-marca__nombre { font-family: var(--f-marca); font-weight: 700; font-size: clamp(1.9rem, 4.2vw, 2.75rem); letter-spacing: 0.06em; line-height: 1;
	background: linear-gradient(180deg, #F4DE9C 0%, #D8B35C 45%, #A87C2A 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cej-marca__completo { font-family: var(--f-serif); font-style: italic; font-size: 0.97rem; color: var(--c-on-navy-muted); }
.cej-cabecera__lema { max-width: 300px; font-family: var(--f-ui); font-size: 0.85rem; line-height: 1.45; color: var(--c-on-navy-muted); text-align: right; border-left: 1px solid #ffffff22; padding-left: 1.25rem; margin: 0; }
.cej-cabecera__lema strong { color: var(--c-gold-bright); font-weight: 500; }
.cej-nav { background: var(--c-navy); border-top: 1px solid #ffffff14; position: sticky; top: 0; z-index: 20; }
.admin-bar .cej-nav { top: var(--wp-admin--admin-bar--height, 32px); }
.cej-nav__fila { display: flex; align-items: center; gap: 0.5rem; }
.cej-nav__fila > * { margin: 0 !important; }
.cej-nav .cej-menu, .cej-nav .cej-menu a { color: var(--c-on-navy) !important; }
.cej-menu { overflow-x: auto; scrollbar-width: none; flex: 1 1 auto; min-width: 0; }
.cej-menu::-webkit-scrollbar { display: none; }
.cej-menu .wp-block-navigation__container { gap: 0.15rem; flex-wrap: nowrap; }
.cej-menu .wp-block-navigation-item__content { font-family: var(--f-ui); font-size: 0.92rem; font-weight: 500; letter-spacing: 0.03em; color: var(--c-on-navy); padding: 0.8rem 0.75rem !important; white-space: nowrap; border-bottom: 2px solid transparent; text-decoration: none; display: block; }
.cej-menu .wp-block-navigation-item__content:hover, .cej-menu .current-menu-item > .wp-block-navigation-item__content { border-bottom-color: var(--c-gold-bright); text-decoration: none; }
.cej-menu .current-menu-item > .wp-block-navigation-item__content { color: var(--c-gold-bright); }
.cej-nav__acciones { display: flex; align-items: center; gap: 0.6rem; flex: none; }
.cej-nav__buscar { color: var(--c-on-navy); display: grid; place-items: center; width: 38px; height: 38px; }
.cej-nav__cta { background: var(--c-gold-bright); color: #1E2734; font-family: var(--f-ui); font-weight: 600; font-size: 0.9rem; padding: 0.5rem 0.9rem; border-radius: 2px; text-decoration: none; white-space: nowrap; }
.cej-nav__cta:hover { background: #E6C678; text-decoration: none; }

/* ============ 4. Portada ============ */
.cej-portada { padding-block: 2rem 0.5rem; }
.cej-lead { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); }
.cej-lead > *, .cej-lead .wp-block-post > * { margin-block: 0; }
.cej-lead .wp-block-post { display: flex; flex-direction: column; gap: 0.6rem; }
.cej-lead .wp-block-post-featured-image { margin-bottom: 0.6rem; }
.cej-lead__titulo { font-size: var(--wp--preset--font-size--portada); letter-spacing: -0.01em; font-weight: 500; }
.cej-lead__titulo a, .wp-block-post-title a { text-decoration: none; }
.cej-lead__titulo a:hover, .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--c-gold); }
.cej-lead__entradilla { font-size: 1.2rem; color: var(--c-muted); max-width: 62ch; }
.cej-lead__entradilla p { margin: 0; }
.wp-block-post-featured-image { overflow: hidden; background: var(--c-rule); }
.wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (prefers-reduced-motion: no-preference) {
	.wp-block-post-featured-image img, .cej-tarjeta__img img { transition: transform 0.5s ease; }
	.wp-block-post:hover .wp-block-post-featured-image img, .cej-tarjeta:hover .cej-tarjeta__img img { transform: scale(1.03); }
}

/* Última hora */
.cej-wire { border-left: 1px solid var(--c-rule); padding-left: clamp(0px, 2.5vw, 1.75rem); min-width: 0; }
.cej-wire__titulo { font-family: var(--f-ui) !important; font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.25rem; }
.cej-wire__titulo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-gold); }
.cej-wire__titulo.is-vivo::before { background: var(--v-falso); }
.cej-wire ol { list-style: none; margin: 0; padding: 0; }
.cej-wire li { display: grid; grid-template-columns: 4.2rem 1fr; gap: 0.6rem; padding-block: 0.8rem; border-bottom: 1px solid var(--c-rule); }
.cej-wire time { font-family: var(--f-ui); font-size: 0.8rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--c-gold); padding-top: 0.15rem; }
.cej-wire li span { font-family: var(--f-ui); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); display: block; }
.cej-wire li a { font-size: 1.05rem; line-height: 1.35; font-weight: 500; text-decoration: none; }
.cej-wire li a:hover { text-decoration: underline; }
.cej-wire__mas { font-family: var(--f-ui); font-size: 0.85rem; margin-top: 0.75rem; }
.cej-wire__mas a { color: var(--c-gold); }

/* Tarjetas */
.cej-tarjetas-portada { border-top: 1px solid var(--c-rule); margin-top: 1.75rem; padding-top: 1.75rem; }
.cej-tarjetas { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.1rem, 2.4vw, 1.75rem); list-style: none; padding: 0; margin: 0; }
.cej-listado .cej-tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cej-tarjetas > li, .cej-tarjeta { display: flex; flex-direction: column; gap: 0.45rem; min-width: 0; margin: 0 !important; }
.cej-tarjetas > li > * { margin: 0 !important; }
.cej-tarjetas .wp-block-post-featured-image, .cej-tarjeta__img { margin-bottom: 0.35rem !important; aspect-ratio: 3/2; overflow: hidden; background: var(--c-rule); display: block; }
.cej-tarjeta__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cej-tarjetas h2, .cej-tarjetas h3, .cej-tarjeta h2, .cej-tarjeta h3 { font-size: 1.25rem !important; font-weight: 500; line-height: 1.25; margin: 0; }
.cej-tarjetas h2 a, .cej-tarjeta h2 a, .cej-tarjeta h3 a { text-decoration: none; }
.cej-tarjetas .wp-block-post-excerpt { font-size: 0.97rem; color: var(--c-muted); }
.cej-tarjetas .wp-block-post-excerpt p { margin: 0; }

/* Franjas y cabeceras de sección */
.cej-franja { padding-block: clamp(2.25rem, 5vw, 4rem); margin: 0 !important; }
.cej-franja--clara { background: var(--c-surface); border-block: 1px solid var(--c-rule); }
.cej-franja--clara + .cej-franja--clara { border-top: 0; }
.cej-franja--oscura { background: var(--c-navy); color: var(--c-on-navy); }
.cej-seccion-cabecera { display: flex; justify-content: space-between; align-items: end; gap: 1rem; border-top: 3px solid var(--c-ink); padding-top: 0.75rem; margin-bottom: 1.6rem; flex-wrap: wrap; }
.cej-seccion-cabecera > * { margin: 0 !important; }
.cej-franja--oscura .cej-seccion-cabecera { border-top-color: var(--c-gold-bright); }
.cej-seccion-cabecera h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.cej-seccion-cabecera__mas { font-family: var(--f-ui); font-size: 0.9rem; font-weight: 500; }
.cej-seccion-cabecera__mas a { color: var(--c-gold); text-decoration: none; }
.cej-franja--oscura .cej-seccion-cabecera__mas a, .cej-franja--oscura .cej-antetitulo { color: var(--c-gold-bright); }

/* ============ 5. Verificación ============ */
.cej-verif-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2rem; align-items: start; margin-bottom: 1.9rem; }
.cej-verif-intro > * { margin: 0 !important; }
.cej-escala__titulo { font-family: var(--f-ui); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 0.5rem; }
.cej-escala ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cej-sello { --c: var(--v-sin-contexto); font-family: var(--f-ui); font-weight: 600; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c) !important; border: 1.5px solid var(--c); padding: 0.25rem 0.55rem 0.2rem; border-radius: 2px; display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; text-decoration: none !important; margin: 0; line-height: 1.4; }
.cej-sello::before { content: ""; width: 7px; height: 7px; background: var(--c); border-radius: 50%; }
.cej-sello--verdadero { --c: var(--v-verdadero); } .cej-sello--impreciso { --c: var(--v-impreciso); } .cej-sello--sin-contexto { --c: var(--v-sin-contexto); } .cej-sello--enganoso { --c: var(--v-enganoso); } .cej-sello--falso { --c: var(--v-falso); }
.cej-checks { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); list-style: none; padding: 0; margin: 0; }
.cej-checks > li { margin: 0 !important; display: flex; }
.cej-check { --c: var(--v-sin-contexto); border-top: 4px solid var(--c); background: var(--c-paper); padding: 1.25rem 1.25rem 1.1rem; display: flex; flex-direction: column; gap: 0.9rem; min-width: 0; width: 100%; box-sizing: border-box; }
.cej-franja--clara .cej-check { background: var(--c-paper); }
.cej-listado .cej-check { background: var(--c-surface); border: 1px solid var(--c-rule); border-top: 4px solid var(--c); }
.cej-check--verdadero { --c: var(--v-verdadero); } .cej-check--impreciso { --c: var(--v-impreciso); } .cej-check--sin-contexto { --c: var(--v-sin-contexto); } .cej-check--enganoso { --c: var(--v-enganoso); } .cej-check--falso { --c: var(--v-falso); }
.cej-check blockquote { margin: 0; font-size: 1.3rem; line-height: 1.3; font-style: italic; border: 0; padding: 0; }
.cej-check blockquote a { text-decoration: none; }
.cej-check blockquote::before { content: "«"; color: var(--c-gold); } .cej-check blockquote::after { content: "»"; color: var(--c-gold); }
.cej-check__pie { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-top: auto; }
.cej-check__quien { font-family: var(--f-ui); font-size: 0.8rem; color: var(--c-muted); }
.cej-vacio { background: var(--c-paper); border: 1px dashed var(--c-rule); padding: 1.25rem 1.5rem; max-width: 70ch; }
.cej-vacio p { margin: 0; }
.cej-ficha-v { --c: var(--v-sin-contexto); display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--c-rule); border-top: 5px solid var(--c); background: var(--c-surface); margin-block: 1.5rem 2rem; max-width: 900px; }
.cej-ficha-v--verdadero { --c: var(--v-verdadero); } .cej-ficha-v--impreciso { --c: var(--v-impreciso); } .cej-ficha-v--sin-contexto { --c: var(--v-sin-contexto); } .cej-ficha-v--enganoso { --c: var(--v-enganoso); } .cej-ficha-v--falso { --c: var(--v-falso); }
.cej-ficha-v > div { padding: 1.25rem 1.4rem; }
.cej-ficha-v__veredicto { border-left: 1px solid var(--c-rule); }
.cej-ficha-v__resumen { grid-column: 1 / -1; border-top: 1px solid var(--c-rule); background: var(--c-paper); }
.cej-ficha-v__etiqueta { font-family: var(--f-ui); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 0.5rem; }
.cej-ficha-v blockquote { margin: 0; padding: 0; border: 0; font-size: 1.35rem; font-style: italic; line-height: 1.3; }
.cej-ficha-v__origen { font-family: var(--f-ui); font-size: 0.85rem; color: var(--c-muted); margin: 0.7rem 0 0; }
.cej-ficha-v__origen a { color: var(--c-gold); }
.cej-ficha-v__veredicto .cej-sello { font-size: 0.95rem; padding: 0.35rem 0.75rem; }
.cej-ficha-v__def { font-size: 0.97rem; color: var(--c-muted); margin: 0.7rem 0 0; }
.cej-ficha-v__resumen p:last-child { margin: 0; font-size: 1.1rem; }
.cej-caja-metodo { background: var(--c-surface); border: 1px solid var(--c-rule); padding: 1.5rem 1.75rem; margin-top: 2.5rem; max-width: 720px; margin-inline: auto; }
.cej-caja-metodo h2 { font-size: 1.4rem; margin-top: 0; }
.cej-fuentes { border-top: 1px solid var(--c-rule); padding-top: 1rem; margin-top: 2rem; }
.cej-fuentes h2 { font-family: var(--f-ui); font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 0.6rem; }
.cej-fuentes ol { margin: 0; padding-left: 1.3rem; font-size: 0.97rem; }
.cej-fuentes li { margin-bottom: 0.35rem; overflow-wrap: anywhere; }
.cej-fuentes a { color: var(--c-gold); }

/* ============ 6. OMD TV ============ */
.cej-progs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.1rem, 2.5vw, 1.75rem); }
.cej-prog { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 1.25rem; align-items: center; background: var(--c-navy-2); border: 1px solid #ffffff12; padding: 1.1rem; color: var(--c-on-navy); }
.cej-omd .cej-prog { background: var(--c-navy); }
.cej-prog__pantalla { aspect-ratio: 16/10; background: linear-gradient(135deg, #2E3B50, #18202B); display: grid; place-items: center; position: relative; border: 1px solid #ffffff18; overflow: hidden; text-decoration: none; }
.cej-prog__pantalla img { width: 100%; height: 100%; object-fit: cover; }
.cej-prog__pantalla span { font-family: var(--f-marca); font-weight: 700; color: var(--c-gold-bright); font-size: 1.6rem; letter-spacing: 0.08em; }
.cej-prog__pantalla::after { content: ""; position: absolute; right: 10px; bottom: 10px; border-left: 12px solid var(--c-gold-bright); border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.cej-prog h3 { font-size: 1.5rem !important; margin: 0.25rem 0 0.35rem; color: var(--c-on-navy); }
.cej-prog p { color: var(--c-on-navy-muted); font-size: 1rem; margin: 0; }
.cej-prog .cej-antetitulo { color: var(--c-gold-bright); }
.cej-prog__enlace { display: inline-block; margin-top: 0.6rem; font-family: var(--f-ui); font-size: 0.88rem; font-weight: 500; color: var(--c-gold-bright); }
.cej-video { margin: 1.5rem 0; aspect-ratio: 16/9; background: #000; max-width: 1000px; }
.cej-video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ============ 7. Academia ============ */
.cej-destacado { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: var(--c-surface); border: 1px solid var(--c-rule); margin-bottom: 2rem; }
.cej-destacado__img { min-height: 280px; background: center / cover no-repeat var(--c-rule); }
.cej-destacado__txt { padding: clamp(1.4rem, 3vw, 2.5rem); display: flex; flex-direction: column; gap: 0.85rem; justify-content: center; }
.cej-destacado__txt > * { margin: 0; }
.cej-destacado h3 { font-size: clamp(1.75rem, 3vw, 2.4rem) !important; }
.cej-destacado h3 a { text-decoration: none; }
.cej-destacado__txt > p:not(.cej-antetitulo) { color: var(--c-muted); font-size: 1.12rem; }
.cej-datos { display: flex; flex-wrap: wrap; gap: 0.6rem 1.4rem; font-family: var(--f-ui); font-size: 0.9rem; margin: 0; }
.cej-datos dt { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-muted); font-weight: 500; }
.cej-datos dd { margin: 0; }
.cej-destacado .cej-botones { margin-top: 0.5rem; }
.cej-cursos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--c-rule); border-left: 1px solid var(--c-rule); }
.cej-curso { border-right: 1px solid var(--c-rule); border-bottom: 1px solid var(--c-rule); padding: 1.1rem 1.1rem 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; background: var(--c-surface); }
.cej-curso > * { margin: 0; }
.cej-curso h3 { font-size: 1.2rem !important; }
.cej-curso h3 a { text-decoration: none; }
.cej-curso p:not(.cej-antetitulo) { font-size: 0.94rem; color: var(--c-muted); line-height: 1.45; }
.cej-pasos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); margin-top: 2.25rem; counter-reset: paso; }
.cej-pasos > * { margin: 0 !important; }
.cej-paso { counter-increment: paso; display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.cej-paso > * { margin: 0 !important; }
.cej-paso::before { content: counter(paso); font-family: var(--f-marca); font-weight: 700; font-size: 1.9rem; color: var(--c-gold); line-height: 1; }
.cej-paso h3 { font-size: 1.2rem !important; }
.cej-paso p { font-size: 0.97rem; color: var(--c-muted); }
.cej-curso__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.cej-curso__rejilla > * { margin: 0 !important; }
.cej-ficha-c { background: var(--c-surface); border: 1px solid var(--c-rule); border-top: 4px solid var(--c-gold-bright); padding: 1.35rem; display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 5rem; }
.cej-ficha-c .cej-datos { flex-direction: column; gap: 0.75rem; }
.cej-ficha-c .wp-element-button { text-align: center; text-decoration: none; display: block; }
.cej-ficha-c__ayuda, .cej-ficha-c__estado { font-family: var(--f-ui); font-size: 0.85rem; color: var(--c-muted); margin: 0; }
.cej-temario { margin-top: 2rem; }
.cej-temario ol { padding-left: 1.4rem; columns: 2; column-gap: 2rem; }
.cej-temario li { margin-bottom: 0.35rem; break-inside: avoid; }
.cej-curso__mas { margin-top: 3rem; border-top: 3px solid var(--c-ink); padding-top: 0.75rem; }
.cej-bloque { margin-top: 2.5rem; }

/* ============ 8. Observatorio y Editorial ============ */
.cej-obs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 3vw, 3rem); }
.cej-obs > * { margin: 0 !important; }
.cej-obs__analisis .wp-block-post-template { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.cej-obs__analisis li { border-top: 1px solid var(--c-rule); padding-block: 0.75rem; margin: 0 !important; }
.cej-obs__analisis h3 { font-size: 1.15rem !important; margin: 0 0 0.2rem; }
.cej-chips { list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cej-chips a, .cej-chips-terminos a { font-family: var(--f-ui); font-size: 0.88rem; padding: 0.35rem 0.75rem; border: 1px solid var(--c-rule); background: var(--c-paper); border-radius: 999px; text-decoration: none; display: inline-block; }
.cej-chips a:hover, .cej-chips-terminos a:hover { border-color: var(--c-gold); }
.cej-chips-terminos { font-family: var(--f-ui); font-size: 0.85rem; color: var(--c-muted); display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.cej-chips-terminos .wp-block-post-terms__separator { display: none; }
.cej-libro { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; max-width: 980px; }
.cej-libro > * { margin: 0 !important; }
.cej-libro__portada img { box-shadow: 0 18px 40px -18px #00000080; width: 100%; }
.cej-libro__titulo { font-size: clamp(1.75rem, 3.4vw, 2.5rem) !important; font-style: italic; }
.cej-libro__titulo a { text-decoration: none; }
.cej-libro p:not(.cej-antetitulo):not(.cej-meta) { color: var(--c-muted); font-size: 1.12rem; max-width: 58ch; }

/* Personas (órgano directivo) */
.cej-persona { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 0 1.25rem; align-items: start; border-top: 1px solid var(--c-rule); padding-top: 1.1rem; }
.cej-persona > * { margin: 0 0 0.3rem !important; }
.cej-persona figure { grid-row: span 3; }
.cej-persona img { width: 110px; height: 110px; object-fit: cover; border-radius: 50%; }

/* ============ 9. Artículos y páginas ============ */
.cej-articulo, .cej-pagina, .cej-curso-pagina, .cej-academia, .cej-omd { padding-block: clamp(1.75rem, 4vw, 3rem); }
.cej-articulo__cabecera { max-width: 820px; margin-inline: auto; display: flex; flex-direction: column; gap: 0.75rem; }
.cej-articulo__cabecera > * { margin: 0 !important; }
.cej-curso__cabecera { max-width: none; margin-inline: 0; margin-bottom: 1.5rem; }
.cej-articulo__titulo { font-size: clamp(2rem, 4.4vw, 3rem) !important; letter-spacing: -0.01em; }
.cej-articulo__entradilla { font-size: 1.3rem; color: var(--c-muted); }
.cej-articulo__entradilla p { margin: 0; }
.cej-articulo__imagen { max-width: 1000px; margin: 1.75rem auto; }
.cej-articulo__imagen img { max-height: 620px; }
.cej-articulo__cuerpo { font-size: 1.15rem; line-height: 1.7; }
.cej-articulo__cuerpo > * { max-width: 720px; margin-inline: auto !important; }
.cej-articulo__cuerpo a:not(.wp-element-button) { color: var(--c-gold); }
.cej-articulo__cuerpo blockquote { border-left: 3px solid var(--c-gold-bright); padding-left: 1.2rem; font-style: italic; }
.cej-articulo__cuerpo img { height: auto; }
.cej-articulo__pie { max-width: 720px; margin: 2rem auto 0; }
.cej-articulo .cej-ficha-v { margin-inline: auto; }
.cej-relacionadas { margin-top: 3.5rem; border-top: 3px solid var(--c-ink); padding-top: 0.75rem; }
.cej-relacionadas h2 { font-size: 1.6rem; margin: 0 0 1.25rem; }
.cej-relacionadas .cej-tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cej-relacionadas .cej-tarjetas, div.cej-tarjetas { display: grid; }
.cej-pagina__cabecera { max-width: 820px; margin: 0 auto 1.5rem; }
.cej-pagina__titulo { font-size: clamp(2rem, 4.4vw, 2.9rem) !important; }
.cej-pagina__cuerpo { font-size: 1.1rem; }
.cej-pagina__cuerpo > * { max-width: 820px; margin-inline: auto !important; }
.cej-pagina__cuerpo > .alignwide { max-width: var(--ancho); }
.cej-pagina__cuerpo a:not(.wp-element-button), .cej-completa a:not(.wp-element-button) { color: var(--c-gold); }
.cej-archivo-cabecera { padding-block: 0.5rem 1.75rem; border-bottom: 1px solid var(--c-rule); margin-bottom: 1.75rem; display: flex; flex-direction: column; gap: 0.75rem; }
.cej-archivo-cabecera > * { margin: 0 !important; }
.cej-archivo-cabecera .wp-block-query-title, .cej-archivo__titulo { font-size: clamp(2rem, 4.4vw, 2.9rem) !important; }
.cej-archivo-cabecera .wp-block-term-description { color: var(--c-muted); font-size: 1.15rem; max-width: 62ch; }
.cej-listado { padding-bottom: 3rem; }
.cej-paginacion { margin-top: 2.5rem; font-family: var(--f-ui); gap: 0.75rem; }
.cej-paginacion a { color: var(--c-gold); }
.cej-breves { list-style: none; padding: 0; margin: 0; max-width: 820px; }
.cej-breves > li { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid var(--c-rule); padding-block: 1rem; margin: 0 !important; }
.cej-breves > li > * { margin: 0 !important; }
.cej-breve__hora { color: var(--c-gold) !important; font-weight: 600; font-variant-numeric: tabular-nums; }
.cej-breve__cuerpo > * { margin: 0 0 0.3rem !important; }
.cej-breve__titulo { font-size: 1.2rem !important; }
.cej-breve__texto { color: var(--c-muted); font-size: 1rem; }
.cej-buscador { max-width: 560px; }
.cej-buscador .wp-block-search__input { font-family: var(--f-ui); font-size: 1rem; padding: 0.7rem 0.9rem; border: 1px solid var(--c-rule); background: var(--c-surface); color: var(--c-ink); }
.cej-completa > * { margin: 0; }

/* ============ 10. Formularios ============ */
.cej-form { display: flex; flex-direction: column; gap: 0.9rem; max-width: 720px; font-family: var(--f-ui); }
.cej-form p { margin: 0; }
.cej-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1rem; }
.cej-form label { font-size: 0.85rem; font-weight: 500; display: block; margin-bottom: 0.3rem; }
.cej-form input[type=text], .cej-form input[type=email], .cej-form input[type=tel], .cej-form input[type=url], .cej-form select, .cej-form textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: 0.65rem 0.8rem; border: 1px solid var(--c-rule); background: var(--c-surface); color: var(--c-ink); border-radius: 2px; }
.cej-form textarea { font-family: var(--f-serif); font-size: 1.05rem; }
.cej-form__consent label { font-weight: 400; display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.85rem; color: var(--c-muted); }
.cej-form__consent a { color: var(--c-gold); }
.cej-form__hp { position: absolute !important; left: -9999px; }
.cej-form__enviar { cursor: pointer; border: 0; }
.cej-aviso { font-family: var(--f-ui); background: var(--c-gold-soft); border-left: 4px solid var(--c-gold-bright); padding: 0.8rem 1rem; margin: 0 0 1rem; }
.cej-form__fila { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.cej-form__fila input { flex: 1 1 220px; min-width: 0; }

/* ============ 11. Boletín y pie ============ */
.cej-boletin { background: var(--c-navy); color: var(--c-on-navy); padding-block: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid #ffffff14; }
.cej-boletin__fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.75rem; align-items: center; }
.cej-boletin__fila > * { margin: 0 !important; }
.cej-boletin h2 { font-size: clamp(1.5rem, 2.8vw, 2rem); margin: 0; color: var(--c-on-navy); }
.cej-boletin p { color: var(--c-on-navy-muted); margin: 0.5rem 0 0; }
.cej-boletin .cej-form input[type=email] { background: #ffffff0c; border-color: #ffffff30; color: var(--c-on-navy); }
.cej-boletin .cej-form input::placeholder { color: var(--c-on-navy-muted); }
.cej-boletin .wp-element-button { background: var(--c-gold-bright); color: #1E2734; }
.cej-boletin .cej-form__consent label { color: var(--c-on-navy-muted); }
.cej-boletin .cej-form__consent a { color: var(--c-gold-bright); }
.cej-boletin .cej-aviso { color: var(--c-ink); }
.cej-pie { background: var(--c-navy); color: var(--c-on-navy-muted); font-family: var(--f-ui); font-size: 0.92rem; }
.cej-pie a { color: inherit; text-decoration: none; }
.cej-pie a:hover { color: var(--c-on-navy); }
.cej-pie__rejilla { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 1.75rem; padding-block: 2.75rem 1.75rem; }
.cej-pie__rejilla > * { margin: 0 !important; }
.cej-pie__marca p { margin: 0.75rem 0 0; line-height: 1.5; }
.cej-marca--pie { gap: 0.8rem; }
.cej-marca--pie .cej-marca__leon { width: 44px; }
.cej-marca--pie .cej-marca__nombre { font-size: 1.6rem; }
.cej-pie__titulo { font-family: var(--f-ui) !important; font-size: 0.8rem !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-on-navy); margin: 0 0 0.75rem !important; font-weight: 600; }
.cej-pie__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.cej-pie__correo { color: var(--c-on-navy); user-select: all; margin: 0 0 0.6rem; }
.cej-redes { list-style: none; margin: 0 0 0.6rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; }
.cej-pie__col > * { margin-block: 0 0.5rem; }
.cej-pie__legal { border-top: 1px solid #ffffff18; padding-block: 1.1rem 1.5rem; display: flex; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; font-size: 0.82rem; }
.cej-pie__legal > * { margin: 0 !important; }

/* ============ 12. Adaptación a pantallas ============ */
@media (max-width: 960px) {
	.cej-tarjetas, .cej-listado .cej-tarjetas, .cej-relacionadas .cej-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cej-cursos, .cej-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cej-checks, .cej-progs { grid-template-columns: minmax(0, 1fr); }
	.cej-pie__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cej-cabecera__lema { display: none; }
	.cej-cabecera__fila { grid-template-columns: 1fr; }
	.cej-curso__rejilla { grid-template-columns: minmax(0, 1fr); }
	.cej-ficha-c { position: static; }
	.cej-curso__rejilla > .cej-ficha-c { order: -1; }
}
@media (max-width: 720px) {
	body { font-size: 1rem; }
	.cej-lead, .cej-verif-intro, .cej-obs, .cej-boletin__fila, .cej-destacado, .cej-ficha-v, .cej-form__grid { grid-template-columns: minmax(0, 1fr); }
	.cej-ficha-v__veredicto { border-left: 0; border-top: 1px solid var(--c-rule); }
	.cej-wire { border-left: 0; padding-left: 0; }
	.cej-libro { grid-template-columns: 120px minmax(0, 1fr); align-items: start; }
	.cej-prog { grid-template-columns: minmax(0, 1fr); }
	.cej-marca__completo { font-size: 0.85rem; }
	.cej-marca__leon { width: 50px; }
	.cej-temario ol { columns: 1; }
	.cej-breves > li { grid-template-columns: minmax(0, 1fr); gap: 0.25rem; }
	.cej-articulo__cuerpo { font-size: 1.08rem; }
}
@media (max-width: 480px) {
	.cej-tarjetas, .cej-listado .cej-tarjetas, .cej-relacionadas .cej-tarjetas, .cej-cursos, .cej-pasos, .cej-pie__rejilla { grid-template-columns: minmax(0, 1fr); }
	.cej-libro { grid-template-columns: minmax(0, 1fr); }
	.cej-libro__portada img { max-width: 160px; }
	.cej-barra__enlaces { display: none; }
	.cej-nav__cta { display: none; }
}
