/*
 * MJC AuRA — direction « Affiche ».
 *
 * Fondations : polices auto-hébergées, couleurs, boutons, en-tête, pied,
 * bandeau de titre des pages et mise en forme des textes hors Elementor.
 *
 * Tout est préfixé « mjc- » pour ne pas se mêler aux styles d'Elementor.
 * Les sélecteurs ont au moins deux classes : le kit Elementor stylise
 * `.elementor-kit-6 a`, `button`, `h1`… avec une classe et une balise.
 *
 * Couleurs (validées le 28/10/2026) :
 *   prune #88215D, mandarine #FF7A45, prune nuit #3B0D29,
 *   rose pâle #F6E7EF, encre #231A20, gris #6B6B6B.
 * Règle : jamais de texte mandarine sur fond blanc (contraste trop faible).
 */

/* Polices (SIL Open Font License, voir assets/fonts/) */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/atkinson-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/atkinson-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: italic;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/atkinson-latin-italique.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	font-style: italic;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/atkinson-latin-ext-italique.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Jetons */
:root {
	--mjc-prune: #88215D;
	--mjc-mandarine: #FF7A45;
	--mjc-mandarine-claire: #FF915F;
	--mjc-nuit: #3B0D29;
	--mjc-rose: #F6E7EF;
	--mjc-rose-texte: #F1DCE6;
	--mjc-rose-discret: #E9CFDC;
	--mjc-encre: #231A20;
	--mjc-gris: #6B6B6B;
	--mjc-blanc: #FFFFFF;
	--mjc-titre: "Archivo", "Arial Narrow", sans-serif;
	--mjc-texte: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Arial, sans-serif;
	--mjc-marge: clamp(16px, 4vw, 40px);
	--mjc-largeur: 1280px;
}

/* Base (les pages Elementor gardent leurs propres réglages de typographie) */
body {
	font-family: var(--mjc-texte);
	color: var(--mjc-encre);
	background: var(--mjc-blanc);
}
:focus-visible {
	outline: 3px solid var(--mjc-encre);
	outline-offset: 3px;
}
.mjc-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.mjc,
.mjc *,
.mjc *::before,
.mjc *::after {
	box-sizing: border-box;
}
.mjc {
	font-family: var(--mjc-texte);
	font-size: 18px;
	line-height: 1.6;
	color: var(--mjc-encre);
}
.mjc .mjc-conteneur,
.mjc-conteneur {
	width: 100%;
	max-width: var(--mjc-largeur);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mjc-marge);
	padding-right: var(--mjc-marge);
}
/* Le kit Elementor donne une police à tous les liens (`.elementor-kit-6 a`,
   et au survol `.elementor-kit-6 a:hover`) : ici, un lien prend la police de
   son texte. Un lien qui a sa propre police (bouton, menu…) la déclare avec
   un sélecteur `html .mjc a.classe` pour rester plus fort au survol. */
html .mjc a,
html .mjc a:hover,
html .mjc a:focus {
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
}
html .mjc a {
	color: var(--mjc-prune);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
html .mjc a:hover {
	color: var(--mjc-prune);
	text-decoration-color: var(--mjc-mandarine);
}

/* Typographie d'affiche : classes aussi utilisables dans Elementor
   (champ « Classes CSS » d'un titre, ou <span class="…"> dans son texte). */
.mjc-archivo,
.mjc-etroit,
.mjc-large {
	font-family: var(--mjc-titre);
}
.mjc-etroit {
	font-weight: 900;
	font-stretch: 66%;
}
.mjc-large {
	font-weight: 800;
	font-stretch: 115%;
}
.mjc-affichette {
	font-family: var(--mjc-titre);
	text-transform: uppercase;
	line-height: .9;
}
.mjc-affichette > span {
	display: block;
}

/* Boutons */
/* La marge n'est pas reprise au survol ni au focus : sinon elle écraserait
 * les marges posées selon l'endroit (accueil) et le bouton sauterait sous
 * le pointeur au moment du clic. */
.mjc .mjc-bouton,
.mjc-bouton,
html .mjc a.mjc-bouton {
	margin: 0;
}
.mjc .mjc-bouton,
.mjc-bouton,
html .mjc a.mjc-bouton,
html .mjc a.mjc-bouton:hover,
html .mjc a.mjc-bouton:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	padding: 10px 24px;
	border: 0;
	border-radius: 4px;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	white-space: normal;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease;
}
.mjc .mjc-bouton-prune,
.mjc .mjc-bouton-prune:focus {
	background: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.mjc .mjc-bouton-prune:hover {
	background: var(--mjc-nuit);
	color: var(--mjc-blanc);
	text-decoration: none;
}
.mjc .mjc-bouton-mandarine,
.mjc .mjc-bouton-mandarine:focus {
	background: var(--mjc-mandarine);
	color: var(--mjc-encre);
}
.mjc .mjc-bouton-mandarine:hover {
	background: var(--mjc-mandarine-claire);
	color: var(--mjc-encre);
	text-decoration: none;
}

/* ------------------------------------------------------------------ */
/* En-tête                                                             */
/* ------------------------------------------------------------------ */
.mjc-entete {
	position: relative;
	z-index: 100;
	background: var(--mjc-blanc);
}
.mjc-entete .mjc-entete-barre {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 14px;
	padding-bottom: 14px;
}
.mjc-entete .mjc-logo {
	flex: none;
	display: block;
	line-height: 0;
}
.mjc-entete .mjc-logo img {
	display: block;
	width: clamp(60px, 6vw, 76px);
	height: auto;
}
.mjc-entete .mjc-logo-texte {
	font-family: var(--mjc-titre);
	font-size: 22px;
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1;
	color: var(--mjc-prune);
	text-decoration: none;
}
.mjc-entete .mjc-entete-droite {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2vw, 28px);
}
.mjc-entete .mjc-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* Menu principal */
.mjc-entete .mjc-menu,
.mjc-entete .mjc-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mjc-entete .mjc-menu {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2vw, 28px);
}
.mjc-entete .mjc-menu > li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2px;
}
html .mjc-entete .mjc-menu > li > a,
html .mjc-entete .mjc-menu > li > a:hover,
html .mjc-entete .mjc-menu > li > a:focus,
.mjc-entete .mjc-menu > li > .mjc-menu-parent {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	margin: 0;
	padding: 6px 0 2px;
	border: 0;
	border-bottom: 4px solid transparent;
	border-radius: 0;
	background: none;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 700;
	font-stretch: 90%;
	line-height: 1.1;
	color: var(--mjc-encre);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.mjc-entete .mjc-menu > li > a:hover,
.mjc-entete .mjc-menu > li > .mjc-menu-parent:hover,
.mjc-entete .mjc-menu > li > .mjc-menu-parent:focus,
.mjc-entete .mjc-menu > li.est-ouvert > .mjc-menu-parent,
.mjc-entete .mjc-menu > li.current-menu-item > a,
.mjc-entete .mjc-menu > li.current-menu-ancestor > a,
.mjc-entete .mjc-menu > li.current-menu-ancestor > .mjc-menu-parent {
	background: none;
	color: var(--mjc-encre);
	border-bottom-color: var(--mjc-mandarine);
}
.mjc-entete .mjc-sous-menu-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--mjc-encre);
	cursor: pointer;
}
.mjc-entete .mjc-sous-menu-bouton:hover,
.mjc-entete .mjc-sous-menu-bouton:focus {
	background: none;
	color: var(--mjc-prune);
}
.mjc-entete .mjc-chevron {
	flex: none;
	opacity: .7;
	transition: transform 160ms ease;
}
.mjc-entete li.est-ouvert > button .mjc-chevron {
	transform: rotate(180deg);
}

/* Sous-menus (ordinateur) : au survol, ou ouverts par leur bouton */
.mjc-entete .mjc-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	z-index: 20;
	display: none;
	min-width: 280px;
	padding: 8px 0;
	background: var(--mjc-blanc);
	border-top: 4px solid var(--mjc-mandarine);
	box-shadow: 0 18px 40px rgba(59, 13, 41, .18);
}
.mjc-entete .mjc-menu > li:hover > .sub-menu,
.mjc-entete .mjc-menu > li.est-ouvert > .sub-menu {
	display: block;
}
html .mjc-entete .mjc-menu .sub-menu a,
html .mjc-entete .mjc-menu .sub-menu a:hover,
html .mjc-entete .mjc-menu .sub-menu a:focus {
	display: block;
	padding: 10px 18px;
	font-family: var(--mjc-titre);
	font-size: 18px;
	font-weight: 700;
	font-stretch: 92%;
	line-height: 1.2;
	color: var(--mjc-encre);
	text-decoration: none;
}
.mjc-entete .mjc-menu .sub-menu a:hover,
.mjc-entete .mjc-menu .sub-menu .current-menu-item > a {
	background: var(--mjc-rose);
	color: var(--mjc-prune);
}

/* Contact dans le menu replié seulement */
.mjc-entete .mjc-nav-contact {
	display: none;
}

/* Boutons de l'en-tête */
html .mjc-entete a.mjc-contact,
html .mjc-entete a.mjc-contact:hover,
html .mjc-entete a.mjc-contact:focus {
	min-height: 44px;
	padding: 0 18px;
	font-size: 18px;
}
.mjc-entete .mjc-rond {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 2px solid var(--mjc-encre);
	border-radius: 50%;
	background: var(--mjc-blanc);
	color: var(--mjc-encre);
	cursor: pointer;
}
.mjc-entete .mjc-rond:hover,
.mjc-entete .mjc-rond:focus,
.mjc-entete .mjc-rond[aria-expanded="true"] {
	background: var(--mjc-rose);
	border-color: var(--mjc-encre);
	color: var(--mjc-encre);
}
.mjc-entete .mjc-menu-bouton {
	display: none;
	min-height: 44px;
	padding: 0 16px;
	font-size: 17px;
}

/* Recherche */
.mjc-entete .mjc-recherche {
	background: var(--mjc-rose);
}
.mjc-entete .mjc-recherche[hidden] {
	display: none;
}
.mjc-entete .mjc-recherche form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 18px;
	padding-bottom: 18px;
}
.mjc-entete .mjc-recherche input[type="search"] {
	flex: 1 1 260px;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--mjc-encre);
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 18px;
	color: var(--mjc-encre);
}

/* Menu replié (tablette et mobile) */
@media (max-width: 1100px) {
	html .mjc-entete a.mjc-contact {
		display: none;
	}
	.mjc-entete .mjc-menu-bouton {
		display: inline-flex;
	}
	.mjc-entete .mjc-nav {
		display: none;
	}
	.mjc-entete.menu-ouvert .mjc-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: block;
		max-height: calc(100vh - 80px);
		overflow-y: auto;
		background: var(--mjc-nuit);
		box-shadow: 0 24px 40px rgba(30, 0, 18, .25);
	}
	.mjc-entete .mjc-menu {
		display: block;
		max-width: var(--mjc-largeur);
		margin: 0 auto;
		padding: 12px var(--mjc-marge) 28px;
	}
	.mjc-entete .mjc-menu > li {
		display: block;
		border-bottom: 1px solid rgba(255, 255, 255, .14);
	}
	html .mjc-entete .mjc-menu > li > a,
	html .mjc-entete .mjc-menu > li > a:hover,
	html .mjc-entete .mjc-menu > li > a:focus,
	.mjc-entete .mjc-menu > li > .mjc-menu-parent {
		display: flex;
		width: 100%;
		padding: 14px 0 10px;
		border-bottom: 0;
		font-size: clamp(24px, 5vw, 30px);
		font-weight: 800;
		font-stretch: 80%;
		color: var(--mjc-blanc);
		white-space: normal;
		cursor: default;
	}
	.mjc-entete .mjc-menu > li > a {
		cursor: pointer;
	}
	.mjc-entete .mjc-menu > li > a:hover,
	.mjc-entete .mjc-menu > li > .mjc-menu-parent:hover,
	.mjc-entete .mjc-menu > li > .mjc-menu-parent:focus,
	.mjc-entete .mjc-menu > li.current-menu-item > a,
	.mjc-entete .mjc-menu > li.current-menu-ancestor > a,
	.mjc-entete .mjc-menu > li.current-menu-ancestor > .mjc-menu-parent {
		color: var(--mjc-blanc);
		text-decoration: underline;
		text-decoration-color: var(--mjc-mandarine);
		text-decoration-thickness: 3px;
		text-underline-offset: 6px;
	}
	.mjc-entete .mjc-menu > li > .mjc-menu-parent:hover,
	.mjc-entete .mjc-menu > li > .mjc-menu-parent:focus {
		text-decoration: none;
	}
	/* Intitulé touché (sous-menu « ouvert ») : reste blanc sur le fond nuit. */
	.mjc-entete .mjc-menu > li.est-ouvert > .mjc-menu-parent {
		color: var(--mjc-blanc);
	}
	.mjc-entete .mjc-chevron,
	.mjc-entete .mjc-sous-menu-bouton {
		display: none;
	}
	.mjc-entete .mjc-nav-contact {
		display: block;
		max-width: var(--mjc-largeur);
		margin: 0 auto;
		padding: 0 var(--mjc-marge) 32px;
	}
	.mjc-entete .mjc-menu .sub-menu,
	.mjc-entete .mjc-menu > li:hover > .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 14px;
		background: none;
		border: 0;
		box-shadow: none;
	}
	html .mjc-entete .mjc-menu .sub-menu a,
	html .mjc-entete .mjc-menu .sub-menu a:hover,
	html .mjc-entete .mjc-menu .sub-menu a:focus {
		padding: 6px 0 6px 18px;
		border-left: 4px solid var(--mjc-mandarine);
		font-family: var(--mjc-texte);
		font-size: 18px;
		font-weight: 400;
		color: var(--mjc-rose-texte);
	}
	.mjc-entete .mjc-menu .sub-menu a:hover,
	.mjc-entete .mjc-menu .sub-menu .current-menu-item > a {
		background: none;
		color: var(--mjc-blanc);
		text-decoration: underline;
	}
}

