/* Card layout styling only (NO star styling here) */
.rv-aggcard{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding: 0;
  width:380px;
  max-width: 100%;
  box-shadow:0 6px 20px rgba(0,0,0,.06);
}
.rv-aggcard .rv-agg .rv-star {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    font-size: 15px;
}
.rv-aggcard__grid{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:25px 40px;
}
.rankScore-calc_exp {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid #ddd;
    font-size: 13px;
    font-weight: 500;
    color: #555;
}
.rv-aggcard__left{
  flex: 0 0 max-content;
}
.rv-aggcard__score {
    font-size: 50px;
    line-height: 1;
    font-weight: 700;
    margin: 0;
    color: #222;
}
.rv-aggcard__label{
  margin:6px 0;
  font-size:14px;
  color:#444;
  font-weight:600;
}
.rv-aggcard__count{
  margin-top:8px;
  font-size:13px;
  color:#666;
}
.rv-aggcard__right{
  flex:1;
  padding-top:6px;
}
.rv-aggcard__row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:7px 0;
}
.rv-aggcard__rowlabel{
  width:52px;
  font-size:13px;
  color:#444;
  white-space:nowrap;
}
.rv-aggcard__bar{
  flex:1;
  height:8px;
  background:#e7e7e7;
  border-radius:999px;
  overflow:hidden;
}
.rv-aggcard__fill{
  height:100%;
  background:#4a4afe;
  border-radius:999px;
  width:0%;
}
.rv-aggcard__fill.is-1{ background:#ff2f00; }
.rv-aggcard__fill.is-2{ background:#ddd033; }
.rv-aggcard__fill.is-3{ background:#9acd32; }
.rv-aggcard__fill.is-4{ background:#009463; }

.rv-aggcard__link {
  text-decoration:none;
  color:inherit;
  width: 100%;
  border-radius: 14px 14px 0 0;
}
.rv-aggcard__link:hover .rv-aggcard__grid {
      background:#b7e7a717
}

#dlg-review .cba-dialog__bd, #dlg-message .cba-dialog__bd{padding: 18px;overflow: auto;
    gap: 13px;height: calc(100vh - 169px); overflow-y: auto;}
    
/* 85-char indicator */
#review-ci { width:22px; height:22px; border-radius: 999px;}
#review-ci, #review_ci {
  --rvci-deg: 0deg;           
  --rvci-fill: #00dfb4;          
  --rvci-track: #eee;
  display: inline-block;
  vertical-align: middle;
  background:
    conic-gradient(var(--rvci-fill) var(--rvci-deg), var(--rvci-track) 0);
  /* hollow center to create a ring */
  -webkit-mask: radial-gradient(circle, transparent 46%, #000 0);
          mask: radial-gradient(circle, transparent 46%, #000 0%);
  transition: background .18s ease;
}
#review-cr-mm{font-size: 14px;min-height:22px;}
/* Top brand row */
.rv-head { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
#dlg-message .rv-head{margin-bottom: 0;}
.rv-logo { width:40px; height:40px; border-radius:999px; overflow:hidden; flex:0 0 40px; background:#eee; display:flex; align-items:center; justify-content:center; }
.rv-logo img { width:100%; height:100%; object-fit:cover; }
.rv-title { line-height:1.3; }
.rv-title .name { font-weight:700; }
.rv-title .sub { font-size:13px; color:#555; }
.rv-stars-inline {display: flex;}
.rv-stars-inline .rv-star {width: 27px;height: 27px;display: flex; flex: 0 0 27px;font-size: 18px;}
/* Rating row */
#dlg-review .rv-rating { margin: 8px 0 14px; }
.rv-stars{display: flex; align-items:center;margin-top:-4px;}
.rv-star { background:#e7e7e7; color:#fff; width:52px; height:52px; display:flex; align-items:center; justify-content:center; flex: 0 0 52px; font-size: 32px; line-height:1; transition: 200ms ease-in-out;border:1.5px solid #fff;}
.rv-star span {line-height: 1;margin-top: -2px;text-shadow:0 3px 23px #00000066;}
.rv-star.is-on,.rv-star.on,.rv-star.is-full {color:#fff; cursor:pointer; transition: 200ms ease-in-out;}
[data-rating="5"] .rv-star.on, [data-rating="5"] .rv-star.is-full, [data-rating="4.5"] .rv-star.is-full {
    background: #4a4afe;
}
[data-rating="4"] .rv-star.on, [data-rating="4"] .rv-star.is-full, [data-rating="3.5"] .rv-star.is-full {
    background: #009463;
}
[data-rating="3"] .rv-star.on, [data-rating="3"] .rv-star.is-full, [data-rating="2.5"] .rv-star.is-full {
    background: #9acd32;
}
[data-rating="2"] .rv-star.on, [data-rating="2"] .rv-star.is-full, [data-rating="1.5"] .rv-star.is-full{
    background: #ddd033;    
}
[data-rating="1"] .rv-star.on, [data-rating="1"] .rv-star.is-full {
    background: #ff2f00;    
}
[data-rating="5"] .rv-star.is-half, [data-rating="4.5"] .rv-star.is-half { background:linear-gradient(to right, #4a4afe 50%,#e7e7e7 50%);}
[data-rating="4"] .rv-star.is-half,[data-rating="3.5"] .rv-star.is-half { background:linear-gradient(to right, #009463 50%,#e7e7e7 50%);}
[data-rating="3"] .rv-star.is-half,[data-rating="2.5"] .rv-star.is-half { background:linear-gradient(to right, #9acd32 50%,#e7e7e7 50%);}
[data-rating="2"] .rv-star.is-half, [data-rating="1.5"] .rv-star.is-half { background:linear-gradient(to right, #ddd033 50%,#e7e7e7 50%);}
[data-rating="1"] .rv-star.is-half { background:linear-gradient(to right, #f79530 50%,#e7e7e7 50%);}
.m-title_wrapper {
    display: flex;
    align-items: start;
    gap: 3px 12px;
    flex-direction: column;
}
.meta-outer-wrap {display:flex;flex-direction: column;gap:10px;}
.rv-agg_link {text-decoration: none;}
.rv-agg {display: flex;align-items: center;gap: 3px 7px;flex-wrap:wrap;}
.rv-agg .rv-stars{margin-top:0}
.rv-agg .rv-star {width: 32px;height: 32px;flex: 0 0 32px;font-size: 20px;}
.rv-text,.rv-count{font-weight: 600;color:#000;}
.title-wrapper .rv-count{font-size:13px;font-weight:500;}
.left-flex{display: flex; gap:10px;}
#dlg-review .rv-star:focus-visible { outline: 2px solid #000; outline-offset: 2px; }

/* Textarea */
#dlg-review .rv-field { margin-top:10px; }
#dlg-review .rv-label { display:block; font-weight:700; margin: 20px 0 13px; }
#dlg-review .rv-textarea {width:100%; min-height:200px; resize:vertical; padding:12px; border:1px solid #ddd; border-radius:10px; font:inherit;
}
#dlg-review .rv-textarea:hover{border: 1px solid #28add5;}
#dlg-review .rv-textarea:focus-visible{border: 1px solid #28add5;outline: 2px solid #28add5!important;}
#dlg-review .rv-counter { text-align:right; font-size:12px; color:#666; margin-top:4px; }

/* Uploader */
.rv-uploader { margin-top:16px; }
.rv-drop {border:2px dashed #ddd; border-radius:12px; padding: 60px 18px; text-align:center; cursor: pointer;}
.rv-choose .btn { border:1px solid #000; background:#000; color:#fff; border-radius:10px; padding:10px 14px; cursor:pointer; margin: 20px auto; }
#dlg-review .rv-help { margin-top:8px; font-size:12px; color:#666; }
.rv-uploader [icon="addImage"]{display: flex;align-items: center;justify-content: center;margin: 0 0 16px;}
[icon="addImage"] svg{fill:#666}
/* Thumbs grid (optional, if you render previews) */
.rv-thumbs { display:grid; grid-template-columns:repeat(auto-fill, 64px); gap:8px; margin-top:12px; }
.rv-thumb { position:relative; width:64px; height:64px; border-radius:6px; overflow:hidden; background:#eee; }
.rv-thumb img, .rv-thumb video,.msg-thumb img, .msg-thumb video { width:100%; height:100%; object-fit:cover; }
.msg-thumb,.rv-thumb{position:relative;}
.msg-x,.rv-x {position: absolute;right: 0;top: 0;line-height: 1;border-radius: 999px;
    padding: 0;background: #00000066;border: none;color: #fff;width: 22px;
    height: 22px;}
.rv-remove {
  position:absolute; right:4px; top:4px; width:20px; height:20px; border-radius:999px; background:#000; color:#fff;
  border:0; font-size:12px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:.9;
}

/* Footer */
.cba-dialog__ft { padding: 14px 18px; border-top:1px solid #eee; }
.rv-submit { padding:12px 18px; border-radius:10px; border:1px solid #000; background:#000; color:#fff; font-weight:700; }
#dlg-review .rv-submit[disabled] { opacity:.6; cursor:not-allowed; }

/* Messages */
#dlg-review .rv-msg { margin-top:8px; font-size:14px; }
#dlg-review .rv-msg.ok { color:#0a7a2f; }
#dlg-review .rv-msg.err { color:#b00020; }

/* Single review display */

#biz-reviews .review-media--gallery .gallery img { cursor: default; }
#biz-review-aggr .rv-aggcard {width:100%;margin-bottom:20px;}
#biz-reviews .review-media {margin-top: 10px;}
#biz-reviews .review-body {line-height: 1.6;margin-top: 10px;overflow-wrap: anywhere;word-break: break-word;}
#biz-reviews .review-author{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;}
#biz-reviews .review-author-name{font-weight:600;white-space:nowrap}
#biz-reviews .review-hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#biz-reviews .review-hd .review-date{font-size: 14px;}
#biz-reviews .reviews-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:30px;}
#biz-reviews .rv-subset{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
#biz-reviews .avatar.avatar--initials {display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:#000;color:#fff;}
#biz-reviews .profile_img_wrap {display:flex;border-radius:999px;overflow:hidden;}
.review-author-avatar {position:relative;}
.review-author-avatar:before {content:'';display:block;position:absolute;width:100%;height:100%;left:0;top:0;z-index:1;}
/*#biz-reviews .review-status--pending{*/
/*  display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#fff3cd;border:1px solid #ffe69c;color:#8a6d3b;*/
/*}*/
#biz-reviews .rv-pill, #biz-reviews .review-status{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;border:1px solid transparent;line-height:1;color:#444;gap:7px;}
#biz-reviews .rv-pill svg {width: 13px; height:13px;}
#biz-reviews .rv-pill svg path {fill: #444}
#biz-reviews .rv-pill:before, #biz-reviews .review-status:before {content: '•';
    margin: 0 5px 0 -5px;font-size: 12px;}
/*#biz-reviews .rv-pill--update{background:#e7f1ff;border-color:#b6d4fe;color:#084298;}*/
/*#biz-reviews .rv-pill--previous{background:#f1f3f5;border-color:#dee2e6;color:#495057;}*/
#biz-reviews .rv-update-btn{margin-left:auto;border:1px solid #ccc;background:#fff;padding:6px 10px;border-radius:8px;cursor:pointer;line-height:1;font-size: 14px; font-weight:600;}
#biz-reviews .rv-update-btn:hover{background:#f8f9fa}
#biz-reviews .rv-subset li:not(:first-child) {padding-left: 25px;position: relative;}
#biz-reviews .rv-subset li:not(:first-child):before {content: '';width: 4px;
    height:100%;background: #ddd;display: block;position:absolute;left: 0;}
#biz-reviews .rv-subset li:not(:first-child) .review-author {display: none;}

.rvAll { width:100%; }
.rvAll-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px 0; flex-direction:column;}
.rvAll-title{ font-size:26px; font-weight:700; margin:0; }
.rvAll-nav{ display:flex; gap:10px; align-items:center; }
.rvAll-btn{
  width:34px; height:34px; border-radius:999px;
  padding: 0;
  display: grid;
  place-content: center;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  background-color:#fff;
  cursor:pointer;
}
.rvAll-btn svg{width: 9px;height:9px; transform: rotate(-90deg);}
.rvAll-btn[aria-label="Previous"] svg{transform: rotate(90deg);}
.rvAll-btn:hover:not([disabled]){background: #4a4aff1a; border-color: #4a4aff1a;}
.rvAll-btn[disabled]{ opacity:.35; cursor:not-allowed; }

/* The "2-row horizontal slider" trick */
.rvAll-viewport{
  position:relative;
  overflow:hidden;
  border-radius:16px;
}
.rvAll-track{
  display:grid;
  grid-auto-flow:column;         /* columns scroll horizontally */
  grid-template-rows:repeat(2, 1fr); /* 2 rows like screenshot */
  gap:18px;
  padding:2px;
  overflow:auto;
  scroll-behavior:smooth;
  scrollbar-width:none; /* firefox */
}
.rvAll-track::-webkit-scrollbar{ display:none; } /* chrome */
.rvAll-card{
  width:min(331px, 85vw);
  min-height:170px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  background:#fff;
  padding:16px 16px 12px 16px;
  display:flex; flex-direction:column;
}
.rvAll-cardTop{ display:flex; gap:10px; align-items:center; }
.rvAll-ava{
  width:42px;
  height:42px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.avatar.avatar--initials {
    justify-content: center;
    align-items: center;
    display: flex;
    color: #fff;
}
.rvAll-ava img{ width:100%; height:100%; object-fit:cover; display:block; }
.rvAll-name {font-weight: 600;line-height: 1.2;font-size: 15px;margin-bottom: 4px;}
.rvAll-stars{ display:flex; gap:3px; margin-top:4px; }
.rvAll-star{ font-size:14px; line-height:1; opacity:.25; }
.rvAll-star.on{ opacity:1; }

.rvAll-body{
  margin:12px 0 12px 0;
  color:rgba(0,0,0,.85);
  font-size:14px;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.rvAll-foot{
  margin-top:auto;
  display:flex;
  gap:10px;
  align-items:center;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,.10);
}
.rvAll-bizLogo{
  width:28px; height:28px; border-radius:8px;
  background:rgba(0,0,0,.06);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  flex:0 0 28px;
  font-weight:700;
  font-size:12px;
}
.see-more-on-clipiroo {text-align:center;font-weight:600;font-size: 17px;display:block;margin:auto; padding: 20px;color:#4a4afe;text-decoration:none;}
.see-more-on-clipiroo:hover {text-decoration:underline;}
a.rvAll-card {text-decoration: none;color:#000;}
.rvAll-bizMeta{ min-width:0; }
.rvAll-bizName{ font-weight:700; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rvAll-bizUrl{ font-size:12px; color:rgba(0,0,0,.55); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rvAll-bizLink{ text-decoration:none; color:inherit; }
.rvAll-bizLink:hover .rvAll-bizName{ text-decoration:underline; }
.rv-stars-inline .rv-star {
    width: 22px;
    height: 22px;
    display: flex;
    flex: 0 0 22px;
    font-size: 16px;
    line-height: 0;
}

/* responsive: show smaller cards on narrow screens */
@media (max-width: 900px){
  .rvAll-title{ font-size:24px; }
  .rvAll-card{ width:min(320px, 86vw); }
}