
.uls { width: 100%; position: relative; }

/* Track (scroll horizontal) */
.uls-track{
  display:flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  user-select: none;
  scroll-behavior: auto !important;

  scrollbar-width: none;
  -ms-overflow-style: none;

  touch-action: pan-x pinch-zoom;
  overscroll-behavior-x: contain;

  cursor: grab;
}
.uls-track.is-dragging{
  scroll-snap-type: none;
  scroll-snap-stop: normal;
  scroll-behavior: auto !important;
  user-select: none;
  cursor: grabbing;
}
.uls-track::-webkit-scrollbar{
  width: 0 !important;
  height: 0 !important;
  display: none;
}
.uls-track:active { cursor: grabbing; }


.uls-slide{
  flex: 0 0 100%;
  width: 100%;
  height: 540px;
  scroll-snap-align: start;
}

/* Link envolvente */
.uls-link{
  display: block;
  position: relative;
  width: 100%;
  height: 540px;
  text-decoration: none;
  color: inherit;
}


.uls-slide--blur .uls-bg{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 540px;          
  overflow: hidden;       
  pointer-events: none;
  z-index: 0;
}

/* Dos bandas laterales */
.uls-slide--blur .uls-bg::before,
.uls-slide--blur .uls-bg::after{
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  background-image: var(--uls-bg-desktop);
  background-size: cover;
  background-position: center;
  filter: blur(24px);
  transform: scale(1.08);
}

/* Ancho de gutters = (100% - 1500px)/2, con clamp para no ir negativo */
.uls-slide--blur .uls-bg::before{
  left: 0;
  width: clamp(0px, calc((100% - 1500px) / 2), 9999px);
}
.uls-slide--blur .uls-bg::after{
  right: 0;
  width: clamp(0px, calc((100% - 1500px) / 2), 9999px);
}
.uls-content{
  position: relative;
  z-index: 1;
  max-width: 1500px;
  height: 540px;
  margin: 0 auto;
}

.uls-slide--blur .uls-content{
  background: #000; /* ajusta al color real de tu diseño si quieres */
}

.uls-slide--full .uls-bg{ display: none; }
.uls-slide--full{
  background-image: var(--uls-bg-desktop);
  background-size: cover;
  background-position: center;
}

/* Contenedor interno */
.uls-inner{
  position: relative;
  width: 100%;
  height: 540px;
}

.uls-img{
  width: 100%;
  height: 540px!important;
  object-fit: cover;
  display: block;
}

.uls-slide--full .uls-img{
  display: none;
}

/* Sombra opcional en blur */
.uls-slide--blur .uls-img{
}

/* Caption alineado dentro de la columna de 1500px */
.uls-caption{
  position: absolute;
  left: clamp(16px, 4vw, 56px);
  bottom: clamp(16px, 4vw, 56px);
  max-width: min(720px, 92%);
  bottom: 67px;
  width: 41%;
}

.uls-title{
  display: inline-block;
  font-weight: 700;
  font-size: 41px;
  line-height: 1.1;
  color: #fff;
}

/* Si tu tema dibuja “líneas” abajo, esto las elimina */
.uls, .uls-track{
  border: 0 !important;
  box-shadow: none !important;
}
.uls-bullets{
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: flex;
  gap: 35px;
  z-index: 9999;       /* fuerza por encima */
  pointer-events: auto;
}

.uls .uls-bullet{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255,255,255);
  cursor: pointer;
  opacity: 0.5;
}

.uls-bullet.is-active{
  background: #ffffff!important;
  opacity: 1;
}
.uls-inner{ position: relative; }

.uls-slide{
  position: relative;
}

/* referencia */
.uls-slide{
  position:relative;
}

/* overlay FULL WIDTH */
.uls-overlay-full{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.15);
  z-index:1;
  pointer-events:none;
}

/* columna central por encima */
.uls-content{
  position:relative;
  z-index:2;
}

/* overlay solo para imagen central */
.uls-inner{
  position:relative;
}

.uls-overlay-inner{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.15);
  z-index:1;
  pointer-events:none;
}

/* imagen debajo */
.uls-img{
  position:relative;
  z-index:0;
}

/* caption siempre arriba */
.uls-caption{
  position:absolute;
  z-index:2;
}
.uls-picture,
.uls-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* móvil */
@media (max-width:768px){
  .uls-inner{
    aspect-ratio:390 / 540;
  }
  .uls-caption{
    width: 100%;
  }
  .uls-title{
    font-size: 30px;
  }
  .uls-slide--full{
  background-image: var(--uls-bg-mobile);
}

.uls-slide--blur .uls-bg::before,
.uls-slide--blur .uls-bg::after{
  background-image: var(--uls-bg-mobile);
}

}
