/**
 * Continuous Marquee / Infinite Auto-Scroll for Elementor Image Carousels
 * Applied to Kruger Worldwide "Trusted by:" and "Tools we master" / "Right stack"
 */

.elementor-widget-image-carousel .elementor-image-carousel-wrapper {
  overflow: hidden !important;
  width: 100% !important;
  position: relative !important;
  mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}

.elementor-widget-image-carousel .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  align-items: center !important;
  gap: 0 !important;
}

.elementor-widget-image-carousel .swiper-slide {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-widget-image-carousel .swiper-slide-inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Trusted By Logos (.all-logos) */
.all-logos .elementor-image-carousel-wrapper {
  padding: 12px 0 !important;
}

.all-logos .swiper-slide {
  padding: 0 24px !important;
}

.all-logos .swiper-slide img,
.all-logos .swiper-slide-image {
  height: 42px !important;
  width: auto !important;
  max-height: 42px !important;
  max-width: 160px !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  filter: grayscale(100%) opacity(0.85);
  transition: filter 0.3s ease, transform 0.3s ease;
  display: block !important;
}

.all-logos .swiper-slide:hover img,
.all-logos .swiper-slide:hover .swiper-slide-image {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.1);
}

/* Right Stack / Tools We Master Logos (.join-logos) - Aumentados de tamaño */
.join-logos .elementor-image-carousel-wrapper {
  padding: 18px 0 !important;
}

.join-logos .swiper-slide {
  padding: 0 32px !important;
}

.join-logos .swiper-slide img,
.join-logos .swiper-slide-image {
  height: 68px !important;
  width: auto !important;
  max-height: 68px !important;
  max-width: 180px !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.15));
  transition: transform 0.3s ease, filter 0.3s ease;
  display: block !important;
}

.join-logos .swiper-slide:hover img,
.join-logos .swiper-slide:hover .swiper-slide-image {
  transform: scale(1.15);
  filter: drop-shadow(0 6px 16px rgba(255, 91, 0, 0.3));
}

/* Infinite Linear Marquee Keyframes */
@keyframes krugerMarqueeScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.elementor-widget-image-carousel .swiper-wrapper.ticker-active {
  animation: krugerMarqueeScroll 42s linear infinite !important;
  will-change: transform;
}

.join-logos .swiper-wrapper.ticker-active {
  animation-duration: 28s !important;
}

/* Pause on hover so user can inspect logos */
.elementor-widget-image-carousel:hover .swiper-wrapper.ticker-active {
  animation-play-state: paused !important;
}