/* Testimonials [paper] — 655:19256: фон #f7f7f7, отступы 130/110, промежуток 50 */
.tst {
  background: var(--paper);
  padding: clamp(64px, 6.7708vw, 130px) var(--gutter);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(28px, 2.6042vw, 50px);
}
.tst__title {
  font-size: clamp(30px, 2.7083vw, 52px);
  font-weight: 900;
  line-height: normal;
  letter-spacing: -0.5px;
  color: var(--ink);
}

/* Плашки площадок 683:27995 — контейнер 1288, карточки 274, промежуток 8 */
.tst__ratings {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: min(1288px, 100%);
}
.rate {
  flex: 0 1 274px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px;                 /* 25 минус 1px обводки внутрь */
  border: 1px solid #f1f1f1;
  border-radius: var(--r-xl);
  background: var(--white);
}
.rate--plain { border-color: var(--white); }
.rate__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(20px, 1.4583vw, 28px);
  font-weight: 400;
  line-height: normal;
  color: var(--ink);
  white-space: nowrap;
}
.rate__logo {
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 48px;
  overflow: hidden;
}
.rate__logo--white { background: var(--white); }
.rate__logo--grey { background: #4a4a4a; }
.rate__score {
  display: flex;
  align-items: center;
  gap: 6.4px;
  font-size: clamp(20px, 1.3333vw, 25.6px);
  font-weight: 600;
  line-height: normal;
  color: var(--ink);
}
.rate__score img { flex: 0 0 32px; }

/* Карточки отзывов 655:19261 — слайдер по образцу .oslider__track:
   прокрутка вбок средствами браузера, без скриптов; работает с клавиатуры,
   на трекпаде и свайпом, в RTL направление зеркалится само. По просьбе
   владельца 25.08.2026: блок стал каруселью. */
.tst__cards {
  display: flex;
  align-items: stretch;
  gap: clamp(16px, 1.25vw, 24px);
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline-start: 0;
  padding-bottom: 4px;
  scrollbar-width: none;
}
.tst__cards::-webkit-scrollbar { display: none; }
.review {
  flex: 0 0 min(426px, 85%);
  scroll-snap-align: start;
  min-width: 1px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: clamp(20px, 1.6667vw, 32px);
  border-radius: var(--r-xl);
  background: var(--white);
}
.review__quote {
  font-size: clamp(40px, 2.9167vw, 56px);
  font-weight: 900;
  line-height: normal;
  color: rgba(207, 164, 79, 0.5);
}
.review__text {
  font-size: clamp(15px, 0.8333vw, 16px);
  line-height: 1.58;
  color: rgba(24, 29, 36, 0.7);
}
.review__stars { font-size: 14px; line-height: normal; color: var(--ink); }
/* подпись у нижнего края: отзывы разной длины, и без этого имена в ряду
   выстраиваются лесенкой */
.review__stars { margin-top: auto; }
.review__author { display: flex; flex-direction: column; gap: 2px; line-height: normal; }
.review__name { font-size: 14px; font-weight: 600; color: var(--ink); }
.review__place { font-size: 12px; color: rgba(24, 29, 36, 0.5); }

@media (max-width: 1023px) {
  .review { flex: 0 0 min(426px, 85%); }
  .rate { flex: 1 1 calc(50% - 4px); }
}
@media (max-width: 599px) {
  .rate { flex: 1 1 100%; }
}

/* Ссылка на источник: отзывы взяты с карточки компании в Google, и читателю
   нужен способ проверить их там, а не верить сайту на слово. */
.tst__source {
  align-self: flex-start;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gold-ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(138, 103, 24, 0.35);
  padding-bottom: 2px;
  transition: border-color 240ms cubic-bezier(0.4, 0, 0.2, 1);
}
.tst__source:hover { border-color: var(--gold-ink); }
