.eme-reviews{
  --bg:#fff;
  --text:#0f172a;
  background:transparent;
  color:var(--text);
  padding:22px 0 28px;
  isolation:isolate;
}
.eme-reviews__head{
  max-width:var(--rv-max, 1200px);
  margin:0 auto 14px;
  padding:0 var(--rv-pad, 24px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
.eme-reviews__head h2{
  margin:0;
  font:800 clamp(1.2rem,2vw,1.85rem)/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.eme-reviews__sub{
  margin:8px 0 0;
  color:#475569;
  font:500 14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

.eme-reviews__agg{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(15,23,42,.04);
  border:1px solid rgba(15,23,42,.06);
  white-space:nowrap;
}
.eme-reviews__agg-stars{ display:flex; gap:2px; }
.eme-reviews__agg-stars .eme-star{
  font-size:14px;
  color:#f59e0b; /* gold */
}
.eme-reviews__agg-meta{
  display:flex; align-items:baseline; gap:6px;
}
.eme-reviews__avg{ font:900 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
.eme-reviews__count{ color:#64748b; font:700 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }

/* ===== Carousel layout ===== */
.eme-reviews__viewport{
  position:relative;
  max-width:var(--rv-max, 1200px);
  margin:0 auto;
  padding:0 var(--rv-pad, 24px);
}
.eme-reviews__track{
  display:flex;
  gap:var(--rv-gap, 18px);
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:2px 0;
}
.eme-reviews__track::-webkit-scrollbar{ display:none; }

.eme-review{
  flex:0 0 calc((100% - (var(--rv-gap, 18px) * (var(--rv-per, 3) - 1))) / var(--rv-per, 3));
  scroll-snap-align:start;
  background:var(--bg);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--rv-radius, 18px);
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:210px;
}

.eme-reviews[data-mode="grid"] .eme-review{
  min-height:auto;
}

/* top row */
.eme-review__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.eme-review__who{ display:flex; align-items:center; gap:10px; min-width:0; }
.eme-review__avatar{
  width:42px; height:42px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.08);
  display:grid; place-items:center;
  flex:0 0 auto;
}
.eme-review__avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.eme-review__avatar span{ font:900 16px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:#0f172a; }

.eme-review__meta{ min-width:0; }
.eme-review__name{
  font:800 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#0f172a;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.eme-review__date{
  margin-top:3px;
  font:700 12px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#64748b;
}

.eme-review__stars{ display:flex; gap:2px; margin-top:2px; flex:0 0 auto; }
.eme-review__stars .eme-star{ font-size:14px; }
.eme-star.is-on{ color:#f59e0b; }
.eme-star.is-off{ color:rgba(148,163,184,.5); }

/* text */
.eme-review__text{
  color:#0f172a;
  font:500 14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.eme-review__text p{ margin:0; }
.eme-review__text p + p{ margin-top:8px; }

.eme-review__foot{ margin-top:auto; }
.eme-review__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:800 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#ff6247;
  text-decoration:none;
}
.eme-review__link:hover{ text-decoration:underline; }

/* arrows */
.eme-reviews__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px; height:42px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:22px;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.14);
  z-index:10;
  transition:transform .18s ease, background .18s ease, opacity .18s ease;
}
.eme-reviews__arrow:hover{ transform:translateY(-50%) scale(1.04); background:#fff; }
.eme-reviews__arrow.prev{ left: calc(var(--rv-pad, 24px) + 2px); }
.eme-reviews__arrow.next{ right: calc(var(--rv-pad, 24px) + 2px); }
.eme-reviews__arrow[disabled]{ opacity:.25; pointer-events:none; }

/* ===== Grid mode ===== */
.eme-reviews__grid{
  max-width:var(--rv-max, 1200px);
  margin:0 auto;
  padding:0 var(--rv-pad, 24px);
  display:grid;
  grid-template-columns: repeat(var(--rv-per, 3), minmax(0, 1fr));
  gap:var(--rv-gap, 18px);
}

/* Mobile */
@media (max-width: 768px){
  .eme-reviews__head{
    align-items:flex-start;
    flex-direction:column;
  }
  .eme-reviews__track{
    gap:16px;
    padding-left: calc((100% - var(--rv-mob, 88vw)) / 2);
    padding-right: calc((100% - var(--rv-mob, 88vw)) / 2);
  }
  .eme-review{ flex-basis: var(--rv-mob, 88vw); scroll-snap-align:center; }
  .eme-reviews__arrow{
    background:transparent; border:none; box-shadow:none;
    width:auto; height:auto; font-size:34px;
  }
  .eme-reviews__arrow.prev{ left: 4vw; }
  .eme-reviews__arrow.next{ right: 4vw; }

  .eme-reviews__grid{
    grid-template-columns: 1fr;
  }
}

.eme-reviews__note{margin:8px 0 0;color:#64748b;font:600 12px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;max-width:68ch}
