.realyvax-navid-prov-carrusel {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden; /* Oculta lo que se sale del viewport */
  padding: 2rem 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Track: todos los items en una sola línea continua */
.realyvax-navid-prov__track {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  width: max-content; /* Clave: no se encoge, permite el desplazamiento */
  will-change: transform;
  /* Animación continua e infinita */
  animation: realyvax-marquee-scroll var(--duration, 25s) linear infinite;
}

/* Pausa suave al pasar el ratón */
.realyvax-navid-prov-carrusel:hover .realyvax-navid-prov__track {
  animation-play-state: paused;
}

/* La animación mueve exactamente el 50% del track (donde empieza la duplicación) */
@keyframes realyvax-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 0.75rem)); }
  /* El -0.75rem compensa el gap entre la última copia y la primera original */
}

/* Cada item ocupa exactamente 1/N del ancho visible */
.realyvax-navid-prov__item {
  flex: 0 0 calc((100vw - (var(--visibles, 5) + 1) * 1.5rem) / var(--visibles, 5));
  max-width: calc((100vw - (var(--visibles, 5) + 1) * 1.5rem) / var(--visibles, 5));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
  background-color: #ffffff;
  border-radius: var(--realyvax-radius, 8px);
  border: 1px solid rgba(0, 87, 184, 0.08);
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.realyvax-navid-prov__item:hover {
  border-color: rgba(0, 87, 184, 0.2);
  box-shadow: 0 4px 12px rgba(0, 87, 184, 0.06);
}

.realyvax-navid-prov__item img {
  max-height: 48px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.7);
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.realyvax-navid-prov__item:hover img {
  filter: grayscale(0%) opacity(1);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Móvil: siempre 2 logos visibles */
@media (max-width: 768px) {
  .realyvax-navid-prov-carrusel {
    --visibles: 2;
    padding: 1.5rem 0;
  }
  .realyvax-navid-prov__track { gap: 1rem; }
  .realyvax-navid-prov__item {
    flex: 0 0 calc((100vw - 3 * 1rem) / 2);
    max-width: calc((100vw - 3 * 1rem) / 2);
    padding: 1rem;
  }
  .realyvax-navid-prov__item img { max-height: 36px; }
  @keyframes realyvax-marquee-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - 0.5rem)); }
  }
}

/* Tablet: 3 logos visibles */
@media (min-width: 769px) and (max-width: 1024px) {
  .realyvax-navid-prov-carrusel {
    --visibles: 3;
  }
}

/* Accesibilidad: respetar preferencias de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
  .realyvax-navid-prov__track {
    animation: none;
  }
}