/*
 * Luz Paint — direction artistique v2 (chargée après luz.css).
 *
 * Sections colorées (violet du logo, dégradé vif, lilas, crème), hero animé,
 * bande défilante, cartes produits 2 par 2 sur mobile, carrousels horizontaux,
 * en-tête sombre puis clair au défilement, sous-menus en cartes.
 */

:root {
	--luz-nuit: #24093a;
	--luz-violet-2: #3d1257;
	--luz-violet-3: #5b1a84;
	--luz-soleil: #ffb627;
	--luz-lilas: #f3eaf9;
	--luz-creme: #fff7ee;
	--luz-degrade-soleil: linear-gradient(100deg, #ffd166 0%, #ffb627 40%, #f7931e 100%);
}
body.luz {
	background: var(--luz-creme);
}

/* ---------- Fonds ---------- */
.luz .luz-fond-lilas { background: var(--luz-lilas); }
.luz .luz-fond-creme { background: var(--luz-creme); }
.luz .luz-fond-violet,
.luz .luz-fond-vif,
.luz .e-con.luz-hero2,
.luz .e-con.luz-entete-page {
	color: #fff;
	--luz-doux: rgba(255, 255, 255, 0.8);
	--luz-ligne: rgba(255, 255, 255, 0.2);
	--luz-accent: var(--luz-soleil);
	--luz-texte: #fff;
}
.luz .luz-fond-violet {
	background:
		radial-gradient(700px 420px at 92% 8%, rgba(194, 24, 91, 0.45), transparent 65%),
		radial-gradient(600px 400px at 0% 100%, rgba(247, 147, 30, 0.22), transparent 65%),
		linear-gradient(180deg, var(--luz-nuit) 0%, var(--luz-violet-2) 100%);
}
.luz .luz-fond-vif {
	background:
		radial-gradient(800px 500px at 10% 0%, rgba(255, 182, 39, 0.35), transparent 60%),
		linear-gradient(135deg, #c2185b 0%, #8e1f8f 45%, var(--luz-violet-3) 75%, var(--luz-violet-2) 100%);
}
.luz .luz-fond-encre {
	--luz-texte: #fff;
	background: #160822;
}
/* Mot mis en valeur sur fond sombre : dégradé soleil. */
.luz .luz-fond-violet .elementor-heading-title em,
.luz .luz-fond-vif .elementor-heading-title em,
.luz .luz-hero2 .elementor-heading-title em,
.luz .luz-entete-page .elementor-heading-title em,
.luz .luz-fond-encre .elementor-heading-title em {
	background: var(--luz-degrade-soleil);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.luz .luz-fond-violet .luz-surtitre .elementor-heading-title::before,
.luz .luz-fond-vif .luz-surtitre .elementor-heading-title::before,
.luz .luz-fond-encre .luz-surtitre .elementor-heading-title::before,
.luz .luz-entete-page .luz-surtitre .elementor-heading-title::before {
	background: var(--luz-degrade-soleil);
}

/* ---------- Boutons : jaune soleil sur fonds sombres ---------- */
.luz .luz-btn-soleil .elementor-button,
.luz .luz-fond-violet .luz-btn-plein .elementor-button,
.luz .luz-fond-vif .luz-btn-plein .elementor-button,
.luz .luz-entete-page .luz-btn-plein .elementor-button,
.luz .luz-fond-encre .luz-btn-plein .elementor-button {
	background: var(--luz-degrade-soleil) !important;
	color: var(--luz-nuit) !important;
	border-color: transparent !important;
	box-shadow: 0 14px 34px -12px rgba(255, 182, 39, 0.7);
}
.luz .luz-btn-soleil .elementor-button:hover,
.luz .luz-fond-violet .luz-btn-plein .elementor-button:hover,
.luz .luz-fond-vif .luz-btn-plein .elementor-button:hover,
.luz .luz-entete-page .luz-btn-plein .elementor-button:hover,
.luz .luz-fond-encre .luz-btn-plein .elementor-button:hover {
	color: var(--luz-nuit) !important;
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 20px 40px -12px rgba(255, 182, 39, 0.85);
}
.luz .luz-btn-soleil .elementor-button::before,
.luz .luz-fond-violet .luz-btn-plein .elementor-button::before,
.luz .luz-fond-vif .luz-btn-plein .elementor-button::before,
.luz .luz-entete-page .luz-btn-plein .elementor-button::before,
.luz .luz-fond-encre .luz-btn-plein .elementor-button::before {
	display: none;
}
.luz .luz-entete-page .luz-btn-contour .elementor-button,
.luz .luz-fond-violet .luz-btn-contour .elementor-button,
.luz .luz-fond-vif .luz-btn-contour .elementor-button {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
}
.luz .luz-btn-contour-clair .elementor-button:hover,
.luz .luz-entete-page .luz-btn-contour .elementor-button:hover {
	background-color: #fff !important;
	border-color: #fff !important;
	color: var(--luz-nuit) !important;
}
.luz .luz-fond-violet .luz-btn-lien .elementor-button,
.luz .luz-fond-vif .luz-btn-lien .elementor-button {
	color: #fff !important;
}

/* Blocs blancs posés sur un fond sombre : ils gardent un texte foncé. */
.luz .luz-carte-produit,
.luz .luz-bloc-formulaire,
.luz .luz-carte-texte,
.luz .luz-echantillon,
.luz .luz-fiche-couleur,
.luz .luz-nav .sub-menu {
	--luz-texte: #241a2b;
	--luz-doux: #5f5566;
	--luz-ligne: rgba(28, 18, 34, 0.12);
	--luz-accent: #8a1c7c;
	color: #241a2b;
}

/* ---------- Badges (pilules) ---------- */
.luz .luz-badges p,
.luz .luz-badges-flottants p {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}
.luz .luz-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border-radius: 999px;
	font: 700 0.8rem/1.2 var(--luz-sans);
	letter-spacing: 0.02em;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.22);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.luz .luz-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--luz-soleil);
	box-shadow: 0 0 0 4px rgba(255, 182, 39, 0.25);
}
.luz .luz-badge-soleil {
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
	border-color: transparent;
}
.luz .luz-badge-soleil::before {
	background: var(--luz-nuit);
	box-shadow: none;
}

