/* AddiPress Listings — seller ratings & reviews. */
:root { --r-star: #f59e0b; --r-line: var(--apl-line, #e2e8f0); --r-muted: var(--apl-muted, #64748b); --r-primary: var(--apl-primary, #4f46e5); }

/* Star display */
.apl-stars { display: inline-flex; letter-spacing: 1px; line-height: 1; }
.apl-stars .apl-star { color: #d1d5db; font-size: 16px; }
.apl-stars .apl-star.is-on { color: var(--r-star); }
.apl-stars .apl-star.is-half { position: relative; color: #d1d5db; }
.apl-stars .apl-star.is-half::before { content: "★"; position: absolute; left: 0; width: 50%; overflow: hidden; color: var(--r-star); }
.apl-stars--sm .apl-star { font-size: 13px; }

/* Seller rating line (pricebox) */
.apl-seller-rating { display: flex; align-items: center; gap: 8px; margin: 4px 0 8px; font-size: 14px; }
.apl-seller-rating__num { font-weight: 800; }
.apl-seller-rating__count { color: var(--r-primary); font-weight: 600; }
.apl-seller-rating__none { color: var(--r-muted); font-size: 13px; }

/* Reviews section */
.apl-reviews { margin: 28px 0; padding: 20px; border: 1px solid var(--r-line); border-radius: 14px; background: #fff; }
.apl-reviews__title { margin: 0 0 12px; font-size: 18px; font-weight: 800; }
.apl-reviews__head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.apl-reviews__head strong { font-size: 20px; }
.apl-reviews__count { color: var(--r-muted); }
.apl-reviews__ai { background: linear-gradient(135deg, rgba(79,70,229,.08), rgba(14,165,233,.08)); border: 1px solid var(--r-line); border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.apl-reviews__empty, .apl-reviews__gate, .apl-reviews__done { color: var(--r-muted); }
.apl-reviews__ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #047857; padding: 10px 14px; border-radius: 10px; }

.apl-reviews__list { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 14px; }
.apl-review { border-top: 1px solid var(--r-line); padding-top: 14px; }
.apl-review__head { display: flex; align-items: center; gap: 10px; }
.apl-review__avatar { border-radius: 999px; }
.apl-review__author { display: block; font-weight: 700; font-size: 14px; }
.apl-review__date { margin-left: auto; font-size: 12px; color: var(--r-muted); }
.apl-review__text { margin: 8px 0 0; font-size: 14px; color: var(--apl-ink-2, #334155); }

/* Review form */
.apl-review-form { margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--r-line); display: grid; gap: 10px; }
.apl-review-form__label { font-weight: 700; font-size: 14px; }
.apl-review-form textarea { width: 100%; padding: 11px 14px; border: 1px solid var(--r-line); border-radius: 10px; font: inherit; resize: vertical; }
.apl-review-form .apl-btn { justify-self: start; }

/* Interactive star input (reverse row so :hover fills to the left) */
.apl-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; }
.apl-rate input { position: absolute; opacity: 0; width: 0; height: 0; }
.apl-rate label { font-size: 28px; color: #d1d5db; cursor: pointer; padding: 0 2px; transition: color .1s; }
.apl-rate input:checked ~ label,
.apl-rate label:hover,
.apl-rate label:hover ~ label { color: var(--r-star); }
