/* ============================================================
   rail.css — Yatay kaydırılan ürün şeridi (İlgili Ürünler)
   ============================================================ */

.rail {
  position: relative;
}

.rail-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(240px, 26vw, 300px);
  gap: var(--space-lg);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: var(--space-sm) var(--space-xs) var(--space-md);
}

.rail-track::-webkit-scrollbar {
  display: none;
}

.rail-cell {
  scroll-snap-align: start;
  display: flex;
  min-width: 0;
}

.rail-cell > .product-card {
  width: 100%;
}

/* Oklar şeridin iki yanında, kartların ortası hizasında; telefonda parmakla da kayar. */
.rail-arrows {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.rail-arrows[hidden] {
  display: none;
}

.rail-arrows button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 -22px;
  border: 1px solid var(--color-line-strong);
  border-radius: 50%;
  background: var(--color-bg);
  box-shadow: var(--shadow-md);
  color: var(--color-ink);
  pointer-events: auto;
  transition: background var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);
}

@media (max-width: 768px) {
  .rail-arrows button {
    width: 38px;
    height: 38px;
    margin: 0 -6px;
  }
}

.rail-arrows button:hover:not(:disabled) {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.rail-arrows button:disabled {
  opacity: 0;
  pointer-events: none;
}

.rail-arrows svg {
  width: 18px;
  height: 18px;
}
