/*
 * Le Grand Frère — gabarits v2 (refonte 2027) : mise en page des modèles et pages,
 * blocs rendus par php/features/gabarits-v2.php.
 * Uniquement des jetons de css/tokens.css (contrôlé par design/check_design.py).
 * Règles d'usage : design/DESIGN.md
 */

/* ---------- Utilitaires ---------- */
.lgf-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.lgf-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--lgf-espace-4);
}
/* Cartes compactes (distinctions, chiffres) : deux par ligne dès le mobile */
.lgf-grille:has(> .lgf-carte--compacte) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lgf-espace-3);
}
@media (min-width: 768px) {
	.lgf-grille--2,
	.lgf-grille--3,
	.lgf-grille--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--lgf-espace-5);
	}
}
/* Trois cartes exactement : trois colonnes dès la tablette (pas de carte orpheline sur une ligne) */
@media (min-width: 768px) {
	.lgf-grille--3:has(> :nth-child(3):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
/* Nombre impair de cartes sur deux colonnes : la dernière prend toute la ligne */
@media (max-width: 1130px) {
	.lgf-grille:is(.lgf-grille--2, .lgf-grille--3, .lgf-grille--4, :has(> .lgf-carte--compacte)) > :last-child:nth-child(odd):not(:first-child) {
		grid-column: 1 / -1;
	}
}
@media (max-width: 767px) {
	.lgf-grille:is(.lgf-grille--2, .lgf-grille--3, .lgf-grille--4):not(:has(> .lgf-carte--compacte)) > :last-child:nth-child(odd) {
		grid-column: auto;
	}
}
@media (min-width: 1131px) {
	.lgf-grille--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.lgf-grille--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.lgf-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-2);
}
.lgf-chiffre {
	margin: 0;
	font-family: var(--font-titres);
	font-weight: var(--lgf-display-graisse);
	font-size: var(--lgf-h2-taille);
	line-height: var(--lgf-h2-interligne);
	color: var(--lgf-bleu-500);
}
.lgf-texte-riche > *:first-child {
	margin-top: 0;
}
.lgf-texte-riche > *:last-child {
	margin-bottom: 0;
}
.lgf-texte-riche p,
.lgf-texte-riche ul,
.lgf-texte-riche ol {
	margin: 0 0 var(--lgf-espace-4);
	max-width: var(--lgf-conteneur-texte);
}
.lgf-texte-riche h2,
.lgf-texte-riche h3 {
	margin: var(--lgf-espace-5) 0 var(--lgf-espace-3);
	font-family: var(--font-titres);
	font-weight: var(--lgf-h3-graisse);
	font-size: var(--lgf-h3-taille);
	line-height: var(--lgf-h3-interligne);
	color: var(--lgf-encre);
}
.lgf-texte-riche li + li {
	margin-top: var(--lgf-espace-1);
}
.lgf-divulgation {
	display: flex;
	gap: var(--lgf-espace-2);
	align-items: flex-start;
	margin: 0;
	color: var(--lgf-texte-discret);
}
.lgf-divulgation .lgf-icone {
	margin-top: 2px;
}

/* Boutons sur fond foncé (bleu ou encre) */
.lgf-btn--inverse {
	background: var(--lgf-blanc);
	color: var(--lgf-bleu-500);
	border-color: var(--lgf-blanc);
}
.lgf-btn--inverse:hover {
	background: var(--lgf-bleu-50);
	color: var(--lgf-bleu-700);
}
.lgf-btn--contour-blanc {
	background: transparent;
	color: var(--lgf-blanc);
	border-color: var(--lgf-blanc);
}
.lgf-btn--contour-blanc:hover {
	background: var(--lgf-bleu-700);
	color: var(--lgf-blanc);
}

/* ---------- Zones (sections pleine largeur) ---------- */
.lgf-zone--fond {
	background: var(--lgf-fond);
}
.lgf-zone--bleu50 {
	background: var(--lgf-bleu-50);
}
.lgf-zone--bleu {
	background: var(--lgf-bleu-500);
	color: var(--lgf-blanc);
}
/* « encre » et « nuit » : bleu nuit de la marque */
.lgf-zone--encre,
.lgf-zone--nuit {
	background: var(--lgf-bleu-900);
	color: var(--lgf-blanc);
}
.lgf-zone--bleu :is(h1, h2, h3, p, li, .elementor-heading-title),
.lgf-zone--encre :is(h1, h2, h3, p, li, .elementor-heading-title),
.lgf-zone--nuit :is(h1, h2, h3, p, li, .elementor-heading-title) {
	color: var(--lgf-blanc);
}
:is(.lgf-zone--encre, .lgf-zone--nuit) :is(.lgf-t-surtitre, .lgf-chiffre),
:is(.lgf-zone--encre, .lgf-zone--nuit) .lgf-surtitre .elementor-heading-title {
	color: var(--lgf-jaune-400);
}
/* Sur bleu 500, le jaune n'atteint que 3,7:1 : surtitre blanc, chevron jaune */
.lgf-zone--bleu .lgf-surtitre .elementor-heading-title {
	color: var(--lgf-blanc);
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) .lgf-surtitre .elementor-heading-title::before {
	background: var(--lgf-jaune-400);
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) a:not(.lgf-btn):not(.elementor-button) {
	color: var(--lgf-blanc);
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) .lgf-chiffre {
	color: var(--lgf-jaune-400);
}
.lgf-zone--bordee {
	border-top: var(--lgf-trait) solid var(--lgf-bordure);
	border-bottom: var(--lgf-trait) solid var(--lgf-bordure);
}
/* Bandeaux de couleur et en-tête de page : grand hexagone du symbole en filigrane,
   petit hexagone jaune en marge du contenu (jamais sur le texte) */
.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit),
.elementor > .e-con.lgf-zone--bleu50:first-child {
	position: relative;
	isolation: isolate;
	overflow: clip;
}
.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner,
.elementor > .e-con.lgf-zone--bleu50:first-child > .e-con-inner {
	position: relative;
}
.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::before,
.elementor > .e-con.lgf-zone--bleu50:first-child > .e-con-inner::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	right: -120px;
	width: 420px;
	height: 420px;
	transform: translateY(-50%) rotate(8deg);
	background: color-mix(in srgb, var(--lgf-bleu-500) 9%, transparent);
	-webkit-mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
	pointer-events: none;
}
.e-con.lgf-zone--bleu > .e-con-inner::before {
	background: color-mix(in srgb, var(--lgf-blanc) 12%, transparent);
}
.e-con:is(.lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::before {
	background: color-mix(in srgb, var(--lgf-turquoise-500) 22%, transparent);
}
.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::after,
.elementor > .e-con.lgf-zone--bleu50:first-child > .e-con-inner::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 24px;
	right: -64px;
	width: 36px;
	height: 36px;
	background: var(--lgf-jaune-400);
	-webkit-mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
	pointer-events: none;
}
.e-con:is(.lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::after {
	background: var(--lgf-corail-500);
}
@media (max-width: 1365px) {
	.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::after,
	.elementor > .e-con.lgf-zone--bleu50:first-child > .e-con-inner::after {
		display: none;
	}
}
@media (max-width: 767px) {
	.e-con:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) > .e-con-inner::before,
	.elementor > .e-con.lgf-zone--bleu50:first-child > .e-con-inner::before {
		top: auto;
		bottom: -90px;
		right: -110px;
		width: 260px;
		height: 260px;
		transform: rotate(8deg);
	}
}
/* En-tête de page (première section en bleu clair) : plus d'air */
.elementor > .e-con.lgf-zone--bleu50:first-child {
	background: linear-gradient(160deg, var(--lgf-bleu-50) 0%, var(--lgf-bleu-50) 55%, var(--lgf-turquoise-50) 100%);
}

/* ---------- Fil d'Ariane ---------- */
.lgf-fil-ariane ol {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-1);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
.lgf-fil-ariane li + li::before {
	content: "›";
	margin-right: var(--lgf-espace-1);
}
.lgf-fil-ariane a {
	color: var(--lgf-bleu-500);
}

