.mm-google-reviews {
	--mm-google-blue: #0b95cf;
	--mm-google-orange: #df7d21;
	--mm-google-ink: #153447;
	--mm-google-muted: #71858f;
	margin: 30px 0 10px;
	color: var(--mm-google-ink);
}

.mm-google-reviews__summary {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 22px;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid #e1ebef;
	border-radius: 20px;
	box-shadow: 0 12px 36px rgba(21,52,71,.08);
}

.mm-google-reviews__brand {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 4px 18px rgba(21,52,71,.14);
	font: 700 30px/1 Arial,sans-serif;
}

.mm-google-reviews__brand span {
	background: linear-gradient(135deg,#4285f4 8%,#34a853 40%,#fbbc05 67%,#ea4335 88%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.mm-google-reviews__rating { display: grid; grid-template-columns: auto auto; align-items: center; gap: 2px 12px; }
.mm-google-reviews__rating strong { grid-row: span 2; font-size: 34px; line-height: 1; }
.mm-google-reviews__rating span { color: var(--mm-google-muted); font-size: 14px; }
.mm-google-reviews__stars,.mm-google-review__stars { color: #f4b400; letter-spacing: 2px; }
.mm-google-reviews__source { margin-left: auto; padding: 11px 17px; border: 1px solid #cfe0e7; border-radius: 999px; color: var(--mm-google-ink); font-weight: 700; text-decoration: none; transition: .2s ease; }
.mm-google-reviews__source:hover { color: #fff; background: var(--mm-google-blue); border-color: var(--mm-google-blue); }

.mm-google-reviews__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.mm-google-review { min-width: 0; padding: 21px; background: #fff; border: 1px solid #e1ebef; border-radius: 20px; box-shadow: 0 10px 30px rgba(21,52,71,.07); }
.mm-google-review[hidden] { display: none !important; }
.mm-google-review__head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mm-google-review__head img,.mm-google-review__avatar { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; object-fit: cover; }
.mm-google-review__avatar { display: grid; place-items: center; background: #e7f5fb; color: var(--mm-google-blue); font-weight: 800; }
.mm-google-review__head>div { min-width: 0; }
.mm-google-review__head strong { display: block; overflow: hidden; color: var(--mm-google-ink); font-size: 16px; white-space: nowrap; text-overflow: ellipsis; }
.mm-google-review__date { display: block; margin-top: 2px; color: var(--mm-google-muted); font-size: 12px; }
.mm-google-review__google { margin-left: auto; color: #4285f4; font: 700 20px/1 Arial,sans-serif; }
.mm-google-review__stars { margin: 15px 0 10px; font-size: 16px; }
.mm-google-review__stars span { color: #d9e1e4; }
.mm-google-review>p { margin: 0; color: #496572; font-size: 15px; line-height: 1.65; white-space: pre-line; }
.mm-google-review__reply { margin-top: 16px; padding: 14px; border-radius: 12px; background: #f2f7f9; }
.mm-google-review__reply strong { display: block; margin-bottom: 4px; font-size: 13px; }
.mm-google-review__reply p { margin: 0; color: #607780; font-size: 13px; line-height: 1.55; }
.mm-google-reviews__more { display: block; min-width: 230px; margin: 22px auto 0; padding: 13px 22px; border: 0; border-radius: 999px; background: var(--mm-google-blue); color: #fff; font: 700 15px/1.2 Manrope,Arial,sans-serif; cursor: pointer; }
.mm-google-reviews__updated { margin: 14px 0 0; color: #8ca0a8; font-size: 11px; text-align: center; }

.mm-google-reviews--compact { margin: 22px 0 34px; }
.mm-google-reviews--compact .mm-google-review>p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.mm-google-reviews--compact .mm-google-reviews__updated { display: none; }

@media (max-width: 900px) {
	.mm-google-reviews__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
	.mm-google-reviews { margin-top: 20px; }
	.mm-google-reviews__summary { flex-wrap: wrap; gap: 13px; padding: 17px; border-radius: 16px; }
	.mm-google-reviews__brand { width: 48px; height: 48px; flex-basis: 48px; font-size: 26px; }
	.mm-google-reviews__rating strong { font-size: 29px; }
	.mm-google-reviews__source { width: 100%; margin-left: 0; text-align: center; }
	.mm-google-reviews__grid { grid-template-columns: 1fr; }
	.mm-google-review { padding: 18px; border-radius: 16px; }
	.mm-google-reviews__more { width: 100%; }
}

