/* Google reviews: overall rating + chosen reviews */
.tt.tt-reviews { padding: clamp(48px, 6vw, 96px) 0; background-color: var(--tt-paper); }
.tt .tt-reviews__head { display: flex; justify-content: space-between; align-items: end; gap: 20px 40px; flex-wrap: wrap; margin-bottom: clamp(24px, 3vw, 40px); }
.tt .tt-reviews__head .tt-kicker { margin-bottom: 8px; }
.tt .tt-reviews__head .tt-h2 { font-size: var(--tt-fs-h2); }
.tt .tt-reviews__score { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.tt .tt-reviews__score > .tt-reviews__g { width: 30px; height: 30px; }
.tt .tt-reviews__score > b { font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.tt .tt-reviews__score > span { display: grid; gap: 4px; }
.tt .tt-reviews__score small { font-size: 14px; color: var(--tt-mute); }
.tt .tt-reviews__all { margin-left: 10px; padding-left: 24px; border-left: 1px solid var(--tt-line); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.tt .tt-reviews__all:hover, .tt .tt-reviews__all:focus-visible { color: var(--tt-red); }

.tt .tt-reviews__stars { display: inline-flex; gap: 2px; color: #f5a623; }
.tt .tt-reviews__stars svg { width: 18px; height: 18px; fill: currentColor; }
.tt .tt-reviews__stars svg.is-off { fill: var(--tt-line); }

.tt .tt-reviews__list { display: grid; grid-template-columns: repeat(var(--tt-n, 4), minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); margin: 0; padding: 0; list-style: none; }
.tt .tt-reviews__card { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: clamp(20px, 2vw, 28px); background-color: var(--tt-mist); border-radius: 8px; }
.tt .tt-reviews__card blockquote { flex: 1; margin: 0; padding: 0; border: 0; }
.tt .tt-reviews__card blockquote p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--tt-ink); }
.tt .tt-reviews__card blockquote p::before { content: "\201C"; }
.tt .tt-reviews__card blockquote p::after { content: "\201D"; }
.tt .tt-reviews__by { display: flex; align-items: center; gap: 12px; margin: 0; padding-top: 16px; border-top: 1px solid var(--tt-line); }
.tt .tt-reviews__av { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background-color: var(--tt-ink); color: var(--tt-white); font-size: 15px; font-weight: 800; }
.tt .tt-reviews__by > span:last-child { display: grid; gap: 2px; }
.tt .tt-reviews__by b { font-size: 15px; font-weight: 700; }
.tt .tt-reviews__by small { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--tt-mute); }
.tt .tt-reviews__by small svg { width: 13px; height: 13px; }

@media (max-width: 1100px) { .tt .tt-reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Phones: one card and a peek of the next, swiped sideways. */
@media (max-width: 767px) {
	.tt.tt-reviews { padding: 40px 0; }
	.tt .tt-reviews__head { align-items: start; gap: 16px; }
	.tt .tt-reviews__score > b { font-size: 36px; }
	.tt .tt-reviews__all { flex-basis: 100%; margin: 2px 0 0; padding: 0; border: 0; }
	.tt .tt-reviews__list { display: flex; gap: 10px; margin: 0 calc(-1 * var(--tt-pad)); padding: 0 var(--tt-pad) 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--tt-pad); scrollbar-width: none; }
	.tt .tt-reviews__list::-webkit-scrollbar { display: none; }
	.tt .tt-reviews__card { flex: 0 0 82%; scroll-snap-align: start; padding: 20px; }
	.tt .tt-reviews__card blockquote p { font-size: 15px; }
}
