/* =========================================================================
 * Synced Slider for Elementor
 * Estilos base + optimizaciones para iOS / Safari
 * ========================================================================= */

.sse-synced-slider {
	position: relative;
	width: 100%;
}

/* ---- Slider principal ---- */
.sse-synced-slider .sse-main {
	position: relative;
	width: 100%;
	/* Mejora el rendimiento de scroll/transform en iOS */
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.sse-synced-slider .sse-main .swiper-slide {
	position: relative;
	overflow: hidden;
	display: flex;
	height: 500px;
}

.sse-synced-slider .sse-slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	/* Evita el "salto" de imágenes durante el arrastre en Safari */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	pointer-events: none;
}

.sse-synced-slider .sse-slide-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

/* ---- Contenido sobre la diapositiva ---- */
.sse-synced-slider .sse-slide-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	padding: 30px;
	box-sizing: border-box;
}

.sse-synced-slider .sse-slide-content-inner {
	max-width: 60%;
}

.sse-synced-slider .sse-slide-title {
	margin: 0 0 12px;
	color: #fff;
	line-height: 1.2;
}

.sse-synced-slider .sse-slide-desc {
	margin: 0 0 20px;
	color: #f1f1f1;
	line-height: 1.5;
}

.sse-synced-slider .sse-slide-btn {
	display: inline-block;
	padding: 12px 28px;
	background-color: #FF6B35;
	color: #fff;
	text-decoration: none;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.sse-synced-slider .sse-slide-link-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: block;
}

/* ---- Flechas ---- */
.sse-synced-slider .sse-main .swiper-button-next,
.sse-synced-slider .sse-main .swiper-button-prev {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.4);
	color: #fff;
	transition: background-color 0.25s ease, color 0.25s ease;
	margin-top: calc(0px - 23px);
	-webkit-tap-highlight-color: transparent;
}

.sse-synced-slider .sse-main .swiper-button-next:after,
.sse-synced-slider .sse-main .swiper-button-prev:after {
	font-size: 20px;
	font-weight: 700;
}

/* ---- Paginación ---- */
.sse-synced-slider .sse-main .swiper-pagination {
	z-index: 4;
}

/* =========================================================================
 *  Miniaturas
 * ========================================================================= */
.sse-synced-slider .sse-thumbs {
	width: 100%;
	margin-top: 12px;
	box-sizing: border-box;
}

.sse-synced-slider.sse-thumbs-top .sse-thumbs {
	margin-top: 0;
	margin-bottom: 12px;
}

.sse-synced-slider .sse-thumbs .swiper-slide {
	height: 90px;
	cursor: pointer;
	opacity: 0.5;
	overflow: hidden;
	border-radius: 6px;
	box-sizing: border-box;
	transition: opacity 0.25s ease, box-shadow 0.25s ease;
	-webkit-tap-highlight-color: transparent;
}

.sse-synced-slider .sse-thumbs .swiper-slide-thumb-active {
	opacity: 1;
	box-shadow: inset 0 0 0 3px #FF6B35;
}

.sse-synced-slider .sse-thumbs .sse-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	pointer-events: none;
}

/* =========================================================================
 *  Correcciones específicas para iOS / Safari (móvil Apple)
 * ========================================================================= */

/* El elemento que captura el gesto debe permitir scroll vertical de la
 * página mientras se arrastra horizontalmente el slider. Swiper lo gestiona,
 * pero declaramos touch-action explícito para iOS. */
.sse-synced-slider .swiper {
	touch-action: pan-y;
	-webkit-user-select: none;
	user-select: none;
}

/* Evita la selección/copia accidental y el menú contextual de iOS al
 * mantener pulsado sobre las imágenes. */
.sse-synced-slider img {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

/* Safari a veces no respeta overflow:hidden con border-radius + transform;
 * forzamos una capa de composición para que el recorte sea estable. */
.sse-synced-slider .sse-main,
.sse-synced-slider .sse-thumbs .swiper-slide {
	-webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* En pantallas táctiles ocultamos las flechas si no hay hover real,
 * dejando la navegación por arrastre y miniaturas (más natural en móvil). */
@media (hover: none) and (pointer: coarse) {
	.sse-synced-slider .sse-main .swiper-button-next,
	.sse-synced-slider .sse-main .swiper-button-prev {
		opacity: 0.85;
	}
}

/* Ajustes responsive de respaldo (los tamaños finos vienen de Elementor). */
@media (max-width: 1024px) {
	.sse-synced-slider .sse-slide-content-inner {
		max-width: 75%;
	}
}

@media (max-width: 767px) {
	.sse-synced-slider .sse-slide-content {
		padding: 18px;
	}
	.sse-synced-slider .sse-slide-content-inner {
		max-width: 100%;
	}
	.sse-synced-slider .sse-main .swiper-button-next,
	.sse-synced-slider .sse-main .swiper-button-prev {
		width: 36px;
		height: 36px;
		margin-top: -18px;
	}
	.sse-synced-slider .sse-main .swiper-button-next:after,
	.sse-synced-slider .sse-main .swiper-button-prev:after {
		font-size: 15px;
	}
}

/* Preloader de lazy load */
.sse-synced-slider .swiper-lazy-preloader {
	z-index: 1;
}
