/* Palette LEVODIA 2026 : citron, bleu, menthe et corail. */
:root {
	--lv-blue: #3157f6;
	--lv-violet: #3157f6;
	--lv-violet-light: #7f9cff;
	--lv-green: #15a57a;
	--lv-yellow: #f4c400;
	--lv-surface-soft: #fffaf0;
	--lv-line: #e8dfca;
	--lv-brand-ivory: #fffdf7;
	--lv-brand-lemon-soft: #fff8d8;
	--lv-brand-blue-soft: #edf4ff;
	--lv-brand-mint-soft: #eafaf4;
	--lv-brand-coral: #ff875b;
	--lv-brand-coral-soft: #fff0e8;
}

body,
.site-content {
	background: var(--lv-brand-ivory);
}

.lv-home2,
.lv-custom,
.lv-library,
.lv-product,
.lv-page,
.lv-contact-page .lv-page,
.lv-legal-page .lv-page,
.lv-commerce-page .site-main {
	background:
		radial-gradient(circle at 8% 2%, rgba(250, 204, 21, 0.12), transparent 25rem),
		var(--lv-brand-ivory);
}

.lv-home2__products,
.lv-home2__domains,
.lv-custom__form-section,
.lv-custom__deliverables,
.lv-custom__faq,
.lv-library-categories,
.lv-library-catalog,
.lv-library-cta,
.lv-contact-page .lv-contact-faq {
	background: #fffaf0;
}

/* Header et recherche : verre chaud plutôt que gris froid. */
.elementor-element-544cfab {
	background: rgba(255, 253, 247, 0.82) !important;
	border-bottom-color: rgba(202, 158, 0, 0.14) !important;
}

.elementor-element-195ebc6 .e-search-input,
.elementor-element-9f3b973 .e-search-input {
	background: rgba(255, 250, 240, 0.92) !important;
	border-color: rgba(202, 158, 0, 0.12) !important;
}

.elementor-element-195ebc6 .e-search-input:focus,
.elementor-element-9f3b973 .e-search-input:focus {
	background: #fff !important;
	border-color: rgba(49, 87, 246, 0.34) !important;
	box-shadow: 0 0 0 4px rgba(49, 87, 246, 0.08) !important;
}