/* ---------- En-tête ---------- */
.lgf-recherche {
	display: flex;
	gap: var(--lgf-espace-2);
	width: 100%;
	margin: 0;
}
.lgf-recherche__champ {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: var(--lgf-espace-2);
	min-width: 0;
	min-height: var(--lgf-cible-tactile);
	padding: 0 var(--lgf-espace-4);
	border: var(--lgf-trait) solid var(--lgf-bordure);
	border-radius: var(--lgf-rayon-pilule);
	background: var(--lgf-fond);
	color: var(--lgf-texte-discret);
	transition: background-color var(--lgf-duree-rapide) var(--lgf-courbe), border-color var(--lgf-duree-rapide) var(--lgf-courbe), box-shadow var(--lgf-duree-base) var(--lgf-courbe);
}
.lgf-recherche__champ:hover {
	border-color: var(--lgf-bordure-champ);
	background: var(--lgf-blanc);
}
.lgf-recherche__champ:focus-within {
	border-color: var(--lgf-bleu-500);
	background: var(--lgf-blanc);
	outline: var(--lgf-trait-fort) solid var(--lgf-bleu-500);
	outline-offset: 1px;
}
/* padding forcé : la règle des champs du kit Elementor (.elementor-kit-… input, 12px 16px) est plus spécifique
 * et rognait 32 px de texte ; l'écart avec la loupe vient du gap du champ */
.lgf-recherche input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0;
	font-family: var(--font-texte);
	font-size: var(--lgf-corps-taille);
	color: var(--lgf-encre);
}
/* Grande recherche (en-têtes de page) : champ blanc surélevé et bouton corail */
.lgf-recherche--grand {
	padding: var(--lgf-espace-2);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-blanc);
	box-shadow: var(--lgf-ombre-survol);
}
.lgf-recherche--grand .lgf-recherche__champ {
	min-height: var(--lgf-hauteur-controle);
	border: 0;
	border-radius: var(--lgf-rayon-md);
	background: var(--lgf-blanc);
}
.lgf-recherche--grand .lgf-recherche__champ:focus-within {
	outline-offset: 0;
}
.lgf-recherche--grand .lgf-recherche__champ .lgf-icone {
	color: var(--lgf-bleu-500);
}
.lgf-recherche__bouton {
	flex: none;
}
@media (max-width: 767px) {
	.lgf-recherche__bouton span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
	.lgf-recherche__bouton {
		padding: 0 var(--lgf-espace-4);
	}
}
.lgf-compte {
	display: inline-flex;
	align-items: center;
	gap: var(--lgf-espace-2);
	min-height: var(--lgf-cible-tactile);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-bleu-500);
	text-decoration: none;
}
.lgf-entete {
	position: relative;
	z-index: 50;
	border-bottom: var(--lgf-trait) solid var(--lgf-bordure);
	background: var(--lgf-blanc);
	box-shadow: var(--lgf-ombre-sm);
}
/* Ruban quadricolore tout en haut du site */
.lgf-entete::before {
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--lgf-bleu-500) 0 25%, var(--lgf-turquoise-500) 25% 50%, var(--lgf-jaune-400) 50% 75%, var(--lgf-corail-500) 75% 100%);
}
/* Barre du compte : bleu nuit, liens blancs */
.lgf-entete .e-con.lgf-entete__barre {
	background: var(--lgf-bleu-900);
}
.lgf-entete__barre .elementor-button,
.lgf-entete__barre .elementor-widget-button.lgf-btn-tertiaire .elementor-button,
.lgf-entete__barre .lgf-nav .elementor-nav-menu--main .elementor-item {
	color: var(--lgf-blanc);
	background: transparent;
}
.lgf-entete__barre .elementor-widget-button .elementor-button-content-wrapper::after {
	display: none;
}
.lgf-entete__barre .elementor-button:hover,
.lgf-entete__barre .lgf-nav .elementor-nav-menu--main .elementor-item:hover {
	color: var(--lgf-jaune-400);
	background: transparent;
}
.lgf-entete__barre .elementor-widget-button.lgf-btn-tertiaire .elementor-button:hover .elementor-button-text {
	text-decoration-color: var(--lgf-jaune-400);
}
/* vertical-align: top : posé sur la ligne de base du bloc parent (div du widget Shortcode),
 * le logo laissait dessous l'espace des jambages du texte (~7 px), qui décentrait l'en-tête */
.lgf-logo {
	display: inline-flex;
	align-items: center;
	vertical-align: top;
	line-height: 0;
}
.lgf-logo .lgf-logo__img {
	display: block;
	width: auto;
	height: 48px;
	max-width: none;
}
.lgf-logo .lgf-logo__img--complet,
.lgf-logo .lgf-logo__img--blanc {
	height: 56px;
}
/* Sur mobile, 40 px : le logo tient à côté de la loupe et du menu jusqu'à 320 px d'écran */
@media (max-width: 767px) {
	.lgf-logo .lgf-logo__img--court,
	.lgf-logo .lgf-logo__img--court-blanc {
		height: 40px;
	}
}
.lgf-entete__icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--lgf-cible-tactile);
	height: var(--lgf-cible-tactile);
	color: var(--lgf-encre);
}
.lgf-entete__icone .lgf-icone {
	width: 24px;
	height: 24px;
}
/* Entrées du menu principal réservées au menu mobile (classe de menu « lgf-menu-mobile ») */
.elementor-nav-menu--main .lgf-menu-mobile {
	display: none !important;
}
/* Barre du compte (au-dessus de l'en-tête) */
.lgf-entete__barre {
	min-height: 36px;
	font-size: var(--lgf-petit-taille);
}
.lgf-entete__barre .elementor-button {
	min-height: 32px;
	padding-top: 0;
	padding-bottom: 0;
	font-size: var(--lgf-petit-taille);
}
.lgf-entete__barre .lgf-nav .elementor-nav-menu--main .elementor-item {
	padding: var(--lgf-espace-2) var(--lgf-espace-2);
	font-size: var(--lgf-petit-taille);
}
/* Écoles par pays [lgf_pays] (php/features/gabarits-v2.php) : à gauche de la barre du compte.
 * Ordinateur et tablette : libellé et rangée de drapeaux (nom en infobulle), pays de la page souligné en jaune.
 * Mobile : sélecteur drapeau + nom qui déplie la liste des pays. */
