@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/InterVariable.woff2") format("woff2-variations"),url("../fonts/InterVariable.woff2") format("woff2");}
:root {
	--lmp-ink: #050d14;
	--lmp-ink-2: #19132e;
	--lmp-lime: #8976fd;
	--lmp-lime-soft: #dcd6ff;
	--lmp-paper: #f8f7fb;
	--lmp-white: #fff;
	--lmp-mist: #e9e6f5;
	--lmp-muted: #626071;
	--lmp-line: rgba(5, 13, 20, .13);
	--lmp-radius: 22px;
	--lmp-shadow: 0 24px 65px rgba(5, 13, 20, .13);
	--lmp-shell: min(1240px, calc(100% - 48px));
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.lmp-site {
	margin: 0;
	background: var(--lmp-paper);
	color: var(--lmp-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
}

body.lmp-menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

button,
input,
select,
textarea {
	font: inherit;
}

.screen-reader-text,
.lmp-skip {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lmp-skip:focus {
	position: fixed;
	z-index: 1000000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	clip: auto;
	margin: 0;
	padding: 10px 14px;
	background: var(--lmp-white);
	color: var(--lmp-ink);
	border-radius: 8px;
}

.lmp-shell {
	width: var(--lmp-shell);
	margin-inline: auto;
}

.lmp-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	background: rgba(248, 247, 251, .92);
	border-bottom: 1px solid rgba(5, 13, 20, .08);
	backdrop-filter: blur(16px);
}

.admin-bar .lmp-header {
	top: 32px;
}

.lmp-header__inner {
	width: min(1400px, calc(100% - 48px));
	height: 82px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 36px;
}

.lmp-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: max-content;
	color: var(--lmp-ink);
	text-decoration: none;
}

.lmp-brand > span:last-child {
	display: grid;
	line-height: 1.14;
}

.lmp-brand strong {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .14em;
}

.lmp-brand small {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .24em;
	/* Contraste : 0,58 donnait 3,9 pour 4,5 exiges sur ce bleu nuit. */
	opacity: .7;
}

.lmp-brand__mark {
	position: relative;
	display: block;
	width: 37px;
	height: 37px;
	background: var(--lmp-ink);
	border-radius: 9px 15px 9px 15px;
	transform: rotate(-4deg);
}

.lmp-brand__mark i {
	position: absolute;
	display: block;
	width: 6px;
	height: 18px;
	top: 10px;
	background: var(--lmp-lime);
	border-radius: 6px;
	transform: skew(-18deg);
}

.lmp-brand__mark i:nth-child(1) { left: 8px; }
.lmp-brand__mark i:nth-child(2) { left: 16px; height: 13px; top: 15px; }
.lmp-brand__mark i:nth-child(3) { left: 24px; height: 8px; top: 20px; }

.lmp-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px,2.4vw,38px);
	margin-left: auto;
}

/* La navigation vient désormais d'un menu WordPress : les liens sont dans une
   liste, et c'est la liste qui porte la mise en ligne. */
.lmp-nav .lmp-menu {
	display: flex;
	align-items: center;
	gap: inherit;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lmp-nav .lmp-menu li { margin: 0; }

.lmp-nav a {
	position: relative;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.lmp-nav a::after {
	position: absolute;
	content: "";
	left: 0;
	right: 100%;
	bottom: -7px;
	height: 2px;
	background: var(--lmp-ink);
	transition: right .2s ease;
}

.lmp-nav a:hover::after,
.lmp-nav a:focus-visible::after {
	right: 0;
}

/* Le panier et l'appel à l'action voyagent ensemble à droite de la barre. */
.lmp-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 8px;
}

.lmp-header__cart {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--lmp-line);
	border-radius: 999px;
	color: var(--lmp-ink);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	transition: border-color .2s ease, background .2s ease;
}

.lmp-header__cart:hover,
.lmp-header__cart:focus-visible { border-color: var(--lmp-ink); background: var(--lmp-paper); }

.lmp-header__cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	background: #eef0f6;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.lmp-header__cart.is-filled .lmp-header__cart-count { background: var(--lmp-ink); color: var(--lmp-white); }
.lmp-header__cart::after { display: none; }

/* En-tête construit avec Elementor : le panier et le bouton de compte tiennent
   sur une seule ligne, alignés à droite, au lieu de s'empiler. */
/* L'en-tête construit avec Elementor : une seule ligne, tout aligné.
   Les entrées longues — « Module Planning », « Voir une démo » — se coupaient
   en deux lignes et la barre des menus ne tombait pas à la même hauteur que le
   panier et le bouton de compte. */
#masthead .elementor-section > .elementor-container { align-items: center; flex-wrap: nowrap; gap: 18px; }
#masthead .elementor-top-column > .elementor-widget-wrap { align-content: center; align-items: center; }
/* Le gabarit demande une navigation alignée en bas de sa colonne : sur la
   boutique, elle tombait dix pixels sous le panier et le bouton de compte. */
#masthead .elementor-widget-navigation-menu { align-self: center; }
/* Les colonnes cessent d'être des pourcentages : le logo et les boutons
   prennent ce qu'il leur faut, la navigation occupe le reste. Des largeurs
   fixes coupaient les entrées longues en deux lignes, ou les faisaient
   chevaucher le panier. */
@media (min-width: 901px) {
	/* La barre prend la largeur de la page (1320) au lieu de 1220 : cent
	   pixels de plus, c'est une entrée de menu qui cesse de se plier. */
	#masthead .elementor-section > .elementor-container { max-width: 1320px; }
	/* Les autres langues sont plus longues que le français : la barre allemande
	   passait sous le sélecteur de langue. Sur les grands écrans, la bande
	   s'élargit plutôt que de replier une entrée. */
	@media (min-width: 1500px) {
		#masthead .elementor-section > .elementor-container,
		.elementor-location-header .elementor-section > .elementor-container { max-width: 1460px; }
	}
	/* Et les entrées respirent un peu moins : 15 px de part et d'autre pour
	   sept entrées, c'est 210 px de vide dans une barre qui déborde. */
	#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item { padding-left: 10px; padding-right: 10px; font-size: 15px; }
	#masthead .elementor-top-column:first-child { flex: 0 0 auto; width: auto; }
	#masthead .elementor-top-column:nth-child(2) { flex: 1 1 auto; width: auto; min-width: 0; }
	#masthead .elementor-top-column:last-child { flex: 0 0 auto; width: auto; }
}
#masthead .hfe-nav-menu__layout-horizontal .menu-item > a.hfe-menu-item,
#masthead .hfe-nav-menu .menu-item > a { white-space: nowrap; }
/* Le sélecteur de langue a pris une cinquantaine de pixels dans la barre, et
   « Nos thèmes » s'est replié sur deux lignes. La consigne du propriétaire est
   une seule ligne : on interdit le retour sur l'entrée entière, arrière-flèche
   comprise, et on resserre l'espacement avant que la barre ne déborde. */
#masthead .hfe-nav-menu .menu-item,
.elementor-location-header .hfe-nav-menu .menu-item { white-space: nowrap; }
@media (max-width: 1600px) {
	#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item,
	.elementor-location-header .hfe-nav-menu > .menu-item > a.hfe-menu-item { padding-left: 6px; padding-right: 6px; }
}
/* Les langues n'ont pas la même longueur : « Eine Demo ansehen » prend un tiers
   de plus que « Voir une démo », et la barre allemande passait sous le
   sélecteur. On laisse la colonne du menu se contracter et on réduit un peu le
   texte plutôt que de le replier sur deux lignes. */
@media (min-width: 861px) {
	#masthead .elementor-top-column:nth-child(2),
	.elementor-location-header .elementor-top-column:nth-child(2) { min-width: 0; }
	#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item,
	.elementor-location-header .hfe-nav-menu > .menu-item > a.hfe-menu-item { font-size: clamp(12px, 0.86vw, 15px); }
}
#masthead .hfe-nav-menu__layout-horizontal { align-items: center; }

/* Les entrées du sous-menu s'allument au survol et au clavier : sans cela, on
   ne sait pas sur quelle ligne on s'apprête à cliquer. */
/* Le panneau du sous-menu : détaché de la barre, arrondi, avec son ombre — sinon
   il donne l'impression de déborder de l'en-tête sur la page. */
#masthead .hfe-nav-menu .sub-menu {
	margin-top: 8px;
	padding: 8px;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 16px;
	box-shadow: 0 24px 50px rgba(17,26,48,.14);
	max-width: min(320px,calc(100vw - 32px));
}

#masthead .hfe-nav-menu .sub-menu .menu-item { border: 0; }

#masthead .sub-menu a.hfe-sub-menu-item,
#masthead .sub-menu a {
	border-radius: 10px;
	transition: background-color .15s ease, color .15s ease;
}

#masthead .sub-menu a.hfe-sub-menu-item:hover,
#masthead .sub-menu a.hfe-sub-menu-item:focus-visible,
#masthead .sub-menu .menu-item:hover > a.hfe-sub-menu-item,
#masthead .sub-menu a:hover,
#masthead .sub-menu a:focus-visible {
	background-color: #f1efff;
	color: #4c30d6;
}

#masthead .sub-menu .current-menu-item > a { background-color: #f6f5ff; font-weight: 700; }

