/**
 * SEI Integra — Footer global (Etapa 8)
 * Theme Builder ID 1535 — Elementor location footer.
 */

/* --------------------------------------------------------------------------
   Shell
   -------------------------------------------------------------------------- */
.elementor-location-footer,
.elementor.elementor-location-footer,
.elementor-1535.sei-footer {
	position: relative;
	background-color: var(--sei-black-deep) !important;
	border-top: 1px solid rgba(192, 192, 192, 0.14);
	overflow: hidden;
}

.elementor-1535.sei-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(224, 224, 224, 0.35) 20%,
		rgba(224, 224, 224, 0.35) 80%,
		transparent 100%
	);
	pointer-events: none;
	z-index: 2;
}

.elementor-1535.sei-footer::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 50% 40% at 0% 0%, rgba(192, 192, 192, 0.05), transparent 55%),
		radial-gradient(ellipse 40% 35% at 100% 100%, rgba(255, 255, 255, 0.03), transparent 60%);
	z-index: 0;
}

.elementor-location-footer .e-con,
.elementor-location-footer .elementor-element:not(.elementor-widget),
.elementor-1535.sei-footer .e-con,
.elementor-1535.sei-footer .elementor-element:not(.elementor-widget) {
	background-color: transparent !important;
}

.elementor-location-footer,
.elementor-location-footer a,
.elementor-location-footer p,
.elementor-location-footer span,
.elementor-location-footer li,
.elementor-1535.sei-footer,
.elementor-1535.sei-footer a,
.elementor-1535.sei-footer p,
.elementor-1535.sei-footer span,
.elementor-1535.sei-footer li {
	color: var(--sei-silver-mid) !important;
}

.elementor-location-footer a:hover,
.elementor-1535.sei-footer a:hover {
	color: var(--sei-silver-bright) !important;
}

/* --------------------------------------------------------------------------
   Grid principal — 3 columnas
   -------------------------------------------------------------------------- */
.elementor-1535.sei-footer .elementor-element-5288fba3 {
	--display: grid !important;
	--flex-direction: column !important;
	--flex-wrap: nowrap !important;
	--align-items: stretch !important;
	--justify-content: stretch !important;
	--gap: clamp(2rem, 4vw, 3rem) !important;
	--row-gap: clamp(2rem, 4vw, 3rem) !important;
	--column-gap: clamp(2rem, 4vw, 3rem) !important;
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	display: grid !important;
	grid-template-columns: 1fr;
	width: min(100% - clamp(2rem, 6vw, 6rem), 1440px) !important;
	max-width: 1440px !important;
	margin-inline: auto !important;
	padding: clamp(3rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem) clamp(2rem, 3vw, 2.5rem) !important;
	box-sizing: border-box;
	border-top: none !important;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px) {
	.elementor-1535.sei-footer .elementor-element-5288fba3 {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 1fr);
		align-items: start;
	}
}

.elementor-1535.sei-footer .elementor-element-71c85ed,
.elementor-1535.sei-footer .elementor-element-3d7eb298,
.elementor-1535.sei-footer .elementor-element-51690e2d {
	--display: flex !important;
	--flex-direction: column !important;
	--align-items: flex-start !important;
	--justify-content: flex-start !important;
	--width: 100% !important;
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	--margin-top: 0 !important;
	--margin-bottom: 0 !important;
	--margin-left: 0 !important;
	--margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: unset !important;
	order: unset !important;
	box-sizing: border-box;
	gap: var(--sei-space-md) !important;
}

.elementor-1535.sei-footer .elementor-element-71c85ed {
	--gap: var(--sei-space-md) !important;
}

/* Logo + descripción */
.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--sei-space-sm);
	text-align: left !important;
}

.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-wrapper .elementor-image-box-img,
.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-img {
	width: auto !important;
	max-width: 180px !important;
	margin: 0 !important;
}

.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-img img,
.elementor-1535.sei-footer .elementor-element-1363969b img.sei-logo,
.elementor-location-footer img.sei-logo,
.elementor-location-footer .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-image img.sei-logo,
.elementor-location-footer img[src*="sei-integra-logo"] {
	width: auto !important;
	height: auto !important;
	max-width: 220px !important;
	max-height: 110px !important;
	object-fit: contain !important;
	object-position: left center !important;
	filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.4)) !important;
}

.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-title {
	display: none !important;
}

.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-description {
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 300 !important;
	line-height: var(--sei-leading-normal) !important;
	letter-spacing: 0.02em;
	color: var(--sei-silver-mid) !important;
	max-width: 30ch;
	margin: 0 !important;
	text-wrap: pretty;
}

/* Redes sociales */
.elementor-1535.sei-footer .elementor-element-71720aed {
	--icon-size: 18px !important;
	--grid-column-gap: 14px !important;
	margin-top: var(--sei-space-xs) !important;
}

.elementor-1535.sei-footer .elementor-element-71720aed .elementor-widget-container {
	text-align: left !important;
}

.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon {
	background-color: transparent !important;
	border: 1px solid rgba(192, 192, 192, 0.28);
	border-radius: 50%;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition:
		border-color var(--sei-motion-base) var(--sei-ease),
		box-shadow var(--sei-motion-base) var(--sei-ease),
		transform var(--sei-motion-base) var(--sei-ease);
}

.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon i,
.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon svg {
	color: var(--sei-silver-light) !important;
	fill: var(--sei-silver-light) !important;
}

.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon:hover {
	border-color: var(--sei-silver-bright);
	box-shadow: 0 0 14px rgba(255, 255, 255, 0.16);
	transform: translateY(-2px);
}

