/* ==========================================================================
   RD2N — Avis clients : carrousel, étoiles, modale de dépôt d'avis
   ========================================================================== */

/* ---- Étoiles ---- */
.stars{display:inline-flex;gap:2px;}
.stars .star{width:16px;height:16px;fill:var(--paper-200);}
.stars .star.is-filled{fill:#f5a524;}

/* ---- En-tête de section avec note moyenne ---- */
.reviews-summary{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:8px;}
.reviews-summary .avg-score{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--navy-950);}
.reviews-summary .stars .star{width:20px;height:20px;}
.reviews-summary .count{font-family:var(--font-mono);font-size:12.5px;color:var(--stone-500);}

/* ---- Carrousel (défilement natif avec ancrage) ---- */
.reviews-carousel{position:relative;}
.reviews-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px;}
.reviews-track::-webkit-scrollbar{display:none;}
.review-card{background:var(--white);border:1px solid var(--paper-200);border-radius:var(--radius-md);padding:28px;flex:0 0 calc(33.333% - 15px);display:flex;flex-direction:column;gap:14px;min-height:210px;scroll-snap-align:start;}
@media (max-width:960px){.review-card{flex:0 0 calc(50% - 11px);}}
@media (max-width:640px){.review-card{flex:0 0 88%;}}
.review-card .rc-comment{color:var(--navy-800);font-size:14.8px;line-height:1.65;flex:1;}
.review-card .rc-attrib strong{display:block;font-size:14px;color:var(--navy-950);}
.review-card .rc-attrib span{display:block;font-size:12.5px;color:var(--stone-500);margin-top:2px;}

.reviews-nav{display:flex;justify-content:center;gap:12px;margin-top:28px;}
.reviews-nav button{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--paper-200);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--navy-800);cursor:pointer;transition:all .16s ease;}
.reviews-nav button:hover{border-color:var(--forest-700);color:var(--forest-700);}
.reviews-nav button:disabled{opacity:.35;cursor:not-allowed;}
.reviews-nav svg{width:18px;height:18px;}

.reviews-cta{display:flex;justify-content:center;margin-top:32px;}
.reviews-empty{text-align:center;padding:50px 20px;color:var(--stone-500);border:1px dashed var(--paper-200);border-radius:var(--radius-md);}

/* ---- Modale "Laisser un avis" ---- */
.modal-overlay{position:fixed;inset:0;background:rgba(12,23,32,.6);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--white);border-radius:var(--radius-lg);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:36px;position:relative;}
.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:var(--paper-100);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy-800);}
.modal-close:hover{background:var(--paper-200);}
.modal-close svg{width:16px;height:16px;}
.modal-box h3{font-size:22px;margin-bottom:6px;}
.modal-box p.sub{color:var(--stone-600);font-size:14px;margin-bottom:24px;}

.star-input{display:flex;gap:6px;margin-bottom:22px;}
.star-input button{background:none;border:none;padding:2px;cursor:pointer;color:var(--paper-200);transition:color .12s ease, transform .12s ease;}
.star-input button svg{width:32px;height:32px;fill:currentColor;}
.star-input button:hover, .star-input button:hover ~ button{transform:scale(1.06);}
.star-input.has-value button.on{color:#f5a524;}
.star-input button.hover-on{color:#f5a524;}

.review-form-status{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13.8px;display:none;}
.review-form-status.show{display:block;}
.review-form-status.ok{background:rgba(79,154,69,.12);color:var(--forest-700);}
.review-form-status.err{background:rgba(192,57,43,.1);color:#a4392b;}