/* ------------------------------------------------------------------ */
/* Pied de page                                                        */
/* ------------------------------------------------------------------ */
.mjc-pied {
	background: var(--mjc-nuit);
	color: var(--mjc-blanc);
}
.mjc-pied .mjc-pied-haut {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	padding-top: clamp(40px, 5vw, 64px);
	padding-bottom: clamp(30px, 4vw, 44px);
}
.mjc-pied .mjc-pied-col {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}
.mjc-pied .mjc-pied-adresse {
	flex: 1 1 280px;
	flex-direction: row;
	align-items: center;
	gap: 18px;
}
/* Menu du pied en colonnes alignées : intitulés sur une ligne, liens dessous */
.mjc-pied .mjc-pied-liens {
	display: grid;
	flex: 3 1 560px;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	align-items: start;
	gap: 22px 36px;
}
.mjc-pied .mjc-pied-groupe {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
html .mjc-pied .mjc-pied-etiquette a,
html .mjc-pied .mjc-pied-etiquette a:hover {
	font: inherit;
	color: inherit;
}
.mjc-pied .mjc-pied-question {
	flex: 1 1 240px;
	align-items: flex-start;
	gap: 16px;
}
.mjc-pied .mjc-pied-logo {
	flex: none;
	display: block;
	width: 84px;
	padding: 8px;
	border-radius: 4px;
	background: var(--mjc-blanc);
	line-height: 0;
}
.mjc-pied .mjc-pied-logo img {
	display: block;
	width: 100%;
	height: auto;
}
.mjc-pied .mjc-pied-etiquette {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 15px;
	font-weight: 700;
	font-stretch: 90%;
	line-height: 1.3;
	color: var(--mjc-rose-discret);
}
.mjc-pied .mjc-pied-adresse p {
	margin: 0;
	color: var(--mjc-rose-texte);
}
.mjc-pied .mjc-pied-question .mjc-pied-titre {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 28px;
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.05;
	color: var(--mjc-blanc);
	text-transform: none;
}

/* Menu du pied : liens, et intitulés de groupe (éléments « # » du menu) */
.mjc-pied .mjc-menu-pied,
.mjc-pied .mjc-menu-pied .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mjc-pied .mjc-menu-pied > li {
	padding: 0 0 8px;
}
.mjc-pied .mjc-menu-pied > li:last-child {
	padding-bottom: 0;
}
html .mjc-pied .mjc-menu-pied a,
html .mjc-pied .mjc-menu-pied a:hover,
html .mjc-pied .mjc-menu-pied a:focus {
	font-family: var(--mjc-titre);
	font-size: 18px;
	font-weight: 600;
	font-stretch: 92%;
	line-height: 1.25;
	color: var(--mjc-blanc);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .35);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.mjc-pied .mjc-menu-pied a:hover {
	color: var(--mjc-blanc);
	text-decoration-color: var(--mjc-mandarine);
}
.mjc-pied .mjc-menu-pied .mjc-menu-groupe {
	display: block;
	margin: 0 0 6px;
	font-family: var(--mjc-titre);
	font-size: 15px;
	font-weight: 700;
	font-stretch: 90%;
	color: var(--mjc-rose-discret);
}
.mjc-pied .mjc-menu-pied .sub-menu li {
	padding: 0 0 6px;
}

.mjc-pied .mjc-insta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid var(--mjc-blanc);
	border-radius: 50%;
	color: var(--mjc-blanc);
	transition: background-color 160ms ease, color 160ms ease;
}
.mjc-pied .mjc-insta:hover,
.mjc-pied .mjc-insta:focus {
	background: var(--mjc-mandarine);
	border-color: var(--mjc-mandarine);
	color: var(--mjc-encre);
}
.mjc-pied .mjc-pied-bas {
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.mjc-pied .mjc-pied-bas .mjc-conteneur {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	padding-top: 16px;
	padding-bottom: 20px;
	font-size: 15px;
}
.mjc-pied .mjc-pied-bas a {
	color: var(--mjc-rose-texte);
}
.mjc-pied .mjc-pied-bas a:hover {
	color: var(--mjc-blanc);
}

/* ------------------------------------------------------------------ */
/* Pages : bandeau de titre et fil d'Ariane                            */
/* ------------------------------------------------------------------ */
.mjc-bande {
	background: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.mjc-bande .mjc-bande-contenu {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	padding-top: clamp(28px, 4vw, 56px);
	padding-bottom: clamp(40px, 5vw, 72px);
}
.mjc-bande .mjc-bande-contenu.avec-image {
	grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
	align-items: end;
	column-gap: clamp(24px, 4vw, 56px);
}
.mjc-bande .mjc-bande-texte {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}
.mjc-bande .mjc-titre-page {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(44px, 6.4vw, 92px);
	font-weight: 900;
	font-stretch: 70%;
	line-height: .9;
	letter-spacing: 0;
	text-transform: uppercase;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
	color: var(--mjc-blanc);
}
.mjc-bande .mjc-bande-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: contain;
	border-radius: 2px;
}
@media (max-width: 900px) {
	.mjc-bande .mjc-bande-contenu.avec-image {
		grid-template-columns: minmax(0, 1fr);
	}
	.mjc-bande .mjc-bande-image {
		order: -1;
		max-width: 220px;
	}
	.mjc-bande .mjc-bande-image img {
		max-height: 160px;
		object-position: left center;
	}
}
.mjc .mjc-ariane {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--mjc-rose-discret);
}
.mjc .mjc-ariane ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mjc .mjc-ariane li + li::before {
	content: "/";
	margin-right: 8px;
	opacity: .7;
}
.mjc .mjc-ariane a,
.mjc .mjc-ariane a:hover {
	color: var(--mjc-blanc);
}

/* Contenu Elementor d'une page : même largeur que dans l'ancien gabarit
   « Page unique » (boîte de 950 px, marges de 10 px), pour que les pages
   s'affichent comme elles ont été composées. */
.mjc-contenu-elementor {
	max-width: 970px;
	margin: 0 auto;
	padding: clamp(24px, 3vw, 40px) 10px clamp(40px, 5vw, 64px);
}

/* Texte hors Elementor (pages et articles saisis dans l'éditeur WordPress) */
.mjc .mjc-texte {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	padding-top: clamp(40px, 5vw, 64px);
	padding-bottom: clamp(48px, 6vw, 80px);
	font-size: clamp(18px, 1.4vw, 19.5px);
	line-height: 1.7;
}
.mjc .mjc-texte > * {
	margin-top: 0;
	margin-bottom: 1.1em;
}
.mjc .mjc-texte h2,
.mjc .mjc-texte h3,
.mjc .mjc-texte h4 {
	margin: 1.6em 0 .55em;
	font-family: var(--mjc-titre);
	font-weight: 900;
	line-height: 1.05;
	color: var(--mjc-prune);
}
.mjc .mjc-texte h2 {
	font-size: clamp(28px, 2.8vw, 38px);
	font-stretch: 76%;
}
.mjc .mjc-texte h3 {
	font-size: clamp(23px, 2.2vw, 28px);
	font-stretch: 80%;
}
.mjc .mjc-texte h4 {
	font-size: 21px;
	font-stretch: 86%;
}
.mjc .mjc-texte ul {
	padding-left: 0;
	list-style: none;
}
.mjc .mjc-texte ul li {
	position: relative;
	padding-left: 1.4em;
	margin-bottom: .35em;
}
.mjc .mjc-texte ul li::before {
	content: "";
	position: absolute;
	left: .15em;
	top: .62em;
	width: .5em;
	height: .5em;
	background: var(--mjc-mandarine);
	transform: rotate(45deg);
}
.mjc .mjc-texte img {
	max-width: 100%;
	height: auto;
}
.mjc .mjc-texte blockquote {
	margin: 1.6em 0;
	padding: 0 0 0 20px;
	border-left: 6px solid var(--mjc-mandarine);
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 800;
	font-stretch: 86%;
	line-height: 1.2;
	color: var(--mjc-prune);
}

