[hidden] { display: none !important; }
.google-review-badge { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .7rem 1rem; width: fit-content; max-width: 88%; margin: 2rem auto -4rem; color: #21432e; font-size: .9375rem; font-weight: 600; }
.google-review-badge .google-review-stars { font-size: 1.125rem; }
.google-reviews { padding: 6rem 9% 7rem; background: #eeeae1; }
.google-reviews-heading { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 2rem; margin-bottom: 2.5rem; }
.google-reviews .home-label { font-size: .875rem; letter-spacing: .13em; }
.google-reviews h2 { font-family: Georgia, serif; font-size: clamp(2.625rem, 4.5vw, 4.5rem); line-height: 1.1; color: #153121; margin: 1.25rem 0 1rem; }
.google-reviews-total { font-size: 1.0625rem; color: #35513d; margin: 0; }
.google-reviews-link { display: inline-block; font-size: .9375rem; font-weight: 700; border-bottom: 1px solid #496b50; padding-bottom: .5rem; }
.google-reviews-link:hover { color: #806231; }
.google-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.google-review-card { min-width: 0; background: #faf9f4; padding: 2rem 1.75rem; border: 1px solid #c3cdbf; border-radius: .5rem; display: flex; align-items: flex-start; flex-direction: column; }
.google-review-card-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; }
.google-review-icon { display: block; width: 22px; height: 22px; flex-shrink: 0; }
.google-review-stars { color: #806231; letter-spacing: .15em; font-size: 1.25rem; }
.google-review-text { font: 400 1rem/1.75 'DM Sans', Arial, sans-serif; color: #2b4533; margin: 1.25rem 0; white-space: pre-line; overflow-wrap: anywhere; }
.google-review-text.is-collapsed { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.google-review-toggle { background: transparent; border: 0; border-bottom: 1px solid #71856d; padding: .5rem 0; font-size: .875rem; color: #214c2f; font-weight: 600; cursor: pointer; margin-bottom: 1.5rem; }
.google-review-author { display: flex; flex-direction: column; gap: .5rem; margin-top: auto; padding-top: 1rem; width: 100%; border-top: 1px solid #d9dfd3; }
.google-review-name { font-size: .9375rem; color: #1c4028; }
.google-review-date { color: #53634f; font-size: .875rem; }
.google-reviews-fallback { font-size: 1rem; line-height: 1.7; color: #35513d; margin: 0; }
.google-reviews a:focus-visible, .google-reviews button:focus-visible, .google-review-badge:focus-visible { outline: 3px solid #806231; outline-offset: 5px; }
.service-google-reviews { margin: 0 2% 2%; padding: 5rem 7%; }
.service-google-reviews h2 { font-size: clamp(2.25rem, 4vw, 3.75rem); max-width: 850px; }
.service-google-reviews .google-reviews-grid[data-review-count="1"] { grid-template-columns: minmax(0, 760px); }
.service-google-reviews .google-reviews-grid[data-review-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1000px) { .google-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .google-reviews { padding: 4.5rem 7%; } .google-reviews-grid, .service-google-reviews .google-reviews-grid[data-review-count="2"] { grid-template-columns: 1fr; } .google-review-badge { margin: .5rem auto -2rem; } .google-review-card { padding: 1.75rem 1.5rem; } }