/* ---------- Hero de l'accueil ---------- */
.luz .e-con.luz-hero2 {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding-block: clamp(36px, 5vw, 80px) clamp(110px, 11vw, 170px);
	background:
		radial-gradient(900px 520px at 85% 25%, rgba(194, 24, 91, 0.6), transparent 62%),
		radial-gradient(700px 480px at 0% 100%, rgba(247, 147, 30, 0.35), transparent 60%),
		linear-gradient(160deg, var(--luz-nuit) 0%, var(--luz-violet-2) 55%, var(--luz-violet-3) 100%);
}
/* Halo qui dérive lentement et étincelles. */
.luz .e-con.luz-hero2::before {
	content: "";
	position: absolute;
	width: 46vw;
	max-width: 620px;
	aspect-ratio: 1;
	left: 32%;
	top: -18%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 182, 39, 0.35), transparent 65%);
	filter: blur(20px);
	z-index: -1;
	animation: luz-derive 16s ease-in-out infinite alternate;
}
.luz .e-con.luz-hero2::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0.5;
	background-image:
		radial-gradient(2px 2px at 12% 22%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 28% 78%, #fff, transparent),
		radial-gradient(2px 2px at 48% 12%, #ffd166, transparent),
		radial-gradient(1.5px 1.5px at 66% 88%, #fff, transparent),
		radial-gradient(2px 2px at 90% 60%, #ffd166, transparent),
		radial-gradient(1.5px 1.5px at 6% 60%, #ffd166, transparent);
	animation: luz-scintille 4s ease-in-out infinite alternate;
}
.luz .e-con.luz-hero2-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(36px, 5vw, 80px);
	align-items: center;
}
.luz .e-con.luz-hero2-texte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}
.luz .luz-hero2 .luz-h1 .elementor-heading-title {
	font-size: clamp(2.6rem, 5.6vw, 5.2rem);
	line-height: 1;
	letter-spacing: -0.04em;
	font-weight: 800;
}
.luz .luz-hero2 .luz-chapo,
.luz .luz-hero2 .luz-chapo p {
	color: rgba(255, 255, 255, 0.84);
	max-width: 44ch;
}
.luz .luz-hero2-contact p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 18px;
	margin: 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.72);
}
.luz .luz-hero2-contact a {
	color: #fff;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.luz .luz-hero2-contact a::before {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324093a' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / 15px no-repeat,
		var(--luz-degrade-soleil);
}
.luz .e-con.luz-hero2-visuel {
	position: relative;
	display: block;
	padding: 0 0 0 4%;
}
.luz .luz-hero2-visuel .luz-sim-cadre {
	border-radius: 34px 34px 34px 140px;
	border: 6px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 50px 90px -40px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.08);
	transform: rotate(1.5deg);
}
.luz .luz-hero2-visuel .luz-sim-lien {
	display: none;
}
.luz .luz-hero2-visuel .luz-sim-puce {
	left: auto;
	right: 18px;
	bottom: 18px;
}
.luz .elementor-widget.luz-hero2-pots {
	position: absolute;
	left: -16%;
	bottom: -24%;
	width: 46%;
	z-index: 3;
	pointer-events: none;
}
.luz .luz-hero2-pots img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45));
}
.luz .elementor-widget.luz-carte-flottante {
	position: absolute;
	top: -6%;
	right: -2%;
	z-index: 4;
	width: auto;
	padding: 14px 18px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.96);
	color: var(--luz-nuit);
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, 0.55);
	--luz-delai-flotte: -2s;
}
.luz .luz-carte-flottante p {
	margin: 0;
}
.luz .luz-carte-flottante-titre {
	font: 800 0.92rem/1.2 var(--luz-serif);
	letter-spacing: -0.01em;
}
.luz .luz-carte-flottante-texte {
	font-size: 0.75rem;
	color: #6b5f73;
	margin-top: 6px !important;
}
.luz .luz-pastilles-anim {
	display: flex;
	gap: 6px;
	margin-top: 10px !important;
}
.luz .luz-pastilles-anim i {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--c);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.7), 0 4px 10px -4px rgba(0, 0, 0, 0.4);
	animation: luz-pastille 3.6s ease-in-out infinite;
}
.luz .luz-pastilles-anim i:nth-child(2) { animation-delay: 0.7s; }
.luz .luz-pastilles-anim i:nth-child(3) { animation-delay: 1.4s; }
.luz .luz-pastilles-anim i:nth-child(4) { animation-delay: 2.1s; }
.luz .luz-pastilles-anim i:nth-child(5) { animation-delay: 2.8s; }

/* Éléments qui flottent doucement. */
.luz .luz-flottant {
	animation: luz-flotte 6s ease-in-out infinite;
	animation-delay: var(--luz-delai-flotte, 0s);
}

/* Entrée du hero au chargement. */
.luz-js .luz-hero2-texte > * {
	opacity: 0;
	transform: translateY(24px);
	animation: luz-entree 0.9s var(--luz-courbe) forwards;
}
.luz-js .luz-hero2-texte > *:nth-child(2) { animation-delay: 0.1s; }
.luz-js .luz-hero2-texte > *:nth-child(3) { animation-delay: 0.2s; }
.luz-js .luz-hero2-texte > *:nth-child(4) { animation-delay: 0.3s; }
.luz-js .luz-hero2-texte > *:nth-child(5) { animation-delay: 0.4s; }
.luz-js .luz-hero2-visuel {
	opacity: 0;
	animation: luz-entree-visuel 1.2s var(--luz-courbe) 0.25s forwards;
}
.luz-edition .luz-hero2-texte > *,
.luz-edition .luz-hero2-visuel,
.elementor-editor-active .luz-hero2-texte > *,
.elementor-editor-active .luz-hero2-visuel {
	opacity: 1;
	animation: none;
	transform: none;
}

