/**
 * Complx — Politique de confidentialité (light + dark).
 */

.complx-privacy-wrap {
	width: min(760px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.complx-privacy-hero {
	padding: 8.5rem 0 2.5rem;
}

.complx-privacy-eyebrow,
.complx-privacy-eyebrow .elementor-heading-title {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #073B66;
	line-height: 1.4;
}

html.dark .complx-privacy-eyebrow,
html.dark .complx-privacy-eyebrow .elementor-heading-title,
.dark .complx-privacy-eyebrow,
.dark .complx-privacy-eyebrow .elementor-heading-title {
	color: #F09018;
}

.complx-privacy-brand,
.complx-privacy-brand .elementor-heading-title {
	margin: 0 0 0.75rem;
	font-family: "General Sans", Satoshi, sans-serif;
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	color: #073B66;
}

html.dark .complx-privacy-brand,
html.dark .complx-privacy-brand .elementor-heading-title,
.dark .complx-privacy-brand,
.dark .complx-privacy-brand .elementor-heading-title {
	color: #fff;
}

.complx-privacy-title,
.complx-privacy-title .elementor-heading-title {
	margin: 0 0 1rem;
	font-family: "General Sans", Satoshi, sans-serif;
	font-size: clamp(1.55rem, 2.8vw, 2.1rem);
	font-weight: 650;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: #101828;
}

html.dark .complx-privacy-title,
html.dark .complx-privacy-title .elementor-heading-title,
.dark .complx-privacy-title,
.dark .complx-privacy-title .elementor-heading-title {
	color: rgba(255, 255, 255, 0.92);
}

.complx-privacy-lead,
.complx-privacy-lead .elementor-widget-container,
.complx-privacy-lead .elementor-widget-container p {
	margin: 0;
	max-width: 38rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: #586474;
}

html.dark .complx-privacy-lead,
html.dark .complx-privacy-lead .elementor-widget-container,
html.dark .complx-privacy-lead .elementor-widget-container p,
.dark .complx-privacy-lead,
.dark .complx-privacy-lead .elementor-widget-container,
.dark .complx-privacy-lead .elementor-widget-container p {
	color: rgba(255, 255, 255, 0.68);
}

.complx-privacy-main {
	padding: 0.75rem 0 5.5rem;
}

.complx-privacy-prose,
.complx-privacy-prose .elementor-widget-container {
	font-family: Satoshi, Inter, system-ui, sans-serif;
	font-size: 1.05rem;
	line-height: 1.75;
	color: #334155;
}

html.dark .complx-privacy-prose,
html.dark .complx-privacy-prose .elementor-widget-container,
.dark .complx-privacy-prose,
.dark .complx-privacy-prose .elementor-widget-container {
	color: rgba(255, 255, 255, 0.84);
}

.complx-privacy-prose p,
.complx-privacy-prose .elementor-widget-container p {
	margin: 0 0 1.25rem;
}

.complx-privacy-prose p:last-child,
.complx-privacy-prose .elementor-widget-container p:last-child {
	margin-bottom: 0;
}

.complx-privacy-contact {
	margin-top: 2.75rem;
	padding: 1.5rem 1.5rem 1.35rem;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid #D9E0E7;
}

html.dark .complx-privacy-contact,
.dark .complx-privacy-contact {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
}

.complx-privacy-contact__title,
.complx-privacy-contact__title .elementor-heading-title {
	margin: 0 0 1.1rem;
	font-family: "General Sans", Satoshi, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #073B66;
}

html.dark .complx-privacy-contact__title,
html.dark .complx-privacy-contact__title .elementor-heading-title,
.dark .complx-privacy-contact__title,
.dark .complx-privacy-contact__title .elementor-heading-title {
	color: #F0C048;
}

.complx-privacy-contact__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.complx-privacy-contact__label {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #586474;
}

html.dark .complx-privacy-contact__label,
.dark .complx-privacy-contact__label {
	color: rgba(255, 255, 255, 0.55);
}

.complx-privacy-contact__list a,
.complx-privacy-contact__list span:not(.complx-privacy-contact__label) {
	font-size: 1.02rem;
	font-weight: 550;
	color: #101828;
	text-decoration: none;
}

html.dark .complx-privacy-contact__list a,
html.dark .complx-privacy-contact__list span:not(.complx-privacy-contact__label),
.dark .complx-privacy-contact__list a,
.dark .complx-privacy-contact__list span:not(.complx-privacy-contact__label) {
	color: rgba(255, 255, 255, 0.92);
}

.complx-privacy-contact__list a:hover {
	color: #F09018;
}

/* Elementor bridge — flatten default wrappers, keep section spacing */
body.complx-privacy-page .complx-privacy .e-con:not(.complx-privacy-hero):not(.complx-privacy-main):not(.complx-privacy-contact),
body.complx-privacy-template .complx-privacy .e-con:not(.complx-privacy-hero):not(.complx-privacy-main):not(.complx-privacy-contact),
body.complx-privacy-page .complx-privacy .e-con-inner,
body.complx-privacy-template .complx-privacy .e-con-inner {
	max-width: none !important;
}

body.complx-privacy-page .complx-privacy .complx-privacy-wrap.e-con,
body.complx-privacy-template .complx-privacy .complx-privacy-wrap.e-con,
body.complx-privacy-page .complx-privacy .complx-privacy-wrap > .e-con-inner,
body.complx-privacy-template .complx-privacy .complx-privacy-wrap > .e-con-inner {
	padding: 0 !important;
	gap: 0 !important;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

/* Hero: clear fixed header */
body.complx-privacy-page .complx-privacy .complx-privacy-hero.e-con,
body.complx-privacy-template .complx-privacy .complx-privacy-hero.e-con,
body.complx-privacy-page .complx-privacy .complx-privacy-hero > .e-con-inner,
body.complx-privacy-template .complx-privacy .complx-privacy-hero > .e-con-inner {
	padding: 8.5rem 0 2.5rem !important;
	gap: 0 !important;
	--padding-top: 8.5rem;
	--padding-right: 0px;
	--padding-bottom: 2.5rem;
	--padding-left: 0px;
}

/* Main: space before footer */
body.complx-privacy-page .complx-privacy .complx-privacy-main.e-con,
body.complx-privacy-template .complx-privacy .complx-privacy-main.e-con,
body.complx-privacy-page .complx-privacy .complx-privacy-main > .e-con-inner,
body.complx-privacy-template .complx-privacy .complx-privacy-main > .e-con-inner {
	padding: 0.75rem 0 5.5rem !important;
	gap: 0 !important;
	--padding-top: 0.75rem;
	--padding-right: 0px;
	--padding-bottom: 5.5rem;
	--padding-left: 0px;
}

/* Contact card: internal padding */
body.complx-privacy-page .complx-privacy .complx-privacy-contact.e-con,
body.complx-privacy-template .complx-privacy .complx-privacy-contact.e-con,
body.complx-privacy-page .complx-privacy .complx-privacy-contact > .e-con-inner,
body.complx-privacy-template .complx-privacy .complx-privacy-contact > .e-con-inner {
	padding: 1.5rem 1.5rem 1.35rem !important;
	gap: 0 !important;
	--padding-top: 1.5rem;
	--padding-right: 1.5rem;
	--padding-bottom: 1.35rem;
	--padding-left: 1.5rem;
	margin-top: 2.75rem;
	border-radius: 1rem;
	box-sizing: border-box;
}

body.complx-privacy-page .complx-privacy .elementor-widget-heading,
body.complx-privacy-template .complx-privacy .elementor-widget-heading,
body.complx-privacy-page .complx-privacy .elementor-widget-text-editor,
body.complx-privacy-template .complx-privacy .elementor-widget-text-editor {
	margin: 0 !important;
}

body.complx-privacy-page .complx-privacy .elementor-widget-heading .elementor-widget-container,
body.complx-privacy-template .complx-privacy .elementor-widget-heading .elementor-widget-container,
body.complx-privacy-page .complx-privacy .elementor-widget-text-editor .elementor-widget-container,
body.complx-privacy-template .complx-privacy .elementor-widget-text-editor .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

body.complx-privacy-page .elementor-section.elementor-section-boxed > .elementor-container,
body.complx-privacy-template .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: none !important;
}

body.complx-privacy-page .elementor-widget-shortcode,
body.complx-privacy-template .elementor-widget-shortcode {
	margin: 0 !important;
}

@media (max-width: 767px) {
	body.complx-privacy-page .complx-privacy .complx-privacy-hero.e-con,
	body.complx-privacy-template .complx-privacy .complx-privacy-hero.e-con,
	body.complx-privacy-page .complx-privacy .complx-privacy-hero > .e-con-inner,
	body.complx-privacy-template .complx-privacy .complx-privacy-hero > .e-con-inner {
		padding: 7rem 0 2rem !important;
		--padding-top: 7rem;
		--padding-bottom: 2rem;
	}

	body.complx-privacy-page .complx-privacy .complx-privacy-main.e-con,
	body.complx-privacy-template .complx-privacy .complx-privacy-main.e-con,
	body.complx-privacy-page .complx-privacy .complx-privacy-main > .e-con-inner,
	body.complx-privacy-template .complx-privacy .complx-privacy-main > .e-con-inner {
		padding: 0.5rem 0 4rem !important;
		--padding-bottom: 4rem;
	}
}
