/* Pages juridiques : composition éditoriale sobre, sans cartes ni appel à l'action. */

body:has(.dh66-legal-page) {
	background-color: #00172f;
	background-image:
		linear-gradient(180deg, rgb(0 17 38 / 0.08), rgb(0 17 38 / 0.32)),
		url("../../images/prototype/fond-direct-habitat-66.webp");
	background-attachment: fixed;
	background-position: center top;
	background-size: cover;
}

body:has(.dh66-legal-page) .hero-section,
body:has(.dh66-legal-page) .entry-header {
	display: none;
}

body:has(.dh66-legal-page) #main,
body:has(.dh66-legal-page) #main-container,
body:has(.dh66-legal-page) .site-main,
body:has(.dh66-legal-page) .content-area,
body:has(.dh66-legal-page) .site-content,
body:has(.dh66-legal-page) .ct-container-full,
body:has(.dh66-legal-page) .ct-container,
body:has(.dh66-legal-page) article,
body:has(.dh66-legal-page) .entry-content {
	background: transparent;
}

.dh66-legal-page {
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	min-height: 100vh;
	margin: 0 calc(50% - 50vw) !important;
	padding: 0;
	color: rgb(247 250 252 / 0.86);
}

.dh66-legal-page *,
.dh66-legal-page *::before,
.dh66-legal-page *::after {
	box-sizing: border-box;
}

.dh66-legal-hero,
.dh66-legal-content {
	width: min(920px, calc(100% - 48px));
	margin-inline: auto;
}

.dh66-legal-hero {
	padding-block: clamp(76px, 10vw, 142px) clamp(54px, 7vw, 88px);
	border-bottom: 1px solid rgb(255 255 255 / 0.22);
}

.dh66-legal-hero > * {
	margin-inline: 0;
}

