/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ==========================================================================
   Plantilla — Tarjetas de proyecto (carrusel "MÁS PROYECTOS")
   Acotado a .wd-project--cvt para no afectar otros listados.
   ========================================================================== */

/* Fuente Montserrat (la del sitio) en toda la tarjeta */
.wd-project--cvt,
.wd-project--cvt .portfolio-info,
.wd-project--cvt .wd-entities-title,
.wd-project--cvt .wd-entities-title a,
.wd-project--cvt .proj-cats-list li,
.wd-project--cvt .wd-project__subtitle,
.wd-project--cvt .wd-project__link {
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif !important;
}

/* Altura igual: estirar los slides del carrusel y que la tarjeta llene la altura */
.wd-projects .wd-carousel-item,
.wd-portfolio-element .wd-carousel-item {
	height: auto;
	display: flex;
}

.wd-project--cvt {
	display: flex;
	width: 100%;
}

.wd-project--cvt .entry-header {
	background-color: #fff;
	border: 1px solid #ececec;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 6px rgba(16, 24, 40, .05);
	transition: box-shadow .3s ease, transform .3s ease;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.wd-project--cvt:hover .entry-header {
	box-shadow: 0 12px 28px rgba(16, 24, 40, .12);
	transform: translateY(-4px);
}

/* Imagen superior uniforme */
.wd-project--cvt .entry-thumbnail {
	margin: 0;
	border-radius: 0;
	overflow: hidden;
}

.wd-project--cvt .portfolio-thumbnail {
	display: block;
	overflow: hidden;
}

.wd-project--cvt .portfolio-thumbnail img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
	opacity: 1 !important;
	visibility: visible !important;
	transition: transform .6s ease;
}

.wd-project--cvt:hover .portfolio-thumbnail img {
	transform: scale(1.05);
}

/* Quitar overlay oscuro del tema y botones de hover */
.wd-project--cvt .portfolio-thumbnail:after {
	display: none !important;
}

.wd-project--cvt .wd-portfolio-btns {
	display: none !important;
}

/* Bloque de información, alineado a la izquierda */
.wd-project--cvt .portfolio-info {
	background-color: #fff !important;
	text-align: left !important;
	padding: 16px 18px 18px !important;
	transform: none !important;
	opacity: 1 !important;
	position: static !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex: 1 1 auto;
}

/* Categoría con ícono */
.wd-project--cvt .wrap-meta {
	margin: 0;
}

.wd-project--cvt .proj-cats-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
}

.wd-project--cvt .proj-cats-list li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: var(--wd-primary-color, rgb(32, 172, 179));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1;
}

.wd-project--cvt .proj-cats-list li:before {
	display: none !important;
}

.wd-project--cvt .wd-project__cat-icon {
	display: inline-flex;
	color: var(--wd-primary-color, rgb(32, 172, 179));
}

.wd-project--cvt .wd-project__cat-icon svg {
	width: 16px;
	height: 16px;
	display: block;
}

/* Título en negro */
.wd-project--cvt .wrap-title {
	margin: 0;
}

.wd-project--cvt .wd-entities-title {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
	font-weight: 700;
}

.wd-project--cvt .wd-entities-title a {
	color: #1a1a1a !important;
	font-weight: 700;
	transition: color .2s ease;
	/* Límite de 2 líneas visibles con puntos suspensivos */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(2 * 1.3em);
}

.wd-project--cvt:hover .wd-entities-title a {
	color: var(--wd-primary-color, rgb(32, 172, 179)) !important;
}

/* Subtítulo gris */
.wd-project--cvt .wd-project__subtitle {
	margin: 0;
	color: #6b7280;
	font-size: 13.5px;
	line-height: 1.4;
	/* Límite de 2 líneas visibles */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Enlace "Ver proyecto" */
.wd-project--cvt .wd-project__link {
	margin-top: auto;
	padding-top: 10px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wd-primary-color, rgb(32, 172, 179));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wd-project--cvt .wd-project__link:hover {
	color: var(--wd-primary-color, rgb(32, 172, 179));
}

.wd-project--cvt .wd-project__arrow {
	transition: transform .25s ease;
}

.wd-project--cvt .wd-project__link:hover .wd-project__arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Plantilla — Barra de filtros de proyectos (pills con icono por categoría)
   ========================================================================== */
.cvt-filter { margin-bottom: 30px; }

.cvt-filter .wd-nav-portfolio.wd-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	border: 0 !important;
	padding: 0;
	margin: 0;
}

.cvt-filter .wd-nav-portfolio > li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.cvt-filter .wd-nav-portfolio > li:before,
.cvt-filter .wd-nav-portfolio > li:after,
.cvt-filter .wd-nav-portfolio > li > a:before,
.cvt-filter .wd-nav-portfolio > li > a:after {
	display: none !important;
}

.cvt-filter .wd-nav-portfolio > li > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid #e3e6ea;
	border-radius: 999px;
	background: #fff;
	color: #55606b !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	line-height: 1;
	transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cvt-filter .wd-nav-portfolio > li > a .wd-filter-icon,
.cvt-filter .wd-nav-portfolio > li > a .wd-filter-icon svg {
	display: inline-flex;
	width: 16px;
	height: 16px;
}

.cvt-filter .wd-nav-portfolio > li > a:hover {
	border-color: var(--wd-primary-color, rgb(32, 172, 179));
	color: var(--wd-primary-color, rgb(32, 172, 179)) !important;
}

.cvt-filter .wd-nav-portfolio > li.wd-active > a {
	background: var(--wd-primary-color, rgb(32, 172, 179));
	color: #fff !important;
	border-color: transparent;
	box-shadow: 0 6px 16px rgba(32, 172, 179, .28);
}

@media (max-width: 767px) {
	.cvt-filter .wd-nav-portfolio.wd-nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 6px;
	}
	.cvt-filter .wd-nav-portfolio > li > a { white-space: nowrap; }
}

/* ==========================================================================
   Plantilla — Forzar info siempre visible (independiente de hover/text-shown)
   Necesario en archivos/páginas donde el estilo del widget es "hover".
   ========================================================================== */
.wd-project--cvt .portfolio-info,
.wd-project--cvt .wrap-meta,
.wd-project--cvt .proj-cats-list,
.wd-project--cvt .proj-cats-list li,
.wd-project--cvt .wrap-title,
.wd-project--cvt .wd-entities-title,
.wd-project--cvt .wd-entities-title a,
.wd-project--cvt .wd-project__subtitle,
.wd-project--cvt .wd-project__link {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

/* En estilo hover/inverse la info va absoluta sobre la imagen: forzarla estática debajo */
.wd-project--cvt.portfolio-hover .entry-header,
.wd-project--cvt.portfolio-hover-inverse .entry-header {
	background-color: #fff;
}
.wd-project--cvt.portfolio-hover .portfolio-info,
.wd-project--cvt.portfolio-hover-inverse .portfolio-info {
	position: static !important;
	inset: auto !important;
}

/* ==========================================================================
   Plantilla — Tarjetas del grid con MISMA ALTURA (todo alineado)
   ========================================================================== */
.wd-project--cvt .portfolio-info {
	min-height: 172px;               /* reserva de altura uniforme del contenido */
	justify-content: flex-start;
}
/* categoría en una sola línea para no descuadrar */
.wd-project--cvt .proj-cats-list {
	flex-wrap: nowrap;
	overflow: hidden;
	max-width: 100%;
}
.wd-project--cvt .proj-cats-list li { white-space: nowrap; }
/* subtítulo reserva 2 líneas aunque tenga una, para alinear el enlace */
.wd-project--cvt .wd-project__subtitle { min-height: calc(2 * 1.4em); }

/* ==========================================================================
   Plantilla — Bento "Proyectos destacados": animación + hover
   ========================================================================== */
.elementor-element-d6716ce,
.elementor-element-5e8e0d0,
.elementor-element-17ce607 {
	transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s ease, filter .45s ease;
	will-change: transform;
	overflow: hidden;
}
.elementor-element-d6716ce:hover,
.elementor-element-5e8e0d0:hover,
.elementor-element-17ce607:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(0, 0, 0, .32);
	filter: saturate(1.06);
}
/* la flecha del botón "VER PROYECTO" se desplaza al hover de la tarjeta */
.elementor-element-d6716ce:hover .elementor-button span,
.elementor-element-5e8e0d0:hover .elementor-button span,
.elementor-element-17ce607:hover .elementor-button span {
	letter-spacing: .04em;
}

/* ===== Plantilla — Ícono por categoría en el bento destacado ===== */
.elementor-element-f4fb6c6 .elementor-button-text{display:inline-flex;align-items:center;gap:7px;}
.elementor-element-f4fb6c6 .elementor-button-text::before{content:'';width:16px;height:16px;flex:0 0 16px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h18%27%2F%3E%3Cpath%20d%3D%27M6%2021V7l6-4%206%204v14%27%2F%3E%3Cpath%20d%3D%27M10%209h.01M14%209h.01M10%2013h.01M14%2013h.01M10%2017h.01M14%2017h.01%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.elementor-element-4af99f3 .elementor-button-text{display:inline-flex;align-items:center;gap:7px;}
.elementor-element-4af99f3 .elementor-button-text::before{content:'';width:16px;height:16px;flex:0 0 16px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h18%27%2F%3E%3Cpath%20d%3D%27M5%2021V9M10%2021V9M14%2021V9M19%2021V9%27%2F%3E%3Cpath%20d%3D%27M4%209h16%27%2F%3E%3Cpath%20d%3D%27M12%203%204%207v2h16V7z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}
.elementor-element-9d69d69 .elementor-button-text{display:inline-flex;align-items:center;gap:7px;}
.elementor-element-9d69d69 .elementor-button-text::before{content:'';width:16px;height:16px;flex:0 0 16px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23ffffff%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%27%2F%3E%3Cpath%20d%3D%27M14%202v6h6%27%2F%3E%3Cpath%20d%3D%27M8%2013h8M8%2017h8M8%209h2%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;}

/* ==========================================================================
   Plantilla — Blog hub "Visión Técnica" (Fase 4)
   ========================================================================== */
.cvt-hub { font-family: 'Montserrat', 'Kumbh Sans', sans-serif; color: #1a1a1a; }
.cvt-hub *, .cvt-hub *::before, .cvt-hub *::after { box-sizing: border-box; }

/* --- Barra de categorías --- */
.gh-catbar { text-align: center; margin: 0 0 40px; }
.gh-catbar__title {
	font-size: 15px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: #2a3340; margin: 0 0 20px;
}
.gh-catbar__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 4px;
}
.gh-catbar__list > li { margin: 0; }
.gh-catbar__list > li + li { border-left: 1px solid #e3e6ea; }
.gh-catbar__list a {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px;
	color: #4a5563; font-size: 13px; font-weight: 600; transition: color .2s ease;
}
.gh-catbar__list a:hover { color: var(--wd-primary-color, rgb(32,172,179)); }
.gh-catbar__icon { display: inline-flex; color: var(--wd-primary-color, rgb(32,172,179)); }
.gh-catbar__icon svg { width: 18px; height: 18px; display: block; }

/* --- Encabezado de sección --- */
.gh-section { margin: 0 0 48px; }
.gh-section__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 22px; }
.gh-section__title {
	position: relative; margin: 0; font-size: 22px; font-weight: 700; color: #1a2230;
	display: inline-flex; align-items: center; gap: 14px;
}
.gh-section__title::after { content: ''; width: 40px; height: 2px; background: var(--wd-primary-color, rgb(32,172,179)); }
.gh-section__all {
	font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--wd-primary-color, rgb(32,172,179)); white-space: nowrap;
}
.gh-section__all:hover { color: var(--wd-primary-color, rgb(32,172,179)); text-decoration: underline; }

