/* ksw_snap_gallery.css
   Horizontal, scroll-snap “carousel” with proportional thumbs (fixed height, auto width).
*/

.ksw-snap-gallery-shell{
  position: relative;
}

.ksw-snap-gallery{
  --ksw-gallery-h: clamp(180px, 26vh, 320px);

  display: flex;
  gap: 10px;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-snap-type: x mandatory;
  scroll-snap-stop: always;

  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;

  padding: 2px 0;
}

.ksw-snap-gallery.ksw-is-single{
  justify-content: center;
}

.ksw-snap-gallery .thumb-info{
  flex: 0 0 auto;
  height: var(--ksw-gallery-h);
  display: inline-flex;
  scroll-snap-align: start;

  border-radius: .375rem;
}

.ksw-snap-gallery .thumb-info img{
  height: 100% !important;
  width: auto !important;
  max-width: none !important; /* defeat .img-fluid max-width:100% edge cases */
  display: block;
  border-radius: inherit;
}

/* Optional nav buttons (Bootstrap btn classes apply fine) */
.ksw-snap-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
}

.ksw-snap-prev{ left: 12px; }
.ksw-snap-next{ right: 12px; }

.ksw-snap-nav[disabled]{
  opacity: .35;
  pointer-events: none;
}