.itn-carousel-arrow {
  overflow: hidden;
  transition: opacity var(--itn-transition) ease, transform var(--itn-transition) ease;
}

.itn-carousel-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: var(--itn-arrow-hover-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--itn-transition) ease;
}

.itn-carousel-arrow > .itn-carousel-arrow-image {
  position: relative;
  z-index: 1;
  margin: auto;
  transition: opacity var(--itn-transition) ease, transform var(--itn-transition) ease;
}

.itn-arrow-hover-overlay .itn-carousel-arrow:hover::after,
.itn-arrow-hover-overlay .itn-carousel-arrow:focus-visible::after {
  opacity: var(--itn-arrow-hover-overlay-opacity);
}

.itn-arrow-hover-zoom .itn-carousel-arrow:hover,
.itn-arrow-hover-zoom .itn-carousel-arrow:focus-visible {
  transform: translateY(-50%) scale(var(--itn-arrow-hover-zoom));
}

.itn-arrow-position-below.itn-arrow-hover-zoom .itn-carousel-arrow:hover,
.itn-arrow-position-below.itn-arrow-hover-zoom .itn-carousel-arrow:focus-visible {
  transform: scale(var(--itn-arrow-hover-zoom));
}

.itn-arrow-hover-zoom .itn-carousel-arrow:hover .itn-carousel-arrow-image,
.itn-arrow-hover-zoom .itn-carousel-arrow:focus-visible .itn-carousel-arrow-image {
  transform: scale(var(--itn-arrow-hover-image-zoom));
}

.itn-arrow-hover-opacity .itn-carousel-arrow:hover,
.itn-arrow-hover-opacity .itn-carousel-arrow:focus-visible,
.itn-arrow-hover-opacity .itn-carousel-arrow:hover .itn-carousel-arrow-image,
.itn-arrow-hover-opacity .itn-carousel-arrow:focus-visible .itn-carousel-arrow-image {
  opacity: var(--itn-arrow-hover-opacity);
}

@media (prefers-reduced-motion: reduce) {
  .itn-carousel-arrow,
  .itn-carousel-arrow::after,
  .itn-carousel-arrow-image {
    transition: none !important;
  }
}
