.reviews-page { padding-bottom: 5rem; }

/* Hero */
.reviews-hero { background: #f4f7fa; padding: 5rem 0 3.5rem; text-align: center; }
.reviews-heading { color: #1a1a1a; font-size: clamp(2.25rem,4.5vw,3.5rem); font-weight: 800; line-height: 1.15; margin: 0 auto 1rem; max-width: 40rem; }
.reviews-heading span { color: #23555A; }
.reviews-sub { color: #555; font-size: 1.05rem; line-height: 1.6; margin: 0 auto; max-width: 34rem; }

/* Stats bar */
.reviews-stats { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 2rem; }
.reviews-stats__item { align-items: center; background: #fff; border: 1px solid #e5e9ed; border-radius: 999px; display: flex; gap: .45rem; padding: .5rem .9rem; }
.reviews-stats__item .review-card__source-icon { flex-shrink: 0; height: 16px; width: 16px; }
.reviews-stats__text { align-items: baseline; display: flex; gap: .3rem; white-space: nowrap; }
.reviews-stats__text strong { color: #23555A; font-size: .85rem; font-weight: 800; }
.reviews-stats__text span { color: #888; font-size: .75rem; }

/* Filters */
.reviews-filters { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin: 3rem 0 2.5rem; }
.reviews-filters__btn { background: #f4f7fa; border: none; border-radius: 999px; color: #435963; cursor: pointer; font-size: .875rem; font-weight: 600; padding: .6em 1.3em; transition: background .2s, color .2s; }
.reviews-filters__btn:hover { background: #E9F1F4; }
.reviews-filters__btn.is-active { background: #23555A; color: #fff; }

/* Grid (masonry via columns) */
.reviews-grid { columns: 2; column-gap: 1.5rem; }
@media (max-width: 767px) { .reviews-grid { columns: 1; } }

.review-card { background: #fff; border: 1px solid #eee; border-radius: 1rem; break-inside: avoid; margin-bottom: 1.5rem; padding: 1.5rem; transition: box-shadow .2s; }
.review-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); }

.review-card__head { align-items: flex-start; display: flex; gap: .9rem; margin-bottom: 1rem; }
.review-card__avatar { align-items: center; border-radius: 50%; color: #fff; display: flex; flex-shrink: 0; font-size: 1.1rem; font-weight: 700; height: 44px; justify-content: center; width: 44px; }
.review-card__meta { flex: 1; min-width: 0; }
.review-card__name { color: #1a1a1a; font-size: .95rem; font-weight: 700; margin: 0; }
.review-card__stars { display: flex; gap: 2px; margin: .3rem 0; }
.review-card__star { fill: #FFB400; height: 14px; width: 14px; }
.review-card__date { color: #999; font-size: .78rem; margin: 0; }
.review-card__source-icon { flex-shrink: 0; height: 22px; width: 22px; }
.review-card__text { color: #444; font-size: .9rem; line-height: 1.6; margin: 0; }

.reviews-loadmore-wrap { margin-top: 1rem; text-align: center; }

.reviews-empty { color: #888; padding: 3rem 0; text-align: center; }
