/* Reviews page specific styles (lean, leveraging base.css) */
.reviews-hero h1 { font-family: "Playfair Display", serif; }
.rating-summary { display: grid; gap: var(--space-4); }
.rating-summary .summary-row { display: flex; align-items: center; gap: var(--space-5); }
.rating-summary .summary-score { font-size: 48px; font-weight: 800; letter-spacing: -0.02em; }
.rating-summary .summary-stars .stars i { color: #f59e0b; }
.rating-summary .summary-bars { display: grid; gap: 10px; }
.rating-summary .bar { display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 10px; }
.rating-summary .bar-track { background: var(--gray-100); border-radius: var(--radius-full); height: 8px; overflow: hidden; }
.rating-summary .bar-fill { background: var(--color-primary); height: 100%; }

.filters-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.filters-bar .checkbox-field { display: flex; align-items: center; gap: var(--space-2); padding-top: 28px; }
@media (max-width: 900px) { .filters-bar { grid-template-columns: 1fr 1fr; } }

.reviews-header { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.reviews-list { display: grid; gap: var(--space-5); }
.review-item .review-photo img { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.review-reply { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--color-border); color: var(--color-muted); }

.photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.photo-grid .photo-item img { border-radius: var(--radius-lg); }
@media (max-width: 900px) { .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .photo-grid { grid-template-columns: 1fr; } }

/* Widget controls */
.stars-input { display: inline-flex; gap: var(--space-3); align-items: center; }
#widget-code { font-family: var(--font-mono); background: var(--gray-50); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 12px; }

/* Featured highlight */
.featured { border-color: color-mix(in srgb, var(--color-primary) 25%, var(--color-border)); box-shadow: var(--shadow-md); }