/* --- Investigaciones: destacada + grid --- */
.gh-research { display: grid; grid-template-columns: 380px 1fr; gap: 24px; align-items: stretch; }
.gh-research__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* --- Tarjeta regular --- */
.gh-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid #ececec;
	border-radius: 12px; overflow: hidden; height: 100%;
	box-shadow: 0 2px 6px rgba(16,24,40,.05); transition: box-shadow .3s ease, transform .3s ease;
}
.gh-card:hover { box-shadow: 0 14px 30px rgba(16,24,40,.12); transform: translateY(-4px); }
.gh-card__thumb { display: block; overflow: hidden; }
.gh-card__thumb img { display: block; width: 100%; height: 170px; object-fit: cover; transition: transform .6s ease; }
.gh-card:hover .gh-card__thumb img { transform: scale(1.05); }
.gh-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1 1 auto; }
.gh-card__label {
	font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--wd-primary-color, rgb(32,172,179));
}
.gh-card__title { margin: 0; font-size: 16px; line-height: 1.32; font-weight: 700; }
.gh-card__title a {
	color: #1a2230 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
	overflow: hidden; transition: color .2s ease;
}
.gh-card:hover .gh-card__title a { color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.gh-card__excerpt {
	margin: 0; font-size: 13px; line-height: 1.5; color: #6b7280;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gh-card__meta { margin-top: auto; padding-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gh-card__more { font-size: 12px; font-weight: 700; color: var(--wd-primary-color, rgb(32,172,179)); white-space: nowrap; }
.gh-card__more:hover { color: var(--wd-primary-color, rgb(32,172,179)); }
.gh-card__date { font-size: 12px; color: #8a929c; }
.gh-card__time { font-size: 12px; color: #8a929c; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; }
.gh-card__time::before {
	content: ''; width: 13px; height: 13px; flex: 0 0 13px; background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%238a929c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* --- Tarjeta destacada (dark) --- */
.gh-featured {
	display: flex; flex-direction: column; height: 100%; background: #0f141b; color: #fff;
	border-radius: 14px; overflow: hidden; box-shadow: 0 10px 30px rgba(16,24,40,.18);
	transition: transform .35s ease, box-shadow .35s ease;
}
.gh-featured:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(16,24,40,.28); }
.gh-featured__thumb { position: relative; display: block; overflow: hidden; }
.gh-featured__thumb img { display: block; width: 100%; height: 220px; object-fit: cover; }
.gh-featured__badge {
	position: absolute; top: 16px; left: 16px; background: var(--wd-primary-color, rgb(32,172,179));
	color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 6px;
}
.gh-featured__body { display: flex; flex-direction: column; gap: 12px; padding: 24px; flex: 1 1 auto; }
.gh-featured .gh-card__label { color: #6fd0d8; }
.gh-featured__title { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 700; }
.gh-featured__title a { color: #fff !important; }
.gh-featured__title a:hover { color: #6fd0d8 !important; }
.gh-featured__excerpt { margin: 0; font-size: 14px; line-height: 1.55; color: #b9c2cc; }
.gh-featured .gh-card__meta { margin-top: auto; padding-top: 12px; }
.gh-featured .gh-card__more { color: #6fd0d8; font-size: 13px; }
.gh-featured .gh-card__time { color: #9aa4af; }
.gh-featured .gh-card__time::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%239aa4af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* --- Grid de artículos técnicos --- */
.gh-grid { display: grid; gap: 22px; }
.gh-grid--articles { grid-template-columns: repeat(6, 1fr); }
.gh-grid--articles .gh-card__thumb img { height: 130px; }
.gh-grid--articles .gh-card__title { font-size: 14px; }

/* --- Responsive --- */
@media (max-width: 1200px) {
	.gh-grid--articles { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
	.gh-research { grid-template-columns: 1fr; }
	.gh-research__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
	.gh-research__grid, .gh-grid--articles { grid-template-columns: repeat(2, 1fr); }
	.gh-section__head { flex-direction: column; align-items: flex-start; gap: 8px; }
	.gh-catbar__list { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; }
	.gh-catbar__list > li + li { border-left: 0; }
}
@media (max-width: 480px) {
	.gh-research__grid, .gh-grid--articles { grid-template-columns: 1fr; }
}

/* Hub: contención y ancho */
.cvt-hub { max-width: 1200px; margin: 0 auto; padding: 10px 15px 30px; }

/* Fix: color de la barra de categorías (el tema forzaba enlaces en blanco) */
.cvt-hub .gh-catbar__list a,
.cvt-hub .gh-catbar__name { color: #4a5563 !important; }
.cvt-hub .gh-catbar__list a:hover,
.cvt-hub .gh-catbar__list a:hover .gh-catbar__name { color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.cvt-hub .gh-section__all { color: var(--wd-primary-color, rgb(32,172,179)) !important; }

/* --- Archivo de blog: tarjeta estilo Plantilla --- */
.wd-post.gh-archive-item {
	display: flex; flex-direction: column; background: #fff; border: 1px solid #ececec;
	border-radius: 12px; overflow: hidden; box-shadow: 0 2px 6px rgba(16,24,40,.05);
	transition: box-shadow .3s ease, transform .3s ease; padding: 0;
	font-family: 'Montserrat','Kumbh Sans',sans-serif;
}
.wd-post.gh-archive-item:hover { box-shadow: 0 14px 30px rgba(16,24,40,.12); transform: translateY(-4px); }
.wd-post.gh-archive-item .gh-card__title a { -webkit-line-clamp: 2; color: #1a2230 !important; }
.wd-post.gh-archive-item .gh-card__thumb img { height: 190px; }

/* Fix: color de "Leer más" (el tema forzaba enlaces en blanco) */
.gh-card .gh-card__more,
.gh-archive-item .gh-card__more { color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.gh-featured .gh-card__more { color: #6fd0d8 !important; }
.gh-card__title a { color: #1a2230 !important; }
.gh-featured__title a { color: #fff !important; }

/* ==========================================================================
   Ajuste tarjetas blog (parecer más a la referencia): imagen más alta,
   más descripción (3 líneas) y altura natural sin estirarse (sin hueco).
   ========================================================================== */
.gh-card__thumb img { height: 200px; }
.gh-grid--articles .gh-card__thumb img { height: 160px; }
.gh-featured__thumb img { height: 250px; }
.gh-card__excerpt { -webkit-line-clamp: 3; line-clamp: 3; }
/* Que las tarjetas tomen su altura natural (no se estiran a la destacada) */
.gh-research, .gh-research__grid, .gh-grid--articles { align-items: start; }
.gh-research__grid .gh-card, .gh-grid--articles .gh-card { height: auto; }
/* El meta va justo después del texto, con una separación pequeña */
.gh-card .gh-card__meta { margin-top: 6px; }

/* ==========================================================================
   Plantilla — Página de post individual (blog)
   ========================================================================== */
/* 1) Imagen destacada ANTES del título */
.single-post .wd-single-post-header { display: flex; flex-direction: column; }
.single-post .wd-single-post-header .wd-post-image { order: -1; margin: 0 0 26px; border-radius: 14px; overflow: hidden; }
.single-post .wd-single-post-header .wd-post-image img { display: block; width: 100%; border-radius: 14px; }

/* 2) Sidebar moderno */
.single-post .wd-sidebar { font-family: 'Montserrat','Kumbh Sans',sans-serif; }
.single-post .wd-sidebar .widget {
	background: #fff; border: 1px solid #eef0f2; border-radius: 14px;
	padding: 22px 22px 24px; margin-bottom: 22px; box-shadow: 0 2px 12px rgba(16,24,40,.05);
}
.single-post .wd-sidebar .widget .widget-title {
	margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: #1a2230; padding-bottom: 12px; border-bottom: 1px solid #eef0f2; position: relative;
}
.single-post .wd-sidebar .widget .widget-title::after {
	content: ''; position: absolute; left: 0; bottom: -1px; width: 38px; height: 2px;
	background: var(--wd-primary-color, rgb(32,172,179));
}
/* Fix enlaces blancos del tema */
.single-post .wd-sidebar a { color: #4a5563 !important; }
.single-post .wd-sidebar a:hover { color: var(--wd-primary-color, rgb(32,172,179)) !important; }

/* Buscador */
.single-post .wd-sidebar .searchform { position: relative; }
.single-post .wd-sidebar .searchform input.s,
.single-post .wd-sidebar .searchform input[type="text"] {
	width: 100%; border: 1px solid #e3e6ea; border-radius: 10px; padding: 12px 46px 12px 14px;
	font-size: 14px; background: #f8fafb; color: #1a2230;
}
.single-post .wd-sidebar .searchform button,
.single-post .wd-sidebar .searchform .searchsubmit,
.single-post .wd-sidebar .searchform [type="submit"] {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	background: transparent; border: 0; color: var(--wd-primary-color, rgb(32,172,179));
}

/* Categorías (filtros) */
.single-post .wd-sidebar .widget_categories ul { list-style: none; margin: 0; padding: 0; }
.single-post .wd-sidebar .widget_categories li { margin: 0; padding: 0; }
.single-post .wd-sidebar .widget_categories li + li { border-top: 1px solid #f1f3f5; }
.single-post .wd-sidebar .widget_categories li a {
	display: block; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600;
	transition: background .2s ease, color .2s ease;
}
.single-post .wd-sidebar .widget_categories li a:hover {
	background: rgba(32,172,179,.09); color: var(--wd-primary-color, rgb(32,172,179)) !important;
}

/* Publicaciones recientes */
.single-post .wd-sidebar .woodmart-recent-posts-list { list-style: none; margin: 0; padding: 0; }
.single-post .wd-sidebar .woodmart-recent-posts-list li { display: flex; gap: 12px; padding: 13px 0; border-top: 1px solid #f1f3f5; }
.single-post .wd-sidebar .woodmart-recent-posts-list li:first-child { border-top: 0; padding-top: 0; }
.single-post .wd-sidebar .recent-posts-thumbnail { flex: 0 0 64px; display: block; }
.single-post .wd-sidebar .recent-posts-thumbnail img { width: 64px; height: 56px; object-fit: cover; border-radius: 8px; display: block; }
.single-post .wd-sidebar .recent-posts-info .wd-entities-title a {
	font-size: 13px; font-weight: 600; line-height: 1.35; color: #1a2230 !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.single-post .wd-sidebar .recent-posts-info .wd-post-date, .single-post .wd-sidebar .recent-posts-info time { font-size: 11px; color: #8a929c; }

/* Ocultar widget "Recent Posts" duplicado (en inglés) */
#woodmart-recent-posts-19 { display: none !important; }

/* 3) Artículos relacionados (tarjetas modernas) */
.gh-related { max-width: none; margin: 44px 0 10px; padding: 0; }
.gh-related__grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 991px) { .gh-related__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .gh-related__grid { grid-template-columns: 1fr; } }

/* Imagen destacada del post: alto máximo equilibrado */
.single-post .wd-single-post-header .wd-post-image img { max-height: 460px; object-fit: cover; }

/* ==========================================================================
   FIX Investigaciones: las 3 tarjetas llenan la altura de la destacada y la
   IMAGEN crece para ocupar el espacio (sin hueco en blanco).
   ========================================================================== */
.gh-research { align-items: stretch !important; }
.gh-research__grid { align-items: stretch !important; }
.gh-research__grid .gh-card { height: 100%; }
.gh-research__grid .gh-card__thumb { flex: 1 1 auto; min-height: 190px; overflow: hidden; display: block; }
.gh-research__grid .gh-card__thumb img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.gh-research__grid .gh-card__body { flex: 0 0 auto; }

/* ==========================================================================
   Post individual: título a la izquierda + imagen cover grande + tiempo lectura
   ========================================================================== */
.single-post .wd-single-post-header .wd-post-cat,
.single-post .wd-single-post-header .wd-entities-title,
.single-post .wd-single-post-header .wd-post-meta { text-align: left !important; }
.single-post .wd-single-post-header .wd-post-meta { justify-content: flex-start !important; }

/* Imagen del post: cover grande */
.single-post .wd-single-post-header .wd-post-image { border-radius: 14px; overflow: hidden; }
.single-post .wd-single-post-header .wd-post-image img {
	width: 100%; height: 520px; max-height: none; object-fit: cover; border-radius: 14px;
}

/* Badge de tiempo de lectura */
.single-post .gh-single-readtime {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 26px;
	padding: 9px 18px; border-radius: 999px; background: rgba(32,172,179,.10);
	color: var(--wd-primary-color, rgb(32,172,179)); font-family: 'Montserrat','Kumbh Sans',sans-serif;
	font-size: 13px; font-weight: 700; letter-spacing: .03em;
}
.single-post .gh-single-readtime__icon {
	width: 16px; height: 16px; flex: 0 0 16px; background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2320acb3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Plantilla — Cabecera de archivo de blog (categoría) con buen diseño
   ========================================================================== */
.gh-archive-header { max-width: 1200px; margin: 6px auto 34px; padding: 0 15px; }
.gh-archive-head { text-align: center; margin: 0 0 26px; }
.gh-archive-eyebrow {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--wd-primary-color, rgb(32,172,179)); margin-bottom: 10px;
}
.gh-archive-title { margin: 0 0 12px; font-size: 34px; font-weight: 700; color: #1a2230; line-height: 1.15; }
.gh-archive-desc { max-width: 640px; margin: 0 auto; color: #6b7280; font-size: 15px; line-height: 1.6; }

/* Estado activo en la barra de categorías (archivo) */
.cvt-hub .gh-catbar__list li.is-active a,
.cvt-hub .gh-catbar__list li.is-active .gh-catbar__name { color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.cvt-hub .gh-catbar__list li.is-active .gh-catbar__name { font-weight: 700; }
.cvt-hub .gh-catbar__list li.is-active a { position: relative; }
.cvt-hub .gh-catbar__list li.is-active a::after {
	content: ''; position: absolute; left: 18px; right: 18px; bottom: -6px; height: 2px;
	background: var(--wd-primary-color, rgb(32,172,179)); border-radius: 2px;
}

/* Grid del archivo de blog con buen espaciado */
.archive .wd-posts.wd-blog-holder, .blog .wd-posts.wd-blog-holder { gap: 26px; }

/* ==========================================================================
   FASE 7 — Ajustes finales blog
   ========================================================================== */
/* 1) Artículos Técnicos: las tarjetas se estiran para llenar el ancho */
.gh-grid--articles { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
@media (max-width: 1200px) { .gh-grid--articles { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); } }

/* 2) Post: HERO full-width (imagen destacada arriba, a todo el ancho del grid) */
.single-post .wd-content-layout > .gh-post-hero {
	grid-column: 1 / -1;
	margin: 0 0 34px;
	border-radius: 16px;
	overflow: hidden;
	line-height: 0;
}
.single-post .gh-post-hero__img {
	display: block;
	width: 100%;
	height: 460px;
	object-fit: cover;
	border-radius: 16px;
}
@media (max-width: 767px) {
	.single-post .gh-post-hero__img { height: 300px; }
}
/* Ocultar la imagen duplicada dentro de la cabecera (el hero la reemplaza) */
.single-post .wd-single-post-header .wd-post-image { display: none !important; }

/* 3) Cabecera del post alineada a la izquierda (categoría, título, autor) */
.single-post .wd-single-post-header { align-items: flex-start !important; }
.single-post .wd-single-post-header .wd-post-cat,
.single-post .wd-single-post-header .wd-entities-title,
.single-post .wd-single-post-header .wd-post-meta { text-align: left !important; }
.single-post .wd-single-post-header .wd-post-meta {
	justify-content: flex-start !important;
	width: 100%;
}

/* Artículos Técnicos: flex que estira las tarjetas para llenar la fila (sin huecos) */
.gh-grid--articles { display: flex; flex-wrap: wrap; gap: 22px; grid-template-columns: none; }
.gh-grid--articles > .gh-card { flex: 1 1 200px; max-width: 340px; height: auto; }
@media (max-width: 600px) { .gh-grid--articles > .gh-card { max-width: none; flex-basis: 100%; } }

/* ==========================================================================
   Plantilla — Proyecto individual: hero + título + barra lateral
   ========================================================================== */
.gh-project-page { font-family: 'Montserrat','Kumbh Sans',sans-serif; }
.gh-project-page .gh-post-hero { margin: 0 0 34px; border-radius: 16px; overflow: hidden; line-height: 0; }
.gh-project-page .gh-post-hero__img { width: 100%; height: 460px; object-fit: cover; display: block; border-radius: 16px; }
@media (max-width: 767px) { .gh-project-page .gh-post-hero__img { height: 280px; } }

/* Grid de 2 columnas */
.gh-project-grid { display: grid; grid-template-columns: 1fr 330px; gap: 42px; align-items: start; }
@media (max-width: 991px) { .gh-project-grid { grid-template-columns: 1fr; gap: 30px; } }

.gh-project-cats { margin: 0 0 14px; }
.gh-project-title { font-size: 30px; line-height: 1.2; font-weight: 700; color: #1a2230; margin: 0 0 22px; text-align: left; }
.gh-project-main .wd-single-project { font-size: 15px; line-height: 1.75; color: #3a4250; }

/* Barra lateral (widgets estilo post) */
.gh-project-sidebar .gh-swidget {
	background: #fff; border: 1px solid #eef0f2; border-radius: 14px; padding: 22px;
	margin-bottom: 22px; box-shadow: 0 2px 12px rgba(16,24,40,.05);
}
.gh-project-sidebar .gh-swidget__title {
	margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: #1a2230; padding-bottom: 12px; border-bottom: 1px solid #eef0f2; position: relative;
}
.gh-project-sidebar .gh-swidget__title::after {
	content: ''; position: absolute; left: 0; bottom: -1px; width: 38px; height: 2px;
	background: var(--wd-primary-color, rgb(32,172,179));
}
/* Categorías */
.gh-swidget__cats { list-style: none; margin: 0; padding: 0; }
.gh-swidget__cats li + li { border-top: 1px solid #f1f3f5; }
.gh-swidget__cats a {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 600;
	color: #4a5563 !important; transition: background .2s ease, color .2s ease;
}
.gh-swidget__cats a:hover { background: rgba(32,172,179,.09); color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.gh-swidget__cats em { font-style: normal; font-size: 12px; color: #9aa4af; background: #f3f5f7; border-radius: 20px; padding: 2px 9px; }
/* Otros proyectos */
.gh-swidget__posts { list-style: none; margin: 0; padding: 0; }
.gh-swidget__posts li { display: flex; gap: 12px; padding: 13px 0; border-top: 1px solid #f1f3f5; align-items: center; }
.gh-swidget__posts li:first-child { border-top: 0; padding-top: 0; }
.gh-swidget__thumb { flex: 0 0 64px; display: block; }
.gh-swidget__thumb img { width: 64px; height: 56px; object-fit: cover; border-radius: 8px; display: block; }
.gh-swidget__ptitle {
	font-size: 13px; font-weight: 600; line-height: 1.35; color: #1a2230 !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gh-swidget__ptitle:hover { color: var(--wd-primary-color, rgb(32,172,179)) !important; }
/* CTA */
.gh-swidget--cta { background: #0f141b; color: #fff; border-color: transparent; }
.gh-swidget__cta-title { margin: 0 0 8px; font-size: 17px; font-weight: 700; color: #fff; }
.gh-swidget--cta p { margin: 0 0 16px; font-size: 13px; line-height: 1.5; color: #b9c2cc; }
.gh-swidget__cta-btn {
	display: inline-flex; align-items: center; justify-content: center; width: 100%;
	padding: 12px 18px; border-radius: 10px; background: var(--wd-primary-color, rgb(32,172,179));
	color: #fff !important; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	transition: filter .2s ease;
}
.gh-swidget__cta-btn:hover { filter: brightness(1.08); color: #fff !important; }

/* ==========================================================================
   Plantilla — Hero con TEXTO sobre la imagen (post y proyecto)
   ========================================================================== */
.gh-hero { position: relative; border-radius: 18px; overflow: hidden; margin: 0 0 36px; }
.single-post .wd-content-layout > .gh-hero { grid-column: 1 / -1; }
.gh-hero__img { display: block; width: 100%; height: 540px; object-fit: cover; }
.gh-hero__scrim { position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(to top, rgba(0,0,0,.86) 0%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.08) 74%); }
.gh-hero__overlay { position: absolute; left: 0; bottom: 0; z-index: 2; padding: 50px; max-width: 900px; }
.gh-hero__eyebrow {
	display: block; color: #fff; font-family: 'Montserrat','Kumbh Sans',sans-serif;
	font-size: 16px; font-weight: 600; margin-bottom: 8px; opacity: .95;
}
.gh-hero__title {
	color: #fff !important; font-family: 'Montserrat','Kumbh Sans',sans-serif;
	font-size: clamp(30px, 4.2vw, 52px); line-height: 1.07; font-weight: 700; margin: 0 0 16px;
}
.gh-hero__title a { color: #fff !important; }
.gh-hero__meta { color: rgba(255,255,255,.9); font-family: 'Montserrat','Kumbh Sans',sans-serif; font-size: 14px; }
.gh-hero__meta strong { color: #fff; font-weight: 700; }
.gh-hero__nav { position: absolute; right: 40px; bottom: 40px; z-index: 3; display: flex; gap: 12px; }
.gh-hero__arrow {
	width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.18); color: #fff !important; border: 1px solid rgba(255,255,255,.35);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: background .2s ease;
}
.gh-hero__arrow:hover { background: rgba(255,255,255,.4); color: #fff !important; }
@media (max-width: 767px) {
	.gh-hero__img { height: 420px; }
	.gh-hero__overlay { padding: 26px; max-width: 100%; }
	.gh-hero__nav { right: 18px; bottom: 18px; }
	.gh-hero__arrow { width: 42px; height: 42px; }
}

/* Post: el título/categoría/meta ahora van en el hero → ocultar la cabecera vieja */
.single-post .wd-single-post-header { display: none !important; }

/* ==========================================================================
   Hero: título más pequeño + migas reubicadas (ocultar barra gris superior)
   ========================================================================== */
.gh-hero__title { font-size: clamp(23px, 2.7vw, 38px); }

/* Ocultar la barra gris de título/migas de pan arriba (post y proyecto) */
.single-post .wd-page-title,
.single-portfolio .wd-page-title { display: none !important; }

/* Migas de pan reubicadas debajo del hero */
.gh-breadcrumbs-wrap { margin: -8px 0 24px; }
.single-post .wd-content-layout > .gh-breadcrumbs-wrap { grid-column: 1 / -1; }
.gh-breadcrumbs-wrap .wd-breadcrumbs { font-size: 13px; color: #9aa4af; padding: 0; }
.gh-breadcrumbs-wrap .wd-breadcrumbs a { color: #6b7280 !important; }
.gh-breadcrumbs-wrap .wd-breadcrumbs a:hover { color: var(--wd-primary-color, rgb(32,172,179)) !important; }

/* ==========================================================================
   Hero v2: migas + tiempo de lectura DENTRO del hero + animación ken-burns
   ========================================================================== */
.gh-hero { height: 540px; }
.gh-hero__media { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.gh-hero__media .gh-hero__img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	animation: ghKenBurns 22s ease-in-out infinite alternate; will-change: transform;
}
@keyframes ghKenBurns { from { transform: scale(1.02); } to { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .gh-hero__media .gh-hero__img { animation: none; } }
@media (max-width: 767px) { .gh-hero { height: 430px; } }

/* Entrada suave del texto del hero */
.gh-hero__overlay { animation: ghHeroUp .8s .12s ease both; }
@keyframes ghHeroUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Migas de pan DENTRO del hero (arriba) */
.gh-hero__crumbs { position: absolute; top: 24px; left: 50px; right: 90px; z-index: 3; }
.gh-hero__crumbs .wd-breadcrumbs { padding: 0; font-size: 13px; margin: 0; }
.gh-hero__crumbs .wd-breadcrumbs,
.gh-hero__crumbs .wd-breadcrumbs * { color: rgba(255,255,255,.92) !important; }
.gh-hero__crumbs .wd-breadcrumbs a:hover { color: #fff !important; text-decoration: underline; }
@media (max-width: 767px) { .gh-hero__crumbs { left: 26px; right: 26px; top: 18px; } }

/* Tiempo de lectura en el meta del hero */
.gh-hero__rt { display: inline-flex; align-items: center; gap: 5px; }
.gh-hero__rt::before {
	content: ''; width: 14px; height: 14px; flex: 0 0 14px; background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* Migas dentro del overlay del hero (flujo normal, sobre el título) */
.gh-hero__overlay .gh-hero__crumbs { position: static; top: auto; left: auto; right: auto; margin: 0 0 14px; }
@media (max-width: 767px) { .gh-hero__overlay .gh-hero__crumbs { left: auto; right: auto; top: auto; } }

/* Fix ken-burns: animar el CONTENEDOR (no el <img>) para evitar el bug de pintado */
.gh-hero__media {
	animation: ghKenBurns 24s ease-in-out infinite alternate;
	will-change: transform; transform-origin: center;
}
.gh-hero__media .gh-hero__img {
	animation: none !important; will-change: auto; transform: none;
	width: 100%; height: 100%; object-fit: cover; display: block;
}
@media (prefers-reduced-motion: reduce) { .gh-hero__media { animation: none; } }

/* Hero media como background-image (ken-burns confiable, sin bug de <img>) */
.gh-hero__media {
	position: absolute; inset: 0; z-index: 0;
	background-size: cover; background-position: center; background-repeat: no-repeat;
	transform-origin: center;
	animation: ghKenBurns 24s ease-in-out infinite alternate;
}
.gh-hero__media .gh-hero__img { display: none; }
@media (prefers-reduced-motion: reduce) { .gh-hero__media { animation: none; } }

/* ===== Ajustes hero v3: título más pequeño + separación + nueva animación (paneo) ===== */
.gh-hero__title { font-size: clamp(21px, 2.2vw, 32px); }

/* Separación entre el encabezado del sitio y el hero */
.gh-hero { margin-top: 38px; }
@media (max-width: 767px) { .gh-hero { margin-top: 22px; } }

/* Animación: paneo diagonal cinematográfico (reemplaza el zoom ken-burns) */
.gh-hero__media { animation: ghHeroPan 30s ease-in-out infinite alternate; }
@keyframes ghHeroPan {
	from { transform: scale(1.14) translate(-1.8%, -1.1%); }
	to   { transform: scale(1.14) translate(1.8%, 1.2%); }
}
@media (prefers-reduced-motion: reduce) { .gh-hero__media { animation: none; } }

/* ===== FIX: header es overlay absoluto → dar espacio arriba para despegar el hero ===== */
.single-post .wd-content-layout,
.single-portfolio .wd-content-layout { padding-top: 150px; }
.gh-hero { margin-top: 0; }
@media (max-width: 1024px) {
	.single-post .wd-content-layout,
	.single-portfolio .wd-content-layout { padding-top: 115px; }
}
@media (max-width: 767px) {
	.single-post .wd-content-layout,
	.single-portfolio .wd-content-layout { padding-top: 135px; }
}

/* Reducir altura del hero (mejor en portátiles) */
.gh-hero { height: 430px; }
@media (max-width: 1024px) { .gh-hero { height: 380px; } }
@media (max-width: 767px) { .gh-hero { height: 300px; } }

/* ==========================================================================
   Plantilla — Sección de servicios moderna (paneles expandibles al hover)
   ========================================================================== */
.cvt-svc { max-width: 1240px; margin: 0 auto; padding: 20px 15px 10px; font-family: 'Montserrat','Kumbh Sans',sans-serif; }
.cvt-svc__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 26px; }
.cvt-svc__title { margin: 0; font-size: 30px; font-weight: 800; color: #1a2230; line-height: 1.1; }
.cvt-svc__all {
	display: inline-flex; align-items: center; gap: 8px; background: var(--wd-primary-color, rgb(32,172,179));
	color: #fff !important; padding: 11px 20px; border-radius: 10px; font-size: 13px; font-weight: 700;
	letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; transition: filter .2s ease;
}
.cvt-svc__all:hover { filter: brightness(1.08); color: #fff !important; }

.cvt-svc__row { display: flex; gap: 16px; height: 460px; }
.gsvc-panel {
	position: relative; flex: 1 1 0%; min-width: 0; border-radius: 20px; overflow: hidden;
	background-size: cover; background-position: center; text-decoration: none;
	display: flex; align-items: flex-end;
	transition: flex-grow .6s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
	box-shadow: 0 6px 20px rgba(6,12,20,.12);
}
.cvt-svc__row:hover .gsvc-panel { flex-grow: .62; }
.gsvc-panel:hover { flex-grow: 2.6; box-shadow: 0 18px 44px rgba(6,12,20,.3); }
.gsvc-panel__scrim {
	position: absolute; inset: 0; z-index: 1; transition: background .45s ease;
	background: linear-gradient(to top, rgba(6,12,20,.9) 0%, rgba(6,12,20,.42) 48%, rgba(6,12,20,.08) 82%);
}
.gsvc-panel:hover .gsvc-panel__scrim {
	background: linear-gradient(to top, rgba(6,12,20,.93) 0%, rgba(6,12,20,.55) 58%, rgba(6,12,20,.16) 100%);
}
.gsvc-panel__accent { display: none; }
.gsvc-panel__body { position: relative; z-index: 2; padding: 30px; color: #fff; width: 100%; }
.gsvc-panel__title {
	display: block; position: relative; font-size: 20px; font-weight: 700; line-height: 1.22; color: #fff;
	padding-bottom: 12px;
}
.gsvc-panel__title::after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 38px; height: 3px; border-radius: 3px;
	background: var(--wd-primary-color, rgb(32,172,179)); transition: width .4s ease;
}
.gsvc-panel:hover .gsvc-panel__title::after { width: 64px; }
.gsvc-panel__text {
	display: block; color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.5; margin: 0;
	max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .55s ease, opacity .4s ease, margin .4s ease;
}
.gsvc-panel:hover .gsvc-panel__text { max-height: 170px; opacity: 1; margin: 14px 0 16px; }
.gsvc-panel__more {
	display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 12px; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase; max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .55s ease, opacity .4s ease;
}
.gsvc-panel:hover .gsvc-panel__more { max-height: 40px; opacity: 1; }

@media (max-width: 900px) {
	.cvt-svc__head { flex-direction: column; align-items: flex-start; gap: 12px; }
	.cvt-svc__row { flex-direction: column; height: auto; }
	.gsvc-panel { height: 220px; flex: none; }
	.cvt-svc__row:hover .gsvc-panel { flex-grow: 0; }
	.gsvc-panel__text { max-height: 170px; opacity: 1; margin: 14px 0 12px; }
	.gsvc-panel__more { max-height: 40px; opacity: 1; }
}

/* Fix expansión: el panel con hover debe ganar en especificidad */
.cvt-svc__row:hover .gsvc-panel:hover { flex-grow: 2.8; box-shadow: 0 18px 44px rgba(6,12,20,.3); }

/* ==========================================================================
   Plantilla — Servicios v2 (grid, imagen B/N→color + panel que sube al hover)
   ========================================================================== */
.cvt-svc2 { max-width: 1240px; margin: 0 auto; padding: 20px 15px 10px; font-family: 'Montserrat','Kumbh Sans',sans-serif; }
.cvt-svc2__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 26px; }
.cvt-svc2__title { margin: 0; font-size: 30px; font-weight: 800; color: #1a2230; line-height: 1.1; }
.cvt-svc2__all {
	display: inline-flex; align-items: center; gap: 8px; background: var(--wd-primary-color, rgb(32,172,179));
	color: #fff !important; padding: 11px 20px; border-radius: 10px; font-size: 13px; font-weight: 700;
	letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; transition: filter .2s ease;
}
.cvt-svc2__all:hover { filter: brightness(1.08); color: #fff !important; }

.cvt-svc2__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1024px) { .cvt-svc2__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cvt-svc2__grid { grid-template-columns: 1fr; } }

.gsvc2-card {
	position: relative; display: block; height: 430px; border-radius: 20px; overflow: hidden; text-decoration: none;
	box-shadow: 0 6px 20px rgba(6,12,20,.12); transition: transform .4s ease, box-shadow .4s ease;
}
.gsvc2-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(6,12,20,.26); }
.gsvc2-card__img {
	position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center;
	filter: grayscale(85%) contrast(1.02); transition: filter .6s ease, transform .7s ease;
}
.gsvc2-card:hover .gsvc2-card__img { filter: grayscale(0); transform: scale(1.08); }
.gsvc2-card__panel {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 42%;
	background: linear-gradient(to top, rgba(6,14,22,.92) 0%, rgba(6,14,22,.55) 60%, transparent 100%);
	transition: height .55s cubic-bezier(.22,.61,.36,1), background .5s ease;
}
.gsvc2-card:hover .gsvc2-card__panel {
	height: 100%;
	background: linear-gradient(to top, rgba(6,14,22,.95) 0%, rgba(9,32,38,.78) 55%, rgba(9,32,38,.35) 100%);
}
.gsvc2-card__icon {
	position: absolute; top: 20px; right: 20px; z-index: 3; width: 46px; height: 46px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; color: #fff;
	background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.4);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	transition: background .45s ease, border-color .45s ease, transform .45s ease;
}
.gsvc2-card:hover .gsvc2-card__icon { background: var(--wd-primary-color, rgb(32,172,179)); border-color: transparent; transform: scale(1.08); }
.gsvc2-card__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 26px; color: #fff; }
.gsvc2-card__eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #7fe0e6; margin-bottom: 8px; }
.gsvc2-card__title { display: block; font-size: 19px; font-weight: 700; line-height: 1.24; color: #fff; }
.gsvc2-card__desc {
	display: block; color: rgba(255,255,255,.88); font-size: 13.5px; line-height: 1.5; margin: 0;
	max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .55s ease, opacity .4s ease, margin .4s ease;
}
.gsvc2-card:hover .gsvc2-card__desc { max-height: 160px; opacity: 1; margin: 12px 0 14px; }
.gsvc2-card__more {
	display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 12px; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase; max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .55s ease, opacity .4s ease;
}
.gsvc2-card:hover .gsvc2-card__more { max-height: 36px; opacity: 1; }
@media (max-width: 560px) {
	.gsvc2-card__img { filter: grayscale(0); }
	.gsvc2-card__panel { height: 72%; }
	.gsvc2-card__desc, .gsvc2-card__more { max-height: 170px; opacity: 1; margin: 12px 0 0; }
}

/* ==========================================================================
   Plantilla — Proyectos destacados (3 versiones modernas) — base compartida
   ========================================================================== */
.gdst { max-width: 1240px; margin: 0 auto; padding: 20px 15px 10px; font-family: 'Montserrat','Kumbh Sans',sans-serif; }
.gdst__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 24px; }
.gdst__title { margin: 0; font-size: 30px; font-weight: 800; color: #1a2230; line-height: 1.1; }
.gdst__all { display: inline-flex; align-items: center; gap: 8px; color: var(--wd-primary-color, rgb(32,172,179)); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.gdst__all:hover { color: var(--wd-primary-color, rgb(32,172,179)); text-decoration: underline; }
.gdst-chip { position: absolute; top: 0; left: 0; z-index: 3; display: inline-flex; align-items: center; gap: 7px; margin: 18px; padding: 7px 14px; border-radius: 30px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); color: #fff; font-size: 12px; font-weight: 600; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.gdst-chip__i { display: inline-flex; } .gdst-chip__i svg { width: 15px; height: 15px; display: block; }
.gdst-card__more, .gdst2-card .gdst-card__more, .gdst3__feat .gdst-card__more { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

/* ---- V1: BENTO ---- */
.gdst1__grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 235px); gap: 18px; }
.gdst1__grid .gdst-card:nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 3; }
.gdst1__grid .gdst-card:nth-child(2) { grid-column: 2 / 4; grid-row: 1 / 2; }
.gdst1__grid .gdst-card:nth-child(3) { grid-column: 2 / 3; grid-row: 2 / 3; }
.gdst1__grid .gdst-card:nth-child(4) { grid-column: 3 / 4; grid-row: 2 / 3; }
.gdst-card { position: relative; display: flex; align-items: flex-end; border-radius: 18px; overflow: hidden; background-size: cover; background-position: center; text-decoration: none; box-shadow: 0 6px 20px rgba(6,12,20,.14); transition: transform .5s ease, box-shadow .4s ease; }
.gdst-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(6,12,20,.28); }
.gdst-card__scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(6,12,20,.9) 0%, rgba(6,12,20,.35) 52%, rgba(6,12,20,.05) 84%); transition: background .4s ease; }
.gdst-card:hover .gdst-card__scrim { background: linear-gradient(to top, rgba(6,12,20,.93) 0%, rgba(6,12,20,.5) 60%, rgba(6,12,20,.12) 100%); }
.gdst-card__body { position: relative; z-index: 2; padding: 24px; color: #fff; width: 100%; }
.gdst-card__title { display: -webkit-box; font-size: 18px; font-weight: 700; line-height: 1.25; color: #fff; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gdst1__grid .gdst-card:nth-child(1) .gdst-card__title { font-size: 23px; }
.gdst-card .gdst-card__more { max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; transition: max-height .45s ease, opacity .35s ease, margin .35s ease; }
.gdst-card:hover .gdst-card__more { max-height: 34px; opacity: 1; margin-top: 12px; }
@media (max-width: 900px) {
	.gdst1__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.gdst1__grid .gdst-card { grid-column: auto !important; grid-row: auto !important; height: 220px; }
}
@media (max-width: 560px) { .gdst1__grid { grid-template-columns: 1fr; } }

/* ---- V2: POSTERS ---- */
.gdst2__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .gdst2__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .gdst2__grid { grid-template-columns: 1fr; } }
.gdst2-card { position: relative; display: block; height: 440px; border-radius: 20px; overflow: hidden; text-decoration: none; box-shadow: 0 6px 20px rgba(6,12,20,.14); transition: transform .4s ease, box-shadow .4s ease; }
.gdst2-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(6,12,20,.28); }
.gdst2-card__img { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; transition: transform .7s ease; }
.gdst2-card:hover .gdst2-card__img { transform: scale(1.08); }
.gdst2-card__panel { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 44%; background: linear-gradient(to top, rgba(6,14,22,.92), rgba(6,14,22,.5) 60%, transparent); transition: height .55s cubic-bezier(.22,.61,.36,1), background .5s ease; }
.gdst2-card:hover .gdst2-card__panel { height: 100%; background: linear-gradient(to top, rgba(6,14,22,.95), rgba(9,32,38,.76) 55%, rgba(9,32,38,.3)); }
.gdst2-card__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 26px; color: #fff; }
.gdst2-card__title { display: -webkit-box; font-size: 20px; font-weight: 700; line-height: 1.24; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gdst2-card__desc { display: block; color: rgba(255,255,255,.87); font-size: 13.5px; line-height: 1.5; margin: 0; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .55s ease, opacity .4s ease, margin .4s ease; }
.gdst2-card:hover .gdst2-card__desc { max-height: 150px; opacity: 1; margin: 10px 0 14px; }
.gdst2-card .gdst-card__more { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .55s ease, opacity .4s ease; }
.gdst2-card:hover .gdst-card__more { max-height: 34px; opacity: 1; }
@media (max-width: 560px) { .gdst2-card__panel { height: 70%; } .gdst2-card__desc, .gdst2-card .gdst-card__more { max-height: 150px; opacity: 1; margin-top: 10px; } }

/* ---- V3: EDITORIAL (destacada + lista) ---- */
.gdst3__wrap { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; }
@media (max-width: 900px) { .gdst3__wrap { grid-template-columns: 1fr; } }
.gdst3__feat { position: relative; display: flex; align-items: flex-end; min-height: 480px; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center; text-decoration: none; box-shadow: 0 8px 26px rgba(6,12,20,.2); transition: box-shadow .4s ease; }
.gdst3__feat:hover { box-shadow: 0 20px 46px rgba(6,12,20,.32); }
.gdst3__feat-scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(6,12,20,.92), rgba(6,12,20,.4) 55%, rgba(6,12,20,.08)); }
.gdst3__feat-body { position: relative; z-index: 2; padding: 34px; color: #fff; }
.gdst3__feat-title { display: block; font-size: 28px; font-weight: 700; line-height: 1.15; }
.gdst3__feat-desc { display: block; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.55; margin: 12px 0 16px; }
.gdst3__list { display: flex; flex-direction: column; gap: 14px; }
.gdst3__row { display: flex; align-items: center; gap: 16px; padding: 14px; border-radius: 16px; background: #fff; border: 1px solid #eef0f2; box-shadow: 0 2px 10px rgba(16,24,40,.05); text-decoration: none; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; flex: 1 1 0; }
.gdst3__row:hover { transform: translateX(4px); box-shadow: 0 12px 26px rgba(16,24,40,.12); border-color: var(--wd-primary-color, rgb(32,172,179)); }
.gdst3__row-thumb { flex: 0 0 86px; height: 66px; border-radius: 12px; background-size: cover; background-position: center; }
.gdst3__row-info { flex: 1 1 auto; min-width: 0; }
.gdst3__row-cat { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wd-primary-color, rgb(32,172,179)); margin-bottom: 3px; }
.gdst3__row-title { display: -webkit-box; font-size: 14px; font-weight: 600; color: #1a2230; line-height: 1.3; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gdst3__row-arrow { flex: 0 0 auto; color: #c2c9d1; font-size: 18px; transition: color .3s ease, transform .3s ease; }
.gdst3__row:hover .gdst3__row-arrow { color: var(--wd-primary-color, rgb(32,172,179)); transform: translateX(3px); }

/* =========================================================================
 * Plantilla — NATIVO ELEMENTOR: Servicios (acordeón expandible)
 * Sección editable con widgets nativos; la animación viaja con la clase
 * .elementor-element-gsvcnat (id interno de la sección) — no requiere clase manual.
 * ====================================================================== */
/* fila = flex (cubre DOM optimizado .elementor-container y legacy .elementor-row) */
.elementor-element-gsvcnat > .elementor-container,
.elementor-element-gsvcnat > .elementor-container > .elementor-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 16px;
	height: 460px;
	align-items: stretch;
}
.elementor-element-gsvcnat .elementor-column {
	width: auto !important;
	flex: 1 1 0 !important;
	min-width: 0;
	transition: flex-grow .55s cubic-bezier(.2,.7,.2,1);
}
.elementor-element-gsvcnat:hover .elementor-column { flex-grow: .6; }
.elementor-element-gsvcnat .elementor-column:hover { flex-grow: 2.6; }
/* panel = wrapper poblado con la imagen de fondo */
.elementor-element-gsvcnat .elementor-widget-wrap.elementor-element-populated {
	position: relative;
	height: 100%;
	border-radius: 18px;
	overflow: hidden;
	padding: 30px !important;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	align-content: flex-start;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: 0 10px 26px rgba(6,12,20,.16);
	transition: box-shadow .5s;
}
.elementor-element-gsvcnat .elementor-column:hover .elementor-widget-wrap.elementor-element-populated {
	box-shadow: 0 18px 44px rgba(6,12,20,.3);
}
.elementor-element-gsvcnat .elementor-widget-wrap.elementor-element-populated::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(8,15,25,.12) 0%, rgba(8,15,25,.52) 55%, rgba(6,12,20,.86) 100%);
	transition: background .5s;
}
.elementor-element-gsvcnat .elementor-column:hover .elementor-widget-wrap.elementor-element-populated::before {
	background: linear-gradient(180deg, rgba(8,15,25,.28) 0%, rgba(8,15,25,.68) 50%, rgba(4,9,16,.92) 100%);
}
/* los widgets van sobre el scrim, alineados a la izquierda-abajo */
.elementor-element-gsvcnat .elementor-widget {
	position: relative; z-index: 2; width: 100%; margin: 0;
}
.elementor-element-gsvcnat .elementor-widget-heading .elementor-heading-title {
	color: #fff !important; font-size: 21px; font-weight: 800; line-height: 1.2; margin: 0;
	position: relative; padding-bottom: 12px;
}
.elementor-element-gsvcnat .elementor-widget-heading .elementor-heading-title::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 3px;
	background: var(--wd-primary-color, rgb(32,172,179)); border-radius: 3px; transition: width .5s;
}
.elementor-element-gsvcnat .elementor-column:hover .elementor-widget-heading .elementor-heading-title::after { width: 64px; }
/* texto: oculto hasta hover */
.elementor-element-gsvcnat .elementor-widget-text-editor {
	max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .5s ease, opacity .45s ease, margin .5s ease;
}
.elementor-element-gsvcnat .elementor-column:hover .elementor-widget-text-editor {
	max-height: 200px; opacity: 1; margin-top: 12px;
}
.elementor-element-gsvcnat .elementor-widget-text-editor,
.elementor-element-gsvcnat .elementor-widget-text-editor * {
	color: rgba(255,255,255,.9) !important; font-size: 14px; line-height: 1.6;
}
/* botón: oculto hasta hover */
.elementor-element-gsvcnat .elementor-widget-button {
	max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .5s ease, opacity .45s ease, margin .5s ease;
}
.elementor-element-gsvcnat .elementor-column:hover .elementor-widget-button {
	max-height: 60px; opacity: 1; margin-top: 14px;
}
.elementor-element-gsvcnat .elementor-widget-button .elementor-button {
	background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.5);
	color: #fff !important; border-radius: 999px; padding: 9px 18px; font-weight: 700;
	font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
}
.elementor-element-gsvcnat .elementor-widget-button .elementor-button:hover {
	background: var(--wd-primary-color, rgb(32,172,179)); border-color: transparent;
}
@media (max-width: 1024px) {
	.elementor-element-gsvcnat > .elementor-container,
	.elementor-element-gsvcnat > .elementor-container > .elementor-row {
		flex-direction: column !important; height: auto;
	}
	.elementor-element-gsvcnat .elementor-column { flex: none !important; width: 100% !important; }
	.elementor-element-gsvcnat:hover .elementor-column,
	.elementor-element-gsvcnat .elementor-column:hover { flex-grow: 0; }
	.elementor-element-gsvcnat .elementor-widget-wrap.elementor-element-populated { height: 240px; }
	.elementor-element-gsvcnat .elementor-widget-text-editor { max-height: 200px; opacity: 1; margin-top: 12px; }
	.elementor-element-gsvcnat .elementor-widget-button { max-height: 60px; opacity: 1; margin-top: 12px; }
}

/* =========================================================================
 * Plantilla — NATIVO ELEMENTOR: Proyectos destacados (3 versiones editables)
 * .elementor-element-gdstn1 (bento) | gdstn2 (posters) | gdstn3 (editorial)
 * ====================================================================== */
/* ---- comunes a las tarjetas nativas de destacados ---- */
.elementor-element-gdstn1 .elementor-widget-wrap.elementor-element-populated,
.elementor-element-gdstn2 .elementor-widget-wrap.elementor-element-populated,
.elementor-element-gdstn3 .elementor-widget-wrap.elementor-element-populated {
	position: relative; height: 100%; border-radius: 18px; overflow: hidden;
	padding: 26px !important; display: flex !important; flex-direction: column;
	justify-content: flex-end; align-content: flex-start;
	background-size: cover !important; background-position: center !important;
	box-shadow: 0 10px 26px rgba(6,12,20,.16); transition: box-shadow .5s, transform .5s;
}
.elementor-element-gdstn1 .elementor-widget-wrap.elementor-element-populated::before,
.elementor-element-gdstn2 .elementor-widget-wrap.elementor-element-populated::before,
.elementor-element-gdstn3 .elementor-widget-wrap.elementor-element-populated::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(8,15,25,.05) 0%, rgba(8,15,25,.5) 55%, rgba(6,12,20,.88) 100%);
	transition: background .5s;
}
.elementor-element-gdstn1 .elementor-widget, .elementor-element-gdstn2 .elementor-widget, .elementor-element-gdstn3 .elementor-widget {
	position: relative; z-index: 2; width: 100%; margin: 0;
}
/* eyebrow de categoría (heading pequeño) — primer heading de cada tarjeta */
.elementor-element-gdstn1 .gdstn-cat .elementor-heading-title,
.elementor-element-gdstn2 .gdstn-cat .elementor-heading-title,
.elementor-element-gdstn3 .gdstn-cat .elementor-heading-title {
	color: #fff !important; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	display: inline-block; background: rgba(255,255,255,.16); backdrop-filter: blur(4px);
	padding: 5px 11px; border-radius: 999px; margin: 0 0 10px;
}
/* título de tarjeta */
.elementor-element-gdstn1 .gdstn-title .elementor-heading-title,
.elementor-element-gdstn2 .gdstn-title .elementor-heading-title,
.elementor-element-gdstn3 .gdstn-title .elementor-heading-title {
	color: #fff !important; font-size: 19px; font-weight: 800; line-height: 1.22; margin: 0;
}
/* botón "Ver proyecto" */
.elementor-element-gdstn1 .elementor-widget-button .elementor-button,
.elementor-element-gdstn2 .elementor-widget-button .elementor-button,
.elementor-element-gdstn3 .elementor-widget-button .elementor-button {
	background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.5); color: #fff !important;
	border-radius: 999px; padding: 8px 16px; font-weight: 700; font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
}
.elementor-element-gdstn1 .elementor-widget-button .elementor-button:hover,
.elementor-element-gdstn2 .elementor-widget-button .elementor-button:hover,
.elementor-element-gdstn3 .elementor-widget-button .elementor-button:hover {
	background: var(--wd-primary-color, rgb(32,172,179)); border-color: transparent;
}

/* ---- V1 BENTO ---- */
.elementor-element-gdstn1 > .elementor-container,
.elementor-element-gdstn1 > .elementor-container > .elementor-row {
	display: grid !important; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 232px; gap: 16px; max-width: 1240px;
}
.elementor-element-gdstn1 .elementor-column { width: auto !important; margin: 0 !important; }
.elementor-element-gdstn1 .elementor-column:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.elementor-element-gdstn1 .elementor-column:nth-child(2) { grid-column: 2 / span 2; grid-row: 1; }
.elementor-element-gdstn1 .elementor-column:nth-child(3) { grid-column: 2; grid-row: 2; }
.elementor-element-gdstn1 .elementor-column:nth-child(4) { grid-column: 3; grid-row: 2; }
.elementor-element-gdstn1 .elementor-column:hover .elementor-element-populated { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(6,12,20,.32); }
.elementor-element-gdstn1 .elementor-column:hover .elementor-element-populated::before { background: linear-gradient(180deg, rgba(8,15,25,.2) 0%, rgba(8,15,25,.62) 55%, rgba(4,9,16,.92) 100%); }
@media (max-width: 1024px) {
	.elementor-element-gdstn1 > .elementor-container,
	.elementor-element-gdstn1 > .elementor-container > .elementor-row { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; }
	.elementor-element-gdstn1 .elementor-column:nth-child(n) { grid-column: auto !important; grid-row: auto !important; }
}
@media (max-width: 600px) {
	.elementor-element-gdstn1 > .elementor-container,
	.elementor-element-gdstn1 > .elementor-container > .elementor-row { grid-template-columns: 1fr; }
}

/* ---- V2 POSTERS (panel + reveal al hover) ---- */
.elementor-element-gdstn2 > .elementor-container,
.elementor-element-gdstn2 > .elementor-container > .elementor-row {
	display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1240px;
}
.elementor-element-gdstn2 .elementor-column { width: auto !important; margin: 0 !important; }
.elementor-element-gdstn2 .elementor-widget-wrap.elementor-element-populated { height: 440px; }
.elementor-element-gdstn2 .elementor-column:hover .elementor-element-populated { box-shadow: 0 20px 46px rgba(6,12,20,.32); }
.elementor-element-gdstn2 .elementor-column:hover .elementor-element-populated::before { background: linear-gradient(180deg, rgba(8,15,25,.2) 0%, rgba(8,15,25,.66) 50%, rgba(4,9,16,.94) 100%); }
.elementor-element-gdstn2 .gdstn-desc { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .5s ease, opacity .45s ease, margin .5s ease; }
.elementor-element-gdstn2 .elementor-column:hover .gdstn-desc { max-height: 160px; opacity: 1; margin-top: 10px; }
.elementor-element-gdstn2 .gdstn-desc .elementor-heading-title,
.elementor-element-gdstn2 .gdstn-desc * { color: rgba(255,255,255,.9) !important; font-size: 13.5px; font-weight: 500; line-height: 1.55; }
.elementor-element-gdstn2 .elementor-widget-button { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .5s ease, opacity .45s ease, margin .5s ease; }
.elementor-element-gdstn2 .elementor-column:hover .elementor-widget-button { max-height: 60px; opacity: 1; margin-top: 14px; }
@media (max-width: 1024px) {
	.elementor-element-gdstn2 > .elementor-container,
	.elementor-element-gdstn2 > .elementor-container > .elementor-row { grid-template-columns: 1fr; }
	.elementor-element-gdstn2 .gdstn-desc { max-height: 160px; opacity: 1; margin-top: 10px; }
	.elementor-element-gdstn2 .elementor-widget-button { max-height: 60px; opacity: 1; margin-top: 12px; }
}

/* ---- V3 EDITORIAL (destacada + lista) ---- */
.elementor-element-gdstn3 > .elementor-container,
.elementor-element-gdstn3 > .elementor-container > .elementor-row {
	display: grid !important; grid-template-columns: 1.35fr 1fr; grid-auto-rows: 1fr; gap: 16px; max-width: 1240px; min-height: 470px;
}
.elementor-element-gdstn3 .elementor-column { width: auto !important; margin: 0 !important; }
.elementor-element-gdstn3 .elementor-column:first-child { grid-column: 1; grid-row: 1 / -1; }
.elementor-element-gdstn3 .elementor-column:not(:first-child) { grid-column: 2; }
.elementor-element-gdstn3 .elementor-column:first-child .gdstn-title .elementor-heading-title { font-size: 26px; }
.elementor-element-gdstn3 .elementor-column:first-child .gdstn-desc .elementor-heading-title { color: rgba(255,255,255,.9) !important; font-size: 14px; font-weight: 500; line-height: 1.6; margin-top: 10px; display: block; }
/* filas de la lista: tarjeta compacta con imagen de fondo lateral */
.elementor-element-gdstn3 .elementor-column:not(:first-child) .elementor-widget-wrap.elementor-element-populated {
	height: 100%; min-height: 108px; padding: 18px 20px !important; justify-content: center;
	border: 1px solid #eef1f4; box-shadow: 0 6px 16px rgba(6,12,20,.06);
}
.elementor-element-gdstn3 .elementor-column:not(:first-child) .elementor-widget-wrap.elementor-element-populated::before {
	background: linear-gradient(90deg, rgba(8,15,25,.72) 0%, rgba(8,15,25,.35) 55%, rgba(8,15,25,.12) 100%);
}
.elementor-element-gdstn3 .elementor-column:not(:first-child) .gdstn-cat .elementor-heading-title { font-size: 10px; margin-bottom: 6px; }
.elementor-element-gdstn3 .elementor-column:not(:first-child) .gdstn-title .elementor-heading-title { font-size: 15px; }
.elementor-element-gdstn3 .elementor-column:not(:first-child):hover .elementor-element-populated { transform: translateX(4px); box-shadow: 0 12px 26px rgba(6,12,20,.16); }
@media (max-width: 1024px) {
	.elementor-element-gdstn3 > .elementor-container,
	.elementor-element-gdstn3 > .elementor-container > .elementor-row { grid-template-columns: 1fr; }
	.elementor-element-gdstn3 .elementor-column:first-child, .elementor-element-gdstn3 .elementor-column:not(:first-child) { grid-column: 1; grid-row: auto; }
	.elementor-element-gdstn3 .elementor-column:first-child .elementor-widget-wrap.elementor-element-populated { min-height: 320px; }
}

/* =========================================================================
 * Plantilla — Carrusel bucle continuo de "Artículos Técnicos" (hub Visión Técnica)
 * ====================================================================== */
.gh-marquee { position: relative; overflow: hidden; padding: 8px 0; margin: 0 -4px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%); }
.gh-marquee__track { display: flex; width: max-content; animation: ghMarquee 38s linear infinite; will-change: transform; }
.gh-marquee:hover .gh-marquee__track { animation-play-state: paused; }
.gh-marquee__set { display: flex; gap: 22px; padding-right: 22px; }
.gh-marquee .gh-card { flex: 0 0 300px; width: 300px; margin: 0; }
@keyframes ghMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 768px) {
	.gh-marquee__set { gap: 16px; padding-right: 16px; }
	.gh-marquee .gh-card { flex-basis: 280px; width: 280px; }
	.gh-marquee__track { animation-duration: 30s; }
}
@media (max-width: 600px) {
	.gh-marquee .gh-card { flex-basis: 82vw; width: 82vw; }
	.gh-marquee__track { animation-duration: 24s; }
}
@media (prefers-reduced-motion: reduce) {
	.gh-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.gh-marquee__track { animation: none; }
	.gh-marquee__set:last-child { display: none; }
}

/* =========================================================================
 * Plantilla — Hero moderno para archivos de blog (categoría/tag) + sin migas
 * ====================================================================== */
/* Ocultar la barra de migas/título del tema en archivos de blog */
body.category .wd-page-title,
body.tag .wd-page-title,
body.blog .wd-page-title { display: none !important; }

.gh-archive-header { padding-top: 26px; }
.gh-arch-hero {
	position: relative; overflow: hidden; isolation: isolate;
	/* ancho completo (full-bleed) rompiendo el contenedor */
	width: 100vw; max-width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 6px;
	border-radius: 0;
	padding: clamp(34px, 5.2vw, 60px) 20px;
	text-align: center; color: #fff;
	background-color: #0c2029; background-size: cover; background-position: center;
}
/* Scrim/degradado sobre la imagen (o el color) para que el texto se lea */
.gh-arch-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		radial-gradient(120% 150% at 8% -10%, rgba(32,172,179,.34) 0%, rgba(32,172,179,0) 46%),
		radial-gradient(130% 170% at 108% 120%, rgba(32,172,179,.22) 0%, rgba(12,32,41,0) 52%),
		linear-gradient(135deg, rgba(12,32,41,.60) 0%, rgba(10,26,34,.70) 55%, rgba(8,20,28,.82) 100%);
}
.gh-arch-hero.has-image::before {
	background:
		radial-gradient(120% 150% at 8% -10%, rgba(32,172,179,.26) 0%, rgba(32,172,179,0) 46%),
		linear-gradient(135deg, rgba(10,26,34,.80) 0%, rgba(12,32,41,.62) 52%, rgba(8,20,28,.88) 100%);
}
/* Rejilla sutil */
.gh-arch-hero__grid {
	position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: .5;
	background-image:
		linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
	background-size: 46px 46px;
	-webkit-mask-image: radial-gradient(80% 78% at 50% 26%, #000 38%, transparent 100%);
	mask-image: radial-gradient(80% 78% at 50% 26%, #000 38%, transparent 100%);
}
/* Resplandor */
.gh-arch-hero__glow {
	position: absolute; z-index: 2; pointer-events: none; width: 420px; height: 420px;
	top: -160px; right: -120px; border-radius: 50%;
	background: radial-gradient(circle, rgba(127,224,228,.32) 0%, rgba(127,224,228,0) 70%);
	filter: blur(6px);
}
.gh-arch-hero__inner { position: relative; z-index: 3; max-width: 720px; margin: 0 auto; }
.gh-arch-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px;
	padding: 7px 15px 7px 11px; border-radius: 999px;
	background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.20);
	color: #bdeef0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.gh-arch-hero__i { display: inline-flex; width: 16px; height: 16px; color: #7fe0e4; }
.gh-arch-hero__i svg { width: 16px; height: 16px; stroke: #7fe0e4; }
.gh-arch-hero__title {
	margin: 0; color: #fff; font-weight: 800; line-height: 1.04; letter-spacing: -.015em;
	font-size: clamp(32px, 5vw, 52px);
}
.gh-arch-hero__desc {
	margin: 15px auto 0; max-width: 600px; color: rgba(255,255,255,.82);
	font-size: 16px; line-height: 1.6;
}
.gh-arch-hero__count {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 22px;
	padding: 6px 15px; border-radius: 999px;
	background: rgba(32,172,179,.20); border: 1px solid rgba(127,224,228,.38);
	color: #d3f2f3; font-size: 12.5px; font-weight: 700; letter-spacing: .03em;
}
.gh-arch-hero__dot { width: 7px; height: 7px; border-radius: 50%; background: #7fe0e4; box-shadow: 0 0 0 4px rgba(127,224,228,.18); }
/* La barra de categorías queda como filtro debajo del hero */
.gh-archive-header .gh-catbar { margin-top: 22px; }
@media (max-width: 768px) {
	.gh-arch-hero { padding: 30px 18px 34px; }
	.gh-arch-hero__desc { font-size: 15px; margin-top: 12px; }
	.gh-arch-hero__count { margin-top: 16px; }
}

/* Fix: el tema fuerza color gris en el h1 del archivo — forzar blanco */
.gh-arch-hero__title,
.gh-archive-header .gh-arch-hero__title {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.gh-archive-header { padding-top: 42px; }

/* =========================================================================
 * Plantilla — Rediseño hero archivo: izquierda + sin píldoras (Fase 18)
 * ====================================================================== */
.gh-arch-hero { text-align: left; }
.gh-arch-hero__inner { max-width: 1222px; margin: 0 auto; text-align: left; padding: 0 20px; }
/* Eyebrow: de píldora a etiqueta limpia con línea de acento */
.gh-arch-hero__eyebrow {
	background: none !important; border: none !important; padding: 0 !important;
	margin-bottom: 15px; gap: 10px; color: #7fe0e4; font-size: 12.5px; letter-spacing: .2em;
}
.gh-arch-hero__eyebrow::after {
	content: ""; width: 34px; height: 2px; background: rgba(127,224,228,.55); border-radius: 2px;
}
.gh-arch-hero__title { margin: 0; }
.gh-arch-hero__desc { margin: 15px 0 0; max-width: 560px; }
/* Contador: de píldora a texto plano con punto */
.gh-arch-hero__count {
	background: none !important; border: none !important; padding: 0 !important;
	margin-top: 18px; color: rgba(255,255,255,.74); font-weight: 600; letter-spacing: .02em; font-size: 13px;
}
/* Barra de categorías alineada a la izquierda con el hero */
.gh-archive-header .gh-catbar { text-align: left; }
.gh-archive-header .gh-catbar__list { justify-content: flex-start; }

/* =========================================================================
 * Plantilla — Hero de PROYECTOS (archivo project-cat). Diseño distinto al blog.
 * ====================================================================== */
/* Ocultar migas/título del tema en archivos de proyectos */
body.tax-project-cat .wd-page-title { display: none !important; }

.gh-proj-archive { padding-top: 42px; }
.gh-proj-hero {
	position: relative; overflow: hidden; isolation: isolate;
	width: 100vw; max-width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-bottom: 8px;
	padding: clamp(38px, 5.4vw, 66px) 20px;
	color: #fff; background-color: #0c2029; background-size: cover; background-position: center;
}
/* Scrim más cinematográfico: oscurece más hacia la izquierda para el texto */
.gh-proj-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(8,20,28,.90) 0%, rgba(9,24,32,.72) 42%, rgba(10,26,34,.42) 100%),
		linear-gradient(180deg, rgba(10,26,34,.25) 0%, rgba(8,20,28,.65) 100%);
}
.gh-proj-hero__grid {
	position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: .5;
	background-image:
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
	background-size: 46px 46px;
	-webkit-mask-image: linear-gradient(90deg, #000 0, transparent 70%);
	mask-image: linear-gradient(90deg, #000 0, transparent 70%);
}
.gh-proj-hero__inner {
	position: relative; z-index: 3; max-width: 1222px; margin: 0 auto; padding: 0 20px;
	display: flex; align-items: center; gap: 22px;
}
/* Badge redondeado con el ícono de la categoría (elemento distintivo vs blog) */
.gh-proj-hero__badge {
	flex: 0 0 auto; width: 66px; height: 66px; border-radius: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(32,172,179,.20); border: 1px solid rgba(127,224,228,.42);
	box-shadow: 0 10px 26px rgba(6,16,22,.35); backdrop-filter: blur(4px);
}
.gh-proj-hero__badge svg { width: 30px; height: 30px; stroke: #d3f2f3; color: #d3f2f3; }
.gh-proj-hero__text { min-width: 0; }
.gh-proj-hero__eyebrow {
	display: inline-block; margin: 0 0 8px; color: #7fe0e4;
	font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
}
/* Título con barra de acento a la IZQUIERDA (distinto a la línea del blog) */
.gh-proj-hero__title {
	margin: 0; color: #fff !important; -webkit-text-fill-color: #fff !important;
	font-weight: 800; line-height: 1.03; letter-spacing: -.015em;
	font-size: clamp(30px, 5vw, 50px);
	padding-left: 18px; border-left: 4px solid var(--wd-primary-color, rgb(32,172,179));
}
.gh-proj-hero__desc {
	margin: 14px 0 0; max-width: 620px; color: rgba(255,255,255,.84); font-size: 16px; line-height: 1.6;
}
/* Conteo como chip (distinto al texto plano del blog) */
.gh-proj-hero__count {
	display: inline-flex; align-items: center; margin-top: 18px; padding: 6px 16px; border-radius: 8px;
	background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.22);
	color: #eafafb; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
/* Filtro en PÍLDORAS (distinto a las pestañas del blog) */
.gh-proj-filter { margin: 18px 0 4px; }
.gh-proj-filter__list {
	list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 9px;
}
.gh-proj-filter__list a {
	display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px;
	background: #fff; border: 1px solid #e3e7ec; color: #45515e !important;
	font-size: 13px; font-weight: 600; transition: all .2s ease;
}
.gh-proj-filter__list a:hover { border-color: var(--wd-primary-color, rgb(32,172,179)); color: var(--wd-primary-color, rgb(32,172,179)) !important; }
.gh-proj-filter__list li.is-active a {
	background: var(--wd-primary-color, rgb(32,172,179)); border-color: transparent; color: #fff !important;
	box-shadow: 0 8px 20px rgba(32,172,179,.32);
}
.gh-proj-filter__icon { display: inline-flex; }
.gh-proj-filter__icon svg { width: 16px; height: 16px; display: block; }
.gh-proj-filter__list li.is-active .gh-proj-filter__icon svg { stroke: #fff; color: #fff; }
@media (max-width: 768px) {
	.gh-proj-hero { padding: 30px 18px 34px; }
	.gh-proj-hero__inner { gap: 16px; padding: 0 4px; }
	.gh-proj-hero__badge { width: 52px; height: 52px; border-radius: 14px; }
	.gh-proj-hero__badge svg { width: 24px; height: 24px; }
	.gh-proj-hero__desc { font-size: 14.5px; }
	.gh-proj-filter__list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
	.gh-proj-filter__list a { flex: 0 0 auto; }
}


/* Plantilla — ajustes de QA responsive */
.wd-footer .elementor-icon-list-text,
.wd-footer .elementor-icon-list-item > a {
	overflow-wrap: anywhere;
	word-break: break-word;
}
.wd-footer .elementor-icon-list-item {
	align-items: flex-start;
}


/* Plantilla — los iconos de redes se muestran aunque el perfil aún no tenga URL.
   Cuando se configuren las URLs reales en WoodMart -> Theme Settings -> Social,
   los enlaces dejarán de apuntar a "#" y funcionarán sin tocar este archivo. */

/* Plantilla — logotipo del pie legible */
.wd-footer .elementor-widget-image img {
	width: 210px;
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Plantilla — BLOG Y PROYECTOS: tipografía (Open Sans / Montserrat) + separación hero
   Blog: página /blog/ (21325), entradas, categorías.
   Proyectos: página /proyectos/ (21627), proyectos individuales, project-cat.
   ========================================================================== */

/* ---- 1) Tipografía: cuerpo Open Sans, títulos Montserrat ---- */
.elementor-page-21325 .wd-page-content,
.elementor-page-21325 .wd-page-content *,
.elementor-page-21627 .wd-page-content,
.elementor-page-21627 .wd-page-content *,
.single-post .wd-page-content,
.single-post .wd-page-content *,
.single-portfolio .wd-page-content,
.single-portfolio .wd-page-content *,
.archive.category .wd-page-content,
.archive.category .wd-page-content *,
.post-type-archive-portfolio .wd-page-content,
.post-type-archive-portfolio .wd-page-content *,
.tax-project-cat .wd-page-content,
.tax-project-cat .wd-page-content * {
	font-family: 'Open Sans', 'Kumbh Sans', sans-serif !important;
}

/* Excepciones: los iconos de fuente conservan su familia (si no, se rompen) */
.elementor-page-21325 .wd-page-content [class~="fa"],
.elementor-page-21325 .wd-page-content [class~="fas"],
.elementor-page-21325 .wd-page-content [class~="far"],
.elementor-page-21325 .wd-page-content [class~="fab"],
.elementor-page-21325 .wd-page-content [class~="fal"],
.elementor-page-21325 .wd-page-content [class~="fad"],
.elementor-page-21627 .wd-page-content [class~="fa"],
.elementor-page-21627 .wd-page-content [class~="fas"],
.elementor-page-21627 .wd-page-content [class~="far"],
.elementor-page-21627 .wd-page-content [class~="fab"],
.elementor-page-21627 .wd-page-content [class~="fal"],
.elementor-page-21627 .wd-page-content [class~="fad"],
.single-post .wd-page-content [class~="fa"],
.single-post .wd-page-content [class~="fas"],
.single-post .wd-page-content [class~="far"],
.single-post .wd-page-content [class~="fab"],
.single-post .wd-page-content [class~="fal"],
.single-post .wd-page-content [class~="fad"],
.single-portfolio .wd-page-content [class~="fa"],
.single-portfolio .wd-page-content [class~="fas"],
.single-portfolio .wd-page-content [class~="far"],
.single-portfolio .wd-page-content [class~="fab"],
.single-portfolio .wd-page-content [class~="fal"],
.single-portfolio .wd-page-content [class~="fad"],
.archive.category .wd-page-content [class~="fa"],
.archive.category .wd-page-content [class~="fas"],
.archive.category .wd-page-content [class~="far"],
.archive.category .wd-page-content [class~="fab"],
.archive.category .wd-page-content [class~="fal"],
.archive.category .wd-page-content [class~="fad"],
.post-type-archive-portfolio .wd-page-content [class~="fa"],
.post-type-archive-portfolio .wd-page-content [class~="fas"],
.post-type-archive-portfolio .wd-page-content [class~="far"],
.post-type-archive-portfolio .wd-page-content [class~="fab"],
.post-type-archive-portfolio .wd-page-content [class~="fal"],
.post-type-archive-portfolio .wd-page-content [class~="fad"],
.tax-project-cat .wd-page-content [class~="fa"],
.tax-project-cat .wd-page-content [class~="fas"],
.tax-project-cat .wd-page-content [class~="far"],
.tax-project-cat .wd-page-content [class~="fab"],
.tax-project-cat .wd-page-content [class~="fal"],
.tax-project-cat .wd-page-content [class~="fad"] {
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Pro", FontAwesome !important;
}

.elementor-page-21325 .wd-page-content [class*="wd-icon"],
.elementor-page-21627 .wd-page-content [class*="wd-icon"],
.single-post .wd-page-content [class*="wd-icon"],
.single-portfolio .wd-page-content [class*="wd-icon"],
.archive.category .wd-page-content [class*="wd-icon"],
.post-type-archive-portfolio .wd-page-content [class*="wd-icon"],
.tax-project-cat .wd-page-content [class*="wd-icon"] {
	font-family: "woodmart-font" !important;
}

/* Títulos en Montserrat */
.elementor-page-21325 .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.elementor-page-21325 .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.elementor-page-21627 .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.elementor-page-21627 .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.single-post .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.single-post .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.single-portfolio .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.single-portfolio .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.archive.category .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.archive.category .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.post-type-archive-portfolio .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.post-type-archive-portfolio .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.tax-project-cat .wd-page-content :is(h1,h2,h3,h4,h5,h6),
.tax-project-cat .wd-page-content :is(h1,h2,h3,h4,h5,h6) *,
.elementor-page-21325 .wd-page-content .elementor-heading-title,
.elementor-page-21627 .wd-page-content .elementor-heading-title,
.elementor-page-21325 .wd-page-content [class*="__title"],
.elementor-page-21627 .wd-page-content [class*="__title"],
.single-post .wd-page-content [class*="__title"],
.single-portfolio .wd-page-content [class*="__title"],
.archive.category .wd-page-content [class*="__title"],
.post-type-archive-portfolio .wd-page-content [class*="__title"],
.tax-project-cat .wd-page-content [class*="__title"],
.single-portfolio .wd-page-content .gh-project-title,
.single-post .wd-page-content .entry-title,
.tax-project-cat .wd-page-content .entry-title,
.post-type-archive-portfolio .wd-page-content .entry-title {
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif !important;
}

/* ---- 2) Despegar el hero del encabezado (header overlay de ~112px) ----
   Solo afecta a entradas y proyectos individuales y a los archivos de blog y
   de proyectos. Las páginas /blog/ y /proyectos/ NO se tocan: su separación ya
   viene definida en Elementor y está bien.
   Nota: !important porque las hojas css/parts/*.min.css del tema padre se
   cargan después del child y si no ganan ellas. */
.single-post .wd-content-layout,
.single-portfolio .wd-content-layout,
.archive.category .wd-content-layout,
.post-type-archive-portfolio .wd-content-layout,
.tax-project-cat .wd-content-layout { padding-top: 136px !important; }
@media (max-width: 767px) {
	.single-post .wd-content-layout,
	.single-portfolio .wd-content-layout,
	.archive.category .wd-content-layout,
	.post-type-archive-portfolio .wd-content-layout,
	.tax-project-cat .wd-content-layout { padding-top: 116px !important; }
}

/* Compensar la barra de administración de WordPress (solo usuarios conectados) */
.admin-bar.single-post .wd-content-layout,
.admin-bar.single-portfolio .wd-content-layout,
.admin-bar.archive.category .wd-content-layout,
.admin-bar.post-type-archive-portfolio .wd-content-layout,
.admin-bar.tax-project-cat .wd-content-layout { padding-top: 168px !important; }
@media (max-width: 782px) {
	.admin-bar.single-post .wd-content-layout,
	.admin-bar.single-portfolio .wd-content-layout,
	.admin-bar.archive.category .wd-content-layout,
	.admin-bar.post-type-archive-portfolio .wd-content-layout,
	.admin-bar.tax-project-cat .wd-content-layout { padding-top: 162px !important; }
}

/* ==========================================================================
   Plantilla — BLOG Y PROYECTOS: color de marca en títulos y texto
   Títulos #002642 · Texto #133848
   Los encabezados venían en naranja (#FFAA01, ajuste de tipografía de WoodMart).
   No se tocan los textos sobre fondo oscuro (hero, tarjeta destacada, paneles).
   ========================================================================== */

/* ---- Títulos ---- */
.elementor-page-21325 .wd-page-content .gh-catbar__title,
.elementor-page-21325 .wd-page-content .gh-section__title,
.elementor-page-21325 .wd-page-content .gh-swidget__title,
.elementor-page-21325 .wd-page-content .gh-swidget__cta-title,
.elementor-page-21325 .wd-page-content .gh-swidget__ptitle,
.elementor-page-21325 .wd-page-content .gh-card__title,
.elementor-page-21325 .wd-page-content .gh-card__title a,
.elementor-page-21325 .wd-page-content .gh-project-title,
.elementor-page-21325 .wd-page-content .cvt-svc__title,
.elementor-page-21325 .wd-page-content .entry-title,
.elementor-page-21325 .wd-page-content .wd-post-title,
.elementor-page-21325 .wd-page-content .comment-reply-title,
.elementor-page-21325 .wd-page-content .wp-block-heading,
.elementor-page-21627 .wd-page-content .gh-catbar__title,
.elementor-page-21627 .wd-page-content .gh-section__title,
.elementor-page-21627 .wd-page-content .gh-swidget__title,
.elementor-page-21627 .wd-page-content .gh-swidget__cta-title,
.elementor-page-21627 .wd-page-content .gh-swidget__ptitle,
.elementor-page-21627 .wd-page-content .gh-card__title,
.elementor-page-21627 .wd-page-content .gh-card__title a,
.elementor-page-21627 .wd-page-content .gh-project-title,
.elementor-page-21627 .wd-page-content .cvt-svc__title,
.elementor-page-21627 .wd-page-content .entry-title,
.elementor-page-21627 .wd-page-content .wd-post-title,
.elementor-page-21627 .wd-page-content .comment-reply-title,
.elementor-page-21627 .wd-page-content .wp-block-heading,
.single-post .wd-page-content .gh-catbar__title,
.single-post .wd-page-content .gh-section__title,
.single-post .wd-page-content .gh-swidget__title,
.single-post .wd-page-content .gh-swidget__cta-title,
.single-post .wd-page-content .gh-swidget__ptitle,
.single-post .wd-page-content .gh-card__title,
.single-post .wd-page-content .gh-card__title a,
.single-post .wd-page-content .gh-project-title,
.single-post .wd-page-content .cvt-svc__title,
.single-post .wd-page-content .entry-title,
.single-post .wd-page-content .wd-post-title,
.single-post .wd-page-content .comment-reply-title,
.single-post .wd-page-content .wp-block-heading,
.single-portfolio .wd-page-content .gh-catbar__title,
.single-portfolio .wd-page-content .gh-section__title,
.single-portfolio .wd-page-content .gh-swidget__title,
.single-portfolio .wd-page-content .gh-swidget__cta-title,
.single-portfolio .wd-page-content .gh-swidget__ptitle,
.single-portfolio .wd-page-content .gh-card__title,
.single-portfolio .wd-page-content .gh-card__title a,
.single-portfolio .wd-page-content .gh-project-title,
.single-portfolio .wd-page-content .cvt-svc__title,
.single-portfolio .wd-page-content .entry-title,
.single-portfolio .wd-page-content .wd-post-title,
.single-portfolio .wd-page-content .comment-reply-title,
.single-portfolio .wd-page-content .wp-block-heading,
.archive.category .wd-page-content .gh-catbar__title,
.archive.category .wd-page-content .gh-section__title,
.archive.category .wd-page-content .gh-swidget__title,
.archive.category .wd-page-content .gh-swidget__cta-title,
.archive.category .wd-page-content .gh-swidget__ptitle,
.archive.category .wd-page-content .gh-card__title,
.archive.category .wd-page-content .gh-card__title a,
.archive.category .wd-page-content .gh-project-title,
.archive.category .wd-page-content .cvt-svc__title,
.archive.category .wd-page-content .entry-title,
.archive.category .wd-page-content .wd-post-title,
.archive.category .wd-page-content .comment-reply-title,
.archive.category .wd-page-content .wp-block-heading,
.post-type-archive-portfolio .wd-page-content .gh-catbar__title,
.post-type-archive-portfolio .wd-page-content .gh-section__title,
.post-type-archive-portfolio .wd-page-content .gh-swidget__title,
.post-type-archive-portfolio .wd-page-content .gh-swidget__cta-title,
.post-type-archive-portfolio .wd-page-content .gh-swidget__ptitle,
.post-type-archive-portfolio .wd-page-content .gh-card__title,
.post-type-archive-portfolio .wd-page-content .gh-card__title a,
.post-type-archive-portfolio .wd-page-content .gh-project-title,
.post-type-archive-portfolio .wd-page-content .cvt-svc__title,
.post-type-archive-portfolio .wd-page-content .entry-title,
.post-type-archive-portfolio .wd-page-content .wd-post-title,
.post-type-archive-portfolio .wd-page-content .comment-reply-title,
.post-type-archive-portfolio .wd-page-content .wp-block-heading,
.tax-project-cat .wd-page-content .gh-catbar__title,
.tax-project-cat .wd-page-content .gh-section__title,
.tax-project-cat .wd-page-content .gh-swidget__title,
.tax-project-cat .wd-page-content .gh-swidget__cta-title,
.tax-project-cat .wd-page-content .gh-swidget__ptitle,
.tax-project-cat .wd-page-content .gh-card__title,
.tax-project-cat .wd-page-content .gh-card__title a,
.tax-project-cat .wd-page-content .gh-project-title,
.tax-project-cat .wd-page-content .cvt-svc__title,
.tax-project-cat .wd-page-content .entry-title,
.tax-project-cat .wd-page-content .wd-post-title,
.tax-project-cat .wd-page-content .comment-reply-title,
.tax-project-cat .wd-page-content .wp-block-heading {
	color: #002642 !important;
}

/* Encabezados del cuerpo del artículo (entrada y proyecto individual) */
.single-post .entry-content h2,
.single-post .wd-single-project h2,
.single-post .entry-content h3,
.single-post .wd-single-project h3,
.single-post .entry-content h4,
.single-post .wd-single-project h4,
.single-post .entry-content h5,
.single-post .wd-single-project h5,
.single-post .entry-content h6,
.single-post .wd-single-project h6,
.single-portfolio .entry-content h2,
.single-portfolio .wd-single-project h2,
.single-portfolio .entry-content h3,
.single-portfolio .wd-single-project h3,
.single-portfolio .entry-content h4,
.single-portfolio .wd-single-project h4,
.single-portfolio .entry-content h5,
.single-portfolio .wd-single-project h5,
.single-portfolio .entry-content h6,
.single-portfolio .wd-single-project h6 {
	color: #002642 !important;
}

/* ---- Texto ---- */
.elementor-page-21325 .wd-page-content .gh-card__excerpt,
.elementor-page-21325 .wd-page-content .gh-catbar__name,
.elementor-page-21627 .wd-page-content .gh-card__excerpt,
.elementor-page-21627 .wd-page-content .gh-catbar__name,
.single-post .wd-page-content .gh-card__excerpt,
.single-post .wd-page-content .gh-catbar__name,
.single-portfolio .wd-page-content .gh-card__excerpt,
.single-portfolio .wd-page-content .gh-catbar__name,
.archive.category .wd-page-content .gh-card__excerpt,
.archive.category .wd-page-content .gh-catbar__name,
.post-type-archive-portfolio .wd-page-content .gh-card__excerpt,
.post-type-archive-portfolio .wd-page-content .gh-catbar__name,
.tax-project-cat .wd-page-content .gh-card__excerpt,
.tax-project-cat .wd-page-content .gh-catbar__name {
	color: #133848 !important;
}

.single-post .entry-content p,
.single-post .entry-content li,
.single-post .entry-content blockquote,
.single-post .entry-content .wd-single-project,
.single-portfolio .entry-content p,
.single-portfolio .entry-content li,
.single-portfolio .entry-content blockquote,
.single-portfolio .entry-content .wd-single-project {
	color: #133848 !important;
}


/* Títulos de los widgets de la barra lateral */
.elementor-page-21325 .wd-page-content .widget-title,
.elementor-page-21627 .wd-page-content .widget-title,
.single-post .wd-page-content .widget-title,
.single-portfolio .wd-page-content .widget-title,
.archive.category .wd-page-content .widget-title,
.post-type-archive-portfolio .wd-page-content .widget-title,
.tax-project-cat .wd-page-content .widget-title {
	color: #002642 !important;
}

/* El contenido del artículo se renderiza dentro de .wd-entry-content */
.single-post .wd-entry-content p,
.single-post .wd-entry-content li,
.single-post .wd-entry-content blockquote,
.single-post .wd-single-project p,
.single-post .wd-single-project li,
.single-portfolio .wd-entry-content p,
.single-portfolio .wd-entry-content li,
.single-portfolio .wd-entry-content blockquote,
.single-portfolio .wd-single-project p,
.single-portfolio .wd-single-project li {
	color: #133848 !important;
}


/* Título de los carruseles del tema ("Más proyectos", "Artículos relacionados") */
.elementor-page-21325 .wd-page-content .wd-el-title,
.elementor-page-21325 .wd-page-content .wd-el-title span,
.elementor-page-21627 .wd-page-content .wd-el-title,
.elementor-page-21627 .wd-page-content .wd-el-title span,
.single-post .wd-page-content .wd-el-title,
.single-post .wd-page-content .wd-el-title span,
.single-portfolio .wd-page-content .wd-el-title,
.single-portfolio .wd-page-content .wd-el-title span,
.archive.category .wd-page-content .wd-el-title,
.archive.category .wd-page-content .wd-el-title span,
.post-type-archive-portfolio .wd-page-content .wd-el-title,
.post-type-archive-portfolio .wd-page-content .wd-el-title span,
.tax-project-cat .wd-page-content .wd-el-title,
.tax-project-cat .wd-page-content .wd-el-title span {
	color: #002642 !important;
}

/* ---- Salvaguarda: lo que va sobre fondo oscuro sigue en claro ---- */
.gh-hero .gh-hero__title,
.gh-hero .gh-hero__title a,
.gh-hero__overlay,
.gh-hero__overlay *,
.gh-arch-hero__title,
.gh-arch-hero__title a,
.gh-proj-archive .gh-arch-hero__title,
.gh-featured .gh-featured__title,
.gh-featured .gh-featured__title a,
.gsvc-panel .gsvc-panel__title {
	color: #fff !important;
}
.gh-featured .gh-featured__excerpt { color: rgb(185, 194, 204) !important; }

/* ==========================================================================
   Plantilla — BLOG Y PROYECTOS: fuera las mayúsculas de títulos y etiquetas
   Venían de los ajustes de tipografía de WoodMart (h2 -> uppercase,
   h4 -> capitalize). Los botones de acción sí conservan su mayúscula.
   ========================================================================== */
.elementor-page-21325 .wd-page-content .gh-card__title,
.elementor-page-21325 .wd-page-content .gh-card__title a,
.elementor-page-21325 .wd-page-content .gh-catbar__title,
.elementor-page-21325 .wd-page-content .gh-section__title,
.elementor-page-21325 .wd-page-content .gh-featured__title,
.elementor-page-21325 .wd-page-content .gh-featured__title a,
.elementor-page-21325 .wd-page-content .gh-featured__badge,
.elementor-page-21325 .wd-page-content .gh-card__label,
.elementor-page-21325 .wd-page-content .gh-swidget__title,
.elementor-page-21325 .wd-page-content .gh-swidget__cta-title,
.elementor-page-21325 .wd-page-content .gh-swidget__ptitle,
.elementor-page-21325 .wd-page-content .gh-project-title,
.elementor-page-21325 .wd-page-content .cvt-svc__title,
.elementor-page-21325 .wd-page-content .elementor-heading-title,
.elementor-page-21325 .wd-page-content .wd-project__cat-name,
.elementor-page-21325 .wd-page-content .wd-project__link-text,
.elementor-page-21325 .wd-page-content .wd-el-title,
.elementor-page-21325 .wd-page-content .wd-el-title span,
.elementor-page-21325 .wd-page-content .widget-title,
.elementor-page-21325 .wd-page-content .wp-block-heading,
.elementor-page-21325 .wd-page-content .entry-title,
.elementor-page-21325 .wd-page-content .wd-post-title,
.elementor-page-21325 .wd-page-content .comment-reply-title,
.elementor-page-21325 .wd-page-content h1,
.elementor-page-21325 .wd-page-content h2,
.elementor-page-21325 .wd-page-content h3,
.elementor-page-21325 .wd-page-content h4,
.elementor-page-21325 .wd-page-content h5,
.elementor-page-21325 .wd-page-content h6,
.elementor-page-21627 .wd-page-content .gh-card__title,
.elementor-page-21627 .wd-page-content .gh-card__title a,
.elementor-page-21627 .wd-page-content .gh-catbar__title,
.elementor-page-21627 .wd-page-content .gh-section__title,
.elementor-page-21627 .wd-page-content .gh-featured__title,
.elementor-page-21627 .wd-page-content .gh-featured__title a,
.elementor-page-21627 .wd-page-content .gh-featured__badge,
.elementor-page-21627 .wd-page-content .gh-card__label,
.elementor-page-21627 .wd-page-content .gh-swidget__title,
.elementor-page-21627 .wd-page-content .gh-swidget__cta-title,
.elementor-page-21627 .wd-page-content .gh-swidget__ptitle,
.elementor-page-21627 .wd-page-content .gh-project-title,
.elementor-page-21627 .wd-page-content .cvt-svc__title,
.elementor-page-21627 .wd-page-content .elementor-heading-title,
.elementor-page-21627 .wd-page-content .wd-project__cat-name,
.elementor-page-21627 .wd-page-content .wd-project__link-text,
.elementor-page-21627 .wd-page-content .wd-el-title,
.elementor-page-21627 .wd-page-content .wd-el-title span,
.elementor-page-21627 .wd-page-content .widget-title,
.elementor-page-21627 .wd-page-content .wp-block-heading,
.elementor-page-21627 .wd-page-content .entry-title,
.elementor-page-21627 .wd-page-content .wd-post-title,
.elementor-page-21627 .wd-page-content .comment-reply-title,
.elementor-page-21627 .wd-page-content h1,
.elementor-page-21627 .wd-page-content h2,
.elementor-page-21627 .wd-page-content h3,
.elementor-page-21627 .wd-page-content h4,
.elementor-page-21627 .wd-page-content h5,
.elementor-page-21627 .wd-page-content h6,
.single-post .wd-page-content .gh-card__title,
.single-post .wd-page-content .gh-card__title a,
.single-post .wd-page-content .gh-catbar__title,
.single-post .wd-page-content .gh-section__title,
.single-post .wd-page-content .gh-featured__title,
.single-post .wd-page-content .gh-featured__title a,
.single-post .wd-page-content .gh-featured__badge,
.single-post .wd-page-content .gh-card__label,
.single-post .wd-page-content .gh-swidget__title,
.single-post .wd-page-content .gh-swidget__cta-title,
.single-post .wd-page-content .gh-swidget__ptitle,
.single-post .wd-page-content .gh-project-title,
.single-post .wd-page-content .cvt-svc__title,
.single-post .wd-page-content .elementor-heading-title,
.single-post .wd-page-content .wd-project__cat-name,
.single-post .wd-page-content .wd-project__link-text,
.single-post .wd-page-content .wd-el-title,
.single-post .wd-page-content .wd-el-title span,
.single-post .wd-page-content .widget-title,
.single-post .wd-page-content .wp-block-heading,
.single-post .wd-page-content .entry-title,
.single-post .wd-page-content .wd-post-title,
.single-post .wd-page-content .comment-reply-title,
.single-post .wd-page-content h1,
.single-post .wd-page-content h2,
.single-post .wd-page-content h3,
.single-post .wd-page-content h4,
.single-post .wd-page-content h5,
.single-post .wd-page-content h6,
.single-portfolio .wd-page-content .gh-card__title,
.single-portfolio .wd-page-content .gh-card__title a,
.single-portfolio .wd-page-content .gh-catbar__title,
.single-portfolio .wd-page-content .gh-section__title,
.single-portfolio .wd-page-content .gh-featured__title,
.single-portfolio .wd-page-content .gh-featured__title a,
.single-portfolio .wd-page-content .gh-featured__badge,
.single-portfolio .wd-page-content .gh-card__label,
.single-portfolio .wd-page-content .gh-swidget__title,
.single-portfolio .wd-page-content .gh-swidget__cta-title,
.single-portfolio .wd-page-content .gh-swidget__ptitle,
.single-portfolio .wd-page-content .gh-project-title,
.single-portfolio .wd-page-content .cvt-svc__title,
.single-portfolio .wd-page-content .elementor-heading-title,
.single-portfolio .wd-page-content .wd-project__cat-name,
.single-portfolio .wd-page-content .wd-project__link-text,
.single-portfolio .wd-page-content .wd-el-title,
.single-portfolio .wd-page-content .wd-el-title span,
.single-portfolio .wd-page-content .widget-title,
.single-portfolio .wd-page-content .wp-block-heading,
.single-portfolio .wd-page-content .entry-title,
.single-portfolio .wd-page-content .wd-post-title,
.single-portfolio .wd-page-content .comment-reply-title,
.single-portfolio .wd-page-content h1,
.single-portfolio .wd-page-content h2,
.single-portfolio .wd-page-content h3,
.single-portfolio .wd-page-content h4,
.single-portfolio .wd-page-content h5,
.single-portfolio .wd-page-content h6,
.archive.category .wd-page-content .gh-card__title,
.archive.category .wd-page-content .gh-card__title a,
.archive.category .wd-page-content .gh-catbar__title,
.archive.category .wd-page-content .gh-section__title,
.archive.category .wd-page-content .gh-featured__title,
.archive.category .wd-page-content .gh-featured__title a,
.archive.category .wd-page-content .gh-featured__badge,
.archive.category .wd-page-content .gh-card__label,
.archive.category .wd-page-content .gh-swidget__title,
.archive.category .wd-page-content .gh-swidget__cta-title,
.archive.category .wd-page-content .gh-swidget__ptitle,
.archive.category .wd-page-content .gh-project-title,
.archive.category .wd-page-content .cvt-svc__title,
.archive.category .wd-page-content .elementor-heading-title,
.archive.category .wd-page-content .wd-project__cat-name,
.archive.category .wd-page-content .wd-project__link-text,
.archive.category .wd-page-content .wd-el-title,
.archive.category .wd-page-content .wd-el-title span,
.archive.category .wd-page-content .widget-title,
.archive.category .wd-page-content .wp-block-heading,
.archive.category .wd-page-content .entry-title,
.archive.category .wd-page-content .wd-post-title,
.archive.category .wd-page-content .comment-reply-title,
.archive.category .wd-page-content h1,
.archive.category .wd-page-content h2,
.archive.category .wd-page-content h3,
.archive.category .wd-page-content h4,
.archive.category .wd-page-content h5,
.archive.category .wd-page-content h6,
.post-type-archive-portfolio .wd-page-content .gh-card__title,
.post-type-archive-portfolio .wd-page-content .gh-card__title a,
.post-type-archive-portfolio .wd-page-content .gh-catbar__title,
.post-type-archive-portfolio .wd-page-content .gh-section__title,
.post-type-archive-portfolio .wd-page-content .gh-featured__title,
.post-type-archive-portfolio .wd-page-content .gh-featured__title a,
.post-type-archive-portfolio .wd-page-content .gh-featured__badge,
.post-type-archive-portfolio .wd-page-content .gh-card__label,
.post-type-archive-portfolio .wd-page-content .gh-swidget__title,
.post-type-archive-portfolio .wd-page-content .gh-swidget__cta-title,
.post-type-archive-portfolio .wd-page-content .gh-swidget__ptitle,
.post-type-archive-portfolio .wd-page-content .gh-project-title,
.post-type-archive-portfolio .wd-page-content .cvt-svc__title,
.post-type-archive-portfolio .wd-page-content .elementor-heading-title,
.post-type-archive-portfolio .wd-page-content .wd-project__cat-name,
.post-type-archive-portfolio .wd-page-content .wd-project__link-text,
.post-type-archive-portfolio .wd-page-content .wd-el-title,
.post-type-archive-portfolio .wd-page-content .wd-el-title span,
.post-type-archive-portfolio .wd-page-content .widget-title,
.post-type-archive-portfolio .wd-page-content .wp-block-heading,
.post-type-archive-portfolio .wd-page-content .entry-title,
.post-type-archive-portfolio .wd-page-content .wd-post-title,
.post-type-archive-portfolio .wd-page-content .comment-reply-title,
.post-type-archive-portfolio .wd-page-content h1,
.post-type-archive-portfolio .wd-page-content h2,
.post-type-archive-portfolio .wd-page-content h3,
.post-type-archive-portfolio .wd-page-content h4,
.post-type-archive-portfolio .wd-page-content h5,
.post-type-archive-portfolio .wd-page-content h6,
.tax-project-cat .wd-page-content .gh-card__title,
.tax-project-cat .wd-page-content .gh-card__title a,
.tax-project-cat .wd-page-content .gh-catbar__title,
.tax-project-cat .wd-page-content .gh-section__title,
.tax-project-cat .wd-page-content .gh-featured__title,
.tax-project-cat .wd-page-content .gh-featured__title a,
.tax-project-cat .wd-page-content .gh-featured__badge,
.tax-project-cat .wd-page-content .gh-card__label,
.tax-project-cat .wd-page-content .gh-swidget__title,
.tax-project-cat .wd-page-content .gh-swidget__cta-title,
.tax-project-cat .wd-page-content .gh-swidget__ptitle,
.tax-project-cat .wd-page-content .gh-project-title,
.tax-project-cat .wd-page-content .cvt-svc__title,
.tax-project-cat .wd-page-content .elementor-heading-title,
.tax-project-cat .wd-page-content .wd-project__cat-name,
.tax-project-cat .wd-page-content .wd-project__link-text,
.tax-project-cat .wd-page-content .wd-el-title,
.tax-project-cat .wd-page-content .wd-el-title span,
.tax-project-cat .wd-page-content .widget-title,
.tax-project-cat .wd-page-content .wp-block-heading,
.tax-project-cat .wd-page-content .entry-title,
.tax-project-cat .wd-page-content .wd-post-title,
.tax-project-cat .wd-page-content .comment-reply-title,
.tax-project-cat .wd-page-content h1,
.tax-project-cat .wd-page-content h2,
.tax-project-cat .wd-page-content h3,
.tax-project-cat .wd-page-content h4,
.tax-project-cat .wd-page-content h5,
.tax-project-cat .wd-page-content h6 {
	text-transform: none !important;
}

/* El espaciado entre letras estaba pensado para texto en mayúscula */
.elementor-page-21325 .wd-page-content .gh-catbar__title,
.elementor-page-21325 .wd-page-content .gh-card__label,
.elementor-page-21325 .wd-page-content .gh-featured__badge,
.elementor-page-21627 .wd-page-content .gh-catbar__title,
.elementor-page-21627 .wd-page-content .gh-card__label,
.elementor-page-21627 .wd-page-content .gh-featured__badge,
.single-post .wd-page-content .gh-catbar__title,
.single-post .wd-page-content .gh-card__label,
.single-post .wd-page-content .gh-featured__badge,
.single-portfolio .wd-page-content .gh-catbar__title,
.single-portfolio .wd-page-content .gh-card__label,
.single-portfolio .wd-page-content .gh-featured__badge,
.archive.category .wd-page-content .gh-catbar__title,
.archive.category .wd-page-content .gh-card__label,
.archive.category .wd-page-content .gh-featured__badge,
.post-type-archive-portfolio .wd-page-content .gh-catbar__title,
.post-type-archive-portfolio .wd-page-content .gh-card__label,
.post-type-archive-portfolio .wd-page-content .gh-featured__badge,
.tax-project-cat .wd-page-content .gh-catbar__title,
.tax-project-cat .wd-page-content .gh-card__label,
.tax-project-cat .wd-page-content .gh-featured__badge {
	letter-spacing: .02em !important;
}

/* Excepción: los botones de acción mantienen la mayúscula */
.elementor-page-21325 .wd-page-content .elementor-button-text,
.elementor-page-21325 .wd-page-content .elementor-button,
.elementor-page-21325 .wd-page-content .btn,
.elementor-page-21325 .wd-page-content .cvt-svc__all,
.elementor-page-21325 .wd-page-content .gh-swidget__cta-btn,
.elementor-page-21325 .wd-page-content .gsvc-panel__more,
.elementor-page-21627 .wd-page-content .elementor-button-text,
.elementor-page-21627 .wd-page-content .elementor-button,
.elementor-page-21627 .wd-page-content .btn,
.elementor-page-21627 .wd-page-content .cvt-svc__all,
.elementor-page-21627 .wd-page-content .gh-swidget__cta-btn,
.elementor-page-21627 .wd-page-content .gsvc-panel__more,
.single-post .wd-page-content .elementor-button-text,
.single-post .wd-page-content .elementor-button,
.single-post .wd-page-content .btn,
.single-post .wd-page-content .cvt-svc__all,
.single-post .wd-page-content .gh-swidget__cta-btn,
.single-post .wd-page-content .gsvc-panel__more,
.single-portfolio .wd-page-content .elementor-button-text,
.single-portfolio .wd-page-content .elementor-button,
.single-portfolio .wd-page-content .btn,
.single-portfolio .wd-page-content .cvt-svc__all,
.single-portfolio .wd-page-content .gh-swidget__cta-btn,
.single-portfolio .wd-page-content .gsvc-panel__more,
.archive.category .wd-page-content .elementor-button-text,
.archive.category .wd-page-content .elementor-button,
.archive.category .wd-page-content .btn,
.archive.category .wd-page-content .cvt-svc__all,
.archive.category .wd-page-content .gh-swidget__cta-btn,
.archive.category .wd-page-content .gsvc-panel__more,
.post-type-archive-portfolio .wd-page-content .elementor-button-text,
.post-type-archive-portfolio .wd-page-content .elementor-button,
.post-type-archive-portfolio .wd-page-content .btn,
.post-type-archive-portfolio .wd-page-content .cvt-svc__all,
.post-type-archive-portfolio .wd-page-content .gh-swidget__cta-btn,
.post-type-archive-portfolio .wd-page-content .gsvc-panel__more,
.tax-project-cat .wd-page-content .elementor-button-text,
.tax-project-cat .wd-page-content .elementor-button,
.tax-project-cat .wd-page-content .btn,
.tax-project-cat .wd-page-content .cvt-svc__all,
.tax-project-cat .wd-page-content .gh-swidget__cta-btn,
.tax-project-cat .wd-page-content .gsvc-panel__more {
	text-transform: uppercase !important;
	letter-spacing: .05em !important;
}


/* Filtros de categoría de proyectos: tampoco en mayúscula */
.elementor-page-21325 .wd-page-content .nav-link-text,
.elementor-page-21325 .wd-page-content .wd-nav-portfolio a,
.elementor-page-21325 .wd-page-content .portfolio-filter a,
.elementor-page-21325 .wd-page-content .wd-project__arrow,
.elementor-page-21627 .wd-page-content .nav-link-text,
.elementor-page-21627 .wd-page-content .wd-nav-portfolio a,
.elementor-page-21627 .wd-page-content .portfolio-filter a,
.elementor-page-21627 .wd-page-content .wd-project__arrow,
.single-post .wd-page-content .nav-link-text,
.single-post .wd-page-content .wd-nav-portfolio a,
.single-post .wd-page-content .portfolio-filter a,
.single-post .wd-page-content .wd-project__arrow,
.single-portfolio .wd-page-content .nav-link-text,
.single-portfolio .wd-page-content .wd-nav-portfolio a,
.single-portfolio .wd-page-content .portfolio-filter a,
.single-portfolio .wd-page-content .wd-project__arrow,
.archive.category .wd-page-content .nav-link-text,
.archive.category .wd-page-content .wd-nav-portfolio a,
.archive.category .wd-page-content .portfolio-filter a,
.archive.category .wd-page-content .wd-project__arrow,
.post-type-archive-portfolio .wd-page-content .nav-link-text,
.post-type-archive-portfolio .wd-page-content .wd-nav-portfolio a,
.post-type-archive-portfolio .wd-page-content .portfolio-filter a,
.post-type-archive-portfolio .wd-page-content .wd-project__arrow,
.tax-project-cat .wd-page-content .nav-link-text,
.tax-project-cat .wd-page-content .wd-nav-portfolio a,
.tax-project-cat .wd-page-content .portfolio-filter a,
.tax-project-cat .wd-page-content .wd-project__arrow {
	text-transform: none !important;
	letter-spacing: .02em !important;
}


/* Etiqueta de categoría sobre la entrada */
.elementor-page-21325 .wd-page-content .wd-post-cat a,
.elementor-page-21325 .wd-page-content .wd-post-cat,
.elementor-page-21627 .wd-page-content .wd-post-cat a,
.elementor-page-21627 .wd-page-content .wd-post-cat,
.single-post .wd-page-content .wd-post-cat a,
.single-post .wd-page-content .wd-post-cat,
.single-portfolio .wd-page-content .wd-post-cat a,
.single-portfolio .wd-page-content .wd-post-cat,
.archive.category .wd-page-content .wd-post-cat a,
.archive.category .wd-page-content .wd-post-cat,
.post-type-archive-portfolio .wd-page-content .wd-post-cat a,
.post-type-archive-portfolio .wd-page-content .wd-post-cat,
.tax-project-cat .wd-page-content .wd-post-cat a,
.tax-project-cat .wd-page-content .wd-post-cat {
	text-transform: none !important;
	letter-spacing: .02em !important;
}


/* Antetítulos del hero de archivos y entradas */
.wd-page-content .gh-arch-hero__eyebrow,
.wd-page-content .gh-hero__eyebrow,
.wd-page-content .gh-proj-archive__eyebrow,
.wd-page-content .gh-arch-hero__count {
	text-transform: none !important;
	letter-spacing: .04em !important;
}

/* ==========================================================================
   Plantilla — Tarjeta destacada del blog en azul de marca (antes #0f141b)
   ========================================================================== */
.gh-featured { background: #002642 !important; }
.gh-featured .gh-card__label { color: #8fc2e6 !important; }
.gh-featured .gh-card__more { color: #8fc2e6 !important; }
.gh-featured__title a:hover { color: #8fc2e6 !important; }

/* ==========================================================================
   Plantilla — ARCHIVOS de blog (/category/) y de proyectos (/project-cat/)
   El hero arranca justo donde termina el encabezado: sin franja intermedia.
   El encabezado es overlay absoluto, así que el padding superior de
   .wd-content-layout se iguala a su altura exacta (112px, 104px por debajo
   de 1024px) y el contenedor .cvt-hub no añade espacio propio.
   ========================================================================== */
.archive.category .cvt-hub,
.post-type-archive-portfolio .cvt-hub,
.tax-project-cat .cvt-hub {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.archive.category .wd-content-layout,
.post-type-archive-portfolio .wd-content-layout,
.tax-project-cat .wd-content-layout { padding-top: 112px !important; }
@media (max-width: 1024px) {
	.archive.category .wd-content-layout,
	.post-type-archive-portfolio .wd-content-layout,
	.tax-project-cat .wd-content-layout { padding-top: 104px !important; }
}

/* Compensar la barra de administración de WordPress */
.admin-bar.archive.category .wd-content-layout,
.admin-bar.post-type-archive-portfolio .wd-content-layout,
.admin-bar.tax-project-cat .wd-content-layout { padding-top: 144px !important; }
@media (max-width: 1024px) {
	.admin-bar.archive.category .wd-content-layout,
	.admin-bar.post-type-archive-portfolio .wd-content-layout,
	.admin-bar.tax-project-cat .wd-content-layout { padding-top: 136px !important; }
}
@media (max-width: 782px) {
	.admin-bar.archive.category .wd-content-layout,
	.admin-bar.post-type-archive-portfolio .wd-content-layout,
	.admin-bar.tax-project-cat .wd-content-layout { padding-top: 150px !important; }
}

/* Las imágenes destacadas son banners 3:1 con la foto en el lado derecho.
   En las miniaturas de tarjeta (3:2) el recorte centrado dejaba a la vista el
   panel vacío, así que se desplaza el encuadre hacia la foto. */
.elementor-page-21325 .gh-card__thumb img,
.elementor-page-21325 .gh-featured__thumb img,
.single-post .gh-card__thumb img,
.single-portfolio .gh-card__thumb img,
.archive.category .gh-card__thumb img,
.post-type-archive-portfolio .gh-card__thumb img,
.tax-project-cat .gh-card__thumb img {
	object-position: 78% 50%;
}

/* Antetítulo y contador del hero de categorías de proyectos */
.wd-page-content .gh-proj-hero__eyebrow,
.wd-page-content .gh-proj-hero__count {
	text-transform: none !important;
	letter-spacing: .04em !important;
}

/* ==========================================================================
   Plantilla — HERO de los archivos (categorías de blog y de proyectos)
   Conservaba la paleta turquesa antigua (#0C2029 de base, acentos #7FE0E4 y
   #20ACB3), que chocaba con el azul de marca y hacía que la franja superior
   se leyera como un borde suelto. Se pasa todo a #002642 / #8FC2E6.
   ========================================================================== */
.gh-arch-hero,
.gh-proj-hero {
	background-color: #002642 !important;
}

/* Velo sobre la foto de la categoría: mismo azul, en vez del negro verdoso */
.gh-arch-hero::before {
	background-image:
		radial-gradient(120% 150% at 8% -10%, rgba(4, 81, 137, .30) 0%, rgba(4, 81, 137, 0) 46%),
		linear-gradient(135deg, rgba(0, 38, 66, .92) 0%, rgba(0, 38, 66, .72) 55%, rgba(0, 38, 66, .45) 100%) !important;
}
.gh-proj-hero::before {
	background-image:
		linear-gradient(90deg, rgba(0, 38, 66, .90) 0%, rgba(0, 38, 66, .72) 42%, rgba(0, 38, 66, .42) 100%),
		radial-gradient(120% 150% at 8% -10%, rgba(4, 81, 137, .30) 0%, rgba(4, 81, 137, 0) 46%) !important;
}

/* Resplandor decorativo */
.gh-arch-hero__glow {
	background-image: radial-gradient(circle, rgba(143, 194, 230, .28) 0%, rgba(143, 194, 230, 0) 68%) !important;
}

/* Acentos: antetítulo, iconos y viñetas */
.gh-arch-hero__eyebrow,
.gh-arch-hero__eyebrow svg,
.gh-arch-hero__i,
.gh-proj-hero__eyebrow,
.gh-proj-hero__badge svg {
	color: #8fc2e6 !important;
}
.gh-arch-hero__eyebrow::after { background: rgba(143, 194, 230, .55) !important; }
.gh-arch-hero__dot { background: #8fc2e6 !important; }

/* Distintivo y contador del hero de proyectos */
.gh-proj-hero__badge { background: rgba(4, 81, 137, .35) !important; }
.gh-proj-hero__count { color: #dbe9f5 !important; }

/* ==========================================================================
   Plantilla — MAPA DE COBERTURA REGIONAL (home)
   Panel a sangre completa: mapa de América a la izquierda y las siete
   direcciones con bandera a la derecha. La trama de puntos procede de
   Natural Earth 110m (dominio público) y va dibujada como un único trazo de
   segmentos degenerados con extremos redondeados.
   Las animaciones arrancan al entrar en pantalla (.is-visible) y solo se
   preparan si hay JavaScript (.cvt-js).
   ========================================================================== */
.cvt-mapa {
	/* rompe el contenedor de Elementor para ocupar todo el ancho */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	/* Las secciones vecinas dejan 50px de relleno arriba (y 40px abajo en
	   móvil). Como el panel va a sangre, ese aire se veía como una franja
	   blanca suelta: se absorbe para que el bloque quede pegado. */
	margin-top: -50px;
	margin-bottom: 0;
}

.cvt-mapa__panel {
	position: relative;
	background: radial-gradient(90% 70% at 20% 0%, #063a63 0%, rgba(6, 58, 99, 0) 60%), #002642;
	padding: 36px 5vw 32px;
	overflow: hidden;
}

.cvt-mapa__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 30px 5%;
	align-items: center;
	max-width: 1500px;
	margin: 0 auto;
}

/* ---- Lienzo del mapa ---- */
.cvt-mapa__lienzo { display: flex; justify-content: center; }
.cvt-mapa__svg {
	display: block;
	width: 100%;
	max-width: 440px;
	height: auto;
	overflow: visible;
}

.cvt-mapa__trama {
	fill: none;
	stroke: #8fc2e6;
	stroke-width: 6.4;
	stroke-linecap: round;
	opacity: .34;
	/* difumina el recorte de Canadá en el borde superior */
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 9%);
}

/* ---- Arcos desde la sede ---- */
.cvt-mapa__arco {
	fill: none;
	stroke: #8fc2e6;
	stroke-width: 2.6;
	stroke-linecap: round;
	opacity: .5;
}
.cvt-mapa.cvt-js .cvt-mapa__arco {
	stroke-dasharray: var(--cvt-largo);
	stroke-dashoffset: var(--cvt-largo);
}
.cvt-mapa.is-visible .cvt-mapa__arco {
	animation: cvtTrazo 1.9s cubic-bezier(.22, .61, .36, 1) forwards;
	animation-delay: calc(.3s + var(--cvt-i) * .22s);
}
@keyframes cvtTrazo { to { stroke-dashoffset: 0; } }

/* ---- Pines ---- */
.cvt-mapa__pin { cursor: pointer; }
.cvt-mapa.cvt-js .cvt-mapa__pin { opacity: 0; }
.cvt-mapa.is-visible .cvt-mapa__pin {
	animation: cvtEntraPin .6s cubic-bezier(.22, .61, .36, 1) forwards;
	animation-delay: calc(.15s + var(--cvt-i) * .13s);
}
@keyframes cvtEntraPin { from { opacity: 0; } to { opacity: 1; } }

.cvt-mapa__halo {
	fill: #8fc2e6;
	opacity: .14;
	transform-box: fill-box;
	transform-origin: center;
}
.cvt-mapa.cvt-js .cvt-mapa__halo { opacity: 0; }
.cvt-mapa.is-visible .cvt-mapa__halo {
	animation: cvtLatido 3.2s ease-out infinite;
	animation-delay: calc(1s + var(--cvt-i) * .38s);
}
@keyframes cvtLatido {
	0%   { transform: scale(.35); opacity: .38; }
	70%  { transform: scale(1.15); opacity: 0; }
	100% { transform: scale(1.15); opacity: 0; }
}

.cvt-mapa__aro   { fill: none; stroke: rgba(255, 255, 255, .5); stroke-width: 2; transition: stroke .25s ease; }
.cvt-mapa__punto { fill: #fff; transition: fill .25s ease; }
.cvt-mapa__pin.is-sede .cvt-mapa__punto { fill: #ffb519; }
.cvt-mapa__pin.is-sede .cvt-mapa__aro   { stroke: rgba(255, 181, 25, .75); }

.cvt-mapa__pin:hover .cvt-mapa__aro,
.cvt-mapa__pin.is-activa .cvt-mapa__aro   { stroke: #ffb519; }
.cvt-mapa__pin:hover .cvt-mapa__punto,
.cvt-mapa__pin.is-activa .cvt-mapa__punto { fill: #ffb519; }
.cvt-mapa__pin:focus { outline: none; }
.cvt-mapa__pin:focus-visible .cvt-mapa__aro { stroke: #fff; stroke-width: 3.5; }

.cvt-mapa__etq {
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif;
	font-size: 25px;
	font-weight: 700;
	fill: #fff;
	pointer-events: none;
}


/* ---- Cabecera del widget, dentro del panel ---- */
.cvt-mapa__cabecera {
	max-width: 780px;
	margin: 0 auto 22px;
	text-align: center;
}
.cvt-mapa__antetitulo {
	margin: 0 0 6px;
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .6px !important;
	text-transform: none !important;
	color: #8fc2e6 !important;
}
/* !important en todo el bloque: la tipografía de encabezados de WoodMart
   pinta los h2 en ámbar, en mayúsculas y a 25px, y gana por especificidad. */
.cvt-mapa__titulo {
	margin: 0 0 10px !important;
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif !important;
	font-size: 34px !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #fff !important;
}
.cvt-mapa__intro {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	text-transform: none !important;
	color: #b9cbdc !important;
}

/* ---- Lista de direcciones ---- */
.cvt-mapa__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2px;
}

.cvt-mapa__oficina {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 6px 14px;
	border-radius: 12px;
	border-left: 3px solid transparent;
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.cvt-mapa__oficina.is-sede { border-left-color: #ffb519; }
.cvt-mapa__oficina:hover,
.cvt-mapa__oficina.is-activa {
	background: rgba(143, 194, 230, .10);
	border-left-color: #ffb519;
	transform: translateX(3px);
}

.cvt-mapa__bandera-caja { flex: 0 0 auto; padding-top: 2px; }
.cvt-mapa__bandera {
	display: block;
	width: 32px;
	height: 22px;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .35);
}

.cvt-mapa__datos { display: block; min-width: 0; }

.cvt-mapa__pais {
	display: block;
	font-family: 'Montserrat', 'Kumbh Sans', sans-serif;
	font-size: 15.5px;
	line-height: 1.25;
	font-weight: 700;
	color: #fff;
	margin-bottom: 1px;
}
.cvt-mapa__sede {
	display: inline-block;
	margin-left: 9px;
	padding: 2px 9px;
	border-radius: 20px;
	background: rgba(255, 181, 25, .18);
	color: #ffc95c;
	font-size: 11px;
	font-weight: 600;
	vertical-align: middle;
}
.cvt-mapa__linea {
	/* en línea y separadas por un punto medio: cada oficina ocupa una sola
	   fila y el bloque queda mucho más compacto */
	display: inline;
	font-size: 13.5px;
	line-height: 1.45;
	color: #b9cbdc;
}
.cvt-mapa__linea + .cvt-mapa__linea::before {
	content: ' · ';
	color: #6f8ba6;
}

/* ---- Tableta y móvil ---- */
@media (max-width: 1024px) {
	.cvt-mapa__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.cvt-mapa__panel { padding: 30px 6vw 28px; }
	.cvt-mapa__svg { max-width: 400px; }
	.cvt-mapa__lista { max-width: 620px; margin: 0 auto; }
}

@media (max-width: 767px) {
	.cvt-mapa { margin-bottom: -40px; }
	.cvt-mapa__panel { padding: 26px 5vw 24px; }
	.cvt-mapa__svg { max-width: 340px; }
	.cvt-mapa__cabecera { margin-bottom: 16px; }
	.cvt-mapa__titulo { font-size: 25px !important; }
	.cvt-mapa__intro { font-size: 13.5px !important; line-height: 1.5 !important; }
	.cvt-mapa__antetitulo { font-size: 12.5px !important; letter-spacing: .4px !important; }
	.cvt-mapa__etq { font-size: 38px; }
	.cvt-mapa__trama { stroke-width: 7.2; }
	.cvt-mapa__halo { r: 34; }
	.cvt-mapa__oficina { gap: 12px; padding: 8px 10px; }
	.cvt-mapa__pais { font-size: 15px; }
	.cvt-mapa__linea { font-size: 13px; }
	.cvt-mapa__sede { display: inline-block; margin: 5px 0 0; }
	.cvt-mapa__pais { display: flex; flex-direction: column; align-items: flex-start; }
}


/* ---- Movimiento reducido: estado final, sin animación ---- */
@media (prefers-reduced-motion: reduce) {
	.cvt-mapa.is-visible .cvt-mapa__arco,
	.cvt-mapa.is-visible .cvt-mapa__pin,
	.cvt-mapa.is-visible .cvt-mapa__halo { animation: none !important; }
	.cvt-mapa.cvt-js .cvt-mapa__arco { stroke-dashoffset: 0; }
	.cvt-mapa.cvt-js .cvt-mapa__pin  { opacity: 1; }
	.cvt-mapa.cvt-js .cvt-mapa__halo { opacity: .16; }
	.cvt-mapa__oficina:hover, .cvt-mapa__oficina.is-activa { transform: none; }
}


/* ===== COMPONENTE AYC-FICHA (tarjetas) — importado de la referencia AyC ===== */
@keyframes ayc-destello{from { background-position: 130% 0; }
	to { background-position: -40% 0; }}
@keyframes ayc-ficha-pulso{0% { transform: scale(1); opacity: 0.3; }
	70% { transform: scale(1.4); opacity: 0; }
	100% { transform: scale(1.4); opacity: 0; }}
@keyframes ayc-mas-onda{0% { box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.26); }
	70% { box-shadow: 0 0 0 8px rgba(201, 162, 39, 0); }
	100% { box-shadow: 0 0 0 0 rgba(201, 162, 39, 0); }}
.ayc-fichas{--ayc-contenido: 350px;}
.ayc-fichas--corta{--ayc-contenido: 200px;}
.ayc-fichas--media{--ayc-contenido: 260px;}
.ayc-fichas--larga{--ayc-contenido: 300px;}
.ayc-fichas--xl{--ayc-contenido: 360px;}
.ayc-ficha{position: relative;
	
	min-width: 0;}
.ayc-ficha > .elementor-widget-wrap{position: relative;
	overflow: hidden;
	width: 100%;
	min-width: 0;
	
	min-height: calc(var(--ayc-contenido, 350px) + 190px);
	
	background-color: #14213f;
	display: flex;
	flex-direction: column;
	
	justify-content: flex-end;
	
	cursor: pointer;
	transition:
		transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.8s cubic-bezier(0.16, 1, 0.3, 1),
		filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-ficha > .elementor-widget-wrap::before{content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	transform: scale(1);
	transform-origin: center;
	will-change: transform;
	transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-ficha > .elementor-widget-wrap::after{content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(to top, rgba(11, 20, 43, 0.94) 0%, rgba(11, 20, 43, 0.58) 42%, rgba(11, 20, 43, 0.1) 100%);
	
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-fichas .ayc-ficha.elementor-column > .elementor-widget-wrap.elementor-element-populated
	> .elementor-background-overlay{inset: auto 0 0 0;
	height: calc(var(--ayc-contenido, 350px) + 60px);
	border-radius: 0;
	
	background: linear-gradient(
		to top,
		rgba(11, 20, 40, 0.96) 0%,
		rgba(11, 20, 40, 0.95) 40%,
		rgba(11, 20, 40, 0.94) 62%,
		rgba(11, 20, 40, 0.8) 70%,
		rgba(11, 20, 40, 0.6) 78%,
		rgba(11, 20, 40, 0.4) 85%,
		rgba(11, 20, 40, 0.22) 91%,
		rgba(11, 20, 40, 0.08) 96%,
		rgba(11, 20, 40, 0) 100%
	);
	opacity: 0;
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-fichas .ayc-ficha.elementor-column > .elementor-widget-wrap.elementor-element-populated
	> .elementor-background-overlay::before{content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -130px;
	bottom: 0;
	pointer-events: none;
	background: linear-gradient(
		105deg,
		transparent 38%,
		rgba(255, 255, 255, 0.1) 46%,
		rgba(255, 255, 255, 0.22) 50%,
		rgba(255, 255, 255, 0.1) 54%,
		transparent 62%
	);
	background-size: 250% 100%;
	background-position: 130% 0;
	will-change: background-position;}
.ayc-fichas .ayc-ficha.elementor-column:is(:hover, :focus-within, .is-open)
	> .elementor-widget-wrap.elementor-element-populated > .elementor-background-overlay::before{animation: ayc-destello 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.25s 1 both;}
.ayc-ficha > .elementor-widget-wrap > .elementor-element{position: relative;
	z-index: 1;}
.ayc-ficha::before{content: "";
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid rgba(201, 162, 39, 0.5);
	pointer-events: none;
	opacity: 0;
	will-change: transform, opacity;
	animation: ayc-ficha-pulso 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;}
.ayc-ficha:is(:hover, :focus-within, .is-open)::before{animation: none;
	opacity: 0;}
.ayc-ficha::after{content: "";
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid rgba(201, 162, 39, 0.8);
	background:
		linear-gradient(currentColor, currentColor) center / 9px 1.5px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1.5px 9px no-repeat;
	
	background-color: rgba(9, 16, 36, 0.55);
	color: #f4dc98;
	pointer-events: none;
	backdrop-filter: blur(3px);
	
	animation: ayc-mas-onda 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite 1.3s;
	transition:
		transform 0.7s cubic-bezier(0.16, 1, 0.3, 1),
		background-color 0.5s ease,
		border-color 0.5s ease;}
.ayc-ficha .elementor-widget-heading{transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-ficha .elementor-heading-title{text-wrap: balance;
	
	overflow-wrap: break-word;}
.ayc-ficha .elementor-widget-heading::after{content: "";
	display: block;
	height: 2px;
	width: 0;
	margin-top: 10px;
	border-radius: 2px;
	background: #c9a227;
	transition:
		width 0.8s cubic-bezier(0.16, 1, 0.3, 1),
		height 0.6s cubic-bezier(0.16, 1, 0.3, 1),
		margin-top 0.6s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-ficha .elementor-widget-text-editor{display: grid;
	grid-template-rows: 0fr;
	margin-top: 0;
	transition:
		grid-template-rows 0.8s cubic-bezier(0.16, 1, 0.3, 1),
		margin-top 0.8s cubic-bezier(0.16, 1, 0.3, 1),
		margin-bottom 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.ayc-ficha .elementor-widget-text-editor > .elementor-widget-container{overflow: hidden;
	min-height: 0;
	opacity: 0;
	transform: translateY(14px);
	
	filter: blur(7px);
	
	transition:
		opacity 0.55s ease 0.14s,
		filter 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.14s,
		transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.14s;}
.ayc-ficha .elementor-widget-text-editor p{font-size: 13px;
	line-height: 1.55;}
.ayc-ficha .elementor-button.elementor-button{padding: 8px 18px;
	font-size: 11px;}
.ayc-ficha:has(.elementor-button) .elementor-widget-heading::after{height: 0;
	margin-top: 0;}
.ayc-ficha:has(.elementor-button) .elementor-widget-text-editor{margin-bottom: 8px;}
.ayc-ficha:has(.elementor-button):is(:hover, :focus-within, .is-open) .elementor-widget-heading::after{height: 2px;
	margin-top: 10px;}
.ayc-ficha:has(.elementor-button):is(:hover, :focus-within, .is-open) .elementor-widget-text-editor{margin-bottom: 20px;}
.ayc-ficha:is(:hover, :focus-within, .is-open) > .elementor-widget-wrap{transform: translateY(-10px);
	
	box-shadow:
		0 32px 60px -28px rgba(9, 16, 36, 0.92),
		0 0 46px -12px rgba(201, 162, 39, 0.28);}
.ayc-ficha:is(:hover, :focus-within, .is-open) > .elementor-widget-wrap::before{transform: scale(1.1);
	filter: saturate(1.08);}
.ayc-ficha:is(:hover, :focus-within, .is-open) > .elementor-widget-wrap::after{opacity: 0;}
.ayc-fichas .ayc-ficha.elementor-column:is(:hover, :focus-within, .is-open)
	> .elementor-widget-wrap.elementor-element-populated > .elementor-background-overlay{opacity: 1;}
.ayc-ficha:is(:hover, :focus-within, .is-open) .elementor-widget-heading::after{width: 46px;}
.ayc-ficha:is(:hover, :focus-within, .is-open) .elementor-widget-text-editor{grid-template-rows: 1fr;
	margin-top: 12px;}
.ayc-ficha:is(:hover, :focus-within, .is-open) .elementor-widget-text-editor > .elementor-widget-container{opacity: 1;
	transform: none;
	filter: blur(0);}
.ayc-ficha:is(:hover, :focus-within, .is-open)::after{animation: none;
	transform: rotate(135deg);
	background-color: rgba(201, 162, 39, 0.95);
	border-color: rgba(201, 162, 39, 0.95);
	color: #0b1428;
	box-shadow: 0 0 0 5px rgba(201, 162, 39, 0.14);}
.ayc-fichas:has(.ayc-ficha:is(:hover, :focus-within, .is-open))
	.ayc-ficha:not(:hover, :focus-within, .is-open) > .elementor-widget-wrap{transform: scale(0.97);
	filter: saturate(0.5) brightness(0.68);}
.ayc-ficha:focus-visible > .elementor-widget-wrap{outline: 3px solid #c9a227;
	outline-offset: 3px;}
@media (max-width: 1024px){
  .ayc-fichas .ayc-ficha.elementor-column{padding-top: 0 !important;}
  .ayc-fichas .elementor-container:has(> .ayc-ficha){row-gap: 20px;}
}
@media (max-width: 767px){
  .ayc-ficha > .elementor-widget-wrap{min-height: 300px;}
}
@media (prefers-reduced-motion: reduce){
  .ayc-ficha > .elementor-widget-wrap,
	.ayc-ficha > .elementor-widget-wrap::before,
	.ayc-ficha > .elementor-widget-wrap::after,
	.ayc-fichas .ayc-ficha.elementor-column > .elementor-widget-wrap > .elementor-background-overlay,
	.ayc-ficha .elementor-widget-heading,
	.ayc-ficha .elementor-widget-heading::after,
	.ayc-ficha .elementor-widget-text-editor,
	.ayc-ficha .elementor-widget-text-editor > .elementor-widget-container,
	.ayc-ficha::after{transition: none;}
  .ayc-ficha::before{animation: none;
		opacity: 0.45;}
  .ayc-fichas .ayc-ficha.elementor-column:is(:hover, :focus-within, .is-open)
		> .elementor-widget-wrap.elementor-element-populated > .elementor-background-overlay::before{animation: none;
		opacity: 0;}
  .ayc-ficha::after{animation: none;}
  .ayc-ficha:is(:hover, :focus-within, .is-open) > .elementor-widget-wrap{transform: none;}
  .ayc-ficha:is(:hover, :focus-within, .is-open) > .elementor-widget-wrap::before{transform: none;}
  .ayc-ficha .elementor-widget-text-editor > .elementor-widget-container{filter: none;}
  .ayc-fichas:has(.ayc-ficha:is(:hover, :focus-within, .is-open))
		.ayc-ficha:not(:hover, :focus-within, .is-open) > .elementor-widget-wrap{transform: none;
		filter: none;}
}