.testimonial-carousel-wrap {
	position: relative;
}

.testimonial-swiper {
	/* Peek the next card past the container edge on desktop, where there's
	   room; clipped to the viewport on mobile so slides can never push the
	   page itself into horizontal scroll (see .has-cursor-glow note above
	   for the same overflow-ownership principle). */
	overflow: hidden;
	padding-bottom: var(--space-xl);
}

.testimonial-swiper .swiper-slide {
	width: 280px;
	height: auto;
}

@media (min-width: 640px) {
	.testimonial-swiper {
		overflow: visible !important;
	}
	.testimonial-swiper .swiper-slide {
		width: 340px;
	}
}

.testimonial-card {
	position: relative;
	height: 100%;
	min-height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-md);
	padding: var(--space-lg) var(--space-md) var(--space-md);
	border-radius: var(--radius-lg);
	background: var(--color-charcoal-soft);
	border: 1px solid rgba(201, 160, 44, 0.18);
	box-shadow: var(--shadow-soft);
}

.testimonial-card__mark {
	display: block;
	font-family: var(--font-display);
	font-size: 3.5rem;
	line-height: 1;
	background: var(--gradient-gold);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.testimonial-card__quote {
	margin: 0;
	flex-grow: 1;
}

.testimonial-card__quote p {
	margin: 0;
	color: var(--color-ivory);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
}

.testimonial-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.testimonial-card__name {
	color: var(--color-gold-light);
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: 500;
}

.testimonial-card__tag {
	background: rgba(253, 251, 246, 0.08);
	border: 1px solid rgba(253, 251, 246, 0.2);
	color: var(--color-ivory);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.4em 0.85em;
	border-radius: var(--radius-pill);
	white-space: nowrap;
}

.testimonial-swiper .swiper-pagination {
	bottom: 0;
}

.testimonial-swiper .swiper-pagination-bullet {
	background: var(--color-gold-deep);
	opacity: 0.3;
}

.testimonial-swiper .swiper-pagination-bullet-active {
	opacity: 1;
}

.testimonial-swiper-nav {
	display: flex;
	justify-content: center;
	gap: var(--space-sm);
	margin-top: var(--space-sm);
}

.testimonial-swiper-prev,
.testimonial-swiper-next {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--color-border);
	background: transparent;
	color: var(--color-charcoal);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--dur-fast) var(--ease-premium), color var(--dur-fast) var(--ease-premium);
}

.section--charcoal .testimonial-swiper-prev,
.section--charcoal .testimonial-swiper-next {
	border-color: rgba(253, 251, 246, 0.3);
	color: var(--color-ivory);
}

.testimonial-swiper-prev:hover,
.testimonial-swiper-next:hover {
	background: var(--color-bordeaux);
	border-color: var(--color-bordeaux);
	color: var(--color-ivory);
}

.testimonial-swiper-prev.swiper-button-disabled,
.testimonial-swiper-next.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}
