.wp-block-fx-reviews__container {
  display: grid;
  --columns: 3;
  grid-template-columns: repeat(var(--columns), 1fr);
  gap: var(--wp--style--block-gap);
}
@media only screen and (max-width: 999px) {
  .wp-block-fx-reviews__container {
    --columns: 2;
  }
}
@media only screen and (max-width: 599px) {
  .wp-block-fx-reviews__container {
    --columns: 1;
  }
}

.wp-block-fx-reviews.acf-block-preview .wp-block-fx-reviews__container {
  pointer-events: none;
}

.wp-block-fx-reviews__item {
  display: -moz-box;
  display: flex;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  gap: 1rem;
  min-width: 0;
  background-color: var(--wp--preset--color--white);
  border: 0.0625rem solid var(--wp--preset--color--light-grey);
  border-radius: var(--radius-large);
  box-shadow: var(--box-shadow);
  overflow: clip;
  text-decoration: none;
  padding: 1rem;
}
.wp-block-fx-reviews__item:hover {
  text-decoration: none;
}

.wp-block-fx-reviews__content-container {
  display: -moz-box;
  display: flex;
  gap: 0.5rem;
  min-width: 0;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
       flex-direction: column;
  -moz-box-pack: center;
       justify-content: center;
  -moz-box-align: start;
       align-items: flex-start;
}

.wp-block-fx-reviews__star-rating .star-rating {
  --height: 0.875rem;
  --gap: 0.125rem;
}

.wp-block-fx-reviews__text {
  margin: 0;
  font-size: 0.875rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 3;
  overflow: clip;
  text-overflow: ellipsis;
}

.wp-block-fx-reviews__product-container {
  margin-top: auto;
  display: -moz-box;
  display: flex;
  -moz-box-align: center;
       align-items: center;
  gap: 0.75rem;
}

.wp-block-fx-reviews__product-image-container {
  width: 2rem;
  height: 2rem;
  display: -moz-box;
  display: flex;
  -moz-box-pack: center;
       justify-content: center;
  -moz-box-align: center;
       align-items: center;
  flex-shrink: 0;
  border-radius: var(--radius);
}

.wp-block-fx-reviews__product-image {
  width: 100%;
  height: auto;
}

.wp-block-fx-reviews__product-title {
  margin: 0;
  font-size: 0.75rem;
  color: var(--wp--preset--color--grey);
}

.wp-block-fx-reviews__container.is-style-infinity-slider {
  --gap: var( --wp--style--block-gap );
  --base-duration: 5s;
  --duration: -moz-calc( var( --base-duration ) * var( --item-count ) );
  --duration: calc( var( --base-duration ) * var( --item-count ) );
  --columns: 3;
  --item-width: -moz-calc( 100% / var( --columns ) - var( --gap ) / var( --columns ) * ( var( --columns ) - 1 ) );
  --item-width: calc( 100% / var( --columns ) - var( --gap ) / var( --columns ) * ( var( --columns ) - 1 ) );
  display: -moz-box;
  display: flex;
  overflow: visible;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: default;
  gap: var(--gap);
  -moz-transform: translateX(-moz-calc(-0.5 * var(--item-width) * var(--item-count)));
       transform: translateX(calc(-0.5 * var(--item-width) * var(--item-count)));
}
.wp-block-fx-reviews__container.is-style-infinity-slider .wp-block-fx-reviews__item {
  width: var(--item-width);
  flex-shrink: 0;
  -moz-box-flex: 0;
       flex-grow: 0;
  -moz-animation: measureInfinitySlide var(--duration) linear infinite;
       animation: measureInfinitySlide var(--duration) linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-fx-reviews__container.is-style-infinity-slider .wp-block-fx-reviews__item {
    -moz-animation-play-state: paused;
         animation-play-state: paused;
  }
}
.wp-block-fx-reviews__container.is-style-infinity-slider.is-reverse-direction .wp-block-fx-reviews__item {
  animation-direction: reverse;
}
@media only screen and (max-width: 999px) {
  .wp-block-fx-reviews__container.is-style-infinity-slider {
    --columns: 2;
  }
}
@media only screen and (max-width: 599px) {
  .wp-block-fx-reviews__container.is-style-infinity-slider {
    --columns: 1;
  }
}

@-moz-keyframes measureInfinitySlide {
  0% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  100% {
    -moz-transform: translateX(-moz-calc(-100% * var(--item-count) - var(--item-count) * var(--gap)));
         transform: translateX(calc(-100% * var(--item-count) - var(--item-count) * var(--gap)));
  }
}

@keyframes measureInfinitySlide {
  0% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  100% {
    -moz-transform: translateX(-moz-calc(-100% * var(--item-count) - var(--item-count) * var(--gap)));
         transform: translateX(calc(-100% * var(--item-count) - var(--item-count) * var(--gap)));
  }
}