.lgf-entete__barre .lgf-entete__pays {
	min-width: 0;
	margin-right: auto;
}
.lgf-pays {
	display: flex;
	align-items: center;
	gap: var(--lgf-espace-2);
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-blanc);
}
.lgf-pays__titre {
	margin: 0;
	white-space: nowrap;
	color: var(--lgf-bleu-50);
}
.lgf-pays__rangee {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lgf-pays__lien {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 32px;
	border-radius: var(--lgf-rayon-xs);
}
/* Filet discret autour du drapeau : les bandes blanches (Côte d'Ivoire, Niger…) restent lisibles */
.lgf-pays img.lgf-drapeau {
	box-shadow: 0 0 0 var(--lgf-trait) color-mix(in srgb, var(--lgf-blanc) 24%, transparent);
	transition: transform var(--lgf-duree-rapide) var(--lgf-courbe);
}
.lgf-pays__lien::after {
	content: "";
	position: absolute;
	left: var(--lgf-espace-2);
	right: var(--lgf-espace-2);
	bottom: 2px;
	height: var(--lgf-trait-fort);
	border-radius: var(--lgf-rayon-pilule);
	background: var(--lgf-jaune-400);
	opacity: 0;
	transition: opacity var(--lgf-duree-rapide) var(--lgf-courbe);
}
.lgf-pays__lien:hover img.lgf-drapeau {
	transform: translateY(-2px);
}
.lgf-pays__lien:hover::after,
.lgf-pays__lien.est-courant::after {
	opacity: 1;
}
/* Focus visible sur le bleu nuit de la barre : jaune (le bleu 500 n'y contraste pas) */
.lgf-pays :is(.lgf-pays__lien, .lgf-pays__bouton):focus-visible {
	outline: var(--lgf-trait-fort) solid var(--lgf-jaune-400);
	outline-offset: 0;
}
.lgf-pays__choix {
	position: relative;
	display: none;
}
.lgf-pays__bouton {
	display: flex;
	align-items: center;
	gap: var(--lgf-espace-2);
	min-height: 36px;
	padding: 0 var(--lgf-espace-1);
	border-radius: var(--lgf-rayon-xs);
	font-weight: var(--lgf-corps-fort-graisse);
	white-space: nowrap;
	color: var(--lgf-blanc);
	cursor: pointer;
	list-style: none;
}
.lgf-pays__bouton::-webkit-details-marker {
	display: none;
}
.lgf-pays__chevron {
	transition: transform var(--lgf-duree-base) var(--lgf-courbe);
}
.lgf-pays__choix[open] .lgf-pays__chevron {
	transform: rotate(180deg);
}
.lgf-pays__menu {
	position: absolute;
	top: calc(100% + var(--lgf-espace-1));
	left: 0;
	z-index: 60;
	min-width: 248px;
	margin: 0;
	padding: var(--lgf-espace-2);
	list-style: none;
	border: var(--lgf-trait) solid var(--lgf-bordure);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-blanc);
	box-shadow: var(--lgf-ombre-survol);
}
.lgf-pays a.lgf-pays__option {
	display: flex;
	align-items: center;
	gap: var(--lgf-espace-3);
	min-height: var(--lgf-cible-tactile);
	padding: 0 var(--lgf-espace-3);
	border-radius: var(--lgf-rayon-md);
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-corps-interligne);
	color: var(--lgf-encre);
	text-decoration: none;
	transition: background-color var(--lgf-duree-rapide) var(--lgf-courbe), color var(--lgf-duree-rapide) var(--lgf-courbe);
}
.lgf-pays a.lgf-pays__option:hover,
.lgf-pays a.lgf-pays__option:focus-visible,
.lgf-pays a.lgf-pays__option.est-courant {
	background: var(--lgf-bleu-50);
	color: var(--lgf-bleu-700);
}
.lgf-pays a.lgf-pays__option.est-courant {
	font-weight: var(--lgf-corps-fort-graisse);
}
.lgf-pays__option img.lgf-drapeau {
	box-shadow: 0 0 0 var(--lgf-trait) var(--lgf-bordure);
}
.lgf-pays__nom {
	flex: 1 1 auto;
}
.lgf-pays__total {
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
@media (max-width: 767px) {
	.lgf-pays__titre,
	.lgf-pays__rangee {
		display: none;
	}
	.lgf-pays__choix {
		display: block;
	}
}
.lgf-entete__recherche {
	max-width: 340px;
}
.lgf-fiche-principale {
	min-width: 0;
}
/* Menu du compte (If Menu), barre de l'en-tête : discret, à droite, blanc sur bleu nuit */
.lgf-entete .lgf-nav-compte .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-blanc);
}
/* Menu du compte dans une carte (tableau de bord, « Outils et raccourcis ») : liste dépliée, sans menu déroulant.
 * Une entrée de 1er niveau à sous-menu devient un intitulé de groupe (surtitre), masqué s'il est seul
 * (« Mon compte » d'un élève) ; ses sous-entrées sont listées dessous. Les !important neutralisent
 * les styles en ligne que SmartMenus pose sur les sous-menus au survol (affichage, position, largeur, fondu). */
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu,
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .sub-menu {
	display: flex !important;
	flex-direction: column;
	gap: var(--lgf-espace-1);
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .sub-menu {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	opacity: 1 !important;
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu a {
	box-sizing: border-box;
	min-height: var(--lgf-cible-tactile);
	padding: var(--lgf-espace-2) var(--lgf-espace-3);
	border: 0;
	border-radius: var(--lgf-rayon-md);
	background: transparent;
	font-family: var(--font-texte);
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-corps-interligne);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
	text-decoration: none;
	white-space: normal;
	transition: background-color var(--lgf-duree-rapide) var(--lgf-courbe), color var(--lgf-duree-rapide) var(--lgf-courbe);
}
/* Déconnexion (php/features/menus.php) : action à part, plus discrète (le filet est posé plus bas) */
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu .menu-item-logout > a {
	font-weight: var(--lgf-corps-graisse);
	color: var(--lgf-texte-discret);
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu a:hover,
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu a:focus-visible,
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu a.elementor-item-active {
	background: var(--lgf-bleu-50);
	color: var(--lgf-bleu-700);
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu a:focus-visible {
	outline: var(--lgf-trait-fort) solid var(--lgf-bleu-500);
	outline-offset: 2px;
}
/* Ni soulignement d'Elementor (pointeur), ni flèche de sous-menu, ni bloc de dégagement (élément flex en trop) */
.lgf-carte .lgf-nav-compte .elementor-nav-menu::after,
.lgf-carte .lgf-nav-compte .elementor-item::before,
.lgf-carte .lgf-nav-compte .elementor-item::after {
	display: none;
}
.lgf-carte .lgf-nav-compte .sub-arrow {
	display: none !important; /* css/integrations.css force les chevrons de sous-menu (inline !important) */
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children > a.elementor-item {
	min-height: 0;
	padding: var(--lgf-espace-3) var(--lgf-espace-3) var(--lgf-espace-1);
	background: transparent;
	font-size: var(--lgf-surtitre-taille);
	line-height: var(--lgf-surtitre-interligne);
	font-weight: var(--lgf-surtitre-graisse);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lgf-bleu-500);
	pointer-events: none;
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children:first-child > a.elementor-item {
	padding-top: 0;
}
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children:only-child > a.elementor-item {
	display: none;
}
/* Déconnexion, et entrée simple qui suit un groupe (menus administrateur) : sous un filet */
.lgf-carte .lgf-nav-compte .elementor-nav-menu--main .elementor-nav-menu > li.menu-item-has-children + li:not(.menu-item-has-children),
.lgf-carte .lgf-nav-compte .menu-item-logout {
	margin-top: var(--lgf-espace-2);
	padding-top: var(--lgf-espace-2);
	border-top: var(--lgf-trait) solid var(--lgf-bordure);
}

/* ---------- Méga menu (menu principal, entrée de classe « lgf-mega ») ----------
   Ordinateur seulement : le panneau s'étend sur toute la largeur de l'en-tête, contenu aligné sur le conteneur.
   Balisage et réglages : php/features/menus.php. Le menu mobile garde l'accordéon. */
.elementor-nav-menu__container.elementor-nav-menu--dropdown .lgf-mega-titre,
.elementor-nav-menu__container.elementor-nav-menu--dropdown .lgf-mega-encart,
.elementor-nav-menu__container.elementor-nav-menu--dropdown .lgf-mega__description {
	display: none !important;
}
.lgf-mega__libelle,
.lgf-mega__description {
	display: block;
}
/* Entrée « Espace écoles » du menu principal : lien bleu */
.lgf-nav .elementor-nav-menu--main .lgf-menu-lien > .elementor-item {
	color: var(--lgf-bleu-500);
}
@media (min-width: 1131px) {
	/* Le panneau se place par rapport à la rangée principale de l'en-tête, pas par rapport à l'entrée */
	.lgf-entete__principal {
		position: relative;
	}
	.lgf-entete__principal > .e-con-inner,
	.lgf-entete__principal .lgf-nav-principale,
	.lgf-entete__principal .lgf-nav-principale > .elementor-widget-container,
	.lgf-entete__principal .lgf-nav-principale .elementor-nav-menu--main,
	.lgf-entete__principal .lgf-nav-principale .elementor-nav-menu--main > .elementor-nav-menu,
	.lgf-nav-principale .elementor-nav-menu--main .lgf-mega {
		position: static !important;
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega > .sub-menu {
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: var(--lgf-espace-6) max(var(--lgf-marge-bureau), calc((100% - var(--lgf-conteneur)) / 2)) !important;
		border: 0;
		border-top: var(--lgf-trait) solid var(--lgf-bordure);
		border-radius: var(--lgf-rayon-0);
		background: var(--lgf-blanc);
		box-shadow: var(--lgf-ombre-md);
		grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, 1fr);
		grid-auto-flow: row dense;
		align-items: start;
		column-gap: var(--lgf-espace-6);
		row-gap: var(--lgf-espace-1);
	}
	/* SmartMenus affiche le sous-menu en « display: block » : le panneau passe en grille */
	.lgf-nav .elementor-nav-menu--main .lgf-mega > .sub-menu[style*="display: block"],
	.lgf-nav .elementor-nav-menu--main .lgf-mega:focus-within > .sub-menu {
		display: grid !important;
	}
	/* Zone de survol entre l'entrée et le panneau : le panneau ne se ferme pas en chemin */
	.lgf-nav .elementor-nav-menu--main .lgf-mega > .sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: var(--lgf-espace-5);
	}
	.lgf-mega > .sub-menu > .lgf-mega-col-1 {
		grid-column: 1;
	}
	.lgf-mega > .sub-menu > .lgf-mega-col-2 {
		grid-column: 2;
	}
	.lgf-mega > .sub-menu > .lgf-mega-col-3 {
		grid-column: 3;
	}
	.lgf-mega > .sub-menu > .lgf-mega-encart {
		grid-column: 4;
		grid-row: 1 / span 6;
	}
	.lgf-mega__titre {
		display: block;
		padding: 0 var(--lgf-espace-3) var(--lgf-espace-2);
		font-family: var(--font-texte);
		font-size: var(--lgf-surtitre-taille);
		line-height: var(--lgf-surtitre-interligne);
		font-weight: var(--lgf-surtitre-graisse);
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--lgf-texte-discret);
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega > .sub-menu > li > a {
		display: block;
		white-space: normal;
	}
	.lgf-mega .lgf-mega__libelle {
		font-weight: var(--lgf-corps-fort-graisse);
		color: var(--lgf-encre);
	}
	.lgf-mega .lgf-mega__description {
		font-size: var(--lgf-petit-taille);
		line-height: var(--lgf-petit-interligne);
		font-weight: var(--lgf-petit-graisse);
		color: var(--lgf-texte-discret);
	}
	.lgf-mega .sub-menu .sub-arrow {
		display: none !important;
	}
	/* Pays sous « Étudier à l'étranger » : liste en deux colonnes, toujours visible dans le panneau */
	.lgf-mega > .sub-menu > .menu-item-has-children {
		grid-row: span 4;
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega .sub-menu .sub-menu {
		position: static !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 var(--lgf-espace-2);
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: var(--lgf-espace-1) 0 0 !important;
		padding: 0 !important;
		border: 0;
		border-radius: var(--lgf-rayon-0);
		background: transparent;
		box-shadow: none;
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega .sub-menu .sub-menu a {
		padding: var(--lgf-espace-1) var(--lgf-espace-3) !important;
		font-size: var(--lgf-petit-taille);
		line-height: var(--lgf-petit-interligne);
		color: var(--lgf-texte) !important;
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega .sub-menu .sub-menu a:hover,
	.lgf-nav .elementor-nav-menu--main .lgf-mega .sub-menu .sub-menu a:focus {
		color: var(--lgf-bleu-700) !important;
	}
	.lgf-mega .lgf-mega__prefixe {
		display: none;
	}
	.lgf-nav .elementor-nav-menu--main .lgf-mega .sub-menu .sub-menu .sub-menu {
		display: none !important;
	}
	/* Encart « Tu veux être accompagné ? » */
	.lgf-mega-encart {
		padding: var(--lgf-espace-5);
		border-radius: var(--lgf-rayon-lg);
		background: var(--lgf-bleu-50);
		font-family: var(--font-texte);
		white-space: normal;
	}
	.lgf-mega-encart__icone {
		display: block;
		margin-bottom: var(--lgf-espace-3);
		color: var(--lgf-bleu-500);
	}
	.lgf-mega-encart__titre {
		margin: 0 0 var(--lgf-espace-2);
		font-size: var(--lgf-corps-fort-taille);
		line-height: var(--lgf-corps-fort-interligne);
		font-weight: var(--lgf-corps-fort-graisse);
		color: var(--lgf-encre);
	}
	.lgf-mega-encart__texte {
		margin: 0 0 var(--lgf-espace-4);
		font-size: var(--lgf-petit-taille);
		line-height: var(--lgf-petit-interligne);
		color: var(--lgf-texte);
	}
	.lgf-nav .elementor-nav-menu--dropdown .lgf-mega-encart a.lgf-btn {
		padding: 0 var(--lgf-espace-4) !important;
		border-radius: var(--lgf-rayon-md);
		background: var(--lgf-blanc) !important;
		color: var(--lgf-bleu-500) !important;
		font-weight: var(--lgf-bouton-graisse);
	}
	.lgf-nav .elementor-nav-menu--dropdown .lgf-mega-encart a.lgf-btn:hover,
	.lgf-nav .elementor-nav-menu--dropdown .lgf-mega-encart a.lgf-btn:focus-visible {
		background: var(--lgf-bleu-500) !important;
		color: var(--lgf-blanc) !important;
	}
}

/* ---------- Pied de page ---------- */
.lgf-pied {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background: var(--lgf-bleu-900);
	color: var(--lgf-blanc);
}
/* Ruban quadricolore pleine largeur au-dessus du pied */
.lgf-pied::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--lgf-ruban);
	background: linear-gradient(90deg, var(--lgf-bleu-500) 0 25%, var(--lgf-turquoise-500) 25% 50%, var(--lgf-jaune-400) 50% 75%, var(--lgf-corail-500) 75% 100%);
}
/* Grand symbole en filigrane */
.lgf-pied::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -60px;
	bottom: -80px;
	width: 360px;
	height: 360px;
	background: var(--lgf-bleu-700);
	-webkit-mask: url("../img/motifs/symbole.svg") center / contain no-repeat;
	mask: url("../img/motifs/symbole.svg") center / contain no-repeat;
	opacity: 0.6;
	pointer-events: none;
}
.lgf-pied :is(p, li, span, .elementor-heading-title) {
	color: var(--lgf-blanc) !important;
}
.lgf-pied :is(a, .elementor-nav-menu a) {
	color: var(--lgf-bleu-50) !important;
	transition: color var(--lgf-duree-rapide) var(--lgf-courbe);
}
.lgf-pied :is(a, .elementor-nav-menu a):hover {
	color: var(--lgf-jaune-400) !important;
}
.lgf-pied .elementor-nav-menu--layout-vertical .elementor-item {
	padding: var(--lgf-espace-1) 0 !important;
	font-weight: var(--lgf-corps-graisse);
}
.lgf-pied__titre .elementor-heading-title {
	font-family: var(--font-titres);
	font-weight: var(--lgf-h3-graisse);
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-corps-interligne);
	color: var(--lgf-jaune-400) !important;
}
.lgf-nav-pied .elementor-nav-menu--main .elementor-nav-menu a,
.lgf-nav-pied .elementor-nav-menu--main .elementor-item {
	padding: var(--lgf-espace-1) 0 !important;
	border-radius: 0;
	background: transparent !important;
	font-family: var(--font-texte);
	font-weight: var(--lgf-corps-graisse);
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-corps-interligne);
}
.lgf-nav-pied .elementor-nav-menu--main .elementor-item:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
/* Drapeau devant le nom du pays (menu « Écoles par pays », php/features/menus.php) */
.lgf-nav-pied .elementor-item:has(.lgf-drapeau) {
	display: flex;
	align-items: center;
	gap: var(--lgf-espace-3);
}
/* « .elementor img » remet rayon et hauteur à zéro : sélecteur renforcé */
img.lgf-drapeau,
.elementor img.lgf-drapeau {
	display: block;
	flex: none;
	width: 24px;
	height: 16px;
	border-radius: var(--lgf-rayon-xs);
	object-fit: cover;
}
/* Drapeau à la place du nom du pays, dans le texte (« Dakar » + drapeau : lgf_v2_lieu_html()) ;
 * à la taille du texte, filet pour les drapeaux à bande blanche sur fond blanc */
img.lgf-drapeau.lgf-drapeau--texte,
.elementor img.lgf-drapeau.lgf-drapeau--texte {
	display: inline-block;
	width: 1.5em;
	height: 1em;
	vertical-align: -0.125em;
	box-shadow: 0 0 0 var(--lgf-trait) var(--lgf-bordure);
}
/* Réseaux : pastilles icône + nom, deux par ligne, de largeur égale par colonne */
.lgf-reseaux {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: var(--lgf-espace-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
.lgf-reseaux a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--lgf-espace-2);
	min-height: 40px;
	padding: 0 var(--lgf-espace-3);
	border: var(--lgf-trait) solid color-mix(in srgb, var(--lgf-blanc) 35%, transparent);
	border-radius: var(--lgf-rayon-pilule);
	color: var(--lgf-blanc);
	font-size: var(--lgf-petit-taille);
	font-weight: var(--lgf-etiquette-graisse);
	text-decoration: none;
	transition: background-color var(--lgf-duree-rapide) var(--lgf-courbe), border-color var(--lgf-duree-rapide) var(--lgf-courbe), color var(--lgf-duree-rapide) var(--lgf-courbe);
}
.lgf-pied .lgf-reseaux a:hover {
	border-color: var(--lgf-jaune-400);
	background: var(--lgf-jaune-400);
	color: var(--lgf-encre) !important;
}
.lgf-partage {
	margin: 0;
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
}
.lgf-partage a {
	margin-left: var(--lgf-espace-2);
}
.lgf-pied__legal {
	border-top: var(--lgf-trait) solid color-mix(in srgb, var(--lgf-blanc) 18%, transparent);
	padding-top: var(--lgf-espace-4);
	font-size: var(--lgf-petit-taille);
}

/* ---------- Fiche établissement ---------- */
.lgf-fiche-couverture {
	height: 200px;
	overflow: hidden;
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-bleu-50);
}
.lgf-fiche-couverture :is(.lgf-fiche-couverture__img, picture, img) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (max-width: 767px) {
	.lgf-fiche-couverture {
		height: 140px;
	}
}
/* Sans photo de l'établissement : composition de marque, la même que les cartes d'école sans photo
 * (fond bleu de marque, grand hexagone au trait turquoise, petit hexagone jaune). Couleur de fond en plus
 * du dégradé : le chargement différé d'Elementor retire les images de fond hors écran. */
