/* ==========================================================================
   EIC Moderno — estilos del rediseno
   ========================================================================== */

:root {
	--eic-navy: var(--wp--preset--color--primary, #0b2a5b);
	--eic-night: var(--wp--preset--color--primary-dark, #071a3a);
	--eic-sky: var(--wp--preset--color--secondary, #00a3e0);
	--eic-gold: var(--wp--preset--color--accent, #f2b705);
	--eic-surface: var(--wp--preset--color--surface, #f3f6fb);
	--eic-muted: var(--wp--preset--color--muted, #55657d);
	--eic-border: #e2e8f2;
	--eic-radius: 20px;
	--eic-radius-lg: 28px;
	--eic-shadow-sm: 0 1px 2px rgba(15, 27, 45, .06), 0 2px 8px rgba(15, 27, 45, .05);
	--eic-shadow: 0 10px 30px -10px rgba(11, 42, 91, .25);
	--eic-shadow-lg: 0 24px 50px -16px rgba(11, 42, 91, .35);
	--eic-ease: cubic-bezier(.2, .7, .2, 1);
	--eic-header-h: 84px;
}

/* ---------- Resaltados: dos estilos ----------
   El estilo activo se elige en <html data-resaltado="..."> (ver functions.php):
   "solido" (por defecto): colores planos y bloques segmentados.  "degradado": transiciones de color. */
:root, :root[data-resaltado="solido"] {
	--eic-hl-topbar: linear-gradient(90deg, var(--eic-navy) 0 62%, var(--eic-sky) 62% 86%, var(--eic-gold) 86% 100%);
	--eic-hl-topbar-size: 100% 100%;
	--eic-hl-topbar-anim: none;
	--eic-hl-progress: var(--eic-gold);
	--eic-hl-underline: linear-gradient(90deg, var(--eic-gold) 0 64%, transparent 64% 74%, var(--eic-sky) 74% 100%);
	--eic-hl-underline-radius: 0;
	--eic-hl-card-h: 6px;
	--eic-hl-card-1: var(--eic-sky);
	--eic-hl-card-2: var(--eic-gold);
	--eic-hl-news: var(--eic-gold);
}
:root[data-resaltado="degradado"] {
	--eic-hl-topbar: linear-gradient(90deg, var(--eic-navy), var(--eic-sky), var(--eic-gold), var(--eic-sky), var(--eic-navy));
	--eic-hl-topbar-size: 300% 100%;
	--eic-hl-topbar-anim: eic-slide-gradient 12s linear infinite;
	--eic-hl-progress: linear-gradient(90deg, var(--eic-sky), var(--eic-gold));
	--eic-hl-underline: linear-gradient(90deg, var(--eic-sky), var(--eic-gold));
	--eic-hl-underline-radius: 4px;
	--eic-hl-card-h: 5px;
	--eic-hl-card-1: linear-gradient(90deg, var(--eic-navy), var(--eic-sky));
	--eic-hl-card-2: linear-gradient(90deg, var(--eic-sky), var(--eic-gold));
	--eic-hl-news: linear-gradient(90deg, var(--eic-navy), var(--eic-sky), var(--eic-gold));
}

html { scroll-behavior: smooth; overflow-x: clip; }
/* clip (no hidden): "hidden" convierte al body en una caja con scroll propio cuando algun plugin fija
   html/body a height:100% (pasa con AyeCode UI), y entonces window.scrollY queda en 0 y se rompen el
   encabezado fijo, la barra de progreso y las animaciones al hacer scroll. */
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
html, body { height: auto !important; }
::selection { background: var(--eic-gold); color: var(--eic-night); }

/* Las paginas TT3 envuelven todo en .wp-site-blocks con un gap: lo quitamos. */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Barra superior y progreso de lectura ---------- */
.eic-progress {
	position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1000; pointer-events: none;
}
.eic-progress span {
	display: block; height: 100%; transform-origin: 0 50%; transform: scaleX(var(--eic-progress, 0));
	background: var(--eic-hl-progress);
	box-shadow: 0 0 12px rgba(242, 183, 5, .6);
}

/* ---------- Encabezado ---------- */
.eic-site-header {
	position: sticky; top: 0; z-index: 100;
}
.admin-bar .eic-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .eic-site-header { top: 0; } }

.eic-header {
	background: rgba(7, 26, 58, .94);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	color: #fff;
	transition: box-shadow .35s var(--eic-ease), background-color .35s;
}
.eic-header__inner {
	min-height: var(--eic-header-h);
	gap: 2rem;
	transition: min-height .35s var(--eic-ease);
}
.is-scrolled .eic-header { box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .45); background: rgba(7, 26, 58, .98); }
.is-scrolled .eic-header__inner { min-height: 66px; }

.eic-brand {
	display: flex; align-items: center; gap: .9rem; color: #fff !important; text-decoration: none !important; flex-shrink: 0;
}
.eic-brand__ucr { height: 50px; width: auto; transition: height .35s var(--eic-ease), transform .4s var(--eic-ease); }
.is-scrolled .eic-brand__ucr { height: 40px; }
.eic-brand:hover .eic-brand__ucr { transform: scale(1.04); }
.eic-brand__divider { width: 1px; align-self: stretch; margin-block: 1.1rem; background: linear-gradient(transparent, rgba(255, 255, 255, .45), transparent); }
.eic-brand__text { display: flex; flex-direction: column; line-height: 1.2; }
.eic-brand__text strong { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1.02rem; letter-spacing: -.01em; }
.eic-brand__text small { color: var(--eic-sky); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

/* Menu */
.eic-nav { --eic-nav-gap: .2rem; }
.eic-nav .wp-block-navigation__container { gap: var(--eic-nav-gap); }
.eic-nav .wp-block-navigation-item > .wp-block-navigation-item__content,
.eic-nav .wp-block-navigation-submenu__toggle {
	color: rgba(255, 255, 255, .9);
}
.eic-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative; padding: .55rem .6rem; border-radius: 10px; transition: background-color .25s;
}
.eic-nav .wp-block-navigation__container > .wp-block-navigation-item:hover { background: rgba(255, 255, 255, .07); }
.eic-nav .wp-block-navigation__container > .wp-block-navigation-item::after {
	content: ""; position: absolute; left: .6rem; right: .6rem; bottom: .25rem; height: 2px; border-radius: 2px;
	background: var(--eic-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--eic-ease);
}
.eic-nav .wp-block-navigation__container > .wp-block-navigation-item:hover::after,
.eic-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within::after { transform: scaleX(1); }

/* Submenus: tarjeta flotante con entrada suave */
.eic-nav .wp-block-navigation__submenu-container {
	background: #fff !important; color: var(--eic-navy) !important;
	border: 0 !important; border-radius: 16px; padding: .5rem !important; min-width: 270px !important;
	box-shadow: var(--eic-shadow-lg);
	transform: translateY(10px); transition: opacity .25s var(--eic-ease), transform .3s var(--eic-ease), visibility .25s;
	top: calc(100% + .4rem) !important;
}
.eic-nav .wp-block-navigation__submenu-container::before { /* puente para que el hover no se corte */
	content: ""; position: absolute; inset: -.8rem 0 auto 0; height: .8rem;
}
.eic-nav .has-child:hover > .wp-block-navigation__submenu-container,
.eic-nav .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translateY(0); }
.eic-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--eic-navy) !important; padding: .6rem .85rem !important; border-radius: 10px; font-weight: 500;
	transition: background-color .2s, color .2s;
}
.eic-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--eic-surface); color: #0077b6 !important;
}
/* Se desplaza solo el texto (transform no cambia el tamano): animar el padding ensanchaba el submenu
   cuando la opcion era la mas larga del recuadro. */
.eic-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	display: inline-block; transition: transform .25s var(--eic-ease);
}
.eic-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	transform: translateX(.3rem);
}

/* Menu movil */
.eic-nav .wp-block-navigation__responsive-container-open { color: #fff; }
.eic-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--eic-night) !important; color: #fff !important; padding: 1.5rem;
}
.eic-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; box-shadow: none; transform: none; padding: 0 0 0 1rem !important;
}
.eic-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.eic-nav .is-menu-open .wp-block-navigation-item__content { color: #fff !important; }
.eic-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item::after { display: none; }
.eic-nav .is-menu-open .wp-block-navigation__container { gap: 1rem; }
.eic-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.15rem; color: var(--eic-gold) !important;
}

@media (max-width: 1180px) {
	.eic-brand__text small { display: none; }
}
@media (max-width: 600px) {
	.eic-brand__divider, .eic-brand__text { display: none; }
}

/* ---------- Elementos generales ---------- */
.eic-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 .6rem;
	font-size: .78rem !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #0077b6;
}
.eic-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--eic-gold); border-radius: 2px; }