.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon:hover i,
.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon:hover svg {
	color: var(--sei-silver-bright) !important;
	fill: var(--sei-silver-bright) !important;
}

/* Títulos de columna */
.elementor-1535.sei-footer .elementor-element-7969beb2 .elementor-heading-title,
.elementor-1535.sei-footer .elementor-element-7016427d .elementor-heading-title {
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-overline) !important;
	font-weight: 600 !important;
	letter-spacing: var(--sei-tracking-wider) !important;
	text-transform: uppercase !important;
	color: var(--sei-silver-bright) !important;
	-webkit-text-fill-color: var(--sei-silver-bright) !important;
	background: none !important;
	margin: 0 0 var(--sei-space-sm) !important;
	padding-bottom: var(--sei-space-sm);
	border-bottom: 1px solid rgba(192, 192, 192, 0.18);
	width: 100%;
	max-width: 100%;
}

/* Enlaces rápidos */
.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main .elementor-item,
.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu .elementor-item {
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 400 !important;
	letter-spacing: 0.03em;
	line-height: 1.5 !important;
	color: var(--sei-silver-mid) !important;
	fill: var(--sei-silver-mid) !important;
	padding: 0.35rem 0 !important;
	transition: color var(--sei-motion-base) var(--sei-ease), transform var(--sei-motion-base) var(--sei-ease);
}

.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child) {
	margin-bottom: 0.15rem !important;
}

.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main .elementor-item:hover,
.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main .elementor-item:focus,
.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--sei-silver-bright) !important;
	fill: var(--sei-silver-bright) !important;
	transform: translateX(4px);
}

/* Visítanos */
.elementor-1535.sei-footer .elementor-element-566668d1,
.elementor-1535.sei-footer .elementor-element-566668d1 > .elementor-widget-container {
	margin: 0 !important;
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 300 !important;
	line-height: var(--sei-leading-normal) !important;
	color: var(--sei-silver-mid) !important;
	text-wrap: pretty;
}

.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-item > a,
.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-text {
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-sm) !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: var(--sei-silver-mid) !important;
}

.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-icon i,
.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-icon svg {
	color: var(--sei-silver-light) !important;
	fill: var(--sei-silver-light) !important;
}

.elementor-1535.sei-footer .elementor-element-7706a8b3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
	padding-block-end: 0.65rem !important;
}

/* Barra copyright */
.elementor-1535.sei-footer .elementor-element-6f043324 {
	--display: flex !important;
	--min-height: auto !important;
	--justify-content: center !important;
	--align-items: center !important;
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	width: min(100% - clamp(2rem, 6vw, 6rem), 1440px) !important;
	max-width: 1440px !important;
	margin: 0 auto !important;
	padding: 1.15rem clamp(1.5rem, 4vw, 3rem) 1.35rem !important;
	border-top: 1px solid rgba(192, 192, 192, 0.1) !important;
	background-color: transparent !important;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.elementor-1535.sei-footer .elementor-element-2cdf299f {
	text-align: center !important;
	width: 100%;
}

.elementor-1535.sei-footer .elementor-element-2cdf299f .elementor-heading-title {
	font-family: var(--sei-font) !important;
	font-size: var(--sei-text-xs) !important;
	font-weight: 400 !important;
	letter-spacing: 0.05em;
	color: var(--sei-silver-dark) !important;
	-webkit-text-fill-color: var(--sei-silver-dark) !important;
	background: none !important;
	margin: 0 !important;
}

/* --------------------------------------------------------------------------
   Botón volver arriba (JS)
   -------------------------------------------------------------------------- */
.sei-footer-top {
	position: fixed;
	right: clamp(1rem, 2vw, 1.5rem);
	bottom: clamp(1rem, 2vw, 1.5rem);
	z-index: 9990;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(192, 192, 192, 0.28);
	border-radius: 50%;
	background: rgba(10, 10, 10, 0.92);
	color: var(--sei-silver-light);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--sei-shadow-subtle);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition:
		opacity var(--sei-motion-base) var(--sei-ease),
		visibility var(--sei-motion-base) var(--sei-ease),
		transform var(--sei-motion-base) var(--sei-ease),
		border-color var(--sei-motion-base) var(--sei-ease),
		box-shadow var(--sei-motion-base) var(--sei-ease);
}

.sei-footer-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sei-footer-top:hover,
.sei-footer-top:focus-visible {
	border-color: rgba(224, 224, 224, 0.45);
	color: var(--sei-silver-bright);
	box-shadow: var(--sei-shadow-glow);
	outline: none;
}

/* --------------------------------------------------------------------------
   Responsive — reset overrides Elementor
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.elementor-1535.sei-footer .elementor-element-5288fba3 {
		padding: 2.5rem 1.25rem 1.75rem !important;
		--padding-top: 0 !important;
		--padding-bottom: 0 !important;
		--padding-left: 0 !important;
		--padding-right: 0 !important;
	}

	.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-img img,
	.elementor-1535.sei-footer .elementor-element-1363969b img.sei-logo {
		max-width: 150px !important;
		max-height: 96px !important;
	}

	.elementor-1535.sei-footer .elementor-element-1363969b .elementor-image-box-description {
		max-width: 100%;
	}

	.elementor-1535.sei-footer .elementor-element-6f043324 {
		padding: 1rem 1.25rem 1.25rem !important;
	}

	.sei-footer-top {
		width: 40px;
		height: 40px;
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sei-footer-top,
	.elementor-1535.sei-footer .elementor-element-71720aed .elementor-social-icon,
	.elementor-1535.sei-footer .elementor-element-b314fe .elementor-nav-menu--main .elementor-item {
		transition: none !important;
	}

	.sei-footer-top.is-visible {
		transform: none;
	}
}
