/*
 * Bandeaux d'information de la boutique.
 *
 * Feuille à part, chargée par les trois modules. Ces règles vivaient en
 * double dans shared.css et account.css : elles ne dépendent d'aucune grille
 * de produits, elles n'avaient donc rien à faire dans shared.css, que
 * « Mon compte » ne charge pas — d'où la copie.
 *
 * Chargée en PREMIER par chaque module, pour garder la position dans la
 * cascade qu'occupaient les deux copies, en tête de leur feuille.
 */

/*
 * « Produit ajouté au panier », erreurs de formulaire, informations. Divi les
 * habille entièrement — fond à sa couleur d'accentuation, texte blanc de
 * 18 px, rembourrage de 15 px, icône masquée — mais leur laisse des angles
 * droits. Seul l'arrondi est repris ici, réglable dans l'onglet « Général ».
 *
 * Classes redoublées plutôt qu'un ancêtre « .woocommerce » : ces bandeaux
 * apparaissent aussi bien dans une enveloppe .woocommerce que directement
 * sous le <body> qui porte cette classe, et un ancêtre ne matcherait pas le
 * second cas. Le redoublement porte à (0,2,0), soit la spécificité des règles
 * de Divi, que l'ordre de chargement départage en notre faveur.
 */
.woocommerce-message.woocommerce-message,
.woocommerce-error.woocommerce-error,
.woocommerce-info.woocommerce-info {
	border-radius: var(--wcdc-notice-radius, 8px);
}

/*
 * Une couleur par nature de message. Divi les peint tous les trois avec la
 * couleur d'accentuation du thème, depuis
 *
 *   .woocommerce .woocommerce-error,
 *   .woocommerce .woocommerce-info,
 *   .woocommerce .woocommerce-message   (0,2,0)   background: <accentuation>
 *
 * de sorte qu'une erreur de saisie s'affiche exactement comme une
 * confirmation d'ajout au panier. Le succès garde cette couleur ; l'erreur et
 * l'information en reçoivent une propre.
 *
 * « !important », parce que le Personnalisateur de Divi en pose un lui aussi,
 * dans une feuille distincte du CSS dynamique :
 *
 *   .woocommerce-error   (0,1,0)   background: <accentuation> !important
 *
 * et un « !important » l'emporte sur n'importe quelle spécificité qui n'en
 * porte pas. Une fois les deux à égalité de priorité, c'est la spécificité qui
 * tranche — d'où la classe TRIPLÉE, à (0,3,0). Doublée elle vaudrait (0,2,0),
 * ce qui suffirait contre le Personnalisateur mais laisserait l'ordre de
 * chargement départager le CSS dynamique, lequel vit dans
 * wp-content/et-cache/, hors du dossier du thème et donc hors de portée de
 * nos dépendances déclarées.
 *
 * On ne s'appuie pas davantage sur un ancêtre « .woocommerce » : le <body> de
 * l'espace client ne porte pas cette classe, seulement « woocommerce-page ».
 *
 * Contrastes sur blanc, seuil WCAG AA de 4,5:1 : erreur 7,0:1,
 * information 10,7:1 avec sa couleur par défaut.
 *
 * Le fond de l'information est réglable (onglet Général, variable
 * --wcdc-notice-info-bg) ; le repli reprend la valeur par défaut,
 * WCDC_Assets::NOTICE_INFO_BG. L'erreur reste fixe : sa couleur porte le
 * sens du message.
 */
.woocommerce-error.woocommerce-error.woocommerce-error {
	background: #a3302a !important;
}

.woocommerce-info.woocommerce-info.woocommerce-info {
	background: var(--wcdc-notice-info-bg, #3f3b4a) !important;
}

/*
 * Liens dans les bandeaux : blancs et soulignés, sur les trois types.
 *
 * Divi met déjà en blanc les liens de deux types sur trois,
 *
 *   .woocommerce-info a, .woocommerce-message a   (0,1,1)   color: #fff
 *
 * mais pas ceux de l'erreur, hors tunnel de commande : ils reprenaient la
 * couleur générale des liens du thème, le vert #177058 — 1,2:1 sur le rouge
 * brique, illisible. En blanc : 7,0:1 sur l'erreur, 10,8:1 sur l'information,
 * 6,0:1 sur le succès.
 *
 * Le soulignement vaut pour les trois. Un lien blanc au milieu d'un texte
 * blanc ne se distingue plus que par lui ; sans, rien ne signale qu'il est
 * cliquable, et la couleur seule ne suffit pas à désigner un lien (WCAG
 * 1.4.1).
 *
 * « :not(.button) » laisse les boutons tels que Divi les dessine — le bouton
 * blanc « Voir le panier » du message de succès, notamment. Sans
 * « !important » : la couleur des liens du thème (0,0,1) et la règle de Divi
 * ci-dessus (0,1,1) pèsent moins que ce sélecteur, à (0,3,1).
 */
.woocommerce-message.woocommerce-message a:not(.button),
.woocommerce-error.woocommerce-error a:not(.button),
.woocommerce-info.woocommerce-info a:not(.button) {
	color: #fff;
	text-decoration: underline;
}
