
/* ============================================================
 * COMBI PATCH v3.2.0 — PRIORITÉ AUX RÉGLAGES ELEMENTOR
 * ------------------------------------------------------------
 * Les styles définis par l'utilisateur dans Elementor (via les
 * "selectors" des widgets) doivent TOUJOURS gagner. Elementor
 * génère du CSS sous la forme :
 *   body.elementor-page .elementor-element.elementor-element-XXX .lv-...
 * Cette spécificité (0,4,1+) bat naturellement nos sélecteurs de
 * base SANS !important. Ce commentaire documente le contrat :
 * - CSS du plugin = valeurs PAR DÉFAUT (spécificité modérée)
 * - Réglages Elementor = surcharge utilisateur (spécificité haute)
 * Aucun !important sur les propriétés stylables = liberté totale.
 * ============================================================ */
/* ============================================================
 * LABO VAN WIDGETS — ARMURE CSS FINALE v3.0.9
 * Fichier chargé EN DERNIER pour battre tous les conflits Rife Free
 * Sélecteurs ultra-spécifiques (body + html) pour priorité maximale
 * ============================================================ */

/* ============================================================
 * FIX v3.1.0 — SVG INLINE (remplacement Font Awesome)
 * ============================================================
 * Tous les widgets utilisent désormais des SVG inline via la
 * classe LV_Icons. Ce CSS garantit que les SVG :
 * - Héritent de la couleur du parent (fill: currentColor)
 * - S'adaptent à la taille du container (font-size + width 1em)
 * - Conservent leur ratio (aspect-ratio)
 * ============================================================ */

html body [class*="elementor-widget-lv_"] svg {
	fill: currentColor;
	display: inline-block;
	vertical-align: middle;
}

/* SVG dans les containers d'icônes : taille adaptée au font-size du parent */
html body [class*="elementor-widget-lv_"] .lv-cc__top-icon svg,
html body [class*="elementor-widget-lv_"] .lv-cc__title-icon-wrap svg,
html body [class*="elementor-widget-lv_"] .lv-use-case-item__icon svg,
html body [class*="elementor-widget-lv_"] .lv-difference-card__icon svg,
html body [class*="elementor-widget-lv_"] .lv-bottom-nav__icon-wrap svg,
html body [class*="elementor-widget-lv_"] .lv-contact-method__icon svg,
html body [class*="elementor-widget-lv_"] .lv-option-item__icon svg,
html body [class*="elementor-widget-lv_"] .lv-formula-card__icon svg,
html body [class*="elementor-widget-lv_"] .lv-footer-social svg,
html body [class*="elementor-widget-lv_"] .lv-header__cta-icon svg {
	width: 1em;
	height: 1em;
	max-width: 100%;
	max-height: 100%;
}

/* ============================================================
 * FIX v3.0.11 — FONT AWESOME : FORCER LA FONT-FAMILY (renforcé)
 * ============================================================
 * Sélecteurs hyper-spécifiques pour battre Safari iOS qui est
 * plus tatillon sur la hiérarchie CSS qu'un Chrome desktop.
 * Ajout de html body en préfixe + sélecteurs sur Elementor.
 * ============================================================ */

html body i.fa, html body i.fas, html body i.far, html body i.fab,
html body i.fad, html body i.fal,
html body .fa::before, html body .fas::before,
html body .far::before, html body .fab::before,
html body .elementor i.fa, html body .elementor i.fas,
html body .elementor i.far, html body .elementor i.fab,
html body .elementor .fa::before, html body .elementor .fas::before,
html body .elementor .far::before, html body .elementor .fab::before,
html body [class*="elementor-widget-lv_"] i.fa,
html body [class*="elementor-widget-lv_"] i.fas,
html body [class*="elementor-widget-lv_"] i.far,
html body [class*="elementor-widget-lv_"] i.fab,
html body [class*="elementor-widget-lv_"] .fa::before,
html body [class*="elementor-widget-lv_"] .fas::before,
html body [class*="elementor-widget-lv_"] .far::before,
html body [class*="elementor-widget-lv_"] .fab::before {
	font-family: "Font Awesome 5 Free" !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	line-height: 1;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	display: inline-block !important;
}

html body i.fas, html body .fas::before,
html body .elementor i.fas, html body .elementor .fas::before,
html body [class*="elementor-widget-lv_"] i.fas,
html body [class*="elementor-widget-lv_"] .fas::before {
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 900;
}

