/**
 * Nook Carousel Styles
 * Zintegrowane z systemem kolumn WordPress/Bootstrap
 */

/* 1. KONTENER GŁÓWNY (VIEWPORT) */
/* JS nadaje te style inline, ale CSS zapewnia stabilność przed załadowaniem skryptu */
.row:has(.nook-carousel.active) {
  overflow: hidden;
  position: relative;
}

/* 2. TAŚMA (TRACK) */
.nook-carousel {
  display: flex;
  will-change: transform;
  touch-action: pan-y; /* Pozwala na przewijanie strony pionowo, blokuje poziomo przy dotyku */
  transition: padding 0.3s ease;
}

/* Style aplikowane tylko gdy karuzela jest zainicjowana przez JS */
.nook-carousel.active {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important; /* Kluczowe: elementy muszą być w jednej linii */
  width: 100%;
  margin: 0;
  cursor: grab;
  position: relative;
}

.nook-carousel.active:active {
  cursor: grabbing;
}

/* 3. SLAJDY (ELEMENTY) */
.nook-carousel-item {
  box-sizing: border-box;
  user-select: none; /* Zapobiega zaznaczaniu tekstu/obrazków podczas przeciągania */
  flex-shrink: 0;   /* Zapobiega zgniataniu elementów */
}

.nook-carousel-item img {
  pointer-events: none; /* Obrazki nie "kradną" zdarzeń myszy/dotyku */
  max-width: 100%;
  height: auto;
  display: block;
}

/* Obsługa odstępów (gapów) kolumnowych */
.nook-carousel [class*="col-"] {
  padding-left: calc(var(--nook-col-gap, 30px) / 2);
  padding-right: calc(var(--nook-col-gap, 30px) / 2);
  margin-bottom: var(--nook-col-gap, 30px);
}

/* Reset marginesu dolnego, gdy kolumny stają się slajdami */
.nook-carousel.active [class*="col-"] {
  margin-bottom: 0;
}

/* 4. KONTROLKI (NAWIGACJA I KROPKI) */
.nook-controls-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px 15px;
  margin-top: 20px;
  gap: 15px;
  width: 100%;
}

/* Strzałki */
.nook-nav {
  display: flex;
  gap: 10px;
}

.nook-prev, .nook-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #ffffff;
  color: #333;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  padding: 0;
}

.nook-prev:hover, .nook-next:hover {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* Kropki (Paginacja) */
.nook-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}

.nook-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #333;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Zgodność z klasą dodawaną w JS (is-active) */
.nook-dot.is-active {
  background: #333;
  transform: scale(1.3);
}

/* 5. RESPONSYWNOŚĆ */
@media (max-width: 1023px) {
  .active.nook-carousel {
      margin-right: 0 !important;
      margin-left: 0 !important;
  }
}

/* Ukrywanie kontrolek powyżej progu aktywacji karuzeli */
@media (min-width: 1024px) {
  .nook-controls-wrapper {
      display: none;
  }
}
