/* 
Theme Name: KONTECA Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================
   KONTECA | Sistema visual base
   ========================================================== */

:root {
	--u-0: 0;
	--u-1: 0.25rem;
	--u-2: 0.5rem;
	--u-3: 1rem;
	--u-4: 1.5rem;
	--u-5: 3rem;

	--konteca-color-primary: var(--e-global-color-primary);
	--konteca-color-secondary: var(--e-global-color-secondary);
	--konteca-color-text: var(--e-global-color-text);
	--konteca-color-surface: #f3f5f6;
	--konteca-color-white: #ffffff;
	--konteca-color-dark-soft: #121212;
	--konteca-color-border: rgba(0, 0, 0, 0.08);
	--konteca-color-border-strong: rgba(0, 0, 0, 0.14);
	--konteca-color-text-soft: rgba(46, 45, 45, 0.74);
	--konteca-shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.06);
	--konteca-shadow-hover: 0 18px 42px rgba(0, 0, 0, 0.12);
	--konteca-radius-s: 10px;
	--konteca-radius-m: 16px;
	--konteca-radius-l: 22px;
}

body {
	background-color: var(--konteca-color-surface);
	color: var(--konteca-color-text);
}

p,
li {
	color: var(--konteca-color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--konteca-color-secondary);
	letter-spacing: -0.02em;
}

