/**
 * SH Google Reviews widget.
 *
 * Structure only. Colours, typography, sizes, background, spacing and alignment
 * are driven by Elementor controls through CSS custom properties and selector
 * rules, so the Elementor panel stays in charge of the look.
 */

.shts-gr-wrap {
	text-align: left;
}

.shts-gr {
	--shts-gr-star: #fbbc05;
	--shts-gr-star-empty: #e4e7ec;
	--shts-gr-star-size: 16px;
	--shts-gr-star-gap: 2px;
	--shts-gr-logo-size: 32px;

	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 10px 16px;
	border-radius: 12px;
	background-color: transparent;
	text-decoration: none;
	box-sizing: border-box;
	max-width: 100%;
}

.shts-gr__logo {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.shts-gr__logo svg {
	display: block;
	width: var(--shts-gr-logo-size);
	height: auto;
}

.shts-gr__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.shts-gr__top {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
}

.shts-gr__rating {
	font-weight: 700;
	line-height: 1;
	color: #1a1a1a;
}

/* Star rating: an empty track with a clipped, filled overlay on top. */
.shts-gr__stars {
	position: relative;
	display: inline-flex;
	line-height: 0;
}

.shts-gr__stars-empty,
.shts-gr__stars-full {
	display: inline-flex;
}

.shts-gr__stars-full {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	width: var(--shts-gr-fill, 100%);
}

.shts-gr__stars svg {
	display: block;
	width: var(--shts-gr-star-size);
	height: var(--shts-gr-star-size);
}

.shts-gr__stars svg + svg {
	margin-left: var(--shts-gr-star-gap);
}

.shts-gr__stars-empty svg {
	fill: var(--shts-gr-star-empty);
}

.shts-gr__stars-full svg {
	fill: var(--shts-gr-star);
}

.shts-gr__reviews {
	color: #5f6b7a;
	line-height: 1.3;
}

/* Small screens: keep the badge readable and let it wrap gracefully. */
@media (max-width: 480px) {
	.shts-gr {
		gap: 9px;
		padding: 9px 13px;
	}
}
