/* Bloc « Votre avis » de l'Académie RootLab — reprend les couleurs de Starlight (clair et sombre) */
.rl-avis { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--sl-color-hairline, #ddd); }
.rl-avis h2 { margin: 0 0 .25rem; font-size: var(--sl-text-h3, 1.4rem); }
.rl-avis-sous { color: var(--sl-color-gray-3, #666); margin: 0 0 1.25rem; font-size: var(--sl-text-sm, .9rem); }
.rl-avis-note { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-bottom: 2rem; }
.rl-etoiles { display: inline-flex; gap: .15rem; border: 0; padding: 0; margin: 0; }
.rl-etoiles legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rl-etoile { background: none; border: 0; padding: .1rem; cursor: pointer; font-size: 1.9rem; line-height: 1; color: var(--sl-color-gray-5, #ccc); transition: color .12s, transform .12s; }
.rl-etoile.on { color: #f5b301; }
.rl-etoile:hover { transform: scale(1.12); }
.rl-etoile:focus-visible { outline: 2px solid var(--sl-color-accent, #2563eb); outline-offset: 2px; border-radius: 4px; }
.rl-moyenne { font-size: var(--sl-text-sm, .9rem); color: var(--sl-color-gray-2, #333); }
.rl-moyenne b { font-size: 1.15rem; color: var(--sl-color-white, #111); }
.rl-merci { font-size: var(--sl-text-sm, .9rem); color: var(--sl-color-green-high, #15803d); }
.rl-comms { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: 1rem; }
.rl-comms li { padding: 1rem 1.1rem; border: 1px solid var(--sl-color-hairline, #ddd); border-radius: .5rem; background: var(--sl-color-bg-nav, transparent); margin: 0; }
.rl-comm-tete { display: flex; justify-content: space-between; gap: 1rem; font-size: var(--sl-text-sm, .9rem); margin-bottom: .4rem; }
.rl-comm-tete span { color: var(--sl-color-gray-3, #666); }
.rl-comms p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.rl-vide { color: var(--sl-color-gray-3, #666); font-size: var(--sl-text-sm, .9rem); margin-bottom: 2rem; }
.rl-form { display: grid; gap: .9rem; max-width: 40rem; }
.rl-form label { display: block; font-size: var(--sl-text-sm, .9rem); font-weight: 600; margin-bottom: .3rem; }
.rl-form input, .rl-form textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .6rem .75rem; border-radius: .4rem; border: 1px solid var(--sl-color-gray-5, #ccc); background: var(--sl-color-bg, #fff); color: var(--sl-color-text, #111); }
.rl-form textarea { min-height: 7rem; resize: vertical; }
.rl-form input:focus, .rl-form textarea:focus { outline: 2px solid var(--sl-color-accent, #2563eb); outline-offset: 1px; }
.rl-form button { justify-self: start; font: inherit; font-weight: 600; padding: .6rem 1.2rem; border: 0; border-radius: .4rem; cursor: pointer; background: var(--sl-color-accent, #2563eb); color: var(--sl-color-black, #fff); }
.rl-form button[disabled] { opacity: .6; cursor: wait; }
.rl-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rl-msg { font-size: var(--sl-text-sm, .9rem); margin: 0; }
.rl-msg.ok { color: var(--sl-color-green-high, #15803d); }
.rl-msg.err { color: var(--sl-color-red-high, #b91c1c); }
.rl-legal { font-size: var(--sl-text-xs, .8rem); color: var(--sl-color-gray-3, #666); margin: 0; }
