/* ==== Reviews page (loaded on the Reviews page only) ==== */
.reviews-summary { display: grid; gap: var(--space-4); margin-bottom: var(--space-3); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.reviews-summary__score { display: grid; justify-items: start; align-content: center; gap: 0.25rem; }
.reviews-summary__avg { margin: 0; font: 800 clamp(3rem, 2rem + 4vw, 4.5rem)/1 var(--font-heading); }
.reviews-summary__stars .icon { width: 1.5rem; height: 1.5rem; }
.reviews-summary__count { margin: 0; color: var(--color-muted); }
.reviews-summary__bars { list-style: none; display: grid; gap: 0.25rem; align-content: center; }
.reviews-summary__bars a { display: grid; grid-template-columns: 2.75rem 1fr 2rem; align-items: center; gap: var(--space-2); min-height: 32px; padding: 0.15rem 0.5rem; border-radius: var(--radius-sm); color: var(--color-text); text-decoration: none; }
.reviews-summary__bars a:hover, .reviews-summary__bars a[aria-current] { background: var(--color-primary-soft); }
.reviews-summary__label { display: inline-flex; align-items: center; gap: 0.2rem; font-weight: 700; }
.reviews-summary__label .icon { width: 0.9rem; height: 0.9rem; color: var(--color-gold); fill: currentColor; }
.reviews-summary__bars progress { width: 100%; height: 0.6rem; border: 0; border-radius: var(--radius-pill); overflow: hidden; background: var(--color-border); appearance: none; -webkit-appearance: none; }
.reviews-summary__bars progress::-webkit-progress-bar { background: var(--color-border); }
.reviews-summary__bars progress::-webkit-progress-value { background: var(--color-gold); border-radius: var(--radius-pill); }
.reviews-summary__bars progress::-moz-progress-bar { background: var(--color-gold); border-radius: var(--radius-pill); }
.reviews-summary__n { text-align: right; color: var(--color-muted); font-size: var(--text-sm); }
.reviews-filter { margin-bottom: var(--space-3); color: var(--color-muted); }
.reviews-filter p { margin: 0; }
.reviews-filter a { margin-left: 0.5rem; font-weight: 600; }
.reviews-grid--page { margin-bottom: var(--space-4); }
.reviews-empty { padding: var(--space-5) 0; text-align: center; color: var(--color-muted); }
@media (min-width: 800px) { .reviews-summary { grid-template-columns: 16rem 1fr; gap: var(--space-5); padding: var(--space-4) var(--space-5); } }
@media (min-width: 800px) { .reviews-grid--page { grid-template-columns: repeat(3, 1fr); } }
