/* ============================================================
   Refonte homes 2026 — Variables de charte + base des blocs.
   Couleurs reprises de la charte CentraleSupélec Exed existante
   (voir css/cse-theme.css). Aucune couleur "Bolt" n'est utilisée.
   ============================================================ */

:root {
	--cse-rouge:        #b0083a;
	/* Mêmes composantes en RGB : les transparences (rgba) ne peuvent pas
	   consommer une couleur hexadécimale, elles suivent cette variable pour
	   basculer avec la couleur d'accent de la page. */
	--cse-rouge-rgb:    176, 8, 58;
	/* Palette figée : la couleur d'accent de la page redéfinit --cse-rouge et
	   --cse-rouge-inter, mais un choix fait carte par carte doit rester celui
	   qu'on a choisi. Les modificateurs de carte pointent donc ici. */
	--cse-palette-rouge:       #b0083a;
	--cse-palette-rouge-inter: #b51227;
	/* Teinte de survol des boutons pleins. Vaut le bordeaux de charte par
	   défaut — comportement actuel inchangé — et se redéfinit par couleur
	   d'accent, car un bouton bordeaux survolé en bordeaux ne montre rien. */
	--cse-btn-survol:          var(--cse-rouge-fonce);
	--cse-rouge-fonce:  #63003c;
	/* Rouge de la BU Inter — utilisé par les blocs Domaines et Parcours
	   (recette Luc 23/07). Les autres blocs gardent le rouge historique. */
	--cse-rouge-inter:  #b51227;
	/* Couleurs des deux autres univers, relevées sur la production
	   (CTA d'entrée de la home globale + chartes .ms / .intra du thème). */
	/* Couleur d'univers Mastères Spécialisés — passée du vert au bordeaux
	   à la recette du 04/09/2026. Volontairement écrite en clair et non en
	   var(--cse-rouge-fonce) : la teinte est identique aujourd'hui, mais les
	   deux réglages restent distincts et peuvent diverger. */
	--cse-ms:           #63003c;
	/* Lavande depuis la recette du 04/09/2026 (ex-violet #7f6993). */
	--cse-violet-intra: #967DAB;
	/* Variante lisible du lavande, pour les textes courants et les fonds qui
	   portent du texte : le lavande n'offre que 3,61:1 sur blanc, sous le
	   seuil RGAA de 4,5:1. Celle-ci tient 5,13:1 sur blanc, 4,66:1 sur ivoire,
	   et un texte blanc posé dessus 5,13:1. Le lavande reste aux aplats,
	   pictogrammes et grands titres (arbitrage Luc, 11/09/2026). */
	--cse-violet-intra-texte: #7D6395;
	--cse-anthracite:   #29252b;
	--cse-ivoire:       #f4f4f1;
	--cse-blanc:        #ffffff;
	--cse-gris:         rgba(41, 37, 43, .70);
	--cse-bordure:      rgba(41, 37, 43, .12);
	--cse-largeur-max:  1440px;
}

/* ---- Enveloppe commune des blocs ----
   Le contenu reste dans un conteneur centré (largeur max). Un bloc peut
   faire déborder un média jusqu'au bord de l'écran via sa propre section
   (ex. l'image du hero), tout en gardant son contenu centré. */
.cse-bloc { width: 100%; }
.cse-bloc--fond-blanc    { background: var(--cse-blanc); }
.cse-bloc--fond-ivoire   { background: var(--cse-ivoire); }
.cse-bloc--fond-bordeaux { background: var(--cse-rouge-fonce); color: #fff; }
/* Fond rouge BU Inter sur toute la section, cartes blanches par-dessus
   (demande Floriane 03/08). */
.cse-bloc--fond-inter    { background: var(--cse-accent-lisible, var(--cse-rouge-inter)); color: #fff; }
.cse-bloc__inner {
	max-width: var(--cse-largeur-max);
	margin: 0 auto;
	padding: 56px 24px;
}

/* ---- Boutons ---- */
.cse-btn {
	display: inline-flex;
	align-items: center;
	border-radius: 6px;
	padding: 14px 24px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.cse-btn--primaire { background: var(--cse-accent-lisible, var(--cse-rouge)); color: #fff; }
.cse-btn--primaire:hover { background: var(--cse-btn-survol); }
.cse-btn--secondaire { border: 1px solid rgba(var(--cse-rouge-rgb), .4); color: var(--cse-accent-lisible, var(--cse-rouge)); background: #fff; }
.cse-btn--secondaire:hover { background: rgba(var(--cse-rouge-rgb), .05); }

/* ============================================================
   Bloc B1 — Hero
   La SECTION est positionnée + overflow hidden : l'image de fond
   déborde jusqu'au bord droit de l'écran, tandis que le CONTENU
   (texte + cartes chiffres) reste dans le conteneur centré.
   ============================================================ */
.cse-bloc--hero { position: relative; overflow: hidden; }

.cse-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}
@media (min-width: 992px) {
	/* Colonne texte resserrée : le visuel de droite respire davantage
	   et le cadrage des images est moins contraint (recette Luc, pts 1-2). */
	.cse-hero { grid-template-columns: 0.92fr 1.08fr; min-height: 460px; align-items: center; }
}

/* Image de fond : moitié droite, jusqu'au bord de l'écran.
   Positionnée sur .cse-bloc--hero (section pleine largeur), pas sur le
   conteneur centré → elle déborde bien jusqu'au bord droit. */
.cse-hero__media { display: none; }
@media (min-width: 992px) {
	.cse-hero__media {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 50%;
	}
}
.cse-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.cse-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, var(--cse-blanc) 0%, rgba(255, 255, 255, 0) 42%);
}

.cse-hero__content { position: relative; z-index: 1; }
.cse-hero__surtitre {
	margin: 0 0 16px;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: 14px;
	font-weight: 700;
	color: var(--cse-accent-lisible, var(--cse-rouge));
}
.cse-hero__titre {
	margin: 0;
	font-size: 40px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--cse-anthracite);
}
.cse-hero__titre strong,
.cse-section-titre strong { color: var(--cse-rouge); font-weight: 700; }
/* Sur fond bordeaux ou rouge Inter, le rouge de charte ne ressort pas :
   la mise en valeur passe en blanc. */
.cse-bloc--sombre .cse-hero__titre strong,
.cse-bloc--sombre .cse-section-titre strong { color: #fff; }
.cse-hero__accroche {
	margin-top: 20px;
	max-width: 32em;
	font-size: 18px;
	line-height: 1.6;
	color: var(--cse-gris);
}
.cse-hero__boutons { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 14px; }

/* Cartes chiffres : dans la colonne de droite du conteneur centré,
   posées au-dessus de l'image (elles "flottent" sur le visuel). */
/* Panneau compact (~carré), calé en bas à gauche de la moitié droite,
   comme la maquette : il occupe moins de largeur, ce qui dégage le visuel
   et assouplit le cadrage (recette Luc, pt 1). */
.cse-hero__stats {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	max-width: 430px;
	margin-right: auto;
}
.cse-hero__stat {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--cse-bordure);
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 10px 30px -18px rgba(99, 0, 60, .25);
}
@media (min-width: 992px) {
	/* Panneau posé en bas de la colonne (le texte reste centré).
	   Le bloc a 56px de padding bas : la marge négative ramène l'écart
	   sous les cartes à 40px, sans décaler le reste du hero. */
	.cse-hero__stats { align-self: end; margin-bottom: -16px; }
	/* Hauteur ≈ largeur de colonne → ensemble quasi carré. */
	.cse-hero__stat { min-height: 196px; }
	.cse-hero__stat-label { margin-top: auto; }
}
/* Pictogrammes agrandis (recette Luc, pt 5). */
.cse-hero__stat-icone { width: 40px; height: 40px; margin-bottom: 14px; object-fit: contain; }
.cse-hero__stat-valeur { font-size: 28px; line-height: 1.15; font-weight: 700; color: var(--cse-anthracite); }
.cse-hero__stat-label { margin-top: 8px; font-size: 13px; line-height: 1.4; color: var(--cse-gris); }
.cse-hero__note { margin-top: 16px; font-size: 12px; color: var(--cse-gris); }

/* ---- Éléments d'en-tête de section (réutilisables par les blocs) ---- */
.cse-eyebrow {
	margin: 0 0 12px;
	text-transform: uppercase;
	letter-spacing: .16em;
	/* 14px : taille des sur-titres sur les trois maquettes (text-sm). */
	font-size: 14px;
	font-weight: 700;
	color: var(--cse-accent-lisible, var(--cse-rouge));
}
.cse-section-titre {
	margin: 0;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--cse-anthracite);
}

