/* ---------- Customer reviews ---------- */
.kb-reviews {
	padding: 10px;
}
.kb-reviews__wrap {
	margin-block: 24px;
	text-align: center;
}
.kb-reviews__item + .kb-reviews__item { margin-top: 28px; }

/* One review card */
.kb-review {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 28px;
	background: #e8f6fc;
	border-radius: 18px;
	box-shadow: 0 6px 18px rgba(21, 101, 192, .1);
}
.kb-review--flip { flex-direction: row-reverse; }

.kb-review__who {
	position: relative;
	flex: none;
}
.kb-review__face {
	display: block;
	width: 96px;
	height: 96px;
	object-fit: cover;
	border: 3px solid #e5e5e5;
	border-radius: 50%;
}
.kb-review__badge {
	position: absolute;
	right: -10px;
	bottom: -6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fef101;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
	color: #0d47a1;
	font-size: 10.4px;
	font-weight: 800;
	line-height: 1.15;
}

.kb-review__main { flex: 1 1 auto; }
.kb-review__title {
	margin: 0 0 12px;
	color: #1565c0;
	font-size: 19.2px;
	font-weight: 800;
	line-height: 1.2;
}
.kb-review__scores {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin-bottom: 14px;
	padding: 10px 14px;
	background: #fff;
	border-radius: 10px;
}
.kb-review__score-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.kb-review__score {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6.24px 6.24px 6.24px 0;
	color: #333;
	font-size: 12.48px;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}
.kb-review__stars { letter-spacing: 1px; }
.kb-review__star { color: #cfd8dc; }
.kb-review__star--on {
	color: #ff9800;
	text-shadow: 0 0 1px rgba(0, 0, 0, .15);
}
.kb-review__text {
	margin: 0;
	color: #333;
	font-size: 16px;
	line-height: 1.9;
}

/* Link to all reviews */
.kb-reviews__more {
	margin-top: 28px;
	padding-inline: 12px;
}
.kb-reviews__btn {
	display: block;
	width: 100%;
	padding: 16px 12px;
	border: 1px solid #f8c92a;
	border-radius: 6px;
	background: #f8c92a;
	color: #fff;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.kb-reviews__btn:hover,
.kb-reviews__btn:focus-visible {
	background: #f9c125;
	border-color: #f9c125;
	color: #fff;
}

@media (max-width: 576px) {
	.kb-review {
		flex-direction: column;
		align-items: center;
		gap: 14px;
		padding: 22px 18px;
	}
	.kb-review__scores,
	.kb-review__score-list { justify-content: center; }
}
