/* ── Soul School · what-is-soul-school.css ── */

/* Overflow lock: body scroll locked while carousel is active.
   JS unlocks it when user navigates past the last slide. */
#carousel {
  height: 100vh;
  overflow: hidden;
}

/* ── Slides ── */

.slide {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 100vh;
  background: var(--void);
  padding: 80px 64px 72px;
}

.slide.active {
  display: flex;
}

/* ── Dot navigation — right side, vertically centered ── */

.dot-nav {
  position: fixed;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 200;
}

.dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(201, 151, 42, 0.3);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background 0.25s, box-shadow 0.25s;
}

.dot.active {
  background: var(--gold);
  box-shadow: 0 0 6px var(--gold);
}

/* ── Fixed arrow buttons ── */

.nav-prev {
  position: fixed;
  bottom: 32px;
  left: 32px;
  z-index: 200;
}

.nav-next {
  position: fixed;
  bottom: 32px;
  right: 56px; /* offset from dot nav */
  z-index: 200;
}

.nav-prev[hidden],
.nav-next[hidden] {
  display: none;
}