/* ============================================================
   Bloc B2 — Domaines / Axes
   ============================================================ */
/* Espaces verticaux resserrés (recette Luc, pts 3 & 7). */
.cse-bloc--domaines .cse-bloc__inner { padding-top: 44px; padding-bottom: 44px; }
.cse-domaines__header { max-width: 760px; margin-bottom: 28px; }
.cse-domaines__intro { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--cse-gris); }

.cse-domaines__grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cse-domaines__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) {
	.cse-domaines__grid--4 { grid-template-columns: repeat(4, 1fr); }
	.cse-domaines__grid--2 { grid-template-columns: repeat(2, 1fr); }
}

.cse-domaine {
	/* Rouge BU Inter par défaut (recette Luc, pt 8). */
	--dom: var(--cse-rouge-inter);
	/* Teinte des textes de la carte : celle de la carte, sauf pour le lavande
	   qui a sa variante lisible (voir --cse-violet-intra-texte). Résolue sur la
	   carte elle-même, elle suit donc le modificateur de couleur posé. */
	--dom-texte: var(--dom);
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--cse-bordure);
	border-radius: 12px;
	padding: 22px;
	transition: transform .2s, box-shadow .2s;
}
.cse-domaine:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -24px rgba(99, 0, 60, .35); }
/* Le choix « Rouge » du back-office = rouge BU Inter (recette Luc, pt 8).
   Cette classe est toujours posée par le template (valeur par défaut du
   champ), c'est donc bien ici que la couleur des cartes se décide. */
/* Quatre couleurs proposées à l'éditeur : la charte générale et les trois
   univers. Les clés sont les mêmes que sur le bloc Univers. */
.cse-domaine--charte     { --dom: var(--cse-palette-rouge); }
.cse-domaine--inter      { --dom: var(--cse-palette-rouge-inter); }
/* Anciennes valeurs, retirées du sélecteur mais conservées : des cartes
   enregistrées avant septembre 2026 les utilisent encore. */
.cse-domaine--rouge      { --dom: var(--cse-palette-rouge-inter); }
.cse-domaine--bordeaux   { --dom: var(--cse-rouge-fonce); }
.cse-domaine--anthracite { --dom: var(--cse-anthracite); }
/* Couleurs des autres univers, pour les homes MS et Intra. */
.cse-domaine--ms         { --dom: var(--cse-ms); }
.cse-domaine--intra      { --dom: var(--cse-violet-intra); --dom-texte: var(--cse-violet-intra-texte); }

.cse-domaine__icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--dom);
	margin-bottom: 16px;
}
.cse-domaine__icone img { width: 26px; height: 26px; filter: brightness(0) invert(1); }
.cse-domaine__titre { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--dom-texte); }
.cse-domaine__texte { margin-top: 14px; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }
/* Pied de carte (badge + lien) ancré en bas, le contenu reste en haut. */
.cse-domaine__footer { margin-top: auto; padding-top: 14px; display: flex; flex-direction: column; align-items: flex-start; }
/* Pied vide (ni badge ni lien) : pas d'espace superflu. */
.cse-domaine__footer:empty { display: none; }
.cse-domaine__badge {
	align-self: flex-start;
	padding: 9px 18px;
	line-height: 1.35;
	border: 1px solid var(--dom);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	color: var(--dom-texte);
	background: #fff;
}
.cse-domaine__lien { margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--dom-texte); text-decoration: none; }
.cse-domaine__footer > :first-child { margin-top: 0; }
.cse-domaine__lien::after { content: " \2192"; }
.cse-domaines__cta { margin-top: 28px; text-align: center; }

/* ============================================================
   Bloc B3 — Programmes mis en avant
   ============================================================ */
.cse-programmes__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.cse-lien-fleche { font-size: 14px; font-weight: 600; color: var(--cse-accent-lisible, var(--cse-rouge)); text-decoration: none; white-space: nowrap; }
.cse-lien-fleche::after { content: " \2192"; }

.cse-programmes__slider { position: relative; }
.cse-programmes__swiper { position: relative; overflow: hidden; }
.cse-programmes__swiper .swiper-slide { height: auto; display: flex; }
.cse-programmes__swiper .swiper-slide > .cse-programme { width: 100%; }

.cse-programme {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--cse-bordure);
	border-radius: 12px;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.cse-programme:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -24px rgba(99, 0, 60, .35); }
.cse-programme__media { position: relative; display: block; }
.cse-programme__img {
	display: block;
	height: 170px;
	background-size: cover;
	background-position: center;
	background-color: var(--cse-ivoire);
}
/* Badges du visuel : type de formation + éligibilité CPF, côte à côte
   et de présentation identique (demande Floriane 04/08). */
.cse-programme__badges {
	position: absolute;
	bottom: 10px;
	left: 10px;
	right: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.cse-programme__type,
.cse-programme__cpf {
	background: var(--cse-accent-lisible, var(--cse-rouge));
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 4px;
}
.cse-programme__body { display: flex; flex-direction: column; gap: 8px; padding: 20px; flex: 1; }
.cse-programme__cat { margin: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cse-accent-lisible, var(--cse-rouge)); }
.cse-programme__titre { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700; }
.cse-programme__titre a { color: var(--cse-anthracite); text-decoration: none; }
.cse-programme__titre a:hover { color: var(--cse-accent-lisible, var(--cse-rouge)); }
.cse-programme__duree { margin-top: auto; padding-top: 8px; font-size: 13px; color: var(--cse-gris); }

/* Flèches + pagination du carrousel */
.cse-swiper-btn {
	position: absolute;
	top: 85px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--cse-bordure);
	background: #fff;
	color: var(--cse-rouge);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 20px -10px rgba(99, 0, 60, .30);
}
.cse-swiper-btn--prev { left: -12px; }
.cse-swiper-btn--next { right: -12px; }
.cse-swiper-btn.swiper-button-disabled { opacity: .35; cursor: default; }
.cse-swiper-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.cse-swiper-pagination .swiper-pagination-bullet { width: 8px; height: 8px; border-radius: 999px; background: var(--cse-anthracite); opacity: .2; cursor: pointer; }
.cse-swiper-pagination .swiper-pagination-bullet-active { background: var(--cse-rouge); opacity: 1; }

/* ============================================================
   Bloc B6 — Réassurance / Pourquoi nous choisir
   ============================================================ */
.cse-reassurance__header { max-width: 760px; margin-bottom: 32px; }
.cse-reassurance--cartes .cse-reassurance__header { max-width: 760px; text-align: left; }
.cse-reassurance__intro { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--cse-gris); }

.cse-reassurance--checklist .cse-reassurance__grid { display: grid; gap: 20px 32px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cse-reassurance--checklist .cse-reassurance__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .cse-reassurance--checklist .cse-reassurance__grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } }
.cse-reass-item { display: flex; gap: 12px; align-items: flex-start; }
.cse-reass-item__check { flex-shrink: 0; color: var(--cse-rouge); }
.cse-reass-item__check svg { width: 22px; height: 22px; display: block; }
.cse-reass-item__titre { display: block; margin-bottom: 2px; font-weight: 700; font-size: 14px; color: var(--cse-anthracite); }
.cse-reass-item__texte { display: block; font-size: 14px; line-height: 1.5; color: var(--cse-gris); }