/* ---------- Bande défilante des produits ---------- */
.luz .e-con.luz-bande {
	position: relative;
	z-index: 5;
	margin-top: -64px;
	margin-bottom: -24px;
	padding: 0;
	overflow: visible;
}
.luz .luz-defilant {
	background: var(--luz-degrade-soleil);
	transform: rotate(-2.2deg);
	margin-inline: -4vw;
	padding: 20px 0;
	overflow: hidden;
	box-shadow: 0 18px 40px -18px rgba(36, 9, 58, 0.6);
}
.luz .luz-defilant-piste {
	display: flex;
	width: max-content;
	animation: luz-defile 38s linear infinite;
}
.luz .luz-defilant-piste span {
	display: inline-flex;
	align-items: center;
	gap: 28px;
	padding-right: 28px;
	font: 800 clamp(1.1rem, 2vw, 1.6rem)/1 var(--luz-serif);
	letter-spacing: -0.02em;
	color: var(--luz-nuit);
	white-space: nowrap;
	text-transform: uppercase;
}
.luz .luz-defilant-piste span::after {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--luz-nuit);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l2.9 9.1L24 12l-9.1 2.9L12 24l-2.9-9.1L0 12l9.1-2.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l2.9 9.1L24 12l-9.1 2.9L12 24l-2.9-9.1L0 12l9.1-2.9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.luz .luz-defilant:hover .luz-defilant-piste {
	animation-play-state: paused;
}

/* ---------- Pourquoi Luz Paint ---------- */
.luz .e-con.luz-atouts-split {
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	padding-top: 40px;
}
.luz .e-con.luz-atouts-visuel {
	position: relative;
	display: block;
}
.luz .luz-atouts-visuel .luz-photo-haute img {
	border-radius: 220px 220px 28px 28px;
	box-shadow: 0 40px 70px -40px rgba(61, 18, 87, 0.6);
}
.luz .luz-atouts-visuel .luz-revele-image {
	border-radius: 220px 220px 28px 28px;
}
.luz .luz-badge-rond {
	position: absolute;
	top: -26px;
	right: -26px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: var(--luz-nuit);
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: 0 20px 40px -18px rgba(36, 9, 58, 0.7);
	z-index: 2;
}
.luz .luz-badge-rond > svg {
	position: absolute;
	inset: 6px;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	animation: luz-tourne 18s linear infinite;
	overflow: visible;
}
.luz .luz-badge-rond text {
	fill: #fff;
	font: 700 15.5px var(--luz-sans);
	letter-spacing: 2.4px;
	text-transform: uppercase;
}
.luz .luz-badge-rond-coeur {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
}
.luz .elementor-widget.luz-mini-carte {
	position: absolute;
	left: -28px;
	bottom: 48px;
	z-index: 2;
	width: auto;
	padding: 14px 18px 14px 58px;
	border-radius: 18px;
	background: #fff;
	color: var(--luz-nuit);
	box-shadow: 0 24px 50px -24px rgba(36, 9, 58, 0.55);
	--luz-delai-flotte: -3s;
}
.luz .luz-mini-carte p {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.35;
	color: #6b5f73;
}
.luz .luz-mini-carte strong {
	display: block;
	font: 800 0.98rem/1.25 var(--luz-serif);
	color: var(--luz-nuit);
}
.luz .elementor-widget.luz-mini-carte::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	border-radius: 10px;
	background: var(--luz-degrade);
}
.luz .e-con.luz-atouts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	margin-top: 8px;
}
.luz .elementor-widget.luz-atout {
	background: #fff;
	border-radius: 22px;
	padding: 22px;
	box-shadow: 0 1px 2px rgba(36, 9, 58, 0.05), 0 18px 40px -26px rgba(61, 18, 87, 0.45);
	transition: transform 0.45s var(--luz-courbe), box-shadow 0.45s var(--luz-courbe), opacity 0.9s var(--luz-courbe);
	height: 100%;
	box-sizing: border-box;
}
.luz .elementor-widget.luz-atout:hover {
	transform: translateY(-6px) rotate(-0.4deg);
	box-shadow: 0 28px 50px -24px rgba(61, 18, 87, 0.55);
}
.luz .luz-atout .elementor-icon-box-wrapper {
	text-align: left !important;
	display: block;
}
.luz .luz-atout .elementor-icon-box-icon {
	margin: 0 0 14px !important;
	display: block;
}
.luz .luz-atout .elementor-icon {
	display: grid !important;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--luz-degrade);
	color: #fff !important;
	fill: #fff !important;
	font-size: 22px !important;
	transition: transform 0.4s var(--luz-courbe);
}
.luz .luz-atout .elementor-icon svg {
	width: 22px !important;
	height: 22px !important;
	fill: #fff !important;
}
.luz .luz-atout .elementor-icon i {
	color: #fff !important;
}
.luz .luz-atout:hover .elementor-icon {
	transform: rotate(-8deg) scale(1.08);
}
.luz .luz-atout .elementor-icon-box-title,
.luz .luz-atout .elementor-icon-box-title * {
	font: 800 1.08rem/1.25 var(--luz-serif) !important;
	letter-spacing: -0.015em;
	color: var(--luz-nuit) !important;
	margin: 0 0 6px !important;
}
.luz .luz-atout .elementor-icon-box-description {
	font-size: 0.92rem !important;
	line-height: 1.5 !important;
	color: #5f5566 !important;
	margin: 0 !important;
}