.eic-chip a, .eic-chip {
	font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.eic-chip a {
	display: inline-block; padding: .3rem .7rem; border-radius: 999px; text-decoration: none !important;
	background: rgba(0, 163, 224, .12); color: #0077b6; transition: background-color .25s, color .25s;
}
.eic-chip a:hover { background: var(--eic-sky); color: #fff; }
.eic-chip .wp-block-post-terms__separator { display: none; }

/* Botones con brillo */
.wp-block-button__link, .wp-element-button {
	position: relative; overflow: hidden; isolation: isolate;
	transition: transform .3s var(--eic-ease), box-shadow .3s var(--eic-ease), background-color .3s, color .3s !important;
	box-shadow: 0 8px 20px -8px rgba(11, 42, 91, .55);
}
.wp-block-button__link::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%);
	transform: translateX(-120%); transition: transform .7s var(--eic-ease);
}
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(0, 119, 182, .6); }
.wp-block-button__link:hover::after { transform: translateX(120%); }
.is-style-outline > .wp-block-button__link {
	background: transparent !important; color: var(--eic-navy) !important; border: 2px solid var(--eic-navy) !important; box-shadow: none;
}
.is-style-outline > .wp-block-button__link:hover { background: var(--eic-navy) !important; color: #fff !important; }

/* ---------- Encabezado de paginas interiores ---------- */
.eic-page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	background: linear-gradient(135deg, #071a3a 0%, #0b2a5b 50%, #005f99 100%);
	color: #fff;
	padding-top: clamp(3.5rem, 8vw, 6.5rem) !important;
	padding-bottom: clamp(3rem, 6vw, 5rem) !important;
	border-radius: 0 0 clamp(24px, 4vw, 48px) clamp(24px, 4vw, 48px);
}
.eic-page-hero::before { /* cuadricula de plano */
	content: ""; position: absolute; inset: -2px; z-index: -1; opacity: .5;
	background-image:
		linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%);
	animation: eic-grid-drift 30s linear infinite;
}
.eic-page-hero > * { position: relative; }
.eic-page-hero .eic-eyebrow { color: var(--eic-sky); }
.eic-page-hero__title, .eic-page-hero h1 {
	color: #fff !important; font-size: clamp(2rem, 1.3rem + 3vw, 3.6rem) !important; text-wrap: balance;
	animation: eic-fade-up .9s var(--eic-ease) both .1s;
}
.eic-page-hero .eic-eyebrow { animation: eic-fade-up .8s var(--eic-ease) both; }
.eic-page-hero__lead, .eic-page-hero__meta {
	color: rgba(255, 255, 255, .78); font-size: 1.1rem; max-width: 60ch; animation: eic-fade-up .9s var(--eic-ease) both .25s;
}
.eic-page-hero .eic-chip a { background: rgba(255, 255, 255, .14); color: #fff; }

.eic-blobs { position: absolute !important; inset: 0; z-index: -2; pointer-events: none; max-width: none !important; margin: 0 !important; }
.eic-blobs span {
	position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55;
	animation: eic-float-blob 18s ease-in-out infinite alternate;
}
.eic-blobs span:nth-child(1) { width: 420px; height: 420px; right: -80px; top: -140px; background: var(--eic-sky); }
.eic-blobs span:nth-child(2) { width: 300px; height: 300px; right: 22%; bottom: -170px; background: var(--eic-gold); opacity: .35; animation-duration: 22s; }
.eic-blobs span:nth-child(3) { width: 260px; height: 260px; left: -90px; bottom: -120px; background: #2f6fd6; animation-duration: 26s; }

/* ---------- Contenido ---------- */
.eic-main { padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.eic-featured img { border-radius: var(--eic-radius-lg); box-shadow: var(--eic-shadow); }

.eic-content a:not(.wp-block-button__link):not(.wp-element-button),
.eic-front__content a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-social-link-anchor) {
	text-decoration: underline; text-decoration-color: rgba(0, 163, 224, .35); text-underline-offset: .2em; text-decoration-thickness: 2px;
	transition: text-decoration-color .25s, color .25s;
}
.eic-content a:hover, .eic-front__content a:hover { text-decoration-color: var(--eic-gold) !important; }

.eic-content img, .eic-front__content img { border-radius: 14px; height: auto; }
.eic-content figure.wp-block-image img { box-shadow: var(--eic-shadow-sm); }
.eic-content h2, .eic-content h3, .eic-content h4 { margin-top: 2.2rem; }
.eic-content h4, .eic-content h5, .eic-content h6 { color: var(--eic-navy); font-family: var(--wp--preset--font-family--heading); }

.wp-block-columns { gap: clamp(1.25rem, 3vw, 2.5rem); }

/* Tablas */
.eic-content table, .eic-front__content table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--eic-border); border-radius: 14px; overflow: hidden; }
.eic-content th, .eic-content td { padding: .8rem 1rem; border: 0; border-bottom: 1px solid var(--eic-border); text-align: left; }
.eic-content thead th, .eic-content tr:first-child td strong { color: var(--eic-navy); }
.eic-content thead { background: var(--eic-surface); }
.eic-content tbody tr { transition: background-color .2s; }
.eic-content tbody tr:hover { background: rgba(0, 163, 224, .06); }
.eic-content tbody tr:last-child td { border-bottom: 0; }
.wp-block-table { overflow-x: auto; }

/* Acordeones (<details>) */
.wp-block-details, .eic-content details, .eic-front__content details {
	background: #fff; border: 1px solid var(--eic-border); border-radius: 16px;
	margin-block: .75rem !important; padding: 0; box-shadow: var(--eic-shadow-sm);
	transition: border-color .3s, box-shadow .3s var(--eic-ease), transform .3s var(--eic-ease);
}
.wp-block-details:hover { border-color: rgba(0, 163, 224, .45); transform: translateY(-1px); box-shadow: var(--eic-shadow); }
.wp-block-details[open] { border-color: var(--eic-sky); box-shadow: var(--eic-shadow); }
.wp-block-details > summary {
	list-style: none; cursor: pointer; position: relative;
	padding: 1.05rem 3.5rem 1.05rem 1.25rem; font-weight: 650; color: var(--eic-navy); line-height: 1.4;
}
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after {
	content: ""; position: absolute; right: 1rem; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
	background: var(--eic-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230b2a5b' d='M11 5h2v14h-2z'/%3E%3Cpath fill='%230b2a5b' d='M5 11h14v2H5z'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .35s var(--eic-ease), background-color .3s;
}
.wp-block-details[open] > summary::after { transform: rotate(135deg); background-color: var(--eic-gold); }
.wp-block-details > :not(summary) { padding-inline: 1.25rem; animation: eic-fade-down .4s var(--eic-ease); }
.wp-block-details > :last-child:not(summary) { padding-bottom: 1.1rem; }

/* Secciones de Elementor convertidas (p.ej. Personal administrativo) */
.eic-section {
	display: grid; gap: 1.5rem; margin-block: 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.eic-col {
	background: #fff; border: 1px solid var(--eic-border); border-radius: var(--eic-radius); padding: 1.1rem 1.1rem 1.4rem;
	box-shadow: var(--eic-shadow-sm); text-align: center; overflow: hidden;
	transition: transform .4s var(--eic-ease), box-shadow .4s var(--eic-ease);
}
.eic-col:hover { transform: translateY(-6px); box-shadow: var(--eic-shadow-lg); }
.eic-col img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; transition: transform .6s var(--eic-ease); }
.eic-col:hover img { transform: scale(1.04); }
.eic-col h2 { font-size: .85rem !important; letter-spacing: .14em; text-transform: uppercase; color: #0077b6; margin: 1rem 0 .3rem; }
.eic-col:has(> .eic-col) { display: contents; }

/* Galerias */
.wp-block-gallery.has-nested-images figure.wp-block-image { border-radius: 18px; overflow: hidden; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 0; transition: transform .8s var(--eic-ease); }
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.08); }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	background: linear-gradient(0deg, rgba(7, 26, 58, .85), transparent); padding: 2.5rem 1rem 1rem; font-weight: 500;
}

/* Redes sociales */
.wp-block-social-links .wp-social-link { transition: transform .35s var(--eic-ease); }
.wp-block-social-links .wp-social-link:hover { transform: translateY(-4px) rotate(-6deg) scale(1.08); }

/* ---------- Portada ---------- */
.eic-front { padding-top: 0; }
/* El ancho de la portada lo define el bloque "Contenido" de la plantilla (Diseno > Ancho del contenido). */
.eic-front__content > hr { display: none; }

/* Hero (primer cover del contenido de Inicio): ocupa todo el ancho de la pantalla, de borde a borde.
   El texto se alinea con el borde izquierdo del contenido (1200 px). */