.cse-reassurance--cartes .cse-reassurance__grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cse-reassurance--cartes .cse-reassurance__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .cse-reassurance--cartes .cse-reassurance__grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } }
/* Item horizontal : icône à gauche, texte à droite (centrés verticalement), sans fond. */
.cse-reass-carte { display: flex; gap: 14px; align-items: center; text-align: left; padding: 6px 0; }
.cse-reass-carte__icone { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
/* Pictogrammes un peu plus visibles (recette Luc, pt 4). */
.cse-reass-carte__icone img { width: 52px; height: 52px; object-fit: contain; }
.cse-reass-carte__body { flex: 1; }
.cse-reass-carte__titre { margin: 0; font-size: 16px; font-weight: 700; color: var(--cse-anthracite); }
.cse-reass-carte__texte { margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }
/* Sans titre (façon maquette) : le texte devient le libellé principal. */
.cse-reass-carte__texte:first-child { margin-top: 0; color: var(--cse-anthracite); }
/* Barres de séparation verticales entre les éléments (façon maquette). */
@media (min-width: 992px) {
	.cse-reassurance--cartes .cse-reass-carte { border-left: 1px solid var(--cse-bordure); padding-left: 24px; }
	.cse-reassurance--cartes .cse-reass-carte:first-child { border-left: 0; padding-left: 0; }
}

/* ============================================================
   Bloc B7 — Chiffres clés (s'adapte au fond du bloc)
   ============================================================ */
.cse-chiffres__eyebrow { margin-bottom: 32px; }
.cse-chiffres__grid { display: flex; flex-wrap: wrap; gap: 32px 40px; }
.cse-chiffre { flex: 1 1 150px; }
.cse-chiffre__valeur { font-size: 38px; line-height: 1.05; font-weight: 700; color: var(--cse-rouge); }
.cse-chiffre__label { margin-top: 8px; max-width: 220px; font-size: 14px; line-height: 1.4; color: var(--cse-gris); }
.cse-chiffres__note { margin-top: 24px; font-size: 12px; color: var(--cse-gris); }
.cse-bloc--sombre .cse-chiffre__valeur { color: #fff; }
.cse-bloc--sombre .cse-chiffre__label,
.cse-bloc--sombre .cse-chiffres__note { color: rgba(255, 255, 255, .75); }
.cse-bloc--sombre .cse-chiffres__eyebrow { color: rgba(255, 255, 255, .85); }

/* ============================================================
   Fond bordeaux : passage du texte en clair pour TOUS les blocs.
   (Les cartes à fond blanc — domaines, programmes — gardent leur
   texte foncé puisqu'elles ont leur propre fond.)
   ============================================================ */
.cse-bloc--sombre .cse-eyebrow { color: rgba(255, 255, 255, .85); }
.cse-bloc--sombre .cse-section-titre { color: #fff; }
.cse-bloc--sombre .cse-domaines__intro,
.cse-bloc--sombre .cse-reassurance__intro { color: rgba(255, 255, 255, .80); }
.cse-bloc--sombre .cse-lien-fleche { color: #fff; }
.cse-bloc--sombre .cse-reass-item__titre { color: #fff; }
.cse-bloc--sombre .cse-reass-item__texte { color: rgba(255, 255, 255, .80); }
.cse-bloc--sombre .cse-reass-item__check { color: #fff; }
.cse-bloc--sombre .cse-reass-carte__titre { color: #fff; }
.cse-bloc--sombre .cse-reass-carte__texte { color: rgba(255, 255, 255, .80); }

/* ============================================================
   Bloc B5 — Actualités / Ressources
   ============================================================ */
.cse-actus { display: grid; gap: 32px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 992px) {
	.cse-actus--laterale { grid-template-columns: 0.42fr 1fr; }
	/* Portrait calé en bas à droite, débordant sous/derrière la 3e actualité. */
	.cse-actus--aside { position: relative; }
	.cse-actus--aside .cse-actus__grid { position: relative; z-index: 1; padding-right: 190px; }
	/* Les cartes doivent rester AU-DESSUS du portrait : c'est lui qui passe
	   derrière la 3e carte, jamais l'inverse (empilement explicite, pour ne
	   pas dépendre du seul z-index du conteneur). */
	.cse-actus--aside .cse-actu { position: relative; z-index: 1; }
	/* Photo centrée sur la rangée de cartes, débordant de 24px en haut et en bas. */
	.cse-actus--aside .cse-actus__aside { position: absolute; right: -24px; top: -24px; bottom: -24px; width: 250px; height: auto; min-height: 0; z-index: 0; }
}
.cse-actus__titre-section { margin-top: 12px; }
.cse-actus__cta { margin-top: 24px; }

/* Boutons de catégories sous le titre (recette Luc, pt 11). */
.cse-actus__categories { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.cse-actus__categorie {
	display: inline-block;
	padding: 5px 14px;
	border: 1px solid var(--cse-bordure);
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	font-weight: 600;
	color: var(--cse-anthracite);
	text-decoration: none;
	transition: border-color .2s, color .2s, background .2s;
}
.cse-actus__categorie:hover { border-color: var(--cse-rouge); color: var(--cse-accent-lisible, var(--cse-rouge)); background: rgba(var(--cse-rouge-rgb), .04); }
.cse-bloc--sombre .cse-actus__categorie { border-color: rgba(255, 255, 255, .35); background: transparent; color: #fff; }
.cse-bloc--sombre .cse-actus__categorie:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.cse-actus__grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .cse-actus__grid { grid-template-columns: repeat(3, 1fr); } }
/* Carte : le visuel (optionnel) occupe toute la largeur en haut, le contenu
   porte le padding (recette Luc, pt 10). */
.cse-actu { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cse-bordure); border-radius: 12px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cse-actu:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -24px rgba(99, 0, 60, .35); }
.cse-actu__body { display: flex; flex-direction: column; flex: 1; padding: 22px; }
.cse-actu__media { display: block; overflow: hidden; }
.cse-actu__img {
	display: block;
	height: 140px;
	background-size: cover;
	background-position: center;
	background-color: var(--cse-ivoire);
	transition: transform .35s ease;
}
.cse-actu:hover .cse-actu__img { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) {
	.cse-actu, .cse-actu__img { transition: none; }
	.cse-actu:hover { transform: none; }
	.cse-actu:hover .cse-actu__img { transform: none; }
}
/* Type puis date, toujours l'un sous l'autre : présentation identique
   quelle que soit la largeur de carte, et aucune date tronquée. */
.cse-actu__meta { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cse-actu__type { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cse-accent-lisible, var(--cse-rouge)); }
.cse-actu__date { font-size: 12px; color: var(--cse-gris); white-space: nowrap; }
.cse-actu__titre { margin: 16px 0 0; font-size: 15px; line-height: 1.4; font-weight: 700; }
.cse-actu__titre a { color: var(--cse-anthracite); text-decoration: none; }
.cse-actu__titre a:hover { color: var(--cse-accent-lisible, var(--cse-rouge)); }
/* Lien ancré en bas de la carte, le contenu reste en haut. */
.cse-actu__lien { margin-top: auto; padding-top: 18px; font-size: 14px; font-weight: 600; color: var(--cse-accent-lisible, var(--cse-rouge)); text-decoration: none; }
.cse-actu__lien::after { content: " \2192"; }
.cse-actus__aside { min-height: 240px; border-radius: 12px; background-size: cover; background-position: center; }

/* ============================================================
   Bloc B10 — Parcours par profil
   ============================================================ */
.cse-parcours__header { max-width: 760px; margin-bottom: 40px; }
.cse-parcours__intro { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--cse-gris); }
.cse-parcours__grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .cse-parcours__grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); } }
/* Survol dynamique : léger soulèvement + zoom du visuel, comme les cartes
   formations / programmes (recette Luc, pt 9). */
.cse-parcours-carte { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cse-bordure); border-radius: 12px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cse-parcours-carte:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -24px rgba(99, 0, 60, .35); }
.cse-parcours-carte__img { display: block; height: 180px; background-size: cover; background-position: center; background-color: var(--cse-ivoire); transition: transform .35s ease; }
.cse-parcours-carte:hover .cse-parcours-carte__img { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) {
	.cse-parcours-carte, .cse-parcours-carte__img { transition: none; }
	.cse-parcours-carte:hover { transform: none; }
	.cse-parcours-carte:hover .cse-parcours-carte__img { transform: none; }
}
.cse-parcours-carte__body { display: flex; flex-direction: column; padding: 22px; flex: 1; }
/* ≥768px : carte horizontale, image sur le côté (gauche) au lieu du dessus. */
@media (min-width: 768px) {
	.cse-parcours-carte { flex-direction: row; align-items: stretch; }
	.cse-parcours-carte__img { height: auto; align-self: stretch; flex: 0 0 40%; min-height: 200px; }
	.cse-parcours-carte__body { flex: 1 1 60%; justify-content: center; }
}
.cse-parcours-carte__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--cse-accent-lisible, var(--cse-rouge-inter)); }
.cse-parcours-carte__titre { margin: 10px 0 0; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--cse-anthracite); }
.cse-parcours-carte__texte { margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }
.cse-parcours-carte__lien { margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--cse-accent-lisible, var(--cse-rouge-inter)); text-decoration: none; }
.cse-parcours-carte__lien::after { content: " \2192"; }

