.uls-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	outline: none;
	--uls-h: 550px;
	--uls-h-mob: 320px;
}

.uls-track {
	display: flex;
	will-change: transform;
}

.uls-slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.uls-slide .uls-link {
	display: block;
	width: 100%;
	height: 100%;
}

.uls-slide .uls-img {
	display: block;
	width: 100%;
	height: auto;
}

/* Neutraliza efectos de carga del tema (The7/WPBakery: scale/fade/blur hasta que
   su lazyload marca la imagen como cargada, cosa que aquí nunca ocurre) */
.uls-slider .uls-img,
.uls-slider .uls-slide img {
	transform: none !important;
	filter: none !important;
	opacity: 1 !important;
	animation: none !important;
	transition: none !important;
	visibility: visible !important;
}

/* Altura fija */
.uls-slider.uls-fixed-h .uls-slide { height: var(--uls-h); }
.uls-slider.uls-fixed-h .uls-img {
	height: 100%;
	object-fit: cover;
}
@media (max-width: 768px) {
	.uls-slider.uls-fixed-h .uls-slide { height: var(--uls-h-mob); }
}

/* Texto */
.uls-text {
	position: absolute;
	z-index: 2;
	max-width: 80%;
	color: #fff;
	font-size: clamp(1.6rem, 4vw, 3.2rem);
	font-weight: 600;
	line-height: 1.25;
	text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.uls-text p { margin: 0; }

/* Posiciones preset */
.uls-pos-top-left      { top: 8%;  left: 5%; }
.uls-pos-top-center    { top: 8%;  left: 50%; transform: translateX(-50%); text-align: center; }
.uls-pos-top-right     { top: 8%;  right: 5%; text-align: right; }
.uls-pos-center-left   { top: 50%; left: 5%; transform: translateY(-50%); }
.uls-pos-center-center { top: 50%; left: 50%; transform: translate(-50%,-50%); text-align: center; }
.uls-pos-center-right  { top: 50%; right: 5%; transform: translateY(-50%); text-align: right; }
.uls-pos-bottom-left   { bottom: 8%; left: 5%; }
.uls-pos-bottom-center { bottom: 8%; left: 50%; transform: translateX(-50%); text-align: center; }
.uls-pos-bottom-right  { bottom: 8%; right: 5%; text-align: right; }
/* La posición custom lleva left/top/transform inline desde PHP */

/* Flechas */
.uls-arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(0,0,0,.4);
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease;
	padding: 0;
}
.uls-arrow:hover { background: rgba(0,0,0,.7); }
.uls-prev { left: 12px; }
.uls-next { right: 12px; }

/* Dots */
.uls-dots {
	position: absolute;
	z-index: 3;
	bottom: 14px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
}
.uls-dot {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255,255,255,.5);
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.uls-dot.is-active {
	background: #fff;
	transform: scale(1.2);
}

/* Móvil */
@media (max-width: 768px) {
	.uls-arrow { width: 36px; height: 36px; font-size: 14px; }
	.uls-text { max-width: 90%; font-size: clamp(1.2rem, 6vw, 1.9rem); }
}

/* Accesibilidad: menos movimiento */
@media (prefers-reduced-motion: reduce) {
	.uls-track { transition: none !important; }
}
