/* ===== brand image (image-carousel) infinite-scroll marquee =====
   覆盖上面的 flex-wrap:wrap 规则，让品牌图横向无缝滚动 */
.elementor-widget-image-carousel .elementor-image-carousel-wrapper {
  overflow: hidden !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}
.elementor-widget-image-carousel .elementor-image-carousel.swiper-wrapper {
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  width: max-content !important;
  gap: 0 !important;
  /* Stepped scroll: 0.5s smooth move per step + 3s pause = 3.5s x 17 steps = 59.5s */
  animation: brand-marquee 59.5s ease infinite;
}
.elementor-widget-image-carousel .elementor-image-carousel.swiper-wrapper:hover {
  animation-play-state: paused;
}
.elementor-widget-image-carousel .swiper-slide {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-right: 48px !important;
  padding: 8px 0;
}
.elementor-widget-image-carousel .swiper-slide img.swiper-slide-image {
  max-height: 64px;
  width: auto;
  display: block;
  filter: grayscale(0.1);
  transition: filter .25s;
}
.elementor-widget-image-carousel .swiper-slide img.swiper-slide-image:hover {
  filter: grayscale(0);
}
@keyframes brand-marquee {
  0.000%  { transform: translate3d(-0.0000%, 0, 0); }
  0.840%  { transform: translate3d(-2.9412%, 0, 0); }
  5.882%  { transform: translate3d(-2.9412%, 0, 0); }
  6.723%  { transform: translate3d(-5.8824%, 0, 0); }
  11.765% { transform: translate3d(-5.8824%, 0, 0); }
  12.605% { transform: translate3d(-8.8235%, 0, 0); }
  17.647% { transform: translate3d(-8.8235%, 0, 0); }
  18.487% { transform: translate3d(-11.7647%, 0, 0); }
  23.529% { transform: translate3d(-11.7647%, 0, 0); }
  24.370% { transform: translate3d(-14.7059%, 0, 0); }
  29.412% { transform: translate3d(-14.7059%, 0, 0); }
  30.252% { transform: translate3d(-17.6471%, 0, 0); }
  35.294% { transform: translate3d(-17.6471%, 0, 0); }
  36.134% { transform: translate3d(-20.5882%, 0, 0); }
  41.176% { transform: translate3d(-20.5882%, 0, 0); }
  42.017% { transform: translate3d(-23.5294%, 0, 0); }
  47.059% { transform: translate3d(-23.5294%, 0, 0); }
  47.899% { transform: translate3d(-26.4706%, 0, 0); }
  52.941% { transform: translate3d(-26.4706%, 0, 0); }
  53.782% { transform: translate3d(-29.4118%, 0, 0); }
  58.824% { transform: translate3d(-29.4118%, 0, 0); }
  59.664% { transform: translate3d(-32.3529%, 0, 0); }
  64.706% { transform: translate3d(-32.3529%, 0, 0); }
  65.546% { transform: translate3d(-35.2941%, 0, 0); }
  70.588% { transform: translate3d(-35.2941%, 0, 0); }
  71.429% { transform: translate3d(-38.2353%, 0, 0); }
  76.471% { transform: translate3d(-38.2353%, 0, 0); }
  77.311% { transform: translate3d(-41.1765%, 0, 0); }
  82.353% { transform: translate3d(-41.1765%, 0, 0); }
  83.193% { transform: translate3d(-44.1176%, 0, 0); }
  88.235% { transform: translate3d(-44.1176%, 0, 0); }
  89.076% { transform: translate3d(-47.0588%, 0, 0); }
  94.118% { transform: translate3d(-47.0588%, 0, 0); }
  94.958% { transform: translate3d(-50.0000%, 0, 0); }
  100%    { transform: translate3d(-50%, 0, 0); }
}

