.reviews-section {
 border-top: 1px solid var(--line);
 padding-top: 44px;
 scroll-margin-top: 32px;
}
.review-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
 gap: 16px;
 margin: 16px 0;
}
.review-card {
 min-width: 0;
 padding: 20px;
 border: 1px solid var(--line, #323238);
 border-radius: 8px;
 background: var(--panel, transparent);
 overflow-wrap: anywhere;
}
.review-card h3 { margin: 0 0 4px; }
.review-stars { color: var(--gold, #efbb59); letter-spacing: .08em; }
#review-summary {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 4px 12px;
}
.review-average-stars {
 position: relative;
 display: inline-block;
 color: var(--muted, #adb4bb);
 font-size: 1.35rem;
 line-height: 1.2;
 letter-spacing: .08em;
 white-space: nowrap;
}
.review-average-fill {
 position: absolute;
 inset: 0 auto 0 0;
 overflow: hidden;
 color: var(--gold, #efbb59);
}
.review-comment { white-space: pre-wrap; }
.review-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.account-review { margin-top: 20px; }
.account-review form { max-width: 36rem; }
.account-review label { display: block; margin-top: 12px; }
.account-review textarea {
 display: block;
 width: 100%;
 padding: 10px;
 color: var(--text);
 background: var(--panel);
 border: 1px solid var(--line);
 border-radius: 6px;
 font: inherit;
}
.review-rating {
 border: 0;
 margin: 12px 0 0;
 padding: 0;
}
.review-rating legend { padding: 0; }
.review-rating-stars { display: flex; flex-wrap: wrap; }
.review-rating-stars label {
 position: relative;
 display: grid;
 place-items: center;
 margin: 0;
 min-width: 44px;
 min-height: 44px;
 color: var(--muted, #adb4bb);
 cursor: pointer;
}
.account-review .review-rating-stars input {
 position: absolute;
 width: 1px;
 height: 1px;
 opacity: 0;
 padding: 0;
}
.review-rating-stars span { font-size: 1.8rem; line-height: 1; }
.review-rating-stars label:where(:has(input:checked), :has(~ label input:checked)) {
 color: var(--gold, #efbb59);
}
@media (hover: hover) {
 .review-rating-stars:has(label:hover) label {
  color: var(--muted, #adb4bb);
 }
 .review-rating-stars:has(label:hover) label:where(:hover, :has(~ label:hover)) {
  color: var(--gold, #efbb59);
 }
}
.review-rating-stars label:has(input:focus-visible) {
 outline: 2px solid var(--gold, #efbb59);
 outline-offset: -2px;
 border-radius: 4px;
}
.account-review form button { margin-top: 12px; }
#admin-review-list .review-card { margin: 12px 0; }