/* ============================================================
   Bloc B4 — Recherche de formations (WP Grid Builder)
   ============================================================ */
.cse-recherche__header { max-width: 760px; margin-bottom: 28px; }
.cse-recherche__notice { padding: 16px 20px; border: 1px dashed var(--cse-rouge); border-radius: 12px; background: #fff; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }

.cse-recherche__barre { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.cse-recherche__facette { flex: 1 1 220px; min-width: 0; }
.cse-recherche__facette--recherche { flex: 2 1 300px; }
.cse-recherche__facette--bouton { flex: 0 0 auto; display: flex; align-items: stretch; }

/* Harmonisation des facettes WPGB avec la charte (sélecteurs génériques,
   à affiner une fois l'extension installée si le rendu diverge). */
.cse-recherche .wpgb-facet { margin: 0; }
/* Neutralise la marge basse de 40px que le plugin met sous chaque facette :
   elle désaxait la barre et repoussait les recherches populaires. */
.cse-recherche .wpgb-facet fieldset,
.cse-recherche .wpgb-facet fieldset:last-child { margin-bottom: 0; }
.cse-recherche .wpgb-facet input[type="search"],
.cse-recherche .wpgb-facet input[type="text"],
.cse-recherche .wpgb-facet select {
	box-sizing: border-box; /* le plugin met les selects en content-box (48px + paddings = 70px) */
	width: 100%;
	height: 48px;
	min-height: 48px;
	padding: 10px 16px;
	border: 1px solid var(--cse-bordure);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	color: var(--cse-anthracite);
}
/* Le plugin met 40px de marge sous son bouton (.wpgb-facet button.wpgb-apply) :
   ça le désaxait de la barre. Sélecteur renforcé pour gagner la cascade. */
.cse-recherche .wpgb-facet button.wpgb-apply,
.cse-recherche .wpgb-button { margin: 0; }
.cse-recherche .wpgb-facet input:focus,
.cse-recherche .wpgb-facet select:focus { outline: 2px solid var(--cse-rouge); outline-offset: -1px; }
.cse-recherche .wpgb-facet button[type="submit"],
.cse-recherche__facette--bouton .wpgb-facet button {
	min-height: 48px;
	padding: 10px 28px;
	border: 0;
	border-radius: 8px;
	background: var(--cse-accent-lisible, var(--cse-rouge));
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.cse-recherche__facette--bouton .wpgb-facet button:hover { background: var(--cse-rouge-fonce); }

/* Page de résultats (template WPGB « formations ») : l'ancien catalogue
   masque .formation-item par défaut (c'est son JS de filtres qui les révèle)
   et fige .formation-list à 684px (2 colonnes contre la colonne de filtres).
   Ici c'est WP Grid Builder qui filtre : on affiche les cartes et on laisse
   la liste occuper la largeur disponible. */
.wpgb-template.formation-list { width: 100%; justify-content: flex-start; column-gap: 24px; }
/* Cartes en 3 colonnes remplissant toute la largeur (comme la barre/filtres).
   On passe par flex-basis : le thème fige .formation-item à 310px via `width`,
   valeur que le flex-shrink de la liste empêche d'outrepasser autrement. */
.wpgb-template.formation-list .formation-item { display: block; flex: 0 0 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); }
.wpgb-template.formation-list .formation-link,
.wpgb-template.formation-list .formation-img { width: 100%; }
@media (max-width: 991px) { .wpgb-template.formation-list .formation-item { flex-basis: calc((100% - 24px) / 2); max-width: calc((100% - 24px) / 2); } }
@media (max-width: 639px) { .wpgb-template.formation-list .formation-item { flex-basis: 100%; max-width: 100%; } }
/* Resserre les facettes posées dans le contenu de la page de résultats :
   marge basse plugin (40px) réduite + saut de ligne du contenu masqué. */
.global-text .wpgb-facet fieldset,
.global-text .wpgb-facet fieldset:last-child { margin-bottom: 14px; }
.global-text .wpgb-facet + br { display: none; }
/* Libellé au-dessus de chaque filtre de la page de résultats.
   Généré par le thème (le champ « Title » des facettes n'est pas dispo dans
   cette config) via :has() ciblant le nom stable de chaque champ — insensible
   aux IDs de facettes qui peuvent changer entre préprod et production. */
.global-text .wpgb-facet:has(select)::before {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--cse-anthracite);
}
.global-text .wpgb-facet:has(select[name="domaines"])::before { content: "Domaine"; }
.global-text .wpgb-facet:has(select[name="formats"])::before { content: "Type de formation"; }
/* Les deux listes déroulantes côte à côte sur une même ligne. */
.global-text .wpgb-facet:has(select) { float: left; width: calc(50% - 12px); box-sizing: border-box; }
.global-text .wpgb-facet:has(select[name="domaines"]) { margin-right: 20px; }
.global-text .wpgb-template { clear: both; }

.cse-recherche__populaires { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.cse-recherche__populaires-label { font-size: 13px; font-weight: 700; color: var(--cse-anthracite); }
.cse-recherche-chip { display: inline-block; padding: 4px 12px; border: 1px solid var(--cse-bordure); border-radius: 999px; background: #fff; font-size: 12px; color: var(--cse-anthracite); text-decoration: none; }
a.cse-recherche-chip:hover { border-color: var(--cse-rouge); color: var(--cse-accent-lisible, var(--cse-rouge)); }

/* ============================================================
   Bloc B8 — Logos clients / Ils nous font confiance
   ============================================================ */
.cse-logos__header { margin-bottom: 32px; }
.cse-logos__grid {
	display: grid;
	gap: 24px 32px;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
}
@media (min-width: 640px) { .cse-logos__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .cse-logos__grid { grid-template-columns: repeat(6, 1fr); } }
.cse-logo { display: flex; align-items: center; justify-content: center; }
.cse-logo__img {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.cse-logo__lien { display: block; }
/* Variante encadrée : chaque logo dans une carte bordée (façon maquette Intra). */
.cse-logos--encadre .cse-logo {
	border: 1px solid var(--cse-bordure);
	border-radius: 8px;
	background: #fff;
	padding: 20px 16px;
	min-height: 96px;
}
.cse-logos__cta { margin-top: 32px; text-align: center; }

/* ============================================================
   Bloc B9 — Univers / Nos offres
   ============================================================ */
.cse-univers__header { margin-bottom: 40px; }
.cse-univers--centre .cse-univers__header { text-align: center; }
.cse-univers__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .cse-univers__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .cse-univers__grid { grid-template-columns: repeat(3, 1fr); } }

.cse-univers-carte {
	--univ: var(--cse-rouge);
	/* Même principe que --dom-texte : le titre (20px gras, grand texte) garde
	   la teinte d'aplat, le lien de 14px prend la variante lisible. */
	--univ-texte: var(--univ);
	/* Bloc conteneur du lien étendu (voir --cliquable plus bas). */
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--cse-bordure);
	border-bottom: 4px solid var(--univ);
	border-radius: 12px;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.cse-univers-carte:hover,
.cse-univers-carte:focus-within { transform: translateY(-4px); box-shadow: 0 20px 44px -26px rgba(99, 0, 60, .40); }
.cse-univers-carte--inter      { --univ: var(--cse-palette-rouge-inter); }
.cse-univers-carte--ms         { --univ: var(--cse-ms); }
.cse-univers-carte--intra      { --univ: var(--cse-violet-intra); --univ-texte: var(--cse-violet-intra-texte); }
.cse-univers-carte--charte     { --univ: var(--cse-palette-rouge); }
/* Anciennes valeurs, hors sélecteur mais toujours rendues. */
.cse-univers-carte--rouge      { --univ: var(--cse-palette-rouge); }
.cse-univers-carte--bordeaux   { --univ: var(--cse-rouge-fonce); }
.cse-univers-carte--anthracite { --univ: var(--cse-anthracite); }

/* Média + pastille d'icône débordant sur le corps de la carte. */
.cse-univers-carte__media { position: relative; }
.cse-univers-carte__img {
	display: block;
	height: 200px;
	background-size: cover;
	background-position: center;
	background-color: var(--cse-ivoire);
	transition: transform .4s;
}
.cse-univers-carte:hover .cse-univers-carte__img,
.cse-univers-carte:focus-within .cse-univers-carte__img { transform: scale(1.05); }
.cse-univers-carte__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(41, 37, 43, .45), transparent 60%);
	pointer-events: none;
}
.cse-univers-carte__icone {
	position: absolute;
	left: 24px;
	bottom: -26px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 999px;
	background: var(--univ);
	box-shadow: 0 10px 26px -12px rgba(41, 37, 43, .5);
}
.cse-univers-carte__icone img { width: 28px; height: 28px; filter: brightness(0) invert(1); }

.cse-univers-carte__body { display: flex; flex-direction: column; flex: 1; padding: 46px 26px 26px; }
.cse-univers-carte__titre { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--univ); }
.cse-univers-carte__texte { margin-top: 14px; font-size: 14px; line-height: 1.7; color: var(--cse-gris); }
.cse-univers-carte__lien { margin-top: auto; padding-top: 22px; font-size: 14px; font-weight: 600; color: var(--univ-texte); text-decoration: none; }
.cse-univers-carte__lien::after { content: " \2192"; }