/* Contenus de l'éditeur de blocs (articles, pages hors Elementor) */
.mjc .mjc-texte p.has-text-align-center {
	margin: 1.1em 0;
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.15;
	color: var(--mjc-prune);
	text-wrap: balance;
}
.mjc .mjc-texte .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.mjc .mjc-texte .wp-block-buttons.is-content-justification-center {
	justify-content: center;
}
html .mjc .mjc-texte .wp-block-button__link,
html .mjc .mjc-texte .wp-block-button__link:hover,
html .mjc .mjc-texte .wp-block-button__link:focus,
html .mjc .mjc-texte .wp-block-file__button,
html .mjc .mjc-texte .wp-block-file__button:hover {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 10px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--mjc-prune);
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.15;
	text-decoration: none;
	color: var(--mjc-blanc);
}
html .mjc .mjc-texte .wp-block-button__link:hover,
html .mjc .mjc-texte .wp-block-file__button:hover {
	background: var(--mjc-nuit);
}
.mjc .mjc-texte .wp-block-file {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 18px;
	padding: 16px 18px;
	border: 3px solid var(--mjc-rose);
	border-radius: 4px;
}
html .mjc .mjc-texte .wp-block-file > a:not(.wp-block-file__button) {
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 88%;
	color: var(--mjc-encre);
}
.mjc .mjc-texte figure {
	margin: 1.6em 0;
}
.mjc .mjc-texte figcaption {
	margin-top: 8px;
	font-size: 15px;
	color: var(--mjc-gris);
}
.mjc .mjc-texte .wp-block-separator,
.mjc .mjc-texte hr {
	height: 0;
	margin: 2em 0;
	border: 0;
	border-top: 3px solid var(--mjc-rose);
}
/* Page avec sommaire (modèle de page par défaut, ex. mentions légales) */
.mjc-conteneur.mjc-doc {
	display: grid;
	grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(32px, 6vw, 96px);
	padding-top: clamp(40px, 5vw, 72px);
}
.mjc-doc .mjc-texte {
	max-width: 760px;
	margin-left: 0;
	padding-top: 0;
}
.mjc-doc .mjc-texte > h2:first-child {
	margin-top: 0;
}
.mjc-doc .mjc-texte h2 {
	scroll-margin-top: 24px;
}
.mjc .mjc-texte h2 .mjc-num {
	white-space: nowrap;
	color: var(--mjc-mandarine);
}
.mjc .mjc-texte ul ul {
	margin: .45em 0 .2em;
}
.mjc .mjc-texte ul ul li::before {
	border: 2px solid var(--mjc-mandarine);
	background: none;
	width: .42em;
	height: .42em;
}
.mjc-sommaire {
	position: sticky;
	top: 24px;
	padding-top: 14px;
	border-top: 6px solid var(--mjc-prune);
}
.mjc-sommaire summary {
	margin-bottom: 10px;
	font-family: var(--mjc-titre);
	font-size: 20px;
	font-weight: 900;
	font-stretch: 84%;
	list-style: none;
	color: var(--mjc-prune);
	cursor: default;
}
.mjc-sommaire summary::-webkit-details-marker {
	display: none;
}
.mjc-sommaire ol {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}
html .mjc .mjc-sommaire a {
	display: flex;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 2px solid var(--mjc-rose);
	font-size: 17px;
	line-height: 1.3;
	text-decoration: none;
	color: var(--mjc-encre);
}
html .mjc .mjc-sommaire a:hover {
	color: var(--mjc-prune);
}
.mjc-sommaire a span {
	flex: 0 0 1.2em;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 900;
	font-stretch: 76%;
	color: var(--mjc-mandarine);
}
@media (max-width: 900px) {
	.mjc-conteneur.mjc-doc {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.mjc-sommaire {
		position: static;
		padding: 14px 18px;
		border-top: 0;
		background: var(--mjc-rose);
	}
	.mjc-sommaire summary {
		cursor: pointer;
	}
	html .mjc .mjc-sommaire a {
		border-bottom-color: var(--mjc-blanc);
	}
}
.mjc .mjc-texte table {
	width: 100%;
	border-collapse: collapse;
	font-size: 17px;
}
.mjc .mjc-texte th,
.mjc .mjc-texte td {
	padding: 10px 12px;
	border-bottom: 3px solid var(--mjc-rose);
	text-align: left;
	vertical-align: top;
}
.mjc .mjc-texte th {
	font-family: var(--mjc-titre);
	font-weight: 800;
	font-stretch: 90%;
}
.mjc .mjc-texte ol {
	padding-left: 1.4em;
}
.mjc .mjc-texte iframe,
.mjc .mjc-texte video {
	max-width: 100%;
}

/* ------------------------------------------------------------------ */
/* Article                                                             */
/* ------------------------------------------------------------------ */
.mjc .publie {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--mjc-gris);
}
.mjc .rubrique {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 17px;
	font-weight: 700;
	font-stretch: 90%;
	line-height: 1.3;
	color: var(--mjc-rose);
}
.mjc .evenement {
	display: inline-block;
	align-self: flex-start;
	margin: 0;
	padding: 2px 10px;
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
	font-family: var(--mjc-titre);
	font-size: 15px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.35;
}
.mjc .evenement-grand {
	padding: 4px 14px;
	font-size: clamp(17px, 1.6vw, 21px);
}
.mjc .h-section {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(38px, 4.4vw, 62px);
	font-weight: 900;
	font-stretch: 76%;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mjc-prune);
}
.mjc-article .art-tete {
	padding-top: clamp(28px, 4vw, 56px);
	padding-bottom: clamp(120px, 14vw, 200px);
	background: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.mjc-article .art-tete .mjc-ariane {
	margin-bottom: clamp(18px, 2.5vw, 32px);
}
.mjc-article .art-tete-texte {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 920px;
}
.mjc-article .art-titre {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(40px, 5.8vw, 84px);
	font-weight: 900;
	font-stretch: 70%;
	line-height: .92;
	letter-spacing: 0;
	text-transform: uppercase;
	text-wrap: balance;
	overflow-wrap: break-word;
	color: var(--mjc-blanc);
}
.mjc-article .art-tete .publie {
	font-size: 15px;
	color: var(--mjc-rose-discret);
}
.mjc-article .art-image {
	margin-top: calc(-1 * clamp(96px, 12vw, 176px));
	text-align: center;
}
.mjc-article .art-image img {
	display: inline-block;
	width: auto;
	max-width: min(100%, 980px);
	height: auto;
	max-height: 620px;
	border-radius: 2px;
	box-shadow: 0 26px 60px rgba(30, 0, 18, .35);
	vertical-align: top;
}
.mjc-article .art-tete.sans-image {
	padding-bottom: clamp(48px, 6vw, 80px);
}
.mjc-article .art-corps {
	padding-top: clamp(40px, 5vw, 64px);
}
.mjc-article .art-etiquettes {
	font-size: 15px;
	color: var(--mjc-gris);
}
.mjc-article .partage {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 2em;
	padding-top: 24px;
	border-top: 3px solid var(--mjc-rose);
	font-size: 16px;
}
.mjc-article .partage strong {
	font-family: var(--mjc-titre);
	font-weight: 800;
	font-stretch: 90%;
}
html .mjc-article .partage a,
html .mjc-article .partage a:hover,
.mjc-article .partage button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--mjc-encre);
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
	color: var(--mjc-encre);
	cursor: pointer;
}
html .mjc-article .partage a:hover,
.mjc-article .partage button:hover,
.mjc-article .partage button:focus {
	background: var(--mjc-blanc);
	border-color: var(--mjc-mandarine);
	color: var(--mjc-encre);
}
.mjc-article .partage-message {
	color: var(--mjc-prune);
	font-weight: 700;
}
.mjc-article .a-lire {
	background: var(--mjc-rose);
}
.mjc-article .a-lire .mjc-conteneur {
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(56px, 7vw, 96px);
}
.mjc-article .a-lire-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px);
	margin-top: 18px;
}
.mjc-article .carte-actu {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
.mjc-article .carte-actu img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 220px;
	align-self: flex-start;
	border-radius: 2px;
}
.mjc-article .carte-actu-texte {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mjc-article .carte-actu .rubrique {
	font-size: 15px;
	color: var(--mjc-prune);
}
.mjc .titre-item {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(20px, 1.8vw, 24px);
	font-weight: 800;
	font-stretch: 84%;
	line-height: 1.08;
	letter-spacing: 0;
	text-transform: none;
}
.mjc .titre-item a {
	color: var(--mjc-encre);
	text-decoration: none;
}
.mjc .titre-item a:hover {
	color: var(--mjc-prune);
	text-decoration: underline;
	text-decoration-color: var(--mjc-mandarine);
	text-decoration-thickness: 3px;
}

/* ------------------------------------------------------------------ */
/* Listes d'articles, recherche, page introuvable                      */
/* ------------------------------------------------------------------ */
.mjc-liste .mjc-bande .rubrique {
	color: var(--mjc-rose);
}
.mjc-liste .mjc-bande .intro {
	max-width: 36em;
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.45;
	color: var(--mjc-rose);
}
.mjc-liste .mjc-bande .intro p {
	margin: 0;
}
.mjc-liste .cats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	padding-top: clamp(4px, 1vw, 12px);
}
html .mjc-liste .cats a,
html .mjc-liste .cats a:hover {
	padding: 2px 0;
	border-bottom: 4px solid transparent;
	font-family: var(--mjc-titre);
	font-size: clamp(17px, 1.5vw, 20px);
	font-weight: 800;
	font-stretch: 88%;
	line-height: 1.3;
	text-decoration: none;
	color: var(--mjc-blanc);
}
html .mjc-liste .cats a:hover {
	border-bottom-color: var(--mjc-mandarine);
}
html .mjc-liste .cats a[aria-current] {
	padding: 2px 10px;
	border-bottom: 0;
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
}
.mjc .archive {
	padding-top: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(48px, 6vw, 80px);
}
/* Article épinglé (première page des actualités) : image, puis le texte. */
.mjc-liste .arch-une {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	margin-bottom: clamp(24px, 3vw, 40px);
	padding: clamp(18px, 2vw, 26px);
	border-radius: 4px;
	background: var(--mjc-rose);
}
.mjc-liste .arch-une .arch-vignette {
	aspect-ratio: 16 / 10;
	background: var(--mjc-blanc);
}
.mjc-liste .arch-une .arch-vignette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mjc-liste .arch-texte {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
.mjc-liste .arch-une h2 {
	font-size: clamp(28px, 3vw, 42px);
}
.mjc-liste .arch-une .extrait {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-size: 17px;
	line-height: 1.55;
	color: #43363F;
}
/* Grille de cartes : image entière dans un cadre rose pâle, rubrique, titre, date. */
.mjc-liste .arch-grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px) clamp(16px, 2vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.mjc-liste .arch-carte {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	margin: 0;
	padding: 14px 0 0;
	border-top: 6px solid var(--mjc-prune);
}
.mjc-liste .arch-vignette {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 2px;
	background: #FBF3F7;
}
.mjc-liste .arch-carte .arch-vignette {
	aspect-ratio: 16 / 10;
	padding: 10px;
}
.mjc-liste .arch-vignette img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.mjc-liste .arch-une .rubrique,
.mjc-liste .arch-carte .rubrique {
	font-size: 15px;
	color: var(--mjc-prune);
}
.mjc-liste .arch-une h2,
.mjc-liste .arch-carte h2 {
	margin: 0;
	font-family: var(--mjc-titre);
	font-weight: 800;
	font-stretch: 84%;
	line-height: 1.06;
	letter-spacing: 0;
	text-transform: none;
}
.mjc-liste .arch-carte h2 {
	font-size: clamp(20px, 1.7vw, 23px);
}
.mjc-liste .arch-une h2 a,
.mjc-liste .arch-carte h2 a {
	color: var(--mjc-encre);
	text-decoration: none;
}
.mjc-liste .arch-une h2 a:hover,
.mjc-liste .arch-carte h2 a:hover {
	color: var(--mjc-prune);
	text-decoration: underline;
	text-decoration-color: var(--mjc-mandarine);
	text-decoration-thickness: 3px;
}
.mjc-liste .arch-carte .extrait {
	margin: 0;
	font-size: 16px;
	color: #43363F;
}
.mjc-liste .epingle {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	background: var(--mjc-prune);
	font-family: var(--mjc-titre);
	font-size: 13px;
	font-weight: 800;
	font-stretch: 90%;
	vertical-align: 2px;
	color: var(--mjc-blanc);
}
.mjc .pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin-top: 32px;
}
html .mjc .pagination a,
html .mjc .pagination a:hover,
.mjc .pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 2px solid var(--mjc-encre);
	font-family: var(--mjc-titre);
	font-size: 18px;
	font-weight: 800;
	font-stretch: 90%;
	text-decoration: none;
	color: var(--mjc-encre);
}
html .mjc .pagination a:hover {
	border-color: var(--mjc-mandarine);
}
.mjc .pagination span[aria-current] {
	background: var(--mjc-prune);
	border-color: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.mjc .pagination .dots {
	border-color: transparent;
}
.mjc .vide {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: clamp(24px, 3vw, 40px);
	background: var(--mjc-rose);
}
.mjc .vide p {
	margin: 0;
}
.mjc .mjc-form-recherche {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}
.mjc .mjc-form-recherche input[type="search"] {
	flex: 1 1 260px;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--mjc-encre);
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 18px;
	color: var(--mjc-encre);
}

