.reviews-page{
    --reviews-accent:#285d50;
    --reviews-accent-soft:#eef6f3;
    --reviews-text:#17211e;
    --reviews-muted:#65706c;
    --reviews-border:rgba(23,33,30,.12);
    --reviews-star:#f3a712;
    background:#f7f8f7;
    color:var(--reviews-text);
}
.reviews-page.reviews-pro{
    --reviews-accent:#ff5b00;
    --reviews-accent-soft:#fff2e9;
}
.reviews-hero{padding:72px 0 48px;background:linear-gradient(180deg,#fff 0%,#f7f8f7 100%)}
.reviews-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:48px;align-items:center}
.reviews-eyebrow{margin:0 0 10px;color:var(--reviews-accent);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.reviews-hero h1{max-width:760px;margin:0;font-size:clamp(2.25rem,5vw,4.7rem);line-height:.98;letter-spacing:-.05em}
.reviews-lead{max-width:720px;margin:24px 0 0;color:var(--reviews-muted);font-size:1.08rem;line-height:1.7}
.reviews-score-card{padding:30px;border:1px solid var(--reviews-border);border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(20,30,27,.07)}
.reviews-score-card strong{display:block;font-size:2.1rem;line-height:1.1}
.reviews-score-card span{display:block;margin-top:10px;color:var(--reviews-muted);line-height:1.5}
.reviews-stars,.review-stars{color:var(--reviews-star);letter-spacing:.08em}
.reviews-stars{margin-top:14px;font-size:1.4rem}
.reviews-section{padding:44px 0 72px}
.reviews-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:38px;align-items:start}
.reviews-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}
.reviews-section-head h2,.reviews-method-card h2,.reviews-form-card h2{margin:0;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.035em}
.reviews-switch-link{color:var(--reviews-accent);font-weight:800;text-decoration:none;white-space:nowrap}
.reviews-list{display:grid;gap:16px}
.review-card,.reviews-empty,.reviews-method-card,.reviews-form-card{border:1px solid var(--reviews-border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(20,30,27,.04)}
.review-card{padding:24px}
.review-card-top{display:flex;align-items:start;justify-content:space-between;gap:18px}
.review-card-top strong{display:block;font-size:1.03rem}
.review-card-top span,.review-card-top time{color:var(--reviews-muted);font-size:.88rem}
.review-card-top span{display:block;margin-top:3px}
.review-stars{margin:14px 0 10px;font-size:1.15rem}
.review-card p{margin:0;line-height:1.7;color:#313a37}
.review-verified{display:inline-flex;margin-top:18px;padding:7px 10px;border-radius:999px;background:var(--reviews-accent-soft);color:var(--reviews-accent);font-size:.78rem;font-weight:800}
.reviews-empty{padding:34px;text-align:center;color:var(--reviews-muted)}
.reviews-empty strong{display:block;color:var(--reviews-text);font-size:1.2rem}
.reviews-empty p{margin:8px 0 0}
.reviews-side{display:grid;gap:18px;position:sticky;top:92px}
.reviews-method-card,.reviews-form-card{padding:26px}
.reviews-method-card ul{margin:20px 0 0;padding-left:20px;color:var(--reviews-muted);line-height:1.65}
.reviews-method-card li+li{margin-top:10px}
.reviews-form-card p:not(.reviews-eyebrow){color:var(--reviews-muted);line-height:1.6}
.review-form{display:grid;gap:14px;margin-top:20px}
.review-form fieldset{border:0;padding:0;margin:0}
.review-form legend,.review-form>label{display:block;margin-bottom:7px;font-weight:800}
.review-rating-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.review-rating-input input{position:absolute;opacity:0;pointer-events:none}
.review-rating-input label{cursor:pointer;color:#c9cfcc;font-size:2rem;line-height:1;transition:.15s ease}
.review-rating-input label:hover,.review-rating-input label:hover~label,.review-rating-input input:checked~label{color:var(--reviews-star)}
.review-form textarea{width:100%;resize:vertical;min-height:130px;padding:13px 14px;border:1px solid var(--reviews-border);border-radius:12px;background:#fff;font:inherit;color:inherit}
.review-form textarea:focus{outline:3px solid var(--reviews-accent-soft);border-color:var(--reviews-accent)}
.review-form small{color:var(--reviews-muted);line-height:1.45}
.review-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.reviews-alert{padding:11px 13px;border-radius:10px;font-size:.9rem;line-height:1.45}
.reviews-alert.success{background:#eaf7ef;color:#21633e}
.reviews-alert.error{background:#fff0ef;color:#9b2d24}
.reviews-cta{padding:0 0 72px}
.reviews-cta-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px;border-radius:24px;background:#141a18;color:#fff}
.reviews-pro .reviews-cta-card{background:#171717}
.reviews-cta-card h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}
.reviews-cta-actions{display:flex;gap:14px;flex-wrap:wrap}
/* Côté client : formulaire au-dessus des avis, sur la même largeur. */
.reviews-client .reviews-layout{grid-template-columns:minmax(0,1fr);gap:26px}
.reviews-client .reviews-side{position:static}
.reviews-client .reviews-form-card{min-width:0;box-sizing:border-box}
.reviews-client .review-form textarea{resize:none;box-sizing:border-box}
@media(min-width:901px){
    .reviews-client .review-form{
        grid-template-columns:220px minmax(0,1fr);
        column-gap:28px;
    }
    .reviews-client .review-form fieldset{grid-column:1;grid-row:1 / 4}
    .reviews-client .review-form > label,
    .reviews-client .review-form textarea,
    .reviews-client .review-form small{grid-column:2}
    .reviews-client .review-form > button{grid-column:2;justify-self:end}
}
@media(max-width:900px){
    .reviews-hero{padding:52px 0 34px}
    .reviews-hero-grid,.reviews-layout{grid-template-columns:1fr}
    .reviews-side{position:static}
    .reviews-score-card{max-width:none}
}
@media(max-width:620px){
    .reviews-hero{padding:38px 0 26px}
    .reviews-hero-grid{gap:26px}
    .reviews-section{padding:28px 0 50px}
    .reviews-section-head{align-items:flex-start;flex-direction:column}
    .reviews-switch-link{white-space:normal}
    .review-card,.reviews-method-card,.reviews-form-card,.reviews-score-card{padding:20px;border-radius:16px}
    .review-card-top{flex-direction:column;gap:6px}
    .reviews-cta-card{align-items:stretch;flex-direction:column;padding:26px 20px;border-radius:18px}
    .reviews-cta-actions{display:grid;gap:12px;width:100%}
    .reviews-cta-actions .btn,.reviews-cta-card>.btn{width:100%;text-align:center}
}
