/**
 * Carousel controls — prev · dots · next (minimal, below slider on bands)
 */

.carousel__controls {
  position: absolute;
  z-index: 8;
  bottom: 0.85rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--ink, #1a1a1a);
  max-width: calc(100% - 2rem);
  box-sizing: border-box;
}

.carousel__controls .carousel__nav.carousel__nav--ctrl {
  position: static !important;
  transform: none !important;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink, #1a1a1a);
  cursor: pointer;
  border-radius: 0;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.18s ease;
}

.carousel__controls .carousel__nav--ctrl .ti {
  display: none !important;
}

.carousel__controls .carousel__nav--ctrl .carousel__chev {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border: 0;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  opacity: 0.5;
  transition: opacity 0.18s ease;
}

.carousel__controls .carousel__prev .carousel__chev {
  transform: rotate(45deg);
}

.carousel__controls .carousel__next .carousel__chev {
  transform: rotate(-135deg);
}

.carousel__controls .carousel__dots,
.carousel__controls .hero-kinetic__progress {
  position: static !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex: 0 1 auto;
  min-width: 0;
  padding: 0 0.15rem;
  margin: 0;
  flex-wrap: nowrap;
  overflow: visible;
}

.carousel__controls .carousel__dots button,
.carousel__controls .hero-kinetic__progress button {
  width: 1.25rem !important;
  height: 2px !important;
  min-width: 1.25rem !important;
  max-width: 1.25rem !important;
  min-height: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ink, #1a1a1a) !important;
  opacity: 0.22;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.carousel__controls .carousel__dots button.is-active,
.carousel__controls .hero-kinetic__progress button.is-active {
  opacity: 1;
  transform: scaleX(1.35);
  transform-origin: center;
}

@media (hover: hover) {
  .carousel__controls .carousel__nav--ctrl:hover .carousel__chev,
  .carousel__controls .carousel__nav--ctrl:focus-visible .carousel__chev {
    opacity: 1;
  }

  .carousel__controls .carousel__dots button:hover {
    opacity: 0.45;
  }

  .carousel__controls .carousel__dots button.is-active:hover {
    opacity: 1;
  }
}

.slider-band:has(.carousel__controls) > .carousel__nav--band:not(.carousel__nav--ctrl),
.testimonial-band:has(.carousel__controls) > .carousel__nav--band:not(.carousel__nav--ctrl) {
  display: none !important;
}

@media (max-width: 768px) {
  .carousel__controls {
    gap: 0.6rem;
  }
}