/* ---------- Cartes produits v2 ---------- */
.luz .luz-carte-produit {
	border-radius: 26px;
}
.luz .luz-fond-violet .luz-carte-produit,
.luz .luz-fond-encre .luz-carte-produit {
	box-shadow: 0 30px 60px -36px rgba(0, 0, 0, 0.8);
}
.luz .luz-carte-produit-visuel {
	background:
		radial-gradient(circle at 50% 70%, rgba(255, 255, 255, 0.95) 0 28%, transparent 60%),
		linear-gradient(160deg, #f6eefc 0%, #fde9d3 100%);
	aspect-ratio: 1 / 0.95;
}
.luz .luz-carte-produit:nth-child(3n + 2) .luz-carte-produit-visuel {
	background:
		radial-gradient(circle at 50% 70%, rgba(255, 255, 255, 0.95) 0 28%, transparent 60%),
		linear-gradient(160deg, #e6f3f2 0%, #f3eaf9 100%);
}
.luz .luz-carte-produit:nth-child(3n + 3) .luz-carte-produit-visuel {
	background:
		radial-gradient(circle at 50% 70%, rgba(255, 255, 255, 0.95) 0 28%, transparent 60%),
		linear-gradient(160deg, #fff1d6 0%, #fbe3ee 100%);
}
.luz .luz-carte-produit-visuel img {
	mix-blend-mode: normal;
	filter: drop-shadow(0 18px 18px rgba(36, 9, 58, 0.22));
}
.luz .luz-carte-produit:hover .luz-carte-produit-visuel img {
	transform: translateY(-8px) scale(1.06) rotate(-2deg);
}
.luz .luz-carte-produit-titre {
	font-weight: 800;
	letter-spacing: -0.02em;
}
.luz .luz-carte-produit-lien {
	color: var(--luz-violet-3);
}
.luz .luz-carte-produit .luz-surtitre {
	color: var(--luz-accent-clair, #8a1c7c);
}
.luz .luz-image-libre img {
	mix-blend-mode: normal;
	filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.35));
}
.luz .luz-catalogue-filtres .luz-puce-filtre {
	background: #fff;
}

/* ---------- Simulateur ---------- */
.luz .luz-sim-panneau {
	background: #fff !important;
	color: #241a2b !important;
	--luz-doux: #5f5566;
	--luz-ligne: rgba(28, 18, 34, 0.12);
	--luz-accent: #8a1c7c;
	--luz-texte: #241a2b;
	border: 0;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.55);
}
.luz .luz-sim-panneau .luz-puce-filtre {
	color: #241a2b;
	border-color: rgba(28, 18, 34, 0.14);
}
.luz .luz-sim-panneau .luz-puce-filtre[aria-pressed="true"],
.luz .luz-sim-panneau .luz-bouton-outil[aria-pressed="true"] {
	background: var(--luz-nuit);
	border-color: var(--luz-nuit);
	color: #fff;
}
.luz .luz-sim-panneau .luz-sim-cta {
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
}
.luz .luz-sim-panneau .luz-sim-cta::before {
	display: none;
}
.luz .luz-fond-vif .luz-sim-onglet,
.luz .luz-fond-violet .luz-sim-onglet,
.luz .luz-fond-vif .luz-sim-zone,
.luz .luz-fond-violet .luz-sim-zone {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}
.luz .luz-fond-vif .luz-sim-onglet[aria-selected="true"],
.luz .luz-fond-violet .luz-sim-onglet[aria-selected="true"] {
	background: #fff;
	color: var(--luz-nuit);
}
.luz .luz-fond-vif .luz-sim-cadre {
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.6);
	outline: 5px solid rgba(255, 255, 255, 0.18);
}

/* ---------- Service ---------- */
.luz .e-con.luz-service-visuel {
	position: relative;
	display: block;
}
.luz .luz-service-visuel .luz-photo img {
	border-radius: 28px 140px 28px 28px;
	aspect-ratio: 4 / 4.2;
}
.luz .luz-service-visuel .luz-revele-image {
	border-radius: 28px 140px 28px 28px;
}
.luz .elementor-widget.luz-badges-flottants {
	position: absolute;
	left: -18px;
	right: 30px;
	bottom: -22px;
	z-index: 2;
	width: auto;
}
.luz .luz-badges-flottants .luz-badge {
	background: #fff;
	color: var(--luz-nuit);
	border: 0;
	box-shadow: 0 14px 30px -16px rgba(36, 9, 58, 0.5);
	animation: luz-flotte 5s ease-in-out infinite;
}
.luz .luz-badges-flottants .luz-badge:nth-child(2n) { animation-delay: -1.6s; }
.luz .luz-badges-flottants .luz-badge:nth-child(3n) { animation-delay: -3.1s; }
.luz .luz-badges-flottants .luz-badge::before {
	background: var(--luz-magenta);
	box-shadow: 0 0 0 4px rgba(184, 24, 107, 0.15);
}
.luz .luz-fond-creme .luz-etapes,
.luz .luz-fond-lilas .luz-etapes {
	margin-top: clamp(48px, 6vw, 80px);
}
.luz .e-con.luz-etape {
	overflow: hidden;
}
.luz .e-con.luz-etape::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	background: var(--luz-degrade);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.6s var(--luz-courbe);
}
.luz .e-con.luz-etape:hover::after {
	transform: scaleX(1);
}
.luz .luz-etape::before {
	font-family: var(--luz-serif);
	font-weight: 800;
	font-size: 2rem;
}
.luz .luz-fond-lilas .e-con.luz-carte,
.luz .luz-fond-creme .e-con.luz-carte {
	box-shadow: 0 1px 2px rgba(36, 9, 58, 0.05), 0 18px 40px -26px rgba(61, 18, 87, 0.45);
}
.luz .luz-fond-violet .e-con.luz-carte {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: none;
	color: #fff;
}

