/* ============================================================
   CARRUSEL 3D – SUCURSALES  (versión final)
   ============================================================ */

/* El contenedor de Elementor no debe comprimir los slides */
.elementor-widget-container > #sp-3d-wrapper{flex:0 0 100%!important;}

#sp-3d-wrapper{
  position:relative!important;
  width:100%!important;
  padding:4rem 0 6rem!important;
  overflow:visible!important;
}

/* ---------- Stage con perspectiva 3D ---------- */
#sp-3d-swiper{
  width:100%!important;
  overflow:visible!important;
  perspective:1200px;
}
#sp-3d-swiper .swiper-wrapper{
  display:flex!important;
  justify-content:center!important;
  overflow:visible!important;
}

/* ---------- Slide: tamaño fijo + sombra ---------- */
#sp-3d-swiper .swiper-slide{
  width:280px!important;
  height:360px!important;
  flex-shrink:0!important;
  position:relative!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#000!important;
  box-shadow:0 10px 25px rgba(0,0,0,.15)!important;
}
#sp-3d-swiper .swiper-slide>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#sp-3d-swiper .swiper-slide::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 60%)!important;
  z-index:1!important;
}

/* ---------- Caption ---------- */
.slide-caption{
  position:absolute!important;
  inset-inline:0!important;
  bottom:0!important;
  padding:1.2rem .8rem 2.2rem!important;
  text-align:center!important;
  color:#fff!important;
  z-index:2!important;
  font-family:"Nunito",sans-serif!important;
}
.slide-caption h3{margin:0;font:700 1.1rem/1.2 Nunito,sans-serif;}
.slide-caption p {margin:.4rem 0 0;font:.85rem Nunito,sans-serif;}

/* ---------- Navegación ---------- */
#sp-3d-prev,#sp-3d-next{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:40px;height:40px;
  color:#000;cursor:pointer;opacity:.8;z-index:30;
}
#sp-3d-prev:hover,#sp-3d-next:hover{opacity:1;}
#sp-3d-prev{left:-60px;}
#sp-3d-next{right:-60px;}

/* ---------- Paginación ---------- */
#sp-3d-swiper .swiper-pagination-bullet{background:#e30613!important;}

/* ---------- Responsive ≤ 600 px ---------- */
@media(max-width:600px){
  #sp-3d-swiper .swiper-slide{width:220px;height:280px;}
  .slide-caption h3{font-size:.9rem;}
  .slide-caption p {font-size:.75rem;}
  #sp-3d-prev{left:10px;}
  #sp-3d-next{right:10px;}
}

/* ---------- Anti-espejo y trasera oculta ---------- */
#sp-3d-swiper .swiper-slide{
  transform-style: preserve-3d;
  backface-visibility: hidden;
}

/* ---------- Laterales: pivote de giro ---------- */
#sp-3d-swiper .swiper-slide-prev { transform-origin: 100% 50%; }
#sp-3d-swiper .swiper-slide-next { transform-origin:   0% 50%; }

/* ---------- Tarjeta central completamente plana ---------- */
#sp-3d-swiper .swiper-slide-active,
#sp-3d-swiper .swiper-slide-duplicate-active{
  transform: translate3d(0,0,0) rotateY(0deg)!important;
  z-index:2;
}
#sp-3d-swiper .swiper-slide img {
  will-change: transform;
}
