.testimonial-cards {
  --testimonial-gap: 24px;
  --testimonial-card-width: minmax(260px, 360px);
  --testimonial-card-bg: rgba(255, 255, 255, 0.75);
  --testimonial-card-shadow: 0 10px 30px rgba(115, 32, 0, 0.06);
  width: 100%;
}
.testimonial-cards--marquee.alignfull {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.testimonial-cards__empty {
  padding: 32px 24px;
  border-radius: 24px;
  background: rgba(255, 251, 247, 0.8);
  color: var(--site-color-blackberry);
}

.testimonial-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--testimonial-gap);
}

.testimonial-cards__grid .testimonial-card {
  width: 100%;
}

.testimonial-cards__marquee {
  display: grid;
  gap: var(--testimonial-gap);
}

.testimonial-cards__row {
  overflow: hidden;
  padding-top: 20px;
}

.testimonial-cards__track {
  display: flex;
  gap: var(--testimonial-gap);
  width: max-content;
  will-change: transform;
}

.testimonial-cards__group {
  display: flex;
  gap: var(--testimonial-gap);
  flex-shrink: 0;
}

.testimonial-cards__row--left .testimonial-cards__track {
  animation: testimonial-marquee-left 48s linear infinite;
}

.testimonial-cards__row--right .testimonial-cards__track {
  animation: testimonial-marquee-right 52s linear infinite;
}

.testimonial-cards__row:hover .testimonial-cards__track {
  animation-play-state: paused;
}

.testimonial-cards--editor-preview .testimonial-cards__track {
  animation: none !important;
  transform: none !important;
}

.testimonial-cards--editor-preview
  .testimonial-cards__group
  + .testimonial-cards__group {
  display: none;
}

.testimonial-card {
  width: min(360px, calc(100vw - 64px));
  min-height: 100%;
  padding: 20px 22px 24px;
  border-radius: 28px;
  background: var(--testimonial-card-bg);
  color: var(--site-color-blackberry);
  position: relative;
}
.testimonial-card:before {
  content: "";
  position: absolute;
  top: -20px;
  left: 20px;
  background-image: url('data:image/svg+xml,<svg width="37" height="31" viewBox="0 0 37 31" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.5625 1.52979C10.6753 1.38141 11.6567 1.59833 12.4551 2.22607C13.3327 2.7935 13.7964 3.67749 13.8799 4.79736L13.9023 5.01318C13.9784 6.09394 13.4785 7.20834 12.5527 8.33252C11.2316 9.985 10.3195 11.6219 9.80078 13.2427C9.73925 13.463 9.68207 13.6802 9.62891 13.894C11.464 14.1213 13.0097 14.8079 14.2373 15.9771H14.2363C15.8394 17.4386 16.626 19.4054 16.626 21.8208C16.626 24.1003 15.9086 26.0213 14.457 27.5454L14.4492 27.5542C12.9834 29.02 11.0182 29.731 8.61328 29.731C6.11647 29.7309 4.10712 28.8675 2.64648 27.1147C1.19419 25.372 0.500023 22.9768 0.5 19.9937C0.5 18.3416 0.637452 16.6565 0.912109 14.9399L0.914062 14.9321L0.915039 14.9253C1.26256 13.1182 1.88711 11.2835 2.7832 9.42236C3.68228 7.55506 4.92169 5.62819 6.49609 3.64307C7.41377 2.44536 8.42968 1.69205 9.55762 1.53076L9.5625 1.52979ZM29.3584 1.52979C30.4712 1.38151 31.4527 1.59819 32.251 2.22607C33.1363 2.79862 33.6005 3.69359 33.6777 4.82764C33.8285 5.96457 33.3276 7.13975 32.3516 8.32666C31.0281 9.98098 30.1149 11.6202 29.5957 13.2427C29.5342 13.463 29.477 13.6802 29.4238 13.894C31.2549 14.1207 32.7971 14.8049 34.0234 15.9692H34.0244C35.6327 17.4315 36.4209 19.4014 36.4209 21.8208C36.4209 24.1002 35.7043 26.0213 34.2529 27.5454L34.2441 27.5542C32.7784 29.0199 30.814 29.7309 28.4092 29.731C25.9122 29.731 23.9021 28.8676 22.4414 27.1147C20.9892 25.372 20.2949 22.9767 20.2949 19.9937C20.2949 18.3416 20.4334 16.6565 20.708 14.9399L20.709 14.9321L20.71 14.9253C21.0575 13.1182 21.6821 11.2834 22.5781 9.42236C23.4772 7.55506 24.7166 5.62819 26.291 3.64307C27.2088 2.44511 28.2254 1.69193 29.3535 1.53076L29.3584 1.52979Z" fill="white" fill-opacity="0.5" stroke="%23DB3F02"/></svg>');
  width: 31px;
  height: 37px;
  background-repeat: no-repeat;
  display: block;
  background-size: 100%;
  background-position: center;
}

.testimonial-card__quote {
  margin-bottom: 14px;
  font-size: clamp(1.05rem, 0.8rem + 0.6vw, 1.35rem);
  line-height: 1.45;
  font-style: italic;
}

.testimonial-card__quote p {
  margin: 0;
}

.testimonial-card__rating {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}

.testimonial-card__rating-icon {
  font-size: 1rem;
  line-height: 1;
}

.testimonial-card__author {
  font-size: clamp(1rem, 0.85rem + 0.35vw, 1.2rem);
  font-weight: 700;
  line-height: 1.3;
}

.testimonial-cards__picker {
  display: grid;
  gap: 8px;
}

@keyframes testimonial-marquee-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - (var(--testimonial-gap) / 2)));
  }
}

@keyframes testimonial-marquee-right {
  from {
    transform: translateX(calc(-50% - (var(--testimonial-gap) / 2)));
  }

  to {
    transform: translateX(0);
  }
}

@media (max-width: 781px) {
  .testimonial-cards {
    --testimonial-gap: 16px;
  }

  .testimonial-card {
    width: min(300px, calc(100vw - 48px));
    padding: 18px 18px 20px;
    border-radius: 22px;
  }
}
