/* Minimal Chaos - Testimonial Carousel */
/* Hard-stop control visibility when there aren't enough testimonials for the current breakpoint.
   This prevents any cross-instance leaks (e.g., one carousel enabling controls on another). */
.mc-testimonial-carousel[data-count="1"] .mc-testimonial-carousel__nav,
.mc-testimonial-carousel[data-count="1"] .mc-testimonial-carousel__toggle,
.mc-testimonial-carousel[data-count="1"] .mc-testimonial-carousel__dots{
	display: none !important;
}

@media (min-width: 769px){
	.mc-testimonial-carousel[data-count="2"] .mc-testimonial-carousel__nav,
	.mc-testimonial-carousel[data-count="2"] .mc-testimonial-carousel__toggle,
	.mc-testimonial-carousel[data-count="2"] .mc-testimonial-carousel__dots{
		display: none !important;
	}
}

@media (min-width: 1025px){
	.mc-testimonial-carousel[data-count="3"] .mc-testimonial-carousel__nav,
	.mc-testimonial-carousel[data-count="3"] .mc-testimonial-carousel__toggle,
	.mc-testimonial-carousel[data-count="3"] .mc-testimonial-carousel__dots{
		display: none !important;
	}
}


.mc-testimonial-carousel {
	position: relative;
	width: 100%;
}



/* Hide controls by default to prevent flash; JS will enable via classes */
.mc-testimonial-carousel__nav,
.mc-testimonial-carousel__toggle,
.mc-testimonial-carousel__dots {
	display: none;
}
.mc-testimonial-carousel.mc-tc-show-nav .mc-testimonial-carousel__nav {
	display: inline-flex;
}
.mc-testimonial-carousel.mc-tc-show-toggle .mc-testimonial-carousel__toggle {
	display: inline-flex;
}

.mc-testimonial-carousel.mc-tc-show-dots .mc-testimonial-carousel__dots {
	display: flex;
}

.mc-testimonial-carousel__viewport {
	overflow: hidden;
	width: 100%;
	/* Allow vertical scroll, but make horizontal swipe predictable */
	touch-action: pan-y;
}

.mc-testimonial-carousel__track {
	display: flex;
	gap: var(--mc-tc-gap, 24px);
	will-change: transform;
	transform: translate3d(0, 0, 0);
	transition-property: transform;
	transition-timing-function: ease;
}

.mc-testimonial-carousel__card {
	flex: 0 0 calc((100% - (var(--mc-tc-gap, 24px) * (var(--mc-tc-cards, 3) - 1))) / var(--mc-tc-cards, 3));
	box-sizing: border-box;
	padding: 24px;
	border-radius: 12px;
	background: rgba(0,0,0,0.03);
}

.mc-testimonial-carousel__quote p:last-child {
	margin-bottom: 0;
}

.mc-testimonial-carousel__meta {
	margin-top: 16px;
}

.mc-testimonial-carousel__author {
	font-weight: 600;
}

.mc-testimonial-carousel__title {
	opacity: 0.8;
	font-size: 0.95em;
}

.mc-testimonial-carousel__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	border: none;
	background: rgba(0,0,0,0.85);
	border-radius: 999px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;

	color: #fff;
}

.mc-testimonial-carousel__nav--prev { left: -54px; }
.mc-testimonial-carousel__nav--next { right: -54px; }

.mc-testimonial-carousel__nav:focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.mc-testimonial-carousel__toggle {
	position: absolute;
	left: 50%;
	bottom: -52px;
	transform: translateX(-50%);
	z-index: 2;
	border: none;
	background: rgba(0,0,0,0.85);
	border-radius: 999px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;

	color: #fff;
}

.mc-testimonial-carousel[data-is-playing="true"] [data-icon-play] { display: none; }
.mc-testimonial-carousel[data-is-playing="false"] [data-icon-pause] { display: none; }

/* Cards per view: 3 desktop, 2 at <=1024px, 1 at <=768px */
.mc-testimonial-carousel { --mc-tc-cards: 3; }

@media (max-width: 1024px) {
	.mc-testimonial-carousel { --mc-tc-cards: 2; }
	.mc-testimonial-carousel__nav--prev { left: -44px; }
	.mc-testimonial-carousel__nav--next { right: -44px; }
}

@media (max-width: 768px) {
	.mc-testimonial-carousel { --mc-tc-cards: 1; }
	/* Mobile: use dots instead of arrows */
	.mc-testimonial-carousel__nav { display: none !important; }
	.mc-testimonial-carousel__dots { justify-content: center; margin-top: 14px; }
}

/* Dots */
.mc-testimonial-carousel__dots {
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.mc-testimonial-carousel__dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(0,0,0,0.25);
	cursor: pointer;
}

.mc-testimonial-carousel__dot[data-active="true"] {
	background: rgba(0,0,0,0.85);
}

.mc-testimonial-carousel__dot:focus {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* v1.15 SVG icon sizing + true circular controls */

.mc-testimonial-carousel__nav,
.mc-testimonial-carousel__toggle{
	padding: 0;
	min-width: 44px;
	min-height: 44px;
	border-radius: 50%;
}

.mc-testimonial-carousel .mc-icon{
	width: 22px;
	height: 22px;
	display: block;
}
