/* Avis clients et service client des vitrines (includes/avis.php, includes/service-client.php).
   Couleurs : --avt-couleur, --avt-couleur-fonce, --avt-couleur-clair (garage). */

/* Étoiles (lecture seule) : une rangée grise, une rangée dorée coupée à la note. */
.avt-etoiles { position:relative; display:inline-block; color:#d6dae0; letter-spacing:1px; line-height:1; font-size:16px; white-space:nowrap; vertical-align:middle; }
.avt-etoiles-pleines { position:absolute; inset:0 auto 0 0; overflow:hidden; color:#f5a623; }
.avt-etoiles-grandes { font-size:26px; letter-spacing:2px; }
.avt-avis-resume { display:inline-flex; align-items:center; gap:7px; margin-top:18px; font-size:15px; color:#15181d; text-decoration:none; }
.avt-avis-resume span:last-child { color:#5b6470; }
a.avt-avis-resume:hover b { text-decoration:underline; }
.avt-garage-infos .avt-avis-resume { margin:-12px 0 20px; }
.avt-annuaire-carte .avt-avis-resume { margin:2px 0 0; font-size:14px; }

/* Section avis */
.avt-avis { display:grid; grid-template-columns:300px minmax(0, 1fr); gap:28px; align-items:start; scroll-margin-top:120px; }
.avt-avis-synthese { background:#fff; border:1px solid #e6e8ec; border-radius:16px; padding:26px; text-align:center; position:sticky; top:130px; }
.avt-avis-moyenne { font-size:52px; font-weight:800; line-height:1; margin:0 0 8px !important; color:#15181d; }
.avt-avis-moyenne small { font-size:20px; color:#5b6470; font-weight:600; }
.avt-avis-nombre { margin:10px 0 18px !important; color:#5b6470; font-size:14px; }
.avt-avis-barres { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; font-size:13px; color:#5b6470; }
.avt-avis-barres li { display:grid; grid-template-columns:34px 1fr 26px; gap:8px; align-items:center; }
.avt-avis-barre { height:8px; border-radius:4px; background:#eef0f3; overflow:hidden; }
.avt-avis-barre span { display:block; height:100%; background:#f5a623; border-radius:4px; }
.avt-avis-liste { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.avt-avis-item { background:#fff; border:1px solid #e6e8ec; border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:10px; }
.avt-avis-item header { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.avt-avis-item header b { font-size:15px; }
.avt-avis-item time { margin-left:auto; color:#8a929c; font-size:13px; }
.avt-avis-item p { margin:0; font-size:15px; line-height:1.55; color:#2b3038; }
.avt-avis-item .avt-avis-verifie { font-size:12.5px; color:var(--avt-couleur-fonce); margin-top:auto; }
.avt-avis-item.avt-avis-livraison { background:#fafbfc; }
.avt-avis-item p.avt-avis-texte-barre { text-decoration:line-through; color:#7a828d; }
.avt-avis-item .avt-avis-livraison-note { font-size:12.5px; color:#7a5c17; background:#fdf6e8; border-left:3px solid #d9a441; border-radius:0 8px 8px 0; padding:8px 12px; margin-top:10px; }
.avt-avis-deploy > summary { cursor:pointer; font-size:13.5px; font-weight:600; color:#8a6d1a; list-style:none; padding:4px 0; }
.avt-avis-deploy > summary::-webkit-details-marker { display:none; }
.avt-avis-deploy > summary::before { content:"▸ "; }
.avt-avis-deploy[open] > summary::before { content:"▾ "; }
.avt-avis-deploy[open] > summary { margin-bottom:6px; }
.avt-avis-deploy > *:not(summary) { margin-top:8px; }
.avt-avis-vide { grid-column:1 / -1; color:#5b6470; background:#fff; border:1px dashed #d3d8df; border-radius:14px; padding:24px; text-align:center; }
.avt-avis-mention { margin:18px 0 0 !important; font-size:12.5px; color:#8a929c; text-align:center; }

/* Pages service (avis, contact) */
.avt-service { padding:40px 0 72px; background:#f5f6f8; }
.avt-service-wrap { max-width:760px !important; }
.avt-service-intro { color:#3c434d; margin:-10px 0 22px !important; font-size:16.5px; }
.avt-service-commande { margin:-10px 0 18px !important; color:#5b6470; }
.avt-service-carte { background:#fff; border:1px solid #e6e8ec; border-radius:16px; padding:28px; }
.avt-service-ok { display:flex; gap:18px; align-items:flex-start; }
.avt-service-ok .avt-merci-coche { flex:none; width:52px; height:52px; border-radius:50%; background:var(--avt-couleur); color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:700; }
.avt-service-ok p { margin:0 0 8px !important; }
.avt-service-titre { font-size:19px; font-weight:700; color:#15181d; }
.avt-service-form { display:flex; flex-direction:column; gap:18px; }
.avt-service-form .avt-btn { align-self:flex-start; }
.avt-service-erreur { margin:0 !important; padding:12px 16px; border-radius:10px; background:#fdf2f2; color:#8a1c1c; border:1px solid #f1c2c2; }
.avt-service-note { margin:0 !important; font-size:13px; color:#8a929c; }
.avt-champ { display:flex; flex-direction:column; gap:7px; margin:0; border:0; padding:0; }
.avt-champ > span, .avt-champ legend { font-size:14px; font-weight:600; color:#15181d; padding:0; }
.avt-champ small { font-weight:400; color:#8a929c; }
.avt-champ input, .avt-champ select, .avt-champ textarea { width:100%; min-height:48px; padding:11px 14px; border:1px solid #d3d8df; border-radius:10px; font:inherit; font-size:16px; color:#15181d; background:#fff; box-sizing:border-box; }
.avt-champ textarea { min-height:120px; resize:vertical; }
.avt-champ input:focus, .avt-champ select:focus, .avt-champ textarea:focus { outline:none; border-color:var(--avt-couleur); box-shadow:0 0 0 3px color-mix(in srgb, var(--avt-couleur) 18%, transparent); }
.avt-champs-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.avt-avis-texte { font-style:italic; color:#3c434d; }

/* Choix de la note : 5 étoiles cliquables (ordre inversé dans le HTML pour le survol). */
.avt-note-etoiles { display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.avt-note-etoiles input { position:absolute; opacity:0; pointer-events:none; }
.avt-note-etoiles label { font-size:40px; line-height:1; color:#d6dae0; cursor:pointer; transition:color .1s, transform .1s; }
.avt-note-etoiles label:hover, .avt-note-etoiles label:hover ~ label, .avt-note-etoiles input:checked ~ label { color:#f5a623; }
.avt-note-etoiles label:hover { transform:scale(1.08); }
.avt-note-etoiles input:focus-visible + label { outline:2px solid var(--avt-couleur); outline-offset:2px; border-radius:4px; }
.avt-note-libelle { margin:4px 0 0 !important; min-height:1.4em; font-weight:600; color:var(--avt-couleur-fonce); }

/* Mon compte : encarts sous le détail d'une commande */
.avt-commande-aide { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; margin:24px 0; }
.avt-commande-aide > div { background:#fff; border:1px solid #e6e8ec; border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.avt-commande-aide p { margin:0 !important; color:#5b6470; font-size:14.5px; }
.avt-commande-aide .avt-commande-aide-titre { color:#15181d; font-weight:700; font-size:16px; }
.avt-commande-aide .avt-btn { min-height:44px; font-size:15px; padding:0 18px; }
.woocommerce-orders-table .button.avt_avis, .woocommerce-orders-table .button.avt_contact { margin:2px 0 2px 6px; }

@media (max-width:900px) {
  .avt-avis { grid-template-columns:1fr; }
  .avt-avis-synthese { position:static; }
  .avt-avis-liste { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .avt-champs-2 { grid-template-columns:1fr; }
  .avt-service-carte { padding:20px; }
}
.avt-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* Réponse du garage sous un avis (reçue d'alsagom.fr) */
.avt-avis-reponse { border-left:3px solid var(--avt-couleur); background:var(--avt-couleur-clair, #f5f6f8); border-radius:0 10px 10px 0; padding:10px 14px; display:flex; flex-direction:column; gap:4px; }
.avt-avis-item .avt-avis-reponse p { font-size:14px; }
.avt-avis-item .avt-avis-reponse .avt-avis-reponse-titre { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13.5px; }
.avt-avis-item .avt-avis-reponse time { font-size:12.5px; }