/* ---------- Réalisations : bande à faire défiler ---------- */
.luz .luz-galerie-bande .gallery {
	display: flex !important;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--luz-marge);
	margin: 0 calc(-1 * var(--luz-marge)) !important;
	padding: 6px var(--luz-marge) 26px;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}
.luz .luz-galerie-bande .gallery-item {
	flex: 0 0 clamp(240px, 28vw, 380px);
	scroll-snap-align: start;
}
.luz .luz-galerie-bande .gallery-item:nth-child(even) {
	margin-top: 40px !important;
}
.luz .luz-galerie-bande .gallery-item img {
	aspect-ratio: 3 / 4;
	border-radius: 22px;
}
.luz .luz-galerie-bande .gallery-icon,
.luz .luz-galerie-bande .gallery-icon a {
	border-radius: 22px;
}
.luz .luz-galerie .gallery-icon {
	box-shadow: 0 24px 50px -30px rgba(36, 9, 58, 0.55);
}

/* ---------- En-tête des pages intérieures et fiche produit ---------- */
.luz .e-con.luz-entete-page {
	background:
		radial-gradient(700px 420px at 90% 10%, rgba(194, 24, 91, 0.55), transparent 62%),
		radial-gradient(600px 380px at 0% 110%, rgba(247, 147, 30, 0.3), transparent 60%),
		linear-gradient(160deg, var(--luz-nuit) 0%, var(--luz-violet-2) 60%, var(--luz-violet-3) 100%);
	padding-block: clamp(48px, 7vw, 104px) clamp(64px, 8vw, 120px);
}
.luz .e-con.luz-entete-page::after {
	background: radial-gradient(circle at 30% 30%, rgba(255, 182, 39, 0.4), rgba(194, 24, 91, 0.15) 45%, transparent 70%);
	animation: luz-derive 14s ease-in-out infinite alternate;
}
.luz .luz-entete-page .luz-chapo,
.luz .luz-entete-page .luz-chapo p {
	color: rgba(255, 255, 255, 0.84);
}
.luz .luz-entete-page .luz-photo img,
.luz .luz-entete-page .luz-photo-haute img {
	border-radius: 28px 28px 28px 120px;
	border: 6px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7);
}
.luz-produit-tete {
	color: #fff;
	--luz-doux: rgba(255, 255, 255, 0.8);
	--luz-accent: var(--luz-soleil);
	background:
		radial-gradient(700px 420px at 90% 10%, rgba(194, 24, 91, 0.55), transparent 62%),
		linear-gradient(160deg, var(--luz-nuit) 0%, var(--luz-violet-2) 60%, var(--luz-violet-3) 100%);
}
.luz .luz-produit-tete .luz-fil,
.luz .luz-produit-tete .luz-fil a {
	color: rgba(255, 255, 255, 0.75);
}
.luz .luz-produit-tete .luz-produit-type,
.luz .luz-produit-tete .luz-produit-description p {
	color: rgba(255, 255, 255, 0.84);
}
.luz .luz-produit-tete .luz-etiquettes li {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}
.luz .luz-produit-tete .luz-bouton-plein {
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
}
.luz .luz-produit-tete .luz-bouton-plein::before {
	display: none;
}
.luz .luz-produit-tete .luz-bouton-contour {
	color: #fff;
}
.luz-produit-visuel {
	background: radial-gradient(circle at 50% 60%, rgba(255, 255, 255, 0.25), transparent 62%);
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.luz-produit-visuel img {
	mix-blend-mode: normal;
	filter: drop-shadow(0 40px 40px rgba(0, 0, 0, 0.45));
	animation: luz-flotte 7s ease-in-out infinite;
}
.luz-produit-autres {
	background: var(--luz-lilas);
}

/* ---------- En-tête du site : sombre en haut, clair au défilement ---------- */
.luz-entete::before {
	background: var(--luz-nuit);
}
.luz .luz-entete .luz-nav > .luz-nav-liste > li > a,
.luz .luz-entete .luz-nav > .luz-nav-liste > li > .luz-sous-menu-bouton,
.luz .luz-entete .luz-entete-tel {
	color: #fff;
}
.luz .luz-entete .luz-entete-tel .luz-icone {
	color: var(--luz-soleil);
}
.luz .luz-entete .luz-logo-image {
	filter: brightness(0) invert(1);
	transition: filter 0.3s, height 0.3s;
}
.luz .luz-entete .luz-burger {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.3);
	color: #fff;
}
.luz .luz-entete .luz-entete-cta {
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
}
.luz .luz-entete .luz-entete-cta::before {
	display: none;
}
.luz .luz-entete .luz-entete-cta:hover {
	color: var(--luz-nuit);
}
.luz-defile .luz-entete::before {
	background: rgba(255, 247, 238, 0.93);
}
.luz-defile .luz-entete .luz-nav > .luz-nav-liste > li > a,
.luz-defile .luz-entete .luz-nav > .luz-nav-liste > li > .luz-sous-menu-bouton,
.luz-defile .luz-entete .luz-entete-tel {
	color: var(--luz-nuit);
}
.luz-defile .luz-entete .luz-entete-tel .luz-icone {
	color: var(--luz-magenta);
}
.luz-defile .luz-entete .luz-logo-image {
	filter: none;
}
.luz-defile .luz-entete .luz-burger {
	background: #fff;
	border-color: rgba(36, 9, 58, 0.15);
	color: var(--luz-nuit);
}
.luz-menu-ouvert .luz-entete .luz-burger {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}
.luz-menu-ouvert .luz-entete::before {
	background: var(--luz-nuit);
}
.luz-menu-ouvert .luz-entete .luz-logo-image {
	filter: brightness(0) invert(1);
}