@media (max-width: 900px) {
	.mjc-article .a-lire-grille {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 1100px) {
	.mjc-liste .arch-grille {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.mjc-liste .arch-une {
		grid-template-columns: minmax(0, 1fr);
	}
	.mjc-liste .arch-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* Téléphone : une ligne par article, l'image en petit à droite. */
@media (max-width: 640px) {
	.mjc-liste .arch-grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.mjc-liste .arch-carte {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 84px;
		align-content: start;
		gap: 6px 16px;
		padding: 14px 0;
		border-top: 0;
		border-bottom: 3px solid var(--mjc-rose);
	}
	.mjc-liste .arch-carte > * {
		grid-column: 1;
	}
	.mjc-liste .arch-carte .arch-vignette {
		grid-column: 2;
		grid-row: 1 / span 4;
		width: 84px;
		height: 64px;
		aspect-ratio: auto;
		padding: 4px;
	}
	.mjc-liste .arch-carte h2 {
		font-size: 20px;
	}
}

/* ------------------------------------------------------------------ */
/* Offres d'emploi                                                     */
/* ------------------------------------------------------------------ */
.mjc .etiquettes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.mjc .etiquette {
	padding: 2px 10px;
	background: var(--mjc-mandarine);
	font-family: var(--mjc-titre);
	font-size: 14px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.4;
	color: var(--mjc-nuit);
}
.mjc-offres-liste.mjc {
	font-family: var(--mjc-texte);
	color: var(--mjc-encre);
}
.mjc-offres-liste .mjc-offres__filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
}
.mjc-offres-liste .mjc-offres__filtre,
.mjc-offres-liste .mjc-offres__filtre:hover,
.mjc-offres-liste .mjc-offres__filtre:focus {
	min-height: 44px;
	margin: 0;
	padding: 6px 16px;
	border: 2px solid var(--mjc-encre);
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-titre);
	font-size: 17px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.2;
	text-transform: none;
	color: var(--mjc-encre);
	cursor: pointer;
}
.mjc-offres-liste .mjc-offres__filtre:hover {
	border-color: var(--mjc-mandarine);
}
.mjc-offres-liste .mjc-offres__filtre.is-actif {
	background: var(--mjc-prune);
	border-color: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.mjc-offres-liste .mjc-offres__grille {
	display: block;
}
.mjc-offres-liste .mjc-offre-carte {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px 28px;
	padding: 22px 0 24px;
	border: 0;
	border-bottom: 3px solid var(--mjc-rose);
	border-radius: 0;
	background: none;
	box-shadow: none;
	transform: none;
}
.mjc-offres-liste .mjc-offre-carte:hover {
	box-shadow: none;
	transform: none;
	border-color: var(--mjc-rose);
}
.mjc-offres-liste .mjc-offre-carte:first-child {
	border-top: 6px solid var(--mjc-prune);
}
.mjc-offres-liste .mjc-offre-carte > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.mjc-offres-liste .mjc-offre-carte h2 {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 800;
	font-stretch: 84%;
	line-height: 1.04;
	letter-spacing: 0;
	text-transform: none;
}
.mjc-offres-liste .mjc-offre-carte h2 a {
	color: var(--mjc-encre);
	text-decoration: none;
}
.mjc-offres-liste .mjc-offre-carte h2 a:hover {
	color: var(--mjc-prune);
	text-decoration: underline;
	text-decoration-color: var(--mjc-mandarine);
	text-decoration-thickness: 3px;
}
.mjc-offres-liste .limite {
	margin: 0;
	font-size: 15px;
	color: var(--mjc-gris);
}
.mjc-offres-liste .mjc-offres__vide {
	margin: 0;
	padding: clamp(24px, 3vw, 40px);
	background: var(--mjc-rose);
	font-style: normal;
	font-size: 19px;
	color: var(--mjc-encre);
}
.mjc-offre .faits {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 40px;
	margin-top: clamp(4px, 1vw, 12px);
}
.mjc-offre .fait {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mjc-offre .fait span {
	font-size: 15px;
	color: var(--mjc-rose-discret);
}
.mjc-offre .fait strong {
	font-family: var(--mjc-titre);
	font-size: clamp(20px, 1.9vw, 25px);
	font-weight: 800;
	font-stretch: 86%;
	line-height: 1.1;
}
.mjc-offre .fiche-corps {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
	align-items: start;
	gap: clamp(32px, 5vw, 72px);
	padding-top: clamp(40px, 5vw, 64px);
	padding-bottom: clamp(56px, 7vw, 96px);
}
.mjc-offre .fiche-corps.sans-contact {
	grid-template-columns: minmax(0, 1fr);
}
.mjc-offre .texte-offre {
	width: 100%;
	max-width: 760px;
	margin: 0;
	padding: 0;
}
.mjc-offre .fiche-corps.sans-contact .texte-offre {
	margin: 0 auto;
}
html .mjc .fichier,
html .mjc .fichier:hover {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	border: 3px solid var(--mjc-rose);
	border-radius: 4px;
	background: var(--mjc-blanc);
	text-decoration: none;
	color: var(--mjc-encre);
}
html .mjc .fichier:hover {
	border-color: var(--mjc-mandarine);
}
.mjc .fichier .pdf {
	flex: none;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 44px;
	height: 54px;
	padding-bottom: 7px;
	background: var(--mjc-prune);
	font-family: var(--mjc-titre);
	font-size: 13px;
	font-weight: 800;
	color: var(--mjc-blanc);
	clip-path: polygon(0 0, 70% 0, 100% 22%, 100% 100%, 0 100%);
}
.mjc .fichier strong {
	display: block;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 88%;
}
.mjc .fichier span span {
	font-size: 15px;
	color: var(--mjc-gris);
}
html .mjc a.lien-retour,
html .mjc a.lien-retour:hover {
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 700;
	font-stretch: 90%;
}
.mjc-offre .postuler {
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: clamp(22px, 2.6vw, 32px);
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
}
.mjc-offre .postuler h2 {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 900;
	font-stretch: 72%;
	line-height: .95;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--mjc-nuit);
}
.mjc-offre .postuler dl {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}
.mjc-offre .postuler dt {
	font-size: 15px;
	font-weight: 700;
}
.mjc-offre .postuler dd {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 20px;
	font-weight: 800;
	font-stretch: 88%;
	overflow-wrap: anywhere;
}
html .mjc-offre .postuler a,
html .mjc-offre .postuler a:hover {
	color: var(--mjc-nuit);
}
@media (max-width: 900px) {
	.mjc-offre .fiche-corps {
		grid-template-columns: minmax(0, 1fr);
	}
	.mjc-offre .postuler {
		position: static;
	}
	.mjc-offres-liste .mjc-offre-carte {
		grid-template-columns: minmax(0, 1fr);
	}
	.mjc-offres-liste .mjc-offre-carte .mjc-bouton {
		justify-self: start;
	}
}

/* ------------------------------------------------------------------ */
/* Tableaux des sessions BAFA (TablePress, classe bafa-table)          */
/* Le style propre de TablePress est en !important : on ne reprend que */
/* les couleurs et les polices, les largeurs de colonnes restent.      */
/* ------------------------------------------------------------------ */
html body table.tablepress.bafa-table {
	font-family: var(--mjc-texte) !important;
	font-size: 16px !important;
	color: var(--mjc-encre) !important;
}
html body table.tablepress.bafa-table thead th {
	background: var(--mjc-prune) !important;
	color: var(--mjc-blanc) !important;
	font-family: var(--mjc-titre) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	font-stretch: 90%;
	border-color: var(--mjc-prune) !important;
}
html body table.tablepress.bafa-table tbody td,
html body table.tablepress.bafa-table tbody th {
	border-top: 3px solid var(--mjc-rose) !important;
	background: var(--mjc-blanc) !important;
	color: var(--mjc-encre) !important;
}
html body table.tablepress.bafa-table tbody tr:nth-child(2n) td,
html body table.tablepress.bafa-table tbody tr:nth-child(2n) th {
	background: #FBF5F8 !important;
}
html body table.tablepress.bafa-table tbody tr:hover td,
html body table.tablepress.bafa-table tbody tr:hover th {
	background: var(--mjc-rose) !important;
}
html body table.tablepress.bafa-table tbody .column-1 {
	font-family: var(--mjc-titre) !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	font-stretch: 80%;
	line-height: 1.2 !important;
	color: var(--mjc-prune) !important;
}
html body table.tablepress.bafa-table.bafa-5cols tbody .column-5,
html body table.tablepress.bafa-table.bafa-6cols tbody .column-6 {
	font-family: var(--mjc-titre) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

/* ------------------------------------------------------------------ */
/* Pages Elementor : les titres en Archivo resserré (le kit n'a pas de */
/* réglage de largeur de police)                                       */
/* ------------------------------------------------------------------ */
.elementor .elementor-widget-heading .elementor-heading-title {
	font-stretch: 80%;
	letter-spacing: 0;
}

/* ------------------------------------------------------------------ */
/* Sessions BAFA et carnet des MJC ([mjc_sessions_bafa],              */
/* [mjc_contacts_bafa], extension « MJC AuRA – Cœur »)                 */
/* ------------------------------------------------------------------ */
.mjc-sessions-cadre {
	width: 100%;
	overflow-x: auto;
}
table.mjc-sessions {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 17px;
	line-height: 1.45;
	color: var(--mjc-encre);
}
table.mjc-sessions th,
table.mjc-sessions td {
	padding: 14px;
	border: 0;
	border-bottom: 3px solid var(--mjc-rose);
	background: none;
	text-align: left;
	vertical-align: top;
}
table.mjc-sessions thead th {
	padding-top: 12px;
	padding-bottom: 12px;
	font-family: var(--mjc-titre);
	font-size: 15px;
	font-weight: 800;
	font-stretch: 90%;
	color: var(--mjc-gris);
}
table.mjc-sessions tbody tr:hover td {
	background: #FBF5F8;
}
table.mjc-sessions td.mjc-sessions-dates {
	font-family: var(--mjc-titre);
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.15;
	color: var(--mjc-prune);
}
table.mjc-sessions td.mjc-sessions-tarif {
	font-family: var(--mjc-titre);
	font-weight: 800;
	white-space: nowrap;
}
html body table.mjc-sessions td a,
html body table.mjc-sessions td a:hover {
	font-family: inherit;
	font-weight: 700;
	color: var(--mjc-prune);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
html body table.mjc-sessions td a:hover {
	text-decoration-color: var(--mjc-mandarine);
}
/* Session terminée : grisée (gris #6B6B6B sur blanc : contraste 5,3:1). */
table.mjc-sessions tr.mjc-sessions-terminee td,
table.mjc-sessions tr.mjc-sessions-terminee td.mjc-sessions-dates {
	color: var(--mjc-gris);
}
table.mjc-sessions tr.mjc-sessions-terminee td.mjc-sessions-dates {
	font-weight: 700;
}
html body table.mjc-sessions tr.mjc-sessions-terminee td a,
html body table.mjc-sessions tr.mjc-sessions-terminee td a:hover {
	font-weight: 400;
	color: var(--mjc-gris);
	text-decoration-thickness: 1px;
}
.mjc-sessions-vide {
	margin: 0;
	padding: 20px;
	background: var(--mjc-rose);
	font-size: 18px;
}
@media (max-width: 760px) {
	table.mjc-sessions thead {
		display: none;
	}
	table.mjc-sessions tr {
		display: block;
		padding: 14px 0;
		border-bottom: 3px solid var(--mjc-rose);
	}
	table.mjc-sessions td {
		display: block;
		padding: 2px 0;
		border: 0;
	}
	table.mjc-sessions td:not(.mjc-sessions-dates)::before {
		content: attr(data-colonne) " : ";
		font-size: 14px;
		color: var(--mjc-gris);
	}
}

.mjc-contacts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 2px;
	background: var(--mjc-rose);
	border: 2px solid var(--mjc-rose);
}
.mjc-contacts .mjc-contact {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 18px 20px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 16px;
	line-height: 1.45;
	color: var(--mjc-encre);
	scroll-margin-top: 24px;
}
.mjc-contacts .mjc-contact:target {
	outline: 4px solid var(--mjc-mandarine);
	outline-offset: -4px;
}
.mjc-contacts .mjc-contact p {
	margin: 0;
}
.mjc-contacts .mjc-contact-nom {
	margin-bottom: 4px;
	font-family: var(--mjc-titre);
	font-size: 21px;
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.1;
	color: var(--mjc-prune);
}
html body .mjc-contacts .mjc-contact a,
html body .mjc-contacts .mjc-contact a:hover {
	font-family: inherit;
	font-weight: 700;
	color: var(--mjc-prune);
	overflow-wrap: anywhere;
}
.mjc-contacts .mjc-contact-sessions {
	margin: 10px 0 0;
	padding: 10px 0 0;
	border-top: 2px solid var(--mjc-rose);
	list-style: none;
	font-size: 15px;
}
.mjc-contacts .mjc-contact-sessions li {
	margin: 0 0 2px;
	padding: 0;
}
.mjc-contacts .mjc-contact-sessions li::before {
	content: none;
}
.mjc-contacts .mjc-contact-sessions span {
	display: inline-block;
	margin-right: 6px;
	padding: 0 6px;
	background: var(--mjc-mandarine);
	font-family: var(--mjc-titre);
	font-size: 13px;
	font-weight: 800;
	font-stretch: 90%;
	color: var(--mjc-nuit);
}

/* ------------------------------------------------------------------ */
/* Pages Elementor : blocs « Affiche »                                 */
/* Classes à mettre dans le champ « Classes CSS » (onglet Avancé) d'un  */
/* conteneur ou d'un widget. Elles donnent la mise en forme ; le texte */
/* reste modifiable normalement dans Elementor.                        */
/*   Force des sélecteurs : un cran au-dessus des styles par défaut      */
/*   d'Elementor et du kit, au même niveau que les réglages faits dans   */
/*   Elementor (onglets Style et Avancé), qui l'emportent donc : la page */
/*   reste modifiable dans Elementor. Seules les grilles (mise en page)  */
/*   passent devant les réglages de disposition d'Elementor.             */
/*   Conteneurs (bandes pleine largeur) : mjc-p-mandarine, mjc-p-nuit, */
/*     mjc-p-rose, mjc-p-blanc, mjc-p-prune, avec mjc-p-premier (tête)  */
/*     et mjc-p-losange-fond ; grilles : mjc-p-deux, mjc-p-trois,       */
/*     mjc-p-tete-grille, variantes mjc-p-5-7 et mjc-p-centre ; cartes : */
/*     mjc-p-etape, mjc-p-note, mjc-p-demarche, mjc-p-visuel ; frise :   */
/*     mjc-p-frise (étapes, délais mjc-p-delai-18/-30, mjc-p-brevet).   */
/*   Widgets : mjc-p-affichette (grand titre en capitales, variantes   */
/*     mjc-p-xl et mjc-p-affichette-seule), mjc-p-h2, mjc-p-h3,         */
/*     mjc-p-surtitre, mjc-p-intro, mjc-p-grand-texte, mjc-p-pilier,    */
/*     mjc-p-num, mjc-p-losanges, mjc-p-image-penchee, mjc-p-image,     */
/*     mjc-p-image-losange, mjc-p-onglets, mjc-p-mail, mjc-p-fichier,   */
/*     mjc-p-lien-fort, mjc-p-bouton-mandarine, mjc-p-bouton-prune      */
/*     (icônes mjc-p-telecharger, mjc-p-externe), mjc-p-surligne,       */
/*     mjc-p-tuiles, mjc-p-declaration, mjc-p-precision,                */
/*     mjc-p-droits-titre, mjc-p-indemnite, mjc-p-liste-claire,         */
/*     mjc-p-delai, mjc-p-tampon, mjc-p-brevet-texte.                   */
/* ------------------------------------------------------------------ */
.elementor .e-con.mjc-p-mandarine,
.elementor .e-con.mjc-p-nuit,
.elementor .e-con.mjc-p-rose,
.elementor .e-con.mjc-p-blanc {
	--padding-top: clamp(44px, 6vw, 88px);
	--padding-bottom: clamp(44px, 6vw, 88px);
	--padding-left: var(--mjc-marge);
	--padding-right: var(--mjc-marge);
	--content-width: 1280px;
	font-family: var(--mjc-texte);
	font-size: clamp(17px, 1.35vw, 19px);
	line-height: 1.6;
}
.elementor .e-con.mjc-p-mandarine {
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
}
.elementor .e-con.mjc-p-nuit {
	background: var(--mjc-nuit);
	color: var(--mjc-rose-texte);
}
.elementor .e-con.mjc-p-rose {
	background: var(--mjc-rose);
	color: var(--mjc-encre);
}
.elementor .e-con.mjc-p-blanc {
	background: var(--mjc-blanc);
	color: var(--mjc-encre);
}
.elementor .e-con.mjc-p-mandarine.mjc-p-premier {
	--padding-top: clamp(28px, 4vw, 56px);
}

/* Grilles */
html body .elementor .e-con.mjc-p-deux,
html body .elementor .e-con.mjc-p-trois,
html body .elementor .e-con.mjc-p-tete-grille {
	--display: grid;
	--row-gap: clamp(24px, 3vw, 40px);
	--column-gap: clamp(24px, 4vw, 56px);
	--gap: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 56px);
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
}
html body .elementor .e-con.mjc-p-trois {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
html body .elementor .e-con.mjc-p-tete-grille {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: end;
}
.elementor .e-con.mjc-p-deux > :where(.e-con),
.elementor .e-con.mjc-p-trois > :where(.e-con),
.elementor .e-con.mjc-p-tete-grille > :where(.e-con) {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--gap: 14px;
	--row-gap: 14px;
	min-width: 0;
}
@media (max-width: 900px) {
	html body .elementor .e-con.mjc-p-deux,
	html body .elementor .e-con.mjc-p-trois,
	html body .elementor .e-con.mjc-p-tete-grille {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Titres */
.elementor .elementor-widget.mjc-p-affichette .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: clamp(60px, 8.4vw, 124px);
	font-weight: 900;
	font-stretch: 66%;
	line-height: .9;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-affichette .elementor-heading-title > span {
	display: block;
}
.elementor .elementor-widget.mjc-p-affichette .mjc-large {
	font-size: .56em;
	font-weight: 800;
	font-stretch: 115%;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-h2 .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: clamp(38px, 4.4vw, 62px);
	font-weight: 900;
	font-stretch: 76%;
	line-height: 1;
	letter-spacing: 0;
	color: var(--mjc-prune);
}
.mjc-p-mandarine .elementor-widget.mjc-p-h2 .elementor-heading-title {
	font-size: clamp(26px, 2.6vw, 36px);
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-h3 .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2.1vw, 28px);
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.05;
	letter-spacing: 0;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-surtitre .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: 20px;
	font-weight: 800;
	font-stretch: 88%;
	line-height: 1.2;
	letter-spacing: 0;
	color: inherit;
}
.elementor .elementor-widget.mjc-p-num .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: clamp(56px, 6vw, 88px);
	font-weight: 900;
	font-stretch: 70%;
	line-height: .85;
	color: var(--mjc-mandarine);
}

/* Textes */
.elementor .elementor-widget.mjc-p-intro {
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.5;
}
.elementor .elementor-widget.mjc-p-grand-texte {
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.5;
}
.elementor .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}
.mjc-p-nuit .elementor-widget.mjc-p-pilier {
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.55;
	color: var(--mjc-rose-texte);
}
.mjc-p-nuit .elementor-widget.mjc-p-pilier strong {
	display: block;
	margin-bottom: 6px;
	font-family: var(--mjc-titre);
	font-size: 1.45em;
	font-weight: 900;
	font-stretch: 78%;
	line-height: 1.05;
	color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-losanges ul,
.elementor .elementor-widget.mjc-p-note ul,
.mjc-p-note .elementor-widget-text-editor ul,
.elementor .elementor-widget.mjc-p-liste ul {
	margin: 0 0 .6em;
	padding: 0;
	list-style: none;
}
.elementor .elementor-widget.mjc-p-losanges li,
.mjc-p-note .elementor-widget-text-editor li,
.elementor .elementor-widget.mjc-p-liste li {
	position: relative;
	margin-bottom: .4em;
	padding-left: 1.4em;
}
.elementor .elementor-widget.mjc-p-losanges li::before,
.mjc-p-note .elementor-widget-text-editor li::before,
.elementor .elementor-widget.mjc-p-liste li::before {
	content: "";
	position: absolute;
	left: .15em;
	top: .62em;
	width: .5em;
	height: .5em;
	background: var(--mjc-mandarine);
	transform: rotate(45deg);
}

/* Cartes */
.elementor .e-con.mjc-p-etape {
	border-top: 6px solid var(--mjc-prune);
	--padding-top: 18px;
	--gap: 8px;
	--row-gap: 8px;
}
.elementor .e-con.mjc-p-etape .mjc-p-h3 {
	margin-top: 6px;
}
.elementor .e-con.mjc-p-note {
	--padding-top: clamp(20px, 2.4vw, 30px);
	--padding-bottom: clamp(20px, 2.4vw, 30px);
	--padding-left: clamp(20px, 2.4vw, 30px);
	--padding-right: clamp(20px, 2.4vw, 30px);
	--gap: 10px;
	--row-gap: 10px;
	border-left: 8px solid var(--mjc-mandarine);
	background: var(--mjc-rose);
}
.mjc-p-rose .e-con.mjc-p-note {
	background: var(--mjc-blanc);
}
.elementor .e-con.mjc-p-demarche {
	--padding-top: 18px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
	--gap: 8px;
	--row-gap: 8px;
	border: 3px solid var(--mjc-rose);
	border-radius: 4px;
	background: var(--mjc-blanc);
}
.elementor .e-con.mjc-p-demarche .mjc-p-surtitre .elementor-heading-title {
	font-size: 16px;
	color: var(--mjc-prune);
}

/* Images */
.elementor .elementor-widget.mjc-p-image-penchee {
	text-align: left;
}
.elementor .elementor-widget.mjc-p-image-penchee img {
	max-width: min(100%, 260px);
	height: auto;
	border-radius: 4px;
	box-shadow: 0 20px 40px rgba(59, 13, 41, .28);
	transform: rotate(-2.5deg);
	transition: transform 300ms cubic-bezier(.2, .7, .2, 1);
}
.elementor .elementor-widget.mjc-p-image-penchee:hover img {
	transform: rotate(0deg);
}
.elementor .elementor-widget.mjc-p-image img {
	max-width: min(100%, 560px);
	height: auto;
	border-radius: 4px;
}

/* Boutons et liens */
.elementor .elementor-widget.mjc-p-fichier .elementor-button,
.elementor .elementor-widget.mjc-p-fichier .elementor-button:hover {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 12px 20px 12px 16px;
	border: 0;
	border-radius: 4px;
	background: var(--mjc-prune);
	font-family: var(--mjc-titre);
	font-size: 18px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.2;
	white-space: normal;
	text-align: left;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-fichier .elementor-button:hover {
	background: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-fichier .elementor-button::before {
	content: "PDF";
	flex: none;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 30px;
	height: 38px;
	padding-bottom: 4px;
	background: var(--mjc-blanc);
	font-size: 10px;
	font-weight: 800;
	color: var(--mjc-prune);
	clip-path: polygon(0 0, 70% 0, 100% 22%, 100% 100%, 0 100%);
}
.elementor .elementor-widget.mjc-p-lien-fort .elementor-button,
.elementor .elementor-widget.mjc-p-lien-fort .elementor-button:hover {
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 700;
	font-stretch: 90%;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-lien-fort .elementor-button:hover {
	text-decoration-color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-mail .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	text-align: left;
}
.elementor .elementor-widget.mjc-p-mail .elementor-icon {
	font-size: 22px;
	color: var(--mjc-prune);
	fill: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-mail .elementor-icon-box-title,
.elementor .elementor-widget.mjc-p-mail .elementor-icon-box-title a {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	color: var(--mjc-prune);
}

/* Onglets (widget Onglets imbriqués) : ses couleurs passent par des variables */
.elementor .elementor-widget.mjc-p-onglets {
	--n-tabs-title-background-color: var(--mjc-blanc);
	--n-tabs-title-background-color-hover: var(--mjc-rose);
	--n-tabs-title-background-color-active: var(--mjc-prune);
	--n-tabs-title-color: var(--mjc-prune);
	--n-tabs-title-color-hover: var(--mjc-prune);
	--n-tabs-title-color-active: var(--mjc-blanc);
	--n-tabs-border-color: transparent;
}
.elementor .elementor-widget.mjc-p-onglets .e-n-tabs-heading {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	border-bottom: 6px solid var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-onglets .e-n-tab-title,
.elementor .elementor-widget.mjc-p-onglets .e-n-tab-title:hover,
.elementor .elementor-widget.mjc-p-onglets .e-n-tab-title:focus {
	flex: none;
	padding: 12px 18px;
	border: 0;
	border-radius: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(17px, 1.6vw, 20px);
	font-weight: 800;
	font-stretch: 88%;
}
.elementor .elementor-widget.mjc-p-onglets .e-n-tab-title-text {
	font: inherit;
	color: inherit;
}
.elementor .elementor-widget.mjc-p-onglets .e-n-tabs-content > .e-con {
	--padding-top: 0;
	--padding-left: 0;
	--padding-right: 0;
	border: 0;
}

/* Bande prune (page service civique : les droits) */
.elementor .e-con.mjc-p-prune {
	--padding-top: clamp(44px, 6vw, 88px);
	--padding-bottom: clamp(44px, 6vw, 88px);
	--padding-left: var(--mjc-marge);
	--padding-right: var(--mjc-marge);
	--content-width: 1280px;
	background: var(--mjc-prune);
	font-family: var(--mjc-texte);
	font-size: clamp(17px, 1.35vw, 19px);
	line-height: 1.6;
	color: var(--mjc-blanc);
}
.elementor .e-con.mjc-p-nuit.mjc-p-premier {
	--padding-top: clamp(28px, 4vw, 56px);
	--padding-bottom: clamp(56px, 7vw, 104px);
	overflow: hidden;
}

/* Variantes de grilles */
html body .elementor .e-con.mjc-p-deux.mjc-p-5-7 {
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}
html body .elementor .e-con.mjc-p-deux.mjc-p-centre,
html body .elementor .e-con.mjc-p-tete-grille.mjc-p-centre {
	align-items: center;
}
html body .elementor .e-con.mjc-p-tete-grille.mjc-p-centre {
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
}
.mjc-p-rose > .e-con-inner > .e-con.mjc-p-deux.mjc-p-5-7,
.mjc-p-rose > .e-con.mjc-p-deux.mjc-p-5-7 {
	margin-bottom: clamp(32px, 4vw, 56px);
}
@media (max-width: 900px) {
	html body .elementor .e-con.mjc-p-deux.mjc-p-5-7,
	html body .elementor .e-con.mjc-p-tete-grille.mjc-p-centre {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Grand titre : sur prune nuit, ligne étroite en mandarine ; « xl » pour un
   titre à trois lignes (petite, très grande, petite) */
.mjc-p-nuit .elementor-widget.mjc-p-affichette .elementor-heading-title {
	color: var(--mjc-mandarine);
}
.elementor .mjc-p-nuit .elementor-widget.mjc-p-affichette .mjc-large {
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-affichette.mjc-p-xl .elementor-heading-title {
	font-size: clamp(68px, 9.6vw, 146px);
	line-height: .86;
}
.elementor .elementor-widget.mjc-p-affichette.mjc-p-xl .mjc-large {
	font-size: max(28px, .38em);
	line-height: .95;
	text-wrap: balance;
}
.elementor .elementor-widget.mjc-p-affichette.mjc-p-xl .mjc-etroit {
	margin: .06em 0 .08em;
}
.elementor .elementor-widget.mjc-p-affichette.mjc-p-affichette-seule .elementor-heading-title {
	font-size: clamp(54px, 6.9vw, 104px);
}
.mjc-p-nuit .mjc .mjc-ariane {
	margin-bottom: 18px;
}

/* Visuel penché devant un losange */
.elementor .e-con.mjc-p-visuel {
	align-items: center;
	--gap: clamp(24px, 3vw, 36px);
	--row-gap: clamp(24px, 3vw, 36px);
}
.elementor .elementor-widget.mjc-p-image-losange {
	position: relative;
	width: 100%;
	padding: clamp(28px, 4vw, 60px) 0;
	text-align: center;
}
.elementor .elementor-widget.mjc-p-image-losange::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 66%;
	aspect-ratio: 1;
	border-radius: 9%;
	background: var(--mjc-prune);
	transform: translate(-50%, -50%) rotate(45deg);
}
.elementor .elementor-widget.mjc-p-image-losange img {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 2px;
	box-shadow: 0 24px 50px rgba(10, 0, 6, .55);
	transform: rotate(2.5deg);
	transition: transform 300ms cubic-bezier(.2, .7, .2, 1);
}
.elementor .elementor-widget.mjc-p-image-losange:hover img {
	transform: rotate(0deg) scale(1.02);
}
@media (max-width: 900px) {
	.elementor .elementor-widget.mjc-p-image-losange {
		padding: 36px 8px;
	}
	.elementor .elementor-widget.mjc-p-image-losange::before {
		width: 58%;
	}
}

/* Boutons pleins : mandarine (sur fond sombre), prune (sur mandarine) */
.elementor .elementor-widget.mjc-p-bouton-mandarine .elementor-button,
.elementor .elementor-widget.mjc-p-bouton-mandarine .elementor-button:hover,
.elementor .elementor-widget.mjc-p-bouton-prune .elementor-button,
.elementor .elementor-widget.mjc-p-bouton-prune .elementor-button:hover {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 24px;
	border: 0;
	border-radius: 4px;
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.15;
	white-space: normal;
	text-align: left;
	transition: background-color 160ms ease;
}
.elementor .elementor-widget.mjc-p-bouton-mandarine .elementor-button {
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-bouton-mandarine .elementor-button:hover {
	background: #FF915F;
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-bouton-prune .elementor-button {
	background: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-bouton-prune .elementor-button:hover {
	background: var(--mjc-nuit);
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-telecharger .elementor-button::before,
.elementor .elementor-widget.mjc-p-externe .elementor-button::after {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--mjc-icone) center / contain no-repeat;
	mask: var(--mjc-icone) center / contain no-repeat;
}
.elementor .elementor-widget.mjc-p-telecharger .elementor-button {
	--mjc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");
}
.elementor .elementor-widget.mjc-p-externe .elementor-button {
	--mjc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
}
.elementor .elementor-widget.mjc-p-externe .elementor-button::after {
	width: 18px;
	height: 18px;
	margin-left: 4px;
}

/* Passages mis en valeur dans un texte */
.elementor .elementor-widget.mjc-p-surligne strong {
	font-weight: 700;
	background: linear-gradient(transparent 60%, #FFC4A8 60%);
}

/* Liste en cartes numérotées (les thématiques) */
.elementor .elementor-widget.mjc-p-tuiles ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: mjc-tuile;
}
.elementor .elementor-widget.mjc-p-tuiles li {
	counter-increment: mjc-tuile;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 18px 22px 24px;
	border-top: 6px solid var(--mjc-prune);
	border-radius: 2px 2px 4px 4px;
	background: var(--mjc-blanc);
	font-size: 17.5px;
	line-height: 1.45;
}
.elementor .elementor-widget.mjc-p-tuiles li::before {
	content: counter(mjc-tuile, decimal-leading-zero);
	font-family: var(--mjc-titre);
	font-size: clamp(42px, 3.8vw, 56px);
	font-weight: 900;
	font-stretch: 68%;
	line-height: .85;
	color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-tuiles li:last-child:nth-child(3n+2) {
	grid-column: span 2;
}
@media (max-width: 1100px) {
	.elementor .elementor-widget.mjc-p-tuiles ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.elementor .elementor-widget.mjc-p-tuiles li:last-child:nth-child(3n+2) {
		grid-column: auto;
	}
	.elementor .elementor-widget.mjc-p-tuiles li:last-child:nth-child(odd) {
		grid-column: span 2;
	}
}
@media (max-width: 640px) {
	.elementor .elementor-widget.mjc-p-tuiles ul {
		grid-template-columns: minmax(0, 1fr);
	}
	.elementor .elementor-widget.mjc-p-tuiles li,
	.elementor .elementor-widget.mjc-p-tuiles li:last-child:nth-child(odd) {
		grid-column: auto;
		flex-direction: row;
		align-items: flex-start;
		gap: 14px;
		padding: 16px 18px 18px;
	}
	.elementor .elementor-widget.mjc-p-tuiles li::before {
		flex: 0 0 1.15em;
		padding-top: 2px;
		font-size: 40px;
	}
}

/* Phrase en grand, chiffres surlignés ; précision avec un filet */
.elementor .elementor-widget.mjc-p-declaration {
	max-width: 1120px;
	font-family: var(--mjc-titre);
	font-size: clamp(27px, 3.1vw, 44px);
	font-weight: 800;
	font-stretch: 84%;
	line-height: 1.14;
	color: var(--mjc-nuit);
	text-wrap: pretty;
}
.elementor .elementor-widget.mjc-p-declaration strong {
	font-weight: 900;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-declaration mark {
	padding: 0 .04em;
	background: none;
	box-shadow: inset 0 -.3em 0 #FFD9C7;
	white-space: nowrap;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-precision {
	max-width: 720px;
	margin-top: 10px;
	padding-left: 22px;
	border-left: 6px solid var(--mjc-mandarine);
	font-size: clamp(18px, 1.5vw, 20px);
}

/* Les droits : titre blanc, indemnité en carte mandarine, liste claire */
.mjc-p-prune .elementor-widget.mjc-p-droits-titre {
	max-width: 1000px;
	margin-bottom: clamp(28px, 3.4vw, 48px);
}
.elementor .elementor-widget.mjc-p-droits-titre .elementor-heading-title {
	font-size: clamp(32px, 3.8vw, 56px);
	font-stretch: 74%;
	color: var(--mjc-blanc);
	text-wrap: balance;
}
.elementor .elementor-widget.mjc-p-droits-titre .mjc-accent {
	color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-indemnite ul {
	margin: 0;
	padding: clamp(24px, 3vw, 40px);
	list-style: none;
	border-radius: 4px;
	background: var(--mjc-mandarine);
	box-shadow: 0 20px 40px rgba(40, 0, 22, .35);
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.45;
	color: var(--mjc-nuit);
	transform: rotate(-1.5deg);
}
.elementor .elementor-widget.mjc-p-indemnite li {
	margin: 0;
}
.elementor .elementor-widget.mjc-p-indemnite .mjc-chiffre {
	display: block;
	margin: 6px 0 10px;
	font-family: var(--mjc-titre);
	font-size: clamp(58px, 6.2vw, 92px);
	font-weight: 900;
	font-stretch: 66%;
	line-height: .9;
	white-space: nowrap;
}
.elementor .elementor-widget.mjc-p-liste-claire ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.elementor .elementor-widget.mjc-p-liste-claire li {
	position: relative;
	margin: 0;
	padding: 16px 0 18px 36px;
	border-bottom: 2px solid rgba(255, 255, 255, .22);
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.45;
}
.elementor .elementor-widget.mjc-p-liste-claire li:first-child {
	padding-top: 0;
}
.elementor .elementor-widget.mjc-p-liste-claire li:last-child {
	border-bottom: 0;
}
.elementor .elementor-widget.mjc-p-liste-claire li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: calc(16px + .5em);
	width: .55em;
	height: .55em;
	background: var(--mjc-mandarine);
	transform: rotate(45deg);
}
.elementor .elementor-widget.mjc-p-liste-claire li:first-child::before {
	top: .5em;
}
@media (max-width: 900px) {
	.elementor .elementor-widget.mjc-p-indemnite ul {
		transform: rotate(-1deg);
	}
}

/* Bande mandarine avec un grand losange clair derrière */
.elementor .e-con.mjc-p-losange-fond {
	position: relative;
	overflow: hidden;
}
.elementor .e-con.mjc-p-losange-fond::after {
	content: "";
	position: absolute;
	right: -9%;
	top: 50%;
	width: min(44vw, 600px);
	aspect-ratio: 1;
	border-radius: 9%;
	background: #FF915F;
	transform: translateY(-50%) rotate(45deg);
	pointer-events: none;
}
.elementor .e-con.mjc-p-losange-fond > .e-con-inner,
.elementor .e-con.mjc-p-losange-fond > .e-con {
	position: relative;
	z-index: 1;
}
.elementor .e-con.mjc-p-losange-fond .e-con.mjc-p-deux > .e-con {
	align-items: flex-start;
	--gap: 22px;
	--row-gap: 22px;
}
@media (max-width: 900px) {
	.elementor .e-con.mjc-p-losange-fond::after {
		right: -30%;
		top: auto;
		bottom: -24%;
		width: 80vw;
		transform: rotate(45deg);
	}
}

/* Frise des étapes (page BAFA) : les étapes en cartes, les délais en
   flèches sous les cartes, puis la délivrance du brevet. Sur mobile, les
   délais deviennent des rails verticaux à gauche des cartes. */
html body .elementor .e-con.mjc-p-frise {
	--display: grid;
	--row-gap: 0px;
	--column-gap: clamp(24px, 4vw, 56px);
	--gap: 0px clamp(24px, 4vw, 56px);
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
}
.elementor .e-con.mjc-p-frise > .e-con.mjc-p-etape {
	grid-row: 1;
	min-width: 0;
	--padding-left: 0;
	--padding-right: 0;
	--padding-bottom: 0;
}
.elementor .e-con.mjc-p-frise > .elementor-widget.mjc-p-delai-18 {
	grid-column: 1 / 3;
	grid-row: 2;
	margin-top: 44px;
}
.elementor .e-con.mjc-p-frise > .elementor-widget.mjc-p-delai-30 {
	grid-column: 1 / 4;
	grid-row: 3;
	margin-top: 22px;
}
.elementor .elementor-widget.mjc-p-delai {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.elementor .elementor-widget.mjc-p-delai::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 15px;
	transform: translateY(-50%);
	background:
		linear-gradient(var(--mjc-prune), var(--mjc-prune)) left center / 3px 15px no-repeat,
		linear-gradient(var(--mjc-prune), var(--mjc-prune)) left center / calc(100% - 10px) 3px no-repeat;
}
.elementor .elementor-widget.mjc-p-delai::after {
	content: "";
	position: absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	border-left: 13px solid var(--mjc-prune);
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}
.elementor .elementor-widget.mjc-p-delai .elementor-heading-title {
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 14px;
	background: var(--mjc-rose);
	font-family: var(--mjc-titre);
	font-size: clamp(21px, 2vw, 26px);
	font-weight: 900;
	font-stretch: 78%;
	line-height: 1;
	white-space: nowrap;
	color: var(--mjc-prune);
}
.elementor .e-con.mjc-p-frise > .e-con.mjc-p-brevet {
	grid-column: 1 / -1;
	grid-row: 4;
	margin-top: 36px;
}
.elementor .e-con.mjc-p-brevet {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 28px;
	--padding-right: 28px;
	--gap: 28px;
	--row-gap: 16px;
	--column-gap: 28px;
	border-radius: 4px;
	background: var(--mjc-nuit);
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-tampon .elementor-heading-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border: 3px dashed currentColor;
	border-radius: 50%;
	outline: 3px solid currentColor;
	outline-offset: 4px;
	font-family: var(--mjc-titre);
	font-size: 17px;
	font-weight: 900;
	font-stretch: 90%;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mjc-mandarine);
	transform: rotate(-12deg);
}
.elementor .elementor-widget.mjc-p-brevet-texte {
	font-family: var(--mjc-titre);
	font-size: clamp(20px, 1.9vw, 26px);
	font-weight: 800;
	font-stretch: 84%;
	line-height: 1.15;
	color: var(--mjc-blanc);
}
.mjc-p-rose .elementor-widget.mjc-p-surtitre .elementor-heading-title {
	color: var(--mjc-prune);
}
@media (max-width: 900px) {
	html body .elementor .e-con.mjc-p-frise {
		--row-gap: 30px;
		--column-gap: 0px;
		--gap: 30px 0px;
		grid-template-columns: 30px 34px minmax(0, 1fr);
	}
	.elementor .e-con.mjc-p-frise > .e-con.mjc-p-etape {
		grid-column: 3;
		--padding-left: 12px;
	}
	.elementor .e-con.mjc-p-frise > .e-con.mjc-p-etape:nth-child(1) {
		grid-row: 1;
	}
	.elementor .e-con.mjc-p-frise > .e-con.mjc-p-etape:nth-child(2) {
		grid-row: 2;
	}
	.elementor .e-con.mjc-p-frise > .e-con.mjc-p-etape:nth-child(3) {
		grid-row: 3;
	}
	.elementor .e-con.mjc-p-frise > .elementor-widget.mjc-p-delai-30 {
		grid-column: 1;
		grid-row: 1 / 4;
		margin-top: 0;
	}
	.elementor .e-con.mjc-p-frise > .elementor-widget.mjc-p-delai-18 {
		grid-column: 2;
		grid-row: 1 / 3;
		margin-top: 0;
	}
	.elementor .elementor-widget.mjc-p-delai {
		align-self: stretch;
	}
	.elementor .elementor-widget.mjc-p-delai::before {
		left: 50%;
		right: auto;
		top: 0;
		bottom: 0;
		width: 15px;
		height: auto;
		transform: translateX(-50%);
		background:
			linear-gradient(var(--mjc-prune), var(--mjc-prune)) center top / 15px 3px no-repeat,
			linear-gradient(var(--mjc-prune), var(--mjc-prune)) center top / 3px calc(100% - 10px) no-repeat;
	}
	.elementor .elementor-widget.mjc-p-delai::after {
		right: auto;
		left: 50%;
		top: auto;
		bottom: -2px;
		transform: translateX(-50%);
		border-left: 7px solid transparent;
		border-right: 7px solid transparent;
		border-top: 13px solid var(--mjc-prune);
		border-bottom: 0;
	}
	.elementor .elementor-widget.mjc-p-delai .elementor-heading-title {
		padding: 12px 0;
		font-size: 19px;
		writing-mode: vertical-rl;
		transform: rotate(180deg);
	}
	.elementor .e-con.mjc-p-frise > .e-con.mjc-p-brevet {
		grid-row: 4;
		margin-top: 0;
	}
}

/* ------------------------------------------------------------------ */
/* Pages Elementor (suite) : comité de pilotage BAFA, ressources, le   */
/* réseau des MJC, formations, partenaires, contact. Mêmes règles de   */
/* force que plus haut (les réglages Elementor l'emportent).           */
/*   Conteneurs : mjc-p-prune (aussi en tête, avec mjc-p-premier),     */
/*     mjc-p-carte (variantes mjc-p-carte-mandarine, -penchee, -rose), */
/*     mjc-p-espaces / mjc-p-espace, mjc-p-reseaux, mjc-p-logos        */
/*     (variante mjc-p-logos-3), mjc-p-contact, mjc-p-coord,           */
/*     mjc-p-formulaire.                                               */
/*   Widgets : mjc-p-titre-clair (grand titre blanc), mjc-p-mdp,       */
/*     mjc-p-info, mjc-p-sous-titre, mjc-p-lignes, mjc-p-tuiles-2,     */
/*     mjc-p-agenda, mjc-p-dates, mjc-p-appel (appel à l'action),      */
/*     mjc-p-cas, mjc-p-apport, mjc-p-engagements, mjc-p-appel-texte,  */
/*     mjc-p-mjc, mjc-p-texte-clair, mjc-p-axes, mjc-p-chiffres,       */
/*     mjc-p-gouv, mjc-p-paragraphes, mjc-p-reseau (boîte image),      */
/*     mjc-p-logo (variante mjc-p-logo-large), mjc-p-coord-texte,      */
/*     mjc-p-form, mjc-p-ariane-elementor, mjc-p-dossier (icône),       */
/*     mjc-p-chapo (premier paragraphe en plus grand).                  */
/* ------------------------------------------------------------------ */

/* Tête prune ; grand titre : morceau mis en avant en mandarine */
.elementor .e-con.mjc-p-prune.mjc-p-premier {
	--padding-top: clamp(28px, 4vw, 56px);
	--padding-bottom: clamp(48px, 6vw, 88px);
	overflow: hidden;
}
.mjc-p-prune .elementor-widget.mjc-p-affichette .elementor-heading-title,
.elementor .mjc-p-prune .elementor-widget.mjc-p-affichette .mjc-large,
.elementor .elementor-widget.mjc-p-affichette.mjc-p-titre-clair .elementor-heading-title {
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-affichette .mjc-accent {
	color: var(--mjc-mandarine);
}
.mjc-p-prune .elementor-widget.mjc-p-intro {
	color: var(--mjc-blanc);
}
.mjc-p-prune .elementor-widget.mjc-p-h2 .elementor-heading-title,
.mjc-p-nuit .elementor-widget.mjc-p-h2 .elementor-heading-title {
	color: var(--mjc-blanc);
}
html body .elementor .e-con.mjc-p-deux.mjc-p-acces {
	margin-top: clamp(32px, 4vw, 52px);
}

/* Cartes */
.elementor .e-con.mjc-p-carte {
	--padding-top: clamp(22px, 2.6vw, 34px);
	--padding-bottom: clamp(22px, 2.6vw, 34px);
	--padding-left: clamp(22px, 2.6vw, 34px);
	--padding-right: clamp(22px, 2.6vw, 34px);
	--gap: 16px;
	--row-gap: 16px;
	border-top: 6px solid var(--mjc-mandarine);
	border-radius: 4px;
	background: var(--mjc-blanc);
	color: var(--mjc-encre);
}
.elementor .e-con.mjc-p-carte.mjc-p-carte-mandarine {
	border-top: 0;
	background: var(--mjc-mandarine);
	color: var(--mjc-nuit);
}
.elementor .e-con.mjc-p-carte.mjc-p-carte-sans-trait {
	border-top: 0;
}
.elementor .e-con.mjc-p-carte.mjc-p-carte-penchee {
	border-top: 0;
	box-shadow: 0 20px 40px rgba(90, 20, 0, .22);
	transform: rotate(-1.2deg);
}
.elementor .e-con.mjc-p-carte.mjc-p-carte-rose {
	border-top: 0;
	background: var(--mjc-rose);
	--gap: 12px;
	--row-gap: 12px;
}
.elementor .e-con.mjc-p-deux > .e-con.mjc-p-carte,
.elementor .e-con.mjc-p-trois > .e-con.mjc-p-carte {
	align-self: stretch;
}
.elementor .e-con.mjc-p-carte > .elementor-widget {
	margin-bottom: 0;
}

/* Bouton « dossier » : icône de dossier à gauche */
.elementor .elementor-widget.mjc-p-dossier .elementor-button::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Mot de passe (cadenas), précision sous un filet, petit titre, lignes */
.elementor .elementor-widget.mjc-p-mdp p {
	position: relative;
	margin: 0;
	padding-left: 28px;
	font-size: 17px;
}
.elementor .elementor-widget.mjc-p-mdp p::before {
	content: "";
	position: absolute;
	left: 0;
	top: .25em;
	width: 18px;
	height: 18px;
	background: var(--mjc-prune);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mjc-p-carte-mandarine .elementor-widget.mjc-p-mdp p::before {
	background: var(--mjc-nuit);
}
.elementor .elementor-widget a[href^="mailto:"] {
	white-space: nowrap;
}
.mjc-p-carte-mandarine .elementor-widget a:not(.elementor-button) {
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-info {
	padding-top: 14px;
	border-top: 2px solid rgba(59, 13, 41, .25);
	font-size: 17px;
}
.elementor .elementor-widget.mjc-p-sous-titre p {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: 20px;
	font-weight: 800;
	font-stretch: 88%;
	line-height: 1.2;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-lignes {
	font-size: 17px;
	line-height: 1.7;
}
.elementor .elementor-widget.mjc-p-lignes del {
	color: var(--mjc-gris);
}

/* Tuiles numérotées sur deux colonnes ; sur fond blanc, tuiles roses */
.elementor .elementor-widget.mjc-p-tuiles.mjc-p-tuiles-2 ul {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.elementor .elementor-widget.mjc-p-tuiles.mjc-p-tuiles-2 li:last-child:nth-child(3n+2),
.elementor .elementor-widget.mjc-p-tuiles.mjc-p-tuiles-2 li:last-child:nth-child(odd) {
	grid-column: auto;
}
.mjc-p-blanc .elementor-widget.mjc-p-tuiles li {
	background: var(--mjc-rose);
}
@media (max-width: 640px) {
	.elementor .elementor-widget.mjc-p-tuiles.mjc-p-tuiles-2 ul {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Agenda : la date en grand (premier mot en gras), programme en losanges */
.elementor .elementor-widget.mjc-p-agenda p {
	margin: 0 0 14px;
}
.elementor .elementor-widget.mjc-p-agenda p:first-child strong {
	display: block;
	margin-bottom: 10px;
	font-family: var(--mjc-titre);
	font-size: clamp(28px, 2.8vw, 40px);
	font-weight: 900;
	font-stretch: 74%;
	line-height: 1;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-agenda ul,
.elementor .elementor-widget.mjc-p-dates ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.elementor .elementor-widget.mjc-p-agenda li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 30px;
}
.elementor .elementor-widget.mjc-p-agenda li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: .55em;
	width: .55em;
	height: .55em;
	background: var(--mjc-mandarine);
	transform: rotate(45deg);
}
.elementor .elementor-widget.mjc-p-dates li {
	margin: 0 0 18px;
	padding: 0 0 18px;
	border-bottom: 3px solid var(--mjc-rose);
	font-size: 18px;
}
.elementor .elementor-widget.mjc-p-dates li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.elementor .elementor-widget.mjc-p-dates strong {
	display: block;
	margin-bottom: 4px;
	font-family: var(--mjc-titre);
	font-size: clamp(24px, 2.3vw, 32px);
	font-weight: 900;
	font-stretch: 76%;
	line-height: 1.02;
	color: var(--mjc-prune);
}

/* Appel à l'action (widget « Appel à l'action ») : titre à gauche, texte et
   bouton à droite */
.elementor .elementor-widget.mjc-p-appel .elementor-cta {
	display: block;
	min-height: 0;
	background: none;
	text-decoration: none;
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__bg-wrapper {
	display: none;
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__content {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: 14px clamp(24px, 5vw, 72px);
	padding: 0;
	background: none;
	text-align: left;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__title {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(32px, 3.9vw, 58px);
	font-weight: 900;
	font-stretch: 72%;
	line-height: 1;
	color: var(--mjc-blanc);
	text-wrap: balance;
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__description {
	grid-column: 2;
	align-self: end;
	margin: 0;
	font-size: clamp(18px, 1.5vw, 21px);
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__button-wrapper {
	grid-column: 2;
	align-self: start;
	margin: 0;
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__button,
.elementor .elementor-widget.mjc-p-appel .elementor-cta:hover .elementor-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--mjc-mandarine);
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	line-height: 1.15;
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta:hover .elementor-cta__button {
	background: var(--mjc-mandarine-claire);
}
.elementor .elementor-widget.mjc-p-appel .elementor-cta__button::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpolyline points='3 7 12 13 21 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpolyline points='3 7 12 13 21 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 900px) {
	.elementor .elementor-widget.mjc-p-appel .elementor-cta__content {
		grid-template-columns: minmax(0, 1fr);
	}
	.elementor .elementor-widget.mjc-p-appel .elementor-cta__title,
	.elementor .elementor-widget.mjc-p-appel .elementor-cta__description,
	.elementor .elementor-widget.mjc-p-appel .elementor-cta__button-wrapper {
		grid-column: 1;
		grid-row: auto;
	}
}
.elementor .e-con.mjc-p-nuit.mjc-p-losange-fond::after {
	background: #4C1838;
}

/* Ressources : les deux cas de figure en cartes, l'apport en trois cartes,
   les engagements numérotés, la phrase finale en grand */
.elementor .elementor-widget.mjc-p-cas ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2.4vw, 28px);
	margin: clamp(28px, 3vw, 44px) 0 0;
	padding: 0;
	list-style: none;
}
.elementor .elementor-widget.mjc-p-cas li {
	margin: 0;
	padding: clamp(22px, 2.6vw, 34px);
	border-top: 6px solid var(--mjc-prune);
	border-radius: 4px;
	background: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-cas li > strong:first-child {
	font-family: var(--mjc-titre);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 900;
	font-stretch: 72%;
	line-height: 1;
	color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-apport {
	font-size: 17px;
	line-height: 1.55;
}
.elementor .elementor-widget.mjc-p-apport p {
	margin: 0 0 12px;
}
.elementor .elementor-widget.mjc-p-apport p:first-child strong {
	display: block;
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2vw, 27px);
	font-weight: 900;
	font-stretch: 80%;
	line-height: 1.05;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-engagements ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(28px, 4vw, 56px);
	margin: clamp(26px, 3vw, 40px) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: mjc-engagement;
}
.elementor .elementor-widget.mjc-p-engagements li {
	counter-increment: mjc-engagement;
	position: relative;
	margin: 0;
	padding: 16px 0 18px 52px;
	border-bottom: 2px solid rgba(255, 255, 255, .22);
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.45;
}
.elementor .elementor-widget.mjc-p-engagements li::before {
	content: counter(mjc-engagement);
	position: absolute;
	left: 0;
	top: 16px;
	font-family: var(--mjc-titre);
	font-size: 42px;
	font-weight: 900;
	font-stretch: 66%;
	line-height: .8;
	color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-appel-texte {
	font-family: var(--mjc-titre);
	font-size: clamp(30px, 3.6vw, 52px);
	font-weight: 900;
	font-stretch: 72%;
	line-height: 1.02;
	text-align: left;
	text-wrap: balance;
}
.elementor .elementor-widget.mjc-p-appel-texte strong {
	font-weight: inherit;
}
@media (max-width: 900px) {
	.elementor .elementor-widget.mjc-p-cas ul,
	.elementor .elementor-widget.mjc-p-engagements ul {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Le réseau : texte d'introduction, citation, quatre espaces, la Plate-forme
   sur prune nuit, axes en cartes, chiffres */
.elementor .elementor-widget.mjc-p-chapo > p:first-child {
	font-size: clamp(19px, 1.65vw, 23px);
	line-height: 1.55;
}
.elementor .elementor-widget.mjc-p-mjc p {
	margin: 0 0 22px;
	font-size: 18.5px;
}
.elementor .elementor-widget.mjc-p-mjc > p:first-child {
	font-size: clamp(19px, 1.65vw, 23px);
	line-height: 1.55;
}
.elementor .elementor-widget.mjc-p-mjc strong {
	font-weight: 700;
	background: linear-gradient(transparent 60%, #FFC4A8 60%);
}
.elementor .elementor-widget.mjc-p-mjc blockquote {
	position: relative;
	margin: 0 0 22px;
	padding: 8px 0 0 clamp(44px, 5vw, 64px);
	border: 0;
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.5;
	color: var(--mjc-nuit);
}
.elementor .elementor-widget.mjc-p-mjc blockquote::before {
	content: "«";
	position: absolute;
	left: 0;
	top: -.12em;
	font-family: var(--mjc-titre);
	font-size: clamp(70px, 7vw, 104px);
	font-style: normal;
	font-weight: 900;
	font-stretch: 70%;
	line-height: 1;
	color: var(--mjc-mandarine);
}
html body .elementor .e-con.mjc-p-espaces {
	--display: grid;
	--gap: clamp(12px, 1.6vw, 20px);
	--row-gap: clamp(12px, 1.6vw, 20px);
	--column-gap: clamp(12px, 1.6vw, 20px);
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	margin-top: clamp(36px, 4vw, 56px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.elementor .e-con.mjc-p-espace {
	--padding-top: 22px;
	--padding-bottom: 26px;
	--padding-left: 22px;
	--padding-right: 22px;
	--gap: 12px;
	--row-gap: 12px;
	min-width: 0;
	border-radius: 4px;
	background: var(--mjc-prune);
	font-size: 17px;
	line-height: 1.5;
	color: var(--mjc-blanc);
}
.elementor .e-con.mjc-p-espace:nth-child(even) {
	background: var(--mjc-nuit);
}
.elementor .e-con.mjc-p-espace .elementor-heading-title {
	font-family: var(--mjc-titre);
	font-size: clamp(23px, 2vw, 28px);
	font-weight: 900;
	font-stretch: 76%;
	line-height: 1;
	text-transform: uppercase;
	color: var(--mjc-mandarine);
}
@media (max-width: 1100px) {
	html body .elementor .e-con.mjc-p-espaces {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	html body .elementor .e-con.mjc-p-espaces {
		grid-template-columns: minmax(0, 1fr);
	}
}
.elementor .elementor-widget.mjc-p-texte-clair {
	color: var(--mjc-rose-texte);
}
.elementor .elementor-widget.mjc-p-texte-clair p:first-child {
	margin-bottom: 26px;
	font-size: clamp(20px, 1.8vw, 25px);
	line-height: 1.45;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-texte-clair strong {
	background: linear-gradient(transparent 62%, rgba(255, 122, 69, .55) 62%);
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-axes p {
	margin: clamp(36px, 4vw, 56px) 0 0;
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 900;
	font-stretch: 80%;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-axes p strong {
	font-weight: inherit;
}
.elementor .elementor-widget.mjc-p-axes ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 20px);
	margin: clamp(24px, 3vw, 40px) 0 clamp(20px, 2.4vw, 32px);
	padding: 0;
	list-style: none;
	counter-reset: mjc-axe;
}
.elementor .elementor-widget.mjc-p-axes li {
	counter-increment: mjc-axe;
	margin: 0;
	padding: 18px 22px 24px;
	border-top: 6px solid var(--mjc-mandarine);
	border-radius: 2px 2px 4px 4px;
	background: var(--mjc-blanc);
	font-size: 17.5px;
	line-height: 1.45;
	color: var(--mjc-encre);
}
.elementor .elementor-widget.mjc-p-axes li::before {
	content: counter(mjc-axe, decimal-leading-zero);
	display: block;
	margin-bottom: 12px;
	font-family: var(--mjc-titre);
	font-size: 50px;
	font-weight: 900;
	font-stretch: 68%;
	line-height: .85;
	color: var(--mjc-prune);
}
@media (max-width: 900px) {
	.elementor .elementor-widget.mjc-p-axes ul {
		grid-template-columns: minmax(0, 1fr);
	}
}
.elementor .elementor-widget.mjc-p-chiffres p {
	margin: clamp(40px, 5vw, 64px) 0 16px;
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 900;
	font-stretch: 80%;
	color: var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-chiffres ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 6px solid var(--mjc-prune);
}
.elementor .elementor-widget.mjc-p-chiffres li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 16px 16px 18px;
	border-right: 2px solid #E7CCDA;
	font-size: 17px;
	line-height: 1.3;
}
.elementor .elementor-widget.mjc-p-chiffres li:first-child {
	padding-left: 0;
}
.elementor .elementor-widget.mjc-p-chiffres li:last-child {
	border-right: 0;
}
.elementor .elementor-widget.mjc-p-chiffres strong {
	font-family: var(--mjc-titre);
	font-size: clamp(34px, 3.6vw, 52px);
	font-weight: 900;
	font-stretch: 70%;
	line-height: .95;
	white-space: nowrap;
	color: var(--mjc-nuit);
}
@media (max-width: 1100px) {
	.elementor .elementor-widget.mjc-p-chiffres ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.elementor .elementor-widget.mjc-p-chiffres li:nth-child(3) {
		border-right: 0;
	}
	.elementor .elementor-widget.mjc-p-chiffres li:nth-child(4) {
		padding-left: 0;
	}
}
@media (max-width: 640px) {
	.elementor .elementor-widget.mjc-p-chiffres ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.elementor .elementor-widget.mjc-p-chiffres li,
	.elementor .elementor-widget.mjc-p-chiffres li:nth-child(4) {
		padding-left: 0;
		border-right: 0;
		border-bottom: 2px solid #E7CCDA;
	}
	.elementor .elementor-widget.mjc-p-chiffres li:nth-child(even) {
		padding-left: 16px;
	}
}
.elementor .elementor-widget.mjc-p-gouv {
	width: 100%;
	max-width: 880px;
	margin-top: clamp(36px, 4vw, 56px);
	padding-top: clamp(28px, 3vw, 40px);
	border-top: 3px solid #E7CCDA;
}

/* Formations : trois paragraphes côte à côte, liens vers les réseaux en
   cartes avec leur logo (widget « Boîte d'image ») */
.elementor .elementor-widget-text-editor.mjc-p-paragraphes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px);
}
.elementor .elementor-widget.mjc-p-paragraphes p {
	margin: 0;
	padding-top: 16px;
	border-top: 6px solid var(--mjc-prune);
	font-size: clamp(17.5px, 1.4vw, 19px);
	line-height: 1.6;
}
.elementor .elementor-widget.mjc-p-paragraphes p:nth-of-type(2) {
	border-top-color: var(--mjc-mandarine);
}
@media (max-width: 900px) {
	.elementor .elementor-widget-text-editor.mjc-p-paragraphes {
		grid-template-columns: minmax(0, 1fr);
	}
}
html body .elementor .e-con.mjc-p-reseaux,
html body .elementor .e-con.mjc-p-logos {
	--display: grid;
	--gap: clamp(12px, 1.6vw, 20px);
	--row-gap: clamp(12px, 1.6vw, 20px);
	--column-gap: clamp(12px, 1.6vw, 20px);
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}
.elementor .elementor-widget.mjc-p-reseau {
	height: 100%;
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper {
	position: relative;
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	height: 100%;
	min-height: 120px;
	padding: 16px 48px 16px 16px;
	border: 3px solid var(--mjc-blanc);
	border-radius: 4px;
	background: var(--mjc-blanc);
	text-align: left;
	transition: border-color 160ms ease;
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper:hover {
	border-color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 18px;
	height: 18px;
	background: var(--mjc-prune);
	transform: translateY(-50%);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* La largeur de l'image (30 % par défaut dans le widget) suit la carte. */
html body .elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper .elementor-image-box-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin: 0;
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-img img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-title {
	margin: 0;
	font-family: var(--mjc-titre);
	font-size: clamp(19px, 1.7vw, 22px);
	font-weight: 800;
	font-stretch: 86%;
	line-height: 1.12;
	color: var(--mjc-encre);
}
html .elementor .elementor-widget.mjc-p-reseau .elementor-image-box-title a,
html .elementor .elementor-widget.mjc-p-reseau .elementor-image-box-title a:hover {
	font: inherit;
	color: inherit;
	text-decoration: none;
}
.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* Partenaires : murs de logos */
html body .elementor .e-con.mjc-p-logos {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(26px, 3vw, 40px);
}
html body .elementor .e-con.mjc-p-logos.mjc-p-logos-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.elementor .elementor-widget.mjc-p-logo {
	min-width: 0;
	margin: 0;
}
.elementor .elementor-widget.mjc-p-logo.mjc-p-logo-large {
	grid-column: span 2;
}
.elementor .elementor-widget-image.mjc-p-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: clamp(130px, 12vw, 176px);
	padding: clamp(16px, 2vw, 26px);
	border: 3px solid var(--mjc-rose);
	border-radius: 4px;
	background: var(--mjc-blanc);
	transition: border-color 160ms ease;
}
.elementor .elementor-widget-image.mjc-p-logo > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.mjc-p-rose .elementor-widget-image.mjc-p-logo {
	border-color: var(--mjc-blanc);
}
.elementor .elementor-widget-image.mjc-p-logo:has(a:hover),
.elementor .elementor-widget-image.mjc-p-logo:has(a:focus-visible) {
	border-color: var(--mjc-mandarine);
}
.elementor .elementor-widget.mjc-p-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
@media (max-width: 1100px) {
	html body .elementor .e-con.mjc-p-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	html body .elementor .e-con.mjc-p-reseaux {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	html body .elementor .e-con.mjc-p-logos,
	html body .elementor .e-con.mjc-p-logos.mjc-p-logos-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.elementor .elementor-widget.mjc-p-logo.mjc-p-logo-large {
		grid-column: 1 / -1;
	}
	html body .elementor .e-con.mjc-p-reseaux {
		grid-template-columns: minmax(0, 1fr);
	}
	.elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper {
		grid-template-columns: 64px minmax(0, 1fr);
		min-height: 96px;
	}
	html body .elementor .elementor-widget.mjc-p-reseau .elementor-image-box-wrapper .elementor-image-box-img {
		width: 64px;
		height: 64px;
	}
}

/* Contact : coordonnées sur prune, formulaire sur blanc, libellés visibles */
html body .elementor .e-con.mjc-p-contact {
	--display: grid;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: stretch;
}
.elementor .e-con.mjc-p-coord,
.elementor .e-con.mjc-p-formulaire {
	--padding-top: clamp(40px, 5vw, 72px);
	--padding-bottom: clamp(40px, 5vw, 72px);
	--padding-left: clamp(24px, 4vw, 56px);
	--padding-right: clamp(24px, 4vw, 56px);
	--gap: 28px;
	--row-gap: 28px;
	min-width: 0;
}
.elementor .e-con.mjc-p-coord {
	background: var(--mjc-prune);
	color: var(--mjc-blanc);
}
.elementor .e-con.mjc-p-formulaire {
	background: var(--mjc-blanc);
}
.mjc-p-coord .elementor-widget.mjc-p-h2 .elementor-heading-title {
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-coord-texte p {
	position: relative;
	margin: 0 0 22px;
	padding-left: 36px;
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.4;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-coord-texte p::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 20px;
	height: 20px;
	background: var(--mjc-mandarine);
	-webkit-mask: var(--mjc-icone) center / contain no-repeat;
	mask: var(--mjc-icone) center / contain no-repeat;
}
.elementor .elementor-widget.mjc-p-coord-texte p:nth-of-type(1) {
	--mjc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
}
.elementor .elementor-widget.mjc-p-coord-texte p:nth-of-type(2) {
	--mjc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-3 2a12 12 0 0 0 6 6l2-3 5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
.elementor .elementor-widget.mjc-p-coord-texte p:nth-of-type(3) {
	--mjc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpolyline points='3 7 12 13 21 7'/%3E%3C/svg%3E");
}
.elementor .elementor-widget.mjc-p-coord-texte a,
.elementor .elementor-widget.mjc-p-coord-texte a:hover {
	font-family: var(--mjc-titre);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 800;
	font-stretch: 88%;
	text-decoration: underline;
	text-decoration-color: var(--mjc-mandarine);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-form .elementor-field-group {
	margin-bottom: 18px;
}
.elementor .elementor-widget.mjc-p-form .elementor-field-label {
	margin-bottom: 6px;
	font-family: var(--mjc-titre);
	font-size: 17px;
	font-weight: 800;
	font-stretch: 90%;
	color: var(--mjc-encre);
}
.elementor .elementor-widget.mjc-p-form .elementor-field-textual {
	min-height: 52px;
	padding: 12px 14px;
	border: 2px solid var(--mjc-encre);
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 18px;
	color: var(--mjc-encre);
}
.elementor .elementor-widget.mjc-p-form textarea.elementor-field-textual {
	min-height: 180px;
}
.elementor .elementor-widget.mjc-p-form .elementor-field-textual::placeholder {
	color: #767676;
}
.elementor .elementor-widget.mjc-p-form .elementor-button,
.elementor .elementor-widget.mjc-p-form .elementor-button:hover {
	min-height: 52px;
	padding: 12px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--mjc-prune);
	font-family: var(--mjc-titre);
	font-size: 19px;
	font-weight: 800;
	font-stretch: 90%;
	color: var(--mjc-blanc);
}
.elementor .elementor-widget.mjc-p-form .elementor-button:hover {
	background: var(--mjc-nuit);
}
@media (max-width: 900px) {
	html body .elementor .e-con.mjc-p-contact {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Fil d'Ariane du widget Elementor (page contact), sur fond sombre */
.elementor .elementor-widget.mjc-p-ariane-elementor {
	margin-bottom: 18px;
	font-size: 15px;
	color: var(--mjc-rose-discret);
}
.elementor .elementor-widget.mjc-p-ariane-elementor p {
	margin: 0;
}
.elementor .elementor-widget.mjc-p-ariane-elementor a {
	color: var(--mjc-blanc);
}

/* Fil d'Ariane dans une bande Elementor ([mjc_ariane]) */
.mjc-p-mandarine .mjc .mjc-ariane,
.mjc-p-mandarine .mjc .mjc-ariane a,
.mjc-p-mandarine .mjc .mjc-ariane a:hover,
.mjc-p-rose .mjc .mjc-ariane,
.mjc-p-rose .mjc .mjc-ariane a,
.mjc-p-blanc .mjc .mjc-ariane,
.mjc-p-blanc .mjc .mjc-ariane a {
	color: var(--mjc-nuit);
}

/* Mouvements réduits */
@media (prefers-reduced-motion: reduce) {
	.mjc *,
	.mjc *::before,
	.mjc *::after {
		transition-duration: .01ms !important;
		animation: none !important;
	}
}

/*
 * Liens de gestion sur le site (« Modifier ces sessions », « Ajouter une
 * annonce »…) : seulement pour une personne connectée qui peut modifier,
 * jamais pour les visiteurs (voir liens_gestion() dans l'extension).
 */
.mjc-gestion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 22px;
	margin: 14px 0 0;
	padding: 10px 14px;
	border: 2px dashed #C9A9BB;
	border-radius: 4px;
	background: var(--mjc-blanc);
	font-family: var(--mjc-texte);
	font-size: 15px;
	line-height: 1.3;
}
.mjc-gestion.mjc-gestion-simple {
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
}
html body .mjc-gestion a.mjc-gestion-lien,
html body .mjc-gestion a.mjc-gestion-lien:hover,
html body .mjc-gestion a.mjc-gestion-lien:focus {
	font-family: var(--mjc-texte);
	font-weight: 700;
	color: var(--mjc-prune);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
html body .mjc-gestion a.mjc-gestion-lien:hover {
	text-decoration-color: var(--mjc-mandarine);
}
.mjc-gestion-lien::before {
	display: inline-block;
	width: 1.1em;
	margin-right: .3em;
	font-weight: 800;
	text-align: center;
}
.mjc-gestion-modifier::before {
	content: "✎";
}
.mjc-gestion-ajouter::before {
	content: "+";
}
.mjc-offres > .mjc-gestion:first-child {
	margin: 0 0 16px;
}

/*
 * « À partir de 16 ans » (page BAFA) : le texte sur les trois points du
 * logo, comme la une de l'accueil (option 1, Olivier le 29/10). Les disques
 * sont des dégradés du fond du widget : rien à régler dans Elementor, le
 * texte se modifie dans le widget « Éditeur de texte ».
 */
.elementor .elementor-widget.mjc-p-age {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 340px;
	background:
		radial-gradient(circle at calc(50% + 135px) calc(50% - 115px), var(--mjc-prune) 16.5px, transparent 17.5px),
		radial-gradient(circle at calc(50% + 130px) calc(50% + 100px), #F6B8D3 59.5px, transparent 60.5px),
		radial-gradient(circle at 50% 50%, var(--mjc-mandarine) 144.5px, transparent 145.5px);
}
.elementor .elementor-widget.mjc-p-age p {
	margin: 0;
	font-family: var(--mjc-titre);
	line-height: .9;
	text-align: center;
	color: var(--mjc-nuit);
	transform: rotate(-6deg);
}
.elementor .elementor-widget.mjc-p-age .mjc-age-petit,
.elementor .elementor-widget.mjc-p-age .mjc-age-grand {
	display: block;
}
.elementor .elementor-widget.mjc-p-age .mjc-age-petit {
	font-size: 24px;
	font-weight: 800;
	font-stretch: 115%;
}
.elementor .elementor-widget.mjc-p-age .mjc-age-grand {
	margin-top: 4px;
	font-size: 88px;
	font-weight: 900;
	font-stretch: 66%;
}
@media (max-width: 767px) {
	.elementor .elementor-widget.mjc-p-age {
		min-height: 250px;
		background:
			radial-gradient(circle at calc(50% + 98px) calc(50% - 84px), var(--mjc-prune) 12.5px, transparent 13.5px),
			radial-gradient(circle at calc(50% + 95px) calc(50% + 74px), #F6B8D3 43.5px, transparent 44.5px),
			radial-gradient(circle at 50% 50%, var(--mjc-mandarine) 105.5px, transparent 106.5px);
	}
	.elementor .elementor-widget.mjc-p-age .mjc-age-petit {
		font-size: 18px;
	}
	.elementor .elementor-widget.mjc-p-age .mjc-age-grand {
		font-size: 64px;
	}
}