/* Carte entièrement cliquable : le CTA reste le seul lien de la carte et sa
   zone de clic est étendue à toute la surface. Pas de lien imbriqué, un seul
   arrêt de tabulation, et le libellé du bouton reste visible.
   ::before et non ::after — ce dernier porte déjà la flèche.
   z-index 2 — la pastille d'icône est en z-index 1 et laisserait sinon un
   disque de 60 px non cliquable au milieu de la carte. */
.cse-univers-carte--cliquable { cursor: pointer; }
.cse-univers-carte--cliquable .cse-univers-carte__lien::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: 12px;
}
/* Le focus clavier se voit sur la carte entière, pas sur le seul libellé. */
/* L'anneau est tracé hors de la carte, donc sur le fond de section : en
   couleur d'univers il disparaîtrait sur un fond bordeaux ou rouge Inter.
   Anthracite + halo blanc, lisible sur tous les fonds prévus. */
.cse-univers-carte--cliquable:focus-within {
	outline: 2px solid var(--cse-anthracite);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px #fff, 0 20px 44px -26px rgba(99, 0, 60, .40);
}
.cse-univers-carte--cliquable .cse-univers-carte__lien:focus-visible { outline: none; }

/* ============================================================
   Bloc B11 — Approche sur mesure (univers Intra)
   ============================================================ */
.cse-approche { display: grid; gap: 40px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 992px) {
	.cse-approche { grid-template-columns: 0.55fr 0.45fr; }
	.cse-approche--simple { grid-template-columns: 1fr; }
}
.cse-approche__header { margin-bottom: 32px; max-width: 720px; }
.cse-approche__etapes { display: grid; gap: 22px; }

.cse-etape { display: flex; gap: 16px; align-items: flex-start; }
.cse-etape__icone {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(var(--cse-rouge-rgb), .2);
	border-radius: 8px;
	background: #fff;
}
.cse-etape__icone img { width: 22px; height: 22px; }
.cse-etape__titre { margin: 0; font-size: 16px; font-weight: 700; color: var(--cse-anthracite); }
.cse-etape__texte { margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }

.cse-approche__aside { display: grid; gap: 24px; }
.cse-approche__objectifs { border: 1px solid var(--cse-bordure); border-radius: 12px; background: #fff; padding: 28px; }
.cse-approche__objectifs-titre { margin: 0; font-size: 18px; font-weight: 700; color: var(--cse-anthracite); }
.cse-approche__liste { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 14px; }
.cse-approche__liste li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }
.cse-approche__check { flex-shrink: 0; color: var(--cse-rouge-inter); }
.cse-approche__check svg { width: 20px; height: 20px; display: block; }