html body i.far, html body .far::before,
html body .elementor i.far, html body .elementor .far::before,
html body [class*="elementor-widget-lv_"] i.far,
html body [class*="elementor-widget-lv_"] .far::before {
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 400;
}

html body i.fab, html body .fab::before,
html body .elementor i.fab, html body .elementor .fab::before,
html body [class*="elementor-widget-lv_"] i.fab,
html body [class*="elementor-widget-lv_"] .fab::before {
	font-family: "Font Awesome 5 Brands" !important;
	font-weight: 400;
}

/* ============================================================
 * RESET GLOBAL POUR TOUS LES WIDGETS LV
 * ============================================================ */

/* Liens : aucun soulignement, aucune bordure */
html body .elementor [class*="elementor-widget-lv_"] a,
html body .elementor [class*="elementor-widget-lv_"] a:hover,
html body .elementor [class*="elementor-widget-lv_"] a:focus,
html body .elementor [class*="elementor-widget-lv_"] a:visited,
html body .elementor [class*="elementor-widget-lv_"] a:active {
	text-decoration: none !important;
	border-bottom: 0 !important;
	border-bottom-width: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}

/* Listes : aucune puce */
html body .elementor [class*="elementor-widget-lv_"] ul,
html body .elementor [class*="elementor-widget-lv_"] ol,
html body .elementor [class*="elementor-widget-lv_"] li {
	list-style: none !important;
	list-style-type: none !important;
	margin-left: 0;
	padding-left: 0;
	background: transparent;
}

html body .elementor [class*="elementor-widget-lv_"] li::before,
html body .elementor [class*="elementor-widget-lv_"] li::marker {
	content: none !important;
	display: none !important;
}

/* Images : responsive par défaut */
html body .elementor [class*="elementor-widget-lv_"] img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Titres : reset des margins du thème */
html body .elementor [class*="elementor-widget-lv_"] h1,
html body .elementor [class*="elementor-widget-lv_"] h2,
html body .elementor [class*="elementor-widget-lv_"] h3,
html body .elementor [class*="elementor-widget-lv_"] h4,
html body .elementor [class*="elementor-widget-lv_"] h5,
html body .elementor [class*="elementor-widget-lv_"] h6 {
	margin-top: 0;
	font-family: var(--lv-font, 'Inter', sans-serif);
}

/* Boutons : reset */
html body .elementor [class*="elementor-widget-lv_"] button {
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
}

/* ============================================================
 * HEADER — Hamburger mobile FORCÉ
 * ============================================================ */

/* Desktop ≥ 901px : nav visible, burger caché */
@media (min-width: 901px) {
	html body .elementor-widget-lv_header .lv-header__burger {
		display: none !important;
	}
	html body .elementor-widget-lv_header .lv-header__mobile-nav {
		display: none !important;
	}
	html body .elementor-widget-lv_header .lv-header__nav {
		display: flex !important;
		gap: 30px;
		align-items: center;
	}
}

