@layer lp-tokens {
/* BEM token mappings pour la landing (chaque propriété pointe vers sa variable, fallback inherit). */

/* Inventaire des clés de tokens (sans valeurs par défaut ici) */
.landing-theme {
    background-color: var(--lp-section-bg, transparent) !important;
    color: var(--lp-section-body, inherit) !important;
}
/* Generic button base: button-radius, padding-x, padding-y, border-width, shadow */
.lp-button {
	border-radius: calc(var(--lp-button-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-button-padding-x, 0px) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-button-padding-y, 0px) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-button-shadow, none) !important;
	border-color: color-mix(in srgb, var(--lp-button-border-color, transparent) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
}


/* Header: padding-x, padding-y, gap, border-width, border-color/opacity, border-radius, box-shadow */
.lp-header {
	padding-inline: calc(var(--lp-header-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-header-padding-y, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-header-gap, 0px) * var(--lp-space-scale)) !important;
	border-bottom: calc(var(--lp-header-border-width, 0px) * var(--lp-space-scale)) solid var(--lp-header-border, inherit) !important;
	border-radius: calc(var(--lp-header-radius, 0px) * var(--lp-radius-scale)) !important;
	box-shadow: var(--lp-header-shadow, none) !important;
	background-color: var(--lp-header-bg, inherit) !important;
}
/* Header inner: padding-x, padding-y, gap */
.lp-header__inner {
	padding-block: calc(var(--lp-header-inner-padding-y, 0px) * var(--lp-space-header-scale)) !important;
	padding-inline: calc(var(--lp-header-inner-padding-x, 0px) * var(--lp-space-scale)) !important;	
	gap: calc(var(--lp-header-inner-gap, 0px) * var(--lp-space-scale)) !important;
}
.lp-header__secondary {
	padding-block: calc(var(--lp-header-secondary-padding-x, 0px) * var(--lp-space-scale)) !important;
	background-color: var(--lp-header-secondary-bg, inherit) !important;
	border-bottom-color: var(--lp-header-secondary-border, inherit) !important;
    border-bottom-width: calc(var(--lp-header-secondary-border-width, 0px) * var(--lp-space-scale)) !important;
}
/* Header symbol: radius, padding, border-width */
.lp-header__symbol {
	padding: calc(var(--lp-header-logo-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-header-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-radius: calc(var(--lp-header-logo-radius, 0px) * var(--lp-radius-scale)) !important;
	color: var(--lp-header-logo-text, inherit) !important;
	background-color: var(--lp-header-logo-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-header-logo-border, var(--lp-header-border, inherit)) calc(var(--lp-header-border-opacity, 1) * 100%), transparent) !important;
}
/* Header title: no shape props */
.lp-header__title { color: var(--lp-header-title, inherit) !important; font-family: var(--lp-header-title-font-family, inherit) !important; font-size: var(--lp-header-title-font-size, 1em) !important; font-weight: var(--lp-header-title-font-weight, inherit) !important; letter-spacing: var(--lp-header-title-font-letter-spacing, inherit) !important; line-height: var(--lp-header-title-font-line-height, inherit) !important; text-transform: var(--lp-header-title-font-transform, inherit) !important; }
/* Header subtitle: no shape props */
.lp-header__subtitle { color: var(--lp-header-subtitle, inherit) !important; font-family: var(--lp-header-subtitle-font-family, inherit) !important; font-size: var(--lp-header-subtitle-font-size, 1em) !important; font-weight: var(--lp-header-subtitle-font-weight, inherit) !important; letter-spacing: var(--lp-header-subtitle-font-letter-spacing, inherit) !important; line-height: var(--lp-header-subtitle-font-line-height, inherit) !important; text-transform: var(--lp-header-subtitle-font-transform, inherit) !important; }
/* Nav link: radius, padding-x, padding-y, border-width */
.lp-header__nav-link {
	padding-inline: calc(var(--lp-header-nav-link-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-header-nav-link-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-header-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-radius: calc(var(--lp-header-nav-link-radius, 0px) * var(--lp-radius-scale)) !important;
	color: var(--lp-header-link-text, inherit) !important;
	border-color: var(--lp-header-link-border, inherit) !important;
	font-family: var(--lp-header-nav-font-family, inherit) !important;
	font-size: var(--lp-header-nav-font-size, 1em) !important;
	font-weight: var(--lp-header-nav-font-weight, inherit) !important;
	letter-spacing: var(--lp-header-nav-font-letter-spacing, inherit) !important;
	line-height: var(--lp-header-nav-font-line-height, inherit) !important;
	text-transform: var(--lp-header-nav-font-transform, inherit) !important;
}
/* Nav link active: same contour props (radius, padding-x, padding-y, border-width) */
.lp-header__nav-link.is-active {
	color: var(--lp-header-link-active-text, var(--lp-header-link-text, inherit)) !important;
	border-color: color-mix(in srgb, var(--lp-header-link-active-border, var(--lp-header-link-border, inherit)) calc(var(--lp-header-border-opacity, 1) * 100%), transparent) !important;
}
.lp-header__nav-link--secondary {
	color: var(--lp-header-secondary-link-text, inherit) !important;
	font-weight: calc(var(--lp-header-nav-font-weight, inherit) - 100) !important;
}
.lp-header__nav-link--secondary:not(:last-child):after {
    color: var(--lp-header-secondary-border, inherit) !important;
}

/* Header CTA: radius, padding-x, padding-y, border-width, shadow */
.lp-header__cta {
	padding-inline: calc(var(--lp-header-cta-padding-x, 0px) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-header-cta-padding-y, 0px) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-header-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-radius: calc(var(--lp-header-cta-radius, 0px) * var(--lp-radius-scale)) !important;
	box-shadow: var(--lp-button-shadow-shape, none) var(--lp-header-cta-shadow, none) !important;
	color: var(--lp-header-cta-text, inherit) !important;
	background-color: var(--lp-header-cta-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-header-cta-border, inherit) calc(var(--lp-header-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-header-cta-font-family, inherit) !important;
	font-size: var(--lp-header-cta-font-size, 1em) !important;
	font-weight: var(--lp-header-cta-font-weight, inherit) !important;
	letter-spacing: var(--lp-header-cta-font-letter-spacing, inherit) !important;
	line-height: var(--lp-header-cta-font-line-height, inherit) !important;
	text-transform: var(--lp-header-cta-font-transform, inherit) !important;
	background-image: var(--lp-header-cta-bg-image, inherit) !important;
}
/* Brand wrapper: inherits header padding/gap */
.lp-header__brand {}
/* Brand text: no shape props */
.lp-header__brand-text {}
/* Header icon/toggle glyph: no shape props */
.lp-header__icon {}
/* Header links container: gap */
 .lp-header__links { gap: calc(var(--lp-header-nav-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-header__links--secondary { gap: 0 !important; }
/* Header nav: gap, padding-x, padding-y */
.lp-header__nav {
	gap: calc(var(--lp-header-nav-gap, 0px) * var(--lp-space-scale)) !important;
}
/* Header nav stacked variant: gap */
.lp-header__nav--stack { 
	gap: calc(var(--lp-header-nav-gap, 0px) * var(--lp-space-scale)) !important; 
	padding-block: calc(var(--lp-header-nav-padding-y, 0px) * var(--lp-space-scale)) !important; 
	padding-inline: calc(var(--lp-header-nav-padding-x, 0px) * var(--lp-space-scale)) !important; 
}
/* Header toggle/close buttons: radius, padding */
.lp-header__toggle,
.lp-header__close {
	border-radius: calc(var(--lp-header-toggle-radius, var(--lp-header-radius, 0px)) * var(--lp-radius-scale)) !important;
	padding-block: calc(var(--lp-header-toggle-padding-y, var(--lp-header-logo-padding, 0px)) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-header-toggle-padding-x, var(--lp-header-logo-padding, 0px)) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-header-toggle-border-width, var(--lp-header-border-width, 0px)) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-header-border, inherit) calc(var(--lp-header-border-opacity, 1) * 100%), transparent) !important;
}
/* Header top row: gap */
.lp-header__top { gap: calc(var(--lp-header-gap, 0px) * var(--lp-space-scale)) !important; }

.lp-header__drawer {
    background: var(--lp-header-bg, inherit) !important;
}
.lp-header__drawer-inner {
	padding-block: calc(var(--lp-header-inner-padding-y, 0px) * var(--lp-space-header-scale)) !important;
    padding-inline: calc(var(--lp-header-inner-padding-x, 0px) * var(--lp-space-scale)) !important;	
	gap: calc(var(--lp-header-gap, 0px) * var(--lp-space-scale)) !important;
	background: var(--lp-header-bg, inherit);
}
.lp-header__drawer-top {
	gap: calc(var(--lp-header-gap, 0px) * var(--lp-space-scale)) !important;
}

/* Hero wrapper: padding-x, padding-y, gap, border-width, border-color/opacity, border-radius, box-shadow */
.lp-hero {
	--lp-hero-active-bg: var(--lp-hero-bg, inherit);
	--lp-hero-active-border: var(--lp-hero-border, inherit);
	--lp-hero-active-accent: var(--lp-hero-accent, inherit);
	--lp-hero-active-main: var(--lp-hero-main, inherit);
	--lp-hero-active-main-reverse: var(--lp-hero-main-reverse, var(--lp-hero-card-padding, 0px));
	--lp-hero-active-eyebrow: var(--lp-hero-eyebrow, inherit);
	--lp-hero-active-eyebrow-border: var(--lp-hero-eyebrow-border, var(--lp-hero-active-border, inherit));
	--lp-hero-active-eyebrow-bg: var(--lp-hero-eyebrow-bg, inherit);
	--lp-hero-active-title: var(--lp-hero-title, inherit);
	--lp-hero-active-tagline: var(--lp-hero-tagline, inherit);
	--lp-hero-active-badge-text: var(--lp-hero-badge-text, inherit);
	--lp-hero-active-badge-bg: var(--lp-hero-badge-bg, inherit);
	--lp-hero-active-badge-border: var(--lp-hero-badge-border, var(--lp-hero-active-border, inherit));
	--lp-hero-active-btn-primary-text: var(--lp-hero-btn-primary-text, inherit);
	--lp-hero-active-btn-primary-bg: var(--lp-hero-btn-primary-bg, inherit);
	--lp-hero-active-btn-primary-border: var(--lp-hero-btn-primary-border, inherit);
	--lp-hero-active-btn-primary-bg-image: var(--lp-hero-btn-primary-bg-image, inherit);
	--lp-hero-active-btn-secondary-text: var(--lp-hero-btn-secondary-text, inherit);
	--lp-hero-active-btn-secondary-bg: var(--lp-hero-btn-secondary-bg, inherit);
	--lp-hero-active-btn-secondary-border: var(--lp-hero-btn-secondary-border, inherit);
	--lp-hero-active-btn-secondary-bg-image: var(--lp-hero-btn-secondary-bg-image, inherit);
	padding-inline: calc(var(--lp-hero-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-hero-padding-y, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-hero-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-border, inherit) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	border-radius: calc(var(--lp-hero-radius, 0px) * var(--lp-radius-scale)) !important;
	box-shadow: var(--lp-hero-shadow, none) !important;
	background-color: var(--lp-hero-active-bg, inherit) !important;
	background-image: var(--lp-hero-background-image, none) !important; 
	background-position: var(--lp-hero-background-position, center) !important; 
	background-size: cover !important; 
	background-repeat: no-repeat !important;
}
.lp-hero[data-hero-tone="dark"] {
	--lp-hero-active-bg: var(--lp-hero-dark-bg, var(--lp-hero-bg, inherit));
	--lp-hero-active-border: var(--lp-hero-dark-border, var(--lp-hero-border, inherit));
	--lp-hero-active-accent: var(--lp-hero-dark-accent, var(--lp-hero-accent, inherit));
	--lp-hero-active-main: var(--lp-hero-dark-main, var(--lp-hero-main, inherit));
	--lp-hero-active-main-reverse: var(--lp-hero-dark-main-reverse, var(--lp-hero-main-reverse, var(--lp-hero-card-padding, 0px)));
	--lp-hero-active-eyebrow: var(--lp-hero-dark-eyebrow, var(--lp-hero-eyebrow, inherit));
	--lp-hero-active-eyebrow-border: var(--lp-hero-dark-eyebrow-border, var(--lp-hero-eyebrow-border, var(--lp-hero-active-border, inherit)));
	--lp-hero-active-eyebrow-bg: var(--lp-hero-dark-eyebrow-bg, var(--lp-hero-eyebrow-bg, inherit));
	--lp-hero-active-title: var(--lp-hero-dark-title, var(--lp-hero-title, inherit));
	--lp-hero-active-tagline: var(--lp-hero-dark-tagline, var(--lp-hero-tagline, inherit));
	--lp-hero-active-badge-text: var(--lp-hero-dark-badge-text, var(--lp-hero-badge-text, inherit));
	--lp-hero-active-badge-bg: var(--lp-hero-dark-badge-bg, var(--lp-hero-badge-bg, inherit));
	--lp-hero-active-badge-border: var(--lp-hero-dark-badge-border, var(--lp-hero-badge-border, var(--lp-hero-active-border, inherit)));
	--lp-hero-active-btn-primary-text: var(--lp-hero-dark-btn-primary-text, var(--lp-hero-btn-primary-text, inherit));
	--lp-hero-active-btn-primary-bg: var(--lp-hero-dark-btn-primary-bg, var(--lp-hero-btn-primary-bg, inherit));
	--lp-hero-active-btn-primary-border: var(--lp-hero-dark-btn-primary-border, var(--lp-hero-btn-primary-border, inherit));
	--lp-hero-active-btn-primary-bg-image: var(--lp-hero-dark-btn-primary-bg-image, var(--lp-hero-btn-primary-bg-image, inherit));
	--lp-hero-active-btn-secondary-text: var(--lp-hero-dark-btn-secondary-text, var(--lp-hero-btn-secondary-text, inherit));
	--lp-hero-active-btn-secondary-bg: var(--lp-hero-dark-btn-secondary-bg, var(--lp-hero-btn-secondary-bg, inherit));
	--lp-hero-active-btn-secondary-border: var(--lp-hero-dark-btn-secondary-border, var(--lp-hero-btn-secondary-border, inherit));
	--lp-hero-active-btn-secondary-bg-image: var(--lp-hero-dark-btn-secondary-bg-image, var(--lp-hero-btn-secondary-bg-image, inherit));
}
/* Hero accent band: radius (inherit hero), border-width, padding (if used) */
.lp-hero__accent {
	border-radius: calc(var(--lp-hero-radius, 0px) * var(--lp-radius-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-border, inherit) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	background-color: var(--lp-hero-active-accent, inherit) !important;
}
/* Hero main container: card-radius, card-padding */
.lp-hero__main {
	gap: calc(var(--lp-hero-gap, 0px) * var(--lp-space-scale)) !important;
}
/* Hero eyebrow: badge-like radius/padding/border-width */
.lp-hero__eyebrow {
	border-radius: calc(var(--lp-hero-badge-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-hero-badge-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-hero-badge-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	color: var(--lp-hero-active-eyebrow, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-eyebrow-border, var(--lp-hero-active-border, inherit)) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	background-color: var(--lp-hero-active-eyebrow-bg, inherit) !important;
	font-family: var(--lp-hero-eyebrow-font-family, inherit) !important;
	font-size: var(--lp-hero-eyebrow-font-size, 1em) !important;
	font-weight: var(--lp-hero-eyebrow-font-weight, inherit) !important;
	letter-spacing: var(--lp-hero-eyebrow-font-letter-spacing, inherit) !important;
	line-height: var(--lp-hero-eyebrow-font-line-height, inherit) !important;
	text-transform: var(--lp-hero-eyebrow-font-transform, inherit) !important;
}
/* Hero title: no shape props */
.lp-hero__title { color: var(--lp-hero-active-title, inherit) !important; font-family: var(--lp-hero-title-font-family, inherit) !important; font-size: var(--lp-hero-title-font-size, 1em) !important; font-weight: var(--lp-hero-title-font-weight, inherit) !important; letter-spacing: var(--lp-hero-title-font-letter-spacing, inherit) !important; line-height: var(--lp-hero-title-font-line-height, inherit) !important; text-transform: var(--lp-hero-title-font-transform, inherit) !important; }
/* Hero tagline: no shape props */
.lp-hero__tagline { color: var(--lp-hero-active-tagline, inherit) !important; font-family: var(--lp-hero-tagline-font-family, inherit) !important; font-size: var(--lp-hero-tagline-font-size, 1em) !important; font-weight: var(--lp-hero-tagline-font-weight, inherit) !important; letter-spacing: var(--lp-hero-tagline-font-letter-spacing, inherit) !important; line-height: var(--lp-hero-tagline-font-line-height, inherit) !important; text-transform: var(--lp-hero-tagline-font-transform, inherit) !important; }
/* Hero badge: badge radius, padding-x, padding-y, border-width */
.lp-hero__badge {
	border-radius: calc(var(--lp-hero-badge-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-hero-badge-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-hero-badge-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	color: var(--lp-hero-active-badge-text, inherit) !important;
	background-color: var(--lp-hero-active-badge-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-badge-border, var(--lp-hero-active-border, inherit)) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-hero-badge-font-family, inherit) !important;
	font-size: var(--lp-hero-badge-font-size, 1em) !important;
	font-weight: var(--lp-hero-badge-font-weight, inherit) !important;
	letter-spacing: var(--lp-hero-badge-font-letter-spacing, inherit) !important;
	line-height: var(--lp-hero-badge-font-line-height, inherit) !important;
	text-transform: var(--lp-hero-badge-font-transform, inherit) !important;
}
/* Hero primary button: radius, padding-x, padding-y, border-width, shadow */
.lp-hero__btn-primary {
	border-radius: calc(var(--lp-hero-button-primary-radius, var(--lp-button-radius, 0px)) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-hero-button-primary-padding-x, var(--lp-button-padding-x, 0px)) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-hero-button-primary-padding-y, var(--lp-button-padding-y, 0px)) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, var(--lp-button-border-width, 0px)) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-button-shadow-shape, none) var(--lp-header-cta-shadow, none) !important;
	color: var(--lp-hero-active-btn-primary-text, inherit) !important;
	background-color: var(--lp-hero-active-btn-primary-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-btn-primary-border, inherit) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-hero-button-primary-font-family, inherit) !important;
	font-size: var(--lp-hero-button-primary-font-size, 1em) !important;
	font-weight: var(--lp-hero-button-primary-font-weight, inherit) !important;
	letter-spacing: var(--lp-hero-button-primary-font-letter-spacing, inherit) !important;
	line-height: var(--lp-hero-button-primary-font-line-height, inherit) !important;
	text-transform: var(--lp-hero-button-primary-font-transform, inherit) !important;
	background-image: var(--lp-hero-active-btn-primary-bg-image, inherit) !important;
}
/* Hero secondary button: radius, padding-x, padding-y, border-width, shadow */
.lp-hero__btn-secondary {
	border-radius: calc(var(--lp-hero-button-secondary-radius, var(--lp-button-radius, 0px)) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-hero-button-secondary-padding-x, var(--lp-button-padding-x, 0px)) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-hero-button-secondary-padding-y, var(--lp-button-padding-y, 0px)) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, var(--lp-button-border-width, 0px)) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-hero-shadow, var(--lp-button-shadow, none)) !important;
	color: var(--lp-hero-active-btn-secondary-text, inherit) !important;
	background-color: var(--lp-hero-active-btn-secondary-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-hero-active-btn-secondary-border, inherit) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	background-image: var(--lp-hero-active-btn-secondary-bg-image, inherit) !important;
	font-family: var(--lp-hero-button-secondary-font-family, inherit) !important;
	font-size: var(--lp-hero-button-secondary-font-size, 1em) !important;
	font-weight: var(--lp-hero-button-secondary-font-weight, inherit) !important;
	letter-spacing: var(--lp-hero-button-secondary-font-letter-spacing, inherit) !important;
	line-height: var(--lp-hero-button-secondary-font-line-height, inherit) !important;
	text-transform: var(--lp-hero-button-secondary-font-transform, inherit) !important;
}
/* Hero actions: gap */
.lp-hero__actions { 
	gap: calc(var(--lp-hero-gap, 0px) * var(--lp-space-scale) * 0.5) !important;
}
/* Hero badges list: gap */
.lp-hero__badges { gap: calc(var(--lp-hero-badge-gap, 0px) * var(--lp-space-scale)) !important; }
/* Hero content card: hero-card radius, padding, border-width, shadow */
.lp-hero__content {
	border-radius: calc(var(--lp-hero-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-hero-card-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-hero-border-width, var(--lp-card-border-width, 0px)) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-hero-shadow, var(--lp-card-shadow, none)) !important;
	background-color: var(--lp-hero-active-main, inherit) !important;
	background-color: color-mix(in srgb, var(--lp-hero-active-main) 90%, transparent) !important;
	border-color: color-mix(in srgb, var(--lp-card-border, inherit) calc(var(--lp-hero-border-opacity, 1) * 100%), transparent) !important;
	padding-inline: calc(var(--lp-hero-active-main-reverse, var(--lp-hero-card-padding, 0px)) * var(--lp-space-scale)) !important;
}
/* Hero inner: padding/gap */
.lp-hero__inner {
	gap: calc(var(--lp-hero-gap, 0px) * var(--lp-space-scale)) !important;
}
section#call-to-action-section.lp-hero.lp-hero--v3 > .lp-hero__inner {
    padding-top: var(--lp-shape-cta-svg-v3-top-height, var(--lp-shape-about-svg-v4-top-height, inherit)) !important;
}
section#a-propos.lp-about.lp-about--v4 > .lp-section__inner {
    padding-top: var(--lp-shape-about-svg-v4-top-height, inherit) !important;
}

/* Sections: padding-x, padding-y, gap, border-width, border-color/opacity, border-radius, box-shadow */
.lp-section {
	padding-inline: calc(var(--lp-section-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-section-padding-y, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-section-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-section-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-section-border-color, var(--lp-section-border, inherit)) calc(var(--lp-section-border-opacity, 1) * 100%), transparent) !important;
	border-radius: calc(var(--lp-section-radius, 0px) * var(--lp-radius-scale)) !important;
	box-shadow: var(--lp-section-shadow, none) !important;
	background-color: var(--lp-section-bg-1, inherit) !important;
}
/* Section bg overrides by id: same shape props as lp-section */
section#a-propos.lp-section { 
	background-color: var(--lp-section-about-bg, inherit) !important; 
	padding-top: calc(var(--lp-section-a-propos-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-a-propos-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-bottom: 0px !important; 
}
section#services.lp-section { 
	background-color: var(--lp-section-services-bg, inherit) !important; 
	padding-top: calc(var(--lp-section-services-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-services-padding-x, 0px) * var(--lp-space-scale)) !important;  
	padding-bottom: 0px !important;
}
section#engagements.lp-section { 
	background-color: var(--lp-section-commitments-bg, inherit) !important; 
	padding-block: calc(var(--lp-section-engagements-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-engagements-padding-x, 0px) * var(--lp-space-scale)) !important;
}
section#chiffres.lp-section { background-color: var(--lp-section-stats-bg, inherit) !important; }
section#avis.lp-section { 
	background-color: var(--lp-section-testimonials-bg, inherit) !important; 
	padding-block: calc(var(--lp-section-avis-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-bottom: calc((var(--lp-section-avis-padding-y, 0px) - var(--lp-shape-testimonials-svg-v3-bottom-height, var(--lp-shape-about-svg-v4-bottom-height, 0px))) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-avis-padding-x, 0px) * var(--lp-space-scale)) !important;
}
section#avis.lp-section:has(> .lp-section__inner[data-testimonials-variant="v3"]) {
	padding-inline: 0 !important;
}
section#faq.lp-section { background-color: var(--lp-section-faq-bg, inherit) !important; }
section#localisation.lp-section { 
	background-color: var(--lp-section-location-bg, inherit) !important;
	padding-top: calc((var(--lp-section-localisation-padding-y, 0px) + var(--lp-shape-testimonials-svg-v3-bottom-height, var(--lp-shape-about-svg-v4-bottom-height, 0px))) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-localisation-padding-x, 0px) * var(--lp-space-scale)) !important;

}
section#demande.lp-section { 
	background-color: var(--lp-section-form-bg, inherit) !important; 
	padding-block: calc(var(--lp-section-demande-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-demande-padding-x, 0px) * var(--lp-space-scale)) !important;
}

