.google-reviews-section { background: var(--paper); }
.google-reviews-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px 56px; align-items: center; }
.google-reviews-heading h2 { margin-bottom: 23px; font-size: clamp(34px, 3.4vw, 44px); }
.google-reviews-heading > div > p:not(.eyebrow) { max-width: 680px; font-size: 18px; line-height: 1.8; color: #454a50; }
.google-reviews-heading .button { min-height: 52px; font-size: 18px; white-space: normal; max-width: 380px; }
.google-reviews-widget { min-width: 0; width: 100%; margin-top: 34px; font-size: 18px; line-height: 1.7; }
.google-reviews-widget > pre.ti-widget { margin: 0; white-space: normal; font-family: var(--sans); }
/* Keep the provider's cards and attribution, with readable type and controls. */
.google-reviews-widget .ti-widget { font-family: var(--sans) !important; }
.google-reviews-widget .ti-widget .ti-widget-container .ti-name { font-size: 18px !important; line-height: 1.4 !important; white-space: normal !important; overflow-wrap: anywhere; }
.google-reviews-widget .ti-widget .ti-widget-container .ti-date { font-size: 16px !important; line-height: 1.5 !important; color: #555b62 !important; }
.google-reviews-widget .ti-widget .ti-review-content,
.google-reviews-widget .ti-widget .ti-review-content .ti-review-text-container { font-size: 18px !important; line-height: 1.7 !important; }
.google-reviews-widget .ti-widget[data-layout-id][data-set-id] .ti-review-content .ti-review-text-container { max-height: 6.8em; }
/* Compact excerpts need not reserve blank paragraph lines. Expanded reviews
 * keep the author's original paragraphs, emojis and wording. */
.google-reviews-widget .ti-widget .ti-review-text-container:not([data-is-opened]) { white-space: normal !important; }
.google-reviews-widget .ti-widget .ti-review-text-container:not([data-is-opened]) br + br { display: none; }
/* The provider measures before opening; restored paragraphs need their full
 * intrinsic height even when its earlier measurement is inline !important. */
.google-reviews-widget .ti-widget .ti-review-text-container[data-is-opened] { min-height: max-content !important; }
.google-reviews-widget .ti-widget .ti-read-more .ti-read-more-active { display: inline-flex !important; align-items: center; min-height: 44px; padding: 6px 0; font-size: 17px !important; line-height: 1.5 !important; color: var(--navy) !important; opacity: 1 !important; text-decoration: underline !important; text-underline-offset: 4px; }
.google-reviews-widget .ti-widget .ti-load-more-reviews-button { min-height: 48px; padding: 12px 22px !important; font-size: 18px !important; line-height: 1.5 !important; color: var(--navy) !important; }
.google-reviews-widget .ti-widget .ti-read-more:focus-visible,
.google-reviews-widget .ti-widget .ti-load-more-reviews-button:focus-visible { outline: 3px solid #9b700b !important; outline-offset: 4px; border-radius: 2px; }
@media (max-width: 900px) {
    .google-reviews-heading { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .google-reviews-heading .button { justify-self: start; }
}
@media (max-width: 759px) {
    .google-reviews-widget { margin-top: 28px; }
    .google-reviews-heading .button { width: 100%; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
    .google-reviews-widget .ti-widget .ti-review-text-container,
    .google-reviews-widget .ti-widget .ti-read-more span,
    .google-reviews-widget .ti-widget .ti-load-more-reviews-button { transition: none !important; }
}