/* Sous-menus en cartes avec description. */
.luz .luz-nav .sub-menu {
	min-width: 310px;
	padding: 10px;
	border-radius: 20px;
	top: calc(100% + 10px);
}
.luz .luz-nav .sub-menu::before {
	content: "";
	position: absolute;
	inset: -14px 0 auto;
	height: 14px;
}
.luz .luz-nav .sub-menu a {
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 12px 14px 12px 58px;
	border-radius: 14px;
	color: var(--luz-nuit) !important;
	position: relative;
	white-space: normal;
}
.luz .luz-nav .sub-menu a::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 50%;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	border-radius: 11px;
	background: var(--luz-degrade);
	transition: transform 0.3s var(--luz-courbe);
}
.luz .luz-nav .sub-menu li:nth-child(2) a::before {
	background: var(--luz-degrade-soleil);
}
.luz .luz-nav .sub-menu a:hover::before {
	transform: rotate(-10deg) scale(1.08);
}
.luz .luz-nav .sub-menu a:hover {
	background: var(--luz-lilas);
}
.luz .luz-nav-desc {
	font-size: 0.8rem;
	font-weight: 500;
	color: #6b5f73;
}

/* Menu mobile plein écran. */
.luz-menu-mobile {
	background:
		radial-gradient(500px 400px at 100% 0%, rgba(194, 24, 91, 0.5), transparent 65%),
		radial-gradient(500px 400px at 0% 100%, rgba(247, 147, 30, 0.3), transparent 60%),
		linear-gradient(170deg, var(--luz-nuit) 0%, var(--luz-violet-2) 100%);
	color: #fff;
	padding-top: 24px;
}
.luz .luz-menu-mobile .luz-nav-liste > li {
	border-bottom-color: rgba(255, 255, 255, 0.14);
	opacity: 0;
	transform: translateX(-18px);
	animation: luz-entree-menu 0.5s var(--luz-courbe) forwards;
}
.luz .luz-menu-mobile .luz-nav-liste > li:nth-child(2) { animation-delay: 0.05s; }
.luz .luz-menu-mobile .luz-nav-liste > li:nth-child(3) { animation-delay: 0.1s; }
.luz .luz-menu-mobile .luz-nav-liste > li:nth-child(4) { animation-delay: 0.15s; }
.luz .luz-menu-mobile .luz-nav-liste > li:nth-child(5) { animation-delay: 0.2s; }
.luz .luz-menu-mobile .luz-nav-liste > li:nth-child(6) { animation-delay: 0.25s; }
.luz .luz-menu-mobile .luz-nav-liste > li > a {
	color: #fff;
	font-weight: 800;
	font-size: 1.7rem;
	letter-spacing: -0.03em;
}
.luz .luz-menu-mobile .luz-sous-menu-bouton {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-radius: 50%;
}
.luz .luz-menu-mobile .sub-menu a {
	color: #fff;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 10px 0 10px 18px;
	border-left: 2px solid var(--luz-soleil);
	margin-left: 4px;
}
.luz .luz-menu-mobile .luz-nav-desc {
	color: rgba(255, 255, 255, 0.65);
}
.luz .luz-menu-mobile .luz-bouton-plein {
	background: var(--luz-degrade-soleil);
	color: var(--luz-nuit);
}
.luz .luz-menu-mobile .luz-bouton-plein::before {
	display: none;
}
.luz .luz-menu-mobile .luz-menu-mobile-tel,
.luz .luz-menu-mobile .luz-reseau {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.3);
}

/* ---------- Pied de page : bandeau d'appel ---------- */
.luz-pied {
	background: #160822;
	overflow: visible;
	display: flow-root; /* la marge du bandeau d'appel reste dans le pied de page */
}
.luz-pied::before {
	display: none;
}
.luz .luz-pied-appel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.55fr);
	align-items: center;
	justify-content: stretch;
	gap: 24px;
	margin-top: clamp(56px, 7vw, 96px);
	padding: clamp(32px, 5vw, 64px);
	border-radius: 36px;
	border: 0;
	background:
		radial-gradient(500px 300px at 100% 0%, rgba(255, 209, 102, 0.55), transparent 60%),
		linear-gradient(120deg, #f7931e 0%, #e3202b 38%, #c2185b 65%, #6e1a8f 100%);
	isolation: isolate;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.7);
}
.luz .luz-pied-appel-titre {
	max-width: 16ch;
	font-size: clamp(2rem, 4vw, 3.4rem);
}
.luz .luz-pied-appel-chapo {
	margin: 14px 0 22px;
	color: rgba(255, 255, 255, 0.9);
	max-width: 46ch;
	font-size: 1.05rem;
}
.luz .luz-pied-appel-visuel {
	width: 115%;
	max-width: none;
	height: auto;
	margin: -90px -30px -60px 0;
	justify-self: end;
	filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45));
	animation: luz-flotte 6s ease-in-out infinite;
}
.luz .luz-pied-appel .luz-bouton-clair {
	color: var(--luz-nuit);
}