.lgf-fiche-couverture--marque {
	position: relative;
	background-color: var(--lgf-bleu-700);
	background-image: linear-gradient(135deg, var(--lgf-bleu-500), var(--lgf-bleu-900));
}
.lgf-fiche-couverture--marque::before,
.lgf-fiche-couverture--marque::after {
	content: "";
	position: absolute;
	pointer-events: none;
}
.lgf-fiche-couverture--marque::before {
	right: 4%;
	bottom: -150px;
	width: 380px;
	height: 380px;
	background: var(--lgf-turquoise-500);
	-webkit-mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
	opacity: 0.55;
}
.lgf-fiche-couverture--marque::after {
	right: 36%;
	top: 56px;
	width: 36px;
	height: 36px;
	background: var(--lgf-jaune-400);
	-webkit-mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
}
@media (max-width: 767px) {
	.lgf-fiche-couverture--marque::before {
		right: -40px;
		bottom: -100px;
		width: 240px;
		height: 240px;
	}
	.lgf-fiche-couverture--marque::after {
		right: 48%;
		top: 40px;
		width: 24px;
		height: 24px;
	}
}
.lgf-fiche-bloc {
	gap: var(--lgf-espace-5);
	scroll-margin-top: var(--lgf-espace-8);
}
.lgf-fiche-bloc > h2 {
	margin: 0;
}
.lgf-fiche-entete {
	gap: var(--lgf-espace-4);
}
.lgf-fiche-entete__haut {
	display: flex;
	gap: var(--lgf-espace-5);
	align-items: flex-start;
}
.lgf-fiche-entete__logo {
	width: 88px;
	height: 88px;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--lgf-espace-1);
	box-sizing: border-box;
	border: var(--lgf-trait) solid var(--lgf-bordure);
	border-radius: var(--lgf-rayon-md);
	background: var(--lgf-blanc);
	overflow: hidden;
}
.lgf-fiche-entete__logo :is(picture, img) {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.lgf-fiche-entete__sigle {
	font-family: var(--font-titres);
	font-weight: var(--lgf-h3-graisse);
	font-size: var(--lgf-petit-taille);
	color: var(--lgf-bleu-500);
	text-align: center;
}
.lgf-fiche-entete__titre {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-2);
	min-width: 0;
}
.lgf-fiche-entete__titre h1 {
	margin: 0;
	color: var(--lgf-encre);
	overflow-wrap: anywhere;
}
.lgf-fiche-entete__adresse,
.lgf-fiche-entete__maj,
.lgf-fiche-acces__adresse {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--lgf-espace-1) var(--lgf-espace-3);
	margin: 0;
	color: var(--lgf-texte-discret);
}
.lgf-fiche-entete__maj {
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	align-items: center;
}
.lgf-fiche-entete__faits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lgf-espace-4);
	margin: 0;
	padding-top: var(--lgf-espace-4);
	border-top: var(--lgf-trait) solid var(--lgf-bordure);
}
@media (min-width: 768px) {
	.lgf-fiche-entete__faits {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.lgf-fiche-entete__faits dt {
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
.lgf-fiche-entete__faits dd {
	margin: 0;
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-fiche-entete__liens {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--lgf-espace-3);
}
.lgf-fiche-entete__avis {
	display: inline-flex;
	align-items: center;
	gap: var(--lgf-espace-2);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-bleu-500);
	text-decoration: none;
}
.lgf-fiche-entete__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-2);
}
@media (max-width: 767px) {
	.lgf-fiche-entete__haut {
		gap: var(--lgf-espace-4);
	}
	.lgf-fiche-entete__logo {
		width: 56px;
		height: 56px;
	}
}
.lgf-fiche-ancres {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-2);
}
.lgf-fiche-ancres .lgf-pastille {
	text-decoration: none;
}
.lgf-fiche-action {
	gap: var(--lgf-espace-4);
	box-shadow: var(--lgf-ombre-md);
}
.lgf-fiche-action .lgf-t-h3 {
	margin: 0;
	color: var(--lgf-encre);
}
.lgf-fiche-action .lgf-t-petit,
.lgf-fiche-bloc .lgf-t-petit {
	margin: 0;
	color: var(--lgf-texte-discret);
}
.lgf-fiche-barre {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
}
@media (min-width: 768px) {
	.lgf-fiche-barre {
		display: none;
	}
}
@media (max-width: 767px) {
	body.single-etablissement {
		padding-bottom: 88px;
	}
}
.lgf-fiche-video {
	max-width: 720px;
}
.lgf-fiche-video iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: var(--lgf-rayon-lg);
}
.lgf-fiche-galerie {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--lgf-espace-2);
}
@media (min-width: 768px) {
	.lgf-fiche-galerie {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}
.lgf-fiche-galerie img {
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	border-radius: var(--lgf-rayon-md);
	display: block;
}
.lgf-fiche-chiffres {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lgf-espace-4);
	padding: var(--lgf-espace-4) 0;
	border-top: var(--lgf-trait) solid var(--lgf-bordure);
	border-bottom: var(--lgf-trait) solid var(--lgf-bordure);
}
@media (min-width: 768px) {
	.lgf-fiche-chiffres {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.lgf-fiche-chiffres p {
	margin: 0;
}
.lgf-fiche-reco {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-3);
}
.lgf-fiche-reco h3,
.lgf-fiche-reco p {
	margin: 0;
}
.lgf-fiche-reco__liste {
	display: grid;
	gap: var(--lgf-espace-3);
	margin: 0;
	padding: 0;
	list-style: none;
}
.lgf-fiche-reco__liste li {
	display: flex;
	gap: var(--lgf-espace-2);
}
.lgf-fiche-reco__liste .lgf-icone {
	color: var(--lgf-vert-700);
}
.lgf-fiche-classement {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--lgf-espace-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 768px) {
	.lgf-fiche-classement {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}
.lgf-fiche-classement li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--lgf-espace-2) var(--lgf-espace-3);
	border-radius: var(--lgf-rayon-md);
	background: var(--lgf-fond);
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
.lgf-fiche-classement strong {
	font-size: var(--lgf-corps-taille);
	color: var(--lgf-encre);
}
.lgf-fiche-classement li.is-top {
	background: var(--lgf-vert-50);
}
.lgf-fiche-classement li.is-top strong {
	color: var(--lgf-vert-700);
}
.lgf-fiche-taxos {
	display: grid;
	gap: var(--lgf-espace-4);
}
@media (min-width: 768px) {
	.lgf-fiche-taxos {
		grid-template-columns: 2fr 1fr 1fr;
	}
}
.lgf-fiche-taxos p {
	margin: 0 0 var(--lgf-espace-2);
}
.lgf-fiche-formations {
	display: grid;
	gap: var(--lgf-espace-3);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 768px) {
	.lgf-fiche-formations {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.lgf-fiche-formations li {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-1);
	padding: var(--lgf-espace-3) var(--lgf-espace-4);
	border: var(--lgf-trait) solid var(--lgf-bordure);
	border-radius: var(--lgf-rayon-md);
	background: var(--lgf-blanc);
}
.lgf-fiche-formations__nom {
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-fiche-formations .lgf-btn--tertiaire {
	align-self: flex-start;
	padding: 0;
	min-height: 32px;
}
.lgf-fiche-inscription {
	border-color: var(--lgf-bleu-500);
}
.lgf-fiche-avis__form {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-4);
	padding: var(--lgf-espace-5);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-fond);
	scroll-margin-top: var(--lgf-espace-8);
}
.lgf-fiche-avis__form h3 {
	margin: 0;
}
.lgf-fiche-acces__grille {
	display: grid;
	gap: var(--lgf-espace-5);
	align-items: start;
}
@media (min-width: 768px) {
	.lgf-fiche-acces__grille {
		grid-template-columns: 3fr 2fr;
	}
}
.lgf-fiche-acces__infos {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-4);
	align-items: flex-start;
}
.lgf-fiche-acces__adresse strong {
	color: var(--lgf-encre);
}
.lgf-fiche-acces__adresse .lgf-icone,
.lgf-fiche-coord__liste .lgf-icone {
	color: var(--lgf-bleu-500);
}
.lgf-fiche-coord {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-3);
}
.lgf-fiche-coord h3 {
	margin: 0;
}
.lgf-fiche-coord__liste {
	display: grid;
	gap: var(--lgf-espace-3);
	margin: 0;
	padding: 0;
	list-style: none;
}
.lgf-fiche-coord__liste li {
	display: flex;
	align-items: center;
	gap: var(--lgf-espace-2);
	min-width: 0;
}
.lgf-fiche-coord__liste a {
	overflow-wrap: anywhere;
	color: var(--lgf-bleu-500);
}
.lgf-fiche-coord__masquees {
	display: flex;
	gap: var(--lgf-espace-2);
	margin: 0;
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
/* Coordonnées réservées aux membres : « Se connecter » et « Créer mon compte » côte à côte */
.lgf-fiche-coord__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-2);
}
.lgf-fiche-similaires {
	gap: var(--lgf-espace-3);
}
.lgf-fiche-similaires h2,
.lgf-fiche-similaires > p {
	margin: 0;
}
.lgf-fiche-articles {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-3);
}
.lgf-fiche-articles h2 {
	margin: 0;
}
.lgf-fiche-representant {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-4);
	padding: var(--lgf-espace-6);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-encre);
	color: var(--lgf-blanc);
}
.lgf-fiche-representant :is(h2, p) {
	margin: 0;
	color: var(--lgf-blanc);
}
.lgf-fiche-representant .lgf-t-surtitre,
.lgf-fiche-representant .lgf-chiffre {
	color: var(--lgf-jaune-400);
}
.lgf-fiche-representant__chiffres {
	display: grid;
	gap: var(--lgf-espace-4);
}
@media (min-width: 768px) {
	.lgf-fiche-representant__chiffres {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.lgf-fiche-representant__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-3);
}
@media (max-width: 767px) {
	.lgf-fiche-representant {
		padding: var(--lgf-espace-5);
	}
}

