/**
 * TWCHP customer review summary
 * Uses TWCHP's own presentation and keeps the Trustpilot reference as a plain text link.
 */
.iq-twchp-review-summary,
.iq-twchp-review-summary * {
	box-sizing: border-box;
}

.iq-twchp-review-summary {
	--iq-review-gold: #d2b744;
	--iq-review-green: #00b67a;
	--iq-review-text: inherit;
	max-width: 430px;
	font-family: inherit;
	color: var(--iq-review-text);
	text-align: left;
}

.iq-twchp-review-summary__heading {
	margin: 0 0 14px;
	padding: 0;
	font-family: inherit;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0;
	color: inherit;
}

.iq-twchp-review-summary__rating {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.35;
}

.iq-twchp-review-summary__rating strong {
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -.02em;
}

.iq-twchp-review-summary__stars {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 9px;
	color: var(--iq-review-green);
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0;
}

.iq-twchp-review-summary__stars span {
	display: inline-block;
	background: none;
	border: 0;
	box-shadow: none;
}

.iq-twchp-review-summary__count {
	margin: 0 0 11px;
	font-size: 15px;
	line-height: 1.45;
}

.iq-twchp-review-summary__links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.iq-twchp-review-summary__links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
	transition: opacity .18s ease, transform .18s ease;
}

.iq-twchp-review-summary__links a:hover {
	opacity: .82;
	transform: translateX(2px);
}

.iq-twchp-review-summary__links a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 3px;
}

.iq-twchp-review-summary__reviews-link {
	color: var(--iq-review-gold) !important;
	font-weight: 800;
}

.iq-twchp-review-summary__trustpilot-link {
	color: inherit !important;
	font-weight: 500;
}

/* On the dark hero/footer backgrounds, inherit white text cleanly. */
.twchp-location-hero .iq-twchp-review-summary,
.site-footer .iq-twchp-review-summary,
footer .iq-twchp-review-summary {
	color: #fff;
}

/* Keep legacy remote IQ output usable when raw="yes" is explicitly requested. */
.review-by {
	font-weight: bold;
	margin-top: 12px;
	margin-bottom: 4px;
}

.widgetrating {
	float: left;
	min-width: 116px;
}

.IQreviewcontent {
	font-style: italic;
	background-color: whitesmoke;
	padding: 4px;
}

.IQreview {
	border-top: lightgray 1px solid;
	border-bottom: lightgray 1px solid;
	margin-bottom: 10px;
}

.IQreview .review-content {
	font-style: italic;
	background-color: white;
	padding: 16px;
}

.IQreviewssummary table {
	width: auto;
	border: none;
}

.IQreviewssummary td {
	border: none;
}

.avscore,
.read_reviews,
p.avscore {
	text-align: left;
}

@media (max-width: 640px) {
	.iq-twchp-review-summary {
		max-width: 100%;
	}

	.iq-twchp-review-summary__stars {
		font-size: 25px;
		gap: 6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iq-twchp-review-summary__links a {
		transition: none;
	}

	.iq-twchp-review-summary__links a:hover {
		transform: none;
	}
}
