/* Отзывы клиентов. Макет d_home_08_reviews / m_home_08_201-2671. */

.reviews { padding-block: 48px; }
.reviews__title { max-width: 16em; }
.reviews__platforms {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 30px;
}
.reviews__platform {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	transition: opacity 0.2s var(--ease);
}
a.reviews__platform:hover { opacity: 0.72; }
.reviews__logo { width: auto; height: 14px; object-fit: contain; }
.reviews__rate,
.reviews__score {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
}
.reviews__rate { gap: 5px; }
.reviews__star { display: block; width: 22px; height: 22px; color: var(--c-orange); flex: 0 0 auto; }
.reviews__rate .reviews__star { width: 16px; height: 16px; }
.reviews__rate-num,
.reviews__score-num {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.32;
}
.reviews__slider { margin-top: 25px; }
.reviews__nav { display: flex; justify-content: flex-end; }
.reviews .slider-nav--mobile { margin-top: 15px; }
.reviews .swiper { overflow: hidden; padding-block: 16px; margin-block: -16px; }
.reviews .swiper-slide { height: auto; display: flex; }
.reviews__card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	height: 100%;
	padding: 20px;
	border-radius: 10px;
	background: var(--c-beige);
	box-shadow: 0 0 30px rgba(210, 210, 210, 0.2);
}
.reviews__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.reviews__who {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	min-width: 0;
}
.reviews__name {
	margin: 0;
	font-size: 16px;
	line-height: 1.32;
}
.reviews__score { gap: 10px; }
.reviews__date {
	flex-shrink: 0;
	margin: 0;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.32;
	color: var(--c-orange);
}
.reviews__main { display: grid; gap: 20px; }
.reviews__clamp { display: grid; gap: 15px; justify-items: start; }
.reviews__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.32;
}
/* Кнопка всегда видна: хвост увеличивает scrollHeight, но обрезается max-height.
   Эллипсис только у текста длиннее 4 строк (line-clamp на внутреннем спане). */
.reviews__clamp-tail { display: none; }
/* .button на ≥768 задаёт min-height: 48px — «Читать полностью» в макете по высоте строки */
.reviews__more-text.button { min-height: 0; }
.reviews__more-text { color: var(--c-black); font-weight: 400; }
.reviews__more-text:hover { color: var(--c-orange-dark); }
.reviews [data-clamp]:not(.is-expanded) [data-clamp-text] {
	max-height: calc(1.32em * 4);
	overflow: hidden;
}
.reviews [data-clamp]:not(.is-expanded) .reviews__text-body {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
.reviews [data-clamp]:not(.is-expanded) .reviews__clamp-tail {
	display: block;
	height: 8px;
}
.reviews [data-clamp].is-expanded .reviews__text-body { display: block; -webkit-line-clamp: unset; }
.reviews__photos {
	display: flex;
	align-items: center;
	gap: 12px;
}
.reviews__photo {
	display: block;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--c-cream);
}
.reviews__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.reviews__photo:hover img { transform: scale(1.06); }
.reviews__photo img { transition: transform 0.35s var(--ease); }
.reviews__photos-more {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 20px;
	height: 54px;
	color: var(--c-black);
	transition: color 0.2s var(--ease);
}
.reviews__photos-more:hover { color: var(--c-orange); }
.reviews__meta {
	display: grid;
	gap: 8px;
	margin-top: auto;
}
.reviews__topic {
	margin: 0;
	font-size: 16px;
	line-height: 1.32;
}
.reviews__doctor {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
}
.reviews__avatar {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
}
.reviews__doctor-name {
	font-size: 14px;
	line-height: 1.32;
}
.reviews__foot { margin-top: 25px; }
.reviews__foot .reviews__cta { width: 100%; }

@media (min-width: 768px) {
	.reviews__platforms { gap: 24px; }
	.reviews__platform { gap: 14px; }
	.reviews__logo { height: 24px; }
	.reviews__rate .reviews__star { width: 18px; height: 18px; }
	.reviews__foot .reviews__cta { width: auto; }
	.reviews .slider-nav--desktop { display: flex; }
	.reviews .slider-nav--mobile { display: none; }
	.reviews__nav { margin-bottom: 28px; }
}

@media (min-width: 1200px) {
	.reviews { padding-block: 50px; }
	.reviews__platforms { gap: 36px; margin-top: 50px; }
	.reviews__platform { gap: 23px; }
	.reviews__logo { height: 36px; }
	.reviews__rate { gap: 5px; }
	.reviews__rate .reviews__star { width: 22px; height: 22px; }
	.reviews__rate-num { line-height: 1.58; }
	.reviews__nav { margin-bottom: 40px; }
	.reviews__who { flex-wrap: nowrap; gap: 14px; }
	.reviews__name,
	.reviews__text,
	.reviews__topic { font-size: 18px; }
	.reviews__score { gap: 8px; }
	.reviews__doctor-name { font-weight: 500; }
	.reviews__foot { margin-top: 30px; }
}