/* Colonnes de la fiche : sur mobile et tablette, les blocs de la colonne latérale rejoignent le flux principal
 * (à 768 px, la colonne principale ne garderait que 310 px à côté de la colonne de 360 px) */
@media (max-width: 1023px) {
	.lgf-fiche-colonnes,
	.lgf-fiche-colonnes > .e-con,
	.lgf-fiche-colonnes > .e-con > .e-con-inner {
		display: contents !important;
	}
	.lgf-o-entete { order: 1; }
	.lgf-o-ancres { order: 2; }
	.lgf-o-similaires { order: 3; }
	.lgf-o-presentation { order: 4; }
	.lgf-o-formations { order: 5; }
	.lgf-o-admission { order: 6; }
	.lgf-o-inscription { order: 7; }
	.lgf-o-temoignages { order: 8; }
	.lgf-o-avis { order: 9; }
	.lgf-o-acces { order: 10; }
	.lgf-o-articles { order: 11; }
	.lgf-o-silencieuse { order: 1; }
	.lgf-o-fin { order: 20; }
}
/* « Coordonnées » de la colonne latérale : doublon de « Joindre l'établissement » du bloc Accès,
 * présent à toutes les tailles d'écran ; masqué partout */
.lgf-o-coordonnees {
	display: none !important;
}
@media (max-width: 767px) {
	/* La barre d'action collée en bas d'écran remplace la carte d'action */
	.lgf-o-action {
		display: none !important;
	}
}
@media (min-width: 768px) and (max-width: 1023px) {
	/* Tablette : pas de barre d'action, la carte d'action suit l'en-tête */
	.lgf-o-action { order: 3; }
	.lgf-o-similaires { order: 11; }
	.lgf-o-articles { order: 12; }
}
@media (min-width: 1024px) {
	.lgf-o-aside {
		position: sticky;
		top: var(--lgf-espace-5);
	}
}

