#recent-repairs {
  position: relative;
  overflow: hidden;
}

/* ================= SCROLL STRIP ================= */

#recent-repairs .repairs-scroll {
  display: flex;
  gap: 16px;

  overflow-x: auto;
  overflow-y: hidden;

  padding: 10px 16px 30px;

  -webkit-overflow-scrolling: touch;

  /* ✅ IMPORTANT: JS handles movement */
  scroll-snap-type: none;
  scroll-behavior: auto;

  -ms-overflow-style: none;
  scrollbar-width: none;

  cursor: grab;
}

#recent-repairs .repairs-scroll:active {
  cursor: grabbing;
}

#recent-repairs .repairs-scroll::-webkit-scrollbar {
  display: none;
}

/* ================= CARDS ================= */

#recent-repairs .repair-card {
  flex: 0 0 auto;
  width: 300px;

  border-radius: 14px;
  overflow: hidden;

  background: linear-gradient(180deg, #0b1f1c, #071613);
  border: 1px solid rgba(0, 255, 180, 0.15);

  cursor: pointer;

  /* ✅ Clean + stable animation */
  transition: transform 0.3s ease, opacity 0.3s ease;

  will-change: transform;
  contain: layout paint;

  opacity: 0.6;
}

/* ✅ Lift effect (safe) */
#recent-repairs .repair-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0, 255, 180, 0.4);
  box-shadow:
    0 15px 35px rgba(0, 255, 180, 0.12),
    0 0 20px rgba(0, 255, 180, 0.08);
}

/* ✅ ACTIVE CARD (used by JS if needed) */
#recent-repairs .repair-card.active {
  transform: scale(1.05);
  opacity: 1;
}

/* ================= IMAGE ================= */

#recent-repairs .repair-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;

  transition: transform 0.4s ease;
}

/* ✅ Safe zoom */
#recent-repairs .repair-card:hover img {
  transform: scale(1.05);
}

#recent-repairs .repair-card::after {
  pointer-events: none;
}

/* ================= LIGHTBOX ================= */

.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);

  display: none;
  align-items: center;
  justify-content: center;

  z-index: 999;
}

.lightbox img {
  max-width: 92%;
  max-height: 80%;
  border-radius: 14px;

  transition: transform 0.3s ease;
  cursor: zoom-in;
}

.lightbox img.zoomed {
  transform: scale(1.4);
  cursor: zoom-out;
}

/* CLOSE BUTTON */
.lightbox-close {
  position: absolute;
  top: 16px;
  right: 20px;

  font-size: 36px;
  color: #00f5c4;
  cursor: pointer;

  padding: 10px;
}

/* ================= ARROWS ================= */

.lightbox-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  font-size: 36px;
  color: #00f5c4;

  cursor: pointer;
  user-select: none;

  padding: 12px;
}

.lightbox-arrow.left { left: 10px; }
.lightbox-arrow.right { right: 10px; }

/* ================= TABLET ================= */

@media (max-width: 768px) {

  #recent-repairs .repair-card {
    width: 240px;
  }

  #recent-repairs .repair-card img {
    height: 160px;
  }
}

/* ================= MOBILE ================= */

@media (max-width: 480px) {

  #recent-repairs .repairs-scroll {
    padding-left: 20px;
    padding-right: 20px;
  }

  #recent-repairs .repair-card {
    width: 85%;
    max-width: 260px;
  }

  #recent-repairs .repair-card img {
    height: 150px;
  }

  /* ✅ swipe UX */
  .lightbox-arrow {
    display: none;
  }

  .lightbox-close {
    font-size: 32px;
    top: 12px;
    right: 16px;
  }
}