.pup-reviews{margin:20px 0}
.pup-reviews__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 28px rgba(0,0,0,.06)
}

.pup-reviews__header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px
}

.pup-reviews__title h3{margin:0 0 6px 0;font-size:20px;line-height:1.2}

.pup-reviews__global{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pup-reviews__avg{display:flex;align-items:baseline;gap:2px;font-weight:700}
.pup-reviews__avgNum{font-size:26px}
.pup-reviews__avgDen{font-size:14px;opacity:.7}
.pup-reviews__stars{display:flex;gap:2px;align-items:center}

.pup-reviews__meta{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.85}
.pup-reviews__dot{opacity:.5}

.pup-reviews__sources{display:flex;gap:8px;align-items:center}
.pup-reviews__srcBtn{
  display:inline-flex;gap:8px;align-items:center;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.02);
  font-size:12px;
  cursor:pointer;
}
.pup-reviews__srcBtn.is-active{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.18);
}

.pup-reviews__toolbar{
  display:flex; gap:10px; flex-wrap:wrap;
}
.pup-reviews__field{display:flex;flex-direction:column;gap:6px;font-size:12px;opacity:.9}
.pup-reviews__field select{
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
}

.pup-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width: 980px){.pup-reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 620px){
  .pup-reviews__grid{grid-template-columns:1fr;}
  .pup-reviews__header{flex-direction:column;}
  .pup-reviews__toolbar{width:100%;}
}

.pup-review{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:14px;
  background:#fff
}

.pup-review__top{display:flex;gap:10px;align-items:flex-start}
.pup-review__badge{flex:0 0 auto}
.pup-review__who{min-width:0}
.pup-review__rating{margin-left:auto;display:flex;gap:2px;align-items:center;color:#111}

.pup-review__author{
  font-weight:700;

  /* ✅ Nom sur UNE ligne */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  display:block;
}

.pup-review__date{font-size:12px;opacity:.7;margin-top:2px}

.pup-review__text{
  margin-top:10px;
  font-size:14px;
  line-height:1.45;
  opacity:.92;
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden
}

.pup-review__link{margin-top:10px}
.pup-review__link a{font-size:13px;text-decoration:none}
.pup-review__link a:hover{text-decoration:underline}

.pup-reviews__pager{
  margin-top:14px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}

.pup-pageBtn{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:12px;
  padding:8px 12px;
  cursor:pointer;
  font-size:13px;
}
.pup-pageBtn.is-active{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.20)}
.pup-pageBtn:disabled{opacity:.45;cursor:not-allowed}

.pup-star{width:16px;height:16px;display:inline-block;color:#111}
.pup-logo{width:16px;height:16px;display:inline-block}

.pup-src{display:inline-flex;gap:6px;align-items:center;font-size:12px}
.pup-reviews.is-loading{opacity:.75}
.pup-reviews__empty{margin:0;opacity:.75}

.pup-review__reply{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.02);
}

.pup-review__replyLabel{
  font-weight:700;
  font-size:13px;
  margin-bottom:6px;
}

.pup-review__replyText{
  font-size:13px;
  line-height:1.45;
  opacity:.92;
}

/* Clamp par défaut (déjà présent chez toi) */
.pup-review__text.is-clamped{
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Déplié */
.pup-review__text.is-open{
  display:block;
  overflow:visible;
}

/* Bouton Lire la suite */
.pup-review__more{
  margin-top:8px;
  display:none;              /* sera activé via JS si besoin */
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font-size:13px;
  opacity:.85;
}
.pup-review__more:hover{opacity:1;text-decoration:underline}
.pup-review__more.is-visible{display:inline-flex}

/* petit chevron */
.pup-review__chev{display:inline-block; transition:transform .2s ease}
.pup-review__more[aria-expanded="true"] .pup-review__chev{transform:rotate(180deg)}