section#galerie-section.lp-section { 
	padding-top: calc(var(--lp-section-services-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-section-engagements-padding-x, 0px) * var(--lp-space-scale)) !important;
}

.lp-services-detail--v2 section#services-details-1.lp-section {
  background-color: var(--lp-section-bg-1, inherit) !important;
}
section#services-details-2.lp-section { 
	background-color: var(--lp-section-bg-2, inherit) !important; 
	padding-block: calc(var(--lp-section-padding-y, 0) + var(--lp-shape-services-details-svg-v2-bottom-height, inherit)) !important;
	padding-inline: calc(var(--lp-section-engagements-padding-x, 0px) * var(--lp-space-scale)) !important;

}
section#services-details-1.lp-section,
section#services-details-3.lp-section { 
	background-color: var(--lp-section-bg-1, inherit) !important;
	padding-block: calc(var(--lp-section-padding-y, 0) + var(--lp-shape-services-details-svg-v2-bottom-height, inherit)) !important;
	padding-inline: calc(var(--lp-section-engagements-padding-x, 0px) * var(--lp-space-scale)) !important;
}

section#a-propos.lp-section .lp-section__body {
	text-align: justify !important;
}
section#chiffres.lp-section .lp-section__title {
	color: var(--lp-hero-title, inherit) !important;
}

