/* Verified-buyer reviews: product pages, homepage strip, reviews.html, review.html */
.rv-stars { color: #4b5d73; letter-spacing: .08em; white-space: nowrap; font-size: 1.05em; line-height: 1; }
.rv-stars .rv-on { color: var(--amber, #ffb02e); }
.rv-panel { padding: 28px; border: 1px solid var(--line, rgba(74,153,232,.32)); border-radius: var(--radius, 20px); background: linear-gradient(150deg, rgba(8,25,39,.96), rgba(4,12,20,.96)); box-shadow: var(--shadow, 0 30px 80px rgba(0,0,0,.42)); }
.rv-panel h2 { margin: 0 0 6px; font-size: 1.75rem; }
.rv-lede { margin: 0 0 22px; color: var(--muted, #a8b4c3); }
.rv-summary { display: grid; grid-template-columns: auto minmax(180px, 320px); gap: 10px 36px; align-items: center; margin-bottom: 26px; padding-bottom: 24px; border-bottom: 1px solid rgba(74,153,232,.2); }
.rv-avg { display: grid; gap: 4px; justify-items: start; }
.rv-avg-num { font-size: 3.2rem; font-weight: 800; line-height: 1; }
.rv-avg .rv-stars { font-size: 1.35rem; }
.rv-count { color: var(--muted, #a8b4c3); font-size: .92rem; }
.rv-bars { display: grid; gap: 5px; font-size: .84rem; color: var(--muted, #a8b4c3); }
.rv-bar-row { display: grid; grid-template-columns: 26px 1fr 28px; gap: 8px; align-items: center; }
.rv-bar { height: 7px; border-radius: 99px; background: rgba(255,255,255,.1); overflow: hidden; }
.rv-bar > span { display: block; height: 100%; background: var(--amber, #ffb02e); border-radius: 99px; }
.rv-list { display: grid; gap: 0; }
.rv-item { padding: 20px 0; border-top: 1px solid rgba(74,153,232,.16); }
.rv-item:first-child { border-top: 0; padding-top: 0; }
.rv-item-head { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-bottom: 6px; }
.rv-title { margin: 0 0 6px; font-weight: 700; font-size: 1.04rem; color: var(--text, #f5f8fc); }
.rv-body { margin: 0 0 10px; white-space: pre-line; color: #d6dfea; }
.rv-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .86rem; color: var(--muted, #a8b4c3); }
.rv-verified { color: #79f032; font-weight: 700; }
.rv-product { color: #cfe3ff; text-decoration: underline; text-underline-offset: 3px; }
.rv-reply { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--blue, #2e8cff); background: rgba(46,140,255,.08); border-radius: 0 10px 10px 0; font-size: .94rem; color: #d6dfea; }
.rv-reply strong { color: #fff; }
.rv-more { margin-top: 18px; }
.rv-note { margin: 22px 0 0; font-size: .84rem; color: var(--muted, #a8b4c3); }
.rv-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 22px; }
.rv-filter select { padding: 10px 12px; border: 1px solid var(--line, rgba(74,153,232,.32)); border-radius: 8px; background: #030912; color: #fff; font: inherit; }
.rv-empty { margin: 0; color: var(--muted, #a8b4c3); }
.home-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 8px; }
.home-reviews-grid .rv-item { padding: 18px; border: 1px solid rgba(74,153,232,.22); border-radius: 14px; background: rgba(4,12,20,.6); }
.home-reviews-grid .rv-item:first-child { padding-top: 18px; border-top: 1px solid rgba(74,153,232,.22); }
.home-reviews-head { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; margin-bottom: 12px; }
.home-reviews-head h2 { margin: 0; }

/* buyer form (review.html) */
.rf-card { max-width: 760px; margin: 0 auto; }
.rf-guidance { margin: 0 0 22px; padding: 14px 16px; border: 1px solid rgba(46,140,255,.35); border-radius: 12px; background: rgba(46,140,255,.08); font-size: .94rem; color: #d6dfea; }
.rf-item { padding: 22px 0; border-top: 1px solid rgba(74,153,232,.2); display: grid; gap: 14px; }
.rf-item:first-of-type { border-top: 0; padding-top: 4px; }
.rf-item h3 { margin: 0; font-size: 1.15rem; }
.rf-item.is-done { opacity: .75; }
.rf-rating { display: inline-flex; gap: 2px; border: 0; padding: 0; margin: 0; }
.rf-rating legend { padding: 0; margin: 0 0 6px; font-size: .9rem; color: var(--muted, #a8b4c3); }
.rf-rating input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rf-rating label { font-size: 2.3rem; line-height: 1; cursor: pointer; color: #4b5d73; padding: 2px 3px; transition: color .12s ease, transform .12s ease; }
.rf-rating label.is-on, .rf-rating label.is-hover { color: var(--amber, #ffb02e); }
.rf-rating label:hover { transform: scale(1.08); }
.rf-rating input:focus-visible + label { outline: 2px solid #fff; outline-offset: 2px; border-radius: 6px; }
.rf-field { display: grid; gap: 6px; }
.rf-field > span { font-size: .9rem; color: var(--muted, #a8b4c3); }
.rf-field input, .rf-field textarea { width: 100%; padding: 12px; border: 1px solid var(--line, rgba(74,153,232,.32)); border-radius: 9px; background: #030912; color: #fff; font: inherit; }
.rf-field textarea { min-height: 120px; resize: vertical; }
.rf-counter { justify-self: end; font-size: .78rem; color: var(--muted, #a8b4c3); }
.rf-actions { margin-top: 10px; display: grid; gap: 12px; }
.rf-status { min-height: 1.4em; margin: 0; font-size: .95rem; }
.rf-status.is-error { color: #ff8b8f; }
.rf-thanks { text-align: center; padding: 20px 0 6px; }
.rf-thanks h2 { margin-bottom: 8px; }
@media (max-width: 640px) {
  .rv-panel { padding: 20px; }
  .rv-summary { grid-template-columns: 1fr; }
  .rf-rating label { font-size: 2.6rem; }
}
.product-reviews-section { padding: 30px 0 0; }
.product-reviews-section[hidden], .home-reviews[hidden] { display: none; }
.home-reviews { padding: 56px 0 0; }