.eic-front__content > .wp-block-columns:first-child { margin-top: 0; }
.eic-front__content > .wp-block-columns:first-child > .wp-block-column > .wp-block-cover:first-child {
	width: 100vw; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	min-height: min(64vh, 580px) !important; border-radius: 0 !important; overflow: hidden; isolation: isolate;
	padding-block: clamp(2.5rem, 6vw, 4.5rem) !important;
	padding-inline: max(clamp(1rem, 4vw, 2.5rem), calc((100vw - var(--wp--style--global--content-size)) / 2)) !important;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__image-background {
	animation: eic-kenburns 22s ease-in-out infinite alternate;
	transform-origin: 60% 60%;
	translate: 0 var(--eic-parallax, 0px);
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(115deg, rgba(7, 26, 58, .92) 0%, rgba(11, 42, 91, .7) 45%, rgba(0, 119, 182, .35) 100%) !important;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child::after { /* cuadricula de plano */
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(90deg, #000, transparent 70%);
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 70%);
	animation: eic-grid-drift 40s linear infinite;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container {
	z-index: 2; text-align: left; max-width: 760px; margin-right: auto;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container > * { text-align: left !important; margin-left: 0 !important; }
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container > p:first-of-type {
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: -.03em; line-height: 1.02;
	font-size: clamp(2.6rem, 1.4rem + 5vw, 5.6rem) !important; color: #fff;
	animation: eic-fade-up 1s var(--eic-ease) both .15s;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container > p:first-of-type::before {
	content: "Universidad de Costa Rica"; display: block; margin-bottom: 1.1rem;
	font-family: var(--wp--preset--font-family--body); font-size: .8rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--eic-gold);
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container > p:nth-of-type(2) {
	font-size: clamp(1.1rem, 1rem + .6vw, 1.45rem) !important; color: rgba(255, 255, 255, .85); max-width: 34ch;
	animation: eic-fade-up 1s var(--eic-ease) both .4s;
}
.eic-front__content > .wp-block-columns:first-child .wp-block-cover:first-child .wp-block-cover__inner-container::after { /* indicador de scroll */
	content: ""; display: block; width: 26px; height: 42px; margin-top: 2.5rem; border: 2px solid rgba(255, 255, 255, .6); border-radius: 14px;
	background: radial-gradient(circle, #fff 2px, transparent 3px) 50% 8px / 6px 6px no-repeat;
	animation: eic-fade-up 1s var(--eic-ease) both .7s, eic-scroll-hint 2s ease-in-out infinite 1.7s;
}

/* Titulos de seccion: los covers delgados (fondo con imagen + texto amarillo) pasan a ser encabezados limpios */
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) {
	min-height: 0 !important; padding: clamp(3.5rem, 7vw, 5.5rem) 0 1.5rem !important; background: none !important; overflow: visible;
}
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) > .wp-block-cover__image-background,
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) > .wp-block-cover__background { display: none; }
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) .wp-block-cover__inner-container { color: var(--eic-navy); }
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) p {
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; letter-spacing: -.02em;
	font-size: var(--wp--preset--font-size--x-large) !important; color: var(--eic-navy);
}
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) p::after {
	content: ""; display: block; width: 72px; height: 4px; margin: .9rem auto 0; border-radius: var(--eic-hl-underline-radius);
	background: var(--eic-hl-underline);
	transform: scaleX(0); transition: transform .9s var(--eic-ease) .2s;
}
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]).is-visible p::after,
html:not(.eic-js) .eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) p::after { transform: scaleX(1); }
.eic-front__content .wp-block-cover:is([style*="min-height:74px"],[style*="min-height: 74px"]) mark { color: inherit !important; background: none !important; }

/* Mision y vision */
.eic-front__content > .wp-block-columns.has-background {
	background: var(--eic-surface) !important; border-radius: var(--eic-radius-lg); padding: clamp(1.25rem, 3vw, 2.5rem) !important;
}
.eic-front__content > .wp-block-columns.has-background > .wp-block-column {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem;
}
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text {
	grid-template-columns: 1fr !important; background: #fff; border-radius: var(--eic-radius); padding: 2rem;
	box-shadow: var(--eic-shadow-sm); margin: 0 !important; align-content: start;
	transition: transform .45s var(--eic-ease), box-shadow .45s var(--eic-ease);
	position: relative; overflow: hidden;
}
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: var(--eic-hl-card-h); background: var(--eic-hl-card-1);
}
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text:nth-child(2)::before { background: var(--eic-hl-card-2); }
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text:hover { transform: translateY(-6px); box-shadow: var(--eic-shadow-lg); }
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text__media { grid-row: 1 !important; grid-column: 1 !important; }
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text__media img { width: 150px; box-shadow: none; }
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text__content {
	grid-row: 2 !important; grid-column: 1 !important; padding: 1rem 0 0 !important; font-weight: 400 !important; color: var(--eic-muted);
}
.eic-front__content > .wp-block-columns.has-background .wp-block-media-text__content * { font-weight: 400 !important; }

/* Noticias importantes */
.eic-front__content > .wp-block-media-text { grid-template-columns: minmax(180px, 30%) 1fr !important; align-items: start; }
.eic-front__content > .wp-block-media-text > .wp-block-media-text__media { position: sticky; top: calc(var(--eic-header-h) + 2rem); }
.eic-front__content > .wp-block-media-text > .wp-block-media-text__media img { animation: eic-float 6s ease-in-out infinite; max-width: 260px; margin-inline: auto; display: block; }
@media (max-width: 781px) {
	.eic-front__content > .wp-block-media-text { grid-template-columns: 1fr !important; }
	.eic-front__content > .wp-block-media-text > .wp-block-media-text__media { position: static; }
	.eic-front__content > .wp-block-media-text > .wp-block-media-text__media img { max-width: 140px; }
}

/* Bandas de seccion */
.eic-band { background: var(--eic-surface); padding-block: clamp(3.5rem, 7vw, 6rem) !important; margin-top: clamp(3rem, 6vw, 5rem) !important; }
.eic-section-head { margin-bottom: 2rem; gap: 1rem; }
.eic-section-head h2 { margin: 0; }