a {
	transition:
		color 0.25s ease,
		opacity 0.25s ease,
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

/* Helpers existentes */
.blanco {
	color: #fff;
}

.blanco a {
	color: #fff;
	font-weight: 300;
}

.blanco a:link {
	color: #fff;
}

.blanco a:hover {
	color: var(--e-global-color-secondary);
}

.primary {
	color: var(--e-global-color-primary);
}

.primary a {
	color: var(--e-global-color-primary);
}

.primary a:link {
	color: var(--e-global-color-primary);
}

.primary a:hover {
	color: var(--e-global-color-secondary) !important;
}

.secondary {
	color: var(--e-global-color-secondary);
}

.secondary a {
	color: var(--e-global-color-secondary);
}

.secondary a:link {
	color: var(--e-global-color-secondary);
}

.secondary a:hover {
	color: var(--e-global-color-primary) !important;
}

/* ==========================================================
   Secciones y cards premium
   ========================================================== */

.bg-konteca-dark,
.seccion-premium-konteca {
	background: linear-gradient(135deg, #000000 0%, #121212 100%);
	color: var(--konteca-color-white);
}

.bg-konteca-dark h1,
.bg-konteca-dark h2,
.bg-konteca-dark h3,
.bg-konteca-dark h4,
.seccion-premium-konteca h1,
.seccion-premium-konteca h2,
.seccion-premium-konteca h3,
.seccion-premium-konteca h4 {
	color: var(--konteca-color-white);
}

.bg-konteca-dark p,
.bg-konteca-dark li,
.seccion-premium-konteca p,
.seccion-premium-konteca li {
	color: rgba(255, 255, 255, 0.78);
}

.bg-konteca-dark a:not(.elementor-button):not(.btn-animado):not(.btn-servicios-elegante),
.seccion-premium-konteca a:not(.elementor-button):not(.btn-animado):not(.btn-servicios-elegante) {
	color: #ffffff;
}

.bg-konteca-dark a:not(.elementor-button):not(.btn-animado):not(.btn-servicios-elegante):hover,
.seccion-premium-konteca a:not(.elementor-button):not(.btn-animado):not(.btn-servicios-elegante):hover {
	color: var(--konteca-color-primary);
}

.card-konteca,
.card-premium-konteca {
	background-color: var(--konteca-color-white);
	border: 1px solid var(--konteca-color-border);
	border-radius: var(--konteca-radius-m);
	box-shadow: var(--konteca-shadow-soft);
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease;
}

.card-konteca:hover,
.card-konteca:focus-within,
.card-premium-konteca:hover,
.card-premium-konteca:focus-within {
	transform: translateY(-4px);
	border-color: var(--konteca-color-border-strong);
	box-shadow: var(--konteca-shadow-hover);
}

.card-konteca-dark {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 48%, #151515 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--konteca-radius-m);
	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	color: #ffffff;
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease;
}

.card-konteca-dark:hover,
.card-konteca-dark:focus-within {
	transform: translateY(-4px);
	border-color: rgba(255, 92, 0, 0.34);
	box-shadow:
		0 20px 42px rgba(0, 0, 0, 0.30),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.eyebrow-konteca {
	display: inline-block;
	margin-bottom: 0.7rem;
	color: var(--konteca-color-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ==========================================================
   Botones
   ========================================================== */

/* CTA servicios */
.btn-servicios-elegante {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.9rem 1.4rem;
	border: 1px solid var(--e-global-color-primary);
	border-radius: 999px;
	background: transparent;
	color: var(--e-global-color-primary);
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	transition:
		background-color 0.3s ease,
		color 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.btn-servicios-elegante strong {
	font-weight: 600;
}

.btn-servicios-elegante:hover,
.btn-servicios-elegante:focus {
	background-color: var(--e-global-color-primary);
	color: #ffffff;
	border-color: var(--e-global-color-primary);
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
	text-decoration: none;
}

.btn-servicios-elegante:focus-visible {
	outline: 2px solid var(--e-global-color-secondary);
	outline-offset: 3px;
}

.btn-servicios-elegante span {
	display: inline-block;
	transition: transform 0.3s ease;
}

.btn-servicios-elegante:hover span,
.btn-servicios-elegante:focus span {
	transform: translateX(4px);
}

.blanco .btn-servicios-elegante {
	border-color: #ffffff;
	color: #ffffff;
	box-shadow: 0 8px 24px rgba(255, 255, 255, 0.08);
}

.blanco .btn-servicios-elegante:hover,
.blanco .btn-servicios-elegante:focus {
	background-color: #ffffff;
	color: var(--e-global-color-primary);
	border-color: #ffffff;
}

/* Botón secundario compacto */
.btn-animado {
	display: inline-flex;
	margin-bottom: 16px;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.55rem 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%),
		linear-gradient(135deg, #10202f 0%, #0b1621 55%, #071019 100%);
	color: #ffffff !important;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
	box-shadow:
		0 8px 18px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease,
		color 0.25s ease;
}

.btn-animado::after {
	content: "\2192";
	display: inline-block;
	width: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateX(-4px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		width 0.25s ease;
	line-height: 1;
}

.btn-animado:hover,
.btn-animado:focus {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #ff5c00 0%, #e65300 100%);
	border-color: var(--e-global-color-primary);
	color: #ffffff !important;
	box-shadow:
		0 12px 26px rgba(255, 92, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	transform: translateY(-1px);
	text-decoration: none;
}

.btn-animado:hover::after,
.btn-animado:focus::after {
	width: 0.8em;
	opacity: 1;
	transform: translateX(0);
}

.btn-animado:focus-visible {
	outline: 2px solid var(--e-global-color-primary);
	outline-offset: 2px;
}

.blanco .btn-animado {
	box-shadow:
		0 8px 18px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Botones premium reutilizables Elementor */
.elementor-button {
	border-radius: 999px;
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.elementor-button:hover,
.elementor-button:focus {
	transform: translateY(-1px);
}

.elementor-button.btn-principal-premium,
.btn-principal-premium {
	background-color: var(--konteca-color-primary);
	border: 1px solid var(--konteca-color-primary);
	color: #ffffff;
	box-shadow: 0 8px 22px rgba(255, 92, 0, 0.22);
}

.elementor-button.btn-principal-premium:hover,
.elementor-button.btn-principal-premium:focus,
.btn-principal-premium:hover,
.btn-principal-premium:focus {
	background-color: #e65300;
	border-color: #e65300;
	color: #ffffff;
	box-shadow: 0 12px 28px rgba(255, 92, 0, 0.28);
}

.elementor-button.btn-secundario-premium,
.btn-secundario-premium {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%),
		linear-gradient(135deg, #000000 0%, #0a0a0a 55%, #181818 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #ffffff;
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.elementor-button.btn-secundario-premium:hover,
.elementor-button.btn-secundario-premium:focus,
.btn-secundario-premium:hover,
.btn-secundario-premium:focus {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #ff5c00 0%, #e65300 100%);
	border-color: var(--konteca-color-primary);
	color: #ffffff;
	box-shadow:
		0 12px 28px rgba(255, 92, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* ==========================================================
   Grid elegante icon-box Elementor
   ========================================================== */

.grid-konteca-elegante .elementor-widget-icon-box .elementor-widget-container {
	height: 100%;
}

.grid-konteca-elegante .elementor-icon-box-wrapper {
	position: relative;
	height: 100%;
	padding: 1.35rem 1.2rem;
	background-color: #ffffff;
	border: 1px solid var(--konteca-color-border);
	border-radius: var(--konteca-radius-m);
	box-shadow: var(--konteca-shadow-soft);
	overflow: hidden;
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease;
}

.grid-konteca-elegante .elementor-icon-box-wrapper::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--konteca-color-primary);
	opacity: 0.95;
}

.grid-konteca-elegante .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
.grid-konteca-elegante .elementor-widget-icon-box:focus-within .elementor-icon-box-wrapper {
	transform: translateY(-4px);
	border-color: var(--konteca-color-border-strong);
	box-shadow: var(--konteca-shadow-hover);
}

.grid-konteca-elegante .elementor-icon-box-title a {
	color: var(--konteca-color-secondary);
	text-decoration: none;
	transition: color 0.25s ease;
}

.grid-konteca-elegante .elementor-widget-icon-box:hover .elementor-icon-box-title a,
.grid-konteca-elegante .elementor-widget-icon-box:focus-within .elementor-icon-box-title a {
	color: var(--konteca-color-primary);
}

.grid-konteca-elegante .elementor-icon-box-description {
	color: var(--konteca-color-text-soft);
}


.grid-datos-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 150px;
	padding: 1.6rem 1.5rem 1.4rem;
	border: 1px solid rgba(255, 255, 255, 0.30);
	border-radius: 12px;
	background-color: var(--konteca-color-white);
	text-decoration: none;
	overflow: hidden;
  color: var(--konteca-color-text-soft);
}


.grid-metodo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 150px;
	padding: 1.6rem 1.5rem 1.4rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: var(--konteca-color-primary);
	text-decoration: none;
	overflow: hidden;
  color: var(--konteca-color-surface);
}


/* ==========================================================
   Grid premium SEO productos / soluciones náuticas
   ========================================================== */

.grid-yates-premium-3{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}
   .grid-yates-premium {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.grid-yates-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 50px;
	padding: 1.6rem 1.5rem 1.4rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%),
		linear-gradient(135deg, #10202f 0%, #0b1621 55%, #071019 100%);
	box-shadow:
		0 14px 34px rgba(4, 10, 18, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
	text-decoration: none;
	overflow: hidden;
	transition:
		transform 0.32s ease,
		box-shadow 0.32s ease,
		border-color 0.32s ease,
		background 0.32s ease;
}

.grid-yates-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(255, 92, 0, 0.12) 0%, rgba(255, 92, 0, 0) 35%);
	opacity: 0.85;
	pointer-events: none;
}

.grid-yates-card::after {
	content: "\2192";
	position: absolute;
	right: 1.35rem;
	bottom: 1.2rem;
	font-size: 1rem;
	line-height: 1;
	font-weight: 600;
	color: var(--e-global-color-primary);
	opacity: 0;
	transform: translateX(-8px);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease;
	pointer-events: none;
}

.grid-yates-card:hover,
.grid-yates-card:focus-visible {
	transform: translateY(-6px);
	border-color: rgba(255, 92, 0, 0.35);
	box-shadow:
		0 22px 48px rgba(4, 10, 18, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

.grid-yates-card:hover::after,
.grid-yates-card:focus-visible::after {
	opacity: 1;
	transform: translateX(0);
}

.grid-yates-card__eyebrow {
	position: relative;
	display: inline-block;
	margin-bottom: 0.85rem;
	padding-bottom: 0.5rem;
	color: var(--e-global-color-primary);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1;
	text-transform: uppercase;
}

.grid-yates-card__eyebrow::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 1px;
	background: linear-gradient(90deg, var(--e-global-color-primary) 0%, rgba(255, 92, 0, 0.15) 100%);
}

.grid-yates-card__title {
	display: block;
	margin: 0 0 0.7rem;
	color: #ffffff;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
  text-transform: uppercase;
}

.grid-yates-card__text {
	display: block;
	max-width: 32ch;
	padding-right: 1.6rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.65;
}

.grid-yates-card:focus-visible {
	outline: 2px solid var(--e-global-color-primary);
	outline-offset: 4px;
}

.grid-yates-card:hover .grid-yates-card__title,
.grid-yates-card:focus-visible .grid-yates-card__title {
	color: #f7f3e8;
}

@media (max-width: 1024px) {
	.grid-yates-premium-3 {
		gap: 1.2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
	}
  .grid-yates-premium {
		gap: 1.2rem;
	}

	.grid-yates-card {
		min-height: 220px;
		padding: 1.4rem 1.3rem 1.25rem;
	}

	.grid-yates-card__title {
		font-size: 1.15rem;
	}

	.grid-yates-card__text {
		font-size: 0.92rem;
	}
}

@media (max-width: 767px) {
	.grid-yates-premium-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

  .grid-yates-premium {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.grid-yates-card {
		min-height: auto;
		padding: 1.25rem 1.1rem 1.1rem;
		border-radius: 18px;
	}

	.grid-yates-card__eyebrow {
		font-size: 0.68rem;
		letter-spacing: 0.14em;
	}

	.grid-yates-card__title {
		font-size: 1.08rem;
	}

	.grid-yates-card__text {
		max-width: none;
		padding-right: 1.4rem;
		font-size: 0.9rem;
		line-height: 1.55;
	}

	.grid-yates-card::after {
		right: 1.1rem;
		bottom: 1rem;
	}
}


/* ==========================================================
   KONTECA | Grid proyectos y puertos
   ========================================================== */

.konteca-trabajos-grid,
.konteca-puertos-grid {
	display: grid;
	gap: 1.25rem;
}

.konteca-trabajos-grid.columns-1,
.konteca-puertos-grid.columns-1 {
	grid-template-columns: 1fr;
}

.konteca-trabajos-grid.columns-2,
.konteca-puertos-grid.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.konteca-trabajos-grid.columns-3,
.konteca-puertos-grid.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.konteca-trabajos-grid.columns-4,
.konteca-puertos-grid.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.konteca-trabajo-card,
.konteca-puerto-card {
	position: relative;
}

.konteca-trabajo-card__link,
.konteca-puerto-card__link {
	position: relative;
	display: block;
	width: 100%;
	min-height: 340px;
	aspect-ratio: 4 / 5;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition:
		transform 0.32s ease,
		box-shadow 0.32s ease,
		border-color 0.32s ease;
	isolation: isolate;
}

.konteca-trabajo-card__link:hover,
.konteca-trabajo-card__link:focus-visible,
.konteca-puerto-card__link:hover,
.konteca-puerto-card__link:focus-visible {
	transform: translateY(-6px);
	border-color: rgba(255, 92, 0, 0.35);
	box-shadow:
		0 22px 48px rgba(0, 0, 0, 0.30),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.konteca-trabajos-grid.columns-2 .konteca-trabajo-card__link,
.konteca-puertos-grid.columns-2 .konteca-puerto-card__link {
	aspect-ratio: 16 / 10;
}

.konteca-trabajos-grid.columns-3 .konteca-trabajo-card__link,
.konteca-puertos-grid.columns-3 .konteca-puerto-card__link {
	aspect-ratio: 4 / 5;
}

.konteca-trabajos-grid.columns-4 .konteca-trabajo-card__link,
.konteca-puertos-grid.columns-4 .konteca-puerto-card__link {
	aspect-ratio: 3 / 4;
}

/* CONTENEDOR MEDIA */
.konteca-trabajo-card__media,
.konteca-puerto-card__media {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
	z-index: 0;
}

/* IMAGEN REAL */
.konteca-trabajo-card__media img,
.konteca-puerto-card__media img,
.konteca-trabajo-card__image,
.konteca-puerto-card__image {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	opacity: 0.96;
	filter: brightness(0.72) saturate(1.02);
	transform: scale(1);
	transition:
		transform 0.5s ease,
		opacity 0.35s ease,
		filter 0.35s ease;
}

.konteca-trabajo-card__placeholder,
.konteca-puerto-card__placeholder {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #111111 0%, #1c1c1c 100%);
}

.konteca-trabajo-card__link:hover .konteca-trabajo-card__media img,
.konteca-trabajo-card__link:focus-visible .konteca-trabajo-card__media img,
.konteca-puerto-card__link:hover .konteca-puerto-card__media img,
.konteca-puerto-card__link:focus-visible .konteca-puerto-card__media img,
.konteca-trabajo-card__link:hover .konteca-trabajo-card__image,
.konteca-trabajo-card__link:focus-visible .konteca-trabajo-card__image,
.konteca-puerto-card__link:hover .konteca-puerto-card__image,
.konteca-puerto-card__link:focus-visible .konteca-puerto-card__image {
	opacity: 1;
	filter: brightness(0.62) saturate(1.06);
	transform: scale(1.04);
}

/* OVERLAY MÁS SUAVE */
.konteca-trabajo-card__overlay,
.konteca-puerto-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.14) 40%, rgba(0, 0, 0, 0.62) 100%),
		linear-gradient(120deg, rgba(255, 92, 0, 0.08) 0%, rgba(255, 92, 0, 0) 38%);
	pointer-events: none;
}

.konteca-trabajo-card__content,
.konteca-puerto-card__content {
	position: absolute;
	left: 1.35rem;
	right: 1.35rem;
	bottom: 1.25rem;
	z-index: 2;
	padding-right: 3.5rem;
}

.konteca-trabajo-card__title,
.konteca-puerto-card__title {
	margin: 0 0 0.55rem;
	color: #ffffff;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

.konteca-trabajo-card__excerpt,
.konteca-puerto-card__excerpt {
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 0.92rem;
	line-height: 1.55;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
  line-clamp: 2;
	-webkit-box-orient: vertical;
}

.konteca-puerto-card__meta {
	display: block;
	margin: 0 0 0.45rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.konteca-trabajo-card__arrow,
.konteca-puerto-card__arrow {
	position: absolute;
	right: 0;
	bottom: 0.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--e-global-color-primary, #ff5c00);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	transform: translateX(-8px);
	transition:
		transform 0.28s ease,
		opacity 0.28s ease,
		border-color 0.28s ease,
		background-color 0.28s ease,
		color 0.28s ease;
}

.konteca-trabajo-card__link:hover .konteca-trabajo-card__arrow,
.konteca-trabajo-card__link:focus-visible .konteca-trabajo-card__arrow,
.konteca-puerto-card__link:hover .konteca-puerto-card__arrow,
.konteca-puerto-card__link:focus-visible .konteca-puerto-card__arrow {
	opacity: 1;
	transform: translateX(0);
	border-color: rgba(255, 92, 0, 0.34);
	background: rgba(255, 92, 0, 0.10);
	color: #ffffff;
}

.konteca-trabajo-card__link:focus-visible,
.konteca-puerto-card__link:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #ff5c00);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.konteca-trabajos-grid.columns-3,
	.konteca-trabajos-grid.columns-4,
	.konteca-puertos-grid.columns-3,
	.konteca-puertos-grid.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.konteca-trabajo-card__link,
	.konteca-puerto-card__link {
		min-height: 300px;
		aspect-ratio: 4 / 5;
		border-radius: 16px;
	}
}

@media (max-width: 767px) {
	.konteca-trabajos-grid.columns-2,
	.konteca-trabajos-grid.columns-3,
	.konteca-trabajos-grid.columns-4,
	.konteca-puertos-grid.columns-2,
	.konteca-puertos-grid.columns-3,
	.konteca-puertos-grid.columns-4 {
		grid-template-columns: 1fr;
	}

	.konteca-trabajo-card__link,
	.konteca-puerto-card__link {
		min-height: 180px;
		aspect-ratio: 4 / 5;
		border-radius: 14px;
	}

	.konteca-trabajo-card__content,
	.konteca-puerto-card__content {
		left: 1rem;
		right: 1rem;
		bottom: 1rem;
		padding-right: 3.25rem;
	}

	.konteca-trabajo-card__arrow,
	.konteca-puerto-card__arrow {
		opacity: 1;
		transform: none;
		width: 40px;
		height: 40px;
	}
}


/* ==========================================================
   SINGLE PROYECTO | KONTECA Premium
   ========================================================== */

.single-proyecto-hero {
	position: relative;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.72) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	overflow: hidden;
}

.single-proyecto-hero .elementor-heading-title {
	color: #ffffff;
}

.single-proyecto-hero .texto-resumen,
.single-proyecto-hero p {
	color: rgba(255, 255, 255, 0.82);
}

.single-proyecto-eyebrow {
	display: inline-block;
	margin-bottom: 0.85rem;
	color: var(--e-global-color-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-proyecto-datos-rapidos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: 1.25rem;
}

.single-proyecto-dato {
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.single-proyecto-dato-label {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--e-global-color-primary);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}

.single-proyecto-dato-value {
	display: block;
	color: #ffffff;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

.single-proyecto-ficha {
	padding: 4rem 0;
}

.single-proyecto-ficha-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.single-proyecto-ficha-item {
	padding: 1rem 1rem 0.95rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.single-proyecto-ficha-label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--e-global-color-primary);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.single-proyecto-ficha-value {
	display: block;
	color: #111111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.single-proyecto-contenido {
	padding: 2.5rem 0 4rem;
}

.single-proyecto-contenido .elementor-widget-theme-post-content,
.single-proyecto-contenido .elementor-widget-text-editor {
	max-width: 860px;
}

.single-proyecto-relacionados {
	padding: 4rem 0;
	background-color: #f3f5f6;
}

.single-proyecto-cta {
	padding: 4rem 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	color: #ffffff;
}

.single-proyecto-cta h2,
.single-proyecto-cta h3,
.single-proyecto-cta p {
	color: #ffffff;
}

@media (max-width: 1024px) {
	.single-proyecto-ficha-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.single-proyecto-datos-rapidos {
		flex-direction: column;
	}

	.single-proyecto-ficha-grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================
   FICHA PROYECTO v02
   proyecto - shortcodes 
   [konteca_proyecto_intro]   [konteca_proyecto_detalle]  [konteca_proyecto_servicios]
   ========================================================== */
.konteca-proyecto-intro__summary p,
.konteca-proyecto-detalle__subtitle p {
	margin: 0 0 1rem;
	line-height: 1.7;
}

.konteca-proyecto-intro__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.konteca-proyecto-intro__item,
.konteca-proyecto-detalle__highlight {
	padding: 1rem;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.konteca-proyecto-intro__item--dark {
	border: 1px solid rgba(255, 255, 255, 0.08);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.konteca-proyecto-intro__item--link {
	display: block;
	text-decoration: none;
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.konteca-proyecto-intro__item--link:hover,
.konteca-proyecto-intro__item--link:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(255, 92, 0, 0.22);
	box-shadow:
		0 18px 38px rgba(0, 0, 0, 0.26),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	text-decoration: none;
	outline: 2px solid transparent;
}

.konteca-proyecto-intro__label,
.konteca-proyecto-detalle__highlight-label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.konteca-proyecto-intro__value {
	display: block;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
}

.konteca-proyecto-detalle__highlight {
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: #ffffff;
}

.konteca-proyecto-detalle__highlight-text {
	display: block;
	color: #111111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
}

.konteca-proyecto-detalle__highlights {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.konteca-proyecto-servicios__title {
	margin: 0 0 1rem;
}

.konteca-proyecto-servicios__list {
	display: grid;
	gap: 0.75rem;
}

.konteca-proyecto-servicios__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	background: #ffffff;
	text-decoration: none;
	color: #111111;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease;
}

.konteca-proyecto-servicios__item:hover,
.konteca-proyecto-servicios__item:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(255, 92, 0, 0.18);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.08);
	color: #111111;
	text-decoration: none;
}

.konteca-proyecto-servicios__item-arrow {
	color: var(--e-global-color-primary, #ff5c00);
}

@media (max-width: 767px) {
	.konteca-proyecto-intro__meta,
	.konteca-proyecto-detalle__highlights {
		grid-template-columns: 1fr;
	}
}








/* ==========================================================
   FICHA PROYECTO
   proyecto-hero-info
   ========================================================== */


.konteca-proyecto-hero-info {
	margin-top: 1rem;
}

.konteca-proyecto-hero-info__subtitle {
	margin-bottom: 0.85rem;
	color: rgba(255, 255, 255, 0.92);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
}

.konteca-proyecto-hero-info__summary {
	max-width: 60ch;
	margin-bottom: 1.25rem;
}

.konteca-proyecto-hero-info__summary p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1rem;
	line-height: 1.7;
}

.konteca-proyecto-hero-info__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
}

.konteca-proyecto-hero-info__fact {
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.konteca-proyecto-hero-info__fact-label {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}

.konteca-proyecto-hero-info__fact-value {
	display: block;
	color: #ffffff;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

@media (max-width: 767px) {
	.konteca-proyecto-hero-info__facts {
		flex-direction: column;
	}

	.konteca-proyecto-hero-info__summary p {
		font-size: 0.95rem;
		line-height: 1.6;
	}
}



/* ==========================================================
   FICHA PROYECTO
   ficha-recnica
   ========================================================== */
.konteca-proyecto-ficha {
	width: 100%;
}

.konteca-proyecto-ficha__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.konteca-proyecto-ficha__item {
	padding: 1rem 1rem 0.95rem;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.konteca-proyecto-ficha__label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.3;
}

.konteca-proyecto-ficha__value {
	display: block;
	color: #111111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
}

@media (max-width: 1024px) {
	.konteca-proyecto-ficha__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.konteca-proyecto-ficha__grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================
   FICHA PROYECTO
   proyecto-relacinados
   ========================================================== */

   .konteca-proyecto-relacionados {
	width: 100%;
}

.konteca-proyecto-relacionados__title {
	margin: 0 0 1.25rem;
	color: #111111;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
}

.konteca-proyecto-relacionados__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.konteca-proyecto-relacionados__card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 140px;
	padding: 1.15rem 1.15rem 1rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%),
		#ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease,
		background-color 0.28s ease;
}

.konteca-proyecto-relacionados__card:hover,
.konteca-proyecto-relacionados__card:focus-visible {
	transform: translateY(-4px);
	border-color: rgba(255, 92, 0, 0.18);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.10);
	text-decoration: none;
	outline: 2px solid transparent;
}

.konteca-proyecto-relacionados__type {
	display: inline-block;
	margin-bottom: 0.65rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.konteca-proyecto-relacionados__item-title {
	display: block;
	padding-right: 2.25rem;
	color: #111111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
}

.konteca-proyecto-relacionados__arrow {
	position: absolute;
	right: 1rem;
	bottom: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 999px;
	background: #ffffff;
	color: var(--e-global-color-primary, #ff5c00);
	opacity: 0;
	transform: translateX(-8px);
	transition:
		opacity 0.28s ease,
		transform 0.28s ease,
		background-color 0.28s ease,
		border-color 0.28s ease,
		color 0.28s ease;
}

.konteca-proyecto-relacionados__card:hover .konteca-proyecto-relacionados__arrow,
.konteca-proyecto-relacionados__card:focus-visible .konteca-proyecto-relacionados__arrow {
	opacity: 1;
	transform: translateX(0);
	background: var(--e-global-color-primary, #ff5c00);
	border-color: var(--e-global-color-primary, #ff5c00);
	color: #ffffff;
}

@media (max-width: 1024px) {
	.konteca-proyecto-relacionados__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.konteca-proyecto-relacionados__grid {
		grid-template-columns: 1fr;
	}

	.konteca-proyecto-relacionados__card {
		min-height: auto;
	}
}

/* ==========================================================
   FICHA PROYECTO
   proyecto-cta
   ========================================================== */

.konteca-proyecto-cta {
	position: relative;
	padding: 2rem;
	border-radius: 22px;
	overflow: hidden;
}

.konteca-proyecto-cta--dark {
	border: 1px solid rgba(255, 255, 255, 0.08);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.konteca-proyecto-cta--light {
	border: 1px solid rgba(0, 0, 0, 0.08);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%),
		#ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.konteca-proyecto-cta__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: center;
}

.konteca-proyecto-cta__eyebrow {
	display: inline-block;
	margin-bottom: 0.75rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.konteca-proyecto-cta__title {
	margin: 0 0 0.65rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.15;
}

.konteca-proyecto-cta--dark .konteca-proyecto-cta__title,
.konteca-proyecto-cta--dark .konteca-proyecto-cta__description {
	color: #ffffff;
}

.konteca-proyecto-cta--light .konteca-proyecto-cta__title {
	color: #111111;
}

.konteca-proyecto-cta--light .konteca-proyecto-cta__description {
	color: rgba(46, 45, 45, 0.82);
}

.konteca-proyecto-cta__description {
	margin: 0;
	max-width: 62ch;
	font-size: 1rem;
	line-height: 1.7;
}

.konteca-proyecto-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.9rem 1.3rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%),
		linear-gradient(135deg, #000000 0%, #0a0a0a 55%, #181818 100%);
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.10em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease,
		color 0.25s ease;
}

.konteca-proyecto-cta__button::after {
	content: "\2192";
	display: inline-block;
	width: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateX(-4px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		width 0.25s ease;
	line-height: 1;
}

.konteca-proyecto-cta__button:hover,
.konteca-proyecto-cta__button:focus {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #ff5c00 0%, #e65300 100%);
	border-color: var(--e-global-color-primary, #ff5c00);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow:
		0 12px 28px rgba(255, 92, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

.konteca-proyecto-cta__button:hover::after,
.konteca-proyecto-cta__button:focus::after {
	width: 0.8em;
	opacity: 1;
	transform: translateX(0);
}

.konteca-proyecto-cta__button:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #ff5c00);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.konteca-proyecto-cta {
		padding: 1.25rem;
		border-radius: 18px;
	}

	.konteca-proyecto-cta__content {
		grid-template-columns: 1fr;
	}

	.konteca-proyecto-cta__title {
		font-size: 1.35rem;
	}

	.konteca-proyecto-cta__description {
		font-size: 0.95rem;
		line-height: 1.6;
	}

	.konteca-proyecto-cta__button {
		width: 100%;
	}
}

/* ==========================================================
   FICHA PROYECTO
   highlights
   ========================================================== */
.konteca-proyecto-highlights {
	width: 100%;
}

.konteca-proyecto-highlights__title {
	margin: 0 0 1.25rem;
	color: #111111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
}

.konteca-proyecto-highlights__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.konteca-proyecto-highlights__item {
	padding: 1.1rem 1rem 1rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%),
		#ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.konteca-proyecto-highlights__label {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--e-global-color-primary, #ff5c00);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.konteca-proyecto-highlights__text {
	display: block;
	color: #111111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.konteca-proyecto-highlights__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.konteca-proyecto-highlights__grid {
		grid-template-columns: 1fr;
	}
}



/* ==========================================================
   Contact Form 7 | KONTECA Premium
   ========================================================== */

.cf7-konteca.cf7-konteca--premium {
	position: relative;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%),
		#ffffff;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
}

.cf7-konteca--premium .wpcf7 {
	width: 100%;
}

.cf7-konteca--premium .wpcf7 form {
	margin: 0;
}

.cf7-konteca--premium .cf7-grid {
	display: grid;
	gap: 1rem 1rem;
}

.cf7-konteca--premium .cf7-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cf7-konteca--premium .cf7-col {
	min-width: 0;
}

.cf7-konteca--premium .cf7-col--full {
	grid-column: 1 / -1;
}

.cf7-konteca--premium label {
	display: block;
	margin: 0 0 0.1rem;
	color: var(--e-global-color-secondary);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cf7-konteca--premium .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
	width: 100%;
	min-height: 42px;
	padding: 0.65rem 0.8rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background-color: #ffffff !important;
	color: #2e2d2d !important;
	-webkit-text-fill-color: #2e2d2d !important;
	font-size: 0.95rem;
	line-height: 1.2;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		background-color 0.25s ease,
		transform 0.25s ease;
}

.cf7-konteca--premium textarea.wpcf7-form-control {
	min-height: 150px;
	resize: vertical;
}

.cf7-konteca--premium .wpcf7-form-control::placeholder {
	color: rgba(152, 147, 147, 0.86) !important;
	opacity: 1;
}

.cf7-konteca--premium .wpcf7-form-control:focus {
	border-color: var(--e-global-color-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 92, 0, 0.14);
	background-color: #ffffff;
}

.cf7-konteca--premium .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):-webkit-autofill,
.cf7-konteca--premium .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):-webkit-autofill:hover,
.cf7-konteca--premium .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):-webkit-autofill:focus {
	-webkit-text-fill-color: #2e2d2d !important;
	box-shadow: 0 0 0 1000px #ffffff inset !important;
	transition: background-color 5000s ease-in-out 0s;
}

.cf7-konteca--premium .wpcf7-not-valid {
	border-color: #d63638 !important;
	box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.10);
}

.cf7-konteca--premium .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	font-size: 0.82rem;
	line-height: 1.4;
	color: #b42318;
}

.cf7-konteca--premium .wpcf7-acceptance {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(46, 45, 45, 0.85);
}

.cf7-konteca--premium .wpcf7-acceptance input[type="checkbox"] {
	margin-top: 0.2rem;
	accent-color: var(--e-global-color-primary);
}

.cf7-konteca--premium .cf7-col--actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.cf7-konteca--premium .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.85rem 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.012) 100%),
		linear-gradient(135deg, #000000 0%, #0a0a0a 55%, #181818 100%);
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease,
		color 0.25s ease;
}

.cf7-konteca--premium .wpcf7-submit:hover,
.cf7-konteca--premium .wpcf7-submit:focus {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #ff5c00 0%, #e65300 100%);
	border-color: var(--e-global-color-primary);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow:
		0 12px 28px rgba(255, 92, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	outline: none;
}

.cf7-konteca--premium .wpcf7-spinner {
	margin: 0.75rem 0 0;
}

.cf7-konteca--premium .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.9rem 1rem;
	border-radius: 12px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.cf7-konteca--premium .wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450;
	background-color: rgba(70, 180, 80, 0.08);
	color: #1f5130;
}

.cf7-konteca--premium .wpcf7 form.invalid .wpcf7-response-output,
.cf7-konteca--premium .wpcf7 form.unaccepted .wpcf7-response-output,
.cf7-konteca--premium .wpcf7 form.failed .wpcf7-response-output {
	border-color: #d63638;
	background-color: rgba(214, 54, 56, 0.08);
	color: #7a1f24;
}

/* Variante sobre fondo oscuro */
.bg-konteca-dark .cf7-konteca.cf7-konteca--premium,
.seccion-premium-konteca .cf7-konteca.cf7-konteca--premium,
.blanco .cf7-konteca.cf7-konteca--premium {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.015) 100%),
		linear-gradient(135deg, #000000 0%, #0b0b0b 52%, #151515 100%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.bg-konteca-dark .cf7-konteca--premium label,
.seccion-premium-konteca .cf7-konteca--premium label,
.blanco .cf7-konteca--premium label {
	color: #ffffff;
}

.bg-konteca-dark .cf7-konteca--premium .wpcf7-acceptance,
.seccion-premium-konteca .cf7-konteca--premium .wpcf7-acceptance,
.blanco .cf7-konteca--premium .wpcf7-acceptance {
	color: rgba(255, 255, 255, 0.82);
}

/* Responsive */
@media (max-width: 767px) {
	.cf7-konteca--premium {
		padding: 1.1rem;
		border-radius: 16px;
	}

	.cf7-konteca--premium .cf7-grid--2 {
		grid-template-columns: 1fr;
		gap: 0.9rem;
	}

	.cf7-konteca--premium .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
		min-height: 50px;
		padding: 0.85rem 0.9rem;
	}

	.cf7-konteca--premium .wpcf7-submit {
		width: 100%;
	}
}

/* ==========================================================
   Utilidades
   ========================================================== */

/* Spacing */
.m-0 { margin: var(--u-0) !important; }
.m-1 { margin: var(--u-1) !important; }
.m-2 { margin: var(--u-2) !important; }
.m-3 { margin: var(--u-3) !important; }
.m-4 { margin: var(--u-4) !important; }
.m-5 { margin: var(--u-5) !important; }

.mt-0 { margin-top: var(--u-0) !important; }
.mt-1 { margin-top: var(--u-1) !important; }
.mt-2 { margin-top: var(--u-2) !important; }
.mt-3 { margin-top: var(--u-3) !important; }
.mt-4 { margin-top: var(--u-4) !important; }
.mt-5 { margin-top: var(--u-5) !important; }

.mb-0 { margin-bottom: var(--u-0) !important; }
.mb-1 { margin-bottom: var(--u-1) !important; }
.mb-2 { margin-bottom: var(--u-2) !important; }
.mb-3 { margin-bottom: var(--u-3) !important; }
.mb-4 { margin-bottom: var(--u-4) !important; }
.mb-5 { margin-bottom: var(--u-5) !important; }

.ms-0 { margin-left: var(--u-0) !important; }
.ms-1 { margin-left: var(--u-1) !important; }
.ms-2 { margin-left: var(--u-2) !important; }
.ms-3 { margin-left: var(--u-3) !important; }
.ms-4 { margin-left: var(--u-4) !important; }
.ms-5 { margin-left: var(--u-5) !important; }

.me-0 { margin-right: var(--u-0) !important; }
.me-1 { margin-right: var(--u-1) !important; }
.me-2 { margin-right: var(--u-2) !important; }
.me-3 { margin-right: var(--u-3) !important; }
.me-4 { margin-right: var(--u-4) !important; }
.me-5 { margin-right: var(--u-5) !important; }

.p-0 { padding: var(--u-0) !important; }
.p-1 { padding: var(--u-1) !important; }
.p-2 { padding: var(--u-2) !important; }
.p-3 { padding: var(--u-3) !important; }
.p-4 { padding: var(--u-4) !important; }
.p-5 { padding: var(--u-5) !important; }

.pt-0 { padding-top: var(--u-0) !important; }
.pt-1 { padding-top: var(--u-1) !important; }
.pt-2 { padding-top: var(--u-2) !important; }
.pt-3 { padding-top: var(--u-3) !important; }
.pt-4 { padding-top: var(--u-4) !important; }
.pt-5 { padding-top: var(--u-5) !important; }

.pb-0 { padding-bottom: var(--u-0) !important; }
.pb-1 { padding-bottom: var(--u-1) !important; }
.pb-2 { padding-bottom: var(--u-2) !important; }
.pb-3 { padding-bottom: var(--u-3) !important; }
.pb-4 { padding-bottom: var(--u-4) !important; }
.pb-5 { padding-bottom: var(--u-5) !important; }

.ps-0 { padding-left: var(--u-0) !important; }
.ps-1 { padding-left: var(--u-1) !important; }
.ps-2 { padding-left: var(--u-2) !important; }
.ps-3 { padding-left: var(--u-3) !important; }
.ps-4 { padding-left: var(--u-4) !important; }
.ps-5 { padding-left: var(--u-5) !important; }

.pe-0 { padding-right: var(--u-0) !important; }
.pe-1 { padding-right: var(--u-1) !important; }
.pe-2 { padding-right: var(--u-2) !important; }
.pe-3 { padding-right: var(--u-3) !important; }
.pe-4 { padding-right: var(--u-4) !important; }
.pe-5 { padding-right: var(--u-5) !important; }

/* Text */
.text-start { text-align: left !important; }
.text-center { text-align: center !important; }
.text-end { text-align: right !important; }

.fw-light { font-weight: 300 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-bold { font-weight: 700 !important; }

.text-lowercase { text-transform: lowercase !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-capitalize { text-transform: capitalize !important; }

.lh-1 { line-height: 1 !important; }
.lh-sm { line-height: 1.25 !important; }
.lh-base { line-height: 1.5 !important; }
.lh-lg { line-height: 2 !important; }

.fs-1 { font-size: 2.5rem !important; }
.fs-2 { font-size: 2rem !important; }
.fs-3 { font-size: 1.75rem !important; }
.fs-4 { font-size: 1.5rem !important; }
.fs-5 { font-size: 1.25rem !important; }
.fs-6 { font-size: 1rem !important; }
.fs-7 { font-size: 0.75rem !important; }


/* Letter spacing */
.ls-0  { letter-spacing: 0 !important; }
.ls-1  { letter-spacing: 0.04em !important; }
.ls-2  { letter-spacing: 0.08em !important; }
.ls-3  { letter-spacing: 0.12em !important; }
.ls-4  { letter-spacing: 0.16em !important; }


/* Display / flex */
.d-block { display: block !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-none { display: none !important; }

.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }

.justify-content-start { justify-content: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-between { justify-content: space-between !important; }

.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-end { align-items: flex-end !important; }

.gap-0 { gap: var(--u-0) !important; }
.gap-1 { gap: var(--u-1) !important; }
.gap-2 { gap: var(--u-2) !important; }
.gap-3 { gap: var(--u-3) !important; }
.gap-4 { gap: var(--u-4) !important; }
.gap-5 { gap: var(--u-5) !important; }

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: inherit;
  border-collapse: collapse;
}

.table th,
.table td {
  padding: 0.5rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
  font-weight: 600;
  background-color: var(--konteca-color-dark-soft);
color:#fff;
}

.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.03);
}

.table-hover tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-bordered {
  border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}