/* =========================================================
   NeroPsIA — GLOSSAIRE FREUD V0.2
   Affichage latéral lisible sur ordinateur,
   puis sous la réponse sur mobile.
========================================================= */

.freud-concept {
  display: inline;
}

.freud-concept-label {
  font-weight: normal !important;
  font-style: inherit;
  color: inherit;
}

.freud-concept-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin: 0 2px 0 3px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #607b9e;
  font-size: 14px;
  line-height: 1;
  vertical-align: 1px;
  cursor: pointer;
}

.freud-concept-info:hover,
.freud-concept-info:focus-visible,
.freud-concept-info[aria-expanded="true"] {
  background: #e4eaf1;
  color: #203b60;
  outline: none;
}

/*
 * Quand une définition est ouverte, la ligne passe en grille :
 * avatar | réponse Freud | définition.
 * La réponse et la définition disposent chacune d'une vraie largeur.
 */
.message-row-ai.freud-glossary-open {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 10px;
  align-items: start;
}

.message-row-ai.freud-glossary-open > .message-avatar {
  grid-column: 1;
  grid-row: 1;
}

.message-row-ai.freud-glossary-open > .message.ai {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  max-width: none;
  min-width: 0;
}

.freud-definition-card {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  margin: 0;
  padding: 16px 17px;
  border: 1px solid #d9e2ec;
  border-radius: 16px;
  background: #fbfcfd;
  color: #445268;
  font-size: 13px;
  line-height: 1.62;
  box-shadow: 0 5px 18px rgba(32, 59, 96, 0.05);
}

.freud-definition-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.freud-definition-title {
  display: block;
  color: #203b60;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.25;
}

.freud-definition-close {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: -4px -4px 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #eef1f5;
  color: #687588;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}

.freud-definition-close:hover,
.freud-definition-close:focus-visible {
  background: #e2e8ef;
  color: #203b60;
  outline: none;
}

.freud-definition-text {
  margin-bottom: 12px;
}

.freud-definition-source {
  padding-top: 10px;
  border-top: 1px solid #e4e9ef;
  color: #8995a5;
  font-size: 10.5px;
  line-height: 1.45;
}

.freud-definition-library {
  display: inline-block;
  margin-top: 8px;
  color: #607b9e;
  font-size: 11px;
  text-decoration: none;
}

.freud-definition-library:hover {
  color: #203b60;
  text-decoration: underline;
}

/* Tablettes : un peu plus de place à la réponse. */
@media(max-width: 980px) and (min-width: 761px) {
  .message-row-ai.freud-glossary-open {
    grid-template-columns: 44px minmax(0, 1.08fr) minmax(280px, .92fr);
  }
}

/* Mobile : définition sous la réponse, sans réduire la bulle. */
@media(max-width: 760px) {
  .message-row-ai.freud-glossary-open {
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 10px;
  }

  .message-row-ai.freud-glossary-open > .message-avatar {
    grid-column: 1;
    grid-row: 1;
  }

  .message-row-ai.freud-glossary-open > .message.ai {
    grid-column: 2;
    grid-row: 1;
  }

  .freud-definition-card {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    padding: 15px;
  }
}