/* ---------- Pages intérieures : visuels, atouts, cartes ---------- */
.luz .e-con.luz-entete-page-image {
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
}
.luz .e-con.luz-entete-visuel {
	position: relative;
	display: block;
	padding: 0 0 0 6%;
}
.luz .luz-entete-visuel .luz-photo img,
.luz .luz-entete-visuel .luz-photo-haute img {
	transform: rotate(1.5deg);
}
.luz .luz-entete-visuel .luz-photo-haute img {
	max-height: 520px;
}
.luz .luz-entete-visuel .luz-image-libre img {
	border: 0;
	box-shadow: none;
	border-radius: 0;
}
.luz .luz-entete-visuel .luz-sim-cadre {
	border-radius: 30px 30px 30px 120px;
	border: 6px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 50px 90px -40px rgba(0, 0, 0, 0.7);
	transform: rotate(1.5deg);
}
/* Visuel réduit aux pots (page Devis) : on réserve la place. */
.luz .e-con.luz-entete-visuel:not(:has(.luz-photo, .luz-photo-haute, .luz-image-libre, .luz-sim)) {
	min-height: 340px;
}
.luz .e-con.luz-entete-visuel:not(:has(.luz-photo, .luz-photo-haute, .luz-image-libre, .luz-sim)) .luz-hero2-pots {
	position: relative;
	left: auto;
	bottom: auto;
	width: 82%;
	margin: 0 auto;
}
.luz .e-con.luz-atouts.luz-atouts-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.luz .e-con.luz-atouts.luz-atouts-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.luz .luz-fond-violet .elementor-widget.luz-atout,
.luz .luz-fond-vif .elementor-widget.luz-atout {
	box-shadow: 0 30px 60px -36px rgba(0, 0, 0, 0.75);
}
.luz .e-con.luz-carte-sombre {
	background:
		radial-gradient(400px 300px at 100% 0%, rgba(194, 24, 91, 0.5), transparent 65%),
		linear-gradient(160deg, var(--luz-nuit), var(--luz-violet-3));
	color: #fff;
	border-radius: 28px;
	padding: clamp(26px, 4vw, 44px);
	gap: 22px;
	box-shadow: 0 40px 80px -40px rgba(36, 9, 58, 0.7);
	--luz-doux: rgba(255, 255, 255, 0.75);
}
.luz .luz-coordonnees-claires .luz-coordonnees-titre {
	color: rgba(255, 255, 255, 0.65);
}
.luz .luz-coordonnees-claires a {
	color: #fff;
}
.luz .luz-coordonnees-claires .luz-icone {
	background: rgba(255, 255, 255, 0.12);
	color: var(--luz-soleil);
}
.luz .luz-coordonnees-claires .luz-reseau {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.3);
}
.luz .luz-fond-vif .luz-coordonnees-claires,
.luz .luz-fond-vif .luz-liste-coches {
	color: #fff;
}
.luz .luz-note p {
	font-size: 0.82rem;
	opacity: 0.8;
	margin: 0;
}
.luz .luz-carte-texte {
	background: #fff;
	border-radius: 28px;
	padding: clamp(26px, 5vw, 56px);
	box-shadow: 0 30px 60px -40px rgba(61, 18, 87, 0.45);
}
.luz .luz-fond-vif .luz-bloc-formulaire,
.luz .luz-fond-violet .luz-bloc-formulaire {
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.6);
}
.luz .luz-fond-vif .luz-texte,
.luz .luz-fond-violet .luz-texte {
	color: rgba(255, 255, 255, 0.84);
}
.luz .luz-fond-lilas .luz-carte-plan iframe {
	box-shadow: 0 30px 60px -40px rgba(61, 18, 87, 0.5);
}

/* ---------- Animations ---------- */
@keyframes luz-flotte {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}
@keyframes luz-derive {
	from { transform: translate(0, 0) scale(1); }
	to { transform: translate(-60px, 40px) scale(1.15); }
}
@keyframes luz-scintille {
	from { opacity: 0.25; }
	to { opacity: 0.75; }
}
@keyframes luz-pastille {
	0%, 70%, 100% { transform: scale(1); }
	80% { transform: scale(1.25); }
}
@keyframes luz-defile {
	to { transform: translateX(-50%); }
}
@keyframes luz-tourne {
	to { transform: rotate(360deg); }
}
@keyframes luz-entree {
	to { opacity: 1; transform: none; }
}
@keyframes luz-entree-visuel {
	from { opacity: 0; transform: translateY(30px) scale(0.96); }
	to { opacity: 1; transform: none; }
}
@keyframes luz-entree-menu {
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.luz .luz-defilant-piste,
	.luz .luz-flottant,
	.luz .luz-badge-rond > svg,
	.luz .e-con.luz-hero2::before,
	.luz .e-con.luz-hero2::after,
	.luz .e-con.luz-entete-page::after,
	.luz .luz-pastilles-anim i,
	.luz-produit-visuel img,
	.luz .luz-pied-appel-visuel,
	.luz .luz-badges-flottants .luz-badge {
		animation: none !important;
	}
	.luz-js .luz-hero2-texte > *,
	.luz-js .luz-hero2-visuel,
	.luz .luz-menu-mobile .luz-nav-liste > li {
		opacity: 1;
		transform: none;
		animation: none !important;
	}
}

