/* RENOVIA — Avis clients : bloc (note + vedettes), citation contextuelle, mur.
   Liste des avis centralisée dans avis.js. Couleurs marque en dur (autonome). */

.av-bloc{padding:54px 0;}
.av-wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.av-eyebrow{font-family:'Sora',sans-serif;font-weight:700;color:#1B3C8F;font-size:.74rem;letter-spacing:1.5px;text-transform:uppercase;}
.av-title{font-family:'Sora',sans-serif;font-weight:800;color:#122870;font-size:1.6rem;margin:6px 0 26px;}
.av-grid3{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:stretch;}
.av-score{background:linear-gradient(160deg,#1B3C8F,#122870);color:#fff;border-radius:18px;padding:30px 22px;text-align:center;display:flex;flex-direction:column;justify-content:center;}
.av-score .big{font-family:'Sora',sans-serif;font-weight:800;font-size:3.1rem;line-height:1;}
.av-score .st{color:#ffd9b3;font-size:1.25rem;letter-spacing:3px;margin:10px 0 8px;}
.av-score small{color:#cdd6f5;font-size:.84rem;}
.av-feats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.av-card{background:#fff;border:1px solid #e6e8f0;border-radius:14px;padding:18px;display:flex;flex-direction:column;}
.av-stars{color:#E06A10;font-size:1rem;letter-spacing:2px;line-height:1;}
.av-quote{margin:10px 0 14px;color:#374151;font-size:.94rem;line-height:1.55;flex:1;}
.av-who{display:flex;align-items:center;gap:10px;}
.av-ini{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#1B3C8F,#122870);color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.av-who b{font-family:'Sora',sans-serif;color:#122870;font-size:.9rem;display:block;line-height:1.15;}
.av-who span:not(.av-ini):not(.av-verif){color:#6b7280;font-size:.78rem;}
.av-verif{margin-left:auto;font-size:.72rem;color:#0e7a4f;background:#e6f5ee;border-radius:20px;padding:3px 9px;font-weight:700;white-space:nowrap;flex-shrink:0;}
.av-all{display:inline-block;margin-top:22px;color:#1B3C8F;font-family:'Sora',sans-serif;font-weight:700;text-decoration:none;font-size:.95rem;}
.av-all:hover{color:#F47920;}

/* Format 4 — citation contextuelle */
.av-cite{max-width:1080px;margin:26px auto;padding:0 24px;}
.av-cite-inner{border-left:4px solid #F47920;background:#fff;border-radius:0 12px 12px 0;padding:16px 20px;box-shadow:0 6px 20px rgba(18,40,112,.05);}
.av-cite-stars{color:#E06A10;letter-spacing:2px;font-size:.95rem;}
.av-cite-q{font-family:'Sora',sans-serif;font-size:1.12rem;line-height:1.45;color:#122870;font-weight:600;margin:8px 0 10px;}
.av-cite-src{color:#6b7280;font-size:.84rem;}
.av-cite-src .ok{color:#0e7a4f;font-weight:700;}

/* Mur (page avis-clients.html) */
.av-mur{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1080px;margin:0 auto;padding:0 24px;}
.av-mur .av-card{min-height:180px;}

@media (max-width:820px){
  .av-grid3{grid-template-columns:1fr;}
  .av-feats{grid-template-columns:1fr;}
  .av-mur{grid-template-columns:1fr;}
  .av-title{font-size:1.35rem;}
}

/* Défilement automatique du bloc (Format 3) */
.av-feats{transition:opacity .35s ease;}
.av-dots{display:flex;gap:7px;justify-content:center;margin-top:16px;}
.av-dot{width:7px;height:7px;border-radius:50%;background:#cbd3e6;transition:width .3s,background .3s;}
.av-dot.on{background:#F47920;width:20px;border-radius:4px;}

/* Carrousel avis — navigation manuelle (flèches + puces cliquables) */
.av-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;}
.av-nav .av-dots{margin-top:0;}
.av-arrow{flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:50%;border:1.5px solid #e0e6f2;background:#fff;color:#1B3C8F;font-size:1.15rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .18s,background .18s,color .18s,transform .1s;font-family:'Sora',sans-serif;}
.av-arrow:hover{border-color:#1B3C8F;background:#1B3C8F;color:#fff;}
.av-arrow:active{transform:scale(.93);}
.av-arrow:focus-visible{outline:2px solid #1B3C8F;outline-offset:2px;}
.av-dot{appearance:none;-webkit-appearance:none;border:0;margin:0;padding:0;cursor:pointer;font:inherit;}
.av-dot:not(.on):hover{background:#9aa6c4;}
.av-dot:focus-visible{outline:2px solid #1B3C8F;outline-offset:2px;}

/* Carrousel au téléphone (audit du site, point 🟠 7, 17/10/2026) : cibles de 44 px.
   Le point garde son dessin (7 px, 20 px pour le point actif) : il est peint par
   ::before au centre d'un bouton transparent de 44 × 44 ; s'il y a beaucoup de
   groupes sur un petit écran (6 à 360 px), le bouton se resserre (jamais sous 24 px,
   seuil WCAG 2.5.8) sans chevaucher son voisin. Flèches : 44 × 44. */
@media (max-width:640px){
  /* 17/10 (soir) : les boutons de 44 px ont une largeur définie, qui comptait comme
     largeur minimale de la colonne « 1fr » (= minmax(auto,1fr)) : à 360 px la rangée
     (2 flèches + 6 points = 352 px) élargissait la page à 376 px. Colonnes en
     minmax(0,1fr) : la rangée tient dans l'écran, les points se resserrent (≥ 24 px). */
  .av-grid3,.av-feats{grid-template-columns:minmax(0,1fr);}
  .av-rot,.av-nav{min-width:0;}
  .av-nav{gap:0;}
  .av-nav .av-dots{gap:0;min-width:0;}
  .av-dot,.av-dot.on{position:relative;flex:0 1 44px;width:44px;min-width:24px;height:44px;background:transparent;border-radius:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .av-dot::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#cbd3e6;transform:translate(-50%,-50%);transition:width .3s,background .3s;}
  .av-dot.on::before{background:#F47920;width:20px;border-radius:4px;}
  .av-dot:not(.on):hover{background:transparent;}
  .av-dot:not(.on):hover::before{background:#9aa6c4;}
  .av-dot:focus-visible{outline-offset:-6px;}
  .av-arrow{width:44px;height:44px;touch-action:manipulation;}
}
@media (max-width:640px) and (prefers-reduced-motion:reduce){ .av-dot::before{transition:none;} }
