/* DE FRAMES Testimonials v2 — compact, continuous, always-moving marquee */

.df-testimonials-section {
	width: 100%;
	overflow: hidden;
}

.df-testimonials-container {
	width: 92%;
	max-width: 1760px;
	margin: 0 auto;
}

.df-testimonials-heading {
	text-align: center;
	margin: 0 auto 36px;
}

.df-testimonials-eyebrow {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.df-testimonials-title {
	margin: 0 0 10px;
}

.df-testimonials-intro {
	max-width: 700px;
	margin: 0 auto;
}

.df-testimonial-marquee {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.df-testimonial-track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: df-testimonial-scroll var(--df-marquee-duration, 32s) linear infinite;
}

.df-testimonial-group {
	display: flex;
	align-items: stretch;
	gap: 20px;
	flex: 0 0 auto;
	padding-right: 20px;
}

.df-testimonial-card {
	width: clamp(270px, 28vw, 390px);
	flex: 0 0 auto;
	padding: 22px;
	border: 1px solid rgba(0,0,0,.09);
	border-radius: 14px;
	background: #fff;
	box-sizing: border-box;
}

.df-testimonial-card-head {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 14px;
}

.df-testimonial-photo {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	display: block;
	border-radius: 50%;
	object-fit: cover;
}

.df-testimonial-photo-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	background: #eef2f5;
}

.df-testimonial-client-info {
	min-width: 0;
}

.df-testimonial-client-info h3 {
	margin: 0 0 2px;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 700;
}

.df-testimonial-client-info span {
	display: block;
	font-size: 11px;
	line-height: 1.4;
	opacity: .65;
}

.df-testimonial-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	opacity: .82;
}

@keyframes df-testimonial-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(calc(-1 * var(--df-marquee-distance, 1000px)), 0, 0);
	}
}

/* Keep it moving: no hover pause. */
.df-testimonial-marquee:hover .df-testimonial-track,
.df-testimonial-marquee:focus-within .df-testimonial-track {
	animation-play-state: running;
}

@media (max-width: 991px) {
	.df-testimonials-container {
		width: calc(100% - 40px);
	}

	.df-testimonial-card {
		width: 300px;
	}
}

@media (max-width: 767px) {
	.df-testimonials-container {
		width: calc(100% - 30px);
	}

	.df-testimonials-heading {
		margin-bottom: 25px;
	}

	.df-testimonial-group {
		gap: 14px;
		padding-right: 14px;
	}

	.df-testimonial-card {
		width: 280px;
		padding: 18px;
	}

	.df-testimonial-photo {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.df-testimonial-track {
		animation-duration: 120s;
	}
}
