/* ============================================================
   Reviews.css — review widget (core/booking/ReviewWidget.php)
   Used on the homepage, booking page, service pages and /reviews/.
   Relies on Master-Layout.css tokens and Home.css section styles.
   ============================================================ */

.rv-stars{display:inline-flex;gap:2px;color:var(--accent);font-size:.95rem;line-height:1;}
.rv-stars-lg{font-size:1.25rem;gap:3px;}
.rv-stars .fa-regular{color:#cfd3da;}

.rv-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.rv-summary-text{color:var(--ink-soft);font-size:.95rem;}
.rv-summary-text strong{color:var(--ink);font-size:1.05rem;}
.rv-head .rv-summary{justify-content:center;margin-top:14px;}

.rv-eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 8px;}

/* ---------- card ---------- */
.rv-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;
  display:flex;flex-direction:column;gap:10px;height:100%;box-sizing:border-box;
}
.rv-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.rv-card-top time{font-size:.8rem;color:var(--muted);}
.rv-headline{font-family:var(--font-display);font-size:1.08rem;font-weight:600;color:var(--ink);margin:0;}
.rv-body{margin:0;flex-grow:1;}
.rv-body p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:.96rem;}
.rv-more{font-size:.85rem;font-weight:700;color:var(--brand);text-decoration:none;}
.rv-more:hover{text-decoration:underline;}
.rv-who{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;color:var(--ink);font-size:.92rem;padding-top:10px;border-top:1px solid var(--line);}
.rv-company{font-weight:400;color:var(--muted);}
.rv-badge{font-size:.72rem;font-weight:700;color:var(--muted);background:var(--paper);border-radius:999px;padding:3px 9px;white-space:nowrap;}
.rv-badge-verified{color:#1d5a32;background:#e8f4ec;}
.rv-reply{background:var(--paper);border-left:3px solid var(--brand);border-radius:0 10px 10px 0;padding:12px 14px;font-size:.92rem;}
.rv-reply strong{color:var(--brand);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;}
.rv-reply p{margin:6px 0 0;color:var(--ink-soft);line-height:1.55;}

/* ---------- cards layout (homepage / service pages) ---------- */
.rv-cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.rv-cards-foot{text-align:center;margin:24px 0 0;}
.rv-cards-foot a{font-weight:700;color:var(--brand);}

/* ---------- compact (booking page sidebar) ---------- */
.rv-compact{border-top:1px solid var(--line);padding-top:22px;}
@media (max-width:979px){ .rv-compact{border-top:none;padding-top:0;} }
.rv-compact .rv-summary{margin-bottom:14px;}
.rv-compact-list{display:grid;gap:12px;}
.rv-compact .rv-card{padding:16px 16px 12px;gap:8px;}
.rv-compact .rv-body p{font-size:.92rem;}
.rv-all{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-weight:700;color:var(--brand);text-decoration:none;font-size:.92rem;}
.rv-all:hover{color:var(--accent-ink);text-decoration:underline;}
@media (max-width:979px){ .rv-compact-list .rv-card:nth-child(n+2){display:none;} }

/* ---------- full (/reviews/) ---------- */
.rv-full-head{
  display:grid;gap:24px;grid-template-columns:1fr;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin:0 0 28px;
}
@media (min-width:760px){ .rv-full-head{grid-template-columns:auto 1fr;gap:48px;} }
.rv-bars{display:grid;gap:6px;max-width:420px;}
.rv-bar-row{display:grid;grid-template-columns:52px 1fr 28px;gap:10px;align-items:center;font-size:.85rem;color:var(--ink-soft);}
.rv-bar{height:8px;border-radius:999px;background:var(--paper);overflow:hidden;}
.rv-bar span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.rv-full-list{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.rv-full-list > div{scroll-margin-top:120px;}
.rv-full-list > div:target .rv-card{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
