/* JMK fallback scopé - s'applique uniquement aux pages marquées <body class="jmk-fix"> 
   (pages dont le CSS Elementor par-page est manquant). Aucun effet sur les autres. */

/* === Variables thème === */
body.jmk-fix {
	--jmk-navy: #121225;
	--jmk-red: #e20d35;
	--jmk-red-hover: #b00a29;
	--jmk-text: #1c1c1c;
	--jmk-muted: #555;
	--jmk-bg: #ffffff;
}

/* === Reset positionnements absolus hérités === */
body.jmk-fix .elementor-element,
body.jmk-fix .elementor-widget,
body.jmk-fix .elementor-section,
body.jmk-fix .elementor-container,
body.jmk-fix .e-con,
body.jmk-fix .e-con-inner {
	position: static;
	transform: none;
	max-width: 100%;
	box-sizing: border-box;
}

/* === Containers verticaux par défaut === */
body.jmk-fix .e-con,
body.jmk-fix .e-con-boxed,
body.jmk-fix .e-con-full,
body.jmk-fix .elementor-section,
body.jmk-fix .elementor-container {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 1.25rem;
}

body.jmk-fix .e-con-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

/* === Widgets en flux vertical === */
body.jmk-fix .elementor-widget {
	display: block;
	width: 100%;
	margin: 0 0 1rem 0;
	clear: both;
}

/* === Typo === */
body.jmk-fix {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--jmk-text);
	background: var(--jmk-bg);
	line-height: 1.6;
	margin: 0;
}

body.jmk-fix h1,
body.jmk-fix h2,
body.jmk-fix h3,
body.jmk-fix .elementor-heading-title {
	color: var(--jmk-navy);
	margin: 0.6em 0 0.3em;
	line-height: 1.2;
	font-weight: 700;
}

body.jmk-fix h1,
body.jmk-fix .elementor-element h1 .elementor-heading-title { font-size: clamp(1.8rem, 4vw, 2.6rem); }
body.jmk-fix h2,
body.jmk-fix .elementor-element h2 .elementor-heading-title { font-size: clamp(1.4rem, 3vw, 1.9rem); }
body.jmk-fix h3 { font-size: clamp(1.15rem, 2.4vw, 1.5rem); }

body.jmk-fix p { margin: 0 0 1em; line-height: 1.65; }
body.jmk-fix a { color: var(--jmk-red); text-decoration: none; }
body.jmk-fix a:hover { color: var(--jmk-red-hover); text-decoration: underline; }

/* === Boutons === */
body.jmk-fix .elementor-button,
body.jmk-fix .elementor-widget-button .elementor-button-link,
body.jmk-fix a.elementor-button-link {
	display: inline-block;
	padding: 0.7em 1.6em;
	background: var(--jmk-red);
	color: #fff !important;
	border-radius: 999px;
	border: none;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s;
}
body.jmk-fix .elementor-button:hover { background: var(--jmk-red-hover); }

/* === Images === */
body.jmk-fix img { max-width: 100%; height: auto; display: block; }

/* === Header (top bar avec logo + Contact) === */
body.jmk-fix header,
body.jmk-fix .elementor-location-header,
body.jmk-fix [data-elementor-type="header"] {
	background: var(--jmk-navy);
	color: #fff;
        padding: 0;
        position: relative;
        z-index: 100;
}
body.jmk-fix header .elementor-section,
body.jmk-fix .elementor-location-header > .e-con,
body.jmk-fix [data-elementor-type="header"] > .e-con {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0;
        padding: 0;
        min-height: 113px;
}
/* Rangée interne du header : flex horizontal (logo + nav + Contact) */
body.jmk-fix .elementor-element-0b69c26 {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        min-height: 113px !important;
        width: 100% !important;
        padding: 0 1.5rem !important;
        gap: 0 !important;
body.jmk-fix .elementor-location-header .elementor-button {
	background: var(--jmk-red);
}

/* === Hero (premier container du main) === */
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type,
body.jmk-fix main.elementor > .e-con:first-of-type,
body.jmk-fix main.elementor > .elementor-section:first-of-type {
        background: var(--jmk-navy);
        color: #fff;
        padding: 3rem 1.5rem;
}
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type h1,
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type h2,
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type .elementor-heading-title,
body.jmk-fix main.elementor > .e-con:first-of-type h1,
body.jmk-fix main.elementor > .e-con:first-of-type h2,
body.jmk-fix main.elementor > .e-con:first-of-type .elementor-heading-title,
body.jmk-fix main.elementor > .elementor-section:first-of-type h1,
body.jmk-fix main.elementor > .elementor-section:first-of-type .elementor-heading-title {
        color: #fff;
}
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type p,
body.jmk-fix main.elementor > .elementor-section:first-of-type p {
	color: #e6e6ee;
}

/* Badge "Services" au-dessus du titre */
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type .elementor-element-2771fa70,
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:first-of-type [class*="elementor-element"]:first-child,
body.jmk-fix main.elementor > .e-con:first-of-type .elementor-element-2771fa70,
body.jmk-fix main.elementor > .e-con:first-of-type [class*="elementor-element"]:first-child {
	color: var(--jmk-red) !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.85rem;
	font-weight: 700;
}

/* === Sections de contenu après le hero === */
body.jmk-fix [data-elementor-type="wp-page"] > .e-con:not(:first-of-type),
body.jmk-fix main.elementor > .e-con:not(:first-of-type),
body.jmk-fix main.elementor > .elementor-section:not(:first-of-type) {
	background: #fff;
	color: var(--jmk-text);
	padding: 2rem 1.5rem;
}

/* === Footer === */
body.jmk-fix footer,
body.jmk-fix .elementor-location-footer,
body.jmk-fix [data-elementor-type="footer"] {
	background: var(--jmk-navy);
	color: #fff;
	padding: 2.5rem 1.5rem;
}
body.jmk-fix footer a,
body.jmk-fix .elementor-location-footer a { color: #fff; }
body.jmk-fix footer h1,
body.jmk-fix footer h2,
body.jmk-fix footer h3,
body.jmk-fix footer .elementor-heading-title,
body.jmk-fix .elementor-location-footer .elementor-heading-title { color: #fff; }

/* === Filariane masqué === */
body.jmk-fix .filariane { display: none; }

/* === Cards / membres === */
body.jmk-fix .bdt-member { text-align: center; padding: 1rem; }
body.jmk-fix .bdt-member-name { display: block; font-weight: 700; margin-top: 0.5rem; color: var(--jmk-navy); }
body.jmk-fix .bdt-member-role { display: block; color: var(--jmk-muted); font-size: 0.9rem; }

/* === Empêche tout chevauchement === */
body.jmk-fix * + * { clear: none; }
body.jmk-fix .elementor-widget + .elementor-widget { margin-top: 0.5rem; }