/* Section inner: padding, gap */
.lp-section__inner {
	gap: calc(var(--lp-section-gap, 0px) * var(--lp-space-scale)) !important;
	color: var(--lp-section-text, inherit) !important;
}
/* Section title: no shape props */
.lp-section__title { color: var(--lp-section-title, inherit) !important; font-family: var(--lp-section-title-font-family, inherit) !important; font-size: var(--lp-section-title-font-size, 1em) !important; font-weight: var(--lp-section-title-font-weight, inherit) !important; letter-spacing: var(--lp-section-title-font-letter-spacing, inherit) !important; line-height: var(--lp-section-title-font-line-height, inherit) !important; text-transform: var(--lp-section-title-font-transform, inherit) !important; }
/* Section subtitle: no shape props */
.lp-section__subtitle { color: var(--lp-section-subtitle, inherit) !important; font-family: var(--lp-section-subtitle-font-family, inherit) !important; font-size: var(--lp-section-subtitle-font-size, 1em) !important; font-weight: var(--lp-section-subtitle-font-weight, inherit) !important; letter-spacing: var(--lp-section-subtitle-font-letter-spacing, inherit) !important; line-height: var(--lp-section-subtitle-font-line-height, inherit) !important; text-transform: var(--lp-section-subtitle-font-transform, inherit) !important; }
/* Section body/eyebrow: no shape props */
.lp-section__body { color: var(--lp-section-body, inherit) !important; font-family: var(--lp-section-body-font-family, inherit) !important; font-size: var(--lp-section-body-font-size, 1em) !important; font-weight: var(--lp-section-body-font-weight, inherit) !important; letter-spacing: var(--lp-section-body-font-letter-spacing, inherit) !important; line-height: var(--lp-section-body-font-line-height, inherit) !important; text-transform: var(--lp-section-body-font-transform, inherit) !important; }
.lp-section__eyebrow { color: var(--lp-section-body, inherit) !important; font-family: var(--lp-section-body-font-family, inherit) !important; font-size: var(--lp-section-body-font-size, 1em) !important; font-weight: var(--lp-section-body-font-weight, inherit) !important; letter-spacing: var(--lp-section-body-font-letter-spacing, inherit) !important; line-height: var(--lp-section-body-font-line-height, inherit) !important; text-transform: var(--lp-section-body-font-transform, inherit) !important; }
/* Center title variant: no shape props */
.lp-section__title--center {}

