/* ===================================================
   Layout: Clients (Splide AutoScroll Marquee)
   File:   template-parts/flexible/clients/clients.css
=================================================== */

.clients {
  --clients-bg: #fbfaf2;
  position: relative;
  width: 100%;
  padding: 30px 0;
}

.clients .container {
  position: relative;
}

/* Splide Slider Marquee with Edge Gradient Fade */
.clients-splide {
  position: relative;
  width: 100%;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000000 80px,
    #000000 calc(100% - 80px),
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000000 80px,
    #000000 calc(100% - 80px),
    transparent 100%
  );
}

@media (max-width: 767.98px) {
  .clients-splide {
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000000 40px,
      #000000 calc(100% - 40px),
      transparent 100%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000000 40px,
      #000000 calc(100% - 40px),
      transparent 100%
    );
  }
}

/* Fallback for older browsers without CSS mask-image */
@supports not (
  (-webkit-mask-image: linear-gradient(#000, #000)) or
    (mask-image: linear-gradient(#000, #000))
) {
  .clients-splide::before,
  .clients-splide::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    z-index: 2;
    pointer-events: none;
  }

  .clients-splide::before {
    left: 0;
    background: linear-gradient(
      90deg,
      var(--clients-bg, #fbfaf2) 0%,
      transparent 100%
    );
  }

  .clients-splide::after {
    right: 0;
    background: linear-gradient(
      270deg,
      var(--clients-bg, #fbfaf2) 0%,
      transparent 100%
    );
  }

  @media (max-width: 767.98px) {
    .clients-splide::before,
    .clients-splide::after {
      width: 40px;
    }
  }
}

.clients-splide .splide__track {
  overflow: hidden;
  padding: 0;
  /* Prevent GPU subpixel motion blur during auto-scroll */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.clients-splide .splide__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Slide Logo Items: 200px width x 100px height */
.clients-splide__slide {
  flex: 0 0 200px !important;
  width: 200px !important;
  height: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.clients-splide__slide img {
  width: 200px;
  height: 100px;
  max-width: 200px;
  max-height: 100px;
  object-fit: contain;
  display: block;
  user-select: none;
  pointer-events: none;
  /* Crisp image rendering for raster bitmaps inside SVGs */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* RWD  */
@media (max-width: 991px) {
  .clients-splide__slide img {
    width: 150px;
  }
}
