.testimonials__wrapper {
  background: var(--background-primary);
}

.testimonials__wrapper--padding-top {
  padding-top: var(--padding-top-mobile, 0);
}

.testimonials__wrapper--padding-bottom {
  padding-bottom: var(--padding-bottom-mobile, 0);
}

.testimonials__side {
  margin: 0 0 50px;
}

.testimonials__bg-image-holder {
  display: none;
}

.testimonials__container > .testimonials__content,
.testimonials__side + .testimonials__content {
  max-width: var(--slide-width-mobile);
}

.testimonials__content {
  padding: 32px;
  font-size: calc(var(--font-size-regular) + 4px);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: var(--border-radius-rounded-blocks);
  overflow: hidden;
  color: var(--color-accent);
  background: var(--background-accent);
}

.testimonials__blockquote {
  font-weight: var(--font-weight-light);
  letter-spacing: -0.003em;
  padding-bottom: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonials__quote {
  padding: 0 0 112px;
  display: block;
}

.testimonials__quote p {
  display: initial;
}

.testimonials__blockquote footer {
  display: flex;
}

.testimonials__cite {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: calc(var(--font-size-regular) + 2px);
  font-weight: var(--font-weight-headers);
  font-style: normal;
}

.testimonials__image-wrapper {
  flex: 0 0 48px;
}

.testimonials__image {
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius-circle);
  width: 48px;
  height: 48px;
}

.testimonials__image-wrapper + .testimonials__cite {
  padding: 0 0 0 20px;
}

.testimonials__small {
  font-size: var(--font-size-regular);
  font-weight: var(--font-weight-regular);
  opacity: 0.5;
}

.testimonials__button.button {
  margin: 23px 0 0;
  flex: 0 0 50px;
  border-color: var(--color-accent);
}

.testimonials__button.button:hover {
  background: var(--background-primary-hover);
}

@media (min-width: 992px) {
  .testimonials__wrapper--padding-top {
    padding-top: var(--padding-top, 0);
  }

  .testimonials__wrapper--padding-bottom {
    padding-bottom: var(--padding-bottom, 0);
  }

  .testimonials__container {
    display: flex;
    align-items: stretch;
  }

  .testimonials__side {
    flex: 0 0 calc(var(--title-max-width) + 32px);
    max-width: calc(var(--title-max-width) + 32px);
    padding: 0 32px 0 0;
    margin: 0;
    border-right: 1px solid var(--background-accent);
  }

  .testimonials__container > .testimonials__content,
  .testimonials__side + .testimonials__content {
    max-width: var(--slide-width);
  }

  .testimonials__side + .testimonials__content {
    margin-left: 40px;
  }

  .testimonials__title {
    font-size: var(--font-size-h3);
    margin-bottom: 57px;
  }

  .testimonials__title:only-child {
    margin-bottom: 110px;
  }

  .testimonials__bg-image-holder {
    display: block;
  }

  .testimonials__bg-image {
    max-height: 220px;
    max-width: 100%;
  }

  .testimonials:has(.carousel) .testimonials__bg-image-holder {
    padding-bottom: 110px;
  }

  .testimonials .carousel {
    flex: 1 1 auto;
    height: auto;
  }

  .testimonials__side + .carousel {
    --carousel-indent: 40px;

    margin: 0 var(--carousel-indent);
    width: calc(100% - var(--title-max-width) - (var(--carousel-indent) * 2 - 24px));
    contain: layout;
    z-index: 1;
  }

  .testimonials__wrapper .testimonials__side + .carousel--controls:not(:has(.carousel__navigation.hidden)) .carousel__wrapper {
    padding: 0;
  }

  .testimonials__side + .carousel .carousel__list {
    overflow-x: scroll;
    overflow-y: hidden;
  }

  .testimonials__side + .carousel .carousel__navigation {
    left: calc(-1 * var(--title-max-width) - var(--carousel-indent) * 2);
    margin: 0;
  }
}

@media (min-width: 1200px) {
  .testimonials__side + .carousel {
    width: calc(100% - var(--title-max-width) - (var(--carousel-indent) * 2 - 8px));
  }
}

@media (max-width: 991px) {
  .testimonials .carousel--controls:not(:has(.carousel__navigation.hidden)) .carousel__wrapper {
    padding-bottom: 0;
  }

  .testimonials .carousel__navigation {
    display: none;
  }
}