/* ---------- Écrans ---------- */
@media (max-width: 1080px) {
	.luz .e-con.luz-hero2-grille {
		grid-template-columns: minmax(0, 1fr);
	}
	.luz .e-con.luz-hero2-visuel {
		padding: 0 6% 40px;
		max-width: 640px;
		margin-inline: auto;
		width: 100%;
		box-sizing: border-box;
	}
	.luz .luz-pied-appel {
		grid-template-columns: minmax(0, 1fr);
	}
	.luz .luz-pied-appel-visuel {
		width: 60%;
		margin: -10px auto -70px;
		justify-self: center;
	}
	.luz .luz-grille-produits.luz-col-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.luz .e-con.luz-atouts.luz-atouts-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.luz .e-con.luz-atouts-split {
		grid-template-columns: minmax(0, 1fr);
	}
	.luz .e-con.luz-atouts-visuel {
		max-width: 420px;
		margin: 0 auto 20px;
		width: 86%;
	}
	.luz .e-con.luz-service-visuel {
		margin-bottom: 36px;
	}
	.luz .e-con.luz-atouts.luz-atouts-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.luz .e-con.luz-entete-visuel {
		padding: 10px 6% 30px 10%;
		max-width: 560px;
		margin-inline: auto;
		width: 100%;
		box-sizing: border-box;
	}
}
@media (max-width: 640px) {
	.luz .e-con.luz-hero2 {
		padding-block: 28px 120px;
	}
	.luz .luz-hero2 .luz-h1 .elementor-heading-title {
		font-size: clamp(2.5rem, 11.5vw, 3.3rem);
	}
	.luz .e-con.luz-hero2-texte {
		gap: 18px;
	}
	.luz .luz-hero2 .luz-boutons,
	.luz .luz-hero2 .luz-boutons .elementor-widget-button,
	.luz .luz-hero2 .luz-boutons .elementor-button {
		width: 100%;
	}
	.luz .e-con.luz-hero2-visuel {
		padding: 10px 4% 34px 12%;
	}
	.luz .luz-hero2-visuel .luz-sim-cadre {
		border-radius: 24px 24px 24px 80px;
		border-width: 4px;
	}
	.luz .elementor-widget.luz-hero2-pots {
		width: 50%;
		left: -6%;
		bottom: -8%;
	}
	.luz .elementor-widget.luz-carte-flottante {
		top: -16px;
		right: -4px;
		padding: 10px 12px;
		border-radius: 16px;
	}
	.luz .luz-carte-flottante-titre {
		font-size: 0.76rem;
	}
	.luz .luz-carte-flottante-texte {
		display: none;
	}
	.luz .luz-pastilles-anim i {
		width: 18px;
		height: 18px;
	}
	.luz .luz-hero2-visuel .luz-sim-puce {
		right: 10px;
		bottom: 10px;
	}
	.luz .e-con.luz-bande {
		margin-top: -56px;
	}
	.luz .luz-defilant {
		padding: 14px 0;
	}

	/* Produits : toujours 2 par 2, cartes compactes. */
	.luz .luz-grille-produits,
	.luz .luz-grille-produits.luz-col-2,
	.luz .luz-grille-produits.luz-col-3,
	.luz .luz-grille-produits.luz-col-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.luz .luz-carte-produit {
		border-radius: 18px;
	}
	.luz .luz-carte-produit-corps {
		padding: 12px 12px 14px;
		gap: 6px;
	}
	.luz .luz-carte-produit-corps .luz-surtitre {
		font-size: 0.58rem;
		letter-spacing: 0.08em;
		gap: 6px;
	}
	.luz .luz-carte-produit-corps .luz-surtitre::before {
		width: 12px;
	}
	.luz .luz-carte-produit-titre {
		font-size: 1rem;
	}
	.luz .luz-carte-produit-texte {
		font-size: 0.78rem;
		line-height: 1.4;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.luz .luz-carte-produit .luz-etiquettes {
		display: none;
	}
	.luz .luz-carte-produit-lien {
		font-size: 0.78rem;
		padding-top: 4px;
	}
	.luz .luz-sans-photo {
		font-size: 0.82rem;
		width: 66%;
	}

	/* Cartes et étapes : carrousel horizontal plutôt qu'une longue colonne. */
	.luz .e-con.luz-defile-mobile {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 12px;
		margin-inline: calc(-1 * var(--luz-marge));
		padding: 6px var(--luz-marge) 18px;
		scrollbar-width: none;
		scroll-padding-inline: var(--luz-marge);
		width: calc(100% + 2 * var(--luz-marge)) !important;
		max-width: none !important;
		box-sizing: border-box;
		align-self: stretch;
		align-items: stretch;
	}
	.luz .e-con.luz-defile-mobile::-webkit-scrollbar {
		display: none;
	}
	.luz .e-con.luz-defile-mobile > * {
		flex: 0 0 78% !important;
		width: 78% !important;
		max-width: 78% !important;
		scroll-snap-align: start;
	}
	.luz .e-con.luz-atouts.luz-defile-mobile > * {
		flex-basis: 72% !important;
		width: 72% !important;
		max-width: 72% !important;
	}

	.luz .luz-badge-rond {
		width: 112px;
		height: 112px;
		top: -18px;
		right: -18px;
	}
	.luz .luz-badge-rond text {
		font-size: 16px;
	}
	.luz .luz-badge-rond-coeur {
		width: 46px;
		height: 46px;
	}
	.luz .luz-badge-rond-coeur svg {
		width: 24px;
		height: 24px;
	}
	.luz .elementor-widget.luz-mini-carte {
		left: -14px;
		bottom: 26px;
	}
	.luz .elementor-widget.luz-badges-flottants {
		left: -6px;
		right: 0;
		bottom: -18px;
	}
	.luz .luz-badges-flottants .luz-badge {
		font-size: 0.72rem;
		padding: 6px 11px;
	}
	.luz .luz-galerie-bande .gallery-item {
		flex-basis: 70%;
	}
	.luz .luz-galerie-bande .gallery-item:nth-child(even) {
		margin-top: 24px !important;
	}
	.luz .luz-pied-appel {
		border-radius: 26px;
		margin-top: 48px;
	}
	.luz .luz-pied-appel-visuel {
		width: 84%;
		margin: 0 auto -64px;
	}
	.luz .luz-pied-appel-actions .luz-bouton {
		width: 100%;
	}
	.luz .e-con.luz-entete-page .luz-boutons,
	.luz .e-con.luz-entete-page .luz-boutons .elementor-widget-button,
	.luz .e-con.luz-entete-page .luz-boutons .elementor-button {
		width: 100%;
	}
	.luz .luz-galerie:not(.luz-galerie-bande) .gallery {
		gap: 8px;
	}
	/* Nuancier compact : 3 échantillons par ligne. */
	.luz .luz-nuancier-grille {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}
	.luz .luz-echantillon {
		border-radius: 12px;
	}
	.luz .luz-echantillon-teinte {
		aspect-ratio: 1 / 0.8;
	}
	.luz .luz-echantillon-nom {
		padding: 7px 8px 0;
		font-size: 0.7rem;
		line-height: 1.2;
	}
	.luz .luz-echantillon-code {
		padding: 1px 8px 8px;
		font-size: 0.62rem;
	}
}
