.ta-image-slider {
  width: 100%;
  margin: 0;
  color: #f3eedd;
  background: #07190f;
}
.ta-image-slider:focus-visible { outline: 3px solid #e6c76a; outline-offset: -3px; }
.ta-image-slider__stage {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}
.ta-image-slider__track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform .35s ease;
}
.ta-image-slider__slide {
  flex: 0 0 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
}
.ta-image-slider__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
}
.ta-image-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 60px;
  padding: 6px 12px;
  border-top: 1px solid #e6c76a30;
  background: #101a14;
}
.ta-image-slider button {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #698571;
  border-radius: 6px;
  color: #e6c76a;
  background: #17261c;
  cursor: pointer;
}
.ta-image-slider button:hover { border-color: #e6c76a; background: #294733; }
.ta-image-slider button:focus-visible { outline: 3px solid #f3eedd; outline-offset: 2px; }
.ta-image-slider button svg { width: 22px; height: 22px; }
.ta-image-slider__dots { display: flex; gap: 2px; }
.ta-image-slider__dots button { border: 0; background: transparent; }
.ta-image-slider__dots button::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 1px solid #d3dfd0;
  border-radius: 50%;
  background: #627768;
}
.ta-image-slider__dots button[aria-current="true"]::after { background: #e6c76a; border-color: #e6c76a; }
.ta-image-slider__position { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
@media (prefers-reduced-motion: reduce) { .ta-image-slider__track { transition: none; } }
