/* Reviews add-on. Uses each site's theme colours. */
.rv-box, .rv-card { background: #fff; border: 1px solid var(--k-line, #e3dfd8); border-radius: var(--dm-radius, 10px); }
.rv-box { padding: 1.75rem; }
.rv-card { display: flex; flex-direction: column; margin: 0; padding: 1.5rem; }
.rv-stars { color: #d5dbe1; white-space: nowrap; letter-spacing: 2px; font-size: 1.15rem; line-height: 1; }
.rv-stars .is-on { color: #e8a317; }
.rv-card .rv-stars { margin-bottom: .75rem; }
.rv-card blockquote { color: var(--k-ink, #1c1917); line-height: 1.65; flex-grow: 1; margin: 0 0 1rem; white-space: pre-line; }
.rv-card figcaption strong { display: block; color: var(--k-ink, #1c1917); }
.rv-card figcaption span { display: block; color: var(--k-muted, #5f5a54); font-size: .92rem; }
.rv-card figcaption small { display: inline-block; margin-top: .45rem; padding: .1rem .6rem; border-radius: 999px; background: var(--k-surface, #f4efe8); color: var(--k-primary, #1e4d7b); font-weight: 600; font-size: .78rem; }
.rv-card figcaption time { display: block; margin-top: .35rem; color: var(--k-muted, #5f5a54); font-size: .8rem; }
.rv-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.rv-head p { margin: 0; }
.rv-summary { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .25rem 0 0; }
.rv-note { margin: 1.5rem 0 0; color: var(--k-muted, #5f5a54); font-size: .9rem; }
.rv-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rv-star-input { display: inline-flex; flex-direction: row-reverse; gap: .25rem; }
.rv-star-input input { position: absolute; opacity: 0; pointer-events: none; }
.rv-star-input label { font-size: 2.2rem; line-height: 1; color: #cfd6de; cursor: pointer; transition: color .1s ease; }
.rv-star-input label:hover, .rv-star-input label:hover ~ label, .rv-star-input input:checked ~ label { color: #e8a317; }
.rv-star-input input:focus-visible + label { outline: 3px solid #e8a317; outline-offset: 2px; border-radius: 4px; }
.rv-thanks-icon { font-size: 3rem; color: var(--k-accent, #c45c26); margin-bottom: 1rem; }
@media (max-width: 575.98px) { .rv-box { padding: 1.25rem; } }