.dh66-legal-kicker {
	margin: 0 0 18px;
	color: #ff8a2b;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dh66-legal-title {
	max-width: 15ch;
	margin: 0;
	color: #f7fafc;
	font-size: clamp(44px, 7vw, 78px);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.dh66-legal-lead {
	max-width: 68ch;
	margin: 26px 0 0;
	color: rgb(247 250 252 / 0.82);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
}

.dh66-legal-updated {
	margin: 22px 0 0;
	color: rgb(247 250 252 / 0.6);
	font-size: 14px;
}

.dh66-legal-content {
	padding-block: clamp(54px, 7vw, 88px) clamp(84px, 10vw, 130px);
}

.dh66-legal-content > * {
	max-width: 760px;
	margin-inline: 0;
}

.dh66-legal-content h2 {
	margin-top: clamp(54px, 7vw, 76px);
	margin-bottom: 20px;
	padding-top: clamp(34px, 5vw, 48px);
	border-top: 1px solid rgb(255 255 255 / 0.2);
	color: #f7fafc;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.dh66-legal-content h2:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.dh66-legal-content h3 {
	margin-top: 34px;
	margin-bottom: 12px;
	color: #f7fafc;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.25;
}

.dh66-legal-content p,
.dh66-legal-content li,
.dh66-legal-content td,
.dh66-legal-content th {
	color: rgb(247 250 252 / 0.82);
	font-size: clamp(16px, 1.45vw, 18px);
	line-height: 1.75;
}

.dh66-legal-content p {
	margin-top: 0;
	margin-bottom: 18px;
}

.dh66-legal-content ul,
.dh66-legal-content ol {
	margin: 18px 0 26px;
	padding-left: 1.35em;
}

.dh66-legal-content li + li {
	margin-top: 11px;
}

.dh66-legal-content strong {
	color: #f7fafc;
}

.dh66-legal-content a {
	color: #ffad69;
	font-weight: 750;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.dh66-legal-content a:hover,
.dh66-legal-content a:focus-visible {
	color: #ffffff;
}

.dh66-legal-content a:focus-visible {
	outline: 3px solid #ff8a2b;
	outline-offset: 4px;
}

/* Rendu intégré du gestionnaire Complianz et de son inventaire dynamique. */
.dh66-cookies-page #cmplz-manage-consent-container,
.dh66-cookies-page #cmplz-cookies-overview {
	width: 100%;
	max-width: 920px;
	margin: 26px 0 38px;
	color: rgb(247 250 252 / 0.88);
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-categories {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-category {
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 0.25) !important;
	border-radius: 12px !important;
	background:
		linear-gradient(135deg, rgb(255 255 255 / 0.1), rgb(3 25 46 / 0.24)),
		rgb(3 24 44 / 0.64) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.14);
	-webkit-backdrop-filter: blur(16px) saturate(128%);
	backdrop-filter: blur(16px) saturate(128%);
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-category-header {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	min-height: 58px;
	gap: 12px;
	padding: 12px 16px !important;
	background: transparent !important;
	color: #f7fafc !important;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-category-title {
	color: #f7fafc !important;
	font-size: 16px !important;
	font-weight: 900 !important;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-always-active {
	color: #9fda74 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-consent-checkbox {
	accent-color: #ff7300;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-category-toggle {
	display: grid !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	place-items: center;
	margin: 0 !important;
	padding: 7px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgb(255 255 255 / 0.1) !important;
	box-shadow: none !important;
	color: #f7fafc !important;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-category-toggle svg {
	fill: currentColor !important;
}

.dh66-cookies-page #cmplz-manage-consent-container .cmplz-description {
	padding: 14px 16px 16px !important;
	border-top: 1px solid rgb(255 255 255 / 0.16) !important;
	background: rgb(1 18 35 / 0.42) !important;
	color: rgb(247 250 252 / 0.78) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-dropdown {
	margin: 0 0 12px !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 0.24) !important;
	border-radius: 12px !important;
	background:
		linear-gradient(135deg, rgb(255 255 255 / 0.09), transparent 48%),
		rgb(3 24 44 / 0.7) !important;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.13),
		0 14px 34px rgb(0 15 36 / 0.16);
	-webkit-backdrop-filter: blur(16px) saturate(128%);
	backdrop-filter: blur(16px) saturate(128%);
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header {
	position: relative;
	display: block !important;
	min-height: 62px;
	padding: 13px 58px 13px 18px !important;
	background: transparent !important;
	color: #f7fafc !important;
	cursor: pointer;
	list-style: none;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header::-webkit-details-marker {
	display: none;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header::after {
	position: absolute;
	top: 50%;
	right: 18px;
	color: #ffad69;
	content: "+" !important;
	font-size: 27px;
	font-weight: 600;
	line-height: 1;
	transform: translateY(-50%);
}

.dh66-cookies-page #cmplz-cookies-overview details[open] > .cmplz-service-header::after {
	content: "−" !important;
}

.dh66-cookies-page #cmplz-cookies-overview details[open] > .cmplz-service-header {
	border-bottom: 1px solid rgb(255 255 255 / 0.18);
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header > div {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 18px;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header h3,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header p {
	margin: 0 !important;
	color: #f7fafc !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header h3 {
	font-size: clamp(17px, 2vw, 21px) !important;
	line-height: 1.25 !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header p {
	color: rgb(247 250 252 / 0.68) !important;
	font-size: 13px !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data {
	display: inline-block !important;
	width: 50% !important;
	min-height: 132px;
	margin: 0 !important;
	padding: 20px !important;
	vertical-align: top;
	background: rgb(1 18 35 / 0.42) !important;
	color: rgb(247 250 252 / 0.8) !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description h4,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data h4,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description p,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data p {
	margin: 0 !important;
	color: inherit !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description h4,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data h4 {
	margin-bottom: 9px !important;
	color: #ffad69 !important;
	font-size: 13px !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description p,
.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data p {
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose {
	display: grid !important;
	grid-template-columns: minmax(150px, 0.9fr) minmax(130px, 0.75fr) minmax(0, 1.55fr) !important;
	margin: 0 18px 18px !important;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 0.16) !important;
	border-radius: 10px !important;
	background: rgb(1 18 35 / 0.5) !important;
	color: #f7fafc !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose > div {
	margin: 0 !important;
	border-color: rgb(255 255 255 / 0.14) !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose .purpose {
	grid-column: 1 / -1 !important;
	padding: 13px 15px !important;
	background: rgb(255 115 0 / 0.16) !important;
	color: #f7fafc !important;
}

.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose .purpose h4,
.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose h5 {
	margin: 0 !important;
	color: inherit !important;
	font-size: 13px !important;
	font-weight: 900 !important;
}

.dh66-cookies-page #cmplz-cookies-overview .name-header,
.dh66-cookies-page #cmplz-cookies-overview .retention-header,
.dh66-cookies-page #cmplz-cookies-overview .function-header {
	padding: 11px 14px !important;
	background: rgb(255 255 255 / 0.08) !important;
	color: #ffad69 !important;
}

.dh66-cookies-page #cmplz-cookies-overview .name,
.dh66-cookies-page #cmplz-cookies-overview .retention,
.dh66-cookies-page #cmplz-cookies-overview .function {
	min-height: 54px;
	padding: 13px 14px !important;
	background: rgb(2 20 38 / 0.62) !important;
	color: rgb(247 250 252 / 0.82) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.dh66-cookies-page #cmplz-cookies-overview a {
	color: #ffad69 !important;
}

.dh66-cookie-audit-note {
	max-width: 760px;
	margin-top: 24px !important;
	padding: 4px 0 4px 20px;
	border-left: 3px solid #ff7300;
	color: rgb(247 250 252 / 0.74) !important;
	font-size: 14px !important;
}

.dh66-cookie-audit-note code {
	color: #ffad69;
}

/* Le bouton flottant installé par Complianz est inactif sur cette configuration.
 * La page Gestion des cookies, liée depuis chaque footer, devient l'accès fiable. */
button.cmplz-btn.cmplz-manage-consent.manage-consent-1 {
	display: none !important;
}

@media (max-width: 767px) {
	body:has(.dh66-legal-page) {
		background-attachment: scroll;
	}

	.dh66-legal-hero,
	.dh66-legal-content {
		width: min(100% - 32px, 920px);
	}

	.dh66-legal-hero {
		padding-block: 58px 44px;
	}

	.dh66-legal-title {
		font-size: clamp(40px, 13vw, 58px);
	}

	.dh66-legal-content {
		padding-block: 44px 76px;
	}

	.dh66-legal-content h2 {
		margin-top: 46px;
		padding-top: 32px;
	}

	.dh66-cookies-page .cmplz-document {
		overflow-x: auto;
	}

	.dh66-cookies-page #cmplz-manage-consent-container .cmplz-categories {
		grid-template-columns: 1fr;
	}

	.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-header > div {
		grid-template-columns: 1fr;
	}

	.dh66-cookies-page #cmplz-cookies-overview .cmplz-service-description,
	.dh66-cookies-page #cmplz-cookies-overview .cmplz-sharing-data {
		display: block !important;
		width: 100% !important;
		min-height: 0;
	}

	.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose {
		grid-template-columns: minmax(0, 1fr) !important;
		margin-inline: 12px !important;
	}

	.dh66-cookies-page #cmplz-cookies-overview .cookies-per-purpose > div {
		grid-column: 1 / -1 !important;
	}
}

@media (prefers-reduced-transparency: reduce) {
	body:has(.dh66-legal-page) {
		background-color: #00172f;
		background-image: none;
	}
}
