/*
 * Testimonial grid styles
 */

#testimonial-wrapper {
	background-color: var(--quote-background-color);
	padding-block-start: 1rem;
}

.scroll-container {
	overflow-x: scroll;
	overscroll-behavior-x: contain;
}




#testimonial-container {
	padding-left: 0;
	margin-left: 5vw;
	display: grid;
	grid-auto-columns: 90vw;
/*	grid-template-columns: repeat(auto-fit, 90vw);*/
	grid-template-rows: 1fr 1fr;
	grid-auto-flow: column dense;
	column-gap: 40px;
	align-items: center;
	transition: transform 0.3s ease-out;
}

#testimonial-wrapper h2 {
	margin-block-start: 0;
}

#testimonial-container .hidden {
	display: none;
}

#testimonialModal a[data-modal-target="testimonialModal"],
#testimonialModal .truncated-preview {
	display: none;
}

#testimonialModal .hidden {
	display: revert;
}

#testimonialModal .modal-dialog {
	padding-top: 100px;
}

.testimonial-item.individual figcaption div.badge,
#testimonialModal .dialog-title .badge.individual { background-color: #1a0285; }
.testimonial-item.retreat figcaption div.badge,
#testimonialModal .dialog-title .badge.retreat { background-color: #286903; }
.testimonial-item.sound-bath figcaption div.badge,
#testimonialModal .dialog-title .badge.sound-bath { background-color: #0c7d9c; }

.testimonial-item.individual figcaption div.badge::after,
#testimonialModal div.badge.individual::after { content: "Personal Passage Retreat"; }
.testimonial-item.retreat figcaption div.badge::after,
#testimonialModal div.badge.retreat::after { content: "Self Contact Retreat"; }
.testimonial-item.sound-bath figcaption div.badge::after,
#testimonialModal div.badge.sound-bath::after { content: "Sound Bath"; }

.testimonial-item p:first-child {
	margin-block-start: 0;
}

.testimonial-item.tall-2 {
	grid-row: auto / span 2;
}

.testimonial-item.tall-3 {
	grid-row: auto / span 2;
}

/* Toolbar: pills left, nav arrows right — wraps to centred at narrow widths */
.testimonial-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem 0.75rem;
	gap: 0.5rem;
}

@media (min-width: 670px) and (hover: hover) and (pointer: fine) {
	.testimonial-toolbar {
		justify-content: space-between;
	}
}

/* Filter pills */
.testimonial-toolbar .testimonial-filter {
	justify-content: center;
}

/* Scroll nav arrows — only shown on pointer devices */
.testimonial-scroll-nav {
	display: none;
	gap: 0.5rem;
	flex-shrink: 0;
}

@media (hover: hover) and (pointer: fine) {
	.testimonial-scroll-nav {
		display: flex;
	}
}

.testimonial-nav-btn {
	background: var(--quote-background-color);
	border: 1px solid rgba(0,0,0,0.2);
	border-radius: 50%;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s, opacity 0.15s;
}

.testimonial-nav-btn svg {
	display: block;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.testimonial-nav-btn:hover {
	background: rgba(0,0,0,0.08);
}

.testimonial-nav-btn:disabled {
	opacity: 0.3;
	cursor: default;
}

/* Filter pills */
.testimonial-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
}

.testimonial-filter-btn {
	background: transparent;
	border: 1px solid rgba(0,0,0,0.25);
	border-radius: 2rem;
	padding: 0.3rem 1rem;
	font-size: 0.875rem;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	color: inherit;
}

.testimonial-filter-btn:hover {
	background: rgba(0,0,0,0.07);
}

.testimonial-filter-btn.active {
	background: var(--bs-dark, #212529);
	color: #fff;
	border-color: transparent;
}

.testimonial-count {
	opacity: 0.5;
}

/* Fade/reflow animation for filtered cards */
.testimonial-item {
	transition: opacity 0.25s;
}

.testimonial-item.filtered-out {
	display: none;
}

.testimonial-item.fading-out {
	opacity: 0;
	pointer-events: none;
}

#testimonial-container:last-child::after {
	content: "";
	width: 5vw;
	height: 1px;
	transform: translateX(-40px);
	grid-row: 1 / -1;
}

@keyframes testimonials-bounce {
	0% { transform: translateX(0); }
	50% { transform: translateX(-20vw); }
	100% { transform: translateX(0); }
}

#testimonial-container.bounce {
	animation: testimonials-bounce 2s;
	animation-fill-mode: both;
}

@media (min-width: 900px) {
	#testimonial-container {
		grid-auto-columns: 45vw;
		padding-left: 0;
		margin-left: 2.5vw;
	}

	#testimonial-container:last-child::after {
		width: 2.5vw;
	}

}

@media (min-width: 1150px) {
		#testimonial-container {
		grid-template-rows: 1fr 1fr 1fr;
	}
	.testimonial-item.tall-3,
	.testimonial-item.tall-2.promoted {
		grid-row: auto / span 3;
	}

}

/* Removed for now due to being too tall */
/*@media (min-width: 1900px) {
	#testimonial-container {
		grid-auto-columns: 30vw;
		padding-left: 2.5vw;
	}

	#testimonial-container:last-child::after {
		width: 2.5vw;
	}
}
*/
