/* /css/reviews.css — рейтинги и ревюта */
.rv-stars { position: relative; display: inline-block; color: #e2e8f0; letter-spacing: 2px; line-height: 1; white-space: nowrap; }
.rv-stars::before { content: "★★★★★"; }
.rv-stars > i { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: #f97316; font-style: normal; }
.rv-stars > i::before { content: "★★★★★"; }

/* ---- Кратко резюме под заглавието ---- */
.rv-mini { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; font-family: "DM Sans", sans-serif; font-size: .88rem; color: #64748b; text-decoration: none; }
.rv-mini .rv-stars { font-size: 1.05rem; }
.rv-mini strong { color: #1a3a5c; }
.rv-mini:hover { color: #f97316; }

/* ---- Секция ---- */
.rv-section { padding: 56px 0 72px; background: #f8fafc; border-top: 1px solid #e2e8f0; color: #0f172a; scroll-margin-top: 90px; }
.rv-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.rv-h2 { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.9rem; text-transform: uppercase; color: #1a3a5c; border-bottom: 2px solid #f97316; display: inline-block; padding-bottom: 6px; margin: 0 0 28px; }

.rv-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: start; }

.rv-summary { background: #fff; border: 1px solid #e2e8f0; padding: 22px 22px 18px; }
.rv-avg { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 3.4rem; line-height: 1; color: #1a3a5c; }
.rv-avg small { font-size: 1.1rem; color: #94a3b8; font-weight: 600; }
.rv-summary .rv-stars { font-size: 1.3rem; margin: 6px 0 4px; }
.rv-count { font-family: "DM Sans", sans-serif; font-size: .85rem; color: #64748b; margin-bottom: 16px; }
.rv-bar-row { display: grid; grid-template-columns: 30px 1fr 30px; align-items: center; gap: 8px; font-family: "DM Sans", sans-serif; font-size: .78rem; color: #64748b; margin: 5px 0; }
.rv-bar { height: 8px; background: #e2e8f0; position: relative; }
.rv-bar > span { position: absolute; left: 0; top: 0; bottom: 0; background: #f97316; }
.rv-bar-row b { text-align: right; font-weight: 500; }

.rv-list { display: flex; flex-direction: column; gap: 18px; }
.rv-item { background: #fff; border: 1px solid #e2e8f0; padding: 20px 22px; }
.rv-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 8px; }
.rv-item .rv-stars { font-size: 1rem; }
.rv-title { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.15rem; color: #1a3a5c; margin: 0 0 6px; }
.rv-text { font-family: "DM Sans", sans-serif; font-size: .94rem; line-height: 1.7; color: #334155; margin: 0 0 12px; white-space: pre-line; }
.rv-meta { font-family: "DM Sans", sans-serif; font-size: .78rem; color: #94a3b8; }
.rv-meta strong { color: #475569; font-weight: 600; }
.rv-badge { display: inline-flex; align-items: center; gap: 4px; font-family: "DM Sans", sans-serif; font-size: .72rem; font-weight: 600; color: #15803d; background: #f0fdf4; border: 1px solid #bbf7d0; padding: 2px 8px; }
.rv-reply { margin-top: 14px; background: #f8fafc; border-left: 3px solid #1a3a5c; padding: 12px 16px; font-family: "DM Sans", sans-serif; font-size: .88rem; color: #334155; line-height: 1.6; }
.rv-reply strong { display: block; color: #1a3a5c; margin-bottom: 2px; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.rv-empty { background: #fff; border: 1px dashed #cbd5e1; padding: 28px; text-align: center; font-family: "DM Sans", sans-serif; color: #64748b; }
.rv-more { align-self: flex-start; font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .85rem; color: #1a3a5c; border: 1px solid #1a3a5c; padding: .6rem 1.2rem; text-decoration: none; }
.rv-more:hover { background: #1a3a5c; color: #fff; }

/* ---- Форма ---- */
.rv-form { margin-top: 28px; background: #fff; border: 1px solid #e2e8f0; border-top: 3px solid #f97316; padding: 24px 24px 20px; }
.rv-form h3 { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.3rem; text-transform: uppercase; color: #1a3a5c; margin: 0 0 16px; }
.rv-field { margin-bottom: 16px; }
.rv-field label { display: block; font-family: "DM Sans", sans-serif; font-size: .82rem; color: #64748b; margin-bottom: 6px; }
.rv-input, .rv-textarea { display: block; width: 100%; box-sizing: border-box; border: 1px solid #e2e8f0; background: #fff; font-family: "DM Sans", sans-serif; font-size: .94rem; color: #0f172a; padding: 0 12px; height: 44px; }
.rv-textarea { height: auto; min-height: 120px; padding: 10px 12px; resize: vertical; }
.rv-input:focus, .rv-textarea:focus { outline: none; border-color: #f97316; }
.rv-pick { display: inline-flex; gap: 4px; }
.rv-pick button { background: none; border: none; cursor: pointer; font-size: 2rem; line-height: 1; color: #e2e8f0; padding: 0 2px; transition: color .12s, transform .12s; }
.rv-pick button.is-on { color: #f97316; }
.rv-pick button:hover { transform: scale(1.12); }
.rv-submit { display: inline-flex; align-items: center; justify-content: center; background: #f97316; color: #fff; border: none; cursor: pointer; font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .9rem; padding: .85rem 1.8rem; }
.rv-submit:hover { background: #1a3a5c; }
.rv-note { font-family: "DM Sans", sans-serif; font-size: .8rem; color: #94a3b8; margin-top: 10px; }
.rv-msg { font-family: "DM Sans", sans-serif; font-size: .9rem; padding: 12px 16px; margin-top: 24px; border: 1px solid #e2e8f0; background: #fff; color: #334155; }
.rv-msg a { color: #f97316; font-weight: 600; }
.rv-msg-ok { border-color: #bbf7d0; background: #f0fdf4; color: #14532d; }
.rv-msg-err { border-color: #fecaca; background: #fef2f2; color: #dc2626; }

@media (max-width: 900px) {
    .rv-layout { grid-template-columns: 1fr; gap: 28px; }
}