/* Héros lumineux : la même idée visuelle sur toutes les entrées du site. */
.lv-home2__hero,
.lv-custom__hero,
.lv-library-hero,
.lv-report-hero,
.lv-home-hero,
.lv-contact-page .lv-page-hero,
.lv-legal-page .lv-page-hero {
	background:
		radial-gradient(circle at 10% 18%, rgba(250, 204, 21, 0.28), transparent 23rem),
		radial-gradient(circle at 87% 22%, rgba(49, 87, 246, 0.15), transparent 28rem),
		radial-gradient(circle at 62% 92%, rgba(21, 165, 122, 0.09), transparent 20rem),
		radial-gradient(circle at 98% 84%, rgba(255, 135, 91, 0.1), transparent 18rem),
		linear-gradient(142deg, #fff8d8 0%, #fffdf7 57%, #edf4ff 100%);
	border-bottom: 1px solid rgba(202, 158, 0, 0.16);
	color: #101828;
	isolation: isolate;
	overflow: hidden;
}

.lv-home2__hero::after,
.lv-custom__hero::after,
.lv-library-hero::after,
.lv-report-hero::after,
.lv-home-hero::after {
	background: linear-gradient(90deg, #facc15 0 25%, #3157f6 25% 50%, #15a57a 50% 75%, #ff875b 75% 100%);
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: 3;
}

.lv-home2__hero::before,
.lv-custom__hero::before,
.lv-library-hero::before,
.lv-report-hero::before,
.lv-home-hero::before {
	background-image:
		linear-gradient(rgba(49, 87, 246, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(49, 87, 246, 0.045) 1px, transparent 1px);
	mask-image: linear-gradient(90deg, #000, transparent 88%);
}

.lv-home2__hero h1,
.lv-custom__hero h1,
.lv-library-hero h1,
.lv-report-hero h1,
.lv-home-hero h1,
.lv-contact-page .lv-page-hero h1,
.lv-legal-page .lv-page-hero h1 {
	color: #101828;
}

.lv-home2__lead,
.lv-custom__hero-copy > p:not(.lv-custom__kicker, .lv-custom__hero-note),
.lv-library-hero__lead,
.lv-report-hero__lead,
.lv-home-hero__lead,
.lv-contact-page .lv-page-lead,
.lv-legal-page .lv-page-lead {
	color: #586174;
}

.lv-home2__kicker,
.lv-custom__kicker,
.lv-report-hero__eyebrow,
.lv-home-hero__eyebrow,
.lv-eyebrow,
.lv-sector-tag,
.lv-footer__label {
	color: #2448d8 !important;
}

.lv-home2__proof-line,
.lv-custom__hero-note,
.lv-library-hero__trust li,
.lv-report-hero__proofs li,
.lv-home-hero__proofs li {
	color: #667085;
}

.lv-home2__visual::before {
	background:
		radial-gradient(circle at 25% 25%, rgba(250, 204, 21, 0.22), transparent 38%),
		radial-gradient(circle at 72% 72%, rgba(49, 87, 246, 0.2), transparent 43%);
	content: "";
	filter: blur(24px);
	inset: -10%;
	pointer-events: none;
	position: absolute;
}

.lv-home2__decision-card {
	box-shadow:
		0 2.7rem 6rem rgba(16, 37, 91, 0.26),
		0 0 0 1px rgba(127, 156, 255, 0.14),
		0 0 4rem rgba(49, 87, 246, 0.1);
}

.lv-home2__button-quiet,
.lv-custom__button-quiet,
.lv-report-hero__secondary,
.lv-home-hero__secondary,
.lv-library-hero .lv-button--ghost {
	background: rgba(255, 255, 255, 0.82);
	border-color: rgba(49, 87, 246, 0.2);
	color: #1d2939;
}

.lv-home2__button-quiet:hover,
.lv-home2__button-quiet:focus-visible,
.lv-custom__button-quiet:hover,
.lv-custom__button-quiet:focus-visible,
.lv-report-hero__secondary:hover,
.lv-report-hero__secondary:focus-visible,
.lv-home-hero__secondary:hover,
.lv-home-hero__secondary:focus-visible {
	background: #fff;
	border-color: #3157f6;
	color: #1838b8;
}

/* Actions et états actifs : bleu franc, sans dégradé violet. */
.lv-button--primary,
.lv-solution-card__footer a,
.lv-library-page .lv-solution-card--library .lv-solution-card__cta,
.lv-commerce-page .lvc-button--primary,
.lv-commerce-page input[type="submit"],
.lv-commerce-page button[type="submit"],
.lv-commerce-page .edd-submit,
.lv-commerce-page .edd_checkout,
.lv-cart-table li.edd_checkout a {
	background: linear-gradient(135deg, #2448d8, #3157f6) !important;
	border-color: #3157f6 !important;
	box-shadow: 0 0.8rem 1.8rem rgba(49, 87, 246, 0.2);
	color: #fff !important;
}

.lv-button--primary:hover,
.lv-button--primary:focus-visible,
.lv-solution-card__footer a:hover,
.lv-solution-card__footer a:focus-visible,
.lv-library-page .lv-solution-card--library .lv-solution-card__cta:hover,
.lv-library-page .lv-solution-card--library .lv-solution-card__cta:focus-visible,
.lv-commerce-page .lvc-button--primary:hover,
.lv-commerce-page .lvc-button--primary:focus-visible {
	background: linear-gradient(135deg, #1838b8, #2448d8) !important;
	box-shadow: 0 1rem 2.2rem rgba(49, 87, 246, 0.26) !important;
}

.elementor-element-da110c5 .hfe-nav-menu .hfe-menu-item:hover,
.elementor-element-da110c5 .hfe-nav-menu .current-menu-item > .hfe-menu-item,
.elementor-element-da110c5 .hfe-nav-menu .hfe-menu-item.is-current,
.lv-inline-link,
.lv-library-back,
.lv-library .levodia-filter-empty {
	color: #2448d8;
}

.lv-icon-box {
	background: var(--lv-brand-blue-soft);
	border-color: rgba(49, 87, 246, 0.18);
	color: #3157f6;
}

/* Accueil : deux choix lisibles, sans grand panneau violet. */
.lv-home2__choices {
	background:
		radial-gradient(circle at 2% 0, rgba(250, 204, 21, 0.12), transparent 20rem),
		radial-gradient(circle at 98% 0, rgba(49, 87, 246, 0.07), transparent 24rem),
		linear-gradient(180deg, #fffdf7, #fffaf0);
}

.lv-home2__choice--ready {
	background: linear-gradient(145deg, #fff8d8, #fffef8 76%);
	box-shadow: inset 0 0 0 1px rgba(202, 158, 0, 0.2), 0 1rem 2.8rem rgba(32, 45, 72, 0.06);
}

.lv-home2__choice--custom {
	background: linear-gradient(145deg, #edf4ff, #fff 78%);
	box-shadow: inset 0 0 0 1px rgba(49, 87, 246, 0.18), 0 1rem 2.8rem rgba(32, 45, 72, 0.06);
	color: #101828;
}

.lv-home2__choice-icon,
.lv-home2__choice--custom .lv-home2__choice-icon {
	background: #3157f6;
	color: #fff;
}

.lv-home2__choice--ready .lv-home2__choice-icon {
	background: #facc15;
	color: #172033;
}

.lv-home2__choice > p,
.lv-home2__choice--custom > p,
.lv-home2__choice > a,
.lv-home2__choice--custom > a {
	color: #2448d8;
}

.lv-home2__choice--ready > p,
.lv-home2__choice--ready > a {
	color: #8a6900;
}

.lv-home2__choice--custom h3 {
	color: #101828;
}

.lv-home2__choice--custom > span {
	color: #667085;
}

.lv-home2__decision-card,
.lv-custom__blueprint,
.lv-library-browser {
	background: linear-gradient(155deg, #10255b, #06142f);
	border-color: rgba(49, 87, 246, 0.3);
}

.lv-home2__decision-card::before,
.lv-custom__blueprint::before,
.lv-library-browser::before {
	background: radial-gradient(circle at var(--lv-glow-x, 50%) var(--lv-glow-y, 50%), rgba(49, 87, 246, 0.25), transparent 34%);
}

.lv-home2__bars span {
	background: linear-gradient(180deg, #15a57a, #3157f6);
}

.lv-home2__decision-card header i:first-child {
	background: #3157f6;
}

.lv-home2__decision-card header i:nth-child(2) {
	background: #facc15;
}

.lv-home2__decision-card header i:nth-child(3) {
	background: #15a57a;
}

.lv-home2__chart-tooltip {
	border-color: rgba(49, 87, 246, 0.42);
}

.lv-home2__trend b,
.lv-custom__blueprint-goal small,
.lv-custom__blueprint footer span {
	color: #8fb0ff;
}

.lv-home2__final,
.lv-library-cta__panel {
	background:
		radial-gradient(circle at 84% 15%, rgba(250, 204, 21, 0.14), transparent 24rem),
		linear-gradient(140deg, #06142f, #10255b);
}

.lv-home2__final-copy > p,
.lv-home2__final-copy > span a,
.lv-library-cta__panel .lv-eyebrow {
	color: #facc15 !important;
}

/* Schéma sur-mesure : circulation bleue, validation menthe, repères citron. */
.lv-custom__blueprint-goal {
	background: rgba(49, 87, 246, 0.1);
	border: 1px solid rgba(127, 156, 255, 0.13);
}

.lv-custom__blueprint-flow > div.is-active {
	background: rgba(49, 87, 246, 0.17);
	border-color: rgba(127, 156, 255, 0.46);
}

.lv-custom__blueprint-flow span {
	color: #8fb0ff;
}

.lv-custom__blueprint-flow > div:first-child span {
	color: #facc15;
}

.lv-custom__blueprint-flow > div:last-child span {
	color: #6ee7b7;
}

.lv-custom__blueprint-flow > i {
	background: rgba(49, 87, 246, 0.38);
}

.lv-custom__blueprint-flow > i::after {
	border-left-color: #3157f6;
}

.lv-custom__blueprint-flow > i::before {
	background: #6ee7b7;
	box-shadow: 0 0 0.7rem rgba(21, 165, 122, 0.74);
}

.lv-custom__blueprint footer {
	background: linear-gradient(90deg, rgba(49, 87, 246, 0.2), rgba(21, 165, 122, 0.13));
}

.lv-custom__blueprint footer span {
	color: #facc15;
}

@keyframes lv-project-stage {
	0%, 24%, 100% { background: rgba(5, 10, 27, 0.58); border-color: transparent; transform: none; }
	8%, 16% { background: rgba(49, 87, 246, 0.16); border-color: rgba(127, 156, 255, 0.38); transform: translateY(-0.18rem); }
}

/* Démonstration du catalogue : quatre couleurs utiles, aucune barre violette. */
.lv-library-browser.is-interacting {
	border-color: rgba(127, 156, 255, 0.48);
	box-shadow: 0 2.4rem 5.5rem rgba(0, 0, 0, 0.42), 0 0 3rem rgba(49, 87, 246, 0.12);
}

.lv-library-browser__kpis > div:hover,
.lv-library-browser__kpis > div.is-active {
	background: linear-gradient(145deg, rgba(49, 87, 246, 0.2), rgba(21, 165, 122, 0.08));
	border-color: rgba(127, 156, 255, 0.34);
}

.lv-library-browser__chart header > span {
	color: #8fb0ff;
}

.lv-library-browser__bars i {
	background: linear-gradient(180deg, #7f9cff, #3157f6);
}

.lv-library-browser__bars > div:nth-child(2) i {
	background: linear-gradient(180deg, #55c6f3, #3157f6);
}

.lv-library-browser__bars > div:nth-child(3) i {
	background: linear-gradient(180deg, #facc15, #e6ad00);
}

.lv-library-browser__bars > div:nth-child(4) i {
	background: linear-gradient(180deg, #6ee7b7, #15a57a);
}

/* Disponibilité : corail doux pour l'attente, vert pour les produits actifs. */
.lv-site .lv-solution-card__availability.is-coming-soon,
.lv-solution-card__availability.is-coming-soon {
	background: rgba(255, 240, 232, 0.96);
	border-color: rgba(255, 135, 91, 0.35);
	box-shadow: 0 0.22rem 0.72rem rgba(168, 73, 38, 0.11);
	color: #b94721;
}

/* Formulaires, compte et tunnel : ivoire à la place du gris. */
.lv-contact-page .lv-contact-form input[type="text"],
.lv-contact-page .lv-contact-form input[type="email"],
.lv-contact-page .lv-contact-form select,
.lv-contact-page .lv-contact-form textarea,
.lv-commerce-page input:not([type="checkbox"]):not([type="radio"]),
.lv-commerce-page select,
.lv-commerce-page textarea,
.lv-project-form__choice label span,
.lv-commerce-page .lvc-profile input {
	background: #fffaf0;
	border-color: #e8dfca;
}

.lv-project-form__choice input:checked + span,
.lv-commerce-progress li.is-active,
.lv-commerce-page .lvc-choice label:has(input:checked) {
	background: #edf4ff;
	border-color: #3157f6;
	box-shadow: inset 0 0 0 1px #3157f6;
	color: #1838b8;
}

.lv-custom__privacy-note,
.lv-account__nav a:hover,
.lv-account__nav a:focus-visible,
.lv-account__nav a.is-active {
	background: #fff4c2;
	color: #5f4a00;
}

.lv-commerce-page {
	--lvc-purple: #3157f6;
	--lvc-soft: #fffaf0;
}

.lv-commerce-page .lvc-progress {
	background: linear-gradient(135deg, rgba(255, 253, 247, 0.96), rgba(255, 248, 216, 0.78));
	border-color: rgba(202, 158, 0, 0.17);
}

.lv-commerce-page .lvc-progress li.is-active,
.lv-commerce-progress li.is-active {
	background: linear-gradient(135deg, #1838b8, #3157f6);
	border-color: #3157f6;
	color: #fff;
}

.lv-commerce-page .lvc-progress li.is-active > span,
.lv-commerce-progress li.is-active span {
	background: #facc15;
	color: #172033;
}

/* Consentement : panneau nuit, interactions bleues et citron. */
.cmplz-cookiebanner {
	border-color: rgba(49, 87, 246, 0.3) !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	border-color: rgba(127, 156, 255, 0.42) !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible {
	background: rgba(49, 87, 246, 0.32) !important;
	border-color: #7f9cff !important;
}

.cmplz-cookiebanner a {
	color: #8fb0ff !important;
}

/* Logos des outils : marques identifiables, formats techniques séparés. */
.lv-custom__brand-stack {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 1.7rem 0 0.9rem;
	position: relative;
	z-index: 1;
}

.lv-custom__brand {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(16, 24, 40, 0.1);
	border-radius: 0.9rem 0.28rem 0.9rem 0.28rem;
	box-shadow: 0 0.55rem 1.3rem rgba(32, 45, 72, 0.07);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	justify-content: center;
	min-height: 6.25rem;
	padding: 0.8rem 0.45rem;
	text-align: center;
}

.lv-custom__brand-icon {
	align-items: center;
	background: var(--brand-color);
	border-radius: 0.72rem;
	display: flex;
	height: 2.65rem;
	justify-content: center;
	width: 2.65rem;
}

.lv-custom__brand img {
	filter: brightness(0) invert(1);
	height: 1.5rem;
	width: 1.5rem;
}

.lv-custom__brand strong {
	color: #253047;
	font-size: 0.67rem;
	line-height: 1.2;
}

.lv-custom__brand--excel { --brand-color: #217346; }
.lv-custom__brand--sharepoint { --brand-color: #038387; }
.lv-custom__brand--sage { --brand-color: #00a376; }
.lv-custom__brand--dynamics { --brand-color: #3157f6; }
.lv-custom__brand--powerbi { --brand-color: #e6ad00; }

.lv-custom__source-cloud--technical {
	margin: 0 0 1.45rem;
}

.lv-custom__source-cloud--technical::before {
	align-self: center;
	color: #667085;
	content: "Formats et connexions";
	font-size: 0.68rem;
	font-weight: 750;
	margin-right: 0.2rem;
}

/* Footer bleu nuit : aucun halo violet. */
.lv-footer {
	background:
		radial-gradient(circle at 10% 0, rgba(250, 204, 21, 0.1), transparent 22rem),
		radial-gradient(circle at 78% 0, rgba(49, 87, 246, 0.2), transparent 28rem),
		radial-gradient(circle at 92% 92%, rgba(21, 165, 122, 0.08), transparent 22rem),
		#030b1d;
	isolation: isolate;
	position: relative;
}

.lv-footer::before {
	background: linear-gradient(90deg, #facc15 0 25%, #3157f6 25% 50%, #15a57a 50% 75%, #ff875b 75% 100%);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.lv-footer::after {
	background-image:
		linear-gradient(rgba(127, 156, 255, 0.026) 1px, transparent 1px),
		linear-gradient(90deg, rgba(127, 156, 255, 0.026) 1px, transparent 1px);
	background-size: 3.5rem 3.5rem;
	content: "";
	inset: 0;
	opacity: 0.65;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.lv-footer > .lv-shell {
	position: relative;
	z-index: 1;
}

.lv-footer__privacy {
	background: linear-gradient(140deg, rgba(15, 37, 84, 0.9), rgba(6, 20, 47, 0.94));
	border-color: rgba(49, 87, 246, 0.28);
}

.lv-footer__contact,
.lv-footer__privacy a,
.lv-footer__privacy-icon svg,
.lv-footer__nav a:hover,
.lv-footer__nav a:focus-visible,
.lv-footer__contact:hover,
.lv-footer__contact:focus-visible,
.lv-footer__bottom a:hover,
.lv-footer__bottom a:focus-visible,
.lv-footer__cookies:hover,
.lv-footer__cookies:focus-visible {
	color: #8fb0ff;
	stroke: #8fb0ff;
}

.lv-footer__contact span,
.lv-footer__privacy-icon {
	background: rgba(49, 87, 246, 0.15);
	border-color: rgba(127, 156, 255, 0.3);
}

.lv-footer__contact {
	background: rgba(49, 87, 246, 0.11);
	border: 1px solid rgba(127, 156, 255, 0.25);
	border-radius: 0.8rem;
	padding: 0.72rem 0.88rem;
}

.lv-footer__contact:hover,
.lv-footer__contact:focus-visible {
	background: rgba(49, 87, 246, 0.19);
	border-color: rgba(127, 156, 255, 0.45);
	color: #fff;
}

.lv-footer__bottom {
	border-top-color: rgba(250, 204, 21, 0.15);
}

@media (max-width: 820px) {
	.lv-custom__brand-stack {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.lv-custom__brand-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
