/* ==========================================================================
   Reviews — infinite marquee testimonial rows
   ========================================================================== */

.lss-reviews {
	padding-block: 84px;
	border-block: 1px solid rgba(90, 190, 255, 0.1);
	background: rgba(7, 11, 20, 0.6);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.lss-reviews .lss-section-head {
	margin-bottom: 40px;
}

.lss-reviews__row {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}

.lss-reviews__row + .lss-reviews__row {
	margin-top: 20px;
}

.lss-reviews__track {
	display: flex;
	width: max-content;
}

.lss-reviews__track--forward {
	animation: lss-marquee 44s linear infinite;
}

.lss-reviews__track--reverse {
	animation: lss-marquee-reverse 44s linear infinite;
}

.lss-reviews__row:hover .lss-reviews__track {
	animation-play-state: paused;
}

@keyframes lss-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(50%); }
}

@keyframes lss-marquee-reverse {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}

.lss-review-card {
	width: 320px;
	flex-shrink: 0;
	margin-inline: 10px;
	padding: 20px;
	border-radius: var(--radius, 18px);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lss-review-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.lss-review-card__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--blue-500), var(--cyan-400));
	font-family: var(--font-display);
	font-size: 17px;
	font-weight: 800;
	flex-shrink: 0;
	color: #051019;
}

.lss-review-card__name {
	margin: 0 0 3px;
	font-size: 14px;
	font-weight: 700;
	color: var(--silver-100);
}

.lss-review-card__stars {
	display: flex;
	gap: 2px;
	color: var(--cyan-400);
}

.lss-review-card__text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--silver-500);
}

@media (max-width: 640px) {
	.lss-reviews {
		padding-block: 56px;
	}

	.lss-review-card {
		width: 260px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lss-reviews__track--forward,
	.lss-reviews__track--reverse {
		animation: none;
	}

	.lss-reviews__row {
		overflow-x: auto;
	}
}
