/* Guest reviews — shared by the homepage section and /reviews/. Uses the site's own
   design tokens (--navy-*, --gold, --serif, --radius, --line…); the page that links
   this file defines them. Logical properties throughout so Arabic (RTL) mirrors. */
.reviews-summary{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 18px; margin:0 auto 38px; text-align:center;}
.reviews-summary[hidden]{display:none;}
.reviews-avg{font-family:var(--serif); font-size:clamp(40px,6vw,54px); line-height:1; color:var(--gold);}
.reviews-summary-meta{display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:start;}
.reviews-count{font-size:14px; color:var(--ink-300); letter-spacing:.04em;}
.rv-stars{display:inline-flex; gap:3px; color:var(--gold); font-size:18px; line-height:1; direction:ltr; unicode-bidi:isolate;}
.rv-star{opacity:1;} .rv-star.off{opacity:.28;}

.reviews-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch;}
.reviews-grid:empty{display:none;}
.review-card{display:flex; flex-direction:column; gap:14px; min-width:0; background:var(--navy-950,#050b12); border:1px solid var(--line); border-radius:var(--radius,16px); padding:28px 26px;}
.review-card h3{font-family:var(--serif); font-size:19px; line-height:1.3; color:var(--ink-100); margin:0; overflow-wrap:anywhere;}
.review-text{color:var(--ink-200,#d4dde4); font-size:15px; line-height:1.65; margin:0; white-space:pre-line; overflow-wrap:anywhere;}
.reviews-grid.clamp .review-text{display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; overflow:hidden;}
.review-meta{margin-top:auto; padding-top:14px; border-top:1px solid var(--line-soft,rgba(255,255,255,.06)); display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--ink-400);}
.review-name{color:var(--ink-100); font-size:14.5px; font-weight:500;}
.review-exp{overflow-wrap:anywhere;}
.review-verified{display:inline-flex; align-items:center; gap:6px; color:var(--aurora-green,#3fe8ac); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;}
.review-verified::before{content:"✓"; font-size:12px;}
html:is([lang="ar"],[lang="zh"],[lang="ja"],[lang="ko"]) .review-verified{letter-spacing:0; text-transform:none;}
.review-response{background:rgba(211,172,104,.07); border-inline-start:2px solid var(--gold); border-radius:6px; padding:12px 14px; font-size:13.5px; color:var(--ink-300); line-height:1.6;}
.review-response strong{display:block; color:var(--gold); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; font-weight:500;}
html:is([lang="ar"],[lang="zh"],[lang="ja"],[lang="ko"]) .review-response strong{letter-spacing:0; text-transform:none;}
.review-response p{margin:0; white-space:pre-line; overflow-wrap:anywhere;}

.reviews-empty{max-width:560px; margin:0 auto; text-align:center; color:var(--ink-300); font-size:15.5px; padding:26px 22px; border:1px dashed var(--line); border-radius:var(--radius,16px);}
.reviews-empty[hidden]{display:none;}
.reviews-cta{display:flex; justify-content:center; margin-top:36px;}
.reviews-cta[hidden]{display:none;}

@media (max-width:980px){ .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){
  .reviews-grid{grid-template-columns:minmax(0,1fr); gap:16px;}
  .review-card{padding:24px 20px;}
  .reviews-summary{flex-direction:column; gap:8px;}
  .reviews-summary-meta{align-items:center;}
}
