/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.5.1.1789657595
Updated: 2026-09-17 15:06:35

*/

/* ==========================================================================
   Header — logo/site title en negro (no rosa) + tagline pequeño debajo
   ========================================================================== */
.site-header .site-title,
.site-header .site-title a,
.site-header .site-title a:hover,
.site-header .site-title a:focus {
	color: #111827;
}

.site-header .site-description {
	color: #6B7280;
}

/* ==========================================================================
   Single CPT Libro (single-libro.php) — layout + estilos (colores/fuentes del Kit)
   ========================================================================== */

/* Ancho de contenido: max-width sale del Kit (Site Settings > Layout) vía single-libro.php. */
.libro-single .libro-wrap { margin-left: auto; margin-right: auto; }

/* Paddings por spec. */
.libro-fila1 { padding-top: 70px; padding-bottom: 70px; }
.libro-fila3 { padding-top: 70px; padding-bottom: 70px; }

/* Fila 1: imagen 35% / info 65%. */
.libro-hero { display: grid; grid-template-columns: 35% 65%; gap: 40px; align-items: start; }
.libro-hero__img img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) { .libro-hero { grid-template-columns: 1fr; gap: 24px; } }

/* Título del libro (H1 nativo → tipografía del Kit). */
.libro-title { color: #111827; margin: 0 0 20px; }

/* Resumen (tipografía del Kit). */
.libro-resumen { color: #111827; margin: 0 0 28px; }

/* Datos: grid 2 col; cada dato = ícono + texto. */
.libro-datos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; margin: 0 0 32px; }
.libro-dato { display: flex; align-items: center; gap: 10px; color: #111827; }
.libro-dato i { color: #111827; font-size: 18px; width: 20px; text-align: center; }
@media (max-width: 767px) { .libro-datos { grid-template-columns: 1fr; } }

/* Botón: hereda estilo del Kit vía .elementor-button; acá solo spacing. */
.libro-btn { display: inline-block; margin-top: 30px; }

/* Extracto del contenido en la columna derecha (clamp a 8 líneas). */
.libro-extracto { color: #111827; margin: 0 0 12px; display: -webkit-box; -webkit-line-clamp: 8; line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.libro-extracto p { margin: 0; }
.libro-leermas { color: #111827; text-decoration: underline; display: block; width: fit-content; margin: 0; }

/* Separador entre Fila 1 y Fila 3 (ancho = .libro-wrap). */
.libro-sep { border: 0; border-top: 1px solid #E5E7EB; margin: 0; }

/* Fila 3: relacionados (3 col → 1 col en mobile). */
.libro-relacionados__titulo { color: #111827; margin: 0 0 32px; }
.libro-relacionados { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.libro-card__img img { display: block; width: 100%; height: auto; }
.libro-card__titulo { text-decoration: none; display: block; margin: 14px 0 8px; }
.libro-card__titulo h3 { color: #111827; margin: 0; }
.libro-card__resumen { color: #111827; margin: 0; }
@media (max-width: 767px) { .libro-relacionados { grid-template-columns: 1fr; } }

/* ===== Shortcode [grid_servicios] (inc/cpt-servicios.php) =====
   Card = misma estructura/clases Elementor que el container dd67e35 (/consultoria/):
   heading, texto y botón heredan los estilos globales (Kit + clase .proyecto).
   Acá solo: fondo, padding de la card y grilla (3 col PC / 1 col tablet y móvil). */
.emm-servicios {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.emm-servicios__card.e-con {
	--display: flex; /* igual que el container de referencia (Elementor lo setea por elemento) */
	background-color: #DDDEDF;
	--padding-top: 35px;
	--padding-bottom: 35px;
	--padding-left: 25px;
	--padding-right: 25px;
}
.emm-servicios__card h4.elementor-heading-title {
	margin-bottom: 25px;
}@media (max-width: 1024px) {
	.emm-servicios {
		grid-template-columns: 1fr;
	}
}

/* ===== Shortcode [grilla_proyectos] (inc/cpt-proyectos.php) =====
   Card = misma estructura/clases Elementor que la grilla 1cbdd62 de /investigacion/
   ("Líneas de investigación"): heading, texto y botón heredan los estilos globales (Kit + clase .proyecto).
   Acá solo, copiado de la referencia: grilla (gap 20px; 3 col PC y tablet / 1 col móvil), fondo y padding de la card. */
.emm-proyectos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.emm-proyectos__card.e-con {
	--display: flex; /* igual que el container de referencia (Elementor lo setea por elemento) */
	background-color: var(--e-global-color-5cd008d);
	--padding-top: 30px;
	--padding-bottom: 30px;
	--padding-left: 15px;
	--padding-right: 15px;
}
/* Atributo fondo="claro" | "oscuro": solo cambia el fondo de la card. */
.emm-proyectos--claro .emm-proyectos__card.e-con {
	background-color: #E5E7EB;
}
.emm-proyectos--oscuro .emm-proyectos__card.e-con {
	background-color: #DDDEDF;
}
/* Atributo imagen="si": imagen destacada arriba de la card (separación = gap de 20px de la card). */
.emm-proyectos__card > img {
	display: block;
	width: 100%;
	height: auto;
}
/* Atributo paginacion="si": solo disposición; links con los estilos globales del sitio. */
.emm-proyectos__paginacion {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 20px; /* separación de la grilla = gap de la grilla */
}
.emm-proyectos__card .elementor-widget-text-editor p:last-child {
	margin-block-end: 0; /* la referencia no usa <p>: sin este margen el espacio texto→botón es igual */
}
@media (max-width: 767px) {
	.emm-proyectos {
		grid-template-columns: 1fr;
	}
}

/* ===== Botón con clase .proyecto (widget Button de Elementor) =====
   Única definición del botón tipo "Ver servicio →": la usan el widget 3cb2fa5 de /consultoria/
   y las cards de [grid_servicios]. Valores tomados del widget 3cb2fa5. Tipografía = Kit (Theme Style > Botones).
   Aplica también en hover/focus (igual que la referencia: sin cambio de color al pasar el mouse). */
.elementor-element.elementor-widget-button.proyecto .elementor-button {
	background-color: transparent;
	color: #000000;
	fill: #000000;
	border-radius: 0;
	padding: 0;
}
.elementor-element.elementor-widget-button.proyecto .elementor-button-content-wrapper {
	flex-direction: row-reverse;
}

/* ===== Header — menú Tahefobu (widget tahefobu-mega-menu) =====
   Hover (desktop + panel hamburguesa): texto color primario del Kit + border-bottom.
   Border transparente en estado normal para que el hover no desplace el layout.
   !important + especificidad > (0,5,1): el Additional CSS del Customizer tiene
   `a:not(...):hover { color: accent !important }` que pisa todos los links. */
.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container .tahefobu-mega-desktop-menu .tahefobu-mega-nav-menu > li > a.tahefobu-menu-nav-link,
.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container.tahefobu-mega-responsive .tahefobu-mega-mobile-menu .tahefobu-mega-mobile-nav a.tahefobu-menu-nav-link {
	border-bottom: 1px solid transparent;
}
.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container .tahefobu-mega-desktop-menu .tahefobu-mega-nav-menu > li > a.tahefobu-menu-nav-link:hover,
.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container.tahefobu-mega-responsive .tahefobu-mega-mobile-menu .tahefobu-mega-mobile-nav a.tahefobu-menu-nav-link:hover {
	color: var(--e-global-color-primary) !important;
	border-bottom-color: var(--e-global-color-primary);
}

/* Panel hamburguesa: el JS del plugin (modo full-width) le pone width inline
   en px → !important necesario para pisarlo. Left/posición quedan como están. */
@media (max-width: 1024px) {
	.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container.tahefobu-mega-responsive .tahefobu-mega-mobile-menu {
		width: 380px !important;
	}
}
@media (max-width: 767px) {
	.elementor-widget-tahefobu-mega-menu .tahefobu-mega-menu-container.tahefobu-mega-responsive .tahefobu-mega-mobile-menu {
		width: 100vw !important;
		max-width: 75vw;
	}
}

/* Tablet y móvil: ningún contenido puede ser más ancho que la pantalla. */
@media (max-width: 1024px) {
	iframe, video, embed, object {
		max-width: 100%;
	}
	.emm-single__inner iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}
	.emm-single__inner table,
	.elementor-widget-text-editor table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}
}
@media (max-width: 767px) {
	.emm-single__inner .omc-grid {
		grid-template-columns: 1fr;
	}
	body.page-id-21 .elementor .elementor-element.elementor-element-91e2393,
	body.page-id-21 .elementor .elementor-element.elementor-element-84e26e5,
	body.page-id-21 .elementor .elementor-element.elementor-element-2eb8594,
	body.page-id-21 .elementor .elementor-element.elementor-element-03f3a73 {
		margin-left: 0;
	}
	.vimeography-thumbnail-container .swiper-button-prev {
		left: 0 !important;
	}
	.vimeography-thumbnail-container .swiper-button-next {
		right: 0 !important;
	}
}
