/* ============ Slideshow container ============ */
.container {
  max-width: 1000px;
  margin: 0 auto;
}

/* The visible slide area (wraps all .mySlides + arrows) */
.slides {
  position: relative;      /* anchors arrows & number text */
  background: #000;        /* letterbox sides for landscape images */
  text-align: center;
}

/* Each slide (JS toggles display) */
.mySlides { display: none; }

/* Scale images for both orientations; keep height reasonable */
.mySlides img {
  display: inline-block;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
}

/* "1 / 19" counter */
.numbertext {
  position: absolute;
  top: 8px;
  left: 8px;
  color: #fff;
  font-size: 14px;
  z-index: 2;
}

/* ============ Prev / Next arrows ============ */
.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);  /* true vertical centering */
  padding: 12px 14px;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  text-decoration: none;
  user-select: none;
  z-index: 3;
  background: rgba(0,0,0,.35);
  border-radius: 3px;
  cursor: pointer;
}
.prev { left: 12px; }
.next { right: 12px; }
.prev:hover, .next:hover { background: rgba(0,0,0,.6); }

/* ============ Caption under slides ============ */
.caption-container {
  background: #333;
  color: #fff;
  text-align: center;
  padding: 10px 12px;
}

/* ============ Thumbnails ============ */
/* Keep thumbs fixed-size and DO NOT stretch to fill width */
.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;   /* pack left; blank space on the right */
  gap: 8px 10px;
  margin-top: 10px;
}

.column {
  flex: 0 0 auto;                /* no flex grow/shrink */
  width: 110px;                  /* fixed thumb width (tweak to taste) */
}

.column img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  opacity: .6;
  cursor: pointer;
}

.column img:hover,
.column img.active {
  opacity: 1;
}

