.google-reviews { padding-top: 3rem; padding-bottom: 3rem; }
.google-reviews .section-heading { gap: 1.5rem; align-items: flex-start; }
.google-reviews .section-heading p { max-width: 70ch; }
.google-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.google-review-card { min-width: 0; padding: 1.5rem; background: #fff; border: 1px solid #dce3eb; border-radius: 14px; box-shadow: 0 8px 24px rgb(14 43 72 / 4%); }
.google-review-card > p:first-child { margin-top: 0; color: #103454; }
.google-review-card > p[aria-label] { color: #a56500; font-size: 1.2rem; letter-spacing: .1em; margin-bottom: .35rem; }
.google-review-card time, .google-review-card small { color: #53657a; font-size: .85rem; }
.google-review-comment { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.7; }
.google-review-text { margin: 1rem 0; }
.google-review-text summary { cursor: pointer; list-style: none; line-height: 1.7; }
.google-review-text summary::-webkit-details-marker { display: none; }
.google-review-excerpt { display: block; white-space: pre-line; overflow-wrap: anywhere; }
.google-review-read, .google-review-close { color: #144380; display: block; text-decoration: underline; font-weight: 700; margin-top: .6rem; }
.google-review-close, .google-review-text[open] .google-review-excerpt, .google-review-text[open] .google-review-read { display: none; }
.google-review-text[open] .google-review-close { display: block; }
.google-review-text summary:focus-visible { outline: 3px solid #144380; outline-offset: 4px; border-radius: 4px; }
.google-reviews-more { margin-top: 1.5rem; }
.google-reviews-more summary { width: fit-content; max-width: 100%; padding: .85rem 1rem; border: 1px solid #b9c9da; border-radius: 8px; color: #103454; background: #f5f8fc; cursor: pointer; font-weight: 700; }
.google-reviews-more summary:focus-visible { outline: 3px solid #144380; outline-offset: 4px; }
.google-reviews-more[open] summary { margin-bottom: 1.25rem; }
@media (max-width: 1000px) { .google-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .google-reviews-grid { grid-template-columns: minmax(0, 1fr); } .google-review-card { padding: 1.15rem; } .google-reviews .section-heading { flex-direction: column; } }
