:root {
  --testimonials-gap: 1.5rem;
  --testimonials-image-maxwidth: 24rem;
  --testimonials-image-maxheight: 30rem;
  --testimonials-button-width: 1rem;

  @screen md {
    --testimonials-gap: 3rem;
    --testimonials-button-width: 1.75rem;
  }
}

.testimonials {
  & .wrapper {
    --wrapper-width: 60rem;
  }
}

.testimonials-navigation {
  transition: var(--transition-fast);
  position: absolute;
  top: calc(var(--testimonials-image-maxheight) / 2);
  left: -1.5rem;
  right: -1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;

  @screen md {
    left: -3rem;
    right: -3rem;
  }

  @screen xl {
    left: -5rem;
    right: -5rem;
  }

  & button {
    width: var(--testimonials-button-width);

    & svg {
      width: 100%;
      height: auto;
    }

    &.blaze-prev,
    &.blaze-next {
      opacity: 0.2;

      &:hover {
        opacity: 1;
      }
    }

    &.blaze-prev {
      transform: rotate(180deg);

      .start & {
        opacity: 0;
        pointer-events: none;
      }
    }

    &.blaze-next {
      .end & {
        opacity: 0;
        pointer-events: none;
      }
    }
  }
}

.testimonial-item {
  display: flex;
  gap: var(--testimonials-gap);
  flex-direction: column;
  padding-bottom: var(--button-transition-offset-y);

  @screen md {
    flex-direction: row;
    align-items: flex-start;
  }
}

.testimonial-quote {
  margin-bottom: 2rem;
}

.testimonial-image {
  flex: 1 1 0;
  max-width: var(--testimonials-image-maxheight);
  max-height: var(--testimonials-image-maxheight);
  aspect-ratio: var(--cutoff-vertical-aspect-ratio);
  clip-path: var(--cutoff-vertical-path);

  @screen md {
    max-width: none;
    flex: 1 1 40%;
  }
}

.testimonial-content {
  flex: 1 1 0;

  @screen md {
    flex: 1 1 60%;
  }
}
