/* ContentMate reviews — styled cards. Theme-neutral; inherits text colour. */
.cm-reviews-title { margin: 0 0 1rem; }
.cm-reviews {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
	margin: 1rem 0;
}
.cm-review {
	/* Translucent so it adapts to any theme background (light OR class-based dark).
	   Neutral-grey rgba fallback first; color-mix refines it where supported. */
	border: 1px solid rgba(128, 128, 128, 0.25);
	border-color: color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 12px;
	padding: 1.1rem 1.2rem;
	background: rgba(128, 128, 128, 0.06);
	background: color-mix(in srgb, currentColor 5%, transparent);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.cm-review-stars {
	color: #f5a623;
	font-size: 1.05rem;
	letter-spacing: 2px;
	line-height: 1;
}
.cm-review-body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}
.cm-review-meta {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
}
.cm-review-avatar {
	border-radius: 50%;
	object-fit: cover;
	flex: none;
	width: 40px;
	height: 40px;
}
.cm-review-initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
	font-weight: 600;
	background: rgba(128, 128, 128, 0.18);
	background: color-mix(in srgb, currentColor 12%, transparent);
}
.cm-review-author { font-weight: 600; font-size: 0.9rem; }
.cm-review-source {
	margin-left: auto;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.6;
}