#masthead .elementor-top-column:last-child > .elementor-widget-wrap,
.elementor-location-header .elementor-top-column:last-child > .elementor-widget-wrap {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

/* Elementor met 20 px sous chaque widget : le panier remontait d'autant et se
   retrouvait dix pixels au-dessus du bouton de compte. */
#masthead .elementor-widget-wrap > .elementor-widget-shortcode { margin-bottom: 0; }

#masthead .elementor-widget-wrap > .elementor-widget-shortcode,
#masthead .elementor-widget-wrap > .elementor-widget-button,
.elementor-location-header .elementor-widget-wrap > .elementor-widget-shortcode,
.elementor-location-header .elementor-widget-wrap > .elementor-widget-button { flex: 0 0 auto; width: auto; }
#masthead .elementor-widget-shortcode .elementor-shortcode,
.elementor-location-header .elementor-widget-shortcode .elementor-shortcode { display: inline-flex; }

/* Le sélecteur de langue de l'en-tête.

   Il est volontairement discret : le visiteur français, qui est la majorité,
   ne doit pas se demander à quoi sert ce bouton. Les six langues ne se
   déplient qu'au clic ou au clavier. */
.lmp-langues { position: relative; display: inline-flex; }
/* L'en-tête Elementor coupe ce qui dépasse de sa bande : la liste dépliée
   n'en montrait que la première ligne. On rouvre la seule colonne concernée,
   celle de droite, plutôt que toute la barre. */
#masthead .elementor-top-column:last-child,
#masthead .elementor-top-column:last-child > .elementor-widget-wrap,
#masthead .elementor-widget-shortcode,
#masthead .elementor-widget-shortcode > .elementor-widget-container,
#masthead .elementor-widget-shortcode .elementor-shortcode,
.elementor-location-header .elementor-top-column:last-child,
.elementor-location-header .elementor-top-column:last-child > .elementor-widget-wrap,
.elementor-location-header .elementor-widget-shortcode,
.elementor-location-header .elementor-widget-shortcode > .elementor-widget-container,
.elementor-location-header .elementor-widget-shortcode .elementor-shortcode { overflow: visible; }
/* Elementor pose « overflow: hidden » sur la bande de l'en-tête. La liste des
   langues, qui doit déborder vers le bas, n'en montrait que la première ligne :
   un visiteur allemand voyait « Français » et rien d'autre. */
.lmp-site.ehf-header #masthead,
.lmp-site.ehf-header #masthead .elementor-section,
.lmp-site.ehf-header #masthead .elementor-container,
.lmp-site.ehf-header #masthead .elementor-column,
.lmp-site.ehf-header #masthead .elementor-element-populated,
.lmp-site .elementor-location-header,
.lmp-site .elementor-location-header .elementor-section,
.lmp-site .elementor-location-header .elementor-container,
.lmp-site .elementor-location-header .elementor-column,
.lmp-site .elementor-location-header .elementor-element-populated { overflow: visible !important; }
.lmp-langues__bouton {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 10px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px;
	background: transparent; color: var(--lyv-menu-text, #fff);
	font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .04em; line-height: 1;
	cursor: pointer;
}
.lmp-langues__bouton:hover, .lmp-langues__bouton:focus-visible { border-color: var(--lyv-accent, #6c5ce7); }
.lmp-langues__fleche { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.lmp-langues__liste {
	position: absolute; top: calc(100% + 8px); right: 0; z-index: 1000;
	margin: 0; padding: 6px; list-style: none; min-width: 168px;
	background: #fff; border: 1px solid var(--lmp-line, #e3e6ef); border-radius: 12px;
	box-shadow: 0 18px 38px rgba(17,26,48,.16);
	display: none;
}
.lmp-langues[data-ouvert] .lmp-langues__liste { display: block; }
.lmp-langues[data-ouvert] .lmp-langues__fleche { transform: translateY(2px) rotate(225deg); }
.lmp-langues__liste a { display: block; padding: 9px 12px; border-radius: 8px; color: #1a2440; text-decoration: none; font-size: 15px; }
.lmp-langues__liste a:hover, .lmp-langues__liste a:focus-visible { background: #f6f5ff; }
.lmp-langues__liste .est-courante a { font-weight: 700; background: #f6f5ff; }

/* Dans l'en-tête livré sans constructeur, le sélecteur vit à côté du panier. */
.lmp-header__actions .lmp-langues__bouton { border-color: rgba(255,255,255,.22); }

@media (max-width: 860px) {
	/* Sur téléphone, la barre est déjà pleine : on garde le sélecteur, mais
	   sans son cadre, pour qu'il ne rivalise pas avec le bouton de menu. */
	/* Le cadre disparaît, pas la cible : 28 px de haut restent atteignables au
	   doigt, ce que le seuil d'interface vérifie. */
	.lmp-langues__bouton { padding: 6px 4px; border-color: transparent; min-height: 28px; min-width: 28px; justify-content: center; }
	.lmp-langues__liste { right: auto; left: 0; }
}

@media (max-width: 480px) {
	/* À 320 px, la barre n'a plus un pixel : le sélecteur poussait le bouton
	   de compte hors de l'écran de quatre pixels. On resserre l'espacement
	   plutôt que de cacher le sélecteur — un visiteur étranger sur téléphone
	   est précisément celui qui en a besoin. */
	#masthead .elementor-top-column:last-child > .elementor-widget-wrap,
	.elementor-location-header .elementor-top-column:last-child > .elementor-widget-wrap { gap: 6px; }
	.lmp-langues__bouton { padding: 4px 2px; font-size: 12px; gap: 4px; min-height: 28px; min-width: 28px; }
	.lmp-langues__fleche { width: 6px; height: 6px; }
}

/* Les écrans qui illustrent « Ce que contient le thème ». */
.lmp-fiche-illustrations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; margin: 34px 0 10px; }
.lmp-fiche-illustrations figure { margin: 0; }
.lmp-fiche-illustrations img { width: 100%; height: auto; aspect-ratio: 1200 / 806; object-fit: cover; object-position: top center; background: #eef0f6; border: 1px solid var(--lmp-line); border-radius: 16px; box-shadow: 0 18px 38px rgba(17,26,48,.10); }
.lmp-fiche-illustrations figcaption { padding: 16px 2px 0; }
.lmp-fiche-illustrations h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.25; letter-spacing: -.01em; }
.lmp-fiche-illustrations p { margin: 0; color: #56687f; font-size: 15px; line-height: 1.6; }
@media (max-width: 860px) { .lmp-fiche-illustrations { grid-template-columns: 1fr; gap: 26px; } }

/* La phrase qui dit en une ligne ce qui est vendu. */
.lmp-product-answer { max-width: 620px; margin: 4px 0 18px; padding: 14px 16px; background: var(--lmp-paper); border-left: 3px solid #6544f5; border-radius: 0 12px 12px 0; color: #3d4c63; font-size: 14px; line-height: 1.6; }
.lmp-product-faq-more { margin-top: 26px; color: #53647b; font-size: 15px; }
.lmp-product-faq-more a { font-weight: 700; }

/* La fiche technique : une liste de définitions en cartes de même hauteur.
   Sept valeurs dans une grille de quatre laissaient une rangée boiteuse et un
   bandeau blanc coincé entre deux sections colorées. */
.lmp-product-specs-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 42px 0 0; }
@media (max-width: 1100px) { .lmp-product-specs-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .lmp-product-specs-grid { grid-template-columns: 1fr; } }
.lmp-product-specs-grid > div { display: flex; flex-direction: column; gap: 7px; padding: 22px; background: var(--lmp-white); border: 1px solid var(--lmp-line); border-radius: 16px; }
.lmp-product-specs-grid dt { color: #6544f5; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lmp-product-specs-grid dd { margin: 0; color: var(--lmp-ink); font-size: 15px; line-height: 1.55; }

/* Sous-menu : les fiches des thèmes sous « Nos thèmes ». */
.lmp-nav .menu-item-has-children { position: relative; display: flex; align-items: center; gap: 4px; }
.lmp-nav .sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: -18px;
	z-index: 40;
	display: grid;
	gap: 2px;
	min-width: 268px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 16px;
	box-shadow: 0 24px 50px rgba(17,26,48,.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}

.lmp-nav .sub-menu::before { position: absolute; content: ""; inset: -16px 0 auto; height: 16px; }
.lmp-nav .menu-item-has-children:hover > .sub-menu,
.lmp-nav .menu-item-has-children:focus-within > .sub-menu,
.lmp-nav .menu-item-has-children.is-open > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lmp-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 13px; font-weight: 600; }
.lmp-nav .sub-menu a:hover, .lmp-nav .sub-menu a:focus-visible { background: var(--lmp-paper); }
.lmp-nav .sub-menu a::after { display: none; }

.lmp-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* 24 px, pas 22 : c'est le plus petit point qu'on demande partout ailleurs,
	   et ce bouton ouvre la liste des produits. Il y échappait parce que la
	   boutique locale portait un en-tête construit avec Elementor, que la
	   production n'a jamais eu. */
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 11px;
	line-height: 1;
	cursor: pointer;
}

.lmp-nav .menu-item-has-children.is-open .lmp-submenu-toggle { transform: rotate(180deg); }

.lmp-header__cta {
	margin-left: 0;
	padding: 12px 18px;
	background: var(--lmp-ink);
	color: var(--lmp-white);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 999px;
}

.lmp-header__cta span {
	margin-left: 8px;
	color: var(--lyv-accent-on-dark, #a9c3ff);
}

.lmp-menu-button {
	display: none;
	width: 42px;
	height: 42px;
	padding: 11px 9px;
	border: 0;
	background: var(--lmp-ink);
	border-radius: 12px;
}

.lmp-menu-button span {
	display: block;
	width: 100%;
	height: 2px;
	margin: 4px 0;
	background: var(--lmp-white);
	transition: transform .2s ease, opacity .2s ease;
}

.lmp-hero {
	position: relative;
	min-height: 760px;
	padding: 108px 0 88px;
	background: var(--lmp-paper);
	overflow: hidden;
}

.lmp-hero__glow {
	position: absolute;
	width: 660px;
	height: 660px;
	right: -180px;
	top: -170px;
	background: radial-gradient(circle, rgba(223, 255, 50, .42), rgba(223, 255, 50, 0) 68%);
	pointer-events: none;
}

.lmp-hero::after {
	position: absolute;
	content: "";
	width: 260px;
	height: 260px;
	left: -170px;
	bottom: -100px;
	border: 45px solid rgba(5, 13, 20, .04);
	border-radius: 50%;
}

.lmp-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
	align-items: center;
	gap: clamp(29px,4.2vw,62px);
}

.lmp-kicker,
.lmp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #4b5c56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2em;
}

.lmp-kicker i {
	width: 24px;
	height: 2px;
	background: var(--lmp-ink);
}

.lmp-hero h1,
.lmp-page-hero h1 {
	margin: 25px 0 28px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(41px,4.1vw,62px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.055em;
}

.lmp-hero h1 em {
	position: relative;
	font-weight: 400;
	color: var(--lmp-ink-2);
}

.lmp-hero h1 em::after {
	position: absolute;
	z-index: -1;
	content: "";
	left: 0;
	right: -4px;
	bottom: 7px;
	height: 14px;
	background: var(--lmp-lime);
	transform: rotate(-1deg);
}

.lmp-hero__copy > p,
.lmp-page-hero p {
	max-width: 580px;
	margin: 0;
	color: var(--lmp-muted);
	font-size: 17px;
}

.lmp-actions {
	display: flex;
	align-items: center;
	gap: 27px;
	margin-top: 38px;
}

.lmp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	min-height: 52px;
	padding: 13px 21px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.lmp-button:hover,
.lmp-button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 25px rgba(5, 13, 20, .16);
}

.lmp-button span {
	font-size: 18px;
	line-height: 1.14;
}

.lmp-button--lime { background: var(--lmp-lime); color: var(--lmp-white); }
.lmp-button--dark { background: var(--lmp-ink); color: var(--lmp-white); }
.lmp-button--light { background: var(--lmp-white); color: var(--lmp-ink); }

.lmp-text-link {
	font-size: 12px;
	font-weight: 700;
	text-underline-offset: 5px;
}

.lmp-text-link span {
	margin-left: 8px;
	color: #4b5c56;
}

.lmp-text-link--light {
	color: var(--lmp-white);
}

.lmp-hero__proof {
	display: flex;
	gap: 27px;
	margin-top: 65px;
	padding-top: 25px;
	border-top: 1px solid var(--lmp-line);
}

.lmp-hero__proof span {
	color: var(--lmp-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lmp-hero__proof b {
	display: block;
	margin-bottom: 3px;
	color: var(--lmp-ink);
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 21px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.lmp-hero__visual {
	position: relative;
	min-height: 515px;
}

.lmp-browser {
	overflow: hidden;
	background: var(--lmp-white);
	border: 1px solid rgba(5, 13, 20, .12);
	border-radius: 18px;
	box-shadow: var(--lmp-shadow);
}

.lmp-browser--main {
	position: absolute;
	width: 108%;
	left: 0;
	top: 18px;
	transform: rotate(1.6deg);
}

.lmp-browser__top {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 13px;
	background: #edf0ee;
}

.lmp-browser__top span {
	width: 7px;
	height: 7px;
	background: #bdc7c2;
	border-radius: 50%;
}

.lmp-browser__top small {
	margin: auto;
	padding: 5px 19px;
	background: var(--lmp-white);
	color: #52627a;
	font-size: 12px;
	border-radius: 999px;
}

.lmp-browser img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top;
}

.lmp-floating-card {
	position: absolute;
	z-index: 3;
	display: grid;
	min-width: 170px;
	padding: 16px 18px;
	background: var(--lmp-white);
	border-radius: 13px;
	box-shadow: 0 15px 35px rgba(5, 13, 20, .16);
}

.lmp-floating-card span {
	position: absolute;
	left: -16px;
	top: 15px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	background: var(--lmp-lime);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	border-radius: 50%;
}

.lmp-floating-card strong { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 18px; font-weight: 400; }
.lmp-floating-card small { margin-top: 2px; color: var(--lmp-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.lmp-floating-card--one { left: -20px; bottom: 42px; }
.lmp-floating-card--two { right: -8px; top: 0; }

.lmp-logo-strip {
	padding: 21px 0;
	background: var(--lmp-ink);
	color: #aec1ba;
}

.lmp-logo-strip .lmp-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
}

.lmp-logo-strip span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2em;
}

.lmp-logo-strip i {
	width: 4px;
	height: 4px;
	background: var(--lmp-lime);
	border-radius: 50%;
}

.lmp-section {
	padding: 125px 0;
}

.lmp-section-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 60px;
	margin-bottom: 64px;
}

.lmp-section-heading h2,
.lmp-footer h2 {
	margin: 13px 0 0;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(41px,4.25vw,62px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.045em;
}

.lmp-section-heading > p {
	max-width: 395px;
	margin: 0 0 7px;
	color: var(--lmp-muted);
	font-size: 14px;
}

.lmp-section-heading--center {
	justify-content: center;
	text-align: center;
}

.lmp-demos {
	background: var(--lmp-white);
}

.lmp-demo-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 27px;
}

.lmp-demo-card {
	min-width: 0;
	border: 1px solid var(--lmp-line);
	background: var(--lmp-paper);
	border-radius: var(--lmp-radius);
	overflow: hidden;
}

.lmp-demo-card--large { grid-column: auto; }

.lmp-demo-card__image {
	position: relative;
	display: block;
	overflow: hidden;
	background: #dfe4e1;
	text-decoration: none;
}

.lmp-demo-card__image img {
	width: 100%;
	aspect-ratio: 16 / 8.25;
	object-fit: cover;
	transition: transform .55s ease;
}

.lmp-demo-card:not(.lmp-demo-card--large) .lmp-demo-card__image img {
	aspect-ratio: 16 / 9;
}

.lmp-demo-card__image:hover img {
	transform: scale(1.025);
}

.lmp-demo-card__image > b {
	position: absolute;
	right: 23px;
	bottom: 23px;
	padding: 12px 17px;
	background: var(--lmp-white);
	font-size: 12px;
	border-radius: 999px;
}

.lmp-demo-card__image > b i {
	margin-left: 9px;
	color: #4b5c56;
	font-style: normal;
}

.lmp-status {
	position: absolute;
	left: 20px;
	top: 20px;
	z-index: 2;
	padding: 8px 11px;
	background: #07131f;
	color: var(--lmp-white);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	border-radius: 999px;
	backdrop-filter: blur(8px);
}

.lmp-status--live { color: var(--lyv-accent-on-dark, #a9c3ff); }

.lmp-demo-card__content {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding: 26px 29px 31px;
}

.lmp-demo-card__content small,
.lmp-theme-row__content > small,
.lmp-portfolio-card div > span,
.lmp-offer-grid article > span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2em;
	/* Les capitales viennent d'ici et non de PHP : `strtoupper` travaille octet
	   par octet et coupait « Matériel » en « MATéRIEL ». */
	text-transform: uppercase;
}

.lmp-demo-card__content h3 {
	margin: 6px 0 6px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 28px;
	font-weight: 400;
}

.lmp-demo-card__content p {
	max-width: 530px;
	margin: 0;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-demo-card__number {
	align-self: end;
	color: #6d7572;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 45px;
	line-height: 1.14;
}

.lmp-features {
	background: var(--lmp-paper);
}

.lmp-feature-grid,
.lmp-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--lmp-line);
	border: 1px solid var(--lmp-line);
}

.lmp-feature-grid article,
.lmp-service-grid article {
	min-height: 260px;
	padding: 35px;
	background: var(--lmp-paper);
}

.lmp-feature-grid article > span {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 42px;
	background: var(--lmp-white);
	font-size: 22px;
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(5, 13, 20, .08);
}

.lmp-feature-grid h3,
.lmp-service-grid h3 {
	margin: 0 0 8px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 22px;
	font-weight: 400;
}

.lmp-feature-grid p,
.lmp-service-grid p {
	margin: 0;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-planning-teaser {
	position: relative;
	padding: 125px 0;
	background: var(--lmp-ink);
	color: var(--lmp-white);
	overflow: hidden;
}

.lmp-planning-teaser::before {
	position: absolute;
	content: "";
	width: 650px;
	height: 650px;
	right: -280px;
	top: -260px;
	border: 90px solid rgba(223, 255, 50, .06);
	border-radius: 50%;
}

.lmp-planning-teaser__inner {
	position: relative;
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	align-items: center;
	gap: clamp(31px,4.5vw,62px);
}

.lmp-eyebrow--lime { color: var(--lmp-lime); }
.lmp-planning-teaser .lmp-eyebrow--lime,
.lmp-page-hero .lmp-eyebrow--lime,
.lmp-footer .lmp-eyebrow--lime { color: var(--lyv-accent-on-dark, #a9c3ff); }

.lmp-planning-teaser h2 {
	margin: 15px 0 24px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(42px,4.4vw,62px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.045em;
}

.lmp-planning-teaser__copy > p {
	color: #b7c8c2;
	font-size: 14px;
}

.lmp-planning-teaser ul,
.lmp-offer-grid ul,
.lmp-theme-row ul {
	list-style: none;
	padding: 0;
	margin: 27px 0 32px;
}

.lmp-planning-teaser li,
.lmp-offer-grid li,
.lmp-theme-row li {
	position: relative;
	margin: 9px 0;
	padding-left: 22px;
	font-size: 12px;
}

.lmp-planning-teaser li::before,
.lmp-offer-grid li::before,
.lmp-theme-row li::before {
	position: absolute;
	content: "✓";
	left: 0;
	color: var(--lmp-lime);
	font-weight: 700;
}

.lmp-dashboard {
	padding: 17px;
	background: #f8faf9;
	color: var(--lmp-ink);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}

.lmp-dashboard__bar {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 7px 4px 17px;
	border-bottom: 1px solid var(--lmp-line);
}

.lmp-dashboard__bar i {
	width: 9px;
	height: 9px;
	background: #2ad193;
	border-radius: 50%;
}

.lmp-dashboard__bar strong {
	font-size: 12px;
	letter-spacing: .13em;
}

.lmp-dashboard__bar span {
	margin-left: auto;
	color: var(--lmp-muted);
	font-size: 12px;
}

.lmp-dashboard__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	padding: 14px 0;
}

.lmp-dashboard__metrics > span {
	display: grid;
	padding: 12px 14px;
	background: var(--lmp-white);
	border: 1px solid rgba(5, 13, 20, .08);
	border-radius: 10px;
}

.lmp-dashboard__metrics small { color: var(--lmp-muted); font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.lmp-dashboard__metrics b { margin: 4px 0; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 24px; font-weight: 400; }
.lmp-dashboard__metrics em { color: #6e45e9; font-size: 12px; font-style: normal; font-weight: 700; }

.lmp-dashboard__calendar {
	padding: 12px 14px 14px;
	background: var(--lmp-white);
	border: 1px solid rgba(5, 13, 20, .08);
	border-radius: 10px;
}

.lmp-dashboard__labels {
	display: grid;
	grid-template-columns: 1.5fr repeat(5, 1fr);
	padding-bottom: 8px;
	color: #596963;
	font-size: 12px;
	text-align: center;
}

.lmp-dashboard__labels span:first-child { text-align: left; }

.lmp-dashboard__row {
	position: relative;
	display: grid;
	grid-template-columns: 1.5fr 5fr;
	align-items: center;
	min-height: 36px;
	border-top: 1px solid rgba(5, 13, 20, .07);
}

.lmp-dashboard__row strong { font-size: 12px; }
.lmp-dashboard__row i { position: relative; display: block; height: 15px; background: #b5f2db; border-radius: 4px; }
.lmp-dashboard__row i.is-1 { width: 57%; margin-left: 8%; background: #cbf36e; }
.lmp-dashboard__row i.is-2 { width: 45%; margin-left: 42%; background: #aee6d5; }
.lmp-dashboard__row i.is-3 { width: 62%; margin-left: 18%; background: #f4cd72; }
.lmp-dashboard__row i.is-4 { width: 37%; margin-left: 5%; background: #9fd9ee; }

.lmp-offers {
	background: var(--lmp-white);
}

.lmp-offer-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
}

.lmp-offer-grid article {
	display: flex;
	flex-direction: column;
	min-height: 495px;
	padding: 38px 34px;
	background: var(--lmp-paper);
	border: 1px solid var(--lmp-line);
	border-radius: 19px;
}

.lmp-offer-grid article.is-featured {
	background: var(--lmp-ink);
	color: var(--lmp-white);
	transform: translateY(-16px);
	box-shadow: 0 28px 60px rgba(5, 13, 20, .18);
}

.lmp-offer-grid h3 {
	margin: 25px 0 4px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 32px;
	font-weight: 400;
}

.lmp-offer-grid p {
	min-height: 50px;
	margin: 0;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-offer-grid .is-featured p { color: #afc1ba; }

.lmp-offer-grid article > strong {
	margin-top: 29px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 29px;
	font-weight: 400;
}

.lmp-offer-grid article > strong small {
	font-family: Inter, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.lmp-offer-grid ul { margin-top: 25px; }
.lmp-offer-grid .lmp-button { margin-top: auto; }

.lmp-faq {
	background: var(--lmp-paper);
}

.lmp-faq__inner {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 100px;
}

.lmp-faq h2 {
	margin: 14px 0 18px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(42px,4vw,57px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.04em;
}

.lmp-faq__inner > div:first-child p {
	max-width: 320px;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-faq__list article {
	border-top: 1px solid var(--lmp-line);
}

.lmp-faq__list article:last-child { border-bottom: 1px solid var(--lmp-line); }

.lmp-faq__list button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 24px 0;
	border: 0;
	background: transparent;
	color: var(--lmp-ink);
	font-size: 15px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}

.lmp-faq__list button i {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-left: 20px;
	background: var(--lmp-white);
	font-style: normal;
	border-radius: 50%;
	transition: transform .2s ease;
}

.lmp-faq__list article > p {
	display: none;
	margin: -8px 50px 23px 0;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-faq__list article.is-open > p { display: block; }
.lmp-faq__list article.is-open button i { transform: rotate(45deg); }

.lmp-page-hero {
	position: relative;
	padding: 105px 0 110px;
	background: var(--lmp-ink);
	color: var(--lmp-white);
	overflow: hidden;
}

.lmp-page-hero::after {
	position: absolute;
	content: "";
	width: 560px;
	height: 560px;
	right: -230px;
	top: -230px;
	border: 85px solid rgba(32, 185, 220, .09);
	border-radius: 50%;
}

.lmp-page-hero .lmp-shell {
	position: relative;
	z-index: 1;
}

.lmp-page-hero h1 {
	font-size: clamp(40px,4.3vw,62px);
}

.lmp-page-hero p {
	color: #b7c8c2;
}

.lmp-page-hero .lmp-status {
	position: static;
	margin-right: 18px;
}

.lmp-status--light {
	background: rgba(255, 255, 255, .1);
	color: var(--lyv-accent-on-dark, #a9c3ff);
}

.lmp-theme-list {
	display: grid;
	gap: 80px;
}

.lmp-theme-row {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
	align-items: center;
	gap: clamp(31px,4.8vw,62px);
}

.lmp-theme-row:nth-child(even) .lmp-theme-row__image { order: 2; }
.lmp-theme-row:nth-child(even) {
	grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
}

.lmp-theme-row__image {
	position: relative;
	overflow: hidden;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 20px;
	box-shadow: var(--lmp-shadow);
}

.lmp-theme-row__image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.lmp-theme-row__image span {
	position: absolute;
	left: 18px;
	top: 18px;
	padding: 8px 11px;
	background: var(--lmp-ink);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 999px;
}

.lmp-theme-row__content h2 {
	margin: 12px 0;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 46px;
	font-weight: 400;
	line-height: 1.14;
}

.lmp-theme-row__content > p {
	color: var(--lmp-muted);
	font-size: 14px;
}

.lmp-theme-row li::before { color: #6e45e9; }

.lmp-coming {
	display: inline-block;
	padding: 11px 15px;
	background: #e6e9e4;
	color: var(--lmp-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	border-radius: 999px;
}

.lmp-theme-row__actions {
	display: flex;
	align-items: center;
	gap: 20px;
}

.lmp-buy-link {
	font-size: 12px;
	font-weight: 700;
	text-underline-offset: 5px;
}

.lmp-planning-showcase {
	padding-top: 80px;
	background: var(--lmp-white);
}

.lmp-dashboard--large {
	max-width: 920px;
	margin-inline: auto;
	padding: 29px;
	box-shadow: var(--lmp-shadow);
}

.lmp-dashboard--large .lmp-dashboard__metrics > span { padding: 20px; }
.lmp-dashboard--large .lmp-dashboard__metrics b { font-size: 37px; }
.lmp-dashboard--large .lmp-dashboard__calendar { padding: 24px; }
.lmp-dashboard--large .lmp-dashboard__row { min-height: 54px; }
.lmp-dashboard--large .lmp-dashboard__row strong { font-size: 12px; }
.lmp-dashboard--large .lmp-dashboard__row i { height: 22px; }
.lmp-features--light { background: var(--lmp-white); }
.lmp-features--light .lmp-feature-grid article { background: var(--lmp-white); }

.lmp-roadmap {
	background: var(--lmp-paper);
}

.lmp-roadmap ol {
	list-style: none;
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
}

.lmp-roadmap li {
	position: relative;
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 28px;
	padding: 25px 0 25px 20px;
	border-top: 1px solid var(--lmp-line);
}

.lmp-roadmap li:last-child { border-bottom: 1px solid var(--lmp-line); }
.lmp-roadmap li > span { color: #66766f; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 28px; }
.lmp-roadmap li strong { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 22px; font-weight: 400; }
.lmp-roadmap li p { margin: 2px 0 0; color: var(--lmp-muted); font-size: 13px; }
.lmp-roadmap li.is-done::before,
.lmp-roadmap li.is-current::before { position: absolute; content: ""; left: 0; top: 32px; width: 6px; height: 30px; background: #6e45e9; border-radius: 5px; }
.lmp-roadmap li.is-current::before { background: var(--lmp-lime); box-shadow: 0 0 0 1px var(--lmp-ink); }

.lmp-service-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lmp-service-grid article {
	min-height: 300px;
	display: flex;
	flex-direction: column;
}

.lmp-service-grid article > span {
	margin-bottom: auto;
	color: #66766f;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 37px;
}

.lmp-portfolio {
	background: var(--lmp-white);
}

.lmp-portfolio-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.lmp-portfolio-card {
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	background: var(--lmp-paper);
	border: 1px solid var(--lmp-line);
	border-radius: 20px;
}

.lmp-portfolio-card--wide {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
}

.lmp-portfolio-card img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.lmp-portfolio-card--wide img {
	height: 100%;
	min-height: 390px;
}

.lmp-portfolio-card > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 29px;
}

.lmp-portfolio-card h3 {
	margin: 13px 0 6px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 30px;
	font-weight: 400;
}

.lmp-portfolio-card p {
	margin: 0;
	color: var(--lmp-muted);
	font-size: 13px;
}

.lmp-portfolio-card a {
	margin-top: auto;
	padding-top: 30px;
	font-size: 12px;
	font-weight: 700;
	text-underline-offset: 5px;
}

.lmp-process {
	background: var(--lmp-paper);
}

.lmp-process ol {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	margin: 0;
	padding: 0;
}

.lmp-process li {
	position: relative;
	padding-top: 31px;
	border-top: 2px solid var(--lmp-ink);
}

.lmp-process li > span {
	position: absolute;
	right: 0;
	top: 25px;
	color: #66766f;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 25px;
}

.lmp-process li strong {
	display: block;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 26px;
	font-weight: 400;
}

.lmp-process li p { margin: 7px 40px 0 0; color: var(--lmp-muted); font-size: 12px; }

.lmp-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
	align-items: start;
	gap: clamp(26px,4.3vw,62px);
}

.lmp-contact-grid h2 {
	margin: 15px 0 22px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(41px,4.3vw,61px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.045em;
}

.lmp-contact-grid > div:first-child p {
	max-width: 490px;
	color: var(--lmp-muted);
	font-size: 14px;
}

.lmp-support-visual {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: var(--lmp-radius);
	box-shadow: var(--lmp-shadow);
}

.lmp-support-grid { grid-template-columns: minmax(0, 1fr) minmax(390px, 1fr); gap: clamp(31px,4.8vw,62px); }
.lmp-support-copy > p { color: var(--lmp-muted); font-size: 14px; }
.lmp-support-copy .lmp-contact-card { margin-top: 30px; padding: 30px 34px; }

.lmp-contact-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 42px;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 20px;
	box-shadow: var(--lmp-shadow);
}

.lmp-contact-card > span {
	margin: 20px 0 6px;
	color: var(--lmp-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
}

.lmp-contact-card > span:first-child { margin-top: 0; }
.lmp-contact-card > a:not(.lmp-button) { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: clamp(20px,2.4vw,29px); text-decoration: none; }
.lmp-contact-card > a:not(.lmp-button) b { margin-left: 8px; color: #596b65; font-family: Inter, sans-serif; font-size: 14px; }
.lmp-contact-card > p { margin: 0; color: var(--lmp-muted); font-size: 14px; }
.lmp-contact-card .lmp-button { margin-top: 35px; }

/* Support et contact : même langage pastel, mais deux intentions distinctes. */
.lmp-service-hero {
	position: relative;
	padding: 82px 0 96px;
	background: linear-gradient(128deg,#fff0f5 0%,#f7f3ff 50%,#e6f7ff 100%);
	overflow: hidden;
}
.lmp-service-hero::before,
.lmp-service-hero::after { position: absolute; content: ''; pointer-events: none; border-radius: 50%; }
.lmp-service-hero::before { width: 460px; height: 460px; left: -260px; top: 40px; border: 70px solid rgba(101,68,245,.07); }
.lmp-service-hero::after { width: 320px; height: 320px; right: -150px; bottom: -200px; background: rgba(34,184,220,.08); }
.lmp-service-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr); column-gap: clamp(45px,7vw,105px); row-gap: 38px; align-items: start; }
.lmp-service-hero__copy h1 { max-width: 720px; margin: 18px 0 25px; color: var(--lmp-ink); font-size: clamp(48px,5.5vw,78px); font-weight: 600; line-height: .98; letter-spacing: -.065em; }
.lmp-service-hero__actions { grid-column: 1 / -1; width: min(820px,100%); margin: 0 auto; text-align: center; }
.lmp-service-hero__actions > p { margin: 0 auto; color: #53647b; font-size: 17px; line-height: 1.7; }
.lmp-service-hero__actions .lmp-actions { display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: 26px; }
.lmp-service-link { color: var(--lmp-ink); font-size: 13px; font-weight: 750; text-underline-offset: 5px; }
.lmp-service-hero__visual { position: relative; margin: 0; }
.lmp-service-hero__visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 9px solid rgba(255,255,255,.86); border-radius: 32px; box-shadow: 0 30px 70px rgba(78,65,165,.2); }
.lmp-service-hero__visual figcaption { position: absolute; right: -18px; bottom: -22px; display: grid; gap: 3px; max-width: 270px; padding: 18px 22px; background: #0b1730; color: #fff; border-radius: 17px; box-shadow: 0 18px 45px rgba(11,23,48,.22); }
.lmp-service-hero__visual figcaption strong { font-size: 14px; }
.lmp-service-hero__visual figcaption span { color: #b8c8dd; font-size: 11px; line-height: 1.45; }
.lmp-service-proof { background: #fff; border-bottom: 1px solid #e8e6f2; }
.lmp-service-proof .lmp-shell { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.lmp-service-proof article { display: grid; gap: 5px; padding: 28px 34px; border-left: 1px solid #e8e6f2; }
.lmp-service-proof article:last-child { border-right: 1px solid #e8e6f2; }
.lmp-service-proof strong { color: var(--lmp-ink); font-size: 20px; }
.lmp-service-proof span { color: #617188; font-size: 12px; line-height: 1.45; }
.lmp-service-orientation { background: #fff; }
.lmp-service-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 48px; }
.lmp-service-choice-grid article { min-height: 290px; padding: 34px; background: #f7f7fc; border: 1px solid #e5e4ef; border-radius: 23px; }
.lmp-service-choice-grid article.is-highlighted { background: linear-gradient(145deg,#6345ee,#2b8bea); color: #fff; border-color: transparent; box-shadow: 0 24px 55px rgba(85,67,218,.22); }
.lmp-service-choice-grid span { color: #6a4cf2; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lmp-service-choice-grid .is-highlighted span { color: #d8f7ff; }
.lmp-service-choice-grid h3 { margin: 52px 0 13px; font-size: 30px; }
.lmp-service-choice-grid p { color: #5c6d82; line-height: 1.65; }
.lmp-service-choice-grid .is-highlighted p { color: #edf2ff; }
.lmp-service-choice-grid a { display: inline-flex; margin-top: 16px; color: inherit; font-weight: 750; }
.lmp-support-prepare { background: linear-gradient(150deg,#f7f4ff,#eefaff); }
.lmp-support-prepare__grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: clamp(50px,8vw,120px); }
.lmp-support-prepare h2,
.lmp-contact-direct h2,
.lmp-service-form-grid h2 { margin: 15px 0 20px; font-size: clamp(38px,4.6vw,62px); font-weight: 500; line-height: 1.04; letter-spacing: -.055em; }
.lmp-support-prepare__grid > div > p,
.lmp-contact-direct__grid > div:first-child > p,
.lmp-service-form-grid > div:first-child > p { color: #596a80; font-size: 16px; line-height: 1.7; }
.lmp-support-prepare ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(16,35,63,.15); }
.lmp-support-prepare li { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid rgba(16,35,63,.15); }
.lmp-support-prepare li > span { color: #6748ef; font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.lmp-support-prepare li strong { color: var(--lmp-ink); font-size: 18px; }
.lmp-support-prepare li p { margin: 5px 0 0; color: #5c6d82; font-size: 14px; }
.lmp-support-scope { background: #fff; }
.lmp-support-scope .lmp-support-terms { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 65px; max-width: 1120px; padding: 0; }
.lmp-support-scope .lmp-eyebrow { grid-column: 1/-1; margin-bottom: 20px; }
.lmp-support-scope h2 { margin-top: 28px; font-size: clamp(27px,3vw,38px); }
.lmp-support-scope p,
.lmp-support-scope li { color: #596a80; line-height: 1.65; }
.lmp-service-form-section { background: #0b1730; color: #fff; }
.lmp-service-form-grid { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); gap: clamp(50px,8vw,110px); align-items: start; }
.lmp-service-form-grid h2 { color: #fff; }
.lmp-service-form-grid > div:first-child > p { color: #bac7d9; }
.lmp-service-form-grid .lyvira-request-form { margin-top: 0; box-shadow: 0 24px 60px rgba(0,0,0,.2); }
.lmp-contact-paths { background: #fff; }
.lmp-contact-path-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 48px; }
.lmp-contact-path-grid article { display: flex; flex-direction: column; min-height: 310px; padding: 30px; background: linear-gradient(145deg,#fff,#f7f7fc); border: 1px solid #e6e4ef; border-radius: 22px; }
.lmp-contact-path-grid article > span { color: #6748ef; font-size: 12px; font-weight: 850; letter-spacing: .13em; }
.lmp-contact-path-grid h3 { margin: 52px 0 13px; font-size: 27px; line-height: 1.15; }
.lmp-contact-path-grid p { color: #5b6c82; line-height: 1.65; }
.lmp-contact-path-grid a { margin-top: auto; padding-top: 18px; color: #5c43dd; font-weight: 750; }
.lmp-contact-direct { background: linear-gradient(145deg,#fff1f6,#f5f2ff 55%,#e9f8ff); }
.lmp-contact-direct__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); gap: clamp(45px,8vw,110px); align-items: center; }
.lmp-contact-direct .lmp-contact-card { border-color: rgba(101,68,245,.18); box-shadow: 0 25px 60px rgba(82,67,173,.14); }
.lmp-contact-process { background: #fff; }
.lmp-contact-process > .lmp-shell > h2 { max-width: 800px; margin: 14px 0 48px; font-size: clamp(38px,4.6vw,62px); font-weight: 500; letter-spacing: -.05em; }
.lmp-contact-process ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 0; padding: 0; overflow: hidden; background: #dfe2ea; border: 1px solid #dfe2ea; border-radius: 22px; list-style: none; }
.lmp-contact-process li { min-height: 230px; padding: 30px; background: #f8f8fb; }
.lmp-contact-process li span { color: #6748ef; font-size: 12px; font-weight: 850; }
.lmp-contact-process li strong { display: block; margin: 55px 0 9px; font-size: 23px; }
.lmp-contact-process li p { margin: 0; color: #5c6d82; line-height: 1.6; }

.lmp-content {
	min-height: 60vh;
	padding: 100px 0;
}

.lmp-prose {
	max-width: 850px;
}

.lmp-prose h1 {
	margin: 16px 0 35px;
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(42px,5.0vw,62px);
	font-weight: 400;
	line-height: 1.14;
	letter-spacing: -.05em;
}

.lmp-shop-main {
	min-height: 60vh;
	padding: 90px 0 120px;
}

.woocommerce .woocommerce-breadcrumb { color: var(--lmp-muted); font-size: 12px; }
.woocommerce .woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
	font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: clamp(40px,5vw,60px);
	font-weight: 400;
	letter-spacing: -.04em;
}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 18px; background: var(--lmp-white); border: 1px solid var(--lmp-line); border-radius: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 23px; font-weight: 400; }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price { color: var(--lmp-ink); font-weight: 700; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	padding: 13px 17px;
	background: var(--lmp-ink);
	color: var(--lmp-white);
	font-size: 12px;
	border-radius: 999px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--lmp-ink-2); color: var(--lmp-white); }
.woocommerce div.product { padding-top: 25px; }
.woocommerce div.product div.images img { border-radius: 18px; }
.single-product .lmp-shop-main { padding-top: 38px; background: linear-gradient(135deg,#fff0f5 0%,#f7f4ff 48%,#e7f7ff 100%); }
/* La dernière section va jusqu'au pied de page : les 70 px de la carte et les
   120 px de la colonne laissaient une bande vide de deux cents pixels entre la
   fin du texte et le pied. */
.lmp-product-card { max-width: 1320px; margin: 0 auto; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.single-product .lmp-shop-main { padding-bottom: 0; }
.lmp-product-card__top { display: grid; grid-template-columns: minmax(390px,.82fr) minmax(0,1.18fr); gap: clamp(38px,5vw,80px); align-items: center; min-height: 650px; padding: 66px 0 82px; }
.lmp-product-card__gallery, .lmp-product-card__summary { min-width: 0; }
.lmp-product-card__gallery { order: 2; }
.lmp-product-card__summary { order: 1; }
.lmp-product-card__gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.lmp-product-card__gallery .woocommerce-product-gallery__image, .lmp-product-card__gallery .flex-viewport { aspect-ratio: 16 / 11; overflow: hidden; border: 10px solid rgba(255,255,255,.84); border-radius: 34px; background: linear-gradient(135deg,#e9edf2,#dfe8e4); box-shadow: 0 30px 70px rgba(82,67,173,.18); }
.lmp-product-card__gallery .woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
/* Le nom du produit était affiché à 78 px : plus gros que le titre de
   l'accueil, il écrasait le prix, la promesse et le bouton — les trois choses
   qu'un acheteur cherche. Il redescend à la taille d'un titre de page. */
.lmp-product-card__summary .product_title { max-width: 620px; margin: 10px 0 16px; font-size: clamp(34px,3.4vw,50px); line-height: 1.04; font-weight: 650; letter-spacing: -.04em; }
.lmp-product-eyebrow { margin: 0; color: #6246f5; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lmp-product-promise { max-width: 620px; margin: 20px 0; color: var(--lmp-ink); font-size: clamp(20px,2vw,27px); line-height: 1.35; }
.lmp-product-card__summary .woocommerce-product-details__short-description { color: var(--lmp-muted); font-size: 16px; line-height: 1.65; }
.lmp-product-card__summary .price { display: inline-flex; margin: 10px 0 8px !important; font-size: 31px !important; }
.lmp-product-proof { display: grid; gap: 9px; margin: 22px 0 25px; padding: 0; list-style: none; color: #34465d; font-size: 14px; }
.lmp-product-proof li { position: relative; padding-left: 28px; }
.lmp-product-proof li::before { content: '✓'; position: absolute; left: 0; display: grid; place-items: center; width: 19px; height: 19px; background: #dff9ec; color: #08784e; font-size: 11px; font-weight: 900; border-radius: 50%; }
.lmp-product-card__summary form.cart { display: inline-flex; margin: 8px 10px 0 0 !important; }
.lmp-product-card__summary form.cart .button { min-height: 54px; padding-inline: 25px; background: linear-gradient(110deg,#6544f5,#22b8dc); box-shadow: 0 12px 28px rgba(101,68,245,.2); }
.lmp-product-card__summary .product_meta { margin-top: 22px; color: var(--lmp-muted); font-size: 12px; }
.lmp-product-preview { display: inline-flex; margin: 8px 0 0; vertical-align: top; }
.lmp-product-preview .button { min-height: 54px; padding: 17px 24px !important; background: #fff !important; color: #10201d !important; border: 1px solid rgba(16,35,63,.13) !important; box-shadow: 0 10px 26px rgba(16,35,63,.07); }
.lmp-product-card__description { margin: 0; padding: 0; border: 0; }
.lmp-product-card__description > section { margin-inline: calc(50% - 50vw); padding: 100px max(calc((100vw - 1320px)/2),24px); }
.lmp-product-heading { max-width: 780px; }
.lmp-product-heading .lmp-eyebrow { display: block; margin-bottom: 14px; color: #6544f5; }
/* Sur une fiche produit, ces titres se suivent tous les 600 px : à 68 px ils
   donnaient à chaque section l'allure d'une page d'accueil. */
.lmp-product-heading h2 { margin: 0 0 18px; color: var(--lmp-ink); font-size: clamp(27px,2.6vw,38px); font-weight: 550; line-height: 1.12; letter-spacing: -.035em; }
.lmp-product-heading > p:not(.lmp-eyebrow) { color: #53647b; font-size: 17px; line-height: 1.72; }
.lmp-product-journey { background: #fff; }
.lmp-product-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 54px; overflow: hidden; background: rgba(101,68,245,.16); border: 1px solid rgba(101,68,245,.16); border-radius: 24px; }
/* Quatre cartes hautes de 235 px pour trois lignes de texte : le numéro était
   séparé du titre par 48 px de vide, et la carte se terminait sur un tiers de
   page blanche. Le contenu décide de la hauteur. */
.lmp-product-steps article { display: flex; flex-direction: column; gap: 10px; min-height: 0; padding: 26px 26px 28px; background: linear-gradient(145deg,#fff,#faf9ff); }
.lmp-product-steps span { color: #6b4cf5; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.lmp-product-steps h3 { margin: 0; font-size: 21px; line-height: 1.2; }
.lmp-product-steps p { margin: 0; color: #5c6d81; line-height: 1.6; }
.lmp-product-preview-section { display: grid; grid-template-columns: minmax(310px,.7fr) minmax(0,1.3fr); gap: clamp(45px,7vw,100px); align-items: center; background: linear-gradient(135deg,#fff1f6,#f5f2ff 52%,#e5f7ff); }
.lmp-product-preview-section .lmp-button { display: inline-flex; margin-top: 18px; }
.lmp-product-preview-stage { position: relative; min-height: 610px; }
.lmp-product-preview-desktop { width: 92%; height: 520px; object-fit: cover; object-position: top center; border: 9px solid rgba(255,255,255,.92); border-radius: 28px; box-shadow: 0 32px 70px rgba(74,62,158,.2); }
.lmp-product-preview-mobile { position: absolute; right: 0; bottom: 0; width: 180px; height: 430px; object-fit: cover; object-position: top center; border: 8px solid #fff; border-radius: 30px; box-shadow: 0 26px 55px rgba(27,31,71,.24); }
.lmp-product-stack { background: #0b1730; color: #fff; }
.lmp-product-stack .lmp-product-heading h2 { color: #fff; }
.lmp-product-stack .lmp-product-heading > p:not(.lmp-eyebrow) { color: #b9c6d9; }
/* Sur fond nuit, le violet du suragraphe tombait à 3,1:1 ; le lilas tient 4,5:1. */
.lmp-product-stack .lmp-product-heading .lmp-eyebrow { color: #c9bdff; }
.lmp-product-stack-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 54px; }
.lmp-product-stack-grid article { min-height: 285px; padding: 30px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 22px; }
.lmp-product-stack-grid article:nth-child(2) { background: linear-gradient(150deg,#6445ee,#2b88ec); }
.lmp-product-stack-grid span { display: inline-flex; margin-bottom: 50px; color: #8be4ed; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lmp-product-stack-grid article:nth-child(2) span { color: #fff; }
.lmp-product-stack-grid h3 { margin: 0 0 14px; color: #fff; font-size: 27px; }
.lmp-product-stack-grid p { color: #c5d0df; line-height: 1.65; }
.lmp-product-stack-grid article:nth-child(2) p { color: #f5f6ff; }
.lmp-product-stack-grid a { color: #8be4ed; font-weight: 700; }
.lmp-product-included { background: #fff; }
.lmp-product-included-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 50px; }
.lmp-product-included-grid article { padding: 30px; background: #f8f8fd; border: 1px solid #e7e5f3; border-radius: 20px; }
.lmp-product-included-grid h3 { margin-top: 0; font-size: 23px; }
.lmp-product-included-grid p { margin-bottom: 0; color: #5c6d81; line-height: 1.65; }
/* Le titre passe au-dessus : les deux colonnes de questions ont alors toute la
   largeur, et une question tient sur une ligne au lieu de deux. */
.lmp-product-faq { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(50px,8vw,120px); background: linear-gradient(145deg,#f6f3ff,#eef9ff); }
@media (min-width: 1000px) {
	.lmp-product-faq { grid-template-columns: 1fr; gap: 42px; }
	.lmp-product-faq .lmp-product-heading { max-width: 760px; }
}
/* Dix-huit questions les unes sous les autres faisaient une page de trois
   écrans. Deux colonnes sur grand écran, et sur mobile les cinq premières
   suffisent à commencer : le reste se déplie. */
.lmp-product-faq-list { border-top: 1px solid rgba(16,35,63,.15); }
@media (min-width: 1000px) {
	.lmp-product-faq-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 46px; border-top: 0; }
	.lmp-product-faq details { border-top: 1px solid rgba(16,35,63,.15); border-bottom: 0; }
	.lmp-product-faq-more { grid-column: 1 / -1; }
}
.lmp-product-faq-list.is-replie details.is-cachee { display: none; }
.lmp-product-faq-deplier { display: none; margin-top: 22px; padding: 13px 20px; background: var(--lmp-white); border: 1px solid var(--lmp-line); border-radius: 999px; color: var(--lmp-ink); font-size: 14px; font-weight: 700; cursor: pointer; }
.lmp-product-faq-list.is-replie + .lmp-product-faq-deplier,
.lmp-product-faq-deplier.is-visible { display: inline-flex; align-items: center; gap: 8px; }
.lmp-product-faq-deplier:hover { border-color: var(--lmp-ink); }
.lmp-product-faq details { border-bottom: 1px solid rgba(16,35,63,.15); }
.lmp-product-faq summary { position: relative; padding: 24px 48px 24px 0; color: var(--lmp-ink); font-size: 18px; font-weight: 750; cursor: pointer; list-style: none; }
.lmp-product-faq summary::-webkit-details-marker { display: none; }
.lmp-product-faq summary::after { content: '+'; position: absolute; right: 8px; top: 18px; color: #6544f5; font-size: 28px; font-weight: 400; }
.lmp-product-faq details[open] summary::after { content: '−'; }
.lmp-product-faq details p { max-width: 720px; margin: -4px 0 24px; color: #56687f; line-height: 1.7; }
.lmp-product-faq details a { color: #5d43da; font-weight: 750; }
.lmp-product-card__description > .lmp-product-specs { background: #f6f7fa; }
.lmp-product-card__description > .lmp-fiche-technique { margin-inline: calc(50% - 50vw); padding: 90px max(calc((100vw - 1100px)/2),24px); background: #f6f7fa; }
.lmp-fiche-technique h2 { margin-top: 48px; font-size: clamp(24px,2.2vw,32px); line-height: 1.2; letter-spacing: -.03em; }
.lmp-fiche-technique h2:first-child { margin-top: 0; }
.lmp-fiche-technique p,.lmp-fiche-technique li { color: #506178; font-size: 16px; line-height: 1.75; }
.lmp-product-card__description .related.products { margin-top: 38px; }
.lmp-product-card__description .related ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
.lmp-product-card__description .related ul.products li.product { display: flex; flex-direction: column; min-height: 0; }
.lmp-product-card__description .related ul.products li.product img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: linear-gradient(135deg,#e9edf2,#dfe8e4); border-radius: 12px; }
.woocommerce div.product form.cart .button { min-height: 46px; }
.lmp-demo-price-notice { display: inline-flex; max-width: 520px; margin: 4px 0 12px; padding: 8px 12px; background: rgba(255,255,255,.72); border: 1px solid rgba(16,35,63,.1); color: #5b6678; font-size: 11px; border-radius: 999px; }
.single-product .lmp-product-card__summary form.cart .quantity,
.single-product .lmp-product-card__summary .product_meta { display: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	min-height: 46px;
	padding: 10px 13px;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 8px;
}
.woocommerce table.shop_table { background: var(--lmp-white); border-color: var(--lmp-line); border-radius: 14px; overflow: hidden; }
.woocommerce-checkout #payment { background: #e8eeeb; border-radius: 14px; }
.woocommerce-error,
.woocommerce-info,
.woocommerce-message { background: var(--lmp-white); border-top-color: #8976fd; }

.lmp-footer {
	padding: 95px 0 28px;
	background: #041713;
	color: var(--lmp-white);
}

.lmp-footer__cta {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 50px;
	padding-bottom: 70px;
	border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.lmp-footer h2 {
	font-size: clamp(39px,4.3vw,62px);
}

.lmp-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 55px;
	padding: 65px 0;
}

.lmp-brand--footer { color: var(--lmp-white); }
.lmp-brand--footer small { font-size: 12px; opacity: .86; }
.lmp-brand--footer .lmp-brand__mark { background: var(--lmp-lime); }
.lmp-brand--footer .lmp-brand__mark i { background: var(--lmp-ink); }
.lmp-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.lmp-footer__grid > div:first-child p { max-width: 300px; margin: 17px 0 0; color: #b2c1bc; font-size: 14px; line-height: 1.65; }
.lmp-footer__grid > div > strong { margin-bottom: 12px; color: var(--lyv-accent-on-dark, #a9c3ff); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.lmp-footer__grid a,
.lmp-footer__grid span { color: #c1cec9; font-size: 14px; line-height: 1.5; text-decoration: none; }
.lmp-footer__grid a:hover { color: var(--lmp-white); }
.lmp-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 25px; border-top: 1px solid rgba(255, 255, 255, .13); color: #9fb0aa; font-size: 12px; font-weight: 700; letter-spacing: .07em; }

/* V2 — accès immédiat aux secteurs, catalogue filtrable et comparateur. */
.lmp-hero { min-height: 770px; padding-bottom: 125px; }
.lmp-sector-rail {
	position: absolute;
	z-index: 5;
	left: 50%;
	bottom: 25px;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	width: var(--lmp-shell);
	background: var(--lmp-white);
	border: 1px solid var(--lmp-line);
	border-radius: 18px;
	box-shadow: 0 18px 44px rgba(5, 13, 20, .12);
	overflow: hidden;
	transform: translateX(-50%);
}
.lmp-sector-rail a { position: relative; min-width: 0; padding: 18px 20px; border-right: 1px solid var(--lmp-line); text-decoration: none; transition: background .2s ease, color .2s ease; }
.lmp-sector-rail a:last-child { border-right: 0; }
.lmp-sector-rail a:hover,
.lmp-sector-rail a:focus-visible { background: var(--lmp-ink); color: var(--lmp-white); }
.lmp-sector-rail span { display: block; color: #6e45e9; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.lmp-sector-rail strong { display: block; margin-top: 2px; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 18px; font-weight: 400; white-space: nowrap; }
.lmp-sector-rail small { position: absolute; right: 13px; top: 19px; font-size: 12px; font-weight: 700; letter-spacing: .1em; opacity: .7; }
.lmp-sector-rail--mobile { display: none; }

.lmp-catalog-hero { padding-bottom: 92px; }
.lmp-catalog-summary { display: flex; gap: 40px; margin-top: 42px; }
.lmp-catalog-summary span { color: #b7c8c2; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lmp-catalog-summary strong { display: block; color: var(--lmp-white); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 27px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.lmp-catalog-tools { position: relative; z-index: 2; padding: 16px 0; background: #f8f7fb; border-bottom: 1px solid var(--lmp-line); }
.lmp-catalog-tools .lmp-shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lmp-filter-group { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lmp-filter-group strong { margin-right: 5px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.lmp-filter-group button,
.lmp-preview-toolbar button { padding: 8px 12px; background: transparent; color: var(--lmp-muted); border: 1px solid var(--lmp-line); border-radius: 999px; font-size: 12px; font-weight: 700; cursor: pointer; }
.lmp-filter-group button:hover,
.lmp-filter-group button:focus-visible,
.lmp-filter-group button.is-active,
.lmp-preview-toolbar button:hover,
.lmp-preview-toolbar button:focus-visible,
.lmp-preview-toolbar button.is-active { background: var(--lmp-ink); color: var(--lmp-white); }
.lmp-catalog-section { padding-top: 78px; background: var(--lmp-white); }
.lmp-theme-row[hidden] { display: none !important; }
.lmp-preview-toolbar { position: absolute; z-index: 4; left: 14px; right: 14px; top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lmp-theme-row__image .lmp-preview-toolbar > span { position: static; padding: 8px 11px; background: var(--lmp-ink); color: var(--lmp-white); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: 999px; }
.lmp-preview-toolbar > div { display: flex; gap: 5px; padding: 4px; background: rgba(255, 255, 255, .94); border-radius: 999px; }
.lmp-preview-toolbar button { padding: 6px 9px; background: var(--lmp-white); }
.lmp-theme-row__image .lmp-preview-mobile {
	display: none;
	width: min(44%, 285px);
	height: auto;
	min-height: 0;
	margin: 0 auto;
	aspect-ratio: auto;
	object-fit: contain;
	border: 7px solid #fff;
	border-radius: 26px;
	box-shadow: 0 22px 45px rgba(26, 31, 75, .17);
}
.lmp-theme-row__image.is-mobile {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 630px;
	padding: 28px 0;
	background:
		radial-gradient(circle at 50% 24%, rgba(104, 71, 245, .12), transparent 34%),
		linear-gradient(145deg, #f1edff, #e9f8ff);
}
.lmp-theme-row__image.is-mobile .lmp-preview-desktop { display: none; }
.lmp-theme-row__image.is-mobile .lmp-preview-mobile { display: block; }
.lmp-theme-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lmp-theme-meta label { font-size: 12px; font-weight: 700; }
.lmp-theme-meta input { accent-color: #6e45e9; }
.lmp-theme-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 24px 0; background: var(--lmp-line); border: 1px solid var(--lmp-line); }
.lmp-theme-specs div { padding: 13px 14px; background: var(--lmp-paper); }
.lmp-theme-specs dt { color: var(--lmp-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lmp-theme-specs dd { margin: 5px 0 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
/* Cette section portait une photographie recouverte à 94-96 % d'un voile clair.
   L'image ne se voyait pas : il ne restait qu'une grande étendue grise, ce que
   le propriétaire a signalé comme un fond vide. Les sites de référence font
   l'un ou l'autre — une photo pleinement visible, ou une surface franche — mais
   jamais une image fantôme derrière des cartes blanches, qui de toute façon lui
   font concurrence. Surface franche, donc, et les cartes portent le propos. */
.lmp-features--visual { position: relative; isolation: isolate; background: linear-gradient(180deg, var(--lmp-white) 0%, #f4f6f8 100%); }
.lmp-features--visual::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120% 80% at 78% 0%, rgba(37,99,235,.07), transparent 60%); pointer-events: none; }
.lmp-features--visual .lmp-feature-grid article { background: var(--lmp-white); border: 1px solid rgba(16,35,63,.09); box-shadow: 0 10px 30px rgba(16,35,63,.05); }
.lmp-section-actions { display: flex; justify-content: center; margin-top: 30px; }
.lmp-empty-filter { padding: 35px; background: var(--lmp-paper); border: 1px solid var(--lmp-line); border-radius: 18px; text-align: center; }
.lmp-compare-section { padding: 100px 0; background: var(--lmp-ink); color: var(--lmp-white); }
.lmp-compare-section .lmp-eyebrow--lime { color: var(--lyv-accent-on-dark, #a9c3ff); }
.lmp-compare-section .lmp-section-heading > p { color: #b7c8c2; }
.lmp-compare-scroll { overflow-x: auto; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; }
.lmp-compare-table { width: 100%; min-width: 720px; border-collapse: collapse; background: #0a1822; }
.lmp-compare-table th,
.lmp-compare-table td { min-width: 190px; padding: 18px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); text-align: left; font-size: 12px; }
.lmp-compare-table th:first-child { min-width: 155px; color: var(--lyv-accent-on-dark, #b7abff); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.lmp-compare-table thead th:not(:first-child) { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 21px; font-weight: 400; }
.lmp-compare-table [hidden] { display: none; }

@media (max-width: 1100px) {
	:root { --lmp-shell: min(100% - 40px, 920px); }
	.lmp-header__inner { width: calc(100% - 40px); }
	.lmp-nav { gap: 18px; }
	.lmp-nav a { font-size: 12px; }
	.lmp-hero { min-height: auto; padding-top: 80px; }
	.lmp-hero__inner { grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); gap: 35px; }
	.lmp-hero h1 { font-size: 58px; }
	.lmp-floating-card--two { right: 5px; }
	.lmp-demo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lmp-product-card__top { grid-template-columns: 1fr; }
	.lmp-feature-grid { grid-template-columns: repeat(2, 1fr); }
	.lmp-service-grid { grid-template-columns: repeat(2, 1fr); }
	.lmp-footer__grid { grid-template-columns: 1.2fr repeat(3, 1fr); gap: 30px; }
	.lmp-sector-rail a { padding-inline: 13px; }
	.lmp-sector-rail strong { font-size: 15px; }
	.lmp-sector-rail small { display: none; }
	.lmp-catalog-tools .lmp-shell { align-items: flex-start; flex-direction: column; }
}

/* La barre passe au bouton dès 1120 px, et non plus 900.
   Mesuré le 26 septembre 2026, en ajoutant « Documentation » : à 1000 px, la
   version allemande débordait de 66 px — « Dokumentation », « Planning-Modul »
   et « Demo ansehen » sont plus longs que leurs équivalents français. Resserrer
   les écarts n'a rabattu que 11 px : à cette largeur, six entrées, le logo, le
   sélecteur de langue, le panier et l'appel à l'action ne tiennent simplement
   pas ensemble, et l'allemand n'était que le premier à le dire.
   Le bouton d'appel à l'action, lui, **reste visible** dans cette bande : c'est
   lui qui vend, et le cacher pour gagner de la place aurait été payer le
   confort avec le chiffre. */
@media (max-width: 1120px) {
	.admin-bar .lmp-header { top: 46px; }
	.lmp-header__inner { height: 72px; }
	.lmp-menu-button { display: block; margin-left: 10px; }
	.lmp-header__cta { display: none; }
	/* Le panier reste dans la barre : c'est lui qui dit qu'un ajout a eu lieu. */
	.lmp-header__actions { margin-left: auto; }
	.lmp-header__cart { padding: 9px 12px; }
	.lmp-header__cart-label { display: none; }
	.lmp-nav {
		position: fixed;
		z-index: 999;
		inset: 72px 0 auto;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 22px 20px 30px;
		background: var(--lmp-paper);
		border-bottom: 1px solid var(--lmp-line);
		box-shadow: 0 22px 40px rgba(5, 13, 20, .15);
	}
	.admin-bar .lmp-nav { top: 118px; }
	.lmp-nav.is-open { display: flex; }
	.lmp-nav .lmp-menu { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	/* Le lien remplit sa ligne : sinon son filet de séparation s'arrête à la
	   fin du mot, et le panneau déroulant paraît mal aligné. */
	.lmp-nav .lmp-menu a { display: flex; width: 100%; }
	.lmp-nav a { padding: 14px 4px; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 23px; font-weight: 400; border-bottom: 1px solid var(--lmp-line); }
	/* Sous-menu déplié en place, sans panneau flottant. */
	.lmp-nav .menu-item-has-children { flex-wrap: wrap; }
	.lmp-nav .menu-item-has-children > a { flex: 1; }
	.lmp-nav .sub-menu {
		position: static;
		width: 100%;
		min-width: 0;
		padding: 0 0 8px 14px;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
	}
	.lmp-nav .menu-item-has-children.is-open > .sub-menu { display: grid; }
	.lmp-nav .menu-item-has-children:hover > .sub-menu,
	.lmp-nav .menu-item-has-children:focus-within > .sub-menu { display: none; }
	.lmp-nav .menu-item-has-children.is-open:hover > .sub-menu,
	.lmp-nav .menu-item-has-children.is-open:focus-within > .sub-menu { display: grid; }
	.lmp-nav .sub-menu a { padding: 12px 4px; font-size: 17px; border-bottom: 1px solid var(--lmp-line); }
	.lmp-submenu-toggle { width: 44px; height: 44px; font-size: 15px; }

	.lmp-menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.lmp-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.lmp-menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.lmp-hero { padding: 75px 0 90px; }
	.lmp-hero__inner { grid-template-columns: 1fr; }
	.lmp-hero__copy { max-width: 700px; }
	.lmp-hero h1 { font-size: clamp(47px,6.9vw,62px); }
	.lmp-hero__visual { min-height: 520px; width: min(680px, 96%); margin: 10px auto 0; }
	.lmp-logo-strip .lmp-shell { flex-wrap: wrap; justify-content: center; }
	.lmp-section { padding: 90px 0; }
	.lmp-section-heading { align-items: start; flex-direction: column; gap: 22px; }
	.lmp-planning-teaser { padding: 90px 0; }
	.lmp-planning-teaser__inner { grid-template-columns: 1fr; }
	.lmp-planning-teaser__copy { max-width: 650px; }
	.lmp-offer-grid { grid-template-columns: 1fr; max-width: 610px; margin-inline: auto; }
	.lmp-offer-grid article { min-height: auto; }
	.lmp-offer-grid article.is-featured { transform: none; }
	.lmp-offer-grid p { min-height: auto; }
	.lmp-offer-grid .lmp-button { margin-top: 18px; }
	.lmp-faq__inner { grid-template-columns: 1fr; gap: 45px; }
	.lmp-theme-row { grid-template-columns: 1fr; gap: 34px; }
	.lmp-theme-row:nth-child(even) { grid-template-columns: 1fr; }
	.lmp-contact-grid { grid-template-columns: 1fr; }
	.lmp-theme-row:nth-child(even) .lmp-theme-row__image { order: initial; }
	.lmp-theme-row__actions { align-items: flex-start; flex-direction: column; }
	.lmp-portfolio-card--wide { grid-template-columns: 1fr; }
	.lmp-portfolio-card--wide img { min-height: auto; }
	.lmp-process ol { grid-template-columns: repeat(2, 1fr); }
	.lmp-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.lmp-sector-rail:not(.lmp-sector-rail--mobile) { display: none; }
	.lmp-hero { padding-bottom: 90px; }
	.lmp-catalog-tools { position: static; }
	.admin-bar .lmp-catalog-tools { top: auto; }
	.lmp-filter-group { flex-wrap: wrap; }
}

@media (max-width: 600px) {
	:root { --lmp-shell: calc(100% - 30px); --lmp-radius: 15px; }
	body.lmp-site { font-size: 15px; }
	.lmp-header__inner { width: calc(100% - 30px); height: 64px; gap: 14px; }
	.lmp-brand strong { font-size: 15px; }
	.lmp-brand small { font-size: 12px; }
	.lmp-brand__mark { width: 33px; height: 33px; }
	.lmp-brand__mark i { top: 8px; }
	.lmp-brand__mark i:nth-child(2) { top: 13px; }
	.lmp-brand__mark i:nth-child(3) { top: 18px; }
	.lmp-nav { top: 64px; }
	.admin-bar .lmp-nav { top: 110px; }
	.lmp-hero { padding: 60px 0 72px; }
	.lmp-hero h1,
	.lmp-page-hero h1 { margin: 20px 0 22px; font-size: 41px; line-height: 1.14; letter-spacing: -.045em; }
	.lmp-hero h1 br,
	.lmp-page-hero h1 br,
	.lmp-section-heading h2 br,
	.lmp-footer h2 br { display: none; }
	.lmp-hero__copy > p,
	.lmp-page-hero p { font-size: 15px; }
	.lmp-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 30px; }
	.lmp-button { width: 100%; min-height: 50px; }
	.lmp-hero__proof { justify-content: space-between; gap: 10px; margin-top: 45px; }
	.lmp-hero__proof b { font-size: 18px; }
	.lmp-hero__proof span { font-size: 12px; }
	.lmp-hero__visual { width: 100%; min-height: 320px; margin-top: 0; }
	.lmp-browser--main { width: 105%; left: -2%; top: 25px; }
	.lmp-browser__top { height: 30px; }
	.lmp-floating-card { min-width: 135px; padding: 11px 13px 11px 20px; }
	.lmp-floating-card strong { font-size: 15px; }
	.lmp-floating-card--one { left: 9px; bottom: 7px; }
	.lmp-floating-card--two { right: 3px; top: 0; }
	.lmp-floating-card span { left: -10px; width: 27px; height: 27px; }
	.lmp-logo-strip { padding: 14px 0; }
	.lmp-logo-strip .lmp-shell { gap: 10px 17px; }
	.lmp-logo-strip span { font-size: 12px; }
	.lmp-logo-strip i { display: none; }
	.lmp-section { padding: 72px 0; }
	.lmp-section-heading { margin-bottom: 40px; }
	.lmp-section-heading h2,
	.lmp-footer h2 { font-size: 36px; line-height: 1.14; letter-spacing: -.035em; }
	.lmp-section-heading > p { font-size: 13px; }
	.lmp-demo-grid { grid-template-columns: 1fr; gap: 16px; }
	.lmp-demo-card--large { grid-column: auto; }
	.lmp-demo-card__image img,
	.lmp-demo-card:not(.lmp-demo-card--large) .lmp-demo-card__image img { aspect-ratio: 4 / 3; }
	.lmp-demo-card__image > b { right: 13px; bottom: 13px; }
	.lmp-status { left: 12px; top: 12px; }
	.lmp-demo-card__content { padding: 20px; }
	.lmp-demo-card__content h3 { font-size: 25px; }
	.lmp-demo-card__number { font-size: 35px; }
	.lmp-feature-grid,
	.lmp-service-grid { grid-template-columns: 1fr; }
	.lmp-feature-grid article { min-height: auto; padding: 27px; }
	.lmp-feature-grid article > span { margin-bottom: 28px; }
	.lmp-planning-teaser { padding: 72px 0; }
	.lmp-planning-teaser h2 { font-size: 39px; }
	.lmp-dashboard { padding: 10px; border-radius: 12px; }
	.lmp-dashboard__metrics { gap: 5px; }
	.lmp-dashboard__metrics > span { padding: 8px; }
	.lmp-dashboard__metrics b { font-size: 19px; }
	.lmp-dashboard__labels { grid-template-columns: 1.2fr repeat(5, 1fr); }
	.lmp-dashboard__row { grid-template-columns: 1.2fr 5fr; }
	.lmp-offer-grid article { padding: 30px 25px; }
	.lmp-faq__list button { font-size: 13px; }
	.lmp-page-hero { padding: 72px 0 76px; }
	.lmp-page-hero--planning h1 { font-size: 38px; line-height: 1.14; }
	.page-template-page-themes .lmp-page-hero h1 { font-size: 38px; }
	.lmp-portfolio .lmp-section-heading h2 { font-size: 30px; line-height: 1.14; }
	.lmp-page-hero .lmp-status { display: table; margin: 0 0 15px; }
	.lmp-theme-list { gap: 65px; }
	.lmp-theme-row__content h2 { font-size: 38px; }
	.lmp-dashboard--large { padding: 10px; }
	.lmp-dashboard--large .lmp-dashboard__metrics > span { padding: 10px 7px; }
	.lmp-dashboard--large .lmp-dashboard__metrics b { font-size: 24px; }
	.lmp-dashboard--large .lmp-dashboard__calendar { padding: 10px; }
	.lmp-dashboard--large .lmp-dashboard__row strong { font-size: 12px; }
	.lmp-portfolio-grid { grid-template-columns: 1fr; }
	.lmp-portfolio-card--wide { grid-column: auto; }
	.lmp-portfolio-card img { aspect-ratio: 4 / 3; }
	.lmp-service-grid article { min-height: 235px; }
	.lmp-process ol { grid-template-columns: 1fr; }
	.lmp-contact-card { padding: 28px 23px; }
	.lmp-footer { padding-top: 72px; }
	.lmp-footer__cta { align-items: flex-start; flex-direction: column; padding-bottom: 50px; }
	.lmp-footer__grid { grid-template-columns: 1fr; gap: 35px; padding: 50px 0; }
	.lmp-footer__bottom { align-items: flex-start; flex-direction: column; }
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce .woocommerce-ordering,
	.woocommerce .woocommerce-result-count { float: none; }
	.lmp-sector-rail--mobile { position: static; display: flex; width: calc(100vw - 15px); margin: 24px 0 0; overflow-x: auto; border-radius: 13px; box-shadow: none; transform: none; }
	.lmp-sector-rail--mobile a { flex: 0 0 auto; min-width: 132px; padding: 13px 15px; }
	.lmp-sector-rail--mobile strong { font-size: 15px; }
	.lmp-hero__proof { margin-top: 26px; }
	.lmp-catalog-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow: visible; }
	.lmp-catalog-summary span { min-width: 0; font-size: 12px; letter-spacing: .06em; }
	.lmp-catalog-hero { padding: 44px 0 40px; }
	.page-template-page-themes .lmp-catalog-hero h1 { margin: 15px 0 16px; font-size: 34px; line-height: 1.14; }
	.lmp-catalog-hero p { font-size: 13px; line-height: 1.55; }
	.lmp-catalog-summary { margin-top: 23px; }
	.lmp-catalog-summary strong { font-size: 22px; }
	.lmp-catalog-tools { padding: 13px 0; }
	.lmp-filter-group { width: 100%; }
	.lmp-filter-group strong { flex-basis: 100%; }
	.lmp-filter-group button { flex: 1 1 auto; }
	.lmp-filter-group button { padding: 6px 8px; }
	.lmp-catalog-section { padding-top: 55px; }
	.lmp-preview-toolbar { left: 8px; right: 8px; top: 8px; }
	.lmp-preview-toolbar > div { max-width: 62%; }
	.lmp-theme-row__image .lmp-preview-mobile { width: 72%; }
	.lmp-theme-row__image.is-mobile { min-height: 0; padding: 24px 0; }
	.lmp-theme-meta { align-items: flex-start; }
	.lmp-theme-specs { grid-template-columns: 1fr; }
	.lmp-compare-section { padding: 72px 0; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
b,strong{font-weight:700}
small,sub,sup{font-size:max(12px,.875em)}
h1,h2,h3,h4{padding-bottom:.08em}

/* Contenu rédactionnel des pages à modèle dédié : la mise en page reste celle
   du thème, le texte se modifie depuis WordPress. */
.lmp-support-terms { max-width: 78ch; margin: 0 auto; padding: 8px 0 4px; }
.lmp-support-terms h2 { margin: 34px 0 10px; font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.2; }
.lmp-support-terms p { margin: 0 0 14px; }
.lmp-support-terms ul,
.lmp-support-terms ol { margin: 0 0 18px; padding-left: 1.25rem; }
.lmp-support-terms li { margin-bottom: 7px; }

/* Liens légaux du pied de page : discrets mais toujours accessibles, comme
   l'exige un site marchand. */
.lmp-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 20px 0 4px; border-top: 1px solid rgba(255,255,255,.12); }
.lmp-footer__legal a { color: rgba(255,255,255,.72); font-size: .82rem; text-decoration: none; }
.lmp-footer__legal a:hover,
.lmp-footer__legal a:focus-visible { color: #fff; text-decoration: underline; }

/* Renonciation au droit de rétractation : visible, jamais présélectionnée, et
   assez lisible pour qu'on comprenne ce à quoi on renonce. */
.lmp-waiver { margin: 22px 0; padding: 18px 20px; background: #fbfbfd; border: 1px solid rgba(16,35,63,.14); border-radius: 12px; }
.lmp-waiver h3 { margin: 0 0 6px; font-size: 1rem; }
.lmp-waiver > p { margin: 0 0 12px; font-size: .86rem; color: #4b5563; }
.lmp-waiver .lmp-waiver__field { margin: 0; }
.lmp-waiver .lmp-waiver__field label { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; line-height: 1.45; }
.lmp-waiver .lmp-waiver__field input[type=checkbox] { margin-top: 3px; flex: 0 0 auto; width: 17px; height: 17px; }
.lmp-waiver__note { margin: 12px 0 0; font-size: .8rem; color: #6b7280; }

/* Bouton de rétractation : visible, pas caché en bas d'une page de compte. */
.lmp-withdrawal { margin: 26px 0; padding: 20px 22px; background: #fbfbfd; border: 1px solid rgba(16,35,63,.14); border-radius: 12px; }
.lmp-withdrawal h2 { margin: 0 0 8px; font-size: 1.05rem; }
.lmp-withdrawal p { margin: 0 0 12px; font-size: .9rem; line-height: 1.55; }
.lmp-withdrawal p:last-child { margin-bottom: 0; }
.lmp-button--outline { display: inline-block; padding: 10px 18px; border: 1px solid currentColor; border-radius: 999px; font-weight: 600; text-decoration: none; }

/* Petits écrans : l'espacement fixe de l'en-tête faisait déborder la page sous
   340 px, et les liens du menu tenaient sur 21 px de haut — sous les 24 px du
   critère de taille de cible (WCAG 2.5.8). */
@media(max-width:560px){
	.lmp-nav a,.lmp-footer a,.lmp-legal a{min-height:44px;display:inline-flex;align-items:center}
}

/* Vingt-quatre pixels de haut, à toutes les largeurs.
   La règle de taille de cible n'existait qu'en dessous de 560 px : au-delà, les
   liens du menu et du pied retombaient à 15–17 px de haut, sous le minimum de
   24 px du critère 2.5.8. Personne ne l'avait vu parce qu'aucun contrôle ne
   mesurait entre le téléphone et le bureau. Vingt-quatre pixels ne changent pas
   l'aspect d'une barre de 76 px ; ils changent la vie d'un doigt sur tablette. */
.lmp-nav a, footer a { min-height: 24px; display: inline-flex; align-items: center; }

/* Les deux encres du pied de page, exposées pour le module.
   La carte de contact d'un pied construit avec Elementor est mise à plat par le
   module, qui ne peut pas deviner sur quelle couleur elle atterrit : le thème
   la lui dit ici. */
:root {
	--lyv-pied-texte: #e9e6f5;
	--lyv-pied-lien: #dcd6ff;
}

/* Le bouton d'achat sur la carte d'une démonstration.
   Un visiteur qui regarde un aperçu doit pouvoir acheter depuis là, sans
   repasser par la liste et sans retrouver lui-même de quel thème il s'agit. */
.lmp-demo-card__content > div { min-width: 0; flex: 1 1 auto; }

.lmp-demo-card__buy {
	display: inline-flex;
	align-items: center;
	/* Sans ces trois lignes, le conteneur en flex étire le bouton sur toute la
	   hauteur de la carte : avec des coins de 999 px, il devient une grande
	   ellipse bleue posée sur le texte. Un bouton se dimensionne par son
	   contenu, jamais par la boîte qui l'accueille. */
	align-self: center;
	flex: 0 0 auto;
	width: max-content;
	min-height: 40px;
	margin-top: 0;
	padding: 9px 16px;
	background: var(--lmp-lime);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	font-size: .86rem;
	text-decoration: none;
	white-space: nowrap;
}
.lmp-demo-card__buy:hover { filter: brightness(1.08); }

/* La loupe de la galerie : un caractère posé sur l'image, sans fond.
   Mesurée à 1:1 de contraste — elle n'existait à l'écran que par chance, selon
   ce qui passait dessous. Elle reçoit une pastille, comme n'importe quel bouton
   posé sur une photo. */
.woocommerce-product-gallery__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--lmp-ink);
	color: #fff;
	border-radius: 999px;
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(16, 35, 63, .28);
}
.woocommerce-product-gallery__trigger:hover { filter: brightness(1.15); }

/* Le bouton « Mettre à jour le panier », désactivé tant qu'aucune quantité n'a
   changé. WooCommerce le grise à 50 % d'opacité sur son propre fond : encre et
   fond deviennent la même couleur, contraste 1:1. Un bouton inactif doit rester
   lisible — c'est justement quand on ne peut pas cliquer qu'on veut savoir sur
   quoi. */
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	opacity: 1;
	background: #dbe2ec;
	color: #3f4d63;
	cursor: not-allowed;
}

/* V14 — finition de la vitrine commerciale et de ses modèles Elementor. */
.lmp-site .ehf-header .elementor-section,
.lmp-site.ehf-header #masthead .elementor-section,
.lmp-site .elementor-location-header .elementor-section {
	border-bottom: 1px solid rgba(7, 20, 38, .08);
	box-shadow: 0 10px 28px rgba(7, 20, 38, .06);
}
.lmp-site .ehf-header .elementor-widget-site-logo img,
.lmp-site.ehf-header #masthead .elementor-widget-site-logo img,
.lmp-site .elementor-location-header .elementor-widget-site-logo img {
	display: block;
	width: auto;
	max-width: 168px;
	height: 46px;
	object-fit: contain;
}
.lmp-site.home .elementor > .elementor-section { overflow: hidden; }
.lmp-site.home .elementor-widget-heading h1 {
	font-size: clamp(46px, 5.4vw, 76px);
	font-weight: 560;
	line-height: 1.01;
	letter-spacing: -.055em;
}
.lmp-site.home .elementor-widget-heading h1 em { color: #77e0ad; font-style: normal; }
.lmp-site.home .elementor-widget-heading h2 {
	font-size: clamp(37px, 4.2vw, 58px);
	font-weight: 560;
	line-height: 1.07;
	letter-spacing: -.045em;
}
.lmp-site.home .elementor-widget-text-editor p,
.lmp-site.home .elementor-widget-text-editor li { line-height: 1.65; }
.lmp-site.home .elementor-button {
	min-height: 50px;
	padding: 14px 22px;
	font-weight: 750;
}
.lmp-site.home .elementor-widget-icon-box {
	height: 100%;
	padding: 28px;
	border: 1px solid rgba(148, 163, 184, .18);
	border-radius: 20px;
}
.lmp-site.home .elementor-widget-icon-box .elementor-widget-container { height: 100%; }
.lmp-site.home .elementor-widget-image img {
	border-radius: 22px;
	box-shadow: 0 24px 60px rgba(7, 20, 38, .18);
}
.lmp-concept-note {
	max-width: 760px;
	margin: 25px auto 0;
	color: var(--lmp-muted);
	font-size: 13px;
	text-align: center;
}
.lmp-planning-levels { background: var(--lmp-paper); }
.lmp-planning-levels .lmp-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lmp-planning-levels .lmp-service-grid article { min-height: 360px; }
.lmp-planning-levels .lmp-service-grid ul { margin: 22px 0 0; padding: 0; list-style: none; }
.lmp-planning-levels .lmp-service-grid li {
	position: relative;
	margin: 9px 0;
	padding-left: 24px;
	color: var(--lmp-muted);
	font-size: 13px;
}
.lmp-planning-levels .lmp-service-grid li::before {
	position: absolute;
	left: 0;
	content: "✓";
	color: #2f7d6e;
	font-weight: 900;
}
.lmp-legal-alert {
	margin: 24px 0 34px;
	padding: 18px 20px;
	background: #fff8db;
	color: #5c4700;
	border: 1px solid #eed36a;
	border-left: 5px solid #d6aa00;
	border-radius: 12px;
	line-height: 1.55;
}

/* Pages éditoriales, légales et transactionnelles : même identité que la
   vitrine, sans transformer leur contenu administrable en gabarit figé. */
.lmp-branded-page {
	background:
		radial-gradient(circle at 8% 18%, rgba(255, 205, 221, .26), transparent 28%),
		radial-gradient(circle at 92% 8%, rgba(175, 226, 255, .34), transparent 31%),
		#f7f8fc;
}
.lmp-branded-page__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(64px, 8vw, 108px) 0 clamp(76px, 9vw, 124px);
	background: linear-gradient(118deg, #fff2f7 0%, #f8f4ff 48%, #eaf8ff 100%);
}
.lmp-branded-page__hero::before,
.lmp-branded-page__hero::after {
	position: absolute;
	content: "";
	border: 20px solid rgba(104, 71, 245, .09);
	border-radius: 50%;
	pointer-events: none;
}
.lmp-branded-page__hero::before {
	width: 190px;
	height: 190px;
	left: -120px;
	top: 42px;
}
.lmp-branded-page__hero::after {
	width: 270px;
	height: 270px;
	right: -150px;
	top: -120px;
	border-color: rgba(32, 185, 220, .11);
}
.lmp-branded-page__hero .lmp-shell { position: relative; z-index: 1; }
.lmp-branded-page__hero .lmp-eyebrow { color: var(--lmp-brand-violet); }
.lmp-branded-page__hero h1 {
	max-width: 1040px;
	margin: 16px 0 0;
	color: var(--lmp-brand-navy);
	font-size: clamp(46px, 6vw, 76px);
	font-weight: 590;
	line-height: 1.02;
	letter-spacing: -.055em;
}
.lmp-branded-page__body {
	position: relative;
	z-index: 2;
	padding: 0 0 clamp(72px, 9vw, 120px);
}
.lmp-branded-page__card {
	max-width: 1040px;
	margin: -52px 0 0;
	padding: clamp(34px, 5vw, 66px);
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(16, 22, 58, .08);
	border-radius: 28px;
	box-shadow: 0 30px 80px rgba(53, 62, 117, .12);
}
.lmp-branded-page__card h2 {
	position: relative;
	margin: 42px 0 15px;
	padding-left: 18px;
	color: var(--lmp-brand-navy);
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: 1.2;
}
.lmp-branded-page__card h2:first-child { margin-top: 0; }
.lmp-branded-page__card h2::before {
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: 5px;
	content: "";
	background: linear-gradient(180deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	border-radius: 999px;
}
.lmp-branded-page__card p,
.lmp-branded-page__card li { color: #4d5974; line-height: 1.72; }
.lmp-branded-page__card a { color: #365ad8; text-underline-offset: 4px; }
.lmp-branded-page__card > p:first-child {
	margin-top: 0;
	padding: 16px 18px;
	background: #f5f2ff;
	border: 1px solid rgba(104, 71, 245, .12);
	border-radius: 14px;
}
.lmp-branded-page--commerce .lmp-branded-page__card { max-width: none; }

@media (max-width: 760px) {
	.lmp-branded-page__hero { padding: 54px 0 78px; }
	.lmp-branded-page__hero h1 { font-size: clamp(42px, 13vw, 58px); }
	.lmp-branded-page__card { margin-top: -38px; border-radius: 22px; }
}
.lmp-shop-hero {
	margin: 0 0 42px;
	padding: clamp(38px, 5vw, 68px);
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%);
	color: var(--lmp-brand-navy, #10163a);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(7, 20, 38, .15);
}
.lmp-shop-hero .lmp-eyebrow { color: var(--lmp-brand-violet, #6847f5); }
.lmp-shop-hero h1 {
	max-width: 850px;
	margin: 14px 0 16px;
	color: var(--lmp-brand-navy, #10163a);
	font-size: clamp(40px, 5vw, 66px);
	line-height: 1.04;
	letter-spacing: -.05em;
}
.lmp-shop-hero > p { max-width: 760px; color: #525d78; font-size: 16px; line-height: 1.65; }
.lmp-shop-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 28px; }
.lmp-shop-hero__actions > a:not(.lmp-button) { color: var(--lmp-brand-navy, #10163a); font-weight: 700; text-underline-offset: 5px; }
.lmp-coming-soon { color: #675b18; font-weight: 800; }

@media (max-width: 760px) {
	.lmp-site.home .elementor-widget-heading h1 { font-size: clamp(40px, 12vw, 54px); }
	.lmp-site.home .elementor-widget-heading h2 { font-size: clamp(34px, 9.5vw, 44px); }
	.lmp-site.home .elementor-widget-icon-box { padding: 23px; }
	.lmp-planning-levels .lmp-service-grid { grid-template-columns: 1fr; }
	.lmp-planning-levels .lmp-service-grid article { min-height: 0; }
}

/* V15 — la vitrine reprend l'identité de Lyvira.AI et parle d'abord au loueur. */
.lmp-site {
	--lmp-brand-navy: #10163a;
	--lmp-brand-violet: #6847f5;
	--lmp-brand-blue: #356ff6;
	--lmp-brand-cyan: #20b9dc;
	--lmp-brand-blush: #fff3f6;
	--lmp-brand-sky: #eaf8ff;
	overflow-x: clip;
}
.lmp-site .ehf-header .elementor-widget-button .elementor-button,
.lmp-site.ehf-header #masthead .elementor-widget-button .elementor-button,
.lmp-site .elementor-location-header .elementor-widget-button .elementor-button {
	background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	box-shadow: 0 10px 24px rgba(85, 86, 236, .22);
}
.lmp-site.home .lmp-market-hero {
	position: relative;
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%) !important;
}
.lmp-site.home .lmp-market-hero::before,
.lmp-site.home .lmp-market-hero::after {
	position: absolute;
	content: "";
	border: 18px solid rgba(104, 71, 245, .09);
	border-radius: 50%;
	pointer-events: none;
}
.lmp-site.home .lmp-market-hero::before {
	width: 160px;
	height: 160px;
	left: -105px;
	top: 70px;
}
.lmp-site.home .lmp-market-hero::after {
	width: 230px;
	height: 230px;
	right: -150px;
	bottom: -125px;
	border-color: rgba(32, 185, 220, .1);
}
.lmp-site.home .lmp-market-hero > .elementor-container { align-items: flex-start; }
.lmp-site.home .lmp-market-hero .elementor-widget-heading h1 {
	max-width: 690px;
	color: var(--lmp-brand-navy);
	font-size: clamp(48px, 5vw, 74px);
}
.lmp-site.home .lmp-market-hero .elementor-widget-heading h1 em {
	color: transparent;
	background: linear-gradient(105deg, var(--lmp-brand-violet), var(--lmp-brand-blue) 55%, var(--lmp-brand-cyan));
	-webkit-background-clip: text;
	background-clip: text;
}
.lmp-site.home .lmp-market-hero .elementor-widget-text-editor p {
	max-width: 650px;
	font-size: 17px;
}
.lmp-site.home .lmp-market-hero .elementor-widget-image img {
	width: 100%;
	border-radius: 34px;
	box-shadow: 0 28px 70px rgba(74, 87, 177, .16);
}
@media (min-width: 1200px) {
	.lmp-site.home .lmp-market-hero .elementor-column:last-child { z-index: 2; }
	.lmp-site.home .lmp-market-hero .elementor-widget-image img {
		width: 112%;
		max-width: none;
	}
}
.lmp-site.home .lmp-market-hero-actions .elementor-widget-text-editor {
	max-width: 880px;
	margin: 0 auto;
	text-align: center !important;
}
.lmp-site.home .lmp-market-hero-actions .elementor-widget-wrap {
	display: block;
	text-align: center;
}
.lmp-site.home .lmp-market-hero-actions .elementor-button-wrapper { text-align: center !important; }
.lmp-site.home .lmp-market-hero-actions .elementor-widget-button .elementor-button {
	box-shadow: 0 12px 26px rgba(85, 86, 236, .2);
}
.lmp-site.home .lmp-market-hero-actions .elementor-widget-button {
	display: inline-block;
	width: auto;
	margin: 22px 5px 0;
	text-align: center !important;
}
.lmp-site.home .lmp-market-hero-actions .elementor-widget-button:nth-last-of-type(1) .elementor-button {
	border: 1px solid rgba(16, 22, 58, .13);
}
.lmp-site.home .lmp-market-proof-strip {
	border-top: 1px solid rgba(16, 22, 58, .08);
	border-bottom: 1px solid rgba(16, 22, 58, .08);
}
.lmp-site.home .lmp-market-proof-strip p {
	margin: 0;
	color: var(--lmp-brand-navy);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .075em;
	text-align: center;
}
.lmp-site.home .lmp-market-entry-cards .elementor-widget-icon-box,
.lmp-site.home .lmp-market-value-cards .elementor-widget-icon-box {
	position: relative;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 18px 45px rgba(60, 67, 122, .08);
}
.lmp-site.home .lmp-market-entry-cards .elementor-widget-icon-box::before,
.lmp-site.home .lmp-market-value-cards .elementor-widget-icon-box::before {
	position: absolute;
	content: "";
	left: 24px;
	right: 24px;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	border-radius: 999px;
}
.lmp-site.home .lmp-market-value-head,
.lmp-site.home .lmp-market-value-cards {
	background:
		radial-gradient(circle at 12% 16%, rgba(255, 214, 226, .35), transparent 27%),
		linear-gradient(120deg, #fbf8ff, #eef9ff) !important;
}
.lmp-site.home .lmp-market-value-cards .elementor-widget-icon-box { min-height: 250px; }
.lmp-site.home .lmp-market-univers {
	background:
		radial-gradient(circle at 100% 0, rgba(32, 185, 220, .14), transparent 35%),
		linear-gradient(125deg, #10163a, #171c4b) !important;
}
.lmp-site.home .lmp-market-univers .elementor-widget-image img,
.lmp-market-univers__inner img {
	display: block;
	width: 100%;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 24px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}
.lmp-site.home .lmp-market-univers .elementor-widget-heading h2,
.lmp-market-univers h2 {
	color: #fff;
}
.lmp-site.home .lmp-market-univers .elementor-column:last-child .elementor-widget-button {
	display: inline-block;
	width: auto;
	margin-right: 8px;
}
.lmp-market-univers {
	background: linear-gradient(125deg, #10163a, #171c4b);
	color: #fff;
}
.lmp-market-univers__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(330px, 1fr);
	align-items: center;
	gap: clamp(35px, 5vw, 72px);
}
.lmp-market-univers .lmp-eyebrow { color: #80e5f4; }
.lmp-market-univers p { color: #cbd3e5; }
.lmp-site .lmp-hero {
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%);
	color: var(--lmp-brand-navy);
}
.lmp-site .lmp-hero__glow {
	background: radial-gradient(circle, rgba(104, 71, 245, .18), rgba(32, 185, 220, 0) 68%);
}
.lmp-site .lmp-hero::after { opacity: .16; }
.lmp-site .lmp-hero h1 { color: var(--lmp-brand-navy); }
.lmp-site .lmp-hero h1 em {
	color: transparent;
	background: linear-gradient(105deg, var(--lmp-brand-violet), var(--lmp-brand-blue) 55%, var(--lmp-brand-cyan));
	-webkit-background-clip: text;
	background-clip: text;
}
.lmp-site .lmp-hero h1 em::after { display: none; }
.lmp-site .lmp-hero__copy > p { color: #525d78; }
.lmp-site .lmp-hero__brand-visual {
	width: 100%;
	border-radius: 34px;
	box-shadow: 0 28px 70px rgba(74, 87, 177, .16);
}
.lmp-site .lmp-hero__proof span {
	color: #525d78;
	border-color: rgba(16, 22, 58, .12);
}
.lmp-site .lmp-hero__proof b { color: var(--lmp-brand-navy); }
.lmp-site .lmp-logo-strip {
	background: #fff;
	color: var(--lmp-brand-navy);
	border-top: 1px solid rgba(16, 22, 58, .08);
	border-bottom: 1px solid rgba(16, 22, 58, .08);
}
.lmp-site .lmp-logo-strip i { background: linear-gradient(135deg, var(--lmp-brand-violet), var(--lmp-brand-cyan)); }
.lmp-site footer .elementor-section,
.lmp-site .ehf-footer .elementor-section,
.lmp-site .elementor-location-footer .elementor-section {
	background-color: var(--lmp-brand-navy);
}

/* La page sur mesure présente l'ensemble de l'offre WordPress de Lyvira.AI. */
.lmp-page-hero--custom {
	padding: 78px 0 86px;
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%);
	color: var(--lmp-brand-navy);
}
.lmp-page-hero--custom::after {
	width: 230px;
	height: 230px;
	right: -145px;
	top: auto;
	bottom: -125px;
	border: 18px solid rgba(32, 185, 220, .1);
}
.lmp-custom-hero__grid {
	display: grid;
	grid-template-columns: minmax(420px, .78fr) minmax(600px, 1.22fr);
	align-items: center;
	gap: clamp(32px, 3.5vw, 58px);
}
.lmp-page-hero--custom .lmp-eyebrow { color: var(--lmp-brand-violet); }
.lmp-page-hero--custom h1 {
	max-width: 660px;
	margin: 18px 0 24px;
	color: var(--lmp-brand-navy);
	font-size: clamp(46px, 4.3vw, 66px);
	line-height: 1.025;
	letter-spacing: -.055em;
}
.lmp-page-hero--custom p {
	max-width: 680px;
	color: #525d78;
	font-size: 17px;
	line-height: 1.65;
}
.lmp-page-hero--custom .lmp-text-link { color: var(--lmp-brand-navy); }
.lmp-page-hero--custom .lmp-button {
	background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	color: #fff;
	box-shadow: 0 12px 26px rgba(85, 86, 236, .2);
}
.page-template-page-themes .lmp-catalog-hero {
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%);
	color: var(--lmp-brand-navy);
}
.page-template-page-themes .lmp-catalog-hero::after {
	border-color: rgba(104, 71, 245, .09);
}
.page-template-page-themes .lmp-catalog-hero .lmp-eyebrow { color: var(--lmp-brand-violet); }
.page-template-page-themes .lmp-catalog-hero h1 {
	max-width: 850px;
	color: var(--lmp-brand-navy);
}
.page-template-page-themes .lmp-catalog-hero p { max-width: 760px; color: #525d78; }
.page-template-page-themes .lmp-catalog-summary span { color: #5d6782; }
.page-template-page-themes .lmp-catalog-summary strong { color: var(--lmp-brand-navy); }
.lmp-page-hero--planning {
	background:
		radial-gradient(circle at 7% 16%, rgba(255, 205, 221, .58), transparent 32%),
		radial-gradient(circle at 92% 14%, rgba(175, 226, 255, .7), transparent 35%),
		linear-gradient(120deg, #fff9fb 0%, #f8f5ff 46%, #eef9ff 100%);
	color: var(--lmp-brand-navy);
}
.lmp-page-hero--planning::after { border-color: rgba(32, 185, 220, .1); }
.lmp-page-hero--planning .lmp-status--light {
	background: rgba(104, 71, 245, .1);
	color: #4e39ba;
}
.lmp-page-hero--planning .lmp-eyebrow--lime { color: var(--lmp-brand-violet); }
.lmp-page-hero--planning h1 { max-width: 1050px; color: var(--lmp-brand-navy); }
.lmp-page-hero--planning p { max-width: 760px; color: #525d78; }
.lmp-page-hero--planning .lmp-text-link--light { color: var(--lmp-brand-navy); }
.lmp-page-hero--planning .lmp-button {
	background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	color: #fff;
}
.lmp-page-hero--planning .lmp-shell { width: min(1420px, calc(100% - 48px)); }
.lmp-planning-hero__grid {
	display: grid;
	grid-template-columns: minmax(440px, .76fr) minmax(650px, 1.24fr);
	align-items: center;
	gap: clamp(32px, 4vw, 58px);
}
.lmp-planning-hero__copy { min-width: 0; }
.lmp-page-hero--planning .lmp-planning-hero__copy h1 {
	max-width: 690px;
	margin-bottom: 0;
	font-size: clamp(44px, 4.2vw, 64px);
	line-height: 1.05;
}
.lmp-planning-hero__visual {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 18px 0 28px;
}
.lmp-planning-screen {
	overflow: hidden;
	margin: 0;
	background: #fff;
	border: 1px solid rgba(16, 24, 55, .12);
	border-radius: 24px;
	box-shadow: 0 28px 70px rgba(32, 46, 104, .16);
}
.lmp-planning-screen__bar {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 8px 14px;
	background: #fff;
	border-bottom: 1px solid rgba(16, 24, 55, .09);
}
.lmp-planning-screen__bar i {
	display: block;
	width: 8px;
	height: 8px;
	background: #ffc8d9;
	border-radius: 50%;
}
.lmp-planning-screen__bar i:nth-child(2) { background: #ffe59a; }
.lmp-planning-screen__bar i:nth-child(3) { background: #91e4d2; }
.lmp-planning-screen__bar strong {
	margin-left: 4px;
	color: #5d6782;
	font-size: 10px;
	letter-spacing: .04em;
}
.lmp-planning-screen img { display: block; width: 100%; height: auto; }
.lmp-planning-screen--hero {
	position: relative;
	z-index: 1;
	border-radius: 27px;
	box-shadow: 0 34px 90px rgba(57, 73, 154, .22);
	transform: rotate(1deg) scale(1.04);
}
.lmp-planning-screen--hero::after {
	position: absolute;
	z-index: -1;
	content: "";
	inset: 18px -18px -18px 18px;
	background: linear-gradient(135deg, rgba(255, 207, 223, .72), rgba(166, 226, 255, .7));
	border-radius: inherit;
}
.lmp-planning-hero__visual figcaption {
	position: absolute;
	z-index: 2;
	right: 2px;
	bottom: 0;
	padding: 9px 13px;
	background: var(--lmp-brand-navy);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	border-radius: 999px;
}
.lmp-dashboard--hero {
	position: relative;
	z-index: 1;
	padding: 18px;
	border-color: rgba(104, 71, 245, .13);
	border-radius: 26px;
	box-shadow: 0 32px 80px rgba(74, 87, 177, .2);
	transform: rotate(1.2deg);
}
.lmp-dashboard--hero::before {
	position: absolute;
	z-index: -1;
	content: "";
	inset: 18px -18px -18px 18px;
	background: linear-gradient(135deg, rgba(255, 207, 223, .74), rgba(166, 226, 255, .72));
	border-radius: inherit;
}
.lmp-dashboard--hero .lmp-dashboard__bar { padding-bottom: 13px; }
.lmp-dashboard--hero .lmp-dashboard__metrics { padding: 11px 0; }
.lmp-dashboard--hero .lmp-dashboard__metrics > span { padding: 10px 12px; }
.lmp-dashboard--hero .lmp-dashboard__metrics b { font-size: 27px; }
.lmp-dashboard--hero .lmp-dashboard__calendar { padding: 12px 14px; }
.lmp-dashboard--hero .lmp-dashboard__row { min-height: 42px; }
.lmp-dashboard--hero .lmp-dashboard__row i { height: 18px; }
.lmp-planning-hero__caption {
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 0;
	padding: 9px 13px;
	background: var(--lmp-brand-navy);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	border-radius: 999px;
}
.lmp-planning-hero__actions {
	max-width: 900px;
	margin: 36px auto 0;
	text-align: center;
}
.lmp-page-hero--planning .lmp-planning-hero__actions > p { max-width: 880px; margin-inline: auto; }
.lmp-planning-hero__actions .lmp-actions { justify-content: center; }
.lmp-planning-proofbar {
	background: var(--lmp-brand-navy);
	color: #fff;
}
.lmp-planning-proofbar .lmp-shell {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-block: 24px;
}
.lmp-planning-proofbar span {
	display: grid;
	gap: 4px;
	padding: 2px 24px;
	border-left: 1px solid rgba(255, 255, 255, .16);
}
.lmp-planning-proofbar span:first-child { padding-left: 0; border-left: 0; }
.lmp-planning-proofbar strong { font-size: 14px; }
.lmp-planning-proofbar small { color: #b9c5e3; font-size: 11px; }
.lmp-planning-story { background: #fff; }
.lmp-planning-story__grid,
.lmp-planning-workflow__grid {
	display: grid;
	grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
	align-items: center;
	gap: clamp(42px, 6vw, 82px);
}
.lmp-planning-story h2,
.lmp-planning-faq h2 {
	margin: 16px 0 22px;
	font-size: clamp(39px, 4.2vw, 58px);
	line-height: 1.06;
	letter-spacing: -.045em;
}
.lmp-planning-story__copy > p { color: var(--lmp-muted); font-size: 16px; }
.lmp-planning-checklist {
	display: grid;
	gap: 12px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}
.lmp-planning-checklist li { position: relative; padding-left: 28px; font-size: 14px; font-weight: 700; }
.lmp-planning-checklist li::before {
	position: absolute;
	content: "✓";
	left: 0;
	top: -1px;
	color: var(--lmp-brand-violet);
	font-size: 18px;
}
.lmp-planning-photo { margin: 0; }
.lmp-planning-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 28px;
	box-shadow: 0 28px 70px rgba(32, 46, 104, .14);
}
.lmp-planning-photo figcaption { margin-top: 10px; color: var(--lmp-muted); font-size: 11px; text-align: right; }
.lmp-planning-capabilities {
	background:
		radial-gradient(circle at 10% 12%, rgba(255, 210, 230, .72), transparent 28%),
		radial-gradient(circle at 88% 18%, rgba(179, 232, 255, .78), transparent 34%),
		linear-gradient(145deg, #fff8fc, #f4f3ff 54%, #effaff);
	color: var(--lmp-brand-navy);
}
.lmp-planning-capabilities .lmp-section-heading p { color: var(--lmp-muted); }
.lmp-planning-capabilities .lmp-eyebrow { color: var(--lmp-brand-violet); }
.lmp-planning-capability-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-top: 48px;
	background: none;
	border: 0;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}
.lmp-planning-capability-group {
	position: relative;
	overflow: hidden;
	background: rgba(255, 255, 255, .84);
	border: 1px solid rgba(74, 87, 177, .14);
	border-radius: 28px;
	box-shadow: 0 22px 60px rgba(74, 87, 177, .1);
}
.lmp-planning-capability-group::before { position: absolute; content: ""; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--lmp-brand-violet), var(--lmp-brand-cyan)); }
.lmp-planning-capability-group--prepare::before { background: linear-gradient(90deg, #b96cff, #ff8bbb); }
.lmp-planning-capability-group--operate::before { background: linear-gradient(90deg, #1bbbd7, #70dfbf); }
.lmp-planning-capability-group--control::before { background: linear-gradient(90deg, #4e69ed, #9d79ff); }
.lmp-planning-capability-group > header { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 16px; padding: 26px 28px 22px; border-bottom: 1px solid rgba(74, 87, 177, .12); }
.lmp-planning-capability-group > header > span { display: grid; width: 48px; height: 48px; place-items: center; background: #f0edff; color: var(--lmp-brand-violet); border-radius: 15px; font-size: 14px; font-weight: 850; }
.lmp-planning-capability-group > header small { display: block; color: var(--lmp-brand-violet); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.lmp-planning-capability-group > header h3 { margin: 3px 0 0; color: var(--lmp-brand-navy); font-size: 25px; line-height: 1; }
.lmp-planning-capability-group > header em { color: var(--lmp-muted); font-size: 10px; font-style: normal; font-weight: 700; }
.lmp-planning-capability-list { padding: 8px 28px 14px; }
.lmp-planning-capability-list article { display: grid; grid-template-columns: 34px 1fr; gap: 14px; min-height: 0; padding: 20px 0; background: transparent; border-bottom: 1px solid rgba(74, 87, 177, .1); }
.lmp-planning-capability-list article:last-child { border-bottom: 0; }
.lmp-planning-capability-list article > span { color: var(--lmp-brand-violet); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.lmp-planning-capability-list h4 { margin: -3px 0 7px; color: var(--lmp-brand-navy); font-size: 16px; line-height: 1.2; }
.lmp-planning-capability-list p { margin: 0; color: var(--lmp-muted); font-size: 11px; line-height: 1.55; }
.lmp-planning-action { background: #fff; }
.lmp-planning-action__grid { display: grid; gap: 28px; margin-top: 48px; }
.lmp-planning-action article { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: stretch; overflow: hidden; background: linear-gradient(145deg, #fff, #f8f7ff); border: 1px solid var(--lmp-line); border-radius: 28px; box-shadow: 0 22px 60px rgba(74, 87, 177, .11); }
.lmp-planning-action article:nth-child(even) { grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr); }
.lmp-planning-action article:nth-child(even) figure { order: 2; }
.lmp-planning-action figure { margin: 0; overflow: hidden; }
.lmp-planning-action img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; transition: transform .55s ease; }
.lmp-planning-action article:hover img { transform: scale(1.025); }
.lmp-planning-action article > div { display: flex; padding: clamp(30px, 4vw, 58px); flex-direction: column; justify-content: center; }
.lmp-planning-action article > div > span { color: var(--lmp-brand-violet); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.lmp-planning-action h3 { margin: 13px 0 14px; font-size: clamp(27px, 2.4vw, 36px); line-height: 1.08; letter-spacing: -.03em; }
.lmp-planning-action p { color: var(--lmp-muted); font-size: 14px; }
.lmp-planning-action ul { display: grid; gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; }
.lmp-planning-action li { position: relative; padding-left: 22px; font-size: 12px; font-weight: 750; }
.lmp-planning-action li::before { position: absolute; left: 0; content: "✓"; color: var(--lmp-brand-violet); }
.lmp-planning-product { background: var(--lmp-paper); }
.lmp-planning-feature {
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: clamp(32px, 5vw, 68px);
	margin-top: 54px;
	padding: clamp(24px, 3vw, 42px);
	background: #fff;
	border: 1px solid var(--lmp-line);
	border-radius: 30px;
	box-shadow: 0 22px 62px rgba(32, 46, 104, .09);
}
.lmp-planning-feature__copy > span,
.lmp-planning-gallery article > div > span {
	color: var(--lmp-brand-violet);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
}
.lmp-planning-feature h3 { margin: 14px 0 18px; font-size: clamp(31px, 3.3vw, 46px); line-height: 1.08; letter-spacing: -.035em; }
.lmp-planning-feature p,
.lmp-planning-gallery p { color: var(--lmp-muted); }
.lmp-planning-feature ul { display: grid; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.lmp-planning-feature li { position: relative; padding-left: 22px; font-size: 13px; font-weight: 700; }
.lmp-planning-feature li::before { position: absolute; content: "✓"; left: 0; color: var(--lmp-brand-violet); }
.lmp-planning-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 24px;
}
.lmp-planning-gallery article {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--lmp-line);
	border-radius: 25px;
	box-shadow: 0 18px 48px rgba(32, 46, 104, .08);
}
.lmp-planning-gallery article > div { min-height: 205px; padding: 27px; }
.lmp-planning-gallery h3 { margin: 13px 0 10px; font-size: 27px; line-height: 1.12; letter-spacing: -.025em; }
.lmp-planning-gallery p { margin: 0; font-size: 13px; }
.lmp-planning-gallery img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: top left; border-top: 1px solid var(--lmp-line); }
.lmp-planning-workflow { background: #fff; }
.lmp-planning-workflow__grid { margin-top: 48px; }
.lmp-planning-workflow ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.lmp-planning-workflow li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--lmp-line); }
.lmp-planning-workflow li:first-child { padding-top: 0; }
.lmp-planning-workflow li > span { display: grid; width: 36px; height: 36px; place-items: center; background: #f0ebff; color: var(--lmp-brand-violet); font-weight: 800; border-radius: 50%; }
.lmp-planning-workflow strong { font-size: 17px; }
.lmp-planning-workflow p { margin: 4px 0 0; color: var(--lmp-muted); font-size: 12px; }
.lmp-planning-compare {
	display: grid;
	grid-template-columns: minmax(230px, .72fr) minmax(0, 1.56fr) minmax(230px, .72fr);
	gap: 18px;
	margin-top: 48px;
}
.lmp-planning-compare article {
	display: flex;
	min-height: 525px;
	padding: 30px;
	background: #fff;
	border: 1px solid var(--lmp-line);
	border-radius: 25px;
	flex-direction: column;
}
.lmp-planning-compare article.is-highlighted { background: linear-gradient(145deg, #fff4fa, #f1f1ff 52%, #eafaff); color: var(--lmp-brand-navy); border-color: rgba(102, 78, 255, .22); transform: translateY(-14px); box-shadow: 0 28px 80px rgba(91, 82, 214, .17); }
.lmp-planning-compare__tag { color: var(--lmp-brand-violet); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.lmp-planning-compare .is-highlighted .lmp-planning-compare__tag { color: var(--lmp-brand-violet); }
.lmp-planning-compare h3 { margin: 28px 0 10px; font-size: 34px; }
.lmp-planning-compare article > strong { min-height: 42px; color: var(--lmp-brand-violet); font-size: 13px; }
.lmp-planning-compare .is-highlighted > strong { color: var(--lmp-brand-violet); }
.lmp-planning-compare article > p { color: var(--lmp-muted); font-size: 13px; }
.lmp-planning-compare .is-highlighted > p { color: var(--lmp-muted); }
.lmp-planning-compare ul { display: grid; gap: 10px; margin: 24px 0 30px; padding: 0; list-style: none; }
.lmp-planning-compare li { position: relative; padding-left: 22px; font-size: 12px; font-weight: 700; }
.lmp-planning-compare li::before { position: absolute; content: "✓"; left: 0; color: var(--lmp-brand-violet); }
.lmp-planning-compare .is-highlighted li::before { color: var(--lmp-brand-violet); }
.lmp-planning-compare article > a { margin-top: auto; align-self: flex-start; }
.lmp-planning-compare .is-highlighted .lmp-button { background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-cyan)); color: #fff; }
.lmp-planning-compare__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; margin: 24px 0 30px; }
.lmp-planning-compare__groups h4 { margin: 0 0 10px; color: var(--lmp-brand-navy); font-size: 13px; }
.lmp-planning-compare__groups ul { gap: 7px; margin: 0; }
.lmp-planning-compare__groups li { color: #34405f; font-size: 11px; font-weight: 650; }
.lmp-planning-compare__note { max-width: 900px; margin: 18px auto 0; color: var(--lmp-muted); font-size: 11px; text-align: center; }
.lmp-planning-audiences { background: #fff; }
.lmp-planning-audience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 45px; }
.lmp-planning-audience-grid article { min-height: 235px; padding: 26px; background: linear-gradient(145deg, #fbf8ff, #eff9ff); border: 1px solid #e3e4f3; border-radius: 22px; }
.lmp-planning-audience-grid span { color: var(--lmp-brand-violet); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.lmp-planning-audience-grid h3 { margin: 42px 0 12px; font-size: 22px; }
.lmp-planning-audience-grid p { margin: 0; color: var(--lmp-muted); font-size: 12px; }
.lmp-planning-faq { background: linear-gradient(135deg, #fdf4f8, #f3f6ff 50%, #eefaff); }
.lmp-planning-faq__grid { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(48px, 7vw, 92px); }
.lmp-planning-faq__grid > div:first-child > p { color: var(--lmp-muted); }
.lmp-planning-faq__list { border-top: 1px solid rgba(16, 24, 55, .14); }
.lmp-planning-faq details { border-bottom: 1px solid rgba(16, 24, 55, .14); }
.lmp-planning-faq summary { padding: 22px 34px 22px 0; cursor: pointer; font-size: 15px; font-weight: 800; list-style: none; }
.lmp-planning-faq summary::-webkit-details-marker { display: none; }
.lmp-planning-faq summary::after { float: right; content: "+"; color: var(--lmp-brand-violet); font-size: 22px; font-weight: 400; }
.lmp-planning-faq details[open] summary::after { content: "−"; }
.lmp-planning-faq details p { margin: -8px 32px 22px 0; color: var(--lmp-muted); font-size: 13px; }
.lmp-planning-cta { padding: 88px 0; background: var(--lmp-brand-navy); color: #fff; }
.lmp-planning-cta .lmp-shell { display: flex; align-items: flex-end; justify-content: space-between; gap: 44px; }
.lmp-planning-cta .lmp-eyebrow { color: #83dcf0; }
.lmp-planning-cta h2 { max-width: 840px; margin: 16px 0; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.05; letter-spacing: -.045em; }
.lmp-planning-cta p { max-width: 760px; color: #bdc9e0; }
.lmp-planning-cta .lmp-actions { flex: 0 0 auto; flex-direction: column; align-items: stretch; }
.lmp-custom-hero__visual img {
	display: block;
	width: 108%;
	max-width: none;
	border-radius: 32px;
	box-shadow: 0 28px 70px rgba(74, 87, 177, .16);
}
.lmp-custom-hero__actions {
	max-width: 900px;
	margin: 38px auto 0;
	text-align: center;
}
.lmp-custom-hero__actions > p { margin: 0 auto; }
.lmp-custom-hero__actions .lmp-actions,
.lmp-custom-hero__actions .lmp-custom-hero__proof { justify-content: center; }
.lmp-custom-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 32px;
}
.lmp-custom-hero__proof span {
	padding: 9px 13px;
	background: rgba(255, 255, 255, .72);
	color: #525d78;
	border: 1px solid rgba(16, 22, 58, .09);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
.lmp-custom-services {
	background: linear-gradient(180deg, #fff, #fbf9ff);
}
.lmp-custom-services .lmp-service-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	background: transparent;
	border: 0;
}
.lmp-custom-services .lmp-service-grid article {
	min-height: 265px;
	padding: 30px;
	background: #fff;
	border: 1px solid rgba(16, 22, 58, .1);
	border-radius: 24px;
	box-shadow: 0 18px 45px rgba(60, 67, 122, .07);
}
.lmp-custom-services .lmp-service-grid article > span {
	margin-bottom: 36px;
	color: var(--lmp-brand-violet);
	font-size: 28px;
}
.lmp-custom-capabilities article:nth-child(2),
.lmp-custom-capabilities article:nth-child(5) {
	background: linear-gradient(145deg, #f8f5ff, #fff);
}
.lmp-custom-capabilities article:nth-child(3),
.lmp-custom-capabilities article:nth-child(6) {
	background: linear-gradient(145deg, #f2fbff, #fff);
}
.lmp-custom-capabilities small {
	display: block;
	margin-bottom: 9px;
	color: var(--lmp-brand-violet);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .14em;
}
.lmp-custom-capabilities h3 {
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.035em;
}
.lmp-custom-capabilities p {
	font-size: 14px;
	line-height: 1.65;
}
.lmp-custom-showcase {
	background: var(--lmp-brand-navy);
	color: #fff;
}
.lmp-custom-showcase .lmp-section-heading h2 { color: #fff; }
.lmp-custom-showcase .lmp-section-heading > p { color: #b9c4dc; }
.lmp-custom-showcase__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}
.lmp-custom-project {
	overflow: hidden;
	background: #fff;
	color: var(--lmp-brand-navy);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 28px;
}
.lmp-custom-project--wide {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
}
.lmp-custom-project__media {
	min-height: 0;
	background: linear-gradient(140deg, #ffeef4, #eaf7ff);
}
.lmp-custom-project__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.lmp-custom-project--wide .lmp-custom-project__media img { aspect-ratio: 16 / 10; }
.lmp-custom-project__content {
	padding: 30px;
}
.lmp-custom-project__content > span {
	color: var(--lmp-brand-violet);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
}
.lmp-custom-project h3 {
	margin: 12px 0 12px;
	font-size: clamp(27px, 2.5vw, 38px);
	line-height: 1.08;
	letter-spacing: -.04em;
}
.lmp-custom-project p {
	margin: 0;
	color: #56617a;
	font-size: 14px;
	line-height: 1.65;
}
.lmp-custom-project ul {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.lmp-custom-project li {
	position: relative;
	padding-left: 20px;
	color: #343e59;
	font-size: 13px;
}
.lmp-custom-project li::before {
	position: absolute;
	content: "";
	left: 0;
	top: .52em;
	width: 7px;
	height: 7px;
	background: linear-gradient(135deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	border-radius: 50%;
}
.lmp-custom-process { background: #fff; }
.lmp-custom-process ol { gap: 18px; }
.lmp-custom-process li {
	min-height: 230px;
	padding: 30px 24px;
	background: linear-gradient(145deg, #fbf9ff, #f4fbff);
	border: 1px solid rgba(16, 22, 58, .09);
	border-radius: 22px;
}
.lmp-custom-process li > span {
	right: 24px;
	top: 25px;
	color: var(--lmp-brand-violet);
}
.lmp-custom-process li strong { margin-top: 80px; font-weight: 700; }
.lmp-custom-process li p { margin-right: 0; font-size: 13px; line-height: 1.55; }
.lmp-custom-levels {
	background:
		radial-gradient(circle at 2% 0, rgba(255, 205, 221, .5), transparent 27%),
		radial-gradient(circle at 98% 100%, rgba(175, 226, 255, .6), transparent 30%),
		linear-gradient(120deg, #fff9fb, #f6f4ff 48%, #eef9ff);
}
.lmp-custom-levels__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.lmp-custom-levels__grid article {
	display: flex;
	flex-direction: column;
	min-height: 310px;
	padding: 30px;
	background: rgba(255, 255, 255, .84);
	border: 1px solid rgba(16, 22, 58, .09);
	border-radius: 24px;
	box-shadow: 0 18px 44px rgba(69, 73, 130, .07);
}
.lmp-custom-levels__grid span { color: var(--lmp-brand-violet); font-size: 27px; }
.lmp-custom-levels__grid h3 { margin: 60px 0 10px; font-size: 28px; letter-spacing: -.035em; }
.lmp-custom-levels__grid p { margin: 0 0 24px; color: #59637a; font-size: 14px; line-height: 1.6; }
.lmp-custom-levels__grid strong { margin-top: auto; color: var(--lmp-brand-blue); font-size: 12px; }
.lmp-custom-faq { background: #fff; }
.lmp-custom-faq__grid {
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	gap: clamp(50px, 7vw, 110px);
	align-items: start;
}
.lmp-custom-faq h2 {
	margin: 17px 0;
	font-size: clamp(38px, 4.3vw, 58px);
	line-height: 1.05;
	letter-spacing: -.05em;
}
.lmp-custom-faq__grid > div:first-child p { color: #59637a; }
.lmp-custom-faq__list { border-top: 1px solid rgba(16, 22, 58, .13); }
.lmp-custom-faq details { border-bottom: 1px solid rgba(16, 22, 58, .13); }
.lmp-custom-faq summary {
	position: relative;
	padding: 24px 44px 24px 0;
	color: var(--lmp-brand-navy);
	cursor: pointer;
	font-size: 18px;
	font-weight: 750;
	list-style: none;
}
.lmp-custom-faq summary::-webkit-details-marker { display: none; }
.lmp-custom-faq summary::after {
	position: absolute;
	content: "+";
	right: 4px;
	top: 20px;
	color: var(--lmp-brand-violet);
	font-size: 25px;
}
.lmp-custom-faq details[open] summary::after { content: "−"; }
.lmp-custom-faq details p {
	max-width: 720px;
	margin: -6px 44px 24px 0;
	color: #59637a;
	font-size: 14px;
	line-height: 1.65;
}
.lmp-custom-cta {
	background: var(--lmp-brand-navy);
	color: #fff;
}
.lmp-custom-cta .lmp-shell {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}
.lmp-custom-cta h2 {
	max-width: 820px;
	margin: 16px 0;
	color: #fff;
	font-size: clamp(40px, 4.5vw, 64px);
	line-height: 1.06;
	letter-spacing: -.045em;
}
.lmp-custom-cta p { max-width: 760px; color: #bdc9e0; }
.lmp-custom-cta .lmp-button {
	flex: 0 0 auto;
	background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
	color: #fff;
}

@media (max-width: 1120px) {
	.lmp-service-hero__grid { grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr); gap: 38px; }
	.lmp-service-hero__copy h1 { font-size: clamp(46px,5.8vw,64px); }
	.lmp-contact-path-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.lmp-contact-path-grid article:last-child { grid-column: 1/-1; min-height: 250px; }
	.lmp-product-card__top { grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); gap: 34px; min-height: 590px; }
	.lmp-product-preview-stage { min-height: 520px; }
	.lmp-product-preview-desktop { height: 440px; }
	.lmp-product-preview-mobile { width: 150px; height: 360px; }
	.lmp-page-hero--planning .lmp-shell { width: var(--lmp-shell); }
	.lmp-planning-hero__grid { grid-template-columns: minmax(330px, .85fr) minmax(470px, 1.15fr); gap: 30px; }
	.lmp-page-hero--planning .lmp-planning-hero__copy h1 { font-size: clamp(41px, 5vw, 56px); }
	.lmp-dashboard--hero .lmp-dashboard__metrics small { font-size: 10px; }
	.lmp-dashboard--hero .lmp-dashboard__metrics b { font-size: 23px; }
	.lmp-planning-capability-grid { grid-template-columns: 1fr; max-width: 820px; margin-inline: auto; }
	.lmp-planning-action article,
	.lmp-planning-action article:nth-child(even) { grid-template-columns: 1fr 1fr; }
	.lmp-planning-compare { grid-template-columns: 1fr; max-width: 780px; margin-inline: auto; }
	.lmp-planning-compare article { min-height: 0; }
	.lmp-planning-compare article.is-highlighted { transform: none; }
	.lmp-planning-audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lmp-planning-cta .lmp-shell { align-items: flex-start; flex-direction: column; }
	.lmp-planning-cta .lmp-actions { flex-direction: row; }
	.lmp-custom-hero__grid {
		grid-template-columns: minmax(340px, .85fr) minmax(460px, 1.15fr);
		gap: 28px;
	}
	.lmp-page-hero--custom h1 { font-size: clamp(43px, 5vw, 58px); }
	.lmp-custom-hero__visual img { width: 104%; }
	.lmp-custom-services .lmp-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lmp-custom-project--wide { grid-template-columns: 1fr 1fr; }
	.lmp-custom-process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.lmp-service-hero { padding: 54px 0 72px; }
	.lmp-service-hero__grid,
	.lmp-support-prepare__grid,
	.lmp-service-form-grid,
	.lmp-contact-direct__grid { grid-template-columns: 1fr; }
	.lmp-service-hero__copy h1 { font-size: clamp(41px,11.5vw,54px); }
	.lmp-service-hero__actions { grid-column: auto; margin-top: 18px; }
	.lmp-service-hero__actions > p { font-size: 15px; }
	.lmp-service-hero__actions .lmp-actions { align-items: stretch; flex-direction: column; }
	.lmp-service-hero__actions .lmp-button { justify-content: center; text-align: center; }
	.lmp-service-hero__visual { margin-top: 8px; }
	.lmp-service-hero__visual img { border-width: 6px; border-radius: 23px; }
	.lmp-service-hero__visual figcaption { right: 10px; bottom: -18px; }
	.lmp-service-proof .lmp-shell { grid-template-columns: 1fr; }
	.lmp-service-proof article { padding: 20px 0; border-left: 0; border-bottom: 1px solid #e8e6f2; }
	.lmp-service-proof article:last-child { border-right: 0; border-bottom: 0; }
	.lmp-service-choice-grid,
	.lmp-contact-path-grid,
	.lmp-contact-process ol { grid-template-columns: 1fr; }
	.lmp-service-choice-grid article,
	.lmp-contact-path-grid article,
	.lmp-contact-path-grid article:last-child { grid-column: auto; min-height: 245px; padding: 25px; }
	.lmp-service-choice-grid h3,
	.lmp-contact-path-grid h3 { margin-top: 38px; }
	.lmp-support-scope .lmp-support-terms { grid-template-columns: 1fr; }
	.lmp-service-form-grid { gap: 34px; }
	.lmp-service-form-grid .lyvira-request-form { padding: 22px; }
	.lmp-contact-process li { min-height: 190px; }
	.lmp-contact-process li strong { margin-top: 38px; }
	.single-product .lmp-shop-main { padding-top: 0; }
	.lmp-product-card__top { grid-template-columns: 1fr; gap: 30px; min-height: 0; padding: 46px 0 62px; }
	.lmp-product-card__gallery { order: 1; }
	.lmp-product-card__summary { order: 2; }
	.lmp-product-card__gallery .woocommerce-product-gallery__image,
	.lmp-product-card__gallery .flex-viewport { border-width: 6px; border-radius: 24px; }
	.lmp-product-card__summary .product_title { font-size: clamp(29px,8.2vw,38px); }
	.lmp-product-promise { font-size: 20px; }
	.lmp-product-card__summary form.cart,
	.lmp-product-preview { display: flex; width: 100%; margin: 9px 0 0 !important; }
	.lmp-product-card__summary form.cart .button,
	.lmp-product-preview .button { width: 100%; justify-content: center; text-align: center; }
	.lmp-product-card__description > section { padding-block: 72px; }
	.lmp-product-heading h2 { font-size: clamp(37px,10vw,50px); }
	.lmp-product-steps,
	.lmp-product-stack-grid,
	.lmp-product-included-grid { grid-template-columns: 1fr; }
	.lmp-product-steps article { min-height: 0; padding: 22px; }
	.lmp-product-preview-section { grid-template-columns: 1fr; gap: 42px; }
	.lmp-product-faq { grid-template-columns: 1fr; gap: 34px; }
	.lmp-product-preview-stage { min-height: 430px; }
	.lmp-product-preview-desktop { width: 94%; height: 350px; border-width: 6px; border-radius: 20px; }
	.lmp-product-preview-mobile { width: 118px; height: 285px; border-width: 5px; border-radius: 22px; }
	.lmp-product-stack-grid article { min-height: 235px; }
	.lmp-product-stack-grid span { margin-bottom: 35px; }
	.lmp-page-hero--planning { padding: 54px 0 62px; }
	.lmp-planning-hero__grid { grid-template-columns: 1fr; gap: 24px; }
	.lmp-page-hero--planning .lmp-planning-hero__copy h1 { font-size: clamp(39px, 11vw, 50px); }
	.lmp-planning-hero__visual { padding: 4px 0 23px; }
	.lmp-planning-screen--hero { border-radius: 18px; transform: none; }
	.lmp-planning-hero__visual figcaption { right: 8px; padding: 7px 9px; font-size: 8px; }
	.lmp-dashboard--hero { padding: 10px; border-radius: 20px; transform: none; }
	.lmp-dashboard--hero::before { inset: 10px -8px -9px 8px; }
	.lmp-dashboard--hero .lmp-dashboard__bar span { font-size: 9px; }
	.lmp-dashboard--hero .lmp-dashboard__metrics > span { padding: 8px 6px; }
	.lmp-dashboard--hero .lmp-dashboard__metrics small { font-size: 8px; letter-spacing: .04em; }
	.lmp-dashboard--hero .lmp-dashboard__metrics b { font-size: 20px; }
	.lmp-dashboard--hero .lmp-dashboard__metrics em { font-size: 9px; }
	.lmp-dashboard--hero .lmp-dashboard__calendar { padding: 9px; }
	.lmp-dashboard--hero .lmp-dashboard__labels { font-size: 9px; }
	.lmp-dashboard--hero .lmp-dashboard__row { min-height: 35px; }
	.lmp-dashboard--hero .lmp-dashboard__row strong { font-size: 9px; }
	.lmp-dashboard--hero .lmp-dashboard__row i { height: 14px; }
	.lmp-planning-hero__caption { right: 8px; padding: 7px 9px; font-size: 8px; }
	.lmp-planning-hero__actions { margin-top: 28px; }
	.lmp-planning-hero__actions .lmp-actions { align-items: center; }
	.lmp-planning-proofbar .lmp-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
	.lmp-planning-proofbar span { padding: 0 14px; }
	.lmp-planning-proofbar span:nth-child(odd) { padding-left: 0; border-left: 0; }
	.lmp-planning-story__grid,
	.lmp-planning-workflow__grid,
	.lmp-planning-feature,
	.lmp-planning-faq__grid { grid-template-columns: 1fr; }
	.lmp-planning-story h2,
	.lmp-planning-faq h2 { font-size: 39px; }
	.lmp-planning-story__grid { gap: 34px; }
	.lmp-planning-photo img { border-radius: 20px; }
	.lmp-planning-capability-grid { grid-template-columns: 1fr; border-radius: 0; }
	.lmp-planning-capability-group { border-radius: 20px; }
	.lmp-planning-capability-group > header { grid-template-columns: 48px 1fr; padding: 23px 20px 18px; }
	.lmp-planning-capability-group > header em { display: none; }
	.lmp-planning-capability-list { padding: 6px 20px 10px; }
	.lmp-planning-action article,
	.lmp-planning-action article:nth-child(even) { grid-template-columns: 1fr; }
	.lmp-planning-action article:nth-child(even) figure { order: 0; }
	.lmp-planning-action img { min-height: 0; aspect-ratio: 3 / 2; }
	.lmp-planning-action article > div { padding: 26px; }
	.lmp-planning-feature { padding: 20px; border-radius: 22px; }
	.lmp-planning-feature h3 { font-size: 34px; }
	.lmp-planning-screen { border-radius: 16px; }
	.lmp-planning-gallery { grid-template-columns: 1fr; }
	.lmp-planning-gallery article > div { min-height: 0; }
	.lmp-planning-audience-grid { grid-template-columns: 1fr; }
	.lmp-planning-audience-grid article { min-height: 205px; }
	.lmp-planning-cta { padding: 70px 0; }
	.lmp-planning-cta .lmp-actions { width: 100%; flex-direction: column; }
	/* Les listes du pied restent visibles : deux hamburgers sans libellé
	   remplaçaient sinon les liens Solutions et Informations. */
	.lmp-site #colophon .hfe-nav-menu__toggle { display: none !important; }
	.lmp-site #colophon .hfe-nav-menu__layout-vertical {
		position: static !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
	.lmp-site #colophon .hfe-nav-menu__layout-vertical > ul.hfe-nav-menu {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
		width: 100%;
	}
	.lmp-site #colophon .hfe-nav-menu__layout-vertical .hfe-menu-item {
		min-height: 38px;
		padding: 7px 0 !important;
		background: transparent !important;
		border: 0 !important;
		color: #cbc7ff !important;
	}
	.lmp-site #colophon .hfe-nav-menu__layout-vertical .hfe-menu-item:hover,
	.lmp-site #colophon .hfe-nav-menu__layout-vertical .hfe-menu-item:focus-visible,
	.lmp-site #colophon .hfe-nav-menu__layout-vertical .current-menu-item > .hfe-menu-item {
		color: #fff !important;
	}
	/* L'en-tête Elementor empile par défaut ses trois colonnes sur mobile.
	   La marque, le menu et le compte occupaient alors plus de 250 px avant
	   même que la proposition de valeur ne commence. La navigation mobile
	   tient sur une seule ligne ; l'accès au compte reste dans le menu. */
	.lmp-site.ehf-header #masthead .elementor-section {
		padding: 10px 14px;
		overflow: visible !important;
	}
	.lmp-site.ehf-header #masthead {
		position: relative;
		z-index: 1000;
	}
	.lmp-site.ehf-header #masthead .elementor-section > .elementor-container {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		min-height: 60px;
	}
	.lmp-site.ehf-header #masthead .elementor-section > .elementor-container > .elementor-column {
		width: auto !important;
	}
	.lmp-site.ehf-header #masthead .elementor-section > .elementor-container > .elementor-column:first-child {
		flex: 1 1 auto;
		min-width: 0;
	}
	.lmp-site.ehf-header #masthead .elementor-section > .elementor-container > .elementor-column:nth-child(2) {
		flex: 0 0 44px;
		width: 44px !important;
	}
	.lmp-site.ehf-header #masthead .elementor-section > .elementor-container > .elementor-column:last-child {
		display: flex;
		flex: 0 0 auto;
		width: auto !important;
	}
	.lmp-site.ehf-header #masthead .elementor-column > .elementor-element-populated {
		padding: 0;
	}
	.lmp-site.ehf-header #masthead .elementor-widget-site-logo img {
		max-width: 128px;
		height: 40px;
	}
	.lmp-site.ehf-header #masthead .hfe-nav-menu__toggle {
		margin-left: 0;
	}
	.lmp-site.ehf-header #masthead .hfe-nav-menu__toggle.hfe-active-menu {
		background: linear-gradient(135deg, var(--lmp-brand-violet), var(--lmp-brand-cyan));
		border-radius: 13px;
		box-shadow: 0 10px 24px rgba(76, 70, 205, .24);
	}
	.lmp-site.ehf-header #masthead .hfe-nav-menu__toggle.hfe-active-menu svg {
		width: 22px;
		height: 22px;
		fill: #fff;
	}
	.lmp-site.ehf-header #masthead .hfe-nav-menu__layout-horizontal:not(.menu-is-active) {
		overflow: hidden;
	}
	.lmp-site.ehf-header #masthead .hfe-nav-menu__layout-horizontal.menu-is-active {
		top: 61px !important;
		z-index: 10000;
		padding: 18px 16px 20px;
		background:
			radial-gradient(circle at 100% 0, rgba(32, 185, 220, .22), transparent 42%),
			linear-gradient(150deg, #10163a 0%, #182752 100%) !important;
		border: 0;
		border-radius: 0 0 24px 24px;
		box-shadow: 0 24px 50px rgba(16, 22, 58, .3);
	}
	.lmp-site.ehf-header #masthead nav.menu-is-active > ul.hfe-nav-menu {
		display: flex !important;
		flex-direction: column;
		gap: 5px;
		width: 100%;
	}
	.lmp-site.ehf-header #masthead nav.menu-is-active > ul.hfe-nav-menu > li { width: 100%; }
	.lmp-site.ehf-header #masthead nav.menu-is-active .hfe-menu-item {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 12px 16px !important;
		background: rgba(255, 255, 255, .055) !important;
		color: rgba(255, 255, 255, .86) !important;
		border: 1px solid rgba(255, 255, 255, .08);
		border-radius: 13px;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.25;
	}
	.lmp-site.ehf-header #masthead nav.menu-is-active .current-menu-item > .hfe-menu-item,
	.lmp-site.ehf-header #masthead nav.menu-is-active .hfe-menu-item:hover,
	.lmp-site.ehf-header #masthead nav.menu-is-active .hfe-menu-item:focus-visible {
		background: linear-gradient(110deg, var(--lmp-brand-violet), var(--lmp-brand-blue) 58%, var(--lmp-brand-cyan)) !important;
		color: #fff !important;
		border-color: transparent;
	}
	.lmp-site.ehf-header #masthead .elementor-widget-button .elementor-button {
		min-height: 40px;
		padding: 10px 14px;
		font-size: 12px;
		white-space: nowrap;
	}
	.lmp-site.home .lmp-market-hero-actions .elementor-widget-button {
		display: block;
		width: 100%;
		margin: 12px 0 0;
	}
	.lmp-site.home .lmp-market-univers .elementor-column:last-child .elementor-widget-button {
		display: block;
		width: 100%;
		margin-right: 0;
	}
	.lmp-market-univers__inner { grid-template-columns: 1fr; }
	.lmp-custom-hero__grid { grid-template-columns: 1fr; }
	.lmp-page-hero--custom { padding: 54px 0 62px; }
	.lmp-page-hero--custom h1 { font-size: clamp(40px, 11.2vw, 50px); }
	.lmp-page-hero--custom p { font-size: 15px; }
	.lmp-custom-hero__visual { margin-top: 10px; }
	.lmp-custom-hero__visual img { width: 100%; border-radius: 23px; }
	.lmp-custom-hero__actions { margin-top: 30px; }
	.lmp-custom-hero__actions .lmp-actions { align-items: center; }
	.lmp-custom-hero__proof { margin-top: 24px; }
	.lmp-custom-services .lmp-service-grid,
	.lmp-custom-showcase__grid,
	.lmp-custom-levels__grid,
	.lmp-custom-faq__grid { grid-template-columns: 1fr; }
	.lmp-custom-services .lmp-service-grid article { min-height: 230px; padding: 25px; }
	.lmp-custom-project--wide { display: block; grid-column: auto; }
	.lmp-custom-project__content { padding: 25px; }
	.lmp-custom-project__media img,
	.lmp-custom-project--wide .lmp-custom-project__media img { aspect-ratio: 4 / 3; }
	.lmp-custom-process ol { grid-template-columns: 1fr; }
	.lmp-custom-process li { min-height: 205px; }
	.lmp-custom-levels__grid article { min-height: 270px; padding: 25px; }
	.lmp-custom-levels__grid h3 { margin-top: 44px; }
	.lmp-custom-faq__grid { gap: 38px; }
	.lmp-custom-faq h2 { font-size: 38px; }
	.lmp-custom-faq summary { font-size: 16px; }
	.lmp-custom-cta .lmp-shell { align-items: flex-start; flex-direction: column; }
	.lmp-site.home .lmp-market-hero > .elementor-container { min-height: 0; }
	.lmp-site.home .lmp-market-hero .elementor-widget-heading h1 { font-size: clamp(41px, 11.6vw, 54px); }
	.lmp-site.home .lmp-market-hero .elementor-widget-image { margin-top: 28px; }
	.lmp-site.home .lmp-market-proof-strip p { font-size: 11px; line-height: 1.8; }
	.lmp-site.home .lmp-market-value-cards .elementor-widget-icon-box { min-height: 0; }
}

/* En-tête sur un téléphone étroit. Mesuré en ligne à 390 px : marque 178 px,
   deux espacements de 36 px, bouton de menu et actions — 384 px pour 360 px
   disponibles. Le panier sortait de l'écran de 19 px, et toute la page avec
   lui. L'espacement se resserre, et sous 430 px la marque garde « LYVIRA » en
   laissant tomber sa baseline : elle n'est plus lisible à cette taille, et
   c'est elle qui coûtait le plus large. Vérifié sans débordement à 320, 360,
   390 et 430 px. */
@media (max-width: 430px) {
	.lmp-brand small { display: none; }
}

/* La section Documentation.
   Posée le 26 septembre 2026 : les manuels sont publics, et ils portent la
   marque. Les cartes reprennent la grille et les jetons du reste de la
   boutique — il n'y a pas de couleur nouvelle ici, seulement celles qui
   existent déjà, pour que la page ne ressemble pas à une pièce rapportée. */
.lmp-docs__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	gap: 20px;
	margin-top: 28px;
}
.lmp-docs__card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	background: var(--lmp-white);
	border: 1px solid var(--lmp-mist);
	border-radius: 14px;
}
.lmp-docs__card h3 {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	color: var(--lmp-ink);
}
.lmp-docs__secteur {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lmp-brand-violet);
}
.lmp-docs__meta {
	margin: 0;
	font-size: 14px;
	color: var(--lmp-muted);
}
.lmp-docs__meta em {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--lmp-lime-soft);
	color: var(--lmp-ink);
	font-size: 12px;
	font-style: normal;
}
.lmp-docs__card .lmp-button {
	margin-top: auto;
	align-self: flex-start;
}
.lmp-docs__avis {
	margin: 22px 0 0;
	padding: 14px 18px;
	border-left: 4px solid var(--lmp-brand-violet);
	background: var(--lmp-paper);
	color: var(--lmp-ink);
	font-size: 15px;
}

/* La bande étroite où la barre doit encore tenir en entier.
   Le menu passe au bouton à 900 px ; entre 900 et 1120, les six entrées
   s'alignent. En ajoutant « Documentation » le 26 septembre 2026, la version
   allemande débordait de 66 px à 1000 px — « Dokumentation », « Planning-Modul »
   et « Demo ansehen » sont plus longs que leurs équivalents français, et un
   visiteur allemand se retrouvait avec une barre de défilement horizontale.
   On resserre l'écart et la taille dans cette bande seulement : ailleurs, la
   barre ne bouge pas. Mesuré à 1000 px sur les six langues. */
@media (min-width: 901px) and (max-width: 1120px) {
	/* Ce n'est pas un téléphone : l'appel à l'action et l'étiquette du panier
	   restent, et l'en-tête garde sa hauteur de bureau. */
	.lmp-header__cta { display: inline-flex; }
	.lmp-header__cart-label { display: inline; }
	.lmp-header__inner { height: 84px; }
	.admin-bar .lmp-nav { top: 130px; }
}

/* Un mot trop long ne pousse plus la page hors de l'écran.
   Mesuré le 26 septembre 2026, à 375 px de large : l'accueil allemand de la
   démonstration outillage débordait de 22 px, alors que les cinq autres
   langues tenaient exactement dans la fenêtre. La cause n'était pas la mise en
   page mais un mot : « EINZELMASCHINE », « Verbrauchsmaterial ». L'allemand
   compose des mots que rien ne coupe, et un client peut nommer son bien aussi
   longuement qu'il veut, dans n'importe quelle langue.
   La règle ne s'applique que lorsqu'un mot ne tient pas : ce qui tenait déjà
   ne bouge pas. */
h1, h2, h3, h4, h5, h6, p, li, dt, dd, figcaption, th, td, summary, label,
blockquote, .wp-block-heading {
	overflow-wrap: break-word;
}
