/* Review sources (Views/Shared/_Reviews.cshtml): a quiet row of three rating tiles, same language as the testimonials. */
.rv {
    --rv-ink: #0f1b2d; --rv-body: #46566b; --rv-muted: #6b7c91; --rv-line: rgba(20, 90, 140, .14); --rv-card: #ffffff;
    --rv-a: #0891b2; --rv-b: #2563eb; --rv-star: #e8a317;
    --rv-lift: 0 1px 2px rgba(15, 60, 100, .06), 0 14px 28px -20px rgba(15, 80, 130, .35);
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    padding: 0 0 clamp(36px, 5vw, 64px);
}
[data-bs-theme="dark"] .rv {
    --rv-ink: #eef7ff; --rv-body: #b4c6d9; --rv-muted: #8aa0b6; --rv-line: rgba(110, 190, 230, .16); --rv-card: rgba(9, 28, 50, .8);
    --rv-a: #2fb8d6; --rv-b: #3b82f6; --rv-star: #f3b94d;
    --rv-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 28px -20px rgba(0, 0, 0, .8);
}
.rv *, .rv *::before, .rv *::after { box-sizing: border-box; }
.rv-shell { width: min(1240px, 100% - 32px); margin-inline: auto; }
.rv-lead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin: 0 0 14px; font-size: .9375rem; color: var(--rv-body); }
.rv-lead b { color: var(--rv-ink); font-weight: 700; }
.rv-lead a { font-weight: 700; color: var(--rv-a); text-decoration: none; white-space: nowrap; }
.rv-lead a:hover { color: var(--rv-b); }
.rv-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rv-tile { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px 18px; min-width: 0; text-decoration: none; color: var(--rv-ink); background: var(--rv-card); border: 1px solid var(--rv-line); border-radius: 16px; box-shadow: var(--rv-lift); transition: transform .2s cubic-bezier(.2, .7, .2, 1), border-color .2s, box-shadow .2s; }
.rv-tile:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--rv-a) 38%, var(--rv-line)); color: var(--rv-ink); }
.rv-tile:active { transform: scale(.985); }
.rv-tile:focus-visible { outline: 2px solid var(--rv-a); outline-offset: 3px; }
.rv-ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--rv-line); border-radius: 12px; background: #fff; }
.rv-ico img, .rv-ico svg { width: 26px; height: 26px; object-fit: contain; display: block; }
.rv-txt { display: grid; gap: 4px; min-width: 0; flex: 1; }
.rv-txt b { font-size: .9375rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rv-stars { display: inline-flex; gap: 2px; color: var(--rv-star); font-size: .8125rem; line-height: 1; }
.rv-score { display: flex; align-items: baseline; gap: 3px; }
.rv-score b { font-size: 1.5rem; line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--rv-ink); }
.rv-score small { font-size: .75rem; color: var(--rv-muted); }
.rv-go { display: none; }
@media (max-width: 899.98px) { .rv-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
@media (prefers-reduced-motion: reduce) { .rv-tile { transition: none; } .rv-tile:hover { transform: none; } }

/* breathing room from the testimonials above, and a hairline so the two read as separate blocks */
.rv { padding-top: clamp(16px, 2.4vw, 28px); }
.rv-shell { padding-top: clamp(20px, 2.4vw, 28px); border-top: 1px solid var(--rv-line); }