/* Mobile < 900px : nav cachée, burger visible */
@media (max-width: 900px) {
	html body .elementor-widget-lv_header .lv-header__nav {
		display: none !important;
	}
	html body .elementor-widget-lv_header .lv-header__cta {
		display: none !important;
	}
	html body .elementor-widget-lv_header .lv-header__burger {
		display: flex !important;
		flex-direction: column !important;
		gap: 4px;
		background: none;
		border: none !important;
		padding: 8px;
		cursor: pointer;
	}
	html body .elementor-widget-lv_header .lv-header__burger span {
		display: block !important;
		width: 22px;
		height: 2px;
		background: var(--lv-fir, #10584D);
		transition: all 0.3s ease;
	}
	html body .elementor-widget-lv_header .lv-header__mobile-nav {
		display: none;
		flex-direction: column;
		gap: 14px;
		padding: 20px;
		background: var(--lv-cream, #FAF5EA);
		border-top: 1px solid rgba(203,187,160,0.3);
	}
	html body .elementor-widget-lv_header .lv-header__mobile-nav.is-open {
		display: flex !important;
	}
}

/* Header inner : toujours en ligne (logo gauche, burger droite sur mobile) */
html body .elementor-widget-lv_header .lv-header__inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 22px;
	max-width: 1280px;
	margin: 0 auto;
}

/* Logo wrap : toujours horizontal logo + texte si applicable */
html body .elementor-widget-lv_header .lv-header__logo-wrap {
	display: flex !important;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

/* ============================================================
 * FOOTER — 3 colonnes desktop, empilé mobile propre
 * ============================================================ */

/* Desktop ≥ 901px : 3 colonnes */
@media (min-width: 901px) {
	html body .elementor-widget-lv_footer .lv-footer__cols {
		display: grid !important;
		grid-template-columns: 2fr 1fr 1fr !important;
		gap: 48px;
		align-items: start;
	}
	html body .elementor-widget-lv_footer .lv-footer__brand-row {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		gap: 20px;
	}
}

/* Tablette 600-900 : brand pleine largeur + 2 cols dessous */
@media (min-width: 600px) and (max-width: 900px) {
	html body .elementor-widget-lv_footer .lv-footer__cols {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 32px;
	}
	html body .elementor-widget-lv_footer .lv-footer__col--brand {
		grid-column: 1 / -1;
	}
}

/* Mobile < 600px : tout empilé */
@media (max-width: 599px) {
	html body .elementor-widget-lv_footer .lv-footer__cols {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px;
	}
	html body .elementor-widget-lv_footer .lv-footer__brand-row {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start;
		gap: 14px;
	}
	html body .elementor-widget-lv_footer .lv-footer__logo-image {
		height: 80px !important;
	}
	html body .elementor-widget-lv_footer .lv-footer__bottom {
		flex-direction: column !important;
		align-items: flex-start;
		gap: 12px;
	}
}

/* Links inside footer cols : flex column, no bullets */
html body .elementor-widget-lv_footer .lv-footer__links {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px;
	list-style: none !important;
	padding: 0;
	margin: 0;
}

html body .elementor-widget-lv_footer .lv-footer__links li {
	list-style: none !important;
	display: block !important;
}

/* ============================================================
 * CONCEPT CARDS — Layout propre sur tous les breakpoints
 * ============================================================ */

html body .elementor-widget-lv_concept_card .lv-cc {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
	background: var(--lv-cream-light, #F5EFE3);
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

/* Badge POPULAIRE : petit, pas pleine largeur */
html body .elementor-widget-lv_concept_card .lv-cc__badge {
	position: absolute !important;
	top: 12px;
	right: 12px;
	display: inline-block !important;
	width: auto !important;
	padding: 4px 10px;
	background: var(--lv-fir, #10584D);
	color: var(--lv-cream, #FAF5EA);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	border-radius: 999px;
	z-index: 2;
}

/* Top image/icon : 180px hauteur */
html body .elementor-widget-lv_concept_card .lv-cc__top {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 180px;
	overflow: hidden;
}

/* Icon dans le top : centrée */
html body .elementor-widget-lv_concept_card .lv-cc__top-icon {
	font-size: 60px;
	color: var(--lv-cream, #FAF5EA);
	opacity: 0.9;
}

/* Body : padding propre */
html body .elementor-widget-lv_concept_card .lv-cc__body {
	padding: 24px 22px;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px;
}

/* Title row avec icône à côté */
html body .elementor-widget-lv_concept_card .lv-cc__title-row {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}

html body .elementor-widget-lv_concept_card .lv-cc__title-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	flex-shrink: 0;
	font-size: 14px;
}

html body .elementor-widget-lv_concept_card .lv-cc__title {
	font-size: 20px;
	font-weight: 800;
	color: var(--lv-coffee, #3D3A33);
	margin: 0;
	line-height: 1.2;
}

html body .elementor-widget-lv_concept_card .lv-cc__tagline {
	font-size: 12px;
	color: var(--lv-coral, #E8997B);
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 8px;
}

html body .elementor-widget-lv_concept_card .lv-cc__desc {
	font-size: 14px;
	color: var(--lv-gray, #6F6A60);
	line-height: 1.55;
	margin: 0;
}

/* Footer card : prix + CTA */
html body .elementor-widget-lv_concept_card .lv-cc__footer {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 22px 22px;
	margin-top: auto;
}

html body .elementor-widget-lv_concept_card .lv-cc__price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

html body .elementor-widget-lv_concept_card .lv-cc__price-label {
	font-size: 10px;
	color: var(--lv-gray, #6F6A60);
	letter-spacing: 1px;
	text-transform: uppercase;
}

html body .elementor-widget-lv_concept_card .lv-cc__price-value {
	font-size: 22px;
	font-weight: 800;
	color: var(--lv-fir, #10584D);
}

html body .elementor-widget-lv_concept_card .lv-cc__cta {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	color: var(--lv-fir, #10584D);
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
}

/* ============================================================
 * HERO BADGE — petit, pas pleine largeur
 * ============================================================ */

html body .elementor-widget-lv_badge .lv-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	background: rgba(250,245,234,0.95);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	width: auto !important;
	max-width: max-content;
}

/* Le wrapper centre sur mobile */
@media (max-width: 768px) {
	html body .elementor-widget-lv_badge {
		text-align: center;
	}
	html body .elementor-widget-lv_badge .lv-badge {
		margin: 0 auto;
	}
}

/* ============================================================
 * USE CASES — 2 cols mobile forcées
 * ============================================================ */

html body .elementor-widget-lv_use_case_item .lv-uc {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 8px;
	padding: 18px 12px;
	background: var(--lv-cream, #FAF5EA);
	border-radius: 14px;
	text-align: center;
	transition: all 0.2s;
}

html body .elementor-widget-lv_use_case_item .lv-uc__icon {
	font-size: 28px;
	color: var(--lv-fir, #10584D);
}

html body .elementor-widget-lv_use_case_item .lv-uc__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--lv-coffee, #3D3A33);
}

/* ============================================================
 * DIFFERENCE CARDS — Icônes centrées
 * ============================================================ */

html body .elementor-widget-lv_difference_card .lv-diff {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center;
	gap: 14px;
	padding: 28px 22px;
	background: var(--lv-cream, #FAF5EA);
	border-radius: 18px;
	height: 100%;
}

html body .elementor-widget-lv_difference_card .lv-diff__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(16,88,77,0.1);
	color: var(--lv-fir, #10584D);
	font-size: 24px;
	flex-shrink: 0;
}

html body .elementor-widget-lv_difference_card .lv-diff__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--lv-coffee, #3D3A33);
	margin: 0;
	line-height: 1.3;
}

html body .elementor-widget-lv_difference_card .lv-diff__desc {
	font-size: 14px;
	color: var(--lv-gray, #6F6A60);
	line-height: 1.55;
	margin: 0;
}

/* ============================================================
 * GALLERY GRID — 2 cols mobile, 3 cols desktop
 * ============================================================ */

html body .elementor-widget-lv_gallery_grid .lv-gallery {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

@media (max-width: 900px) {
	html body .elementor-widget-lv_gallery_grid .lv-gallery {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

html body .elementor-widget-lv_gallery_grid .lv-gallery__item {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	background: var(--lv-sand, #CBBBA0);
}

html body .elementor-widget-lv_gallery_grid .lv-gallery__item img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

/* ============================================================
 * TRUST LOGOS — Grille 2 cols mobile, 6 cols desktop
 * ============================================================ */

html body .elementor-widget-lv_trust_logo {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

html body .elementor-widget-lv_trust_logo .lv-trust-logo img {
	max-width: 120px;
	max-height: 60px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	opacity: 0.6;
	filter: grayscale(100%);
	transition: all 0.3s;
}

html body .elementor-widget-lv_trust_logo .lv-trust-logo img:hover {
	opacity: 1;
	filter: grayscale(0%);
}

/* ============================================================
 * STATS ROW — Inline desktop, stack mobile (mais propre)
 * ============================================================ */

html body .elementor-widget-lv_stats_row .lv-stats {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}

@media (max-width: 600px) {
	html body .elementor-widget-lv_stats_row .lv-stats {
		gap: 18px;
	}
}

/* ============================================================
 * SECTION HEADER — Centré, tailles cohérentes
 * ============================================================ */

html body .elementor-widget-lv_section_header .lv-sh {
	text-align: center;
}

html body .elementor-widget-lv_section_header .lv-sh__eyebrow {
	font-size: 11px;
	color: var(--lv-fir, #10584D);
	letter-spacing: 2.5px;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 12px;
}

html body .elementor-widget-lv_section_header .lv-sh__title {
	font-size: 32px;
	font-weight: 800;
	color: var(--lv-coffee, #3D3A33);
	margin: 0 0 14px;
	line-height: 1.2;
	letter-spacing: -0.8px;
}

html body .elementor-widget-lv_section_header .lv-sh__title strong {
	color: var(--lv-fir, #10584D);
	font-weight: 800;
}

html body .elementor-widget-lv_section_header .lv-sh__subtitle {
	font-size: 15px;
	color: var(--lv-gray, #6F6A60);
	line-height: 1.55;
	margin: 0;
	max-width: 600px;
	margin: 0 auto;
}

@media (max-width: 600px) {
	html body .elementor-widget-lv_section_header .lv-sh__title {
		font-size: 26px;
	}
}

/* ============================================================
 * CTA BOX & SECTIONS — Marges mobile
 * ============================================================ */

@media (max-width: 768px) {
	html body .elementor-section .elementor-widget-lv_cta_box {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ============================================================
 * BOTTOM NAV MOBILE — Toujours visible en bas sur smartphone
 * ============================================================ */

@media (max-width: 768px) {
	html body .elementor-widget-lv_bottom_nav .lv-bnav {
		position: fixed !important;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex !important;
		justify-content: space-around;
		align-items: center;
		background: var(--lv-cream, #FAF5EA);
		border-top: 1px solid rgba(203,187,160,0.3);
		padding: 10px 0;
		z-index: 999;
		box-shadow: 0 -2px 8px rgba(0,0,0,0.05);
	}
	/* Padding-bottom du body pour ne pas cacher le contenu */
	html body.has-lv-bnav {
		padding-bottom: 70px;
	}
}

@media (min-width: 769px) {
	html body .elementor-widget-lv_bottom_nav {
		display: none !important;
	}
}

/* ============================================================
 * SLIDER MOBILE — Pour Concept Cards + Avis
 * ============================================================ */

@media (max-width: 768px) {
	html body .lv-slider-mobile > .elementor-container,
	html body .elementor-section.lv-slider-mobile > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		gap: 14px;
		padding: 0 16px 20px;
		scrollbar-width: none;
	}
	html body .lv-slider-mobile > .elementor-container::-webkit-scrollbar {
		display: none;
	}
	html body .lv-slider-mobile > .elementor-container > .elementor-column {
		flex: 0 0 85% !important;
		width: 85% !important;
		min-width: 85% !important;
		scroll-snap-align: start !important;
	}
}

/* ============================================================
 * REVIEW INVITE & TESTIMONIAL — Hauteur égalisée
 * ============================================================ */

html body .elementor-widget-lv_review_invite,
html body .elementor-widget-lv_testimonial_card {
	height: 100%;
}

html body .elementor-widget-lv_review_invite > div,
html body .elementor-widget-lv_testimonial_card > div {
	height: 100%;
}

/* ============================================================
 * SAFE GUARDS — Empêcher le débordement horizontal sur mobile
 * ============================================================ */

@media (max-width: 768px) {
	html body .elementor-section .elementor-container {
		max-width: 100%;
		overflow-x: hidden;
	}
	html body img {
		max-width: 100%;
		height: auto;
	}
}

/* === FIN ARMURE CSS v3.0.1 === */

/* ============================================================
 * FORCE INTER FONT - Bat le Kit Elementor (elementor-kit-8)
 * Spécificité maximale pour vaincre les variables --e-global-typography
 * ============================================================ */

html body.elementor-kit-8 [class*="elementor-widget-lv_"],
html body.elementor-kit-8 [class*="elementor-widget-lv_"] *,
html body [class*="elementor-widget-lv_"],
html body [class*="elementor-widget-lv_"] * {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
}

/* Force Inter aussi sur Heading natif Elementor utilisé dans les sections LV */
html body [class*="elementor-widget-lv_"] h1,
html body [class*="elementor-widget-lv_"] h2,
html body [class*="elementor-widget-lv_"] h3,
html body [class*="elementor-widget-lv_"] h4,
html body [class*="elementor-widget-lv_"] h5,
html body [class*="elementor-widget-lv_"] h6,
html body [class*="elementor-widget-lv_"] p,
html body [class*="elementor-widget-lv_"] span,
html body [class*="elementor-widget-lv_"] a,
html body [class*="elementor-widget-lv_"] div {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* === FIN FORCE INTER === */

/* ============================================================
 * OVERRIDE Elementor Kit-8 — Variables globales Roboto → Inter
 * Bat les --e-global-typography-primary-font-family qui forcent Roboto
 * ============================================================ */

body.elementor-kit-8 [class*="elementor-widget-lv_"] {
	--e-global-typography-primary-font-family: 'Inter';
	--e-global-typography-secondary-font-family: 'Inter';
	--e-global-typography-text-font-family: 'Inter';
	--e-global-typography-accent-font-family: 'Inter';
}

/* === FIN OVERRIDE KIT-8 === */

/* ============================================================
 * NEUTRALISATION CSS DES PLUGINS FANTÔMES
 * Empêche EventOn, The Events Calendar, MEC de polluer les widgets LV
 * ============================================================ */

/* Reset EventOn (evo-) qui force des couleurs/fonts sur tout */
html body [class*="elementor-widget-lv_"] *:not(i):not(svg) {
	color: inherit;
}

/* Reset les variables EventOn sur nos widgets */
html body [class*="elementor-widget-lv_"] {
	--evo_color_1: inherit;
	--evo_color_2: inherit;
	--evo_font_1: 'Inter', sans-serif;
	--evo_font_2: 'Inter', sans-serif;
}

/* Reset les variables Tribe Events Calendar (tec-) */
html body [class*="elementor-widget-lv_"] {
	--tec-font-family-sans-serif: 'Inter', sans-serif;
	--tec-color-text-primary: inherit;
	--tec-color-link-primary: inherit;
}

/* === FIN NEUTRALISATION === */

/* ============================================================
 * v3.0.5 — FIX MOBILE-ONLY CHIRURGICAL
 * Tout dans @media (max-width: 768px), ZÉRO impact desktop
 * ============================================================ */

@media (max-width: 768px) {

	/* ─────────────────────────────────────────────────────────
	 * FIX 1 + 2 : Hero CTA Group — boutons encadrés (v3.0.10)
	 * Padding horizontal sur le conteneur pour que les boutons
	 * ne touchent pas les bords de l'écran. Boutons à largeur
	 * adaptée mais avec un peu de respiration sur les côtés.
	 * ───────────────────────────────────────────────────────── */
	html body .elementor-widget-lv_cta_group .lv-cta-group {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		width: 100%;
		align-items: stretch !important;
		padding: 0 20px;
		box-sizing: border-box !important;
	}

	html body .elementor-widget-lv_cta_group .lv-cta-group__btn,
	html body .elementor-widget-lv_cta_group .lv-cta-btn,
	html body .elementor-widget-lv_cta_group .lv-btn,
	html body .elementor-widget-lv_cta_group a {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 14px 24px;
		border-radius: 999px;
		font-size: 15px;
		font-weight: 600;
		text-decoration: none !important;
		white-space: nowrap;
		width: auto !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	/* Primary : coral, fond plein */
	html body .elementor-widget-lv_cta_group a[class*="primary"],
	html body .elementor-widget-lv_cta_group .lv-cta-btn--primary {
		background-color: #E8997B;
		color: #FAF5EA;
		box-shadow: 0 2px 8px rgba(232,153,123,0.3);
	}

	/* Secondary : crème transparent, bordure */
	html body .elementor-widget-lv_cta_group a[class*="secondary"],
	html body .elementor-widget-lv_cta_group .lv-cta-btn--secondary {
		background-color: rgba(250,245,234,0.15);
		color: #FAF5EA;
		border: 1px solid rgba(250,245,234,0.4) !important;
		backdrop-filter: blur(10px);
	}

	/* ─────────────────────────────────────────────────────────
	 * FIX 3 : Vidéo coins arrondis
	 * ───────────────────────────────────────────────────────── */
	html body .elementor-widget-lv_video_block .lv-video-block {
		border-radius: 18px;
		overflow: hidden !important;
	}
	html body .elementor-widget-lv_video_block video,
	html body .elementor-widget-lv_video_block iframe,
	html body .elementor-widget-lv_video_block .lv-video-block__media,
	html body .elementor-widget-lv_video_block .lv-video-block__iframe {
		border-radius: 18px;
	}

	/* ─────────────────────────────────────────────────────────
	 * FIX 4 : Concept Cards — hauteurs égales dans slider
	 * ───────────────────────────────────────────────────────── */
	html body .lv-slider-mobile > .elementor-container {
		align-items: stretch !important;
	}
	html body .lv-slider-mobile > .elementor-container > .elementor-column {
		display: flex !important;
		flex-direction: column;
	}
	html body .lv-slider-mobile .elementor-widget-wrap {
		display: flex !important;
		flex-direction: column;
		height: 100%;
	}
	html body .lv-slider-mobile .elementor-widget-lv_concept_card {
		display: flex !important;
		flex-direction: column;
		flex: 1;
		height: 100%;
	}
	html body .lv-slider-mobile .elementor-widget-lv_concept_card > .elementor-widget-container,
	html body .lv-slider-mobile .elementor-widget-lv_concept_card .lv-cc {
		height: 100% !important;
		flex: 1;
		display: flex !important;
		flex-direction: column;
	}
	html body .lv-slider-mobile .elementor-widget-lv_concept_card .lv-cc__body {
		flex: 1;
		display: flex !important;
		flex-direction: column;
	}

	/* ─────────────────────────────────────────────────────────
	 * FIX 5 : Use Cases — cards crème arrondies + picto centré
	 * ───────────────────────────────────────────────────────── */
	html body .elementor-widget-lv_use_case_item > .elementor-widget-container,
	html body .elementor-widget-lv_use_case_item .lv-uc,
	html body .elementor-widget-lv_use_case_item a.lv-uc {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 10px !important;
		padding: 22px 14px;
		background-color: #FAF5EA;
		border-radius: 14px;
		text-align: center;
		text-decoration: none !important;
		height: 100%;
		min-height: 110px;
		box-sizing: border-box;
		transition: all 0.2s ease;
	}

	html body .elementor-widget-lv_use_case_item .lv-uc__icon,
	html body .elementor-widget-lv_use_case_item .lv-uc__icon-wrap {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		text-align: center;
		font-size: 28px;
		color: #10584D;
	}

	html body .elementor-widget-lv_use_case_item .lv-uc__icon i,
	html body .elementor-widget-lv_use_case_item .lv-uc__icon svg {
		margin: 0 auto;
		display: block !important;
	}

	html body .elementor-widget-lv_use_case_item .lv-uc__name {
		font-size: 14px;
		font-weight: 600;
		color: #3D3A33;
		text-align: center;
		width: 100%;
		margin: 0;
	}

	/* ─────────────────────────────────────────────────────────
	 * FIX 6 : Footer description + adresse propre
	 * ───────────────────────────────────────────────────────── */
	html body .elementor-widget-lv_footer .lv-footer__description {
		margin: 0 0 12px 0;
		line-height: 1.5;
	}
	html body .elementor-widget-lv_footer .lv-footer__description br {
		display: none;
	}
	html body .elementor-widget-lv_footer .lv-footer__address {
		display: flex !important;
		align-items: center;
		gap: 6px !important;
		margin-top: 8px;
		font-size: 13px;
	}

	/* ─────────────────────────────────────────────────────────
	 * FIX 7 : Bottom Nav mobile — STICKY h24 visible
	 * ───────────────────────────────────────────────────────── */
	html body .elementor-widget-lv_bottom_nav,
	html body .elementor-widget-lv_bottom_nav > .elementor-widget-container {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 9999 !important;
		display: block !important;
	}

	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav {
		display: flex !important;
		justify-content: space-around !important;
		align-items: center;
		background: #FAF5EA;
		border-top: 1px solid rgba(203,187,160,0.4) !important;
		padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) 0;
		box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
		margin: 0;
		width: 100% !important;
	}

	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav__item {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center;
		gap: 4px;
		padding: 6px 4px;
		flex: 1;
		text-decoration: none !important;
		color: #6F6A60;
		font-size: 11px;
		min-width: 0;
	}

	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav__icon-wrap,
	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav__icon {
		font-size: 18px;
		color: #10584D;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav__label {
		font-size: 10px;
		color: #6F6A60;
		font-weight: 500;
		text-align: center;
	}

	html body .elementor-widget-lv_bottom_nav .lv-bottom-nav__dot {
		position: absolute;
		top: 4px;
		right: 25%;
		width: 8px;
		height: 8px;
		background: #E8997B;
		border-radius: 50%;
	}

	/* Padding-bottom du body pour que le contenu ne soit pas caché */
	html body:has(.elementor-widget-lv_bottom_nav) {
		padding-bottom: 75px;
	}
}

/* ─────────────────────────────────────────────────────────
 * Sur desktop ≥ 769px : Bottom Nav MASQUÉE (mobile only)
 * ───────────────────────────────────────────────────────── */
@media (min-width: 769px) {
	html body .elementor-widget-lv_bottom_nav {
		display: none !important;
	}
}

/* === FIN v3.0.5 MOBILE-ONLY === */
