.st-social-proof-carousel,
.st-social-proof-carousel *,
.st-social-proof-carousel *::before,
.st-social-proof-carousel *::after {
  box-sizing: border-box;
}

.st-social-proof-carousel {
  background: var(--st-spc-background, #fff);
}

.st-social-proof-carousel > st-social-proof-carousel {
  display: block;
}

.st-social-proof-carousel .sgc-hidden-mobile {
  display: block;
}

.st-social-proof-carousel .sgc-hidden-desktop {
  display: none;
}

.st-social-proof-carousel__testimonial,
.st-social-proof-carousel__gallery {
  width: 100%;
}

.st-social-proof-carousel__gallery {
  margin-top: var(--st-spc-review-media-gap, 64px);
}

/* Desktop only: without this, the focused/active slide's overlay text
   renders smaller than intended, since the JS-computed --st-content-scale
   for the active card comes out below 1 in the desktop coverflow layout.
   Mobile relies on the JS-computed value directly — forcing this fixed
   step on mobile made the overlay visibly pop in size mid-swipe. */
@media (min-width: 960px) {
  .st-social-proof-carousel .st-image-carousel__slide {
    --st-content-scale: 0.8333 !important;
  }

  .st-social-proof-carousel .st-image-carousel__slide.is-active {
    --st-content-scale: 1 !important;
  }
}

.st-social-proof-carousel__review-splide {
  visibility: visible;
}

.st-social-proof-carousel__review-splide .sgc-testimonial-list-group-wrapper-track {
  overflow: hidden;
  padding-inline: 0 !important;
}

.st-social-proof-carousel__review-splide--dynamic-height .sgc-testimonial-list-group-wrapper-track {
  transition: height 420ms ease;
}

.st-social-proof-carousel__review-splide
  .sgc-testimonial-list-group-wrapper-track-list-wrapper {
  align-items: center;
  width: 100%;
}

.st-social-proof-carousel__review-splide--dynamic-height
  .sgc-testimonial-list-group-wrapper-track-list-wrapper {
  align-items: flex-start;
}

.st-social-proof-carousel__review-splide
  .sgc-testimonial-list-group-wrapper-track-list-wrapper
  > li {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  overflow: hidden;
}

.st-social-proof-carousel__review-splide
  .sgc-testimonial-list-group-wrapper-track-list-wrapper-item {
  width: 100%;
}

.st-social-proof-carousel__testimonial .sgc-testimonial-section {
  padding-top: 0;
  padding-bottom: 0;
}

.st-social-proof-carousel__testimonial .sgc-testimonial__card {
  display: flex;
  justify-content: center;
  padding: 0;
}

.st-social-proof-carousel__testimonial .sgc-testimonial__card-wrapper {
  width: 100% !important;
  max-width: var(--st-spc-review-max-width, 1080px);
  gap: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.st-social-proof-carousel__testimonial .sgc-testimonial__card-content {
  width: 100%;
}

.st-social-proof-carousel__testimonial .sgc-testimonial-content-group {
  align-items: center;
  gap: 0;
}

.st-social-proof-carousel__testimonial .sgc-testimonial-content-group-inner-item {
  width: 100%;
}

.st-social-proof-carousel__review-eyebrow,
.st-social-proof-carousel__review-copy {
  width: 100%;
  max-width: var(--st-spc-review-text-max-width, 931px);
  margin-inline: auto;
}

.st-social-proof-carousel__review-eyebrow {
  margin-bottom: var(--st-spc-eyebrow-quote-gap, 24px);
}

.st-social-proof-carousel__review-copy {
  display: grid;
  gap: 0;
}

.st-social-proof-carousel__review-copy p {
  margin: 0;
}

.st-social-proof-carousel__review-copy em {
  font-style: italic;
  font-weight: 400;
}

.st-social-proof-carousel__review-copy strong {
  font-style: normal;
  font-weight: 700;
}

.st-social-proof-carousel__review-author {
  margin-top: var(--st-spc-quote-author-gap, 8px);
}

.st-social-proof-carousel__review-author-meta {
  margin-top: 0.35rem;
}

.st-social-proof-carousel__testimonial .sgc-testimonial-list-group-wrapper-indicator {
  margin-top: var(--st-spc-stars-dots-gap, 26px);
}

.st-social-proof-carousel__testimonial .sgc-carousel-indicator__dot {
  height: 8px;
  gap: 8px;
}

.st-social-proof-carousel__testimonial .sgc-carousel-indicator__dot-item-wrapper,
.st-social-proof-carousel__testimonial .sgc-carousel-indicator__dot-item.is-active {
  width: 8px;
  height: 8px;
}

.st-social-proof-carousel__testimonial .sgc-carousel-indicator__dot-item {
  width: 8px;
  height: 8px;
  background-color: rgb(0 0 0 / 24%);
}

.st-social-proof-carousel__rating {
  position: relative;
  display: inline-flex;
  color: rgb(var(--st-spc-star-empty-color, 225 225 225));
}

.st-social-proof-carousel__rating-base,
.st-social-proof-carousel__rating-fill-track {
  display: inline-flex;
  gap: var(--st-spc-star-gap, 6px);
}

.st-social-proof-carousel__rating-fill-track {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--st-spc-rating-fill, 100%);
  overflow: hidden;
  color: rgb(var(--st-spc-star-color, 255 204 0));
  white-space: nowrap;
}

.st-social-proof-carousel__rating-star {
  width: var(--st-spc-star-size, 18px);
  height: var(--st-spc-star-size, 18px);
  flex: 0 0 auto;
}

.st-social-proof-carousel__testimonial .sgc-testimonial-content-group-inner-star {
  margin-top: var(--st-spc-author-stars-gap, 28px);
}

.st-social-proof-carousel .sgc-basic-style {
  font-family: var(--sgc-basic-font-family, revert);
  font-size: var(--sgc-basic-font-size, revert);
  font-style: var(--sgc-basic-font-style, revert);
  font-weight: var(--sgc-basic-font-weight, revert);
  line-height: var(--sgc-basic-line-height, revert);
  color: rgb(var(--sgc-basic-color, revert));
  letter-spacing: var(--sgc-basic-letter-spacing, revert);
  word-break: break-word;
}

@media (max-width: 959px) {
  .sgc-testimonial {
    padding-inline: var(--page-padding);
  }
  
  .st-social-proof-carousel .sgc-basic-style {
    font-size: var(
      --sgc-basic-mobile-font-size,
      var(--sgc-basic-font-size, revert)
    );
  }

  .st-social-proof-carousel .sgc-hidden-mobile {
    display: none !important;
  }

  .st-social-proof-carousel .sgc-hidden-desktop {
    display: block !important;
  }

  .st-social-proof-carousel__gallery {
    --st-arrow-size: 56px;

    margin-top: var(--st-spc-review-media-gap-mobile, 28px);
  }

  .st-social-proof-carousel__mobile-arrows {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
  }

  .st-social-proof-carousel__mobile-arrows > button {
    position: absolute;
    inset-block-start: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--st-arrow-size);
    height: var(--st-arrow-size);
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: rgb(var(--st-default-arrow-color, 0, 0, 0));
    background: transparent;
    transform: translateY(-50%);
    pointer-events: auto;
    touch-action: manipulation;
  }

  .st-social-proof-carousel__mobile-arrows > button[name="prev"] {
    inset-inline-start: 8px;
  }

  .st-social-proof-carousel__mobile-arrows > button[name="next"] {
    inset-inline-end: 8px;
  }

  .st-social-proof-carousel .st-social-proof-carousel__mobile-arrows .st-image-carousel__nav-icon,
  .st-social-proof-carousel .st-social-proof-carousel__mobile-arrows .st-image-carousel__nav-icon--custom img {
    display: block;
    width: var(--st-arrow-size);
    height: var(--st-arrow-size);
    object-fit: contain;
  }

  .st-social-proof-carousel .st-social-proof-carousel__mobile-arrows .st-image-carousel__nav-icon--default svg {
    display: block;
    width: 28px;
    height: 28px;
  }

  .st-social-proof-carousel__mobile-arrows > button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  .st-social-proof-carousel__review-splide {
    overflow: hidden;
  }

  .st-social-proof-carousel__review-splide .sgc-testimonial-list-group-wrapper-track,
  .st-social-proof-carousel__review-splide
    .sgc-testimonial-list-group-wrapper-track-list-wrapper {
    width: 100%;
    max-width: 100%;
  }

  .st-social-proof-carousel__review-eyebrow {
    margin-bottom: var(--st-spc-eyebrow-quote-gap-mobile, 14px);
  }

  .st-social-proof-carousel__review-author {
    margin-top: var(--st-spc-quote-author-gap-mobile, 6px);
  }

  .st-social-proof-carousel__testimonial .sgc-testimonial-content-group-inner-star {
    margin-top: var(--st-spc-author-stars-gap-mobile, 16px);
  }

  .st-social-proof-carousel__testimonial .sgc-testimonial-list-group-wrapper-indicator {
    margin-top: var(--st-spc-stars-dots-gap-mobile, 12px);
  }
}
