/* Client Quotes — purple gradient carousel
   All selectors are scoped under .cq-carousel with unique class names,
   so existing theme testimonial styles cannot bleed in. */

.cq-carousel {
	--cq-gradient-start: #a02585;  /* magenta (left) */
	--cq-gradient-end:   #5a2ea6;  /* purple (right) */
	--cq-card-bg:        rgba(255, 255, 255, 0.18);
	--cq-accent:         #5fd98f;  /* green name/role */
	--cq-text:           #ffffff;
	--cq-gap:            1.75rem;

	background: linear-gradient(100deg, var(--cq-gradient-start) 0%, var(--cq-gradient-end) 100%);
	font-family: 'Noto Serif', Georgia, 'Times New Roman', serif;
	padding: 0px !important;
	box-sizing: border-box;
}

.cq-carousel *,
.cq-carousel *::before,
.cq-carousel *::after {
	box-sizing: inherit;
}

.cq-carousel .cq-viewport {
	overflow: hidden;
}

.cq-carousel .cq-track {
	display: flex;
	gap: var(--cq-gap);
	transition: transform 0.45s ease;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.cq-carousel .cq-card {
	background: var(--cq-card-bg);
	color: var(--cq-text);
	flex: 0 0 calc((100% - (var(--cq-per-view, 3) - 1) * var(--cq-gap)) / var(--cq-per-view, 3));
	display: flex;
	flex-direction: column;
	padding: 30px !important;
	margin: 0;
	border: none;
	border-radius: 2px;
	box-shadow: none;
	text-align: left;
	min-height: 100%;
}

.cq-carousel .cq-card-header {
	color: var(--cq-accent);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.02em;
	margin: 0 0 0.85rem;
}

.cq-carousel .cq-name {
	text-transform: uppercase;
	color: var(--cq-accent);
}

.cq-carousel .cq-sep {
	margin: 0 0.4rem;
	font-weight: 400;
}

.cq-carousel .cq-quote {
	color: var(--cq-text);
	font-size: 14px !important;
	line-height: 20px !important;
	flex-grow: 1;
	text-align: left;
}

.cq-carousel .cq-category {
	margin-top: 2.5rem;
	font-size: 0.95rem;
	color: var(--cq-text);
}

/* ---- Arrows ---- */

.cq-carousel .cq-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 0.25rem 0.75rem;
}

.cq-carousel .cq-arrow {
	background: none;
	border: none;
	border-radius: 0;
	padding: 0.25rem;
	margin: 0;
	color: #ffffff;
	cursor: pointer;
	line-height: 0;
	opacity: 0.9;
	box-shadow: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cq-carousel .cq-arrow svg {
	width: 42px;
	height: 26px;
	display: block;
}

.cq-carousel .cq-arrow:hover,
.cq-carousel .cq-arrow:focus-visible {
	background: none;
	color: #ffffff;
	opacity: 1;
	transform: scale(1.05);
}

.cq-carousel .cq-arrow:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.cq-carousel .cq-arrow[disabled] {
	opacity: 0.3;
	cursor: default;
	transform: none;
}

/* ---- Responsive: 2 cards on tablet, 1 on mobile ---- */

@media (max-width: 600px) {
	.cq-carousel .cq-quote {
		font-size: 1.15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cq-carousel .cq-track {
		transition: none;
	}
}
