/* Reviews: stars, review list, write form. Used on Smart QR pages, the listing and directory cards. */
.sq-stars { display: inline-flex; gap: 1px; vertical-align: -2px; font-size: 1.05rem; line-height: 1; }
.sq-star { color: var(--directory-border, #d0d5dd); }
.sq-star.is-on { color: #b45309; }
.sq-star.is-half { background: linear-gradient(90deg, #b45309 50%, var(--directory-border, #d0d5dd) 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sq-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0 0; }
.sq-review { border-top: 1px solid var(--directory-border); padding: 12px 0; overflow-wrap: anywhere; }
.sq-review:first-of-type { border-top: 0; }
.sq-review header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sq-review p { margin: 4px 0; }
.sq-reply { margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: var(--directory-soft, rgba(99, 102, 241, .08)); }
.sq-form { display: grid; gap: 12px; }
.sq-form label { display: grid; gap: 4px; }
.sq-form .sq-check { display: flex; gap: 8px; align-items: flex-start; }
.sq-check input { margin-top: 4px; width: 20px; height: 20px; flex: none; }
.sq-rate { border: 0; padding: 0; margin: 0; }
.sq-rate legend { font-weight: 600; margin-bottom: 4px; }
.sq-rate__stars { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.sq-rate__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sq-rate__stars label { font-size: 2.4rem; line-height: 1; min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; cursor: pointer; color: var(--directory-border, #d0d5dd); }
.sq-rate__stars input:checked ~ label, .sq-rate__stars label:hover, .sq-rate__stars label:hover ~ label { color: #b45309; }
.sq-rate__stars input:focus-visible + label { outline: 3px solid var(--dx-indigo, #4f46e5); outline-offset: 2px; border-radius: 8px; }
.sq-write__more { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 12px; }
.sq button.link, button.link { background: none !important; box-shadow: none !important; border: 0; padding: 0; color: var(--directory-link, #3730a3); text-decoration: underline; cursor: pointer; min-height: 44px; }
.sq-latest h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.directory-card-rating { display: flex; align-items: center; gap: 6px; margin: 2px 0 6px; }
.sq-kind { border: 0; padding: 0; margin: 0; display: grid; gap: 6px; }
.sq-kind legend { font-weight: 600; margin-bottom: 4px; }
.sq-link code { display: block; padding: 10px; border-radius: 10px; background: var(--directory-soft, rgba(99, 102, 241, .08)); overflow-wrap: anywhere; word-break: break-all; }
.sq-status { font-size: 1.15rem; }
.sq-status--resolved strong { color: #047857; }
.sq-status--in_progress strong { color: #b45309; }
