.rh-reviews {
	position: relative;
	background-color: #121B2E;
	padding-block: 24px 56px;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, var(--rh-container-max));
	align-items: center;
	justify-content: center;
}

.rh-reviews__container {
	width: 100%;
}

.rh-reviews__content {
	text-align: center;
}

.rh-reviews__subtitle {
	margin: 0 0 20px;
}

.rh-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.rh-reviews__card {
	padding: 40px;
	border-radius: 24px;
	background: rgba(31, 37, 64, 0.88);
	text-align: left;
}

.rh-reviews__stars {
	display: flex;
	gap: 4px;
	margin-bottom: 12px;
}

.rh-reviews__stars img {
	width: 26px;
	height: 26px;
}

.rh-reviews__text {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, 0.75);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-clamp: 4;
}

.rh-reviews__more {
	color: #d63940;
	text-decoration: none;
	font-size: 16px;
	cursor: pointer;
	display: inline-block;
	min-height: 24px;
}

.rh-reviews__more.is-hidden {
	visibility: hidden;
	pointer-events: none;
}

.rh-reviews__author {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
}

.rh-reviews__avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #d63940;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.rh-reviews__name {
	margin: 0;
	color: #fff;
	font-weight: 700;
	font-size: 20px;
}

.rh-reviews__date {
	margin: 0;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.5);
}

.rh-reviews__nav {
	padding: 0;
	border: 0;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	cursor: pointer;
	transform: translateY(38px);
}

.rh-reviews__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}

.rh-reviews__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
}

.rh-reviews__dot.is-active {
	background: #fff;
}

.rh-reviews-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(5, 11, 24, 0.72);
	z-index: 1000;
}

.rh-reviews-modal.is-open {
	display: flex;
}

.rh-reviews-modal__dialog {
	position: relative;
	width: min(720px, 100%);
	max-height: 80vh;
	padding: 24px;
	border-radius: 20px;
	background: #1f2540;
	color: rgba(255, 255, 255, 0.86);
	overflow: auto;
}

.rh-reviews-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.rh-reviews-modal__title {
	margin: 0 48px 12px 0;
	color: #fff;
	font-size: 22px;
}

.rh-reviews-modal__text {
	margin: 0;
	white-space: pre-line;
}

@media (max-width: 1200px) {
	.rh-reviews {
		grid-template-columns: minmax(0, 1fr);
	}

	.rh-reviews__nav {
		display: none;
	}

	.rh-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.rh-reviews {
		padding-block: 20px 40px;
	}

	.rh-reviews__grid {
		grid-template-columns: 1fr;
	}

	.rh-reviews__card {
		padding: 24px 18px;
	}

	.rh-reviews__stars img {
		width: 20px;
		height: 20px;
	}

	.rh-reviews__name {
		font-size: 18px;
	}

	.rh-reviews__date,
	.rh-reviews__text,
	.rh-reviews__more {
		font-size: 14px;
	}
}
