/*
 * VG7 Group: carrusel compartido (bloques carrusel-seguros y testimonios). Handle "vggb-carrusel".
 * Copiado del diseño aprobado (disenos/viva-group/css/styles.css, sección 11 y su parte de la 23).
 * La lógica (flechas, puntos, arrastre, teclado) está en assets/js/comunes.js ([data-carousel]).
 */
.carousel{position:relative}
.carousel__viewport{overflow:hidden;cursor:grab;padding-block:8px}
.carousel__viewport.is-dragging{cursor:grabbing}
.carousel__track{display:flex;gap:clamp(16px,2vw,24px);transition:transform .7s var(--ease)}
.carousel__track.no-anim{transition:none}
.carousel__slide{flex:0 0 calc((100% - 2 * clamp(16px,2vw,24px)) / 3);user-select:none}

.carousel__nav{display:flex;gap:10px;align-items:center}
.carousel__btn{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid rgba(0,7,43,.14);color:var(--ink);background:#fff;
  transition:background-color .35s,color .35s,transform .4s var(--ease),border-color .35s,opacity .3s;
}
.carousel__btn svg{width:17px;height:17px}
.carousel__btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.06)}
.carousel__btn[disabled]{opacity:.35;pointer-events:none}
.carousel__dots{display:flex;gap:7px;margin-left:8px}
.carousel__dot{width:8px;height:8px;border-radius:50%;background:rgba(0,7,43,.2);transition:width .4s var(--ease),background-color .3s}
.carousel__dot.is-active{width:26px;border-radius:5px;background:var(--brand)}
.carousel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,52px)}
.carousel__head .section-head{margin-bottom:0}

@media (max-width:1100px){
  .carousel__slide{flex-basis:calc((100% - clamp(16px,2vw,24px)) / 2)}
}
@media (max-width:640px){
  .carousel__slide{flex-basis:88%}
}