/* Cards: card-radius, card-padding, card-gap, card-border-width, card-border-color/opacity, card-shadow */
.lp-card {
	border-radius: calc(var(--lp-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-card-padding, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-card-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-card-border-color, var(--lp-card-border, inherit)) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
	box-shadow: var(--lp-card-shadow-shape, none) var(--lp-card-shadow, none) !important;
	background-color: var(--lp-card-bg, inherit) !important;
}
/* Card bg overrides in sections: same shape props as lp-card */
section#a-propos.lp-section .lp-card {
	padding: calc(var(--lp-card-padding-alt, 0px) * var(--lp-space-scale)) !important;
	background-color: var(--lp-section-bg-1, inherit) !important;
}
section#a-propos.lp-section .lp-card__icon { 
	background-image: var(--lp-card-btn-secondary-bg-image, inherit) !important;
	border-radius: calc(var(--lp-button-radius, 0px) * var(--lp-radius-scale)) !important;
	box-shadow: var(--lp-button-shadow-shape, none) var(--lp-card-btn-secondary-shadow, none) !important;
}
section#engagements.lp-section.lp-commitments--v2 .lp-card {
	padding: calc(var(--lp-card-padding-alt, 0px) * var(--lp-space-scale)) !important;
  background-color: var(--lp-section-bg-1, inherit) !important;
}
section#engagements.lp-section.lp-commitments--v2 .lp-card__icon {
  background-image: var(--lp-card-btn-secondary-bg-image, inherit) !important;
	border-radius: calc(var(--lp-card-small-icon-radius, 0px) * var(--lp-radius-scale)) !important;
}


section#a-propos.lp-section .lp-grid.lp-grid--two > .lp-stack.lp-stack--md:first-child,
section#a-propos.lp-section .lp-grid.lp-grid--two > .lp-stack.lp-stack--lg:first-child,
section#a-propos.lp-about.lp-about--v2 .lp-about__content {
	gap: calc(var(--lp-section-gap, 0px) * var(--lp-space-scale)) !important;
}
section#a-propos.lp-about.lp-about--v4 .lp-grid.lp-grid--two > .lp-stack.lp-stack--md:nth-child(2) {
	gap: calc(70px * var(--lp-space-scale)) !important;
}

section#services.lp-section .lp-card { 
	background-color: var(--lp-card-bg, inherit) !important; 
	box-shadow: var(--lp-card-shadow-shape-2, none) var(--lp-card-shadow-2, none) !important;
}
section#engagements.lp-section .lp-card { background-color: var(--lp-card-commitments-bg, inherit) !important; }
section#chiffres.lp-section .lp-card { background-color: var(--lp-section-bg-1, inherit) !important; }
section#avis.lp-section .lp-card { background-color: var(--lp-section-bg-1, inherit) !important; }
section#faq.lp-section .lp-card { background-color: var(--lp-section-bg-1, inherit) !important; }
section#localisation.lp-section .lp-card { background-color: var(--lp-location-card-bg, inherit) !important; }
section#galerie-section article.lp-card { 
	background-color: transparent !important; 
    border-radius: calc(var(--lp-gallery-card-radius, 0px) * var(--lp-radius-scale)) !important;
    padding: calc(var(--lp-gallery-card-padding, 0px) * var(--lp-space-scale)) !important;
}
section#galerie-section article.lp-card .lp-card__content {
	padding-bottom: calc(var(--lp-card-padding, 0px) * var(--lp-space-scale)) !important;
}

.lp-services-detail--v2 .lp-card { 
	padding: calc((var(--lp-card-padding, 0px) - var(--lp-card-padding, 0px)) * var(--lp-space-scale)) !important;
	background-color: inherit !important;
 }

.lp-card__content {
	gap: calc(var(--lp-card-content-gap, 0px) * var(--lp-space-scale)) !important;
	padding: calc(var(--lp-card-content-padding, 0px) * var(--lp-space-scale)) !important;
}

/* Card icon: icon-radius, icon-padding, border-width */
.lp-card__icon {
	border-radius: calc(var(--lp-card-icon-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-card-icon-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-card-icon-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-card-icon-border, var(--lp-card-border, inherit)) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
.lp-card__icon svg,
.lp-card__icon svg * {
	fill: currentColor !important;
}

/* Icones ciblees individuellement (10 slots) */
section#services.lp-section .lp-card:nth-of-type(1) .lp-card__icon { color: var(--lp-icon-1, var(--lp-card-icon, inherit)) !important; }
section#services.lp-section .lp-card:nth-of-type(2) .lp-card__icon { color: var(--lp-icon-2, var(--lp-card-icon, inherit)) !important; }
section#services.lp-section .lp-card:nth-of-type(3) .lp-card__icon { color: var(--lp-icon-3, var(--lp-card-icon, inherit)) !important; }
section#a-propos.lp-section .lp-card:nth-of-type(1) .lp-card__icon { color: var(--lp-icon-1, var(--lp-card-icon, inherit)) !important; }
section#a-propos.lp-section .lp-card:nth-of-type(2) .lp-card__icon { color: var(--lp-icon-2, var(--lp-card-icon, inherit)) !important; }
section#a-propos.lp-section .lp-card:nth-of-type(3) .lp-card__icon { color: var(--lp-icon-3, var(--lp-card-icon, inherit)) !important; }
section#engagements.lp-section .lp-card:nth-of-type(1) .lp-card__icon { color: var(--lp-icon-1, var(--lp-card-icon, inherit)) !important; }
section#engagements.lp-section .lp-card:nth-of-type(2) .lp-card__icon { color: var(--lp-icon-2, var(--lp-card-icon, inherit)) !important; }
section#engagements.lp-section .lp-card:nth-of-type(3) .lp-card__icon { color: var(--lp-icon-3, var(--lp-card-icon, inherit)) !important; }
section#services-details-1.lp-section .lp-card__icon,
section#services-details-1.lp-section .lp-card__list-icon { color: var(--lp-icon-1, var(--lp-card-icon, inherit)) !important; }
section#services-details-2.lp-section .lp-card__icon,
section#services-details-2.lp-section .lp-card__list-icon { color: var(--lp-icon-2, var(--lp-card-icon, inherit)) !important; }
section#services-details-3.lp-section .lp-card__icon,
section#services-details-3.lp-section .lp-card__list-icon { color: var(--lp-icon-3, var(--lp-card-icon, inherit)) !important; }

/* Harmonisation stricte des tailles d'icones sur pages partenaires */
section#services.lp-section,
section#a-propos.lp-section,
section#engagements.lp-section,
section#services-details-1.lp-section,
section#services-details-2.lp-section,
section#services-details-3.lp-section {
	--lp-icon-harmonized-box-size: 4rem;
	--lp-icon-harmonized-glyph-size: 2.5rem;
	--lp-icon-harmonized-box-effective-size: max(var(--lp-icon-harmonized-box-size), var(--lp-icon-harmonized-glyph-size));
}

section#services.lp-section .lp-card__icon,
section#a-propos.lp-section .lp-card__icon,
section#engagements.lp-section .lp-card__icon,
section#services-details-1.lp-section .lp-card__icon,
section#services-details-2.lp-section .lp-card__icon,
section#services-details-3.lp-section .lp-card__icon {
	width: var(--lp-icon-harmonized-box-effective-size) !important;
	height: var(--lp-icon-harmonized-box-effective-size) !important;
	min-width: var(--lp-icon-harmonized-box-effective-size) !important;
	min-height: var(--lp-icon-harmonized-box-effective-size) !important;
	flex: 0 0 var(--lp-icon-harmonized-box-effective-size) !important;
}

section#a-propos.lp-section .lp-card {
	align-self: flex-start !important;
}

section#services.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display,
section#a-propos.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display,
section#engagements.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display,
section#services-details-1.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display,
section#services-details-2.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display,
section#services-details-3.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display {
	width: var(--lp-icon-harmonized-box-effective-size) !important;
	height: var(--lp-icon-harmonized-box-effective-size) !important;
	min-width: var(--lp-icon-harmonized-box-effective-size) !important;
	min-height: var(--lp-icon-harmonized-box-effective-size) !important;
	flex: 0 0 var(--lp-icon-harmonized-box-effective-size) !important;
}