/* Popup promotionnel [popup-content] (gabarit 30669) */
/* Tant que le contenu n'est pas arrivé (js/generic.js), le popup reste caché */
.elementor-popup-modal:has(.lgf-popup-differe) {
	display: none !important;
}
.lgf-popup {
	display: flex;
	flex-direction: column;
	background: var(--lgf-blanc);
	border-radius: var(--lgf-rayon-lg);
	overflow: hidden;
	color: var(--lgf-texte);
	font-family: var(--font-texte);
}
.lgf-popup__image {
	display: block;
	height: 180px;
	background: var(--lgf-bleu-50);
}
.lgf-popup__image :is(picture, img) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.lgf-popup__corps {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-3);
	padding: var(--lgf-espace-5);
}
.lgf-popup__corps .lgf-badge {
	align-self: flex-start;
}
.lgf-popup__titre {
	margin: 0;
	font-family: var(--font-titres);
	font-weight: var(--lgf-h3-graisse);
	font-size: var(--lgf-h3-taille);
	line-height: var(--lgf-h3-interligne);
	color: var(--lgf-encre);
}
.lgf-popup__texte {
	margin: 0;
}

/* ---------- Composants de page (pages et modèles reconstruits) ---------- */
.lgf-carte-icone {
	gap: var(--lgf-espace-3);
}
.lgf-carte-icone > :is(h2, h3, p) {
	margin: 0;
}
.lgf-carte-icone > .lgf-lien {
	margin-top: auto;
	font-weight: var(--lgf-corps-fort-graisse);
}
.lgf-chiffres {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--lgf-espace-5);
}
.lgf-chiffre-bloc p {
	margin: 0;
}
.lgf-etapes--info .lgf-etape__pastille {
	border-color: var(--lgf-bleu-500);
	background: var(--lgf-bleu-500);
	color: var(--lgf-blanc);
}
.lgf-encart__action {
	margin: var(--lgf-espace-3) 0 0;
}
.lgf-carte--compacte {
	gap: var(--lgf-espace-2);
	padding: var(--lgf-espace-4);
}
.lgf-carte--compacte > p {
	margin: 0;
}

/* En-tête de page : recherche */
.lgf-hero__recherche {
	max-width: 640px;
}
.lgf-archive__titre {
	margin: 0;
}

