* {
  box-sizing: border-box;
}
.dots-container {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 10px;
}

.dot {
  width: 10px;
  height: 10px;
  background-color: transparent;
  border: 2px solid #222;
  border-radius: 50%;
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}

.dot.active {
  border-color: #f2f2f2;
}

/* Optional: make dots smaller on mobile */
@media (max-width: 768px) {
  .dot {
    width: 10px;
    height: 10px;
  }
}
.slideshow-container {
  position: relative;
  width: 100%;
  max-width: 1000px;
  height: auto;
  aspect-ratio: 2 / 1;
  margin: 5px auto;
  overflow: hidden;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide.active {
  opacity: 1;
  z-index: 1;
}

.prev, .next {
  position: absolute;
  top: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  background: transparent url("/root/slideshow/img/arrows.gif") no-repeat left top;
  background-size: 120px 60px;
  z-index: 2;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.prev:hover, .next:hover {
  opacity: 1;
}

.prev {
  left: 10px;
  background-position: 0 0;
}

.next {
  right: 10px;
  background-position: -60px 0;
}

/* Mobile support */
@media (max-width: 768px) {
  .prev, .next {
    width: 40px;
    height: 40px;
    background-size: 80px 40px;
    margin-top: -20px;
  }
  .prev { background-position: 0 0; }
  .next { background-position: -40px 0; }
}
