.reviews-page .brand { text-decoration:none; color:inherit; }
.reviews-page .legal-main { max-width:1050px; display:grid; gap:26px; }
.reviews-intro h1 { margin-bottom:18px; }
.reviews-page h2 { margin-top:0; }
.reviews-summary { margin:22px 0; font-size:1.2rem; }
.reviews-summary strong { font:800 2.25rem Nunito,sans-serif; color:var(--rose); }
.reviews-rules { margin-top:25px; padding-top:20px; border-top:1px solid var(--line); font-size:.95rem; }
.reviews-rules summary { cursor:pointer; color:var(--rose); font-weight:700; }
.reviews-list { display:grid; gap:18px; margin:0 0 18px; }
.customer-review { padding:24px; border:1px solid var(--line); background:var(--paper); border-radius:20px; overflow-wrap:anywhere; }
.customer-review h3 { margin:0; font-family:var(--reading-font); font-size:1.1rem; }
.review-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.review-stars { color:var(--rose); font-family:Nunito,sans-serif; letter-spacing:.09em; white-space:nowrap; }
.review-meta { font-size:.875rem; color:var(--muted); margin:7px 0 0; }
.review-comment { white-space:pre-wrap; line-height:1.65; margin-bottom:0; }
.review-form { display:grid; gap:12px; }
.review-form input:not([type=radio]):not([type=checkbox]),.review-form textarea,.reviews-page select { width:100%; padding:12px; font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--control-line); border-radius:12px; }
.review-form textarea { min-height:150px; resize:vertical; }
.review-form fieldset { margin:8px 0; padding:0; border:0; }
.review-form legend { margin-bottom:8px; }
.review-rating { display:flex; gap:10px; flex-wrap:wrap; }
.review-rating label { display:flex; align-items:center; gap:6px; padding:10px 12px; border:1px solid var(--control-line); border-radius:12px; cursor:pointer; font-family:Nunito,sans-serif; }
.review-rating label:has(input:checked) { color:#fff; background:var(--rose); border-color:var(--rose); }
.review-form input { accent-color:var(--rose); }
.review-consent { display:flex; align-items:flex-start; gap:10px; line-height:1.55; }
.review-consent input { margin-top:6px; flex-shrink:0; }
.review-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:10px; }
.review-notice { padding:14px 18px; margin:16px 0; border-radius:12px; background:var(--powder); border:1px solid var(--line); }
.reviews-page [hidden] { display:none!important; }
.reviews-page :is(input,textarea,select,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
#mon-avis,#review-moderation { scroll-margin-top:20px; }
.reviews-page button:disabled { cursor:wait; opacity:.6; }
@media(max-width:500px) { .customer-review { padding:19px; } .review-rating { gap:6px; } .review-rating label { padding:10px; } .review-actions .btn { width:100%; } }
