/* =========================================================
   Le Monde Incendie — design (reproduction du rendu Avada)
   Tokens → sections : base, header, hero, grille, widgets, footer
   ========================================================= */
:root{--lmi-fs-ptb:60px;--lmi-fs-h3:20px;--lmi-fs-hero-title:60px;--lmi-fs-hero-caption:24px;--lmi-fs-title:32px;--lmi-fs-cbhead:16px;--lmi-fs-h1:34px;}
@media (max-width:1100px){:root{--lmi-fs-ptb:calc(15.8528px + 4.0134vw);--lmi-fs-h3:calc(18.6623px + 0.1216vw);--lmi-fs-hero-title:calc(-1.3175px + 5.5743vw);--lmi-fs-hero-caption:calc(16.2007px + 0.709vw);--lmi-fs-title:calc(17.7993px + 1.291vw);--lmi-fs-cbhead:calc(18.9431px + -0.2676vw);--lmi-fs-h1:calc(17.6656px + 1.4849vw);}}
@media (max-width:800px){:root{--lmi-fs-ptb:calc(6px + 6.75vw);--lmi-fs-h3:calc(18.3637px + 0.2045vw);--lmi-fs-hero-title:calc(-15px + 9.375vw);--lmi-fs-hero-caption:calc(14.4546px + 1.1932vw);--lmi-fs-title:calc(14.6546px + 2.1682vw);--lmi-fs-cbhead:calc(19.6px + -0.45vw);--lmi-fs-h1:calc(14.0363px + 2.4955vw);}}

