/**
 * Direct Habitat 66
 * Couche 4 : raccords sobres avec Blocksy, Gutenberg et Forminator.
 *
 * Les composants définitifs utilisent les classes dh66. Cette couche améliore
 * l'existant sans modifier sa structure, ses URL ou ses champs de formulaire.
 */

body.dh66-design-system {
	--theme-font-family: var(--dh66-font-sans);
	--theme-text-color: var(--dh66-text);
	--theme-link-initial-color: var(--dh66-link);
	--theme-link-hover-color: var(--dh66-link-hover);
	--theme-button-background-initial-color: var(--dh66-accent);
	--theme-button-background-hover-color: var(--dh66-accent-hover);
	--theme-button-text-initial-color: var(--dh66-on-accent);
	--theme-border-radius: var(--dh66-radius-md);
}

body.dh66-design-system :is(.site-main, #main-container) {
	background: var(--dh66-bg);
}

/*
 * Les pages définitives possèdent déjà leur propre H1 dans le contenu.
 * Masquer le titre automatique de Blocksy évite un second H1 invisible et
 * supprime l'espace vide qu'il réservait sous l'en-tête du site.
 */
body.dh66-design-system.page .hero-section {
	display: none;
}

body.dh66-design-system :is(.wp-element-button, .wp-block-button__link) {
	min-height: var(--dh66-button-height);
	padding: var(--dh66-space-3) var(--dh66-button-padding);
	border-radius: var(--dh66-button-radius);
	background: var(--dh66-accent);
	color: var(--dh66-on-accent);
	font-size: var(--dh66-text-sm);
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition:
		background-color var(--dh66-duration-fast) ease,
		transform var(--dh66-duration-base) var(--dh66-ease-out);
}

body.dh66-design-system :is(.wp-element-button, .wp-block-button__link):hover {
	background: var(--dh66-accent-hover);
	color: var(--dh66-on-accent);
	transform: translateY(-2px);
}

body.dh66-design-system :is(.wp-element-button, .wp-block-button__link):active {
	transform: translateY(1px) scale(0.985);
}

body.dh66-design-system .wp-block-image img {
	border-radius: var(--dh66-radius-lg);
}

body.dh66-design-system .wp-block-quote {
	padding-left: var(--dh66-space-6);
	border-left: 4px solid var(--dh66-accent);
}

body.dh66-design-system .forminator-ui.forminator-custom-form {
	font-family: var(--dh66-font-sans) !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form .forminator-label {
	margin-bottom: var(--dh66-space-2) !important;
	color: var(--dh66-text-strong) !important;
	font-size: var(--dh66-text-sm) !important;
	font-weight: 800 !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form :is(
	.forminator-input,
	.forminator-textarea,
	.forminator-select2 + .forminator-select .selection .select2-selection--single
) {
	min-height: var(--dh66-input-height) !important;
	border: 1px solid var(--dh66-border-strong) !important;
	border-radius: var(--dh66-radius-md) !important;
	background: var(--dh66-surface-raised) !important;
	color: var(--dh66-text-strong) !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form :is(
	.forminator-input,
	.forminator-textarea
)::placeholder {
	color: var(--dh66-text-muted) !important;
	opacity: 1 !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form :is(
	.forminator-input,
	.forminator-textarea
):focus {
	border-color: var(--dh66-focus) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dh66-focus) 22%, transparent) !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form .forminator-button-submit {
	min-height: var(--dh66-button-height) !important;
	padding-inline: var(--dh66-button-padding) !important;
	border-radius: var(--dh66-button-radius) !important;
	background: var(--dh66-accent) !important;
	box-shadow: none !important;
	color: var(--dh66-on-accent) !important;
	font-weight: 800 !important;
}

body.dh66-design-system .forminator-ui.forminator-custom-form .forminator-button-submit:hover {
	background: var(--dh66-accent-hover) !important;
	box-shadow: var(--dh66-shadow-sm) !important;
}

body.dh66-design-system .pum-container {
	border-radius: var(--dh66-card-radius);
	box-shadow: var(--dh66-shadow-lg);
}

body.dh66-design-system .ct-footer {
	display: none;
}

body.dh66-design-system .dh66-site-footer {
	pointer-events: auto;
}

@media (max-width: 47.99rem) {
	body.dh66-design-system :is(.wp-element-button, .wp-block-button__link) {
		min-height: var(--dh66-touch);
	}
}
