.ai-loop-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;

  /* fallback values, overridden inline per-widget instance settings */
  --ai-card-w: 160px;
  --ai-card-h: 240px;
  --ai-card-radius: 14px;
  --ai-card-gap: 16px;
  --ai-scroll-speed: 35s;
}

/* soft fade at the left/right edges, like varijaipur.com */
.ai-loop-wrapper::before,
.ai-loop-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 60px;
  z-index: 2;
  pointer-events: none;
}
.ai-loop-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #fff, rgba(255,255,255,0));
}
.ai-loop-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #fff, rgba(255,255,255,0));
}

.ai-row {
  display: flex;
  gap: var(--ai-card-gap);
  width: max-content;
  margin: 10px 0;
}

.ai-card {
  width: var(--ai-card-w);
  height: var(--ai-card-h);
  border-radius: var(--ai-card-radius);
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.ai-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ai-left {
  animation: aiSlideLeft var(--ai-scroll-speed) linear infinite;
}

.ai-right {
  animation: aiSlideRight var(--ai-scroll-speed) linear infinite;
}

.ai-loop-wrapper:hover .ai-row {
  animation-play-state: paused;
}

@keyframes aiSlideLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes aiSlideRight {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@media (max-width: 768px) {
  .ai-card {
    width: calc(var(--ai-card-w) * 0.75);
    height: calc(var(--ai-card-h) * 0.75);
  }
}