:root {
	--lmi-primary: #fed03d;
	--lmi-primary-dark: #ffc107;
	--lmi-text: #747474;
	--lmi-heading: #333333;
	--lmi-light: #f5f5f5;
	--lmi-footer: #1e1e1e;
	--lmi-font: Raleway, Arial, Helvetica, sans-serif;
	--lmi-font-alt: Montserrat, Arial, Helvetica, sans-serif;
	--lmi-header-h: 180px;
	--lmi-content-w: 1170px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: #fff;
	color: var(--lmi-text);
	font: 500 15px/2.27 var(--lmi-font);
	-webkit-font-smoothing: antialiased;
	letter-spacing: normal;
	overflow-x: hidden;
}
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
:where(.wp-site-blocks) > *, .lmi-main, .lmi-main > * { margin-block-start: 0; margin-block-end: 0; }
.lmi-main { display: block; padding: 0 30px !important; margin: 0 !important; max-width: none !important; overflow-x: clip; }
.lmi-main > .wp-block-html, .lmi-main > .wp-block-shortcode { margin: 0; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: #333; text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
.lmi-main a:hover { color: var(--lmi-primary); }
p { margin: 0 0 20px; }
ul, ol { margin: 15px 0; padding-left: 40px; }
h1, h2, h3, h4, h5, h6 { color: #333; font-family: var(--lmi-font); margin: 0; }
h1 { font-size: 34px; font-weight: 800; line-height: 1.4; letter-spacing: 2px; margin: .67em 0; }
h2 { font-size: 32px; font-weight: 400; line-height: 1.31; letter-spacing: 1px; margin: 0 0 .5em; }
h3 { font-size: 20px; font-weight: 400; line-height: 1.45; letter-spacing: 1px; margin: 1em 0; }
h4 { font-size: 18px; font-weight: 400; line-height: 1.52; letter-spacing: 0; margin: 1.33em 0; }
h5 { font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: 0; margin: 1.67em 0; }
h6 { font-size: 13px; font-weight: 400; line-height: 1.5; letter-spacing: 0; margin: 2.33em 0; }
strong, b { font-weight: 700; }
/* Twenty Twenty-Five équilibre les retours à la ligne des titres : on garde le comportement historique */
h1, h2, h3, h4, h5, h6, p, li, figcaption { text-wrap: wrap; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* ---------- Boutons ---------- */
.lmi-button,
.lmi-menu .lmi-button,
.wpcf7-submit {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	font: 400 14px/17px var(--lmi-font-alt);
	letter-spacing: 2px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	padding: 13px 29px;
	border-style: solid;
	border-width: var(--button_border_width-top, 0) var(--button_border_width-right, 0) var(--button_border_width-bottom, 0) var(--button_border_width-left, 0);
	border-color: var(--button_border_color, transparent);
	background: var(--button_gradient_top_color, var(--lmi-primary));
	color: var(--button_accent_color, #333);
	border-radius: 0;
	cursor: pointer;
	transition: all .2s ease;
	width: auto;
}
.lmi-button:hover, .lmi-main a.lmi-button:hover, a.lmi-button:hover {
	background: var(--button_gradient_top_color_hover, #333);
	color: var(--button_accent_hover_color, #fff);
	border-color: var(--button_border_hover_color, transparent);
}
.lmi-button-xlarge, .button-xlarge { font-size: 18px; line-height: 21px; padding: 17px 40px; }
.lmi-button-span-yes { display: block; width: 100%; }
.lmi-button-text { display: inline; }
.lmi-has-button-gradient { background-image: none; }

/* ---------- Header ---------- */
.lmi-site-header { margin: 0; position: relative; z-index: 20; }
.lmi-header-wrapper { position: relative; width: 100%; z-index: 210; }
@media (min-width: 1101px) {
	.lmi-site-header { position: sticky; top: 0; }
	.lmi-site-header.is-stuck .lmi-header { box-shadow: 0 1px 3px rgba(0,0,0,.118); }
}
.lmi-header { background: #fff; padding: 0 30px; width: 100%; }
.lmi-header-row {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 4%;
	height: var(--lmi-header-h);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.lmi-logo { flex: 0 0 auto; }
.lmi-logo-link { display: block; line-height: 0; }
.lmi-standard-logo { width: 320px; height: 180px; max-width: none; }
.lmi-mobile-logo { display: none; width: 80px; height: 45px; }
.lmi-main-menu { height: 130px; display: flex; align-items: center; }
.lmi-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; height: 130px; }
.lmi-menu > li { margin: 0; padding: 0 45px 0 0; height: 130px; display: flex; align-items: center; }
.lmi-menu > li:last-child { padding-right: 0; }
.lmi-menu > li > a {
	display: flex; align-items: center; height: 130px;
	font: 400 14px/14px var(--lmi-font-alt);
	letter-spacing: 1px;
	color: #333;
}
.lmi-menu > li > a:hover,
.lmi-menu > li.current-menu-item > a,
.lmi-menu > li.current_page_item > a { color: var(--lmi-primary); }
.lmi-menu > li.lmi-menu-item-button > a { color: #333; }
.lmi-menu .menu-text.lmi-button { background: var(--lmi-primary); color: #333; line-height: 17px; padding: 13px 29px; }
.lmi-menu > li.lmi-menu-item-button > a:hover .menu-text.lmi-button { background: #333; color: #fff; }
.lmi-mobile-menu-toggle { display: none; }
.lmi-mobile-nav { display: none; }

@media (max-width: 1100px) {
	:root { --lmi-header-h: 86px; }
	.lmi-header { padding: 20px 30px; }
	.lmi-header-row { height: auto; padding: 0; align-items: flex-start; min-height: 46px; }
	.lmi-standard-logo { display: none; }
	.lmi-mobile-logo { display: block; }
	.lmi-main-menu { display: none; }
	.lmi-mobile-menu-toggle {
		display: block; background: none; border: 0; padding: 0; margin: 25px 0 0 0;
		width: 21px; height: 21px; color: var(--lmi-primary); cursor: pointer; line-height: 0;
	}
	.lmi-mobile-nav { display: block; background: #f5f5f5; }
	.lmi-mobile-nav[hidden] { display: none; }
	.lmi-mobile-menu { list-style: none; margin: 0; padding: 0; }
	.lmi-mobile-menu li { margin: 0; padding: 0; }
	.lmi-mobile-menu a {
		display: block; height: 50px; line-height: 50px; padding: 0 12px 0 30px;
		font: 500 13px/50px var(--lmi-font); color: #333; background: #f5f5f5;
		border-bottom: 1px solid #fcfcfc;
	}
	.lmi-mobile-menu .menu-text { display: inline; }
	.lmi-mobile-menu li.current-menu-item > a,
	.lmi-mobile-menu a:hover { background: var(--lmi-primary); color: #333; }
}

/* ---------- Hero (ancien slider Avada) ---------- */
.lmi-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	overflow: hidden;
	background: #000 var(--lmi-hero-bg) center / cover no-repeat;
	text-align: center;
	margin: 0;
}
.lmi-hero-full { height: calc(100vh - var(--lmi-header-h)); height: calc(100dvh - var(--lmi-header-h)); min-height: 500px; }
.lmi-hero-ratio { height: clamp(200px, 50vw, 800px); }
.lmi-hero-content { width: 100%; max-width: 1230px; padding: 0 30px; margin: 0 auto; }
.lmi-hero-title { margin: 0 0 14px; font-size: var(--lmi-fs-hero-title); line-height: 1.33; font-weight: 400; letter-spacing: 1px; color: #fff; text-transform: none; }
.lmi-hero-title strong { font-weight: 700; }
.lmi-hero-caption { display: inline-block; max-width: 100%; margin: 0 0 39px; font-size: var(--lmi-fs-hero-caption); line-height: 1.58; font-weight: 400; letter-spacing: 1px; color: var(--lmi-primary); }
.lmi-hero-buttons { display: flex; justify-content: center; gap: 19px; flex-wrap: wrap; }
.lmi-hero-btn-1 { --button_gradient_top_color: #333; --button_accent_color: #fff; --button_accent_hover_color: #333; --button_gradient_top_color_hover: var(--lmi-primary); --button_border_hover_color: #333; }
.lmi-hero-btn-2 { --button_gradient_top_color: var(--lmi-primary); --button_accent_color: #333; --button_accent_hover_color: #fff; --button_gradient_top_color_hover: #333; --button_border_hover_color: #fff; }
@media (max-width: 800px) {
	.lmi-hero-has-buttons .lmi-hero-content { padding-top: 57px; }
	.lmi-hero:not(.lmi-hero-has-buttons) .lmi-hero-content { padding-bottom: 19px; }
	.lmi-hero-title { margin-bottom: 36px; }
	.lmi-hero-caption { margin-bottom: 33px; }
	.lmi-hero-buttons { flex-direction: column; align-items: center; gap: 13px; }
	.lmi-hero .lmi-button-xlarge { font-size: 12px; line-height: 14px; padding: 9px 20px; }
	.lmi-hero-content { padding: 0 30px; }
}

/* ---------- Grille (sections / lignes / colonnes) ---------- */
.lmi-fullwidth {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	width: auto;
	margin: 0 -30px;
	background-color: var(--lmi-background-color, transparent);
	background-position: var(--lmi-background-position, left top);
	background-size: var(--lmi-background-size, auto);
	background-repeat: no-repeat;
	padding-top: var(--lmi-padding-top, 0);
	padding-bottom: var(--lmi-padding-bottom, 0);
	padding-left: var(--lmi-padding-left, 30px);
	padding-right: var(--lmi-padding-right, 30px);
	border-style: solid;
	border-color: transparent;
	border-width: var(--lmi-border-sizes-top, 0) var(--lmi-border-sizes-right, 0) var(--lmi-border-sizes-bottom, 0) var(--lmi-border-sizes-left, 0);
	overflow: visible;
}
.lmi-fullwidth > .lmi-row {
	flex: 1 1 0%;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
}
.lmi-fullwidth > .lmi-row[style^="width:"] { flex: 0 0 auto; }
.lmi-flex-align-items-flex-start { align-items: flex-start; }
.lmi-flex-align-items-stretch { align-items: stretch; }
.lmi-flex-align-items-center { align-items: center; }

.lmi-layout-column {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: var(--lmi-width-large, 100%);
	/* les variables de section ne doivent pas ruisseler dans les colonnes */
	--lmi-padding-top: initial; --lmi-padding-right: initial; --lmi-padding-bottom: initial; --lmi-padding-left: initial;
	--lmi-padding-top-medium: initial; --lmi-padding-right-medium: initial; --lmi-padding-bottom-medium: initial; --lmi-padding-left-medium: initial;
	--lmi-padding-top-small: initial; --lmi-padding-right-small: initial; --lmi-padding-bottom-small: initial; --lmi-padding-left-small: initial;
	margin-top: var(--lmi-margin-top-large, 0);
	margin-bottom: var(--lmi-margin-bottom-large, 0);
}
.lmi-column-wrapper {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	margin-left: var(--lmi-spacing-left-large, 0px);
	margin-right: var(--lmi-spacing-right-large, 0px);
	padding-top: var(--lmi-padding-top, 0px);
	padding-bottom: var(--lmi-padding-bottom, 0px);
	padding-left: var(--lmi-padding-left, 0px);
	padding-right: var(--lmi-padding-right, 0px);
	background-color: var(--lmi-bg-color, transparent);
}
.lmi-flex-justify-content-center { justify-content: center; }
.lmi-flex-justify-content-flex-start { justify-content: flex-start; }
.lmi-flex-align-self-flex-start { align-self: flex-start; }
.lmi-layout-column.lmi-flex-align-self-flex-start { align-self: flex-start; }

@media (max-width: 1024px) {
	.lmi-fullwidth {
		padding-top: var(--lmi-padding-top-medium, var(--lmi-padding-top, 0));
		padding-bottom: var(--lmi-padding-bottom-medium, var(--lmi-padding-bottom, 0));
		padding-left: var(--lmi-padding-left-medium, var(--lmi-padding-left, 30px));
		padding-right: var(--lmi-padding-right-medium, var(--lmi-padding-right, 30px));
	}
	.lmi-layout-column {
		width: var(--lmi-width-medium, var(--lmi-width-large, 100%));
		order: var(--lmi-order-medium, 0);
		margin-bottom: var(--lmi-margin-bottom-medium, var(--lmi-margin-bottom-large, 0));
	}
	.lmi-column-wrapper {
		margin-left: var(--lmi-spacing-left-medium, var(--lmi-spacing-left-large, 0px));
		margin-right: var(--lmi-spacing-right-medium, var(--lmi-spacing-right-large, 0px));
		padding-top: var(--lmi-padding-top-medium, var(--lmi-padding-top, 0px));
		padding-bottom: var(--lmi-padding-bottom-medium, var(--lmi-padding-bottom, 0px));
		padding-left: var(--lmi-padding-left-medium, var(--lmi-padding-left, 0px));
		padding-right: var(--lmi-padding-right-medium, var(--lmi-padding-right, 0px));
	}
}
@media (max-width: 640px) {
	.lmi-fullwidth {
		padding-top: var(--lmi-padding-top-small, var(--lmi-padding-top-medium, var(--lmi-padding-top, 0)));
		padding-bottom: var(--lmi-padding-bottom-small, var(--lmi-padding-bottom-medium, var(--lmi-padding-bottom, 0)));
		padding-left: var(--lmi-padding-left-small, var(--lmi-padding-left-medium, var(--lmi-padding-left, 30px)));
		padding-right: var(--lmi-padding-right-small, var(--lmi-padding-right-medium, var(--lmi-padding-right, 30px)));
	}
	.lmi-layout-column {
		width: var(--lmi-width-small, var(--lmi-width-medium, var(--lmi-width-large, 100%)));
		order: var(--lmi-order-small, var(--lmi-order-medium, 0));
		margin-bottom: var(--lmi-margin-bottom-small, var(--lmi-margin-bottom-medium, var(--lmi-margin-bottom-large, 0)));
	}
	.lmi-column-wrapper {
		margin-left: var(--lmi-spacing-left-small, var(--lmi-spacing-left-medium, var(--lmi-spacing-left-large, 0px)));
		margin-right: var(--lmi-spacing-right-small, var(--lmi-spacing-right-medium, var(--lmi-spacing-right-large, 0px)));
		padding-top: var(--lmi-padding-top-small, var(--lmi-padding-top-medium, var(--lmi-padding-top, 0px)));
		padding-bottom: var(--lmi-padding-bottom-small, var(--lmi-padding-bottom-medium, var(--lmi-padding-bottom, 0px)));
		padding-left: var(--lmi-padding-left-small, var(--lmi-padding-left-medium, var(--lmi-padding-left, 0px)));
		padding-right: var(--lmi-padding-right-small, var(--lmi-padding-right-medium, var(--lmi-padding-right, 0px)));
	}
}

/* ---------- Titres (widget) ---------- */
.lmi-title { --lmi-margin-bottom: initial; --lmi-margin-bottom-medium: initial; --lmi-margin-bottom-small: initial; margin: 0 0 var(--lmi-margin-bottom, 20px); position: relative; font-size: var(--lmi-fs-title); }
.lmi-title .lmi-title-heading { margin: 0; color: var(--lmi-text-color, #333); font-size: 1em; }
.lmi-title-center { text-align: center; }
@media (max-width: 1024px) { .lmi-title { margin-bottom: var(--lmi-margin-bottom-medium, var(--lmi-margin-bottom, 20px)); } }
@media (max-width: 640px) { .lmi-title { margin-bottom: var(--lmi-margin-bottom-small, var(--lmi-margin-bottom-medium, var(--lmi-margin-bottom, 20px))); } }
.lmi-title-size-one { font-size: var(--lmi-fs-h1); }
.lmi-title-size-two { font-size: var(--lmi-fs-title); }
.lmi-title-size-three { font-size: var(--lmi-fs-h3); }
.lmi-title-size-four { font-size: 18px; }
.lmi-title-size-five { font-size: 16px; }
.lmi-title.lmi-fs-60 { font-size: var(--lmi-fs-hero-title); }
.lmi-title.lmi-fs-34 { font-size: var(--lmi-fs-h1); }
.lmi-title.lmi-fs-32 { font-size: var(--lmi-fs-title); }
.lmi-title.lmi-fs-24 { font-size: var(--lmi-fs-hero-caption); }
.lmi-title.lmi-fs-15 { font-size: 15px; }
.lmi-title.lmi-fs-20 { font-size: var(--lmi-fs-h3); }
/* le contenu historique contient des h1/h2 imbriqués : ils deviennent frères du titre vide */
.lmi-title > h1 { font-size: 1em; line-height: 1.4; }
.lmi-title > h2 { font-size: 1em; line-height: 1.31; margin: 0 0 .5em; }
/* titres fluides des blocs de texte (l'ancien builder ignorait leur taille figée) */
.lmi-text h2[style*="font-size"] { font-size: var(--lmi-fs-title) !important; line-height: 1.31 !important; }

/* ---------- Séparateur ---------- */
.lmi-separator { display: block; }
.lmi-separator-border { border-top-style: solid; border-color: var(--lmi-sep-color, #fed03d); }
.lmi-separator-border.sep-single { border-bottom: 0; border-left: 0; border-right: 0; }
.lmi-separator-border.sep-double { border-bottom-style: solid; border-left: 0; border-right: 0; border-color: var(--lmi-sep-color, #fed03d); height: 6px; box-sizing: content-box; }

/* ---------- Texte ---------- */
.lmi-text { color: var(--lmi-text-color, #747474); text-transform: var(--lmi-text-transform, none); }
.lmi-text h2 { font-size: var(--lmi-fs-title); line-height: 1.31; }
.lmi-text h3 { font-size: var(--lmi-fs-h3); line-height: 1.45; margin: 20px 0; }
.lmi-text li { margin: 0; }

/* ---------- Image ---------- */
.lmi-image-element { display: flex; justify-content: flex-start; margin-bottom: var(--lmi-margin-bottom, 0); }
.lmi-image-element[style*="text-align:center"], .lmi-image-element[style*="text-align: center"] { justify-content: center; }
.lmi-image-element[style*="text-align:right"], .lmi-image-element[style*="text-align: right"] { justify-content: flex-end; }
.lmi-imageframe { display: block; position: relative; max-width: 100%; line-height: 0; }
.lmi-imageframe img { display: block; max-width: 100%; height: auto; }
.lmi-image-frame.imageframe-liftup .lmi-imageframe { transition: transform .3s ease, box-shadow .3s ease; }
.imageframe-liftup:hover .lmi-imageframe { transform: translateY(-4px); box-shadow: 0 10px 20px rgba(0,0,0,.2); }
.imageframe-liftup { border-radius: var(--lmi-liftup-border-radius, 0); display: block; max-width: 100%; }

/* ---------- Flip boxes ---------- */
.lmi-flip-boxes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; margin: 0 -15px 25px; width: calc(100% + 30px); }
.lmi-flip-box-wrapper { padding: 0 15px 15px; display: flex; min-width: 0; }
.lmi-flip-box { position: relative; width: 100%; min-height: 1px; perspective: 1000px; }
.lmi-flip-box .flip-box-inner-wrapper { position: relative; width: 100%; height: 100%; display: grid; transform-style: preserve-3d; transition: transform .8s; }
.lmi-flip-box:hover .flip-box-inner-wrapper,
.lmi-flip-box:focus .flip-box-inner-wrapper,
.lmi-flip-box.is-flipped .flip-box-inner-wrapper { transform: rotateY(180deg); }
.lmi-flip-box .flip-box-front,
.lmi-flip-box .flip-box-back {
	grid-area: 1 / 1; width: 100%;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
	padding: 27px 20px; border: 1px solid rgba(255,255,255,0); border-radius: 10px;
	display: flex; align-items: center; justify-content: center; text-align: center;
	box-sizing: border-box;
}
.lmi-flip-box .flip-box-front { background: #f5f5f5; color: #747474; }
.lmi-flip-box .flip-box-back { background: var(--lmi-background-color-back, #ffc107); color: #555; transform: rotateY(180deg); }
.flip-box-front-inner, .flip-box-back-inner { width: 100%; }
.flip-box-grafix { width: 64px; height: 64px; margin: 0 auto 10px; border: 1px solid #4a4e57; border-radius: 50%; background: #4a4e57; color: #fff; text-align: center; display: flex; align-items: center; justify-content: center; }
.flip-box-grafix i { font-size: 24px; line-height: 62px; color: #fff; }
.flip-box-heading { font-size: var(--lmi-fs-title); line-height: 1.31; font-weight: 400; letter-spacing: 1px; color: var(--lmi-title-front-color, #333); margin: 0; }
.flip-box-back p { color: #555; margin: 0 0 20px; }
.flip-box-back .lmi-button { margin: 0; }

/* ---------- Compteurs ---------- */
.lmi-counters-box { display: flex; flex-wrap: wrap; margin: 0 -7px; width: calc(100% + 14px); }
.lmi-counter-box { width: 33.3333%; padding: 0 7px; margin-bottom: 14px; text-align: center; }
.counter-box-container { padding: 20px; border: 1px solid rgba(255,255,255,0); text-align: center; }
.content-box-percentage.content-box-counter { font-size: 60px; line-height: 70px; height: 140px; font-weight: 500; color: var(--lmi-color, #ffc107); }
.counter-box-icon { display: block; font-size: 70px; line-height: 70px; width: 100%; color: var(--lmi-color, #ffc107); }
.lmi-counter-box .display-counter, .lmi-counter-box .unit { display: inline; line-height: 70px; }
.counter-box-content { font-size: 16px; line-height: 36.32px; color: var(--lmi-body-color, #ffc107); }

/* ---------- Content boxes ---------- */
.lmi-content-boxes { display: flex; flex-wrap: wrap; width: 100%; }
.lmi-content-boxes { margin: 20px -15px 60px; width: calc(100% + 30px); align-items: flex-start; }
.lmi-content-boxes .content-box-column { width: 25%; padding: 0 15px; margin-bottom: 20px; display: flow-root; }
.lmi-content-boxes.lmi-columns-2 .content-box-column { width: 50%; }
.content-box-wrapper { text-align: center; }
.content-box-wrapper .heading { margin-bottom: 15px; }
.content-boxes-icon-on-top .content-box-wrapper .icon { margin-bottom: 15px; display: flex; justify-content: center; height: 120px; }
.content-box-wrapper .icon i, .content-box-wrapper .icon .fontawesome-icon {
	display: block; margin: 0; width: 120px; height: 120px; border-radius: 50%;
	font-size: 60px; line-height: 120px; color: #fff; text-align: center;
	background-color: #333;
}
.content-box-column:nth-child(1) .icon i { background-color: #4ea4a5; }
.content-box-column:nth-child(2) .icon i { background-color: #4a5eb4; }
.content-box-column:nth-child(3) .icon i { background-color: #f1704c; }
.content-box-column:nth-child(4) .icon i { background-color: #8fc144; }
.content-box-heading { font-size: var(--lmi-fs-cbhead); line-height: 1.31; font-weight: 400; letter-spacing: 1px; color: #333; margin: 0; }
.content-container { margin: 0 0 20px; }
.content-container .content-box-heading { font-size: var(--lmi-fs-title); line-height: 1.31; margin: 0 0 .5em; }
.content-container .content-box-heading { min-height: 1.31em; margin-top: 20px; }
.content-container p { margin: 0; }

/* ---------- Checklist ---------- */
.lmi-checklist { list-style: none; margin: 0; padding: 0; }
.lmi-li-item { display: flex; align-items: flex-start; margin: 0; position: relative; font-size: 14px; line-height: 23.8px; }
.lmi-li-item .icon-wrapper { flex: 0 0 23.8px; width: 23.8px; height: 23.8px; margin-right: 9.8px; text-align: center; }
.lmi-li-icon { font-size: 14px; line-height: 23.8px; color: #717171; }
.lmi-li-item-content { flex: 1; font-size: 14px; line-height: 23.8px; }
.lmi-footer-col .lmi-li-item-content p, .lmi-li-item-content p { margin: 0; font-size: inherit; line-height: inherit; }
.lmi-li-item { padding: 4.9px 0; }
.lmi-li-item:first-child { padding-top: 0; }

/* ---------- Icônes (Font Awesome 5 Free, polices locales) ---------- */
i.fas, i.far, .lmi-li-icon, .fontawesome-icon { font-style: normal; font-family: "LMI Icons"; font-weight: 900; display: inline-block; text-rendering: auto; -webkit-font-smoothing: antialiased; line-height: 1; }
i.far { font-family: "LMI Icons Regular"; font-weight: 400; }
i.fas::before, i.far::before { display: inline-block; }
.fa-tools::before { content: "\f7d9"; }
.fa-car::before { content: "\f1b9"; }
.fa-users::before { content: "\f0c0"; }
.fa-warehouse::before { content: "\f494"; }
.fa-fire-extinguisher::before { content: "\f134"; }
.fa-user-check::before { content: "\f4fc"; }
.fa-angle-double-up::before { content: "\f102"; }
.fa-check-circle::before { content: "\f058"; }
.fa-clock::before { content: "\f017"; }
.fa-donate::before { content: "\f4b9"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-hand-sparkles::before { content: "\e05d"; }
.fa-home::before { content: "\f015"; }
.fa-phone-alt::before { content: "\f879"; }
.fa-phone::before { content: "\f095"; }
.fa-globe::before { content: "\f0ac"; }

/* ---------- Carrousel de partenaires ---------- */
.lmi-image-carousel { margin: 0 0 40px; padding-bottom: 16px; overflow: hidden; }
.lmi-carousel { overflow: hidden; }
.lmi-image-carousel-wrapper { display: flex; flex-wrap: nowrap; align-items: center; gap: 40px; width: 100%; will-change: transform; }
.lmi-carousel { --lmi-slides: 5; }
@media (max-width: 1023px) { .lmi-carousel { --lmi-slides: 4; } }
@media (max-width: 639px) { .lmi-carousel { --lmi-slides: 2; } }
.lmi-image-carousel-wrapper .swiper-slide { flex: 0 0 auto; margin: 0; width: calc((100% - (var(--lmi-slides) - 1) * 40px) / var(--lmi-slides)); height: 119px; display: flex; align-items: center; justify-content: center; }
.lmi-carousel-item-wrapper, .lmi-image-wrapper { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; line-height: 0; }
.lmi-image-carousel-wrapper img { display: block; width: auto; height: auto; max-width: 100%; max-height: 115px; }

/* ---------- Formulaires (Contact Form 7) ---------- */
.wpcf7 { width: 100%; }
.wpcf7 form p { margin: 0 0 20px; }
.wpcf7 label { display: inline; font: 500 15px/34.05px var(--lmi-font); color: #747474; }
.wpcf7 .wpcf7-form-control-wrap { display: inline; position: relative; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 input[type=url], .wpcf7 input[type=number], .wpcf7 textarea, .wpcf7 select {
	width: 100%; height: 50px; padding: 0 15px; font: 400 13px var(--lmi-font); color: #333;
	background: #fbfbfb; border: 1px solid #ddd; border-radius: 0; outline: 0; box-shadow: none;
	transition: border-color .2s;
}
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 input[type=url], .wpcf7 input[type=number], .wpcf7 textarea { display: inline-block; vertical-align: baseline; }
.wpcf7 textarea { display: block; height: 150px; padding: 8px 15px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border-color: #fed03d; }
.wpcf7-submit { border: 0; width: auto; }
.wpcf7-not-valid-tip { color: #dc3232; font-size: 13px; }
.wpcf7 .wpcf7-response-output { margin: 20px 0 0; padding: 10px 15px; font-size: 14px; border: 2px solid #00a0d2; }
.wpcf7 form p { position: relative; }
.wpcf7 .wpcf7-spinner { position: absolute; margin: 9px 0 0 12px; }
.wpcf7 form .lmi-alert { display: none; }

/* ---------- Pied de page ---------- */
.lmi-footer { background: #1e1e1e; }
.lmi-footer-widget-area { background: #1e1e1e; padding: 80px 30px 70px; color: #747474; }
.lmi-footer-row { max-width: none; margin: 0 !important; padding: 0 4% 12px; display: block; }
.lmi-footer-row::after { content: ""; display: block; clear: both; }
.lmi-footer-cols { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 -15px; width: calc(100% + 30px); }
.lmi-footer-col { width: 25%; padding: 0 15px; font-size: 15px; line-height: 2.27; display: flow-root; }
.lmi-footer-col a { color: #747474; }
.lmi-footer-col img { max-width: 100%; height: auto; }
.lmi-footer .widget-title { font: 700 15px/1.5 var(--lmi-font-alt); letter-spacing: 0; color: var(--lmi-primary); margin: 0 0 28px; text-transform: none; }
.lmi-footer-sep { margin-top: 15px; height: 0; }
.lmi-footer-col > p { margin: 0 0 15px; }
.lmi-footer-copyright-area { background: #111; padding: 18px 30px 16px; font-size: 11px; line-height: 24.97px; color: #545454; }
.lmi-footer-copyright-area .lmi-row { margin: 0 auto; padding: 0 4%; }
.lmi-footer-copyright-area a { color: #545454; }
.lmi-footer-copyright-area a:hover { color: var(--lmi-primary); }
.lmi-copyright-notice { text-align: left; }
.lmi-copyright-notice > div { display: block; }

.lmi-to-top { position: fixed; right: 75px; bottom: 0; width: 48px; height: 35px; background: #333; border-radius: 4px 4px 0 0; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; z-index: 100000; display: block; }
.lmi-to-top::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: translate(-50%,-35%) rotate(45deg); }
.lmi-to-top.is-visible { opacity: .9; visibility: visible; }
@media (max-width: 1100px) { .lmi-to-top { width: 44px; height: 44px; bottom: 30px; border-radius: 4px; } }

/* ---------- Colonnes responsives des widgets ---------- */
@media (max-width: 1100px) {
	.lmi-footer-row, .lmi-footer-copyright-area .lmi-row { padding-left: 0; padding-right: 0; }
}
@media (max-width: 1024px) {
	.lmi-counter-box { padding: 0 15px; }
}
@media (min-width: 768px) and (max-width: 800px) {
	.lmi-footer-col:nth-child(-n+3) { margin-bottom: 50px; }
}
@media (min-width: 768px) and (max-width: 900px) {
	.content-boxes-icon-with-title .content-box-wrapper { margin-bottom: 20px; }
}
@media (max-width: 900px) {
	.lmi-flip-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lmi-content-boxes .content-box-column { width: 50%; margin-bottom: 55px; }
	.lmi-footer-col { width: 50%; }
}
@media (max-width: 767px) {
	.lmi-flip-boxes { grid-template-columns: minmax(0, 1fr); }
	.lmi-content-boxes .content-box-column, .lmi-content-boxes.lmi-columns-2 .content-box-column, .lmi-counter-box, .lmi-footer-col { width: 100%; }
	.content-container { margin-bottom: 0; }
	.content-container .content-box-heading { margin-top: 8.5px; }
	.lmi-footer-col { margin-bottom: 50px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ---------- Équipe (person), réseaux sociaux ---------- */
.lmi-person { text-align: center; }
.lmi-person .person-desc { background: #fff; padding: 40px; text-align: center; }
.lmi-person .person-author-wrapper { display: block; }
.lmi-person .person-name, .lmi-person .person-title { display: block; font-size: 18px; line-height: 27.36px; color: #333; }
.lmi-social-networks { margin-top: 20px; }
.lmi-social-networks-wrapper { display: block; text-align: center; line-height: 0; }
.lmi-social-network-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 8px; margin: 0 5px 10px; border-radius: 4px; background: var(--lmi-primary); color: #fff; font-size: 16px; line-height: 16px; text-decoration: none; }
.lmi-main a.lmi-social-network-icon:hover { color: #fff; background: #333; }
.lmi-social-network-icon::before { font-family: "LMI Brands"; font-weight: 400; font-style: normal; }
.lmi-linkedin::before { content: "\f0e1"; }
.person-content { margin-top: 25px; }

/* ---------- Séparateurs de section (courbes) ---------- */
.lmi-section-separator { position: relative; height: var(--lmi-divider-height, 99px); width: 100%; overflow: visible; }
.lmi-section-separator-svg { position: relative; }
.lmi-section-separator-svg svg { display: block; width: 100%; height: var(--lmi-divider-height, 99px); }
.lmi-section-separator-spacer { display: none; }

/* ---------- Témoignages ---------- */
.lmi-testimonials { position: relative; color: var(--lmi-textcolor, #fff); }
.lmi-testimonials .reviews { position: relative; }
.lmi-testimonials .review { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; transition: opacity .5s ease; text-align: center; }
.lmi-testimonials .review.active-testimonial { position: relative; opacity: 1; }
.testimonial-thumbnail { width: 150px; height: 150px; margin: 0 auto 24px; }
.testimonial-thumbnail img { display: block; width: 150px; height: 150px; border-radius: 50%; object-fit: cover; }
.lmi-testimonials blockquote { margin: 0; padding: 0; border: 0; text-align: left; }
.lmi-quote-content { color: var(--lmi-textcolor, #fff); line-height: 30px; }
.lmi-quote-content p { margin: 0; }
.lmi-testimonials .author { margin: 24px 0 0; text-align: center; font-size: 18px; line-height: 40.86px; letter-spacing: 2px; color: #fff; }
.lmi-testimonials .company-name { font-weight: 500; }
.lmi-testimonials .company-name strong { font-weight: 500; }

/* ---------- Bandeau « reading box » + formulaire de devis ---------- */
.reading-box-container { margin: 0 0 var(--lmi-margin-bottom, 0); }
.reading-box { background-color: #fed03d; padding: 28px 28px 27px 31px; text-align: center; position: relative; }
.reading-box h2 { margin: 0; text-align: center; }
.lmi-devis-form { display: flex; flex-direction: column; padding: 0 30px; }
.lmi-devis-form .lmi-form-cols { display: flex; justify-content: space-between; gap: 0 4%; }
.lmi-devis-form .lmi-form-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.lmi-devis-form .lmi-form-field { margin: 15px 0; position: relative; }
.lmi-devis-form label { display: inline-block; margin: 0 0 9.75px; font: 500 15px/normal var(--lmi-font); color: #747474; text-transform: uppercase; }
.lmi-devis-form abbr { text-decoration: none; border: 0; }
.lmi-devis-form .wpcf7-form-control-wrap { display: block; }
.lmi-devis-form input[type=text], .lmi-devis-form input[type=email], .lmi-devis-form input[type=tel] { display: block; width: 100%; height: 50px; padding: 0 13px; }
.lmi-devis-form textarea { display: block; width: 100%; height: 88px; padding: 13px; resize: vertical; }
.lmi-devis-form .lmi-form-submit { margin-bottom: 0; }
.lmi-devis-form .wpcf7-submit { display: inline-flex; }
@media (max-width: 640px) { .lmi-devis-form .lmi-form-cols { display: block; } }

/* ---------- Pages standards : bandeau de titre + contenu ---------- */
.lmi-page-title-bar { background: #333; padding: 0 30px; height: 250px; display: flex; align-items: center; justify-content: center; }
.lmi-title-bar-row { width: 100%; max-width: 1170px; margin: 0 auto; }
.lmi-page-title-bar h1 { margin: 0; text-align: center; color: #fff; font-size: var(--lmi-fs-ptb); line-height: 1.4; font-weight: 800; letter-spacing: 2px; }
.lmi-page-main { background: #fff; padding: 80px 30px !important; }
.lmi-page-content { max-width: 1170px; margin: 0 auto; }
.lmi-page-content > .wp-block-post-content { max-width: none; padding: 0; margin: 0; }
.lmi-page-content a { text-decoration: none; }
@media (max-width: 1000px) { .lmi-page-title-bar { padding: 5px 30px; } }
@media (max-width: 640px) { .lmi-page-main .lmi-page-content { margin-bottom: 50px; } }

/* ---------- Boîtes de contenu : icône à gauche du titre (page Contact) ---------- */
.content-boxes-icon-with-title .content-box-wrapper { background: #fff; padding: 35px; text-align: left; }
.content-boxes-icon-with-title .content-box-wrapper .heading { display: flex; align-items: center; margin-bottom: 15px; }
.content-boxes-icon-with-title .content-box-wrapper .icon { flex: 0 0 auto; margin: 0; }
.content-boxes-icon-with-title .content-box-wrapper .icon i { width: 60px; height: 60px; font-size: 30px; line-height: 60px; margin: 0 20px 0 0; background-color: #ffc107; color: #fff; }
.content-boxes-icon-with-title .content-box-heading { margin: 0; text-align: left; }
.content-boxes-icon-with-title .content-container { text-align: left; margin-bottom: 20px; }
.content-boxes-icon-with-title .content-container h4 { margin: 23.94px 0; }
.content-boxes-icon-with-title .content-container a { color: #333; }

.lmi-clearfix { clear: both; }
.lmi-clearfix::after { content: ""; display: table; clear: both; }

/* contenu éditable des pages standards : rétablit les marges de blocs écrasées par le gabarit de blocs */
.lmi-page-content .wp-block-post-content > p { margin: 0 0 20px; }
.lmi-page-content .wp-block-post-content > ul, .lmi-page-content .wp-block-post-content > ol { margin: 15px 0; }
.lmi-page-content .wp-block-post-content > h1, .lmi-page-content .wp-block-post-content > h2, .lmi-page-content .wp-block-post-content > h3, .lmi-page-content .wp-block-post-content > h4 { margin-top: 0; margin-bottom: .83em; }

.lmi-mobile-menu-toggle:focus:not(:focus-visible) { outline: 0; }
.lmi-mobile-menu-toggle:focus-visible { outline: 2px solid var(--lmi-primary); outline-offset: 4px; }
