/* INFOSA — Avis par formation. Styles isolés, sans modifier Clarity. */
.infosa-avis-formation { margin: 1.5rem 0 2rem; }
.infosa-avis-details { background: var(--surface-color, #fff); color: var(--default-color, #263747); border: 1px solid color-mix(in srgb, var(--default-color, #263747), transparent 85%); border-radius: 16px; overflow: hidden; box-shadow: 0 7px 28px rgba(0,0,0,.045); }
.infosa-avis-resume { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.35rem; }
.infosa-avis-resume::-webkit-details-marker { display: none; }
.infosa-avis-resume::marker { content: ''; }
.infosa-avis-resume:focus-visible { outline: 3px solid var(--accent-color, #df4f97); outline-offset: -3px; }
.infosa-avis-resume-texte { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; }
.infosa-avis-resume-texte strong { font-size: 1.03rem; }
.infosa-avis-etoiles { color: #d5a23e; display: inline-flex; align-items: center; gap: .13rem; font-size: 1.05rem; }
.infosa-avis-note { font-weight: 700; }
.infosa-avis-nombre { color: var(--default-color, #263747); opacity: .75; font-size: .9rem; }
.infosa-avis-action { color: var(--accent-color, #df4f97); white-space: nowrap; font-weight: 600; font-size: .88rem; }
.infosa-avis-action .bi { display: inline-block; margin-left: .3rem; transition: transform .2s ease; }
.infosa-avis-details[open] .infosa-avis-action .bi { transform: rotate(180deg); }
.infosa-avis-corps { border-top: 1px solid color-mix(in srgb, var(--default-color, #263747), transparent 88%); padding: 1.25rem; }
.infosa-avis-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.infosa-avis-carte { background: color-mix(in srgb, var(--surface-color, #fff), var(--background-color, #f5f7f8) 55%); border: 1px solid color-mix(in srgb, var(--default-color, #263747), transparent 90%); border-radius: 12px; padding: 1rem 1.2rem; min-width: 0; }
.infosa-avis-carte h3 { font-size: 1rem; font-weight: 700; margin: .35rem 0 .5rem; color: var(--heading-color, #162e3f); }
.infosa-avis-carte p { font-size: .94rem; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.infosa-avis-vide, .infosa-avis-limite { margin: 0; opacity: .75; font-size: .92rem; }
@media (max-width: 767px) {
  .infosa-avis-resume { align-items: flex-start; flex-direction: column; gap: .6rem; }
  .infosa-avis-grille { grid-template-columns: minmax(0, 1fr); }
  .infosa-avis-corps { padding: .9rem; }
}
