.review-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.review-card {
	border: solid 1px rgba(0, 0, 0, 0.12);
	border-radius: 0.35rem;
	padding: 1.5rem;
	background: #ffffff;
	height: 100%;
}

.review-card-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	flex-wrap: wrap;
}

.review-name {
	margin: 0;
}

.review-meta {
	margin: 0.35rem 0 0 0;
	font-size: 0.95rem;
	opacity: 0.75;
}

.review-stars {
	letter-spacing: 0.12em;
	white-space: nowrap;
	font-size: 1rem;
}

.review-comment {
	margin: 1rem 0 0 0;
}

.review-empty {
	border: dashed 1px rgba(0, 0, 0, 0.18);
	border-radius: 0.35rem;
	padding: 1.5rem;
	text-align: center;
	width: 100%;
}

.review-note {
	margin-top: 0.75rem;
	opacity: 0.8;
}

.review-status {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 0.35rem;
	font-weight: 600;
	display: none;
}

.review-status.is-success,
.review-status.is-error,
.review-status.is-loading {
	display: block;
}

.review-status.is-success {
	background: rgba(30, 132, 73, 0.08);
	border: solid 1px rgba(30, 132, 73, 0.28);
	color: #1e8449;
}

.review-status.is-error {
	background: rgba(192, 57, 43, 0.08);
	border: solid 1px rgba(192, 57, 43, 0.28);
	color: #c0392b;
}

.review-status.is-loading {
	background: rgba(41, 128, 185, 0.08);
	border: solid 1px rgba(41, 128, 185, 0.28);
	color: #2471a3;
}

.rating-label {
	display: block;
	margin: 0 0 0.85rem 0;
	font-family: "Source Sans Pro", Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 300;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
}

.rating-pill-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	width: 100%;
	max-width: 100%;
}

.rating-pill {
	margin: 0 !important;
	min-width: 0;
	flex: 0 0 auto;
	font-family: "Source Sans Pro", Helvetica, sans-serif !important;
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	white-space: nowrap;
}

.rating-pill.primary,
.rating-pill[aria-pressed="true"] {
	box-shadow: none;
}

.rating-helper {
	margin-top: 0.85rem;
	font-family: "Source Sans Pro", Helvetica, sans-serif;
	font-weight: 300;
}

@media screen and (max-width: 736px) {
	.review-card {
		padding: 1.25rem;
	}

	.review-card-top {
		flex-direction: column;
		align-items: flex-start;
	}

	.rating-pill-group {
		gap: 0.5rem;
	}

	.rating-pill {
		flex: 1 1 calc(50% - 0.5rem);
		text-align: center;
	}
}
