/* ==========================================================
 * CN WPA — [cn_course_cards] layout="carousel"
 * - Estilos locales del wrapper de carrusel
 * - No toca estructura interna de la card
 * ========================================================== */

.cn-course-cards--carousel {
  position: relative;
}

.cn-course-cards--carousel .cn-course-cards__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cn-course-cards--carousel .cn-course-cards__viewport::-webkit-scrollbar {
  display: none;
}

.cn-course-cards--carousel .cn-course-cards__track {
  display: flex;
  gap: 18px;
  margin-bottom: 15px;
}

.cn-course-cards--carousel .cn-course-cards__slide {
  flex: 0 0 calc((100% - (18px * (var(--cn-cards-visible, 3) - 1))) / var(--cn-cards-visible, 3));
  min-width: 0;
}

.cn-course-cards--carousel .cn-course-cards__slide>.cn-course-card {
  width: 100% !important;
  max-width: none !important;
}

.cn-course-cards--carousel .cn-course-cards__nav {
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  z-index: 50;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #7b314c;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.cn-course-cards--carousel .cn-course-cards__nav--prev {
  left: -12px;
}

.cn-course-cards--carousel .cn-course-cards__nav--next {
  right: -12px;
}

.cn-course-cards--carousel .cn-course-cards__nav.is-disabled,
.cn-course-cards--carousel .cn-course-cards__nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

@media (max-width: 1023.98px) {
  .cn-course-cards--carousel .cn-course-cards__slide {
    flex-basis: calc((100% - (18px * (var(--cn-cards-visible, 2) - 1))) / var(--cn-cards-visible, 2));
  }
}

@media (max-width: 767.98px) {
  .cn-course-cards--carousel .cn-course-cards__slide {
    flex-basis: calc((100% - (18px * (var(--cn-cards-visible, 1) - 1))) / var(--cn-cards-visible, 1));
  }

  .cn-course-cards--carousel .cn-course-cards__nav {
    width: 36px;
    height: 36px;
  }
}
