.mosaic-testimonial {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
}

.mosaic-testimonial--card {
	padding: 1.5rem;
	background: var(--mosaic-color-surface, #f5f6fa);
	border-radius: 0.75rem;
}

.mosaic-testimonial--centered {
	align-items: center;
	text-align: center;
}

.mosaic-testimonial__stars {
	display: flex;
	gap: 0.15rem;
	color: #f59e0b;
	font-size: 1.1rem;
}

/* The star icons are outlines; filled in the star colour they read as a rating. */
.mosaic-testimonial__star {
	display: inline-flex;
	opacity: 0.25;
}

.mosaic-testimonial__star.is-on {
	opacity: 1;
}

.mosaic-testimonial__star .mosaic-svg {
	fill: currentColor;
}

.mosaic-testimonial__quote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1.125rem;
	line-height: 1.6;
}

.mosaic-testimonial__quote p {
	margin: 0;
}

.mosaic-testimonial__by {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.mosaic-testimonial__photo {
	flex: none;
	inline-size: 3.5rem;
	block-size: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.mosaic-testimonial__who {
	display: flex;
	flex-direction: column;
}

.mosaic-testimonial__name {
	font-weight: 600;
}

.mosaic-testimonial__role {
	font-size: 0.875em;
	opacity: 0.75;
}
