/* =========================================================
   InfiniteCardSlider — sonsuz akan kart şeridi
   Dış kapsayıcı overflow:clip ile sayfa yatay scroll'unu engeller.
   ========================================================= */

.ics-root {
  position: relative;
  /* KRİTİK: sayfa düzeyinde yatay scroll yaratmaz */
  overflow: clip;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.ics-root.is-dragging {
  cursor: grabbing;
}

/* Track: GSAP x transform ile kaydırılır */
.ics-track {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--ics-gap, 1.5rem);
  width: max-content;
  will-change: transform;
}

/* Bireysel slot — genişlik dışarıdan --ics-card-w ile ayarlanır */
.ics-item {
  flex: 0 0 var(--ics-card-w, 340px);
  width: var(--ics-card-w, 340px);
  pointer-events: none; /* drag sırasında iç tıklamaları engelle */
}

.ics-root:not(.is-dragging) .ics-item {
  pointer-events: auto;
}

/* ---- Mobil: native swipe (overflow-x: auto + scroll-snap) ---- */
.ics-root--mobile {
  overflow-x: auto;
  overflow-y: clip;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: default;
}
.ics-root--mobile::-webkit-scrollbar {
  display: none;
}
.ics-root--mobile .ics-track {
  width: max-content;
  will-change: auto;
}
.ics-root--mobile .ics-item {
  scroll-snap-align: start;
  pointer-events: auto;
}

/* ---- Kenar silinme efekti (masaüstü) ---- */
.ics-root:not(.ics-root--mobile)::before,
.ics-root:not(.ics-root--mobile)::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(2rem, 6vw, 5rem);
  z-index: 2;
  pointer-events: none;
}
.ics-root:not(.ics-root--mobile)::before {
  left: 0;
  background: linear-gradient(to right, var(--bg, #f3f6ef), transparent);
}
.ics-root:not(.ics-root--mobile)::after {
  right: 0;
  background: linear-gradient(to left, var(--bg, #f3f6ef), transparent);
}
