.recherche-ia-message { max-width: 85%; padding: 12px 16px; border-radius: 12px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Rouge 600 : contraste 4,8 avec le texte blanc (le rouge 500 du site n'atteint que 3,8, sous le seuil de 4,5) */
.recherche-ia-message.user { align-self: flex-end; background: rgb(220 38 38); color: #fff; border-bottom-right-radius: 4px; }
.recherche-ia-message.assistant { align-self: flex-start; background: #fff; color: rgb(15 23 42); border-bottom-left-radius: 4px; }
.recherche-ia-message.attente { color: rgb(100 116 139); font-style: italic; }
.recherche-ia-message.erreur { align-self: center; background: transparent; color: rgb(248 113 113); font-size: .875rem; text-align: center; }
.recherche-ia-message.erreur a { display: inline-block; margin-top: 8px; padding: 6px 14px; border-radius: 6px; background: rgb(220 38 38); color: #fff; font-weight: 600; font-style: normal; }

.recherche-ia-resultats { align-self: flex-start; width: 85%; display: flex; flex-direction: column; gap: 8px; }
.recherche-ia-resultats h2 { font-size: .875rem; line-height: 1.25rem; font-weight: 600; color: rgb(203 213 225); margin-top: 4px; }

.recherche-ia-carte { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; background: rgb(30 41 59); color: rgb(241 245 249); transition: background-color .2s ease-in-out; }
.recherche-ia-carte:hover { background: rgb(51 65 85); }
.recherche-ia-carte img { width: 40px; height: 40px; flex-shrink: 0; object-fit: contain; border-radius: 6px; background: #fff; }
.recherche-ia-carte strong { display: block; font-weight: 600; }
.recherche-ia-carte em.recherche-ia-hors-origine { display: block; font-size: .75rem; color: rgb(251 191 36); font-style: normal; }
.recherche-ia-carte span { display: block; font-size: .8125rem; color: rgb(148 163 184); }

