.reviews-sec[hidden] { display: none; }
.reviews-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.reviews-head h2 { margin: 0; }
.reviews-sum { display: flex; align-items: center; gap: 10px; font: 600 1.2rem var(--head); }
.reviews { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.review { margin: 0; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--plate); border-radius: 0 0 8px 8px; display: flex; flex-direction: column; gap: 12px; }
.stars { display: inline-flex; gap: 2px; color: #E0A800; }
.stars svg { width: 18px; height: 18px; }
.stars .off { color: var(--line); }
.review blockquote { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.review blockquote.clip { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.review-more { align-self: start; background: none; border: 0; padding: 0; font: 600 .95rem var(--body); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.review figcaption { margin-top: auto; font-size: .95rem; color: var(--ink-2); }
.review figcaption strong { color: var(--ink); font-weight: 600; }
.reviews-link { margin-top: 28px; }
@media print { .review-more, .reviews-link { display: none; } .review blockquote.clip { display: block; } }
.reviews-link[hidden] { display: none; }
.reviews-sec { border-top: 1px solid var(--line); }