.cse-approche__visuel { border: 1px solid var(--cse-bordure); border-radius: 12px; background: #fff; overflow: hidden; }
.cse-approche__visuel-media {
	position: relative;
	min-height: 240px;
	background-size: cover;
	background-position: center;
	background-color: var(--cse-ivoire);
	display: flex;
	align-items: flex-end;
	padding: 20px;
}
.cse-approche__encart {
	margin: 0;
	max-width: 20em;
	background: var(--cse-rouge-fonce);
	color: #fff;
	border-radius: 6px;
	padding: 16px 18px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: 0 14px 30px -18px rgba(41, 37, 43, .6);
}
.cse-approche__legende { margin: 0; padding: 18px 20px; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }

/* Fond bordeaux : adaptation des textes de ces trois blocs. */
.cse-bloc--sombre .cse-univers-carte__texte,
.cse-bloc--sombre .cse-etape__texte { color: var(--cse-gris); }
.cse-bloc--sombre .cse-etape__titre { color: #fff; }
.cse-bloc--sombre .cse-etape__texte { color: rgba(255, 255, 255, .80); }
.cse-bloc--sombre .cse-etape__icone { border-color: rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .08); }

/* ============================================================
   Variantes d'affichage (utilisées notamment par la page d'accueil)
   ============================================================ */

/* --- Réassurance : titre à gauche, éléments à droite --- */
@media (min-width: 992px) {
	.cse-reassurance--laterale {
		display: grid;
		grid-template-columns: 0.34fr 0.66fr;
		gap: 48px;
		align-items: start;
	}
	.cse-reassurance--laterale .cse-reassurance__header { margin-bottom: 0; max-width: none; }
	/* En colonne latérale, les éléments passent en vertical (icône au-dessus)
	   et sont séparés par un filet, façon maquette d'accueil. */
	.cse-reassurance--laterale.cse-reassurance--cartes .cse-reass-carte {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
	.cse-reassurance--laterale.cse-reassurance--cartes .cse-reass-carte__icone {
		background: rgba(var(--cse-rouge-rgb), .10);
		border-radius: 999px;
		padding: 14px;
	}
	.cse-reassurance--laterale.cse-reassurance--cartes .cse-reass-carte__icone img { width: 28px; height: 28px; }
}

/* --- Chiffres : version encadrée, centrée, avec séparateurs --- */
.cse-chiffres--encadre .cse-chiffres__grid {
	border: 1px solid var(--cse-bordure);
	border-radius: 12px;
	background: #fff;
	padding: 32px 24px;
	box-shadow: 0 10px 30px -24px rgba(99, 0, 60, .3);
	gap: 24px;
}
.cse-chiffres--encadre .cse-chiffre { text-align: center; }
.cse-chiffres--encadre .cse-chiffre__label { margin-left: auto; margin-right: auto; }
@media (min-width: 768px) {
	.cse-chiffres--encadre .cse-chiffre + .cse-chiffre { border-left: 1px solid var(--cse-bordure); }
}
/* Sur fond bordeaux, le cadre reste lisible. */
.cse-bloc--sombre .cse-chiffres--encadre .cse-chiffres__grid { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18); }

/* --- Actualités : cartes horizontales (visuel à gauche) --- */
@media (min-width: 768px) {
	.cse-actus--horizontal .cse-actu--visuel {
		display: grid;
		grid-template-columns: 0.35fr 0.65fr;
		align-items: stretch;
		padding: 0;
	}
	.cse-actus--horizontal .cse-actu--visuel .cse-actu__media { height: 100%; }
	.cse-actus--horizontal .cse-actu--visuel .cse-actu__img { height: 100%; min-height: 160px; border-radius: 0; }
	.cse-actus--horizontal .cse-actu--visuel .cse-actu__body { padding: 22px; }
}

/* --- Fond coloré : les cartes blanches gardent leur lisibilité --- */
.cse-bloc--sombre .cse-domaine,
.cse-bloc--sombre .cse-programme,
.cse-bloc--sombre .cse-actu,
.cse-bloc--sombre .cse-parcours-carte,
.cse-bloc--sombre .cse-univers-carte { border-color: rgba(255, 255, 255, .18); }
/* Le texte à l'intérieur des cartes reste foncé (fond blanc). */
.cse-bloc--sombre .cse-domaine__texte,
.cse-bloc--sombre .cse-programme__duree,
.cse-bloc--sombre .cse-actu__date,
.cse-bloc--sombre .cse-parcours-carte__texte,
.cse-bloc--sombre .cse-univers-carte__texte { color: var(--cse-gris); }
.cse-bloc--sombre .cse-actu__titre a,
.cse-bloc--sombre .cse-programme__titre a { color: var(--cse-anthracite); }

/* --- Domaines : titre à gauche, cartes à droite (homepages MS et Intra) --- */
@media (min-width: 992px) {
	.cse-domaines--laterale {
		display: grid;
		grid-template-columns: 0.28fr 0.72fr;
		gap: 40px;
		align-items: start;
	}
	.cse-domaines--laterale .cse-domaines__header { margin-bottom: 0; max-width: none; }
	/* Le lien de bas de bloc reste centré sous l'ensemble. */
	.cse-domaines--laterale .cse-domaines__cta { grid-column: 1 / -1; }
	/* En colonne réduite, 4 cartes tiennent mieux sur 2 rangées de 2. */
	.cse-domaines--laterale .cse-domaines__grid--4 { grid-template-columns: repeat(4, 1fr); }
}


/* --- Actualités : disposition pleine largeur (accueil, MS, Intra) ---
   Titre et bouton sur une même ligne au-dessus, cartes sur toute la largeur. */
.cse-actus--pleine { display: block; }
.cse-actus--pleine .cse-actus__intro {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 24px;
	margin-bottom: 32px;
}
.cse-actus--pleine .cse-actus__intro > .cse-eyebrow { flex-basis: 100%; margin-bottom: 0; }
.cse-actus--pleine .cse-actus__titre-section { margin-top: 0; }
.cse-actus--pleine .cse-actus__categories { margin-top: 0; }
/* Le bouton « voir tout » se cale à droite du titre. */
.cse-actus--pleine .cse-actus__cta { margin-top: 0; margin-left: auto; }
@media (min-width: 640px) {
	.cse-actus--pleine .cse-actus__grid { grid-template-columns: repeat(3, 1fr); }
}

/* --- Réassurance latérale : tous les éléments sur une seule ligne ---
   La colonne de droite est trop étroite pour l'auto-fit (il retombait à
   3 colonnes et renvoyait le 4e élément à la ligne). On répartit les
   éléments à parts égales, quel que soit leur nombre. */
@media (min-width: 992px) {
	.cse-reassurance--laterale .cse-reassurance__grid {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
	}
}

/* --- Chiffres encadrés : colonnes de largeur égale ---
   Le conteneur est un flex ; sans base d'égalisation, les colonnes
   prenaient la largeur de leur texte. */
.cse-chiffres--encadre .cse-chiffre { flex: 1 1 160px; }

/* --- Réassurance : éléments centrés (réglage « Alignement ») ---
   Le sélecteur reprend « --laterale » : sans lui, les règles de la
   disposition latérale (trois classes) l'emportent et le pictogramme
   reste collé à gauche. */
.cse-reassurance--align-centre .cse-reass-carte,
.cse-reassurance--laterale.cse-reassurance--align-centre.cse-reassurance--cartes .cse-reass-carte {
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.cse-reassurance--align-centre .cse-reass-carte__body { text-align: center; }

@media (min-width: 992px) {
	/* Pictogramme, titre et texte s'alignent d'une carte à l'autre, même
	   quand un titre tient sur deux lignes : chaque carte calque ses trois
	   rangées sur celles de la grille commune. */
	.cse-reassurance--align-centre .cse-reassurance__grid {
		grid-template-rows: auto auto auto;
		row-gap: 18px;
	}
	/* Le second sélecteur reprend celui de la règle ci-dessus : sans lui,
	   son « align-items: center » (quatre classes) l'emporterait et
	   centrerait chaque titre dans sa rangée — un titre d'une seule ligne
	   se retrouverait plus bas que les titres de deux lignes. */
	.cse-reassurance--align-centre .cse-reass-carte,
	.cse-reassurance--laterale.cse-reassurance--align-centre.cse-reassurance--cartes .cse-reass-carte {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		justify-items: center;
		align-items: start;
		/* Les rangées viennent de la grille commune, mais l'écart entre elles
		   se règle ici : sans cela elles seraient collées. */
		row-gap: 16px;
		column-gap: 0;
	}
	/* Le conteneur s'efface pour que titre et texte prennent leur place
	   dans la grille de la carte. */
	.cse-reassurance--align-centre .cse-reass-carte__body { display: contents; }
	/* Respiration supplémentaire sous le pictogramme, comme sur la maquette. */
	.cse-reassurance--align-centre .cse-reass-carte__icone { margin-bottom: 10px; }
}

/* --- Chiffres accolés à la réassurance ---
   Les deux blocs cumulaient leurs marges verticales (112 px de vide).
   Quand ils se suivent sur un même fond, on supprime la marge du haut :
   les chiffres se lisent alors comme la suite du bloc, comme sur la maquette. */
.cse-bloc--fond-blanc.cse-bloc--reassurance + .cse-bloc--fond-blanc.cse-bloc--chiffres > .cse-bloc__inner,
.cse-bloc--fond-ivoire.cse-bloc--reassurance + .cse-bloc--fond-ivoire.cse-bloc--chiffres > .cse-bloc__inner,
.cse-bloc--fond-bordeaux.cse-bloc--reassurance + .cse-bloc--fond-bordeaux.cse-bloc--chiffres > .cse-bloc__inner {
	padding-top: 0;
}

/* --- Chiffres encore plus près de la réassurance ---
   Le padding du haut est déjà supprimé ; on réduit aussi celui du bas
   du bloc précédent pour resserrer les deux blocs. */
@media (min-width: 992px) {
	.cse-bloc--fond-blanc.cse-bloc--reassurance:has(+ .cse-bloc--fond-blanc.cse-bloc--chiffres) > .cse-bloc__inner,
	.cse-bloc--fond-ivoire.cse-bloc--reassurance:has(+ .cse-bloc--fond-ivoire.cse-bloc--chiffres) > .cse-bloc__inner,
	.cse-bloc--fond-bordeaux.cse-bloc--reassurance:has(+ .cse-bloc--fond-bordeaux.cse-bloc--chiffres) > .cse-bloc__inner {
		padding-bottom: 24px;
	}
}

/* --- Hero : les quatre chiffres sur une seule ligne (maquettes MS et Intra) ---
   Le panneau 2x2 reste le défaut (homepage d'accueil, recette Luc). */
@media (min-width: 992px) {
	.cse-hero__stats--4 { grid-template-columns: repeat(4, 1fr); max-width: 672px; }
	/* Colonnes deux fois plus étroites : la hauteur « carrée » du panneau
	   compact étirerait inutilement les cartes. */
	.cse-hero__stats--4 .cse-hero__stat { min-height: 0; padding: 18px; }
	.cse-hero__stats--4 .cse-hero__stat-valeur { font-size: 24px; }
	.cse-hero__stats--4 .cse-hero__stat-label { margin-top: 10px; }
}

/* --- Actualités pleine largeur : en-tête sans titre ---
   Quand le bloc n'a qu'un sur-titre (maquettes MS et Intra), il reste sur la
   même ligne que le bouton. Le passage à la ligne n'a de sens que s'il y a un
   titre à placer dessous. */
.cse-actus--pleine .cse-actus__intro > .cse-eyebrow { flex-basis: auto; }
.cse-actus--pleine .cse-actus__intro:has(.cse-actus__titre-section) > .cse-eyebrow { flex-basis: 100%; }

/* --- Chiffres : pictogramme facultatif au-dessus du chiffre --- */
.cse-chiffre__icone { display: block; width: 36px; height: 36px; margin-bottom: 14px; object-fit: contain; }
.cse-chiffres--encadre .cse-chiffre__icone { margin-left: auto; margin-right: auto; }

/* --- Chiffres « simple » : filets de séparation (maquette Intra) ---
   La maquette pose un filet à droite de chaque chiffre, sauf le dernier. */
@media (min-width: 768px) {
	.cse-chiffres--simple .cse-chiffre {
		flex: 1 1 160px;
		padding-right: 32px;
		border-right: 1px solid var(--cse-bordure);
	}
	.cse-chiffres--simple .cse-chiffre:last-child { border-right: 0; padding-right: 0; }
	/* Sur fond bordeaux, un filet clair reste lisible. */
	.cse-bloc--sombre .cse-chiffres--simple .cse-chiffre { border-right-color: rgba(255, 255, 255, .22); }
}

/* --- Approche : trois colonnes (maquette de référence home-intra.png) ---
   Le fichier Bolt code deux colonnes en empilant l'encadré objectifs et le
   visuel ; la maquette validée les pose côte à côte : étapes | objectifs |
   visuel. Le conteneur de droite s'efface pour que ses deux enfants
   deviennent les colonnes 2 et 3 de la grille principale.
   Ne s'applique que si les deux éléments existent — sinon la mise en deux
   colonnes reste la bonne. */
@media (min-width: 1200px) {
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) {
		grid-template-columns: 0.38fr 0.29fr 0.33fr;
		gap: 32px;
	}
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__aside {
		display: contents;
	}
}

/* --- Chiffres : contenu centré (réglage « Alignement ») --- */
.cse-chiffres--align-centre .cse-chiffre { text-align: center; }
.cse-chiffres--align-centre .cse-chiffre__icone,
.cse-chiffres--align-centre .cse-chiffre__label { margin-left: auto; margin-right: auto; }
@media (min-width: 768px) {
	/* Marge symétrique de part et d'autre du filet, sinon le contenu paraît
	   décalé vers la gauche dans sa colonne. */
	.cse-chiffres--align-centre.cse-chiffres--simple .cse-chiffre { padding-left: 32px; }
	.cse-chiffres--align-centre.cse-chiffres--simple .cse-chiffre:first-child { padding-left: 0; }
}

/* --- Chiffres : pictogrammes agrandis --- */
.cse-chiffre__icone { width: 48px; height: 48px; }

/* ============================================================
   Bloc Approche — ajustements des trois colonnes (recette Intra)
   ============================================================ */

/* 1. Colonne des étapes : hauteur resserrée.
   L'écart entre étapes et l'interligne des textes gonflaient la colonne
   bien au-delà des deux autres. */
.cse-approche__etapes { gap: 14px; }
.cse-approche__header { margin-bottom: 24px; }
.cse-etape { gap: 14px; }
.cse-etape__icone { width: 40px; height: 40px; }
.cse-etape__texte { margin-top: 4px; line-height: 1.5; }

@media (min-width: 1200px) {
	/* Titre resserré : dans une colonne étroite, 30px le faisaient courir sur
	   trois lignes et c'est lui qui imposait la hauteur du bloc. */
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-section-titre {
		font-size: 26px;
		line-height: 1.15;
	}

	/* 2. Encadré objectifs : hauteur de son seul contenu, centré dans la
	   ligne. L'étirer sur toute la hauteur creusait de grandes marges
	   blanches au-dessus et au-dessous de la liste. */
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__objectifs {
		align-self: center;
	}

	/* 3. Colonne visuel : plus d'image, pas de carte blanche.
	   L'encart violet est à cheval sur le bord bas de l'image, la légende
	   passe dessous, à même le fond de la page. */
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__visuel {
		border: 0;
		background: transparent;
		border-radius: 0;
		overflow: visible;
		/* Centré dans la hauteur de la ligne, comme l'encadré objectifs. */
		align-self: center;
	}
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__visuel-media {
		min-height: 340px;
		border-radius: 12px;
		display: block;
		padding: 0;
	}
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__encart {
		position: absolute;
		left: 24px;
		right: 24px;
		bottom: -30px;
		max-width: none;
	}
	/* Marge = débordement de l'encart + respiration, pour que la légende
	   se lise bien sous le bloc violet. */
	.cse-approche:has(.cse-approche__objectifs):has(.cse-approche__visuel) .cse-approche__legende {
		padding: 0;
		margin-top: 48px;
	}
}

/* ============================================================
   Tablette et mobile — recette responsive
   ============================================================ */

/* Les cartes horizontales (visuel à gauche) ne tiennent pas dans une
   colonne de tablette : le visuel écrase le texte. On revient au format
   vertical, visuel au-dessus, jusqu'au grand écran. */
@media (max-width: 1199px) {
	.cse-actus--horizontal .cse-actu--visuel {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		padding: 0;
	}
	.cse-actus--horizontal .cse-actu--visuel .cse-actu__img {
		height: 190px;
		min-height: 0;
		border-radius: 12px 12px 0 0;
	}

	/* Chiffres : en dessous du grand écran, deux colonnes larges plutôt
	   qu'une rangée serrée. Une grille plutôt qu'un flex, sinon un chiffre
	   seul sur sa dernière ligne s'étire sur toute la largeur.
	   Pas de filet non plus : en fin de ligne il pendrait dans le vide. */
	.cse-chiffres--simple .cse-chiffres__grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.cse-chiffres--simple .cse-chiffre {
		border-right: 0;
		padding-right: 0;
	}
	.cse-chiffres--align-centre.cse-chiffres--simple .cse-chiffre { padding-left: 0; }
}

/* L'image d'ambiance des actualités n'a de sens qu'en grand écran, calée
   derrière la rangée de cartes. En dessous elle passe dans le flux et
   n'apporte plus rien. */
@media (max-width: 991px) {
	.cse-actus__aside { display: none; }
}

/* ============================================================
   Méga-menu du header (refonte 2026)
   Panneau large déroulant sous une entrée de `.navbar-under`.
   Le contenu est administré dans Réglages CSE → Navigation ; l'entrée
   porteuse est repérée par une classe `cse-mega-{clé}` saisie dans
   Apparence → Menus. Voir includes/nav/mega-menu.php.
   ============================================================ */

@media (min-width: 992px) {

	/* La barre devient le référent du panneau pleine largeur, et l'entrée
	   porteuse renonce au positionnement relatif que `.navbar-under li`
	   applique à toutes les entrées — sinon le panneau se calerait sur la
	   largeur du seul libellé. */
	.navbar-under { position: relative; }
	.navbar-under li.cse-mega-item { position: static; }

	.cse-mega {
		display: none;
		/* .navbar-under impose majuscules, 11px et interlettrage : ce sont des
		   propriétés héritées, il faut les couper sur le conteneur et pas
		   seulement sur les liens (sinon titres, textes et libellés sans URL
		   restent en petites majuscules espacées). */
		text-transform: none;
		letter-spacing: normal;
		font-size: 15px;
		line-height: 1.5;
		color: var(--cse-anthracite);
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 20;
		background: #fff;
		border-top: 1px solid var(--cse-bordure);
		box-shadow: 0 24px 48px -28px rgba(41, 37, 43, .45);
		text-align: left;
	}

	/* Ouverture au survol, comme les sous-menus existants du thème, et au
	   clavier — le mécanisme actuel n'ouvrait rien au focus. */
	.cse-mega-item:hover > .cse-mega,
	.cse-mega-item:focus-within > .cse-mega { display: block; }

	.cse-mega__inner {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 40px;
		max-width: var(--cse-largeur-max);
		margin: 0 auto;
		padding: 32px 24px 36px;
	}
	/* Colonne éditoriale élargie : le libellé du bouton passait sur deux lignes. */
	.cse-mega--edito .cse-mega__inner { grid-template-columns: 1fr 0.85fr 0.9fr 1.25fr; }

	/* `.navbar-under a` impose padding, largeur pleine, majuscules et
	   interlettrage à TOUS les liens de la barre, panneau compris : on remet
	   les liens du panneau à plat avant de les styler. */
	/* Remise à plat limitée aux liens de listes : viser `.cse-mega a` écrasait
	   les trois CTA du panneau, qui n'ont qu'une classe pour eux. */
	/* `.navbar-under a` (0,1,1) impose padding 14/25/12, 11px et majuscules à
	   tout lien de la barre. Le sélecteur doit peser plus lourd, sinon les liens
	   du panneau se décalent et rapetissent dès qu'ils reçoivent une URL. */
	.cse-mega a.cse-mega__lien {
		width: auto;
		padding: 0;
		font-size: 15px;
		line-height: 1.45;
		font-weight: 400;
		text-transform: none;
		letter-spacing: normal;
		color: var(--cse-anthracite);
	}
	/* `.nav-inter li.menu-item a:hover` (global.css) pose color:white !important
	   et un aplat rouge sur TOUS les liens descendants de l'entrée porteuse,
	   panneau compris. Il faut l'égaler en spécificité et reprendre l'important. */
	.navbar-under li.menu-item .cse-mega a:hover {
		background-color: transparent !important;
		color: var(--cse-rouge) !important;
	}
	/* Le sous-menu WordPress classique n'a plus de place ici : l'entrée porteuse
	   étant en position statique, il s'étirerait sur toute la largeur de la
	   barre, sous le panneau. */
	.navbar-under li.cse-mega-item > .sub-menu { display: none !important; }
	/* Les séparateurs verticaux de la barre visent `li` sans sélecteur direct :
	   ils réapparaîtraient entre les liens du panneau. */
	.cse-mega li:after { display: none; }
	.cse-mega ul { list-style: none; margin: 0; padding: 0; }

	.cse-mega__col { display: flex; flex-direction: column; }
	.cse-mega__col + .cse-mega__col,
	.cse-mega__edito { border-left: 1px solid var(--cse-bordure); padding-left: 40px; }

	.cse-mega__col-titre {
		margin: 0 0 18px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: var(--cse-rouge);
	}

	.cse-mega__liens { display: flex; flex-direction: column; gap: 12px; }
	.cse-mega__lien-item { display: flex; }
	.cse-mega__lien { display: inline-flex; align-items: center; gap: 12px; }
	.cse-mega__lien-icone { width: 20px; height: 20px; flex-shrink: 0; object-fit: contain; }

	.cse-mega a.cse-mega__col-cta {
		align-self: flex-start;
		margin-top: auto;
		/* Padding complet : ne redéfinir que le haut laissait les 25px latéraux
		   du thème, et le lien paraissait décalé vers la droite. */
		padding: 22px 0 0;
		width: auto;
		font-size: 14px;
		font-weight: 700;
		text-transform: none;
		letter-spacing: normal;
		color: var(--cse-rouge);
	}
	.cse-mega__col-cta::after { content: " \2192"; }

	/* Encart « Besoin d'aide pour choisir ? » */
	.cse-mega__encart {
		position: relative;
		display: flex;
		gap: 14px;
		/* La marge haute ménage la place du filet, tracé en ::before. */
		margin-top: 30px;
		padding: 20px;
		border-radius: 8px;
		background: rgba(var(--cse-rouge-rgb), .05);
	}
	/* Filet horizontal entre les liens et l'encart, au même trait que les
	   séparateurs verticaux entre colonnes. Tracé en pseudo-élément détaché
	   plutôt qu'en bordure de l'encart : il doit se lire comme une séparation
	   de la colonne, pas comme le contour du bloc rose. */
	.cse-mega__encart::before {
		content: "";
		position: absolute;
		top: -15px;
		left: 0;
		right: 0;
		border-top: 1px solid var(--cse-bordure);
	}
	.cse-mega__encart-icone { width: 22px; height: 22px; flex-shrink: 0; object-fit: contain; margin-top: 2px; }
	/* Le corps porte titre, texte ET bouton : le bouton s'aligne donc sur le
	   texte plutôt que de repartir sous le pictogramme. */
	.cse-mega__encart-corps { flex: 1; }
	.cse-mega__encart-titre { margin: 0; font-size: 14px; font-weight: 700; color: var(--cse-anthracite); }
	.cse-mega__encart-texte { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--cse-gris); }
	.cse-mega a.cse-mega__encart-cta {
		display: inline-block;
		margin-top: 12px;
		padding: 0;
		width: auto;
		font-size: 14px;
		font-weight: 700;
		text-transform: none;
		letter-spacing: normal;
		color: var(--cse-rouge);
	}
	.cse-mega a.cse-mega__encart-cta::after { content: " \2192"; }

	/* Zone éditoriale */
	.cse-mega__edito-image { display: block; width: 100%; height: 150px; object-fit: cover; border-radius: 8px; }
	.cse-mega__edito-titre { margin: 16px 0 0; font-size: 20px; line-height: 1.25; font-weight: 700; color: var(--cse-anthracite); }
	.cse-mega__edito-texte { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: var(--cse-gris); }
	.cse-mega a.cse-mega__edito-cta {
		display: inline-flex;
		white-space: nowrap;
		width: auto;
		text-transform: none;
		letter-spacing: normal;
		align-items: center;
		margin-top: 18px;
		padding: 13px 22px;
		border-radius: 6px;
		background: var(--cse-rouge);
		font-size: 14px;
		font-weight: 700;
		color: #fff;
	}
	.cse-mega a.cse-mega__edito-cta:hover { background: var(--cse-rouge-fonce); color: #fff; }
	.cse-mega__edito-cta::after { content: " \2192"; margin-left: 10px; }
}

/* Sous 992px la barre est masquée par le thème : le panneau n'a pas lieu
   d'être, la navigation passe par le tiroir. */
@media (max-width: 991px) {
	.cse-mega { display: none; }
}

/* ============================================================
   Couleur d'accent de la page (réglage du gabarit « Home (blocs) »)
   Redéfinit la teinte d'accent pour TOUS les blocs d'une page : sur-titres,
   boutons, pictogrammes, liens, badges. Posée sur `main.cse-home`, elle ne
   touche ni le header ni le pied de page, qui sont hors de ce conteneur.

   `--cse-rouge-fonce` n'est volontairement PAS redéfini : le survol des
   boutons et les fonds de section bordeaux restent à la charte (arbitrage
   Loïc, recette du 08/09/2026).
   ============================================================ */
.cse-home--accent-anthracite {
	/* Éclairci et non assombri : l'anthracite est déjà proche du noir. */
	--cse-btn-survol:  #504854;
	--cse-rouge:       var(--cse-anthracite);
	--cse-rouge-inter: var(--cse-anthracite);
	--cse-rouge-rgb:   41, 37, 43;
}
/* `--accent-charte` et l'ancienne `--accent-rouge` ne redéfinissent rien :
   la page garde la charte générale, qui est déjà la valeur de :root. */
.cse-home--accent-ms {
	/* Éclairci : le bordeaux est trop sombre pour qu'un assombrissement se
	   voie, et le survol au bordeaux de charte serait invisible (1,00:1). */
	--cse-btn-survol:  #96005B;
	--cse-rouge:       var(--cse-ms);
	--cse-rouge-inter: var(--cse-ms);
	--cse-rouge-rgb:   99, 0, 60;
}
.cse-home--accent-intra {
	/* Textes courants et fonds porteurs de texte : variante lisible. Ce jeton
	   n'est défini QUE pour l'Intra ; ailleurs, les règles qui le consomment
	   retombent sur l'accent de la page, sans aucun changement. */
	--cse-accent-lisible: var(--cse-violet-intra-texte);
	--cse-rouge:       var(--cse-violet-intra);
	--cse-rouge-inter: var(--cse-violet-intra);
	--cse-rouge-rgb:   150, 125, 171;
}
.cse-home--accent-inter {
	--cse-btn-survol:  #870D1D;
	--cse-rouge:       var(--cse-rouge-inter);
	--cse-rouge-rgb:   181, 18, 39;
}


/* ============================================================
   Méga-menu — version menu latéral (< 992px)
   Sous 992px la barre est masquée par le thème : les panneaux sont repris
   dans le menu latéral en sections dépliables (CSE_Mega_Walker_Tiroir, même
   saisie que le desktop). Dépliage, chevrons et couleurs des liens restent
   ceux du thème (global.js, global.css) ; on ne règle ici que la hiérarchie.
   ============================================================ */
@media (max-width: 991px) {
	/* Titres de colonne : repères de section, distincts des liens. */
	.menu-links-list .cse-mega-tiroir__colonne > a {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}
	.menu-links-list .cse-mega-tiroir .sub-menu { margin: 6px 0 8px 2px; }
	/* Intitulé sans adresse : gris de charte (5,66:1 sur blanc), sans flèche ni
	   soulignement. Une opacité de .6 le faisait tomber à 4,12:1. */
	.menu-links-list .cse-mega-tiroir__lien > span { color: var(--cse-gris); }
	.menu-links-list .cse-mega-tiroir__accueil > a,
	.menu-links-list .cse-mega-tiroir__tout > a,
	.menu-links-list .cse-mega-tiroir__aide > a { font-weight: 700; }
	.menu-links-list .cse-mega-tiroir__tout > a::after,
	.menu-links-list .cse-mega-tiroir__aide > a::after { content: " \2192"; }
	.menu-links-list .cse-mega-tiroir__aide { margin-top: 6px; }
}
