/* ==========================================================================
   SERMEC Core — estilos del sitio
   Los colores salen de los Colores Globales de Elementor (Kit); los valores
   después de la coma son el respaldo si el Kit no los define.
   ========================================================================== */

body {
	--sx-azul: var(--e-global-color-primary, #005090);
	--sx-azul-hover: var(--e-global-color-sxazulhover, #003a68);
	--sx-cian: var(--e-global-color-secondary, #0099cc);
	--sx-celeste: var(--e-global-color-accent, #9ed9ee);
	--sx-celeste-claro: var(--e-global-color-sxceleste2, #d9edf7);
	--sx-tinta: var(--e-global-color-sxtinta, #12100f);
	--sx-gris: var(--e-global-color-text, #5b6266);
	--sx-gris-medio: var(--e-global-color-sxgrismedio, #7c8489);
	--sx-gris-claro: var(--e-global-color-sxgrisclaro, #aab1b5);
	--sx-linea: var(--e-global-color-sxlinea, #e6e9ea);
	--sx-superficie: var(--e-global-color-sxsuperficie, #eef0f1);
	--sx-fondo: var(--e-global-color-sxfondo, #e9f1fa);
	--sx-whatsapp: var(--e-global-color-sxwhatsapp, #25d366);
	--sx-michroma: 'Michroma', sans-serif;
	--sx-ease: cubic-bezier(.22, .9, .28, 1);
	--sx-vidrio-bg: linear-gradient(135deg, rgba(255, 255, 255, .82) 0%, rgba(255, 255, 255, .46) 38%, rgba(255, 255, 255, .56) 70%, rgba(255, 255, 255, .76) 100%), rgba(255, 255, 255, .4);

	margin: 0;
	background: var(--sx-fondo);
	color: var(--sx-tinta);
	font-family: 'Source Sans 3', system-ui, sans-serif;
	text-wrap: pretty;
	-webkit-font-smoothing: antialiased;
}

html { scroll-behavior: smooth; }

a { color: var(--sx-tinta); text-decoration: none; }
a:hover { color: var(--sx-azul); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto !important; clip-path: none; height: auto; width: auto; z-index: 100000;
	left: 5px; top: 5px; padding: 15px 23px 14px; background: #fff; color: var(--sx-tinta); display: block;
}

/* ---------- Animaciones ---------- */
@keyframes sx-carga-logo { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-14px); } }
@keyframes sx-carga-subir { from { transform: translateY(0); } 99% { visibility: visible; } to { transform: translateY(-101%); visibility: hidden; } }
@keyframes sx-holo { 0% { background-position: 0 0; } 100% { background-position: 200% 0; } }
@keyframes sx-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes sx-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes sx-aparecer { from { opacity: 0; transform: translateY(40px) scale(.985); filter: blur(7px); } to { opacity: 1; transform: none; filter: blur(0); } }

/* ---------- Aparición al hacer scroll ---------- */
.sx-reveal-activo .sx-rv { opacity: 0; }
.sx-rv-on { animation: sx-aparecer 950ms var(--sx-ease) both; }

/* ---------- Marco del layout ---------- */
.sx-marco { max-width: none; margin: 0 auto; padding: clamp(10px, 1.6vw, 22px); }
.sx-marco-in {
	background:
		radial-gradient(900px 480px at 8% -6%, rgba(158, 217, 238, .42), rgba(158, 217, 238, 0) 62%),
		radial-gradient(760px 520px at 98% 14%, rgba(0, 80, 144, .13), rgba(0, 80, 144, 0) 60%),
		radial-gradient(700px 600px at 45% 108%, rgba(0, 153, 204, .10), rgba(0, 153, 204, 0) 62%),
		#fafbfb;
	border-radius: clamp(22px, 2.6vw, 38px);
	overflow: hidden;
	box-shadow: 10px 10px 28px rgba(18, 16, 15, .07), -10px -10px 28px #fff;
}

/* ---------- Pantalla de carga ---------- */
.sx-loader {
	position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; overflow: hidden;
	background:
		radial-gradient(900px 480px at 8% -6%, rgba(158, 217, 238, .55), rgba(158, 217, 238, 0) 62%),
		radial-gradient(760px 520px at 98% 14%, rgba(0, 80, 144, .16), rgba(0, 80, 144, 0) 60%),
		#e9f1fa;
	animation: sx-carga-subir 900ms cubic-bezier(.76, 0, .24, 1) 1250ms forwards;
}
.sx-loader__fondo {
	position: absolute; inset: -40px; background-size: cover; background-position: center; background-repeat: no-repeat;
	filter: blur(26px); opacity: .4; pointer-events: none;
}
.sx-loader__logo {
	position: relative; width: min(360px, 70vw); height: auto; display: block;
	animation: sx-carga-logo 520ms ease 860ms forwards;
}

/* ---------- WhatsApp flotante ---------- */
.sx-whatsapp {
	position: fixed; right: clamp(16px, 2vw, 28px); bottom: clamp(16px, 2vw, 28px); z-index: 80;
	display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 999px;
	background: var(--sx-whatsapp); box-shadow: 0 10px 24px rgba(18, 16, 15, .22);
	transition: transform 220ms var(--sx-ease), box-shadow 220ms ease;
}
.sx-whatsapp:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 14px 30px rgba(18, 16, 15, .28); }
.sx-whatsapp svg { display: inline; }

/* ==========================================================================
   Widget: Navegación
   ========================================================================== */
.sx-nav, .sx-nav *, .sx-nav-panel, .sx-nav-panel * { box-sizing: content-box; }
.sx-nav button, .sx-nav-panel button { box-sizing: border-box; } /* como el navegador */
.sx-nav {
	position: fixed; top: clamp(34px, 4.4vw, 56px); left: 0; right: 0; z-index: 70;
	display: flex; align-items: center; flex-wrap: wrap; gap: 12px clamp(16px, 2.4vw, 34px);
	margin: 0 clamp(26px, 4.4vw, 64px); padding: 8px 10px 8px clamp(16px, 1.6vw, 24px);
	border-radius: 999px; background: var(--sx-vidrio-bg);
	backdrop-filter: blur(26px) saturate(165%); -webkit-backdrop-filter: blur(26px) saturate(165%);
	border: 1px solid rgba(255, 255, 255, .9);
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .5);
	transition: top 300ms var(--sx-ease);
	font-size: 16px; line-height: normal;
}
.sx-nav.is-fija { top: clamp(12px, 1.6vw, 22px); }
.sx-nav__logo { display: flex; align-items: center; margin-right: auto; line-height: 0; }
.sx-nav .sx-nav__logo img { height: 34px; width: auto; max-width: none; display: block; }
.sx-nav__links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px clamp(14px, 1.8vw, 26px); font-size: 15px; font-weight: 500; }
.sx-nav__links a.is-activo { padding-bottom: 4px; border-bottom: 1.5px solid var(--sx-tinta); }
.sx-nav__acciones { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.sx-nav__burger {
	display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .75); background: rgba(255, 255, 255, .5);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9);
	cursor: pointer; padding: 0; margin: 0; font: inherit; color: inherit;
}
.sx-nav__tel {
	display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 20px; border-radius: 999px;
	font-size: 14px; font-weight: 500; white-space: nowrap; background: rgba(255, 255, 255, .5);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.sx-nav .sx-nav__tel:hover { box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .07), inset -3px -3px 7px #fff; color: var(--sx-tinta); }
.sx-nav .sx-nav__cta {
	display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px;
	background: var(--sx-azul); color: #fff; flex: 0 0 auto; box-shadow: 0 6px 14px rgba(0, 80, 144, .28);
}
.sx-nav .sx-nav__cta:hover { background: var(--sx-azul-hover); color: #fff; }
.sx-nav svg, .sx-nav-panel svg { display: inline; }

/* Panel móvil */
.sx-nav-panel {
	display: none; position: fixed; inset: 0; z-index: 90; flex-direction: column; padding: 18px;
	background: linear-gradient(160deg, #eaf3fb 0%, #fafbfb 60%);
	backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
	font-size: 16px; line-height: normal;
}
.sx-nav-panel.is-abierto { display: flex !important; animation: sx-aparecer 260ms ease both; }
.sx-nav-panel__top { display: flex; align-items: center; justify-content: space-between; }
.sx-nav-panel .sx-nav-panel__top img { height: 28px; width: auto; max-width: none; display: block; }
.sx-nav-panel__cerrar {
	display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .7);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .07); cursor: pointer; padding: 0; margin: 0; font: inherit; color: inherit;
}
.sx-nav-panel__links { display: flex; flex-direction: column; gap: 4px; margin-top: 26px; }
.sx-nav-panel__links a {
	font-family: var(--sx-michroma); font-size: 20px; letter-spacing: -.02em; padding: 14px 4px; border-bottom: 1px solid var(--sx-linea);
}
.sx-nav-panel__pie { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.sx-nav-panel__tel {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; border-radius: 999px;
	background: rgba(255, 255, 255, .75); border: 1px solid rgba(255, 255, 255, .9); font-size: 16px; font-weight: 500;
	box-shadow: 4px 4px 14px rgba(18, 16, 15, .06);
}
.sx-nav-panel .sx-nav-panel__cta {
	display: inline-flex; align-items: center; justify-content: center; height: 54px; border-radius: 999px;
	background: var(--sx-azul); color: #fff; font-size: 16px; font-weight: 600; box-shadow: 0 10px 22px rgba(0, 80, 144, .28);
}
.sx-nav-panel .sx-nav-panel__cta:hover { color: #fff; }

@media (min-width: 861px) { .sx-nav-panel { display: none !important; } }
@media (max-width: 860px) {
	.sx-nav { flex-wrap: wrap; row-gap: 6px; padding: 10px 10px 10px 16px; }
	.sx-nav__links { display: none; }
	.sx-nav__burger { display: inline-flex; }
	.sx-nav__tel { display: none; }
	.sx-nav .sx-nav__logo img { height: 28px; }
}
@media (max-width: 640px) {
	.sx-nav { margin-left: 8px; margin-right: 8px; }
}

/* ==========================================================================
   Widget: Visual del hero
   ========================================================================== */
.sx-hv, .sx-hv * { box-sizing: content-box; }
.sx-hv {
	position: relative; min-width: 0; margin-top: clamp(0px, 1vw, 16px);
	transform: scale(.84); transform-origin: right center; line-height: normal;
}
.sx-hv .sx-hv__img {
	width: 100%; height: auto; max-width: none; aspect-ratio: 733 / 570; object-fit: cover; object-position: center; display: block;
	border-radius: clamp(20px, 2.2vw, 30px); box-shadow: 0 18px 40px rgba(18, 16, 15, .12);
}
.sx-hv__card {
	position: absolute; background: var(--sx-vidrio-bg);
	backdrop-filter: blur(26px) saturate(165%); -webkit-backdrop-filter: blur(26px) saturate(165%);
	border: 1px solid rgba(255, 255, 255, .9);
	box-shadow: 0 18px 40px rgba(18, 16, 15, .18), 0 4px 10px rgba(0, 80, 144, .10), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .5), inset 0 0 22px rgba(255, 255, 255, .45);
}
.sx-holo, .sx-brillo { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.sx-holo {
	background: linear-gradient(115deg, rgba(217, 237, 247, .22) 0%, rgba(0, 153, 204, .18) 16%, rgba(158, 217, 238, .24) 32%, rgba(0, 80, 144, .16) 50%, rgba(158, 217, 238, .24) 68%, rgba(0, 153, 204, .18) 84%, rgba(217, 237, 247, .22) 100%);
	background-size: 200% 100%; background-repeat: repeat; animation: sx-holo 12s linear infinite;
}
.sx-brillo { background: linear-gradient(160deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, 0) 65%, rgba(255, 255, 255, .4) 100%); }

.sx-hv__cob {
	left: -28px; top: clamp(12px, 2vw, 26px); animation: sx-flotar 6s ease-in-out infinite;
	border-radius: 18px; padding: 16px 20px;
}
.sx-hv__cob-t { font-family: var(--sx-michroma); font-size: 13px; letter-spacing: -.02em; margin: 0; }
.sx-hv__cob-x { font-size: 14px; color: var(--sx-gris); margin: 6px 0 0; }

.sx-hv__gra {
	left: -28px; bottom: clamp(12px, 2vw, 26px); animation: sx-flotar 7.5s ease-in-out infinite .8s;
	width: 190px; max-width: 52%; border-radius: 14px; padding: 10px;
}
.sx-hv__gra-head {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	border: 1px solid var(--sx-linea); border-radius: 999px; padding: 5px 11px;
}
.sx-hv__gra-head span { font-family: var(--sx-michroma); font-size: 9px; letter-spacing: -.02em; text-transform: uppercase; }
.sx-hv__gra-body { display: flex; align-items: stretch; gap: 6px; margin-top: 9px; }
.sx-hv__gra-escala { display: flex; flex-direction: column; justify-content: space-between; font-size: 8px; color: var(--sx-gris-medio); height: 54px; }
.sx-hv__gra-area {
	flex: 1; min-width: 0; height: 54px; border-bottom: 1px solid var(--sx-linea);
	background: repeating-linear-gradient(to top, transparent 0 12.5px, #e6e9ea 12.5px 13.5px);
}
.sx-hv__gra-barras { display: flex; align-items: flex-end; justify-content: space-between; gap: 1px; width: 100%; height: 100%; }
.sx-hv__gra-barras span { flex: 0 0 auto; width: 2px; display: block; background: var(--sx-azul); }
.sx-hv__gra-dias {
	display: flex; justify-content: space-between; gap: 4px; margin: 6px 0 0 26px;
	font-size: 8px; color: var(--sx-gris-medio); text-transform: uppercase;
}

.sx-hv__med {
	right: -28px; top: 50%; margin-top: -59px; animation: sx-flotar 5.5s ease-in-out infinite .4s;
	width: 118px; max-width: 36%; aspect-ratio: 1 / 1; border-radius: 999px; padding: 2px;
}
.sx-hv__med-in { position: relative; width: 100%; aspect-ratio: 1 / 1; display: grid; place-items: center; }
.sx-hv__med-ticks {
	position: absolute; inset: 2px;
	background: repeating-conic-gradient(from 0deg, #12100f 0deg 1deg, rgba(0, 0, 0, 0) 1deg 10deg);
	-webkit-mask-image: radial-gradient(circle, transparent 0 41%, #000 42% 50%, transparent 51%);
	mask-image: radial-gradient(circle, transparent 0 41%, #000 42% 50%, transparent 51%);
}
.sx-hv__med-aro { position: absolute; inset: 7%; border: 1px solid #12100f; border-radius: 999px; }
.sx-hv__med-txt { position: relative; z-index: 1; text-align: center; }
.sx-hv__med-txt p { margin: 0; }
.sx-hv__med-a { font-size: 10px; line-height: 1.3; color: var(--sx-gris); }
.sx-hv__med-v { font-family: var(--sx-michroma); font-size: 14px; letter-spacing: -.04em; line-height: 1.05; color: var(--sx-azul); }
.sx-hv__med-b { font-size: 10px; font-weight: 700; line-height: 1.3; color: var(--sx-gris); text-transform: uppercase; letter-spacing: .04em; }

@media (max-width: 860px) {
	.sx-hv { transform: none; margin-top: 8px; }
	.sx-hv > div { zoom: .6; }
	.sx-hv > .sx-hv__gra { display: none; }
}

/* ==========================================================================
   Widget: Cifras
   ========================================================================== */
.elementor-widget-sx-cifras { margin-top: auto; }
.sx-cifras, .sx-cifras * { box-sizing: content-box; }
.sx-cifras {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 12px;
	padding-top: clamp(10px, 1.4vw, 20px); margin-bottom: clamp(40px, 8vh, 96px); line-height: normal;
}
.sx-cifras__item {
	display: flex; align-items: center; gap: 16px; background: rgba(255, 255, 255, .5);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 999px; padding: 12px 24px 12px 14px;
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.sx-cifras__valor {
	display: grid; place-items: center; width: 52px; height: 52px; border-radius: 999px; background: var(--sx-celeste-claro);
	box-shadow: inset 3px 3px 6px rgba(18, 16, 15, .08), inset -2px -2px 6px rgba(255, 255, 255, .8);
	font-family: var(--sx-michroma); font-size: 15px; letter-spacing: -.03em; color: var(--sx-azul); flex: 0 0 auto;
}
.sx-cifras__texto { font-size: 15px; line-height: 1.35; color: var(--sx-gris); }

/* ==========================================================================
   Widget: Carrusel de marcas
   ========================================================================== */
.sx-marcas, .sx-marcas * { box-sizing: content-box; }
.sx-marcas {
	overflow: hidden; line-height: normal;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.sx-marcas__pista { display: flex; gap: 10px; width: max-content; animation: sx-marquee 38s linear infinite; }
.sx-marcas__pista:hover { animation-play-state: paused; }
.sx-marcas__item {
	flex: 0 0 auto; display: grid; place-items: center; padding: 0 30px; background: rgba(255, 255, 255, .4);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 18px; height: 80px; box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .05), inset -3px -3px 7px rgba(255, 255, 255, .9);
}
.sx-marcas .sx-marcas__item img { display: block; height: 44px; width: auto; max-width: 150px; object-fit: contain; }

/* ==========================================================================
   Widget: Áreas + galería
   ========================================================================== */
.sx-areas, .sx-areas * { box-sizing: content-box; }
.sx-areas {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: clamp(20px, 2.4vw, 40px); align-items: start; line-height: normal;
}
.sx-areas__lista { display: flex; flex-direction: column; }
.sx-areas__item { cursor: pointer; padding: clamp(18px, 2vw, 26px) 0; border-bottom: 1px solid var(--sx-linea); outline: none; }
.sx-areas__cab { display: flex; align-items: center; gap: 16px; }
.sx-areas__teja {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: var(--sx-superficie); flex: 0 0 auto;
	box-shadow: inset 3px 3px 6px rgba(18, 16, 15, .075), inset -2px -2px 6px rgba(255, 255, 255, .8); transition: background 200ms;
}
.sx-areas__item.is-activa .sx-areas__teja { background: var(--sx-celeste); }
.sx-areas__titulo { font-size: clamp(18px, 1.6vw, 22px); font-weight: 500; line-height: 1.25; margin: 0; flex: 1; min-width: 0; }
.sx-areas__giro {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; flex: 0 0 auto;
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 3px 3px 9px rgba(18, 16, 15, .06), inset 0 1px 0 rgba(255, 255, 255, .85);
	transform: rotate(0deg); transition: transform 220ms;
}
.sx-areas__item.is-activa .sx-areas__giro { transform: rotate(180deg); }
.sx-areas__cuerpo { display: none; }
.sx-areas__item.is-activa .sx-areas__cuerpo { display: block; }
.sx-areas__detalle { font-size: 16px; line-height: 1.55; color: var(--sx-gris); margin: 14px 0 0 60px; max-width: 44ch; }
.sx-areas .sx-areas__mas { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--sx-azul); margin: 14px 0 0 60px; }
.sx-areas .sx-areas__mas:hover { color: var(--sx-cian); }
.sx-areas svg { display: inline; }
.sx-areas__galeria {
	position: relative; border-radius: clamp(20px, 2.2vw, 30px); overflow: hidden; background: var(--sx-superficie); aspect-ratio: 4 / 3;
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .6);
}
.sx-areas__fotos { display: none; }
.sx-areas__fotos.is-activa { display: block; }
.sx-areas .sx-areas__fotos img {
	position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; opacity: 0;
	transition: opacity 700ms ease, transform 900ms var(--sx-ease);
}
.sx-areas .sx-areas__fotos img.is-activa { opacity: 1; }
.sx-areas .sx-areas__fotos img:hover { transform: scale(1.04); }
.sx-areas__sombra {
	position: absolute; left: 0; right: 0; bottom: 0; height: 38%; pointer-events: none;
	background: linear-gradient(to top, rgba(0, 32, 58, .5), rgba(0, 32, 58, 0));
}
.sx-areas__puntos { position: absolute; left: 18px; bottom: 16px; display: flex; align-items: center; gap: 7px; }
.sx-areas__puntos span {
	display: block; width: 6px; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .5); cursor: pointer;
	transition: width 300ms ease, background 300ms ease;
}
.sx-areas__puntos span.is-activo { width: 26px; background: #fff; }
.sx-areas__contador {
	position: absolute; right: 18px; bottom: 14px; font-family: var(--sx-michroma); font-size: 11px; letter-spacing: -.02em; color: #fff;
}

/* ==========================================================================
   Widget: Cobertura (fichas y mapa)
   ========================================================================== */
.sx-zonas, .sx-zonas *, .sx-mapa, .sx-mapa * { box-sizing: content-box; }
.sx-zonas { display: flex; flex-direction: column; gap: 14px; min-width: 0; line-height: normal; }
.sx-zonas__ficha {
	display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); cursor: pointer;
	background: var(--sx-vidrio-bg); backdrop-filter: blur(26px) saturate(165%); -webkit-backdrop-filter: blur(26px) saturate(165%);
	border: 1px solid rgba(255, 255, 255, .9); border-radius: 999px;
	padding: clamp(14px, 1.6vw, 20px) clamp(24px, 2.4vw, 34px) clamp(14px, 1.6vw, 20px) clamp(14px, 1.6vw, 20px);
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .5);
	outline: 1.5px solid transparent; outline-offset: -1px; transform: translateX(0);
	transition: transform 240ms ease, outline-color 240ms ease;
}
.sx-zonas__num {
	display: grid; place-items: center; width: 64px; height: 64px; border-radius: 999px; background: var(--sx-celeste-claro);
	box-shadow: inset 3px 3px 8px rgba(18, 16, 15, .08), inset -3px -3px 7px rgba(255, 255, 255, .8);
	font-family: var(--sx-michroma); font-size: 15px; letter-spacing: -.03em; color: var(--sx-azul); flex: 0 0 auto;
	transition: background 240ms ease;
}
.sx-zonas__txt { min-width: 0; }
.sx-zonas__txt h3 {
	font-family: var(--sx-michroma); font-weight: 400; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.3;
	letter-spacing: -.03em; text-transform: uppercase; margin: 0; color: var(--sx-tinta);
}
.sx-zonas__txt p { font-size: 15px; line-height: 1.45; color: var(--sx-gris); margin: 8px 0 0; }
.sx-zonas__ficha.is-activa { transform: translateX(6px); }
.sx-zonas__ficha.is-activa .sx-zonas__num { background: var(--sx-celeste); }
.sx-zonas__ficha[data-zona="norte"].is-activa { outline-color: var(--sx-azul); }
.sx-zonas__ficha[data-zona="sur"].is-activa { outline-color: var(--sx-cian); }

.sx-mapa { justify-self: center; width: 100%; }
.sx-mapa__in { position: relative; width: 100%; max-width: 112px; margin: 0 auto 0 0; justify-self: start; }
.sx-mapa .sx-mapa__brillo {
	position: absolute; transform: translate(-50%, -50%); width: 330%; max-width: none; height: auto;
	pointer-events: none; z-index: 0; filter: blur(48px);
}
.sx-mapa__brillo--1 { left: 50%; top: 26%; }
.sx-mapa__brillo--2 { left: -45px; top: 72%; }
.sx-mapa svg { position: relative; z-index: 1; width: 100%; height: auto; display: block; overflow: visible; }
.sx-mapa g { cursor: pointer; fill: #9fb6c6; transition: fill 260ms ease; }
.sx-mapa[data-zona="norte"] g[data-zona="norte"] { fill: var(--sx-azul); }
.sx-mapa[data-zona="norte"] g[data-zona="sur"] { fill: #c9d6de; }
.sx-mapa[data-zona="sur"] g[data-zona="sur"] { fill: var(--sx-cian); }
.sx-mapa[data-zona="sur"] g[data-zona="norte"] { fill: #c9d6de; }

/* ==========================================================================
   Elementos nativos de Elementor: clases utilitarias del diseño
   ========================================================================== */
.sxpunto { color: var(--sx-cian); }
.sx-cta .sxpunto { color: var(--sx-celeste); }
.sx-min0 { min-width: 0; }
.sx-nowrap .elementor-heading-title { white-space: nowrap; }
.e-con.sx-linea { height: 1px; min-height: 1px; display: block; }

/* Títulos: el diseño usa la altura de línea del navegador cuando no se indica otra. */
.elementor-widget-heading .elementor-heading-title { line-height: normal; }
.elementor-widget-heading span.elementor-heading-title { display: block; }

/* Línea corta antes del texto («Refrigeración industrial en Chile»). */
.sx-eyebrow .elementor-heading-title { display: flex; align-items: center; gap: 10px; }
.sx-eyebrow .elementor-heading-title::before { content: ""; width: 26px; height: 1px; background: var(--sx-gris-claro); display: block; } /* encoge si el texto no cabe, como en el diseño */

/* Flecha diagonal antes del H1 del hero. */
.sx-flecha .elementor-heading-title { position: relative; padding-left: calc(26px + clamp(10px, 1.4vw, 20px)); }
.sx-flecha .elementor-heading-title::before {
	content: ""; position: absolute; left: 0; top: .35em; width: 26px; height: 26px; background: var(--sx-azul);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Vidrio (tarjetas grandes, pie). */
.sx-vidrio {
	background: var(--sx-vidrio-bg) !important;
	backdrop-filter: blur(26px) saturate(165%); -webkit-backdrop-filter: blur(26px) saturate(165%);
	border: 1px solid rgba(255, 255, 255, .9);
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .5);
}

/* ---------- Hero ---------- */
.e-con.sx-hero::before { top: -40px; left: -40px; width: calc(100% + 80px); height: calc(100% + 80px); z-index: 0; pointer-events: none; transition: none; }
.e-con.sx-hero > .e-con { z-index: 1; }

/* ---------- Botones ---------- */
.elementor .sx-btn .elementor-button {
	display: inline-flex; align-items: center; box-sizing: content-box; height: 50px; min-height: 0; padding: 0 26px; border-radius: 999px;
	font-family: 'Source Sans 3', system-ui, sans-serif; font-size: 15px; font-weight: 600; line-height: normal;
	transition: none; fill: currentColor;
}
.elementor .sx-btn .elementor-button-content-wrapper { align-items: center; justify-content: flex-start; gap: 9px; }
.elementor .sx-btn .elementor-button { text-align: start; }
/* Como en el diseño, icono y texto pueden encoger cuando el botón no cabe. */
.elementor .sx-btn .elementor-button-icon { flex-shrink: 1; min-width: 0; }
.elementor .sx-btn .elementor-button-icon svg { width: 15px; height: 15px; max-width: 100%; }
.elementor .sx-btn .elementor-button-icon svg * { fill: none; }

.elementor .sx-btn--celeste .elementor-button,
.elementor .sx-btn--celeste .elementor-button:visited {
	background: var(--sx-celeste); color: var(--sx-tinta);
	box-shadow: 4px 4px 11px rgba(18, 16, 15, .08), -4px -4px 11px #fff;
}
.elementor .sx-btn--celeste .elementor-button:hover { background: var(--sx-cian); color: var(--sx-tinta); }

.elementor .sx-btn--vidrio .elementor-button,
.elementor .sx-btn--vidrio .elementor-button:visited {
	font-weight: 500; color: var(--sx-tinta); background: rgba(255, 255, 255, .5);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.elementor .sx-btn--vidrio .elementor-button:hover { box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .07), inset -3px -3px 7px #fff; color: var(--sx-tinta); }

.elementor .sx-btn--azul .elementor-button,
.elementor .sx-btn--azul .elementor-button:visited {
	background: var(--sx-azul); color: #fff; box-shadow: 4px 4px 11px rgba(18, 16, 15, .12), -4px -4px 11px #fff; white-space: nowrap;
}
.elementor .sx-btn--azul .elementor-button:hover { background: var(--sx-azul-hover); color: #fff; }

.elementor .sx-btn--cta-celeste .elementor-button,
.elementor .sx-btn--cta-celeste .elementor-button:visited {
	height: 52px; background: var(--sx-celeste); color: var(--sx-tinta);
	box-shadow: 4px 4px 11px rgba(0, 32, 58, .28), -4px -4px 10px rgba(255, 255, 255, .14);
}
.elementor .sx-btn--cta-celeste .elementor-button:hover { background: #fff; color: var(--sx-tinta); }
.elementor .sx-btn--cta-celeste .elementor-button-icon svg { width: 16px; height: 16px; }

.elementor .sx-btn--cta-vidrio .elementor-button,
.elementor .sx-btn--cta-vidrio .elementor-button:visited {
	height: 52px; font-weight: 500; color: #fff; background: rgba(255, 255, 255, .14);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255, 255, 255, .35);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
}
.elementor .sx-btn--cta-vidrio .elementor-button:hover { background: rgba(255, 255, 255, .14); color: #fff; }

/* ---------- Pie ---------- */
.elementor .sx-pie-logo img { height: 44px; width: auto; max-width: none; display: block; margin: 0 0 16px; }
.elementor .sx-pie-logo a { display: block; line-height: 0; }
.elementor .sx-pie-mail .elementor-heading-title a { color: var(--sx-tinta); }
.elementor .sx-pie-mail .elementor-heading-title a:hover { color: var(--sx-azul); }
.sx-pie-lista { --e-icon-list-icon-margin: 0; }
.elementor .sx-pie-lista .elementor-icon-list-icon + .elementor-icon-list-text { padding-inline-start: 0; }
.elementor .sx-pie-lista .elementor-icon-list-icon svg * { fill: none; }
.elementor .sx-firma .elementor-heading-title a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.elementor .sx-firma .elementor-heading-title a:hover { color: var(--sx-azul); }

/* El widget del botón se comporta como el contenedor flex del diseño (sin hueco de línea base). */
.elementor-widget-button.sx-btn, .elementor-widget-button.sx-chip, .elementor-widget-button.sx-enlace,
.elementor .sx-btn .elementor-button-wrapper { display: flex; }

/* ---------- Sectores ---------- */
.e-con.sx-tarjeta-sector {
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, .75); border-radius: clamp(18px, 2vw, 26px);
	box-shadow: 6px 6px 16px rgba(18, 16, 15, .07), -5px -5px 12px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
	transition: transform 450ms var(--sx-ease), box-shadow 450ms ease, background 450ms ease;
}
.e-con.sx-tarjeta-sector:hover {
	transform: translateY(-6px); background: rgba(255, 255, 255, .68);
	box-shadow: 10px 18px 34px rgba(18, 16, 15, .13), -6px -6px 16px rgba(255, 255, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .95);
}
.elementor-widget-image.sx-foto-sector {
	border-radius: 16px; overflow: hidden; background: var(--sx-superficie); aspect-ratio: 16 / 10;
	box-shadow: inset 4px 4px 10px rgba(18, 16, 15, .075), inset -4px -4px 10px rgba(255, 255, 255, .6);
}
.elementor .sx-foto-sector img {
	width: 100%; height: 100%; max-width: none; object-fit: cover; display: block;
	transition: transform 700ms var(--sx-ease), filter 600ms ease;
}
.elementor .sx-foto-sector img:hover { transform: scale(1.06); filter: saturate(1.08) contrast(1.03); }
.sx-punto-izq .elementor-heading-title { display: flex; align-items: center; gap: 10px; }
.sx-punto-izq .elementor-heading-title::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--sx-cian); display: block; flex: 0 0 auto; }

/* ---------- Nosotros ---------- */
.elementor-widget-image.sx-foto-nosotros {
	border-radius: clamp(20px, 2.2vw, 30px); overflow: hidden; background: var(--sx-superficie); aspect-ratio: 5 / 4;
	box-shadow: inset 5px 5px 12px rgba(18, 16, 15, .08), inset -5px -5px 12px rgba(255, 255, 255, .6);
}
.elementor .sx-foto-nosotros img {
	width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; transition: transform 800ms var(--sx-ease);
}
.elementor .sx-foto-nosotros img:hover { transform: scale(1.04); }

/* ---------- CTA ---------- */
.e-con.sx-cta { box-shadow: 8px 8px 22px rgba(18, 16, 15, .12), -8px -8px 22px #fff; }
/* Brillo interior superior: por encima del degradado (overlay) y por debajo del contenido, como en el diseño. */
.e-con.sx-cta::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25); pointer-events: none; }
.e-con.sx-cta > .e-con { z-index: 1; }
.e-con.sx-cta::before { transition: none; }

/* ==========================================================================
   Páginas internas: variante más suave del vidrio y anclas con margen para la nav fija
   ========================================================================== */
.sx-interna {
	--sx-vidrio-bg: linear-gradient(135deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .28) 38%, rgba(255, 255, 255, .38) 70%, rgba(255, 255, 255, .62) 100%), rgba(255, 255, 255, .24);
}
.sx-interna [id] { scroll-margin-top: 116px; }

/* Hero de página interna: fondo difuminado dentro de la propia sección. */
.e-con.sx-hero-interno::before { top: -40px; left: -40px; width: calc(100% + 80px); height: calc(100% + 80px); z-index: 0; pointer-events: none; transition: none; }
.e-con.sx-hero-interno > .e-con { z-index: 1; }

/* Chips de anclas (botones de Elementor). */
.elementor .sx-chip .elementor-button,
.elementor .sx-chip .elementor-button:visited {
	display: inline-flex; align-items: center; gap: 10px; box-sizing: content-box; min-height: 0; padding: 12px 20px; border-radius: 999px;
	font-family: 'Source Sans 3', system-ui, sans-serif; font-size: 14px; font-weight: 500; line-height: normal; text-align: start; transition: none;
	color: var(--sx-tinta); background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.elementor .sx-chip .elementor-button:hover { box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .07), inset -3px -3px 7px #fff; color: var(--sx-tinta); }
.elementor .sx-chip .elementor-button-wrapper { display: flex; }

/* Lista con viñetas en píldoras (Icon List de Elementor, sin iconos). */
.elementor .sx-vinetas .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; }
.elementor .sx-vinetas .elementor-icon-list-item {
	display: flex; align-items: center; gap: 9px; box-sizing: content-box; padding: 11px 16px; border-radius: 999px;
	font-size: 14px; line-height: 1.35; color: var(--e-global-color-sxgrisoscuro, #3f474b);
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.elementor .sx-vinetas .elementor-icon-list-item::before {
	content: ""; position: static; width: 6px; height: 6px; border-radius: 999px; background: var(--sx-cian); display: block; flex: 0 0 auto;
}
.elementor .sx-vinetas .elementor-icon-list-text { padding: 0; }

/* Ficha del especialista. */
.elementor-widget-heading.sx-avatar .elementor-heading-title {
	display: grid; place-items: center; box-sizing: content-box; width: 46px; height: 46px; border-radius: 999px; background: var(--sx-celeste-claro);
	box-shadow: inset 3px 3px 6px rgba(18, 16, 15, .08), inset -2px -2px 6px rgba(255, 255, 255, .8);
}

/* Enlace de texto con flecha («Escribir»). */
.elementor .sx-enlace .elementor-button,
.elementor .sx-enlace .elementor-button:visited {
	display: inline-flex; align-items: center; padding: 0; min-height: 0; background: none; border-radius: 0; box-shadow: none;
	font-family: 'Source Sans 3', system-ui, sans-serif; font-size: 14px; font-weight: 500; line-height: normal; text-align: start;
	color: var(--sx-azul); transition: none;
}
.elementor .sx-enlace .elementor-button:hover { color: var(--sx-cian); }
.elementor .sx-enlace .elementor-button-content-wrapper { align-items: center; gap: 8px; }
.elementor .sx-enlace .elementor-button-icon svg { width: 15px; height: 15px; }
.elementor .sx-enlace .elementor-button-icon svg * { fill: none; }
.elementor .sx-enlace .elementor-button-wrapper { display: flex; }

/* Foto de cada servicio. */
.elementor-widget-image.sx-foto-servicio {
	border-radius: clamp(20px, 2.2vw, 30px); overflow: hidden; background: var(--sx-superficie);
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .6);
	aspect-ratio: 4 / 5; max-height: clamp(380px, 58vh, 720px);
}
/* El diseño la centra con margin:auto en un bloque; en la grilla se fija el ancho que resulta (alto máximo × proporción). */
.elementor .elementor-widget-image.sx-foto-servicio { justify-self: center; width: min(100%, calc(clamp(380px, 58vh, 720px) * 4 / 5)); }
.elementor .sx-foto-servicio img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; transition: transform 800ms var(--sx-ease); }
.elementor .sx-foto-servicio img:hover { transform: scale(1.04); }
@media (max-width: 960px) {
	.elementor-widget-image.sx-foto-servicio { aspect-ratio: 16 / 10; max-height: clamp(300px, 46vh, 460px); }
	.elementor .elementor-widget-image.sx-foto-servicio { width: min(100%, calc(clamp(300px, 46vh, 460px) * 16 / 10)); }
}

/* Variante de hover del botón vidrio del CTA en páginas internas. */
.sx-interna .elementor .sx-btn--cta-vidrio .elementor-button:hover { background: rgba(255, 255, 255, .24); }

/* ==========================================================================
   Soluciones
   ========================================================================== */
.sx-punto-celeste .sxpunto { color: var(--sx-celeste); }
.sx-romper .elementor-heading-title { overflow-wrap: break-word; word-break: break-word; min-width: 0; }

/* Caja azul «Fabricación propia» (el degradado es el fondo del contenedor, editable). */
.e-con.sx-caja-azul { box-shadow: 8px 8px 22px rgba(18, 16, 15, .12), -8px -8px 22px #fff, inset 0 1px 0 rgba(255, 255, 255, .25); }

/* Tarjetas de partners. */
.e-con.sx-tarjeta-partner {
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 6px 6px 16px rgba(18, 16, 15, .07), -5px -5px 12px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
	transition: transform 450ms var(--sx-ease), box-shadow 450ms ease;
}
.e-con.sx-tarjeta-partner:hover { transform: translateY(-6px); box-shadow: 10px 18px 34px rgba(18, 16, 15, .13), -6px -6px 16px rgba(255, 255, 255, .95); }

/* Chips de marcas (Icon List de Elementor, sin iconos). */
.elementor .sx-chips-marcas .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; }
.elementor .sx-chips-marcas .elementor-icon-list-item {
	display: inline-flex; align-items: center; box-sizing: content-box; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--sx-linea);
	font-family: var(--sx-michroma); font-size: 11px; letter-spacing: -.02em; line-height: normal; color: var(--sx-azul);
}
.elementor .sx-chips-marcas .elementor-icon-list-text { padding: 0; }

/* ==========================================================================
   Nosotros
   ========================================================================== */
/* Píldora de vidrio (mini-cifras). */
.e-con.sx-pildora {
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 4px 4px 12px rgba(18, 16, 15, .06), -4px -4px 10px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}

/* Tarjeta de vidrio (con variante que sube al pasar el mouse). */
.e-con.sx-tarjeta {
	background: rgba(255, 255, 255, .5); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 6px 6px 16px rgba(18, 16, 15, .07), -5px -5px 12px rgba(255, 255, 255, .9), inset 0 1px 0 rgba(255, 255, 255, .85);
}
.e-con.sx-tarjeta--hover { transition: transform 450ms var(--sx-ease), box-shadow 450ms ease; }
.e-con.sx-tarjeta--hover:hover { transform: translateY(-6px); box-shadow: 10px 18px 34px rgba(18, 16, 15, .13), -6px -6px 16px rgba(255, 255, 255, .95); }

/* Número en círculo de 52 px. */
.elementor-widget-heading.sx-num52 { align-self: flex-start; }
.elementor-widget-heading.sx-num52 .elementor-heading-title {
	display: grid; place-items: center; box-sizing: content-box; width: 52px; height: 52px; border-radius: 999px; background: var(--sx-celeste-claro);
	box-shadow: inset 3px 3px 6px rgba(18, 16, 15, .08), inset -2px -2px 6px rgba(255, 255, 255, .8);
}

/* Foto de la historia. */
.elementor-widget-image.sx-foto-historia {
	border-radius: clamp(20px, 2.2vw, 30px); overflow: hidden; background: var(--sx-superficie); aspect-ratio: 5 / 4;
	box-shadow: 0 18px 40px rgba(18, 16, 15, .10), inset 0 1px 0 rgba(255, 255, 255, .6);
}
.elementor .sx-foto-historia img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; transition: transform 800ms var(--sx-ease); }
.elementor .sx-foto-historia img:hover { transform: scale(1.04); }

/* Foto del equipo (encuadre arriba). */
.elementor-widget-image.sx-foto-equipo {
	position: relative; width: 100%; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden; background: var(--sx-superficie);
	box-shadow: inset 4px 4px 10px rgba(18, 16, 15, .075), inset -4px -4px 10px rgba(255, 255, 255, .6);
}
.elementor .sx-foto-equipo img {
	position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; display: block;
	transition: transform 800ms var(--sx-ease);
}
.elementor .sx-foto-equipo img:hover { transform: scale(1.04); }

.sx-zonas--fijas .sx-zonas__ficha { cursor: auto; transform: none; transition: none; }

/* ==========================================================================
   Contacto: formulario (widget Form de Elementor con la clase sx-form)
   ========================================================================== */
.sx-form .elementor-form-fields-wrapper {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px;
	margin: 0; --column-gap: 0px; --row-gap: 0px;
}
.sx-form .elementor-field-group {
	display: block; width: auto; max-width: none; min-width: 0; padding: 0; margin: 0;
}
.sx-form .elementor-field-type-select,
.sx-form .elementor-field-type-textarea,
.sx-form .elementor-field-type-submit { grid-column: 1 / -1; }
.sx-form .elementor-field-group .elementor-field-label {
	display: block; width: auto; margin: 0 0 8px; padding: 0; cursor: default;
	font-family: var(--sx-michroma); font-size: 11px; font-weight: 400; letter-spacing: .02em; line-height: normal; color: var(--sx-azul);
}
.sx-form .elementor-field-group .elementor-field-textual,
.sx-form .elementor-field-group .elementor-select-wrapper select {
	width: 100%; max-width: 100%; box-sizing: border-box; height: 50px; min-height: 0; padding: 0 20px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .72);
	font-family: inherit; font-size: 15px; font-weight: 400; line-height: normal; color: var(--sx-tinta);
	box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .05), inset -3px -3px 7px rgba(255, 255, 255, .9);
	transition: none;
}
.sx-form .elementor-field-group .elementor-select-wrapper select { cursor: pointer; appearance: none; -webkit-appearance: none; }
.sx-form .elementor-field-group textarea.elementor-field-textual { height: auto; padding: 16px 20px; border-radius: 22px; line-height: 1.5; resize: vertical; }
.sx-form .elementor-field-group .elementor-field-textual::placeholder { color: #757575; opacity: 1; } /* color por defecto del navegador */
/* Foco como en el diseño: contorno azul separado 2px. */
.sx-form .elementor-field-group .elementor-field-textual:focus,
.sx-form .elementor-field-group .elementor-select-wrapper select:focus {
	box-shadow: inset 3px 3px 7px rgba(18, 16, 15, .05), inset -3px -3px 7px rgba(255, 255, 255, .9); outline: 0;
}
.sx-form .elementor-field-group .elementor-field-textual:focus-visible,
.sx-form .elementor-field-group .elementor-select-wrapper select:focus-visible { outline: 2px solid var(--sx-azul); outline-offset: 2px; }
/* El select del diseño no muestra flecha. */
.sx-form .elementor-select-wrapper::before, .sx-form .elementor-select-wrapper .select-caret-down-wrapper { display: none; }
.sx-form .elementor-select-wrapper { display: block; }

/* Fila del botón + enlace de WhatsApp. */
.sx-form .elementor-field-group.elementor-field-type-submit {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: calc(clamp(20px, 2.2vw, 28px) - 16px);
}
.sx-form .elementor-field-type-submit .elementor-button {
	display: inline-flex; align-items: center; flex: 0 1 auto; width: auto; box-sizing: content-box; height: 52px; min-height: 0; padding: 0 28px;
	border: 0; border-radius: 999px; background: var(--sx-azul); color: #fff; cursor: pointer;
	font-family: inherit; font-size: 15px; font-weight: 600; line-height: normal; transition: none;
	box-shadow: 4px 4px 11px rgba(18, 16, 15, .12), -4px -4px 11px #fff;
}
.sx-form .elementor-field-type-submit .elementor-button:hover { background: var(--sx-azul-hover); color: #fff; }
.sx-form .elementor-button .elementor-button-content-wrapper { gap: 9px; align-items: center; }
.sx-form .elementor-button .elementor-button-text { white-space: normal; }
.sx-form .elementor-button .elementor-button-icon svg { width: 15px; height: 15px; }
.sx-form .elementor-button .elementor-button-icon svg * { fill: none; }
.sx-form .elementor-field-type-submit .sx-form-enlace { flex: 0 1 auto; }
.elementor .sx-enlace-cian .elementor-heading-title a:hover { color: var(--sx-cian); }

/* Datos de contacto: icono en círculo de 44 px. */
.elementor-widget-icon.sx-icono44 .elementor-icon-wrapper { line-height: 0; }
.elementor-widget-icon.sx-icono44 .elementor-icon {
	display: grid; place-items: center; box-sizing: content-box; width: 44px; height: 44px; border-radius: 999px; font-size: 16px; line-height: 0;
	background: var(--sx-celeste-claro); box-shadow: inset 3px 3px 6px rgba(18, 16, 15, .08), inset -2px -2px 6px rgba(255, 255, 255, .8);
}
.elementor-widget-icon.sx-icono44 .elementor-icon svg { width: 16px; height: 16px; }
.elementor-widget-icon.sx-icono44 .elementor-icon svg * { fill: none; }
.elementor .sx-dato-valor .elementor-heading-title a { display: inline-block; }
.elementor .sx-dato-valor .elementor-heading-title a:hover { color: var(--sx-cian); }
/* Como en el diseño (campos dentro de <label>): alineados a la línea base; el textarea deja el hueco del descendente. */
.sx-form .elementor-field-group .elementor-field-textual { display: inline-block; vertical-align: baseline; }
.sx-form .elementor-field-group { font-size: 16px; line-height: normal; }
/* Mensajes del envío desde el servidor (solo con «enviar desde el servidor» activado). */
.sx-form .elementor-message { grid-column: 1 / -1; margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--sx-gris); }
.sx-form .elementor-message.elementor-message-success { color: var(--sx-azul); }
.sx-form .elementor-message.elementor-message-danger { color: #b3261e; }
.sx-form .elementor-message::before { display: none; }
