/* === CARRUSEL PARTICIPACIONES (Index) === */
/* Basado en unico.html — versión estable SIN efectos de hover */

.section-off{
  width:100vw;
  margin-left:calc(-50vw + 50%);
  background:#f6f5f3;
  padding:0 0 60px;
}

.off-inner{
  max-width:1200px;
  margin:0 auto;
  padding:60px 16px 0;
}

.off-inner h3{
  font-size:24px;
  margin-bottom:24px;
  font-weight:700;
  text-align:left;
}

/* === Carrusel === */
.carousel{position:relative}
.viewport{
  overflow:hidden;
  width:100%;
}
.carousel-track{
  display:flex;
  gap:32px;
  transition:transform .5s ease;
  width:100%;
}

.card{
  flex:0 0 calc(25% - 24px);
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.card-img{
  height:180px;
  background:#ddd;
}
.card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* === Texto de tarjeta === */
.card-text{
  padding:16px 18px;
  background:#fff;
  text-align:left;
  display:flex;
  flex-direction:column;
}

.card-text h4{
  font-size:16px;
  margin:0 0 6px;
  font-weight:600;
}

.card-text p{
  font-size:14px;
  margin:0 0 10px;
  color:#555;
  line-height:1.35;

  /* ✅ Mantiene la caja baja aunque el texto sea largo */
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

.card-text .leer-mas{
  font-size:14px;
  font-weight:600;
  color:#000;
  text-decoration:none;
}

/* === Dots Desktop === */
.carousel-dots{
  text-align:center;
  margin-top:20px;
}
.carousel-dots .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:none;
  background:#bbb;
  margin:0 4px;
  cursor:pointer;
}
.carousel-dots .dot.active{
  background:#111;
}

/* === MOBILE === */
@media(max-width:860px){
  .off-inner{padding:60px 16px 0}

  .viewport{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    white-space:nowrap;
  }

  .carousel-track{
    display:inline-flex;
    gap:20px;
    flex-wrap:nowrap;
    width:max-content;
    transition:none !important;
    transform:none !important;
  }

  .card{
    flex:0 0 80%;
    max-width:270px;
    scroll-snap-align:start;
    flex-shrink:0;
    display:inline-block;
  }

  .carousel-dots{display:none !important}

  /* ✅ altura aumentada */
  .card-img{
    height:210px;
  }

  .card-text{padding:14px}
  .card-text h4{font-size:15px}
  .card-text p{
    font-size:13.5px;
    -webkit-line-clamp:3;
  }
}

/* FIX Android Chrome */
@media(max-width:860px){
  .carousel .viewport::-webkit-scrollbar{display:none;}
  .carousel .carousel-track{min-width: fit-content;}
}