/* Annuaires : filtres (repliés sur mobile et tablette, bouton « Filtres ») : les résultats gardent toute la largeur */
.lgf-filtres-bouton {
	display: none;
}
.lgf-filtres-bouton .lgf-icone {
	margin-right: var(--lgf-espace-2);
}
@media (max-width: 1130px) {
	.lgf-filtres-bouton {
		display: inline-flex;
	}
	.e-con.lgf-filtres:not(.est-ouvert) {
		display: none;
	}
}
.lgf-filtres .wpgb-facet {
	margin: 0;
}
.lgf-resultats__barre .wpgb-facet {
	margin: 0;
}
.lgf-filtres-ligne .wpgb-facet {
	margin: 0;
}

/* Articles et fiches métiers */
.lgf-article-entete {
	display: flex;
	flex-direction: column;
	gap: var(--lgf-espace-4);
}
.lgf-article-entete > p,
.lgf-article-entete > h1 {
	margin: 0;
}
.lgf-article-entete__titre {
	max-width: 820px;
}
.lgf-article-entete__meta {
	display: flex;
	align-items: flex-start;
	gap: var(--lgf-espace-2);
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
.lgf-article-entete__meta .lgf-icone {
	margin-top: 2px;
}
.lgf-article-entete__image {
	margin: var(--lgf-espace-2) 0 0;
}
.lgf-article-entete__image :is(picture, img) {
	display: block;
	width: 100%;
	max-height: 440px;
	object-fit: cover;
	border-radius: var(--lgf-rayon-lg);
}
.lgf-article {
	min-width: 0;
}
.lgf-article__contenu .elementor-widget-container {
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-chapo-interligne);
}
.lgf-article__contenu h2 {
	margin: var(--lgf-espace-7) 0 var(--lgf-espace-3);
	font-family: var(--font-titres);
	font-weight: var(--lgf-h2-graisse);
	font-size: var(--lgf-h2-taille);
	line-height: var(--lgf-h2-interligne);
	color: var(--lgf-encre);
	scroll-margin-top: var(--lgf-espace-8);
}
.lgf-article__contenu img {
	border-radius: var(--lgf-rayon-lg);
}
/* Légendes d'images : styles en ligne des contenus importés (13 px, gris sous 4,5:1) neutralisés */
.lgf-article__contenu :is(figcaption, .wp-element-caption, .wp-caption-text) {
	margin-top: var(--lgf-espace-2) !important;
	font-size: var(--lgf-petit-taille) !important;
	line-height: var(--lgf-petit-interligne) !important;
	color: var(--lgf-texte-discret) !important;
}
.lgf-article__contenu table {
	width: 100%;
	border-collapse: collapse;
}
.lgf-article__contenu :is(th, td) {
	padding: var(--lgf-espace-2) var(--lgf-espace-3);
	border-bottom: var(--lgf-trait) solid var(--lgf-bordure);
	text-align: left;
}
.lgf-article__aside {
	position: sticky;
	top: var(--lgf-espace-5);
}
.lgf-sommaire {
	gap: var(--lgf-espace-2);
	padding: var(--lgf-espace-4);
}
.lgf-sommaire__titre,
.lgf-sommaire__titre .elementor-heading-title {
	margin: 0;
	font-family: var(--font-texte);
	font-weight: var(--lgf-corps-fort-graisse);
	font-size: var(--lgf-corps-taille);
	color: var(--lgf-encre);
}
.lgf-sommaire ol {
	margin: 0;
	padding-left: var(--lgf-espace-5);
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
}
.lgf-sommaire li + li {
	margin-top: var(--lgf-espace-2);
}
.lgf-auteur {
	flex-direction: row;
	align-items: flex-start;
}
.lgf-auteur img {
	flex: none;
	border-radius: 50%;
}
.lgf-auteur p {
	margin: 0 0 var(--lgf-espace-2);
}
.lgf-auteur__nom {
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-metier-faits dl {
	display: grid;
	gap: var(--lgf-espace-3);
	margin: 0;
}
.lgf-metier-faits dt {
	font-size: var(--lgf-petit-taille);
	color: var(--lgf-texte-discret);
}
.lgf-metier-faits dd {
	margin: 0;
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}

/* Erreur 404 */
.lgf-erreur .e-con-inner {
	align-items: center;
	text-align: center;
}
.lgf-erreur__code {
	margin: 0;
	font-family: var(--font-titres);
	font-weight: var(--lgf-display-graisse);
	font-size: calc(var(--lgf-display-taille) * 2);
	line-height: 1;
	color: var(--lgf-bleu-500);
}
.lgf-erreur__recherche {
	width: 100%;
	max-width: 560px;
}
.lgf-erreur .lgf-grille {
	width: 100%;
	text-align: left;
}

/* Popup : la fenêtre Elementor ne porte ni fond ni ombre, la carte .lgf-popup s'en charge */
.lgf-popup-conteneur {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
}

/* En-tête : le logo, le menu et le bouton gardent leur largeur ; seule la recherche se réduit */
.lgf-entete__principal .elementor-widget {
	flex-shrink: 0;
}
.lgf-nav-principale .elementor-nav-menu {
	flex-wrap: nowrap;
}

/* En-tête : une seule ligne à toutes les tailles ; sur mobile, le bloc logo se réduit à son contenu */
.lgf-entete__principal > .e-con-inner,
.lgf-entete__barre > .e-con-inner {
	flex-wrap: nowrap !important;
}
@media (max-width: 767px) {
	.e-con.lgf-entete__marque {
		--width: auto;
		flex: 1 1 auto;
		min-width: 0;
	}
}
/* Fiche : adresse sur une ligne avec son icône ; en-tête empilé sur mobile */
.lgf-fiche-entete__adresse,
.lgf-fiche-acces__adresse {
	flex-wrap: nowrap;
}
.lgf-fiche-entete__adresse > :not(svg),
.lgf-fiche-acces__adresse > :not(svg) {
	min-width: 0;
}
.lgf-fiche-entete__adresse > svg,
.lgf-fiche-acces__adresse > svg {
	margin-top: 2px;
}
@media (max-width: 767px) {
	.lgf-fiche-entete__haut {
		flex-direction: column;
		gap: var(--lgf-espace-3);
	}
	.lgf-fiche-entete__logo {
		width: 56px;
		height: 56px;
	}
}

/* ---------- Pages de texte hors Elementor (mentions légales, CGU, CGV, confidentialité) : gabarit par défaut ---------- */
body.page:not(.elementor-page) .site-main {
	box-sizing: border-box;
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	padding: var(--lgf-espace-7) var(--lgf-espace-6) var(--lgf-espace-8);
}
body.page:not(.elementor-page) .page-header {
	margin-bottom: var(--lgf-espace-6);
}
body.page:not(.elementor-page) .page-header .entry-title {
	margin: 0;
	font-family: var(--font-titres);
	font-weight: var(--lgf-h1-graisse);
	font-size: var(--lgf-h1-taille);
	line-height: var(--lgf-h1-interligne);
	color: var(--lgf-encre);
}
body.page:not(.elementor-page) .page-content :is(h2, h3, h4) {
	margin: var(--lgf-espace-7) 0 var(--lgf-espace-3);
	font-family: var(--font-titres);
	color: var(--lgf-encre);
}
body.page:not(.elementor-page) .page-content h2 {
	font-weight: var(--lgf-h2-graisse);
	font-size: var(--lgf-h2-taille);
	line-height: var(--lgf-h2-interligne);
}
body.page:not(.elementor-page) .page-content :is(h3, h4) {
	font-weight: var(--lgf-h3-graisse);
	font-size: var(--lgf-h3-taille);
	line-height: var(--lgf-h3-interligne);
}
body.page:not(.elementor-page) .page-content :is(p, ul, ol) {
	margin: 0 0 var(--lgf-espace-4);
}
body.page:not(.elementor-page) .page-content li + li {
	margin-top: var(--lgf-espace-1);
}
@media (max-width: 767px) {
	body.page:not(.elementor-page) .site-main {
		padding: var(--lgf-espace-6) var(--lgf-espace-4) var(--lgf-espace-7);
	}
}

/* ---------- Pages légales (contenu HTML : .lgf-legal, gabarit pleine largeur) ---------- */
.lgf-legal {
	color: var(--lgf-texte);
	font-family: var(--font-texte);
	font-size: var(--lgf-corps-taille);
	line-height: var(--lgf-corps-interligne);
}
.lgf-legal .wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--lgf-conteneur);
	margin: 0 auto;
	padding: 0 var(--lgf-marge-bureau);
}
.lgf-legal .lgl-hero {
	padding: var(--lgf-espace-8) 0;
	background: var(--lgf-bleu-50);
}
.lgf-legal .eyebrow {
	display: block;
	font-size: var(--lgf-surtitre-taille);
	line-height: var(--lgf-surtitre-interligne);
	font-weight: var(--lgf-surtitre-graisse);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lgf-bleu-500);
}
.lgf-legal h1 {
	margin: var(--lgf-espace-3) 0 var(--lgf-espace-4);
	font-family: var(--font-titres);
	font-weight: var(--lgf-h1-graisse);
	font-size: var(--lgf-h1-taille);
	line-height: var(--lgf-h1-interligne);
	color: var(--lgf-encre);
}
.lgf-legal .lede {
	max-width: var(--lgf-conteneur-texte);
	margin: 0;
	font-size: var(--lgf-chapo-taille);
	line-height: var(--lgf-chapo-interligne);
}
.lgf-legal .lgl-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lgf-espace-2) var(--lgf-espace-5);
	margin: var(--lgf-espace-5) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