section#services.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg,
section#a-propos.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg,
section#engagements.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg,
section#services-details-1.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg,
section#services-details-2.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg,
section#services-details-3.lp-section .lp-card__icon.lp-icon-picker .lp-icon-picker__display svg {
	width: var(--lp-icon-harmonized-glyph-size) !important;
	height: var(--lp-icon-harmonized-glyph-size) !important;
}

section#services.lp-section .lp-card__icon > svg,
section#a-propos.lp-section .lp-card__icon > svg,
section#engagements.lp-section .lp-card__icon > svg,
section#services-details-1.lp-section .lp-card__icon > svg,
section#services-details-2.lp-section .lp-card__icon > svg,
section#services-details-3.lp-section .lp-card__icon > svg {
	width: var(--lp-icon-harmonized-glyph-size) !important;
	height: var(--lp-icon-harmonized-glyph-size) !important;
}

section#services-details-1.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon,
section#services-details-2.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon,
section#services-details-3.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon {
	width: var(--lp-icon-harmonized-box-effective-size) !important;
	height: var(--lp-icon-harmonized-box-effective-size) !important;
	min-width: var(--lp-icon-harmonized-box-effective-size) !important;
	min-height: var(--lp-icon-harmonized-box-effective-size) !important;
	flex: 0 0 var(--lp-icon-harmonized-box-effective-size) !important;
}

section#services-details-1.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon svg,
section#services-details-2.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon svg,
section#services-details-3.lp-section [data-services-details-variant-view="v4"] .lp-card__list-icon svg {
	width: var(--lp-icon-harmonized-glyph-size) !important;
	height: var(--lp-icon-harmonized-glyph-size) !important;
}

/* Card title/body: no shape props */
.lp-card__title { color: var(--lp-card-title, inherit) !important; font-family: var(--lp-card-title-font-family, inherit) !important; font-size: var(--lp-card-title-font-size, 1em) !important; font-weight: var(--lp-card-title-font-weight, inherit) !important; letter-spacing: var(--lp-card-title-font-letter-spacing, inherit) !important; line-height: var(--lp-card-title-font-line-height, inherit) !important; text-transform: var(--lp-card-title-font-transform, inherit) !important; }
.lp-card__body { 
	color: var(--lp-card-body, inherit) !important; 
	/*padding-inline: var(--lp-card-padding, 0) !important;*/
	font-family: var(--lp-card-body-font-family, inherit) !important; 
	font-size: var(--lp-card-body-font-size, 1em) !important; 
	font-weight: var(--lp-card-body-font-weight, inherit) !important; 
	letter-spacing: var(--lp-card-body-font-letter-spacing, inherit) !important; 
	line-height: var(--lp-card-body-font-line-height, inherit) !important; 
	text-transform: var(--lp-card-body-font-transform, inherit) !important; 
}

[data-services-details-variant-view="v3"] .lp-card__list {
	list-style: var(--lp-card-list-style-v3, inherit) !important;
	gap: calc(var(--lp-card-list-gap-v3, 0px) * var(--lp-space-scale)) !important;
	padding: calc(var(--lp-card-list-padding-v3, 0px) * var(--lp-space-scale)) !important;
}
[data-services-details-variant-view="v4"] .lp-card__list {
	list-style: var(--lp-card-list-style-v4, inherit) !important;
	gap: calc(var(--lp-card-list-gap-v4, 0px) * var(--lp-space-scale)) !important;
	padding: calc(var(--lp-card-list-padding-v4, 0px) * var(--lp-space-scale)) !important;
}
[data-services-details-variant-view="v4"] .lp-card__list-icon { 
    border-radius: calc(var(--lp-card-icon-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-card-icon-padding, 0px) * var(--lp-space-scale)) !important;
    border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
    border-style: solid !important;
    border-color: color-mix(in srgb, var(--lp-card-icon-border, var(--lp-card-border, inherit)) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
    /*background-image: var(--lp-card-btn-secondary-bg-image, inherit) !important;*/
    /*border-radius: var(--lp-card-small-icon-radius, 0) !important;*/
}
[data-services-details-variant-view="v4"] .lp-card__list-icon svg,
[data-services-details-variant-view="v4"] .lp-card__list-icon svg * {
	fill: currentColor !important;
}

.lp-card__list-text { 
    color: var(--lp-section-body, inherit) !important;
    font-family: var(--lp-section-body-font-family, inherit) !important;
	font-size: var(--lp-section-body-font-size, 1em) !important; 
    font-weight: var(--lp-section-body-font-weight, inherit) !important;
    letter-spacing: var(--lp-section-body-font-letter-spacing, inherit) !important;
    line-height: var(--lp-section-body-font-line-height, inherit) !important;
}

/* Card buttons: inherit generic button radius/padding/border/shadow */
.lp-card__btn-primary {
	border-radius: calc(var(--lp-button-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-button-padding-x, 0px) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-button-padding-y, 0px) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-button-shadow, none) !important;
	color: var(--lp-card-btn-primary-text, inherit) !important;
	background-color: var(--lp-card-btn-primary-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-card-btn-primary-border, inherit) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-card-button-primary-font-family, inherit) !important;
	font-size: var(--lp-card-button-primary-font-size, 1em) !important;
    font-weight: var(--lp-card-button-primary-font-weight, inherit) !important;
    letter-spacing: var(--lp-card-button-primary-font-letter-spacing, inherit) !important;
    line-height: var(--lp-card-button-primary-font-line-height, inherit) !important;
    text-transform: var(--lp-card-button-primary-font-transform, inherit) !important;
}
.lp-card__btn-secondary {
	border-radius: calc(var(--lp-button-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-button-padding-x, 0px) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-button-padding-y, 0px) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-button-shadow-shape, none) var(--lp-card-btn-secondary-shadow, none) !important;
	color: var(--lp-card-btn-secondary-text, inherit) !important;
	background-color: var(--lp-card-btn-secondary-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-card-btn-secondary-border, inherit) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
	background-image: var(--lp-card-btn-secondary-bg-image, inherit) !important;
	font-family: var(--lp-card-button-secondary-font-family, inherit) !important;
	font-size: var(--lp-card-button-secondary-font-size, 1em) !important;
    font-weight: var(--lp-card-button-secondary-font-weight, inherit) !important;
    letter-spacing: var(--lp-card-button-secondary-font-letter-spacing, inherit) !important;
    line-height: var(--lp-card-button-secondary-font-line-height, inherit) !important;
    text-transform: var(--lp-card-button-secondary-font-transform, inherit) !important;
}
/* Card actions/header: gap/padding */
.lp-card__actions {
	gap: calc(var(--lp-card-content-gap, 0px) * var(--lp-space-scale)) !important;
	/*padding: var(--lp-card-padding, 0) !important;*/
	color: var(--lp-card-body, inherit) !important;
}
.lp-services--v3 .lp-card__actions {
	padding: calc(var(--lp-card-button-padding, 0px) * var(--lp-space-scale)) !important;
}
.lp-card__header {
	gap: calc(var(--lp-card-content-gap, 0px) * var(--lp-space-scale)) !important;
	/*padding: var(--lp-card-padding, 0) !important;*/
}

/* Services details (v1-v4): adjust only the first gap under the title to section-gap */
section#services-details-1.lp-section .lp-card__content > .lp-card__header + *,
section#services-details-2.lp-section .lp-card__content > .lp-card__header + *,
section#services-details-3.lp-section .lp-card__content > .lp-card__header + *,
section#services-details-1.lp-section .lp-service-detail__content > .lp-section__title + *,
section#services-details-2.lp-section .lp-service-detail__content > .lp-section__title + *,
section#services-details-3.lp-section .lp-service-detail__content > .lp-section__title + * {
	margin-top: calc((var(--lp-section-gap, 0px) - var(--lp-stack-gap-lg, var(--lp-layout-gap, 0px))) * var(--lp-space-scale)) !important;
}