/* ---------- Tarjetas de noticias ---------- */
.eic-news .wp-block-post-template { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)) !important; gap: 1.5rem !important; }
.eic-news .wp-block-post-template > li { margin: 0; }
.eic-card {
	position: relative; height: 100%; display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--eic-border); border-radius: var(--eic-radius); overflow: hidden;
	box-shadow: var(--eic-shadow-sm);
	transition: transform .45s var(--eic-ease), box-shadow .45s var(--eic-ease), border-color .3s;
}
.eic-card::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; z-index: 2;
	background: var(--eic-hl-news);
	transform: scaleX(0); transform-origin: left; transition: transform .5s var(--eic-ease);
}
.eic-card:hover { transform: translateY(-8px); box-shadow: var(--eic-shadow-lg); border-color: transparent; }
.eic-card:hover::before { transform: scaleX(1); }
.eic-card__media { margin: 0 !important; overflow: hidden; }
.eic-card__media img { transition: transform .8s var(--eic-ease); }
.eic-card:hover .eic-card__media img { transform: scale(1.06); }
.eic-card__body { padding: 1.5rem 1.5rem 1.4rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.eic-card__body > * { margin: 0 !important; }
.eic-card__title { font-size: 1.15rem !important; line-height: 1.35; }
.eic-card__title a { color: var(--eic-navy); text-decoration: none !important; background: linear-gradient(var(--eic-gold), var(--eic-gold)) 0 100% / 0 2px no-repeat; transition: background-size .45s var(--eic-ease); }
.eic-card:hover .eic-card__title a { background-size: 100% 2px; }
.eic-card__excerpt { color: var(--eic-muted); font-size: .95rem; }
.eic-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.eic-card__date { margin-top: auto !important; padding-top: .6rem; font-size: .82rem; color: var(--eic-muted); display: flex; align-items: center; gap: .4rem; }
.eic-card__date::before { content: ""; width: 14px; height: 14px; background: currentColor; opacity: .6;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V2zm12 8H5v9h14v-9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V2zm12 8H5v9h14v-9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-query-pagination { margin-top: 2.5rem; gap: .4rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .45rem .9rem; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--eic-navy); color: #fff; }

/* Navegacion entre entradas */
.eic-post-nav { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--eic-border); }
.eic-post-nav a { font-weight: 600; text-decoration: none; }

/* ---------- Pie de pagina ---------- */
.eic-site-footer { margin-top: 0; }
.eic-footer {
	position: relative; background: var(--eic-night); color: #b9c7dc; font-size: .95rem;
	padding-top: clamp(2.5rem, 4vw, 3.25rem) !important; padding-bottom: 1.5rem !important; overflow: hidden;
}
.eic-footer::before {
	content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -60px; border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 163, 224, .22), transparent 70%); pointer-events: none;
}
/* Una sola franja de 3 columnas: [logo] [texto + redes, ocupa el resto] [acreditacion] */
.eic-footer__grid {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.25rem 3.5rem;
}
.eic-footer__brand { display: contents; }
.eic-footer__logo { height: 72px; width: auto; grid-column: 1; grid-row: 1 / span 2; }
.eic-footer__brand p { grid-column: 2; grid-row: 1; margin: 0; align-self: end; max-width: 70ch; }
.eic-footer__brand .eic-social { grid-column: 2; grid-row: 2; margin: 0; align-self: start; }
.eic-footer__acred { grid-column: 3; grid-row: 1 / span 2; }
.eic-footer__sellos { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; }
/* Tableta: logo + texto arriba; acreditacion en una fila completa debajo, titulo y sellos lado a lado */
@media (max-width: 1000px) {
	.eic-footer__acred { grid-column: 1 / -1; grid-row: 3; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem;
		padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .1); }
	.eic-footer__acred .eic-footer__title { margin: 0; }
}
/* Movil: todo en una columna */
@media (max-width: 700px) {
	.eic-footer__grid { grid-template-columns: 1fr; }
	.eic-footer__logo, .eic-footer__brand p, .eic-footer__brand .eic-social, .eic-footer__acred { grid-column: 1; grid-row: auto; }
	.eic-footer__acred { display: block; padding-top: 0; border-top: 0; }
	.eic-footer__acred .eic-footer__title { margin: 0 0 1.1rem; }
}
.eic-footer__title {
	color: #fff !important; font-size: 1rem !important; letter-spacing: .02em; margin: 0 0 1.1rem; position: relative; padding-bottom: .7rem;
}
.eic-footer__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 3px; border-radius: 3px; background: var(--eic-gold); }
.eic-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.eic-footer a { color: #d6e1f0; text-decoration: none; transition: color .25s, transform .25s var(--eic-ease); }
.eic-footer a:hover { color: #fff; }
.eic-footer__links a { display: inline-flex; align-items: center; gap: .5rem; }
.eic-footer__links a::before { content: "→"; color: var(--eic-gold); transition: transform .3s var(--eic-ease); }
.eic-footer__links a:hover::before { transform: translateX(4px); }
.eic-footer__badge { display: inline-block; background: #fff; padding: .7rem 1rem; border-radius: 14px; transition: transform .35s var(--eic-ease); }
.eic-footer__badge:hover { transform: translateY(-3px); }
.eic-footer__badge img { height: 46px; width: auto; display: block; }
.eic-footer__85 { height: 64px; width: auto; display: block; opacity: .9; }
.eic-social { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; gap: .6rem; }
.eic-social a {
	width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
	background: rgba(255, 255, 255, .08); transition: background-color .3s, transform .35s var(--eic-ease);
}
.eic-social a:hover { background: var(--eic-gold); transform: translateY(-4px); }
.eic-social svg { width: 18px; height: 18px; fill: #fff; transition: fill .3s; }
.eic-social a:hover svg { fill: var(--eic-night); }
.eic-footer__bottom {
	position: relative; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
	margin-top: 2.25rem !important; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .85rem;
}

/* Boton volver arriba */
.eic-totop {
	position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 90; width: 48px; height: 48px; border: 0; border-radius: 50%; cursor: pointer;
	display: grid; place-items: center; background: linear-gradient(135deg, var(--eic-navy), #0077b6); box-shadow: var(--eic-shadow);
	opacity: 0; visibility: hidden; transform: translateY(16px) scale(.9); transition: opacity .35s, transform .35s var(--eic-ease), visibility .35s;
}
.eic-totop svg { width: 20px; height: 20px; fill: #fff; }
.eic-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.eic-totop:hover { transform: translateY(-3px); box-shadow: var(--eic-shadow-lg); }

/* ---------- Animaciones de aparicion ---------- */
.eic-js .eic-reveal {
	opacity: 0; transform: translateY(32px);
	transition: opacity .9s var(--eic-ease), transform .9s var(--eic-ease);
	transition-delay: var(--eic-delay, 0ms);
}
.eic-js .eic-reveal.is-visible { opacity: 1; transform: none; }
/* Las tarjetas ya tienen transicion de hover: se combina con la de aparicion */
.eic-js .eic-card.eic-reveal, .eic-js .eic-col.eic-reveal {
	transition: opacity .9s var(--eic-ease) var(--eic-delay, 0ms), transform .9s var(--eic-ease) var(--eic-delay, 0ms), box-shadow .45s var(--eic-ease);
}
.eic-js .eic-card.eic-reveal.is-visible:hover, .eic-js .eic-col.eic-reveal.is-visible:hover { transition-delay: 0ms; }
.eic-js .eic-card.eic-reveal.is-visible:hover { transform: translateY(-8px); }
.eic-js .eic-col.eic-reveal.is-visible:hover { transform: translateY(-6px); }

/* ---------- Keyframes ---------- */
@keyframes eic-fade-up { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes eic-fade-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes eic-kenburns { from { transform: scale(1); } to { transform: scale(1.14); } }
@keyframes eic-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-14px) rotate(2deg); } }
@keyframes eic-float-blob { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-40px, 30px) scale(1.1); } 100% { transform: translate(30px, -20px) scale(.95); } }
@keyframes eic-grid-drift { from { background-position: 0 0, 0 0; } to { background-position: 440px 440px, 440px 440px; } }
@keyframes eic-slide-gradient { from { background-position: 0% 0; } to { background-position: 300% 0; } }
@keyframes eic-scroll-hint { 0%, 100% { background-position: 50% 8px; } 50% { background-position: 50% 20px; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	html { scroll-behavior: auto; }
	.eic-js .eic-reveal { opacity: 1; transform: none; }
}

/* ---------- Ajustes ---------- */
/* Menu en una sola linea en escritorio */
@media (min-width: 600px) {
	.eic-nav .wp-block-navigation__container { flex-wrap: nowrap; }
	.eic-nav .wp-block-navigation-item__label { white-space: nowrap; }
}
@media (max-width: 1440px) {
	.eic-nav { font-size: .86rem !important; --eic-nav-gap: 0; }
	.eic-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item { padding: .5rem .45rem; }
	.eic-header__inner { gap: 1.25rem; }
}
@media (max-width: 1320px) { .eic-brand__divider, .eic-brand__text { display: none; } }

/* Galeria de actividades: cuadricula pareja */
.eic-front__content .wp-block-gallery.has-nested-images {
	display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.25rem;
}
.eic-front__content .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; margin: 0 !important; aspect-ratio: 4 / 3; }
.eic-front__content .wp-block-gallery.has-nested-images figure.wp-block-image img { height: 100% !important; object-fit: cover; }

/* Redes sociales centradas */
.eic-front__content .wp-block-social-links { justify-content: center; }
.eic-front__content > p:empty { display: none; }
.wp-block-cover p:empty, .wp-block-cover__inner-container > p:empty { display: none; }

/* Encabezado interior: todo alineado al mismo borde izquierdo */
.eic-page-hero > :not(.eic-blobs) {
	max-width: var(--wp--style--global--content-size) !important; margin-left: auto !important; margin-right: auto !important;
}
.eic-page-hero .eic-eyebrow { display: flex; }

/* wpautop deja <p> vacios dentro de las cuadriculas */
.eic-section > p:empty, .eic-section > br, .eic-col > p:empty { display: none; }
.eic-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.eic-content > .eic-section:has(> h2:only-child) { display: block; }

/* Textos largos (URLs) no desbordan las tarjetas */
.eic-card__excerpt, .eic-content p, .eic-content li { overflow-wrap: anywhere; }
.eic-content p:empty, .eic-front__content p:empty { display: none; }

/* ---------- Compatibilidad con los plugins del sitio real ----------
   AyeCode UI (BlockStrap) y All Bootstrap Blocks cargan Bootstrap despues del tema e imponen su fuente,
   pesos, colores y enlaces subrayados; Simple CSS pinta el menu de gris. "html body" da la especificidad justa
   para ganarles sin pisar a Elementor (.elementor-*) ni los colores elegidos en el editor (.has-*-color). */
html body {
	font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--medium);
	line-height: 1.7; color: var(--wp--preset--color--contrast);
}
html body :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; line-height: 1.15;
	letter-spacing: -.02em; color: var(--eic-navy);
}
html body a:where(:not(.wp-element-button):not(.wp-block-button__link)) { color: #0077b6; text-decoration: none; }
html body mark { padding: 0; }
.eic-header .wp-block-navigation, .eic-header .wp-block-navigation__container { background: transparent; }

/* Paginas hechas con Elementor: se disenaron para el ancho de contenido de Twenty Twenty-Three (650px) con
   medidas en porcentaje; a 1200px todo crecia en proporcion (fotos enormes, cuadriculas descentradas). */
.eic-content:has(> .elementor) { --wp--style--global--content-size: 820px; }
.eic-content > .elementor { margin-inline: auto !important; width: 100%; }

/* Recuadros (Detalles) sueltos en la portada, p.ej. "Noticias importantes" sin imagen: centrados a un ancho
   de lectura comodo en lugar de ocupar todo el ancho. */
.eic-front__content > .wp-block-details { max-width: 880px !important; margin-inline: auto !important; }

/* ==========================================================================
   Estilos de bloque del tema (panel "Estilos" del editor)
   ========================================================================== */

/* ---------- Tarjeta (grupo) ---------- */
.wp-block-group.is-style-eic-tarjeta {
	position: relative; overflow: hidden; height: 100%;
	background: #fff; border: 1px solid var(--eic-border); border-radius: var(--eic-radius);
	padding: clamp(1.25rem, 2.5vw, 2rem); box-shadow: var(--eic-shadow-sm);
	transition: transform .45s var(--eic-ease), box-shadow .45s var(--eic-ease), border-color .3s;
}
.wp-block-group.is-style-eic-tarjeta::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
	background: var(--eic-hl-news); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--eic-ease);
}
.wp-block-group.is-style-eic-tarjeta:hover { transform: translateY(-6px); box-shadow: var(--eic-shadow-lg); border-color: transparent; }
.wp-block-group.is-style-eic-tarjeta:hover::before { transform: scaleX(1); }
.wp-block-group.is-style-eic-tarjeta > :first-child { margin-top: 0; }
.wp-block-group.is-style-eic-tarjeta h3 { font-size: 1.15rem !important; margin: .4rem 0 0; }
.wp-block-group.is-style-eic-tarjeta p { color: var(--eic-muted); font-size: .97rem; }
.eic-content .wp-block-group.is-style-eic-tarjeta img { border-radius: 0; box-shadow: none; }

/* Icono dentro de una tarjeta o un destacado (bloque Imagen con la clase eic-icono) */
.wp-block-image.eic-icono { margin: 0 0 .6rem; }
.wp-block-image.eic-icono img {
	width: 64px !important; height: 64px !important; object-fit: contain; padding: 10px;
	background: rgba(0, 163, 224, .1); border-radius: 18px !important; transition: transform .5s var(--eic-ease);
}
.is-style-eic-tarjeta:hover .wp-block-image.eic-icono img { transform: rotate(-6deg) scale(1.08); }