.lgf-legal .lgl-meta b {
	color: var(--lgf-encre);
}
.lgf-legal .lgl-body {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: var(--lgf-espace-8);
	align-items: start;
	padding-top: var(--lgf-espace-8);
	padding-bottom: var(--lgf-espace-8);
}
.lgf-legal .toc {
	position: sticky;
	top: var(--lgf-espace-5);
	padding: var(--lgf-espace-4);
	border: var(--lgf-trait) solid var(--lgf-bordure);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-blanc);
}
.lgf-legal .toc h2 {
	margin: 0 0 var(--lgf-espace-3);
	font-family: var(--font-texte);
	font-size: var(--lgf-corps-taille);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-legal .toc ol {
	margin: 0;
	padding-left: var(--lgf-espace-5);
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
}
.lgf-legal .toc li + li {
	margin-top: var(--lgf-espace-2);
}
.lgf-legal .arts {
	max-width: var(--lgf-conteneur-texte);
}
.lgf-legal .art {
	padding-bottom: var(--lgf-espace-6);
	margin-bottom: var(--lgf-espace-6);
	border-bottom: var(--lgf-trait) solid var(--lgf-bordure);
	scroll-margin-top: var(--lgf-espace-8);
}
.lgf-legal .art:last-child {
	border-bottom: 0;
}
.lgf-legal .art h2 {
	margin: 0 0 var(--lgf-espace-4);
	font-family: var(--font-titres);
	font-weight: var(--lgf-h2-graisse);
	font-size: var(--lgf-h3-taille);
	line-height: var(--lgf-h3-interligne);
	color: var(--lgf-encre);
}
.lgf-legal .art h3 {
	margin: var(--lgf-espace-5) 0 var(--lgf-espace-2);
	font-size: var(--lgf-corps-taille);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-legal p,
.lgf-legal .art :is(ul, ol) {
	margin: 0 0 var(--lgf-espace-4);
}
.lgf-legal .dl dt {
	margin-top: var(--lgf-espace-3);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-legal .dl dd {
	margin: 0;
}
.lgf-legal .note {
	margin: 0 0 var(--lgf-espace-4);
	padding: var(--lgf-espace-4) var(--lgf-espace-5);
	border-radius: var(--lgf-rayon-lg);
	background: var(--lgf-bleu-50);
}
.lgf-legal .note--warn {
	background: var(--lgf-jaune-50);
}
.lgf-legal .note--key {
	background: var(--lgf-vert-50);
}
.lgf-legal .note p:last-child {
	margin-bottom: 0;
}
.lgf-legal table {
	display: block;
	width: 100%;
	overflow-x: auto;
	margin: 0 0 var(--lgf-espace-4);
	border-collapse: collapse;
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
}
.lgf-legal :is(th, td) {
	padding: var(--lgf-espace-2) var(--lgf-espace-3);
	border: var(--lgf-trait) solid var(--lgf-bordure);
	text-align: left;
	vertical-align: top;
}
.lgf-legal th {
	background: var(--lgf-fond);
	font-weight: var(--lgf-corps-fort-graisse);
	color: var(--lgf-encre);
}
.lgf-legal .lgl-foot {
	padding: var(--lgf-espace-6) 0;
	background: var(--lgf-fond);
}
.lgf-legal .fine {
	font-size: var(--lgf-petit-taille);
	line-height: var(--lgf-petit-interligne);
	color: var(--lgf-texte-discret);
}
@media (max-width: 1130px) {
	.lgf-legal .lgl-body {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--lgf-espace-6);
	}
	.lgf-legal .toc {
		position: static;
	}
}
@media (max-width: 767px) {
	.lgf-legal .wrap {
		padding: 0 var(--lgf-marge-mobile);
	}
	.lgf-legal .lgl-hero,
	.lgf-legal .lgl-body {
		padding-top: var(--lgf-espace-6);
		padding-bottom: var(--lgf-espace-6);
	}
}

/* ---------- En-tête de l'accueil (.lgf-hero--accueil, zone bleue) ---------- */
.lgf-hero--accueil .lgf-titre-display .elementor-heading-title {
	font-size: 56px;
	line-height: 60px;
	letter-spacing: -0.02em;
}
@media (max-width: 767px) {
	.lgf-hero--accueil .lgf-titre-display .elementor-heading-title {
		font-size: var(--lgf-display-taille);
		line-height: var(--lgf-display-interligne);
	}
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) .lgf-surligne {
	background: linear-gradient(transparent 82%, var(--lgf-corail-500) 82% 96%, transparent 96%);
	color: var(--lgf-jaune-400);
}
.lgf-hero--accueil .lgf-chapo,
.lgf-hero--accueil .lgf-chapo p,
.lgf-hero--accueil .lgf-petit p {
	color: var(--lgf-bleu-50);
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) body a.lgf-pastille,
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) a.lgf-pastille {
	border-color: color-mix(in srgb, var(--lgf-blanc) 45%, transparent);
	background: color-mix(in srgb, var(--lgf-blanc) 10%, transparent);
	color: var(--lgf-blanc);
}
:is(.lgf-zone--bleu, .lgf-zone--encre, .lgf-zone--nuit) a.lgf-pastille:hover {
	border-color: var(--lgf-jaune-400);
	background: var(--lgf-jaune-400);
	color: var(--lgf-encre);
}
.lgf-hero__media {
	position: relative;
	isolation: isolate;
}
/* Accueil : l'illustration porte sa propre décoration, le filigrane du bandeau s'efface */
.e-con.lgf-hero--accueil > .e-con-inner::before,
.e-con.lgf-hero--accueil > .e-con-inner::after {
	display: none;
}
.lgf-hero__media .elementor-widget-image {
	position: relative;
	line-height: 0;
}
/* Grand hexagone jaune décalé derrière le coin bas droit de l'illustration */
.lgf-hero__media .elementor-widget-image::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: -48px;
	bottom: -56px;
	width: 220px;
	height: 220px;
	background: var(--lgf-jaune-400);
	-webkit-mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone.svg") center / contain no-repeat;
}
/* Hexagone au trait turquoise derrière le coin haut gauche */
.lgf-hero__media .elementor-widget-image::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -40px;
	left: -44px;
	width: 150px;
	height: 150px;
	background: var(--lgf-turquoise-500);
	-webkit-mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
	mask: url("../img/motifs/hexagone-contour.svg") center / contain no-repeat;
}
.lgf-hero__media img {
	display: block;
	border-radius: var(--lgf-rayon-xl);
	background: var(--lgf-blanc);
	box-shadow: var(--lgf-ombre-media);
	transform: rotate(-2deg);
	transition: transform var(--lgf-duree-lente) var(--lgf-courbe);
}
.lgf-hero__media:hover img {
	transform: rotate(0deg) scale(1.01);
}
