.reviews-root { --review-border:#e7e7e7; --review-muted:#6c757d; --review-surface:#fff; --review-soft:#f7f8fa; --review-text:#212529; color:var(--review-text); }
.reviews-root[data-theme="dark"] { --review-border:#3d4248; --review-muted:#adb5bd; --review-surface:#1f2328; --review-soft:#2b3036; --review-text:#f1f3f5; }
.reviews-root[data-theme="dark"] .form-control,.reviews-root[data-theme="dark"] .form-select { background:#16191d; border-color:var(--review-border); color:var(--review-text); }
.reviews-rating-badge { color:inherit; display:inline-flex; gap:.35rem; align-items:center; font-size:.875rem; text-decoration:none; }
/* 评分徽章与价格同行：优惠券区(.coupon-entry)占满整行时，把徽章提前到价格行 */
.price-wrap { flex-wrap:wrap; }
.price-wrap .reviews-rating-badge { order:1; align-self:flex-end; }
.price-wrap .coupon-entry { order:2; }
.reviews-stars { color:#f5a623; letter-spacing:.08em; white-space:nowrap; }
.reviews-stars-large { font-size:1.3rem; }
.reviews-summary-card { background:var(--review-soft); border-radius:.65rem; display:flex; align-items:center; gap:1rem; padding:1.1rem 1.25rem; }
.reviews-average { color:#f5a623; font-size:2.35rem; font-weight:700; line-height:1; }
.reviews-muted { color:var(--review-muted); font-size:.875rem; }
.reviews-login-hint { background:var(--review-soft); border-radius:.5rem; padding:1rem; }
.reviews-login-hint a { margin-left:.35rem; }
.reviews-form { border:1px solid var(--review-border); border-radius:.65rem; background:var(--review-surface); padding:1.25rem; }
.reviews-rating-input { display:inline-flex; direction:rtl; }
.reviews-rating-input input { display:none; }
.reviews-rating-input label { color:#c8cdd2; cursor:pointer; font-size:2rem; line-height:1; }
.reviews-rating-input label:hover,.reviews-rating-input label:hover~label,.reviews-rating-input input:checked~label { color:#f5a623; }
.reviews-media-controls { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; }
.reviews-upload-preview,.review-media { display:flex; flex-wrap:wrap; gap:.65rem; }
.reviews-upload-preview img,.review-media-image img,.review-media-video { border-radius:.4rem; height:84px; object-fit:cover; width:84px; }
.review-media-image,.review-media-video { background:var(--review-soft); border:0; overflow:hidden; padding:0; position:relative; }
.review-media-video video { height:100%; object-fit:cover; width:100%; }
.review-media-video span { align-items:center; color:#fff; display:flex; font-size:2rem; inset:0; justify-content:center; position:absolute; text-shadow:0 1px 3px #000; }
.review-item { border-bottom:1px solid var(--review-border); padding:1.25rem 0; }
.review-item:last-child { border-bottom:0; }
.review-content { line-height:1.65; white-space:pre-wrap; }
.review-reply { background:var(--review-soft); border-left:3px solid #f5a623; border-radius:.25rem; padding:.75rem 1rem; }
.review-product-link { display:block; font-weight:600; margin-bottom:.8rem; text-decoration:none; }
.reviews-lightbox { align-items:center; background:rgba(0,0,0,.82); display:flex; inset:0; justify-content:center; padding:1.5rem; position:fixed; z-index:2000; }
.reviews-lightbox [data-review-close] { background:transparent; border:0; color:#fff; font-size:2.5rem; line-height:1; position:absolute; right:1rem; top:.7rem; }
.reviews-lightbox img,.reviews-lightbox video { max-height:90vh; max-width:95vw; object-fit:contain; }
@media (max-width:575.98px) { .reviews-summary-card { align-items:flex-start; flex-wrap:wrap; } .reviews-summary-card .btn { margin-left:0 !important; } .reviews-form { padding:1rem; } }
