/*========================
* 
* 				TYPO
* 
* ======================*/

body,
h1, h2, h3, h4, h5, h6 {
	font-family: var(--typo-principale) !important;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.1;
}
/* Classes spécialisées */
.uppercase {
	text-transform: uppercase;
}
.highlight {
	text-transform: uppercase;
	font-weight: var(--bold) !important;
	color: var(--couleur-principale) !important;	
}
.font-decorative,
.font-decorative.fl-rich-text *,
.font-decorative.fl-module-heading .fl-heading {
	font-family: var(--typo-3) !important;
	font-weight: var(--light) !important;
}
/**/
.titre-0.fl-rich-text *,
.titre-0.fl-module-heading .fl-heading {
	letter-spacing: 0.05em;
	font-family: var(--typo-principale);
	font-weight: var(--bold);

	font-size: var(--size-titre-0);
	line-height: calc(var(--size-titre-0) + 4px);
}
/**/
.titre-1.fl-rich-text *,
.titre-1.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	font-size: var(--size-titre-1);
	line-height: calc(var(--size-titre-1) + 4px);

}

.titre-2.fl-rich-text *,
.titre-2.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	font-size: var(--size-titre-2);
	line-height: calc(var(--size-titre-2) + 4px);
}

.titre-2.titre-2--light.fl-rich-text *,
.titre-2.titre-2--light.fl-module-heading .fl-heading {
	font-weight: var(--light);
}

.titre-3.fl-rich-text *,
.titre-3.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	font-size:  var(--size-titre-3);
	line-height: calc(var(--size-titre-3) + 4px);
}


.titre-4.fl-rich-text *,
.titre-4.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	font-size: var(--size-titre-4);
	line-height: calc(var(--size-titre-4) + 4px);
}

.titre-5.fl-rich-text *,
.titre-5.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	font-size: var(--size-titre-5);
	line-height: calc(var(--size-titre-5) + 4px);
}

[class*="titre-"].titre--light.fl-rich-text *,
[class*="titre-"].titre--light.fl-module-heading .fl-heading {
	font-family: var(--typo-principale);
	font-weight: var(--light);
}

.contenu-oversize-1.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--bold);
	font-size: var(--size-contenu-oversize-1);
	line-height: calc(var(--size-contenu-oversize-1) + 4px);
}

.contenu-oversize-2.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-contenu-oversize-2);
	line-height: calc(var(--size-contenu-oversize-2) + 4px);
}

.intertitre.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-style: italic;
	font-size: var(--size-intertitre);
	line-height: calc(var(--size-intertitre) + 4px);
	text-transform: uppercase;
}

.contenu-1.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--bold);
	font-size: var(--size-contenu-1);
	line-height: calc(var(--size-contenu-1) + 4px);
}

.contenu-2.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-contenu-2);
	line-height: calc(var(--size-contenu-2) + 4px);
}

.contenu-3.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-contenu-3);
	line-height: calc(var(--size-contenu-3) + 4px);
}

.contenu-3.fl-rich-text strong {
	font-weight: var(--bold);
}

.legende.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-legende);
	line-height: calc(var(--size-legende) + 4px);
}
.legende.fl-rich-text a {
	text-decoration: underline !important;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}
.legende-2.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-legende-2);
	line-height: calc(var(--size-legende-2) + 4px);
}
.legende-2.fl-rich-text a {
	text-decoration: underline !important;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}
.legende-hyperlien.fl-rich-text * {
	font-family: var(--typo-secondaire) !important;
	font-weight: var(--regular);
	font-size: var(--size-legende);
	line-height: calc(var(--size-legende) + 4px);
}
.legende-hyperlien.fl-rich-text a {
	position: relative;
	display: inline;
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: color-mix(in srgb, currentColor 0%, transparent);
	font-weight: inherit;
	font-family: inherit !important;
	transition: text-decoration-color 180ms ease-out, text-underline-offset 180ms ease-out;
}

.legende-hyperlien.fl-rich-text a:hover,
.legende-hyperlien.fl-rich-text a:focus-visible {
	text-decoration-color: currentColor;
	text-underline-offset: 0.150em;
}
/* Animation liens hyperlien - éco, accessible, discret */
.contenu-hyperlien.fl-rich-text a {
	position: relative;
	display: inline;
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	text-decoration-color: color-mix(in srgb, currentColor 0%, transparent);
	font-weight: inherit;
	font-family: inherit !important;
	transition: text-decoration-color 180ms ease-out, text-underline-offset 180ms ease-out;
}

.contenu-hyperlien.fl-rich-text a:hover,
.contenu-hyperlien.fl-rich-text a:focus-visible {
	text-decoration-color: currentColor;
	text-underline-offset: 0.150em;
}

.contenu-hyperlien.fl-rich-text a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}
.contenu-1.fl-rich-text :is(h1, h2, h3, h4, h5, h6) {
	font-size: calc(var(--size-contenu-1) + 4px);
}
.contenu-2.fl-rich-text :is(h1, h2, h3, h4, h5, h6) {
	font-size: calc(var(--size-contenu-2) + 4px);
}
.contenu-3.fl-rich-text :is(h1, h2, h3, h4, h5, h6) {
	font-size: calc(var(--size-contenu-3) + 4px);
}
.contenu-1.fl-rich-text :is(h1, h2, h3, h4, h5, h6),
.contenu-2.fl-rich-text :is(h1, h2, h3, h4, h5, h6),
.contenu-3.fl-rich-text :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--typo-principale) !important;
	font-weight: var(--bold);
	margin-bottom: 1.2rem;
}

.titre-avec--tiret :is(p, h1, h2, h3, h4, h5, h6) {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
}

.titre-avec--tiret :is(p, h1, h2, h3, h4, h5, h6)::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #D6D6D6;
}

.titre-avec--tiret :is(p, h1, h2, h3, h4, h5, h6)::after {
	transform: translateY(2px);
}

/* COULEUR CLASSES */
.color-1 {
	color: var(--couleur-principale) !important;
}
}