/* Zone d'avis des visiteurs (étoiles + commentaires modérés) */
.avis{max-width:760px;margin:32px auto;padding:20px 16px;border:1px solid var(--trait,#e2e8f0);border-radius:16px;background:var(--carte,#fff);color:var(--encre,#0f172a);font:16px/1.5 system-ui,"Segoe UI",Roboto,sans-serif}
.avis h2{margin:0 0 6px;font-size:1.25rem}
.avis-resume{margin:0 0 8px;color:var(--gris,#475569)}
.avis-etoiles{display:flex;gap:2px;margin:4px 0}
.avis-etoiles button{min-width:44px;min-height:44px;border:0;background:none;font-size:2rem;line-height:1;color:#cbd5e1;cursor:pointer;border-radius:10px;padding:0}
.avis-etoiles button.on{color:#f59e0b}
.avis-etoiles button:focus-visible,.avis input:focus-visible,.avis textarea:focus-visible{outline:3px solid var(--bleu,#1d4ed8);outline-offset:2px}
.avis-statut,.avis-info{margin:6px 0;font-size:.9rem;color:var(--gris,#475569)}
.avis-form{display:grid;gap:10px;margin-top:12px}
.avis-form input[type=text],.avis-form textarea{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--trait,#cbd5e1);border-radius:10px;background:var(--fond,#fff);color:inherit;box-sizing:border-box}
.avis-form textarea{resize:vertical;min-height:84px}
.avis-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.avis-form .bouton{justify-self:start;cursor:pointer;font:inherit;font-weight:700;border:2px solid var(--bleu,#1d4ed8);background:var(--bleu,#1d4ed8);color:#fff;border-radius:12px;padding:10px 18px;min-height:44px}
.avis-form .bouton:disabled{opacity:.6;cursor:wait}
.avis-liste{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.avis-liste li{padding:12px 14px;border:1px solid var(--trait,#e2e8f0);border-radius:12px}
.avis-liste p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.avis-date{color:var(--gris,#475569);font-size:.85rem}
.avis-plus{margin-top:10px;cursor:pointer;font:inherit;font-weight:700;background:transparent;color:var(--bleu,#1d4ed8);border:2px solid var(--bleu,#1d4ed8);border-radius:12px;padding:10px 18px;min-height:44px}
@media (prefers-color-scheme:dark){.avis-etoiles button{color:#475569}.avis-etoiles button.on{color:#fbbf24}.avis-form .bouton{color:#0b1220}}
/* Mode fenêtre (data-modal) : bouton « Avis » + <dialog> ; aucune place prise dans l'écran de l'atelier */
.avis-aside:not(.pret){display:none}
.avis-aside.pret{position:static;width:0;height:0;overflow:visible}
.avis-bouton{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:6px 12px;cursor:pointer;font:inherit;font-weight:700;color:var(--bleu,#1d4ed8);background:var(--surface,#fff);border:2px solid var(--bleu,#1d4ed8);border-radius:10px;white-space:nowrap}
.avis-bouton:focus-visible{outline:3px solid var(--bleu,#1d4ed8);outline-offset:2px}
.avis-bouton.avis-flottant{position:fixed;z-index:2000;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
.avis-dialog{box-sizing:border-box;width:min(94vw,640px);max-width:94vw;max-height:88vh;max-height:88dvh;margin:auto;padding:12px 12px 16px;border:1px solid var(--trait,#cbd5e1);border-radius:16px;background:var(--carte,var(--surface,#fff));color:var(--encre,var(--ink,#0f172a));overflow:auto;-webkit-overflow-scrolling:touch}
.avis-dialog::backdrop{background:rgba(7,18,43,.6)}
.avis-dialog .avis{margin:0;border:0;padding:4px 4px 0;max-width:none;background:transparent}
.avis-fermer{position:sticky;top:0;float:right;z-index:1;width:44px;height:44px;margin:0 0 4px 8px;border:0;border-radius:12px;background:var(--bleu-soft,#dbeafe);color:var(--bleu,#1d4ed8);font-size:1.6rem;line-height:1;cursor:pointer}
.avis-fermer:focus-visible{outline:3px solid var(--bleu,#1d4ed8);outline-offset:2px}
div.avis-dialog{position:fixed;inset:0;display:none;z-index:2100}
div.avis-dialog.avis-ouvert{display:block;margin:auto;height:fit-content;box-shadow:0 0 0 100vmax rgba(7,18,43,.6)}
