:root{
  --bg:#f8f9fa; --text:#3c4043; --muted:#5f6368; --card:#fff; --border:#e8eaed; --brand:#1a73e8; --star:#fbbc04; --success:#34a853;
}
*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Accordéon neutre */
.reviews-accordion{margin:0; padding:0; background:transparent; border:0;}
.reviews-summary{list-style:none; padding:0; margin:0; cursor:default; user-select:text;}
.reviews-summary::-webkit-details-marker{display:none;}
.reviews-heading{margin:0; font-family:'Roboto', Arial, sans-serif; font-weight:500; font-size:clamp(20px,2.6vw,28px); color:var(--text);}

/* Conteneur */
.reviews-container{
  max-width:1400px; margin:0 auto; padding:20px; display:flex; gap:30px;
  font-family:'Roboto', Arial, sans-serif; background:var(--bg); border-radius:12px;
}

/* Résumé */
.rating-summary{
  flex:0 0 350px; background:var(--card); border-radius:12px; padding:24px;
  box-shadow:0 2px 12px rgba(0,0,0,.08); height:fit-content; border:1px solid var(--border);
}
.google-header{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.google-logo{width:24px;height:24px}
.google-text{font-size:20px;font-weight:400;color:#3c4043}
.rating-main{text-align:center;margin-bottom:24px}
.rating-score{font-size:48px;font-weight:300;color:var(--text);display:block;margin-bottom:8px}
.stars-container{display:flex;flex-direction:column;align-items:center;gap:4px}
.stars{color:var(--star);font-size:24px;letter-spacing:2px}
.review-count{color:var(--muted);font-size:14px}

.rating-breakdown{margin-bottom:24px}
.rating-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}
.star-label{width:20px;color:var(--muted)}
.bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.fill{height:100%;background:var(--star);transition:width .5s ease;transform:scaleX(0);transform-origin:left}
.percentage{width:32px;text-align:right;color:var(--muted);font-size:11px}

/* Société */
.company-info{display:flex;gap:12px;align-items:center;padding-top:20px;border-top:1px solid var(--border)}
.company-logo{width:48px;height:48px;border-radius:50%;object-fit:contain}
.company-details h3{margin:0 0 4px 0;font-size:16px;font-weight:500;color:var(--text)}
.company-details p{margin:0;font-size:13px;color:var(--muted)}

/* Section avis */
.reviews-section{flex:1;min-width:0}
.swiper.reviews-swiper{
  background:var(--card); border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.08);
  border:1px solid var(--border); position:relative; padding:20px 0;
}
.swiper-wrapper{display:flex;align-items:stretch}
.swiper-slide{width:auto;height:auto}

/* Cartes */
.review-card{
  width:clamp(280px,30vw,380px); background:var(--card); border-radius:8px; padding:20px; margin:0 10px;
  border:1px solid var(--border); display:flex;flex-direction:column;gap:16px; transition:box-shadow .2s ease, transform .3s ease, border-color .2s ease;
}
.review-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px)}
.review-header{display:flex;justify-content:space-between;align-items:flex-start}
.user-info{display:flex;gap:12px;align-items:center}

/* Avatars (exemples) */
.avatar{width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:16px;font-weight:500;color:#fff;flex-shrink:0}
.avatar-j{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}
.avatar-m{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}
/* (tu peux remettre toute ta liste d’avatars si besoin) */

.user-details{display:flex;flex-direction:column;gap:2px}
.review-author{font-weight:500;color:var(--text);font-size:14px}
.review-meta{display:flex;align-items:center;gap:6px}
.review-date{font-size:12px;color:var(--muted)}
.google-mini{width:12px;height:12px}

.review-stars{color:var(--star);font-size:16px;letter-spacing:1px;transition:transform .2s ease}
.review-body{font-size:14px;line-height:1.5;color:var(--text);flex-grow:1}
.review-actions{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f1f3f4}
.helpful-btn{background:none;border:1px solid #dadce0;border-radius:20px;padding:6px 12px;font-size:12px;color:var(--brand);cursor:pointer;transition:all .2s ease}
.helpful-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.helpful-btn:focus{outline:2px solid var(--brand);outline-offset:2px}
.review-source{font-size:11px;color:var(--muted)}

/* Nav/Pagination */
.swiper-button-next,.swiper-button-prev{color:var(--brand);background:#fff;width:44px;height:44px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);margin-top:-22px}
.swiper-button-next::after,.swiper-button-prev::after{font-size:18px;font-weight:bold}
.swiper-button-next:hover,.swiper-button-prev:hover{background:#f8f9fa}
.swiper-pagination{bottom:10px !important}
.swiper-pagination-bullet{background:#dadce0;opacity:1;width:8px;height:8px}
.swiper-pagination-bullet-active{background:var(--brand)}

/* Responsive */
@media (max-width:1200px){
  .reviews-container{flex-direction:column;gap:20px}
  .rating-summary{flex:none;max-width:100%}
}
@media (max-width:768px){
  .reviews-container{padding:15px;margin:0 10px}
  .rating-summary{padding:20px}
  .google-header{justify-content:center;margin-bottom:16px}
  .rating-score{font-size:36px}
  .company-info{flex-direction:column;text-align:center;gap:8px}
  .review-card{padding:16px;margin:0 8px}
  .swiper-button-next,.swiper-button-prev{width:36px;height:36px;margin-top:-18px}
  .swiper-button-next::after,.swiper-button-prev::after{font-size:14px}
}
@media (max-width:480px){
  .reviews-container{padding:10px;margin:0 5px}
  .rating-summary{padding:16px}
  .rating-score{font-size:32px}
  .review-card{padding:14px;margin:0 6px}
  .review-header{flex-direction:column;gap:8px;align-items:flex-start}
  .review-actions{flex-direction:column;gap:8px;align-items:flex-start}
}

/* Dark */
@media (prefers-color-scheme: dark){
  :root{--bg:#1f1f1f; --text:#e8eaed; --muted:#9aa0a6; --card:#303134; --border:#5f6368; --brand:#8ab4f8;}
  .helpful-btn{background:#303134;border-color:#5f6368;color:var(--brand)}
  .helpful-btn:hover{background:#3c4043}
  .swiper-button-next,.swiper-button-prev{background:var(--card);color:var(--brand)}
  .bar{background:#5f6368}
}