/* ---------- Destacado (grupo) ---------- */
.wp-block-group.is-style-eic-destacado {
	position: relative; overflow: hidden; isolation: isolate; color: #fff;
	background: linear-gradient(135deg, #071a3a 0%, #0b2a5b 55%, #005f99 100%);
	border-radius: var(--eic-radius-lg); padding: clamp(1.75rem, 4vw, 3rem); box-shadow: var(--eic-shadow);
}
.wp-block-group.is-style-eic-destacado::after { /* cuadricula de plano, como el hero */
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .6; pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
	background-size: 40px 40px; mask-image: linear-gradient(90deg, transparent 30%, #000); -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000);
}
.wp-block-group.is-style-eic-destacado :is(h2, h3, h4) { color: #fff !important; }
.wp-block-group.is-style-eic-destacado p { color: rgba(255, 255, 255, .85); }
.wp-block-group.is-style-eic-destacado .eic-eyebrow { color: var(--eic-gold); }
.wp-block-group.is-style-eic-destacado .wp-block-image.eic-icono img { background: #fff; }

/* ---------- Carrusel (galeria) ---------- */
.eic-carrusel { position: relative; }
.wp-block-gallery.is-style-eic-carrusel.has-nested-images {
	--eic-car-gap: 1.25rem;
	display: flex; flex-wrap: nowrap !important; gap: var(--eic-car-gap) !important;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
	scrollbar-width: none; padding: .25rem 0 .5rem;
}
.wp-block-gallery.is-style-eic-carrusel.has-nested-images::-webkit-scrollbar { display: none; }
.wp-block-gallery.is-style-eic-carrusel.has-nested-images figure.wp-block-image:not(#individual-image) {
	flex: 0 0 calc((100% - 2 * var(--eic-car-gap)) / 3); width: auto; max-width: none; margin: 0;
	scroll-snap-align: start; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; box-shadow: var(--eic-shadow-sm);
}
.wp-block-gallery.is-style-eic-carrusel.has-nested-images figure.wp-block-image img {
	width: 100%; height: 100% !important; object-fit: cover; border-radius: 0; transition: transform .8s var(--eic-ease);
}
.wp-block-gallery.is-style-eic-carrusel.has-nested-images figure.wp-block-image:hover img { transform: scale(1.06); }
@media (max-width: 781px) {
	.wp-block-gallery.is-style-eic-carrusel.has-nested-images figure.wp-block-image:not(#individual-image) { flex-basis: calc((100% - var(--eic-car-gap)) / 2); }
}
@media (max-width: 540px) {
	.wp-block-gallery.is-style-eic-carrusel.has-nested-images figure.wp-block-image:not(#individual-image) { flex-basis: 86%; }
}
.eic-carrusel__btn {
	position: absolute; top: 50%; z-index: 2; width: 46px; height: 46px; margin-top: -23px; border: 0; border-radius: 50%; cursor: pointer;
	display: grid; place-items: center; background: #fff; color: var(--eic-navy); box-shadow: var(--eic-shadow);
	transition: transform .3s var(--eic-ease), background-color .3s, color .3s;
}
.eic-carrusel__btn:hover { background: var(--eic-navy); color: #fff; transform: scale(1.08); }
.eic-carrusel__btn svg { width: 20px; height: 20px; fill: currentColor; }
.eic-carrusel__btn--prev { left: -18px; }
.eic-carrusel__btn--next { right: -18px; }
@media (max-width: 781px) { .eic-carrusel__btn--prev { left: 6px; } .eic-carrusel__btn--next { right: 6px; } }
.eic-carrusel__puntos { display: flex; justify-content: center; gap: .45rem; margin-top: 1rem; }
.eic-carrusel__puntos button {
	width: 9px; height: 9px; padding: 0; border: 0; border-radius: 9px; cursor: pointer; background: #c9d4e4;
	transition: width .35s var(--eic-ease), background-color .3s;
}
.eic-carrusel__puntos button[aria-current="true"] { width: 26px; background: var(--eic-gold); }

/* ==========================================================================
   Secciones de paginas interiores
   ========================================================================== */
.eic-seccion { margin-top: clamp(3rem, 6vw, 5rem) !important; }
.eic-seccion:first-child { margin-top: 0 !important; }
.eic-seccion > .eic-eyebrow + :is(h2, .wp-block-heading) { margin-top: .2rem; }
.eic-intro p { font-size: 1.08rem; line-height: 1.75; }
.eic-intro p:first-child { font-size: 1.25rem; color: var(--eic-navy); font-weight: 500; }

/* Objetivos numerados */
.eic-objetivos { counter-reset: eic-objetivo; }
.eic-objetivos .is-style-eic-tarjeta { counter-increment: eic-objetivo; padding-top: clamp(1.75rem, 3vw, 2.25rem); }
.eic-objetivos .is-style-eic-tarjeta::after {
	content: "0" counter(eic-objetivo); position: absolute; top: .6rem; right: 1.1rem;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 3.2rem; line-height: 1;
	color: rgba(11, 42, 91, .07);
}

/* Fecha / etiqueta de evento */
.eic-fecha {
	display: inline-flex !important; align-items: center; gap: .4rem; padding: .3rem .75rem; border-radius: 999px;
	background: rgba(242, 183, 5, .16); color: #8a6500 !important; font-size: .78rem !important; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.eic-lugar { font-size: .9rem !important; font-weight: 600; color: var(--eic-navy) !important; }

/* Video destacado */
.eic-video .wp-block-video video { width: 100%; border-radius: var(--eic-radius-lg); box-shadow: var(--eic-shadow-lg); display: block; }

/* ==========================================================================
   Directorio de personas (Personal docente)
   ========================================================================== */
:root {
	--eic-depto-0: #0b2a5b; --eic-depto-1: #0089c4; --eic-depto-2: #c48a00; --eic-depto-3: #2a7f6f; --eic-depto-4: #6b4fa3;
}
.eic-directorio__intro { font-size: 1.1rem; color: var(--eic-muted); max-width: 60ch; }

/* Departamentos */
.eic-depto { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.eic-depto[hidden], .eic-docente[hidden] { display: none !important; }
.eic-depto__titulo {
	display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; padding-left: 1rem; margin-bottom: 1.25rem !important;
	font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem) !important; border-left: 5px solid var(--eic-depto-color, var(--eic-navy));
}
.eic-docentes { gap: 1rem !important; }

/* Tarjeta de docente */
.wp-block-group.is-style-eic-tarjeta.eic-docente {
	display: grid; grid-template-columns: 52px 1fr; column-gap: .9rem; row-gap: .15rem; align-content: start;
	padding: 1.1rem 1.1rem 1rem;
}
.wp-block-group.is-style-eic-tarjeta.eic-docente::before { background: var(--eic-depto-color, var(--eic-navy)); }
.eic-docente > * { grid-column: 2; margin: 0 !important; }
.eic-docente__avatar {
	grid-column: 1; grid-row: 1 / span 3; align-self: start;
	width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center;
	background: var(--eic-depto-color, var(--eic-navy)); color: #fff;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1.05rem; letter-spacing: .02em;
	box-shadow: 0 8px 18px -8px var(--eic-depto-color, var(--eic-navy)); transition: transform .45s var(--eic-ease);
}
.eic-docente:hover .eic-docente__avatar { transform: rotate(-6deg) scale(1.06); }
.wp-block-group.is-style-eic-tarjeta .eic-docente__nombre { font-weight: 700; color: var(--eic-navy); font-size: .98rem; line-height: 1.3; }
.wp-block-group.is-style-eic-tarjeta .eic-docente__puesto { font-size: .8rem; color: var(--eic-muted); }
.wp-block-group.is-style-eic-tarjeta .eic-docente__correo { font-size: .82rem; margin-top: .45rem !important; overflow-wrap: anywhere; }
.eic-docente__correo a { display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; text-decoration: none !important; }
.eic-docente__correo a::before {
	content: ""; flex: 0 0 14px; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.1L4 7.2V17h16V7.2l-8 4.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.1L4 7.2V17h16V7.2l-8 4.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.eic-docente__correo a:hover { text-decoration: underline !important; }
.eic-content > .eic-directorio__intro { margin-left: 0 !important; }

/* ---------- Listas con marcas de verificacion (clase eic-checks en un bloque Lista) ---------- */
.wp-block-list.eic-checks { list-style: none; padding-left: 0; margin: .6rem 0 0; display: grid; gap: .55rem; }
.wp-block-list.eic-checks li { position: relative; padding-left: 1.85rem; line-height: 1.5; }
.wp-block-list.eic-checks li::before {
	content: ""; position: absolute; left: 0; top: .12em; width: 1.25rem; height: 1.25rem; border-radius: 50%;
	background: rgba(0, 163, 224, .14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E") center / 72% no-repeat;
}
.wp-block-list.eic-checks--2col { display: block; columns: 2 12rem; column-gap: 1.5rem; }
.wp-block-list.eic-checks--2col li { break-inside: avoid; margin-bottom: .55rem; }
.is-style-eic-destacado .wp-block-list.eic-checks li { color: rgba(255, 255, 255, .9); }
.is-style-eic-destacado .wp-block-list.eic-checks li::before { background-color: rgba(242, 183, 5, .22); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f2b705' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E"); }
.is-style-eic-destacado strong { color: #fff; }

/* Botones claros (sobre fondo azul) */
.eic-botones-claros .wp-block-button__link { background: #fff !important; color: var(--eic-navy) !important; }
.eic-botones-claros .wp-block-button__link:hover { background: var(--eic-gold) !important; color: var(--eic-night) !important; }

/* ---------- Pasos numerados (grupo con la clase eic-numerados; numera sus tarjetas) ---------- */
.eic-numerados { counter-reset: eic-paso; gap: 1.25rem !important; }
.eic-numerados > .eic-paso-ancho { grid-column: 1 / -1; }
.eic-numerados > * { margin: 0 !important; }
.eic-numerados .is-style-eic-tarjeta { counter-increment: eic-paso; padding-left: clamp(4.25rem, 6vw, 5rem); }
.eic-numerados .is-style-eic-tarjeta::after {
	content: counter(eic-paso); position: absolute; left: clamp(1.1rem, 2vw, 1.5rem); top: clamp(1.15rem, 2.4vw, 1.9rem);
	width: 2.4rem; height: 2.4rem; border-radius: 12px; display: grid; place-items: center;
	background: var(--eic-navy); color: #fff; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1.1rem;
	box-shadow: 0 8px 18px -8px var(--eic-navy);
}
.eic-numerados .is-style-eic-tarjeta h3 { margin-top: .3rem !important; }
.eic-subtitulo { margin: 1rem 0 .2rem !important; color: var(--eic-navy); }
.eic-paso-ancho .wp-block-columns { margin-top: .25rem; }

/* ---------- Aviso (grupo con la clase eic-aviso) ---------- */
.wp-block-group.eic-aviso {
	position: relative; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.25rem) clamp(4.5rem, 7vw, 5.5rem);
	background: #fff8e1; border: 1px solid #f6dd8f; border-left: 6px solid var(--eic-gold); border-radius: var(--eic-radius);
}
.wp-block-group.eic-aviso::before {
	content: ""; position: absolute; left: clamp(1.25rem, 2.5vw, 1.75rem); top: clamp(1.5rem, 3vw, 2.25rem); width: 2.25rem; height: 2.25rem;
	background: #b07d00;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22L12 2zm1 15h-2v-2h2v2zm0-4h-2V9h2v4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22L12 2zm1 15h-2v-2h2v2zm0-4h-2V9h2v4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-group.eic-aviso .eic-eyebrow { color: #8a6500; }
.wp-block-group.eic-aviso .eic-eyebrow::before { background: #b07d00; }
.wp-block-group.eic-aviso h3 { margin: .2rem 0 .6rem !important; }
.wp-block-group.eic-aviso p { color: #4a3b0f; }

/* ---------- Tarjetas de documento (grupo Tarjeta con la clase eic-doc) ---------- */
.wp-block-group.is-style-eic-tarjeta.eic-doc { display: flex; flex-direction: column; gap: .6rem; }
.eic-doc > * { margin: 0 !important; }
.eic-doc .wp-block-buttons { margin-top: auto !important; padding-top: .5rem; }
.eic-doc__tipo {
	align-self: flex-start; display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .7rem; border-radius: 999px;
	font-size: .72rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	background: rgba(0, 163, 224, .12); color: #0077b6 !important;
}
.eic-doc__tipo--pdf { background: rgba(200, 40, 40, .1); color: #b42318 !important; }
.eic-doc__tipo--imagen { background: rgba(42, 127, 111, .12); color: #1f6b5d !important; }
.eic-doc__tipo--formulario { background: rgba(242, 183, 5, .18); color: #8a6500 !important; }
.eic-subseccion { font-size: 1.05rem !important; color: var(--eic-muted) !important; margin: 1.75rem 0 1rem !important; letter-spacing: 0; }

/* ---------- Franja de contacto ---------- */
.eic-contacto h3 { margin: 0 !important; }
.eic-contacto p { margin: .25rem 0 0 !important; }
.eic-contacto .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .eic-contacto .wp-block-buttons { justify-content: flex-start; } }

/* ---------- Datos clave (tarjetas con la clase eic-dato) ---------- */
.eic-datos { gap: 1rem !important; }
.wp-block-group.is-style-eic-tarjeta.eic-dato { padding: 1.4rem 1.25rem; text-align: left; }
.eic-dato > * { margin: 0 !important; }
.wp-block-group.is-style-eic-tarjeta .eic-dato__valor {
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; line-height: 1; letter-spacing: -.03em;
	font-size: clamp(2.2rem, 1.6rem + 2vw, 3rem) !important; color: var(--eic-navy) !important;
	background: linear-gradient(135deg, var(--eic-navy), #0077b6); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.wp-block-group.is-style-eic-tarjeta .eic-dato__etiqueta { margin-top: .45rem !important; font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }

/* Texto de apoyo bajo un titulo de seccion */
.eic-seccion__texto { color: var(--eic-muted); max-width: 70ch; margin-bottom: 1.5rem !important; }

/* Enlace "Mas informacion" al pie de una tarjeta */
.wp-block-group.is-style-eic-tarjeta .eic-mas { margin-top: .75rem !important; font-size: .9rem; font-weight: 700; }
.eic-mas a { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none !important; }
.eic-mas a::after { content: "→"; transition: transform .3s var(--eic-ease); }
.eic-mas a:hover::after { transform: translateX(4px); }

/* Enlaces dentro de un Destacado */
.is-style-eic-destacado a:not(.wp-element-button) { color: #fff !important; text-decoration: underline !important; text-decoration-color: var(--eic-gold) !important; text-underline-offset: .2em; }
.is-style-eic-destacado .eic-subtitulo { color: var(--eic-gold); }

/* ---------- Linea de tiempo (grupo eic-linea-tiempo con tarjetas eic-hito) ---------- */
.eic-linea-tiempo { position: relative; display: grid; gap: 1rem; padding-left: 2.25rem; }
.eic-linea-tiempo::before { content: ""; position: absolute; left: .7rem; top: .5rem; bottom: .5rem; width: 2px; background: linear-gradient(var(--eic-sky), var(--eic-border)); }
.eic-linea-tiempo > * { margin: 0 !important; }
.wp-block-group.is-style-eic-tarjeta.eic-hito { overflow: visible; padding: 1.1rem 1.4rem; display: grid; grid-template-columns: 1fr auto; column-gap: 1.5rem; align-items: center; }
.eic-hito > * { margin: 0 !important; }
.eic-hito .eic-fecha { grid-column: 1; justify-self: start; }
.eic-hito h3 { grid-column: 1; margin-top: .45rem !important; font-size: 1.05rem !important; }
.eic-hito .eic-hito__condicion { grid-column: 2; grid-row: 1 / span 2; font-weight: 700; color: var(--eic-navy) !important; font-size: .9rem; text-align: right; }
.wp-block-group.is-style-eic-tarjeta.eic-hito::after {
	content: ""; position: absolute; left: calc(-2.25rem + .7rem - 7px); top: 50%; width: 16px; height: 16px; margin-top: -8px;
	border-radius: 50%; background: #fff; border: 3px solid #c5d2e3;
}
.wp-block-group.is-style-eic-tarjeta.eic-hito--actual { border-color: var(--eic-sky); box-shadow: var(--eic-shadow); }
.wp-block-group.is-style-eic-tarjeta.eic-hito--actual::after { border-color: var(--eic-sky); background: var(--eic-sky); box-shadow: 0 0 0 6px rgba(0, 163, 224, .18); }
.eic-hito--actual .eic-hito__condicion { color: #0077b6 !important; }
@media (max-width: 640px) {
	.wp-block-group.is-style-eic-tarjeta.eic-hito { grid-template-columns: 1fr; }
	.eic-hito .eic-hito__condicion { grid-column: 1; grid-row: auto; text-align: left; margin-top: .35rem !important; }
}

/* ---------- Tarjetas con icono de area (tarjeta con la clase eic-area + eic-area--<tipo>) ---------- */
.wp-block-group.is-style-eic-tarjeta.eic-area { padding-top: 4.9rem; }
.wp-block-group.is-style-eic-tarjeta.eic-area::after {
	content: ""; position: absolute; top: 1.5rem; left: clamp(1.25rem, 2.5vw, 2rem); width: 2.75rem; height: 2.75rem; border-radius: 14px;
	background: rgba(0, 163, 224, .12) var(--eic-area-icono) center / 1.5rem no-repeat;
	transition: transform .5s var(--eic-ease);
}
.wp-block-group.is-style-eic-tarjeta.eic-area:hover::after { transform: rotate(-6deg) scale(1.08); }
.eic-area h3 { margin-top: 0 !important; }
.eic-area--estructuras { --eic-area-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M3 21V9l6-4 6 4v12h-4v-5H7v5H3zm14 0V10.7l-1.5-1L20 7v14h-3zM5 13h2v-2H5v2zm4 0h2v-2H9v2z'/%3E%3C/svg%3E"); }
.eic-area--construccion { --eic-area-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M2 21v-2h20v2H2zm2-4 6-11h2v3h7l-2 4h-3v4h-2v-4H8.6l-2.2 4H4zm6.1-6H12V7.6L10.1 11z'/%3E%3C/svg%3E"); }
.eic-area--hidraulica { --eic-area-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M12 2.7 6.3 9.6A7 7 0 1 0 17.7 9.6L12 2.7zM12 20a5 5 0 0 1-4.1-7.9L12 7.1l4.1 5A5 5 0 0 1 12 20z'/%3E%3C/svg%3E"); }
.eic-area--ambiente { --eic-area-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M17 8C8 10 5.9 16.2 3.8 21.3l1.9.7 1-2.3c.5.2 1 .3 1.3.3C19 20 22 3 22 3c-1 2-8 2.3-13 3.3S2 11.5 2 13.5s1.8 3.8 1.8 3.8C7 8 17 8 17 8z'/%3E%3C/svg%3E"); }
.eic-area--transportes { --eic-area-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230077b6' d='M11 2h2v4h-2V2zm0 7h2v6h-2V9zm0 9h2v4h-2v-4zM4 22 8 2h2L6 22H4zm16 0h-2L14 2h2l4 20z'/%3E%3C/svg%3E"); }

/* Etiquetas en fila (p.ej. areas de formacion): parrafos con la clase eic-etiqueta dentro de un grupo en fila */
.wp-block-group.eic-etiquetas { gap: .6rem !important; }
.eic-etiqueta {
	margin: 0 !important; padding: .55rem 1.1rem; border-radius: 999px; font-weight: 700; font-size: .92rem;
	background: #fff; color: var(--eic-navy); border: 1px solid var(--eic-border); box-shadow: var(--eic-shadow-sm);
}

/* ---------- Filas foto + texto (columnas con la clase eic-lab; eic-lab--invertido cambia de lado) ---------- */
.wp-block-columns.eic-lab { gap: clamp(1.5rem, 4vw, 4rem) !important; }
@media (min-width: 782px) { .wp-block-columns.eic-lab--invertido { flex-direction: row-reverse; } }
.eic-lab__foto { position: relative; margin: 0 !important; }
.eic-lab__foto::before { /* marco decorativo desplazado */
	content: ""; position: absolute; inset: 1.1rem -1.1rem -1.1rem 1.1rem; z-index: -1; border-radius: var(--eic-radius-lg);
	background: linear-gradient(135deg, rgba(0, 163, 224, .18), rgba(242, 183, 5, .18));
}
.eic-lab--invertido .eic-lab__foto::before { inset: 1.1rem 1.1rem -1.1rem -1.1rem; }
.eic-lab__foto img {
	display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--eic-radius-lg) !important;
	box-shadow: var(--eic-shadow-lg); transition: transform .8s var(--eic-ease);
}
.eic-lab__foto:hover img { transform: scale(1.02); }
.eic-lab .wp-block-column { isolation: isolate; }
.eic-lab__nombre { margin-top: .2rem !important; font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem) !important; }
.eic-lab__texto { color: var(--eic-muted); font-size: 1.04rem; line-height: 1.75; }

/* Indice de enlaces a secciones (etiquetas con enlace) */
.eic-indice .eic-etiqueta { padding: 0; }
.eic-indice .eic-etiqueta a {
	display: block; padding: .55rem 1.1rem; border-radius: 999px; color: var(--eic-navy) !important; text-decoration: none !important;
	transition: background-color .25s, color .25s;
}
.eic-indice .eic-etiqueta a:hover { background: var(--eic-navy); color: #fff !important; }
.eic-content :is(h2, h3)[id] { scroll-margin-top: 110px; }

/* ---------- Tarjetas de persona con foto (tarjeta con la clase eic-persona) ---------- */
.eic-personas { gap: 1.25rem !important; }
.wp-block-group.is-style-eic-tarjeta.eic-persona { padding: 0 0 1.25rem; display: flex; flex-direction: column; }
.eic-persona > * { margin: 0 !important; padding-inline: 1.25rem; }
.eic-persona .eic-persona__foto { padding: 0; margin-bottom: 1rem !important; overflow: hidden; }
.eic-content .eic-persona .eic-persona__foto img {
	display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%;
	border-radius: 0; box-shadow: none; transition: transform .8s var(--eic-ease);
}
.eic-persona:hover .eic-persona__foto img { transform: scale(1.05); }
.wp-block-group.is-style-eic-tarjeta .eic-persona__puesto {
	align-self: flex-start; margin: 0 1.25rem .5rem !important; padding: .25rem .7rem; border-radius: 999px;
	font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	background: rgba(0, 163, 224, .12); color: #0077b6;
}
.wp-block-group.is-style-eic-tarjeta .eic-persona__nombre { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1.08rem; line-height: 1.3; color: var(--eic-navy); margin-bottom: .55rem !important; }
.wp-block-group.is-style-eic-tarjeta :is(.eic-persona__correo, .eic-persona__telefono) { font-size: .86rem; margin-top: .25rem !important; overflow-wrap: anywhere; }
:is(.eic-persona__correo, .eic-persona__telefono) a { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; text-decoration: none !important; }
:is(.eic-persona__correo, .eic-persona__telefono) a:hover { text-decoration: underline !important; }
:is(.eic-persona__correo, .eic-persona__telefono) a::before { content: ""; flex: 0 0 15px; width: 15px; height: 15px; background: currentColor; }
.eic-persona__correo a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.1L4 7.2V17h16V7.2l-8 4.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.1L4 7.2V17h16V7.2l-8 4.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.eic-persona__telefono a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Cargos por departamento (tarjeta con la clase eic-cargo) ---------- */
.wp-block-group.is-style-eic-tarjeta.eic-cargo h3 { margin: 0 0 .75rem !important; padding-bottom: .65rem; border-bottom: 1px solid var(--eic-border); }
.eic-cargo > * { margin: 0 !important; }
.wp-block-group.is-style-eic-tarjeta .eic-cargo__rol { margin-top: .7rem !important; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #0077b6; }
.wp-block-group.is-style-eic-tarjeta .eic-cargo__nombre { color: var(--eic-navy); font-weight: 600; font-size: .98rem; margin-top: .15rem !important; }

/* ---------- Lista de enlaces a documentos (bloque Lista con la clase eic-enlaces) ---------- */
.wp-block-list.eic-enlaces { list-style: none; padding: 0; margin: .75rem 0 0; display: grid; gap: .45rem; }
.wp-block-list.eic-enlaces li a {
	display: flex; align-items: flex-start; gap: .6rem; padding: .6rem .8rem; border-radius: 12px; line-height: 1.4;
	background: var(--eic-surface); color: var(--eic-navy) !important; font-weight: 600; font-size: .93rem; text-decoration: none !important;
	transition: background-color .25s, transform .25s var(--eic-ease);
}
.wp-block-list.eic-enlaces li a:hover { background: rgba(0, 163, 224, .12); transform: translateX(3px); }
.wp-block-list.eic-enlaces li a::before {
	content: ""; flex: 0 0 18px; width: 18px; height: 18px; margin-top: .05rem; background: #0077b6;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm4 18H6V4h7v5h5v11zM8 13h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm4 18H6V4h7v5h5v11zM8 13h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Nota de advertencia dentro de una tarjeta (parrafo con la clase eic-nota) */
.wp-block-group.is-style-eic-tarjeta .eic-nota {
	margin-top: .85rem !important; padding: .7rem .9rem; border-radius: 12px; font-size: .9rem;
	background: #fff8e1; border-left: 4px solid var(--eic-gold); color: #4a3b0f;
}
/* Etiquetas tipo codigo (claves) */
.eic-etiquetas .eic-etiqueta.eic-clave { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-weight: 600; font-size: .85rem; user-select: all; }
/* Rotulos dentro de un Destacado (p.ej. "Coordinacion"): dorados y separados del dato */
.wp-block-group.is-style-eic-destacado .eic-subtitulo { color: var(--eic-gold) !important; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 1rem 0 .15rem !important; }
.wp-block-group.is-style-eic-destacado .eic-subtitulo:first-child { margin-top: 0 !important; }

/* ---------- Acerca de la escuela: espacios ---------- */
/* Vision y Mision: recuadro redondeado con aire, filas separadas */
.eic-content > .wp-block-columns.eic-acerca-mv { border-radius: var(--eic-radius-lg); padding: clamp(1.5rem, 4vw, 3rem) !important; }
.eic-acerca-mv > .wp-block-column { display: grid; gap: clamp(1.75rem, 4vw, 3rem); }
.eic-acerca-mv .wp-block-media-text { margin: 0 !important; column-gap: clamp(1rem, 3vw, 2.5rem); }
.eic-acerca-mv .wp-block-media-text__content { padding-inline: 0 !important; }
.eic-acerca-mv .wp-block-media-text__content p { margin: 0; line-height: 1.75; }
/* Valores: lista compacta y pareja */
.eic-acerca-valores { align-items: center; column-gap: clamp(1rem, 3vw, 2.5rem); }
.eic-acerca-valores .wp-block-media-text__content { padding-inline: 0 !important; }
.eic-acerca-valores .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: clamp(1.5rem, 4vw, 3rem) !important; row-gap: 0 !important; }
.eic-acerca-valores .is-layout-constrained > * + * { margin-block-start: .6rem !important; }
.eic-acerca-valores .is-layout-constrained > * { max-width: none !important; }
.eic-acerca-valores .wp-block-list { margin: 0; padding-left: 1.15rem; }
.eic-acerca-valores .wp-block-list li { margin: 0; line-height: 1.5; }
.eic-acerca-valores .wp-block-list li::marker { color: var(--eic-sky); }
@media (max-width: 600px) { .eic-acerca-valores .is-layout-grid { grid-template-columns: 1fr !important; } .eic-acerca-valores .is-layout-grid > * + * { margin-top: .6rem; } }
.eic-content .eic-eyebrow + :is(h2, h3) { margin-top: .2rem !important; }

/* ---------- Tarjeta de material didactico (tarjeta con la clase eic-material) ---------- */
.wp-block-group.is-style-eic-tarjeta.eic-material { padding: clamp(1rem, 2vw, 1.5rem); }
.eic-material .wp-block-columns { margin: 0; gap: clamp(1.25rem, 3vw, 2.5rem); }
.eic-material__imagen { margin: 0 !important; overflow: hidden; border-radius: var(--eic-radius) !important; }
.eic-content .eic-material__imagen img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--eic-radius) !important; box-shadow: none; transition: transform .8s var(--eic-ease); }
.eic-material:hover .eic-material__imagen img { transform: scale(1.04); }
.wp-block-group.is-style-eic-tarjeta.eic-material h3 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem) !important; margin: .6rem 0 .3rem !important; }
.eic-material .wp-block-buttons { margin-top: 1.1rem; }

/* ---------- Programas como etiquetas (bloque Lista con la clase eic-programas) ---------- */
.wp-block-list.eic-programas { list-style: none; padding: 0; margin: .9rem 0 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.wp-block-list.eic-programas li {
	margin: 0; padding: .35rem .75rem; border-radius: 999px; font-size: .86rem; font-weight: 600; line-height: 1.3;
	background: var(--eic-surface); color: var(--eic-navy); border: 1px solid var(--eic-border);
	transition: background-color .25s, color .25s, border-color .25s;
}
.wp-block-list.eic-programas li:hover { background: var(--eic-navy); color: #fff; border-color: var(--eic-navy); }

/* Tarjetas en mosaico (grupo con la clase eic-mosaico): columnas que se acomodan sin huecos */
.wp-block-group.eic-mosaico { display: block !important; columns: 3 18rem; column-gap: 1.25rem; }
.wp-block-group.eic-mosaico > * { break-inside: avoid; margin: 0 0 1.25rem !important; display: block; height: auto; }
.eic-mosaico .is-style-eic-tarjeta h3 { margin: 0 !important; }
.eic-doc > .eic-fecha { align-self: flex-start; }

/* ---------- Secciones centradas (grupo con la clase eic-centrado) ---------- */
.eic-centrado { text-align: center; }
.eic-centrado > .eic-eyebrow { justify-content: center; }
.eic-centrado > .eic-seccion__texto { margin-inline: auto !important; }
.wp-block-group.eic-prestamo { max-width: 760px !important; margin-inline: auto !important; }
.wp-block-group.eic-prestamo p:not(.eic-eyebrow) { color: var(--eic-navy); font-size: 1.05rem; margin: 0; }
.wp-block-group.eic-prestamo .eic-eyebrow { justify-content: center; }

/* Categorias de programas: titulo con separador y un programa por linea, centrado */
.eic-categorias { gap: 1.25rem !important; text-align: center; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria { padding: 1.6rem 1.25rem 1.5rem; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria h3 { font-size: 1.15rem !important; margin: 0 !important; }
.eic-categoria h3::after { content: ""; display: block; width: 44px; height: 3px; margin: .75rem auto .9rem; border-radius: 3px; background: var(--eic-hl-underline); }
.wp-block-list.eic-lista-programas { list-style: none; padding: 0; margin: 0; }
.wp-block-list.eic-lista-programas li { margin: 0; padding: .32rem 0; font-size: 1rem; line-height: 1.4; color: var(--eic-contrast, #0f1b2d); }
.wp-block-list.eic-lista-programas--2col { columns: 2; column-gap: 1.25rem; }
.wp-block-list.eic-lista-programas--2col li { break-inside: avoid; }
/* La ultima fila de categorias, si queda incompleta, se centra */
.wp-block-group.eic-categorias { display: flex !important; flex-wrap: wrap; justify-content: center; }
.wp-block-group.eic-categorias > * { flex: 0 1 calc((100% - 2.5rem) / 3); min-width: 0; }
@media (max-width: 960px) { .wp-block-group.eic-categorias > * { flex-basis: calc((100% - 1.25rem) / 2); } }
@media (max-width: 600px) { .wp-block-group.eic-categorias > * { flex-basis: 100%; } }

/* ---------- Laboratorios de computo: mas color ---------- */
/* Prestamo: recuadro destacado con icono */
.wp-block-group.is-style-eic-destacado.eic-prestamo { padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 3rem) !important; }
.wp-block-group.is-style-eic-destacado.eic-prestamo::before {
	content: ""; display: block; width: 3.25rem; height: 3.25rem; margin: 0 auto 1rem; border-radius: 16px;
	background: var(--eic-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23071a3a' d='M20 18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 6h16v10H4V6z'/%3E%3C/svg%3E") center / 1.6rem no-repeat;
	box-shadow: 0 10px 24px -10px rgba(242, 183, 5, .7);
}
.wp-block-group.is-style-eic-destacado.eic-prestamo p:not(.eic-eyebrow) { color: #fff !important; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.6; }
.wp-block-group.is-style-eic-destacado.eic-prestamo .eic-eyebrow { color: var(--eic-gold); }

/* Categorias: encabezado azul y cuerpo celeste suave */
.wp-block-group.is-style-eic-tarjeta.eic-categoria { padding: 0 0 1rem; background: #f2f7fc; border-color: #dbe6f2; overflow: hidden; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria::before { display: none; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria h3 {
	color: #fff !important; padding: .95rem 1rem; margin: 0 0 .6rem !important;
	background: linear-gradient(135deg, var(--eic-navy), #0a5a92);
}
.eic-categoria h3::after { display: none; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria:hover { border-color: var(--eic-sky); }
.eic-categoria .wp-block-list.eic-lista-programas { padding: 0 1rem; }
.wp-block-list.eic-lista-programas li { padding: .38rem 0; border-bottom: 1px solid #dfe8f3; }
.wp-block-list.eic-lista-programas li:last-child { border-bottom: 0; }
.wp-block-list.eic-lista-programas--2col li:nth-last-child(-n+2) { border-bottom: 0; }
/* Categorias (version final): como la version centrada original, fondo blanco y borde azul */
.wp-block-group.is-style-eic-tarjeta.eic-categoria { padding: 1.6rem 1.25rem 1.5rem; background: #fff; border: 2px solid var(--eic-navy); }
.wp-block-group.is-style-eic-tarjeta.eic-categoria:hover { border-color: #0a5a92; }
.wp-block-group.is-style-eic-tarjeta.eic-categoria h3 { color: var(--eic-navy) !important; background: none; padding: 0; margin: 0 !important; }
.eic-categoria h3::after { display: block; }
.eic-categoria .wp-block-list.eic-lista-programas { padding: 0; }
.wp-block-list.eic-lista-programas li { padding: .32rem 0; border-bottom: 0; }

/* ---------- Comisiones: integrantes (lista con la clase eic-integrantes dentro de un Detalles) ---------- */
.eic-comisiones { max-width: 900px !important; }
.wp-block-details.eic-comision > summary { font-size: 1.05rem; padding-block: 1.15rem; }
.wp-block-list.eic-integrantes { list-style: none; padding: 0 1.25rem .35rem; margin: .25rem 0 0; display: grid; gap: 0; }
.wp-block-list.eic-integrantes li {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .35rem 1rem;
	padding: .7rem 0; border-top: 1px solid var(--eic-border);
}
.wp-block-list.eic-integrantes li strong { color: var(--eic-navy); font-weight: 600; }
.eic-integrante__cargo {
	font-size: .76rem; font-weight: 700; letter-spacing: .04em; padding: .22rem .65rem; border-radius: 999px;
	background: var(--eic-surface); color: var(--eic-muted);
}
.eic-integrante__cargo--destacado { background: rgba(0, 163, 224, .12); color: #0077b6; }
.eic-content > .eic-seccion__texto { margin-left: 0 !important; }

/* ---------- Encabezado: logo UCR mas grande y con enlace propio a ucr.ac.cr ---------- */
.eic-brand__ucr-enlace { display: block; line-height: 0; border-radius: 8px; transition: opacity .25s; }
.eic-brand__ucr-enlace:hover { opacity: .85; }
.eic-brand__ucr-enlace:focus-visible { outline: 2px solid var(--eic-gold); outline-offset: 4px; }
.eic-brand .eic-brand__ucr { height: 80px; }
.is-scrolled .eic-brand .eic-brand__ucr { height: 60px; }
.eic-brand__text { color: #fff !important; text-decoration: none !important; }
.eic-brand__text:hover strong { color: var(--eic-gold); }
.eic-brand__text strong { transition: color .25s; }
.eic-header__inner { min-height: 96px; }
@media (max-width: 600px) { .eic-brand .eic-brand__ucr { height: 60px; } }
/* Encabezado: el menu siempre cabe en una linea junto al logo grande */
.eic-brand__text strong { line-height: 1.15; font-size: 1.05rem; }
.eic-header__inner { gap: 1.5rem; }
.eic-nav { font-size: .86rem !important; }
.eic-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item { padding: .5rem .4rem; }
@media (max-width: 1640px) {
	.eic-brand__divider, .eic-brand__text { display: none !important; }
	.eic-header__inner { gap: 1rem; }
	.eic-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item { padding: .5rem .32rem; }
}
/* Menu de hamburguesa tambien en tabletas (600-1199 px): el menu completo no cabe junto al logo */
@media (min-width: 600px) and (max-width: 1199px) {
	.eic-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.eic-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.eic-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
	.eic-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; }
	.eic-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; visibility: visible !important; opacity: 1 !important; width: auto !important; height: auto !important; min-width: 0 !important; }
}
/* Menu abierto (movil y tableta): ocupa toda la pantalla. El desenfoque del encabezado (backdrop-filter) encerraba
   el menu fijo dentro de la franja del encabezado; se quita mientras el menu esta abierto. */
.eic-header:has(.is-menu-open) { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html.has-modal-open .eic-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.eic-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; z-index: 100000; overflow-y: auto; }
.eic-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.eic-nav .is-menu-open .wp-block-navigation__container,
.eic-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.eic-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.eic-brand__text strong { white-space: nowrap; }
