/* CAT Testimonials banner */

.cat-testimonials {
	--cat-t-text: #4D408E; /* Elementor global "Purple Text" */
	--cat-t-muted: #6E6E6E;
	--cat-t-bg: #F5F3F9;
	--cat-t-gap: 64px;
	--cat-t-item: 420px;

	/* Break out of the boxed Elementor container to span the full window */
	position: relative;
	left: 50%;
	width: 100vw;
	margin-top: 52px;
	margin-bottom: 32px;
	margin-left: -50vw;
	background: var(--cat-t-bg);
	padding: 24px 0 20px;
	color: var(--cat-t-text);
}

body:has(.cat-testimonials) {
	overflow-x: clip;
}

.cat-testimonials__viewport {
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}

.cat-testimonials__viewport.is-dragging {
	cursor: grabbing;
}

.cat-testimonials__track {
	display: flex;
	align-items: center;
	gap: var(--cat-t-gap);
	width: max-content;
	margin: 0;
	padding: 0 calc(var(--cat-t-gap) / 2);
	list-style: none;
	will-change: transform;
	user-select: none;
}

.cat-testimonial {
	flex: 0 0 var(--cat-t-item);
	margin: 0;
	padding: 0;
	text-align: center;
}

.cat-testimonial figure,
.cat-testimonial blockquote,
.cat-testimonial p {
	margin: 0;
	padding: 0;
	border: 0;
}

.cat-testimonial__quote {
	font-style: italic;
	font-size: 16px;
	line-height: 1.45;
	color: var(--cat-t-text);
}

.cat-testimonial figcaption {
	margin-top: 16px;
	font-family: "Roboto", sans-serif;
	font-style: normal;
	font-size: 15px;
	line-height: 1.5;
}

.cat-testimonial__name {
	display: block;
	font-weight: 500;
	color: var(--cat-t-text);
}

.cat-testimonial__attribution {
	display: block;
	color: var(--cat-t-muted);
}

@media (max-width: 767px) {
	.cat-testimonials {
		--cat-t-gap: 40px;
		--cat-t-item: 78vw;
	}
}
