/* Carousel & single-card centering improvements (update)
   - Ensures single card is centered and not stretched
   - Keeps slide width consistent and responsive
   - Adds small visual tweaks for arrows placement
*/

/* Carousel wrapper & track */
.positions-carousel-wrapper { position: relative; margin-top: 12px; }
.positions-carousel {
  display: flex;
  gap: 24px;
  overflow: hidden;
  scroll-behavior: smooth;
  padding: 12px 0;
  align-items: center;
  /* allow horizontal center if single slide (JS will add .single class) */
}
.positions-carousel.single {
  justify-content: center;
}

/* Slide container & width */
.position-slide {
  flex: 0 0 560px;
  max-width: 560px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}

/* Card sizing inside slide */
.position-slide .position-card {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

/* When single slide, ensure it's centered and not stretched */
.positions-carousel.single .position-slide {
  margin: 0 auto;
}

/* Nav arrows */
.carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  color: var(--text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  z-index: 5;
}
.carousel-prev { left: -22px; }
.carousel-next { right: -22px; }

/* Responsive adjustments */
@media (max-width: 900px) {
  .position-slide { flex: 0 0 88%; max-width: 88%; }
  .carousel-prev { left: 8px; }
  .carousel-next { right: 8px; }
}