/*
 * IA & Marketing Editorial Blocks
 * Encadrés éditoriaux : iam_callout.
 *
 * Direction visuelle :
 * - fond anthracite ;
 * - texte blanc cassé ;
 * - contenu secondaire gris bleuté ;
 * - bordure et libellé colorés selon le type.
 */

.iam-callout,
.iam-callout * {
  box-sizing: border-box;
}

/*
 * Conteneur commun.
 */
.iam-callout {
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid #3a4049;
  border-left-width: 5px;
  border-radius: 14px;
  background: #25282e;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.18);
}

.iam-callout,
.iam-callout h1,
.iam-callout h2,
.iam-callout h3,
.iam-callout h4,
.iam-callout h5,
.iam-callout h6,
.iam-callout p,
.iam-callout li,
.iam-callout strong,
.iam-callout em,
.iam-callout span,
.iam-callout blockquote,
.iam-callout a {
  color: #f5f7fa !important;
}

.iam-callout__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.iam-callout__title {
  margin: 0 0 0.75rem;
  color: #f5f7fa !important;
  font-size: 1.35rem;
  line-height: 1.25;
}

.iam-callout__content > :first-child {
  margin-top: 0;
}

.iam-callout__content > :last-child {
  margin-bottom: 0;
}

.iam-callout__content p,
.iam-callout__content li {
  color: #c9d1d9 !important;
}

.iam-callout__content ul,
.iam-callout__content ol {
  margin: 1rem 0;
  padding-left: 1.25rem;
}

.iam-callout__content li + li {
  margin-top: 0.45rem;
}

.iam-callout__content a {
  color: #a9d6ff !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.iam-callout__source {
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(245, 247, 250, 0.14);
  color: #c9d1d9 !important;
  font-size: 0.92rem;
  font-weight: 700;
}

/*
 * Information.
 */
.iam-callout--info {
  border-color: #2878b9;
  background: #202b38;
}

.iam-callout--info .iam-callout__eyebrow {
  color: #a9d6ff !important;
}

/*
 * Repère neutre.
 */
.iam-callout--neutral {
  border-color: #64707d;
  background: #25282e;
}

.iam-callout--neutral .iam-callout__eyebrow {
  color: #c9d1d9 !important;
}

/*
 * Bonne pratique.
 */
.iam-callout--success {
  border-color: #498a4b;
  background: #222d27;
}

.iam-callout--success .iam-callout__eyebrow {
  color: #b8e6ba !important;
}

/*
 * Point de vigilance.
 */
.iam-callout--warning {
  border-color: #b95c23;
  background: #302722;
}

.iam-callout--warning .iam-callout__eyebrow {
  color: #ffd0ad !important;
}

/*
 * Erreur ou risque critique.
 */
.iam-callout--danger {
  border-color: #b23a2d;
  background: #322523;
}

.iam-callout--danger .iam-callout__eyebrow {
  color: #ffc0b9 !important;
}

/*
 * Citation.
 */
.iam-callout--quote {
  border-color: #2878b9;
  background: #1d2938;
}

.iam-callout--quote .iam-callout__eyebrow {
  color: #a9d6ff !important;
}

.iam-callout--quote .iam-callout__content {
  font-size: 1.08rem;
  line-height: 1.7;
}

.iam-callout--quote .iam-callout__content p {
  color: #f5f7fa !important;
}

/*
 * Mobile.
 */
@media (max-width: 640px) {
  .iam-callout {
    margin: 1.5rem 0;
    padding: 1.125rem;
  }

  .iam-callout__title {
    font-size: 1.2rem;
  }
}

/*
 * Accessibilité.
 */
@media (prefers-reduced-motion: reduce) {
  .iam-callout,
  .iam-callout * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}