/* Gallery slider — scroll-snap based, with prev/next buttons + dots.
 * Mounts on: <div class="thb-slider" data-thb-slider> ... </div>
 */
.thb-slider { position: relative; padding: 0 0 8px; }

.thb-slider__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 6px;
}
.thb-slider__track::-webkit-scrollbar { display: none; }

.thb-slider__slide {
  flex: 0 0 calc(100% - 16px);
  scroll-snap-align: start;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
  background: #f4f4f5;
}
@media (min-width: 700px) {
  .thb-slider__slide { flex: 0 0 calc(50% - 8px); }
}
@media (min-width: 1100px) {
  .thb-slider__slide { flex: 0 0 calc(33.333% - 10px); }
}
.thb-slider__slide img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
}
@media (min-width: 700px) { .thb-slider__slide img { height: 280px; } }
@media (min-width: 1100px) { .thb-slider__slide img { height: 300px; } }

.thb-slider__btn {
  position: absolute;
  top: calc(50% - 16px);
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: #0f172a;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
  z-index: 2;
  transition: transform 0.15s, opacity 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.thb-slider__btn:hover { transform: translateY(-50%) scale(1.08); }
.thb-slider__btn:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.thb-slider__btn[disabled] { opacity: 0.35; cursor: default; transform: translateY(-50%); }
.thb-slider__btn--prev { left: -10px; }
.thb-slider__btn--next { right: -10px; }
@media (min-width: 700px) {
  .thb-slider__btn--prev { left: -22px; }
  .thb-slider__btn--next { right: -22px; }
}

.thb-slider__dots {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
}
.thb-slider__dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: #cbd5e1;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
}
.thb-slider__dot:hover { background: #94a3b8; }
.thb-slider__dot.is-active { background: #0f172a; transform: scale(1.25); }
.thb-slider__dot:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