/* Stats card: stats-card radius, padding, border-width, shadow */
.lp-stats__card {
	border-radius: calc(var(--lp-stats-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-stats-card-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-stats-card-shadow, none) !important;
	background-color: var(--lp-stats-card-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-stats-card-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
/* Stats value/label: no shape props */
.lp-stats__value { color: var(--lp-stats-value, inherit) !important; font-family: var(--lp-stats-value-font-family, inherit) !important; font-size: var(--lp-stats-value-font-size, 1em) !important; font-weight: var(--lp-stats-value-font-weight, inherit) !important; letter-spacing: var(--lp-stats-value-font-letter-spacing, inherit) !important; line-height: var(--lp-stats-value-font-line-height, inherit) !important; text-transform: var(--lp-stats-value-font-transform, inherit) !important; }
.lp-stats__label { color: var(--lp-stats-label, inherit) !important; font-family: var(--lp-stats-label-font-family, inherit) !important; font-size: var(--lp-stats-label-font-size, 1em) !important; font-weight: var(--lp-stats-label-font-weight, inherit) !important; letter-spacing: var(--lp-stats-label-font-letter-spacing, inherit) !important; line-height: var(--lp-stats-label-font-line-height, inherit) !important; text-transform: var(--lp-stats-label-font-transform, inherit) !important; }

/* Testimonials card: testimonial-radius, testimonial-padding, testimonial-gap, border-width, shadow */
.lp-testimonial {
	border-radius: calc(var(--lp-testimonial-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-testimonial-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-testimonial-padding-y, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-testimonial-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-testimonial-shadow-shape) var(--lp-testimonial-shadow, none) !important;
	background-color: var(--lp-testimonial-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-testimonial-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
/* Testimonial quote/author: no shape props */
.lp-testimonial__quote { color: var(--lp-testimonial-quote, inherit) !important; font-family: var(--lp-testimonial-quote-font-family, inherit) !important; font-size: var(--lp-testimonial-quote-font-size, 1em) !important; font-weight: var(--lp-testimonial-quote-font-weight, inherit) !important; letter-spacing: var(--lp-testimonial-quote-font-letter-spacing, inherit) !important; line-height: var(--lp-testimonial-quote-font-line-height, inherit) !important; text-transform: var(--lp-testimonial-quote-font-transform, inherit) !important; }
.lp-testimonial__author { color: var(--lp-testimonial-author, inherit) !important; font-family: var(--lp-testimonial-author-font-family, inherit) !important; font-size: var(--lp-testimonial-author-font-size, 1em) !important; font-weight: var(--lp-testimonial-author-font-weight, inherit) !important; letter-spacing: var(--lp-testimonial-author-font-letter-spacing, inherit) !important; line-height: var(--lp-testimonial-author-font-line-height, inherit) !important; text-transform: var(--lp-testimonial-author-font-transform, inherit) !important; }
/* Testimonials nav buttons: testimonial-nav-radius, padding, border-width */
.lp-testimonials__nav {
	border-radius: calc(var(--lp-testimonial-nav-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-button-padding-x, 0px) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-button-padding-y, 0px) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	color: var(--lp-testimonial-nav, inherit) !important;
	background-color: var(--lp-testimonial-nav-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-testimonial-nav-border, inherit) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
}
/* Center modifier: no extra shape props */
.lp-testimonial--center {}
/* Testimonials wrapper/controls/track: gap */
.lp-testimonials { gap: calc(var(--lp-testimonial-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-testimonials__controls {
	gap: calc(var(--lp-testimonial-gap, 0px) * var(--lp-space-scale)) !important;
	color: var(--lp-testimonial-nav, inherit) !important;
}
.lp-testimonials__nav-icon {
	border-radius: calc(var(--lp-testimonial-nav-radius, 0px) * var(--lp-radius-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-testimonial-nav-border, inherit) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
	color: var(--lp-testimonial-nav, inherit) !important;
	background-color: var(--lp-testimonial-nav-bg, inherit) !important;
}
.lp-testimonials__track { gap: calc(var(--lp-testimonial-gap, 0px) * var(--lp-space-scale)) !important; }

.lp-testimonials--v3 .lp-testimonial__rating {
	gap: calc(var(--lp-testimonial-rating-gap, 0px) * var(--lp-space-scale)) !important;
    color: var(--lp-testimonial-rating, currentColor);
    background-color: var(--lp-testimonial-quote, inherit) !important;
	padding-inline: calc(var(--lp-testimonial-rating-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-testimonial-rating-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-radius: calc(var(--lp-testimonial-rating-radius, 0px) * var(--lp-radius-scale)) !important;
}
/* Assignation individuelle pour chaque rating visible */
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(1) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(2) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(3) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(4) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(5) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(6) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(7) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(8) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(9) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonials__track > .lp-testimonial:nth-of-type(10) .lp-testimonial__rating { color: var(--lp-icon-1, var(--lp-testimonial-rating, currentColor)) !important; }
.lp-testimonials--v3 .lp-testimonial__rating svg,
.lp-testimonials--v3 .lp-testimonial__rating svg * {
	fill: var(--lp-testimonial-rating, currentColor) !important;
}
.lp-testimonials--v3 .lp-testimonials__track {
    padding-inline: calc(var(--lp-testimonial-track-padding-x, 0px) * var(--lp-space-scale)) !important;
    padding-block: calc(var(--lp-testimonial-track-padding-y, 0px) * var(--lp-space-scale)) !important;
}

/* FAQ card: faq-radius, faq-padding, faq-gap, border-width, shadow */
.lp-faq {
	border-radius: calc(var(--lp-faq-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-faq-padding, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-faq-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-card-shadow, none) !important;
	background-color: var(--lp-faq-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-faq-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
/* FAQ container styling */
section#faq.lp-section .lp-stack.lp-stack--md {
	background-color: var(--lp-section-bg-1);
	padding: calc(var(--lp-card-padding, 0px) * var(--lp-space-scale));
	border-radius: calc(var(--lp-card-radius, 0px) * var(--lp-radius-scale));
}
/* FAQ question/answer: no shape props */
.lp-faq__question { color: var(--lp-faq-question, inherit) !important; font-family: var(--lp-faq-question-font-family, inherit) !important; font-size: var(--lp-faq-question-font-size, 1em) !important; font-weight: var(--lp-faq-question-font-weight, inherit) !important; letter-spacing: var(--lp-faq-question-font-letter-spacing, inherit) !important; line-height: var(--lp-faq-question-font-line-height, inherit) !important; text-transform: var(--lp-faq-question-font-transform, inherit) !important; }
.lp-faq__answer { color: var(--lp-faq-answer, inherit) !important; font-family: var(--lp-faq-answer-font-family, inherit) !important; font-size: var(--lp-faq-answer-font-size, 1em) !important; font-weight: var(--lp-faq-answer-font-weight, inherit) !important; letter-spacing: var(--lp-faq-answer-font-letter-spacing, inherit) !important; line-height: var(--lp-faq-answer-font-line-height, inherit) !important; text-transform: var(--lp-faq-answer-font-transform, inherit) !important; }
/* FAQ icon: faq-icon radius, padding, border-width */
.lp-faq__icon {
	border-radius: calc(var(--lp-faq-icon-radius, 0px) * var(--lp-radius-scale)) !important;
	/*padding: var(--lp-faq-padding, 0) !important;*/
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-faq-icon-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-faq-icon-border, var(--lp-faq-border, inherit)) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
section#faq.lp-section .lp-faq:nth-of-type(1) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(1) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(2) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(2) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(3) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(3) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(4) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(4) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(5) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(5) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(6) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(6) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(7) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(7) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(8) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(8) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(9) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(9) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
section#faq.lp-section .lp-faq:nth-of-type(10) .lp-faq__icon,
section#faq.lp-section .lp-faq:nth-of-type(10) .lp-faq__icon-mark { color: var(--lp-icon-1, var(--lp-faq-icon, inherit)) !important; }
.lp-faq__icon svg,
.lp-faq__icon svg *,
.lp-faq__icon-mark svg,
.lp-faq__icon-mark svg * {
	fill: currentColor !important;
}
/* FAQ summary row: inherits faq-padding/gap */
.lp-faq__summary {
	padding: calc(var(--lp-faq-padding, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-faq-gap, 0px) * var(--lp-space-scale)) !important;
	color: var(--lp-faq-question, inherit) !important;
	font-family: var(--lp-faq-question-font-family, inherit) !important;
	font-size: var(--lp-faq-question-font-size, 1em) !important;
	font-weight: var(--lp-faq-question-font-weight, inherit) !important;
	letter-spacing: var(--lp-faq-question-font-letter-spacing, inherit) !important;
	line-height: var(--lp-faq-question-font-line-height, inherit) !important;
	text-transform: var(--lp-faq-question-font-transform, inherit) !important;
}
/* FAQ summary borders */
section#faq.lp-section .lp-faq__summary {
	border-bottom-width: 2px !important;
	border-bottom-style: solid !important;
	border-color: var(--lp-section-bg-2) !important;
}

/* Location map: map-radius, map-padding, border-width */
.lp-location__map {
	border-radius: calc(var(--lp-location-map-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-location-map-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-location-map-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-location-map-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
/* Location card: card-radius, card-padding, border-width, shadow */
.lp-location__card {
	border-radius: calc(var(--lp-location-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-location-card-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-location-card-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-card-shadow, none) !important;
	background-color: var(--lp-location-card-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-location-card-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
.lp-location--v2 .lp-location__card {
	padding-block: calc((var(--lp-location-card-padding-y, 0px) - var(--lp-location-card-padding-y, 0px)) * var(--lp-space-scale)) !important;
}
/* Labels/text: no shape props */
.lp-location__label { color: var(--lp-location-label, inherit) !important; font-family: var(--lp-location-label-font-family, inherit) !important; font-size: var(--lp-location-label-font-size, 1em) !important; font-weight: var(--lp-location-label-font-weight, inherit) !important; letter-spacing: var(--lp-location-label-font-letter-spacing, inherit) !important; line-height: var(--lp-location-label-font-line-height, inherit) !important; text-transform: var(--lp-location-label-font-transform, inherit) !important; }
.lp-location__text { color: var(--lp-location-text, inherit) !important; font-family: var(--lp-location-text-font-family, inherit) !important; font-size: var(--lp-location-text-font-size, 1em) !important; font-weight: var(--lp-location-text-font-weight, inherit) !important; letter-spacing: var(--lp-location-text-font-letter-spacing, inherit) !important; line-height: var(--lp-location-text-font-line-height, inherit) !important; text-transform: var(--lp-location-text-font-transform, inherit) !important; }
/* Map frame/wrapper: map-radius, map-padding, border-width */
.lp-location__map-frame {
	border-radius: calc(var(--lp-location-map-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-location-map-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-location-map-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-location-map-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
.lp-location__map-wrapper {
	border-radius: calc(var(--lp-location-map-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-location-map-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-location-map-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-location-map-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}

/* Form card: form-card radius, padding, gap, border-width, shadow */
.lp-form {
	border-radius: calc(var(--lp-form-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-form-card-padding, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-form-card-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	background-color: var(--lp-form-card-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-form-card-border, inherit) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
	box-shadow: var(--lp-form-shadow-shape) var(--lp-form-card-shadow, none) !important;
}
/* Labels/help/error: no shape props */
.lp-form__label { color: var(--lp-form-label, inherit) !important; font-family: var(--lp-form-label-font-family, inherit) !important; font-size: var(--lp-form-label-font-size, 1em) !important; font-weight: var(--lp-form-label-font-weight, inherit) !important; letter-spacing: var(--lp-form-label-font-letter-spacing, inherit) !important; line-height: var(--lp-form-label-font-line-height, inherit) !important; text-transform: var(--lp-form-label-font-transform, inherit) !important; }
.lp-form__help { color: var(--lp-form-help, inherit) !important; font-family: var(--lp-form-help-font-family, inherit) !important; font-size: var(--lp-form-help-font-size, 1em) !important; font-weight: var(--lp-form-help-font-weight, inherit) !important; letter-spacing: var(--lp-form-help-font-letter-spacing, inherit) !important; line-height: var(--lp-form-help-font-line-height, inherit) !important; text-transform: var(--lp-form-help-font-transform, inherit) !important; }
.lp-form__error { color: var(--lp-form-error, inherit) !important; font-family: var(--lp-form-error-font-family, inherit) !important; font-size: var(--lp-form-error-font-size, 1em) !important; font-weight: var(--lp-form-error-font-weight, inherit) !important; letter-spacing: var(--lp-form-error-font-letter-spacing, inherit) !important; line-height: var(--lp-form-error-font-line-height, inherit) !important; text-transform: var(--lp-form-error-font-transform, inherit) !important; }
/* Submit button: form-submit radius, padding-x, padding-y, border-width, shadow */
.lp-form__submit {
	border-radius: calc(var(--lp-form-submit-radius, var(--lp-button-radius, 0px)) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-form-submit-padding-x, var(--lp-button-padding-x, 0px)) * var(--lp-space-button-scale)) !important;
	padding-block: calc(var(--lp-form-submit-padding-y, var(--lp-button-padding-y, 0px)) * var(--lp-space-button-scale)) !important;
	border-width: calc(var(--lp-button-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	box-shadow: var(--lp-button-shadow-shape, none) var(--lp-header-cta-shadow, none) !important;
	color: var(--lp-form-submit-text, inherit) !important;
	background-color: var(--lp-form-submit-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-form-submit-border, inherit) calc(var(--lp-button-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-form-submit-font-family, inherit) !important;
	font-size: var(--lp-form-submit-font-size, 1em) !important;
	font-weight: var(--lp-form-submit-font-weight, inherit) !important;
	letter-spacing: var(--lp-form-submit-font-letter-spacing, inherit) !important;
	line-height: var(--lp-form-submit-font-line-height, inherit) !important;
	text-transform: var(--lp-form-submit-font-transform, inherit) !important;
	background-image: var(--lp-form-submit-bg-image, inherit) !important;
	border-width: calc(var(--lp-header-border-width, 0px) * var(--lp-space-scale)) !important;
    border-style: solid !important;
	border-radius: calc(var(--lp-header-cta-radius, 0px) * var(--lp-radius-scale)) !important;
}
/* Choices inline: gap */
.lp-form__choice { color: var(--lp-form-input-text, inherit) !important; }
/* Inputs: input-radius, input-padding-x, input-padding-y, input-border-width, input-border-opacity */
.lp-form__input {
	border-radius: calc(var(--lp-input-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-input-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-input-padding-y, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-input-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	color: var(--lp-form-input-text, inherit) !important;
	background-color: var(--lp-form-input-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-form-input-border, inherit) calc(var(--lp-input-border-opacity, 1) * 100%)) !important;
	font-family: var(--lp-form-input-font-family, inherit) !important;
	font-size: var(--lp-form-input-font-size, 1em) !important;
	font-weight: var(--lp-form-input-font-weight, inherit) !important;
	letter-spacing: var(--lp-form-input-font-letter-spacing, inherit) !important;
	line-height: var(--lp-form-input-font-line-height, inherit) !important;
	text-transform: var(--lp-form-input-font-transform, inherit) !important;
}
.lp-form__input::placeholder { color: var(--lp-form-input-placeholder, inherit) !important; }
/* Input focus: border-width, shadow ring */
.lp-form__input:focus { border-color: var(--lp-form-input-focus-border, inherit) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--lp-form-input-focus-border, inherit) 20%, transparent) !important; outline: none !important; }
/* Checks: input-radius (via control), border-width, padding */
.lp-form__check {
	accent-color: var(--lp-form-control-accent, inherit) !important;
	border-radius: calc(var(--lp-input-radius, 0px) * var(--lp-radius-scale)) !important;
	border-width: calc(var(--lp-input-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-form-input-border, inherit) calc(var(--lp-input-border-opacity, 1) * 100%), transparent) !important;
	background-color: var(--lp-form-input-bg, inherit) !important;
	color: var(--lp-form-input-text, inherit) !important;
}
/* Form layouts: gaps */
.lp-form__actions { gap: calc(var(--lp-input-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-form__fields { gap: calc(var(--lp-input-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-form__input--textarea { min-height: 120px; }
.lp-form-grid { gap: calc(var(--lp-input-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-form-grid__field { gap: calc(var(--lp-input-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-request-grid {
	gap: calc(var(--lp-input-gap, 0px) * var(--lp-space-scale)) !important;
}

/* Footer: could receive padding/gap/radius if added; currently color-only */
.lp-footer { 
	background-color: var(--lp-footer-bg, inherit) !important; 
	color: var(--lp-footer-text, inherit) !important; 
	padding-block: calc(var(--lp-footer-padding-y, 0px) * var(--lp-space-scale)) !important;
	padding-inline: calc(var(--lp-footer-padding-x, 0px) * var(--lp-space-scale)) !important;
	border-top-color: var(--lp-footer-border, inherit) !important;
    border-top-width: var(--lp-footer-border-width, inherit) !important;
}
.lp-footer__inner { 
	color: var(--lp-footer-text, inherit) !important; 
	gap: calc(var(--lp-footer-inner-gap, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-footer-inner-padding-y, 0px) * var(--lp-space-scale)) !important;
 }
.lp-footer__brand, .lp-footer__brand-name, .lp-footer__brand-link, .lp-footer__text { color: var(--lp-footer-text, inherit) !important; font-family: var(--lp-footer-text-font-family, inherit) !important; font-size: var(--lp-footer-text-font-size, 1em) !important; font-weight: var(--lp-footer-text-font-weight, inherit) !important; letter-spacing: var(--lp-footer-text-font-letter-spacing, inherit) !important; line-height: var(--lp-footer-text-font-line-height, inherit) !important; text-transform: var(--lp-footer-text-font-transform, inherit) !important; }
.lp-footer__section { color: var(--lp-footer-text, inherit) !important; gap: calc(var(--lp-footer-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-footer__heading { color: var(--lp-footer-heading, inherit) !important; font-family: var(--lp-footer-heading-font-family, inherit) !important; font-size: var(--lp-footer-heading-font-size, 1em) !important; font-weight: var(--lp-footer-heading-font-weight, inherit) !important; letter-spacing: var(--lp-footer-heading-font-letter-spacing, inherit) !important; line-height: var(--lp-footer-heading-font-line-height, inherit) !important; text-transform: var(--lp-footer-heading-font-transform, inherit) !important; }
.lp-footer__links, .lp-footer__link, .lp-footer__link--static { 
	gap : var(--lp-footer-nav-gap, inherit) !important; 
	color: var(--lp-footer-text, inherit) !important;
	font-family: var(--lp-footer-text-font-family, inherit) !important;
	font-size: var(--lp-footer-text-font-size, 1em) !important;
    font-weight: var(--lp-footer-text-font-weight, inherit) !important;
    letter-spacing: var(--lp-footer-text-font-letter-spacing, inherit) !important;
    line-height: var(--lp-footer-text-font-line-height, inherit) !important;
    text-transform: var(--lp-footer-text-font-transform, inherit) !important;
}
.lp-footer__meta { border-color: var(--lp-footer-meta-border, inherit) !important; }
.lp-footer__meta-inner { color: var(--lp-footer-meta-text, inherit) !important; font-family: var(--lp-footer-meta-font-family, inherit) !important; font-size: var(--lp-footer-meta-font-size, 1em) !important; font-weight: var(--lp-footer-meta-font-weight, inherit) !important; letter-spacing: var(--lp-footer-meta-font-letter-spacing, inherit) !important; line-height: var(--lp-footer-meta-font-line-height, inherit) !important; text-transform: var(--lp-footer-meta-font-transform, inherit) !important; }
/* Footer CTA: could receive radius, padding, border-width if needed */
.lp-footer__cta { 
	color: var(--lp-footer-cta-text, inherit) !important; 
	background-color: var(--lp-footer-cta-bg, inherit) !important; 
	border-color: var(--lp-footer-cta-border, inherit) !important; 
	font-family: var(--lp-footer-cta-font-family, inherit) !important; 
	font-size: var(--lp-footer-cta-font-size, 1em) !important; 
	font-weight: var(--lp-footer-cta-font-weight, inherit) !important; 
	letter-spacing: var(--lp-footer-cta-font-letter-spacing, inherit) !important; 
	line-height: var(--lp-footer-cta-font-line-height, inherit) !important; 
	text-transform: var(--lp-footer-cta-font-transform, inherit) !important; 
	background-image: var(--lp-footer-cta-bg-image, inherit) !important;
}
/* Footer symbol: radius, padding possible */
.lp-footer__symbol { background-color: var(--lp-footer-symbol-bg, inherit) !important; color: var(--lp-footer-symbol-text, inherit) !important; }
.lp-footer__links--contact {}

/* Chips/badges: chip-radius, padding-x, padding-y, border-width */
.lp-chip,
.lp-keyword-chip,
.lp-selection-pill {
	border-radius: calc(var(--lp-chip-radius, 0px) * var(--lp-radius-scale)) !important;
	padding-inline: calc(var(--lp-chip-padding-x, 0px) * var(--lp-space-scale)) !important;
	padding-block: calc(var(--lp-chip-padding-y, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-chip-gap, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-chip-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	color: var(--lp-chip-text, inherit) !important;
	background-color: var(--lp-chip-bg, inherit) !important;
	border-color: color-mix(in srgb, var(--lp-chip-border-color, var(--lp-chip-border, inherit)) calc(var(--lp-chip-border-opacity, 1) * 100%), transparent) !important;
	font-family: var(--lp-chip-font-family, inherit) !important;
	font-size: var(--lp-chip-font-size, 1em) !important;
	font-weight: var(--lp-chip-font-weight, inherit) !important;
	letter-spacing: var(--lp-chip-font-letter-spacing, inherit) !important;
	line-height: var(--lp-chip-font-line-height, inherit) !important;
	text-transform: var(--lp-chip-font-transform, inherit) !important;
}

/* Text helpers: no shape props */
.lp-link { color: var(--lp-section-body, inherit) !important; font-family: var(--lp-section-body-font-family, inherit) !important; font-size: var(--lp-section-body-font-size, 1em) !important; font-weight: var(--lp-section-body-font-weight, inherit) !important; letter-spacing: var(--lp-section-body-font-letter-spacing, inherit) !important; line-height: var(--lp-section-body-font-line-height, inherit) !important; text-transform: var(--lp-section-body-font-transform, inherit) !important; }
.lp-strong {}
.text-subtle {}
.legal-content {}

/* Layout helpers (grid/stack/inline): gaps driven by layout-gap, stack-gap-*, inline-gap, inline-actions-gap, inline-icon-gap, grid-gap-two/three/four */
.lp-grid { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-grid--four { gap: calc(var(--lp-grid-gap-four, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-grid--three { gap: calc(var(--lp-grid-gap-three, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-grid--two { gap: calc(var(--lp-grid-gap-two, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-grid__item--full { grid-column: 1 / -1; }
.lp-keyword-grid { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-stack { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-stack--lg { gap: calc(var(--lp-stack-gap-lg, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-stack--md { gap: calc(var(--lp-stack-gap-md, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-stack--sm { gap: calc(var(--lp-stack-gap-sm, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-stack--xl { gap: calc(var(--lp-stack-gap-xl, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-section[data-landing-section="legal"] > .lp-section__inner.lp-stack.lp-stack--xl {
	gap: calc(var(--lp-stack-gap-xl-legal, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important;
	max-width: var(--lp-layout-container-max-legal, 0) !important;
	padding-inline: calc(var(--lp-header-inner-padding-x, 0px) * var(--lp-space-scale)) !important;
}
.lp-section[data-landing-section="legal"] .lp-section__title {
	margin-bottom: calc(var(--lp-stack-gap-md, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important;
}
.lp-stack--xs { gap: calc(var(--lp-stack-gap-xs, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-inline { gap: calc(var(--lp-inline-gap, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-inline--actions { gap: calc(var(--lp-inline-actions-gap, var(--lp-inline-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-inline--icon { gap: calc(var(--lp-inline-icon-gap, var(--lp-inline-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-inline-list { gap: calc(var(--lp-inline-gap, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.lp-actions { gap: calc(var(--lp-inline-actions-gap, var(--lp-inline-gap, 0px)) * var(--lp-space-scale)) !important; }
.landing-actions { gap: calc(var(--lp-inline-actions-gap, var(--lp-inline-gap, 0px)) * var(--lp-space-scale)) !important; }

/* Lists: gap/padding optional */
.lp-bullet-list { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-bullet-list__item { padding-inline-start: calc(var(--lp-inline-gap, 0px) * var(--lp-space-scale)) !important; }

/* Icon picker: could reuse card-icon radius/padding */
.lp-icon-picker {
	border-radius: calc(var(--lp-card-icon-radius, 0px) * var(--lp-radius-scale)) !important;
    background: var(--lp-card-icon-bg, transparent) !important;
	padding: calc(var(--lp-card-icon-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: var(--lp-card-border-color, currentColor) !important;
}

.lp-icon-picker__display svg,
.lp-icon-picker__display svg * {
	fill: currentColor !important;
}

/* Request/workflow shells: reuse card/form radius/padding where applied */
.lp-request { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-request-card {
	border-radius: calc(var(--lp-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-form-card-padding, 0px) * var(--lp-space-scale)) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: color-mix(in srgb, var(--lp-card-border-color, var(--lp-card-border, inherit)) calc(var(--lp-card-border-opacity, 1) * 100%), transparent) !important;
}
.lp-request-layout { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.lp-review-prep {}
.lp-section[data-landing-section="review-prep"] > .lp-section__inner,
.lp-section[data-landing-section="review-prep-publication"] > .lp-section__inner {
	padding-inline: calc(var(--lp-section-demande-padding-x, 0px) * var(--lp-space-scale)) !important;
}
.lp-request-confirmation { background-color: var(--lp-section-bg-1, inherit) !important; }
.lp-request-tracking { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }

/* Selection & preview: could use card radius/padding if styled */
.lp-selection-preview {}

/* Services/media: card radius/padding for media blocks */
.lp-service-detail {
	border-radius: calc(var(--lp-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-card-padding, 0px) * var(--lp-space-scale)) !important;
	gap: calc(var(--lp-card-gap, 0px) * var(--lp-space-scale)) !important;
	background-color: var(--lp-services-detail-card-bg, inherit) !important;
}
.lp-service-detail__media {
	border-radius: calc(var(--lp-card-radius, 0px) * var(--lp-radius-scale)) !important;
	padding: calc(var(--lp-card-padding, 0px) * var(--lp-space-scale)) !important;
}
@media (max-width: 720px) {
	[data-services-details-variant-view="v1"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-service-detail,
	[data-services-details-variant-view="v3"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-service-detail {
		padding: 0 !important;
	}

	[data-services-details-variant-view="v1"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-service-detail__media,
	[data-services-details-variant-view="v2"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-service-detail__media,
	[data-services-details-variant-view="v3"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-service-detail__media,
	[data-services-details-variant-view="v4"] :is(section#services-details-1.lp-section, section#services-details-2.lp-section, section#services-details-3.lp-section) .lp-media.lp-section__body.lp-service-detail__media {
		padding: 0 !important;
	}
}
.lp-media {}
.lp-media-frame, 
.lp-card__media-wrapper {
	border-radius: calc(var(--lp-radius-lg, 0px) * var(--lp-radius-scale)) !important;
    background-color: var(--lp-card-bg, inherit) !important;
	border-width: calc(var(--lp-card-border-width, 0px) * var(--lp-space-scale)) !important;
	border-style: solid !important;
	border-color: var(--lp-card-border, transparent) !important;
}

/* Shell wrappers: spacing via section/layout gap where applied */
.partner-landing-body { gap: calc(var(--lp-section-gap, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.partner-request-field { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.partner-request-grid { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.public-main { gap: calc(var(--lp-section-gap, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }
.public-main__content { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.public-main__content--wide { gap: calc(var(--lp-layout-gap, 0px) * var(--lp-space-scale)) !important; }
.public-page { gap: calc(var(--lp-section-gap, var(--lp-layout-gap, 0px)) * var(--lp-space-scale)) !important; }

/* Misc utilities: no shape props */
.is-hidden {}
}

