/* Testimonials carousel (lib/ct-testimonials.php). Matches the old Strong Testimonials "modern" look, tighter. */
.ct-testimonials {
	--ct-t-ink: #333;
	--ct-t-control: #174145;   /* site dark teal: 10:1+ on the light-blue row */
	max-width: 900px;
	margin: 0 auto;
	padding: 28px 0 16px;
	text-align: center;
}

/* All slides share one grid cell, so the box is as tall as the longest quote and never jumps. */
.ct-t-slides {
	display: grid;
}
.ct-t-slide {
	grid-area: 1 / 1;
	align-self: center;       /* shorter quotes sit centered in the shared height */
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease, visibility 0s linear .6s;
}
.ct-t-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity .6s ease;
}
.ct-testimonials.no-motion .ct-t-slide {
	transition: none;
}

/* Decorative quote marks (white, as before), attached to the quote text. */
.ct-t-quote::before,
.ct-t-quote::after {
	position: absolute;
	color: #fff;
	font: 700 88px/1 Georgia, 'Times New Roman', serif;
	font-style: normal;
}
.ct-t-quote::before {
	content: '\201C';
	left: 0;
	top: -8px;
}
.ct-t-quote::after {
	content: '\201D';
	right: 0;
	bottom: -52px;
}

.ct-t-quote {
	position: relative;
	margin: 0;
	padding: 0 56px;
	border: 0;
	background: none;
	color: var(--ct-t-ink);
	font-size: 18px;
	font-style: italic;
	line-height: 1.6;
}
.ct-t-quote p { margin: 0 0 .6em; }
.ct-t-quote p:last-child { margin-bottom: 0; }

.ct-t-name {
	margin-top: 12px;
	color: var(--ct-t-ink);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}

.ct-t-controls {
	display: flex;
	justify-content: center;
	gap: 8px;
}
.ct-t-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;           /* WCAG 2.5.5-friendly target */
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ct-t-control);
	cursor: pointer;
}
.ct-t-controls button:hover { background: rgba(23, 65, 69, .1); }
.ct-t-controls button:focus-visible {
	outline: 3px solid var(--ct-t-control);
	outline-offset: 2px;
}
.ct-t-controls svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.ct-t-controls .i-play { fill: currentColor; stroke: none; }
.ct-t-pause { order: 2; }
.ct-t-prev  { order: 1; }
.ct-t-next  { order: 3; }
.ct-testimonials .i-play,
.ct-testimonials.is-paused .i-pause { display: none; }
.ct-testimonials.is-paused .i-play { display: block; }

.ct-testimonials.is-single { padding-bottom: 32px; }

@media only screen and (max-width: 767px) {
	.ct-testimonials { padding-top: 20px; }
	.ct-t-quote { padding: 0 4px; }
	.ct-t-quote::before,
	.ct-t-quote::after { position: static; display: block; height: 40px; font-size: 64px; }
	.ct-t-quote::after { text-align: right; margin-top: -4px; }
	.ct-t-name { font-size: 20px; }
}
