/* ===========================================================================
   ALERTES — information, succès, avertissement, erreur
   ===========================================================================

   LES DEUX ROUGES NE SE CROISENT JAMAIS.

     `--iav-accent-rouge`  (#DA081C) porte « depuis 2008 » dans le pied, et
                           RIEN D'AUTRE. C'est une signature de maison.
     `--iav-avertissement-texte` (#7B241C) ne sert qu'à l'avertissement, sur
                           son fond. Il signale un danger pour le lecteur.

   Les employer dans le même bloc annule le sens des deux. Aucune règle de ce
   fichier n'appelle l'accent rouge — c'est délibéré, et c'est vérifiable.

   LA COULEUR NE PORTE JAMAIS LE SENS TOUTE SEULE. Chaque alerte porte aussi un
   TITRE qui dit de quoi il s'agit, et un pictogramme. Quelqu'un qui ne
   distingue pas le rouge du vert doit comprendre en lisant, pas en devinant.

   Contrastes mesurés, texte sur son propre fond :
     information   7,09:1     avertissement  9,38:1
     succès        4,88:1     erreur         6,56:1

   Voir `alertes.html`.
   =========================================================================== */

.iav-alerte {
  display: flex;
  align-items: flex-start;
  gap: var(--iav-espace-moyen, 12px);
  padding: var(--iav-espace-moyen, 12px) var(--iav-espace-grand, 16px);
  border: var(--iav-trait, 1px) solid;
  /* La barre de gauche double le signal : elle se voit du coin de l'œil, avant
     même qu'on ait lu. */
  border-left-width: var(--iav-trait-epais, 3px);
  border-radius: var(--iav-rayon, 8px);
  font-size: var(--iav-taille-texte, 14px);
  line-height: var(--iav-interligne, 1.5);
  margin: 0 0 var(--iav-espace-grand, 16px);
}

.iav-alerte-picto {
  flex: 0 0 auto;
  font-size: var(--iav-taille-intertitre, 16px);
  line-height: var(--iav-interligne-serre, 1.3);
  /* `aria-hidden` sur le pictogramme dans le balisage : le titre dit déjà de
     quoi il s'agit, et « point d'exclamation » lu à voix haute n'ajoute rien. */
}

.iav-alerte-corps { flex: 1 1 auto; min-width: 0; }

.iav-alerte-titre {
  display: block;
  font-weight: var(--iav-graisse-forte, 700);
  margin-bottom: var(--iav-espace-minuscule, 4px);
}

.iav-alerte-corps p:last-child { margin-bottom: 0; }

/* Le bouton de fermeture. Il ne se pose QUE sur une alerte qu'on peut se
   permettre de perdre : jamais sur une erreur de saisie, jamais sur un
   avertissement de sécurité. Ce qu'on ferme, on ne le relira pas. */
.iav-alerte-fermer {
  flex: 0 0 auto;
  background: transparent;
  border: 0;
  padding: 0 var(--iav-espace-minuscule, 4px);
  font-size: var(--iav-taille-intertitre, 16px);
  line-height: var(--iav-interligne-serre, 1.3);
  color: inherit;
  cursor: pointer;
  /* Hérite de l'opacité du texte de l'alerte plutôt que d'une couleur propre :
     le bouton reste lisible dans les quatre familles sans rien redéclarer. */
  opacity: 0.7;
}
.iav-alerte-fermer:hover { opacity: 1; }

/* --- Les quatre familles ---------------------------------------------------
   Trois jetons chacune, et les familles ne se mélangent pas.
   --------------------------------------------------------------------------- */

.iav-alerte-info {
  background: var(--iav-info-fond, #EDF3FA);
  border-color: var(--iav-info-bordure, #D6DEE8);
  border-left-color: var(--iav-info-texte, #215387);
  color: var(--iav-info-texte, #215387);
}

.iav-alerte-succes {
  background: var(--iav-succes-fond, #EDF7F1);
  border-color: var(--iav-succes-bordure, #BFE3CE);
  border-left-color: var(--iav-succes-texte, #1B7A4B);
  color: var(--iav-succes-texte, #1B7A4B);
}

.iav-alerte-avertissement {
  background: var(--iav-avertissement-fond, #FDF7F6);
  border-color: var(--iav-avertissement-bordure, #E6B0AA);
  border-left-color: var(--iav-avertissement-texte, #7B241C);
  color: var(--iav-avertissement-texte, #7B241C);
}

.iav-alerte-erreur {
  background: var(--iav-erreur-fond, #FBEDEE);
  border-color: var(--iav-erreur-bordure, #E8B4B8);
  border-left-color: var(--iav-erreur-texte, #A61B2B);
  color: var(--iav-erreur-texte, #A61B2B);
}

/* Un lien DANS une alerte garde la couleur de l'alerte et se souligne : le bleu
   des liens sur un fond bordeaux serait illisible et, surtout, non mesuré. */
.iav-alerte a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--iav-graisse-semi, 600);
}
