/* ==========================================================
MODULES DÉPLIABLES DU HEADER
Recherche + sous-menu
========================================================== */

.cs3-module-recherche,
.cs3-module-sous-menu {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	pointer-events: none;

	transform: translateY(-10px);

	transition:
		max-height 550ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 250ms ease,
		transform 450ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 550ms;
}


/* ==========================================================
ÉTAT OUVERT
========================================================== */

.cs3-module-recherche.is-open,
.cs3-module-sous-menu.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transform: translateY(0);

	transition:
		max-height 550ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 300ms ease 50ms,
		transform 450ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 0s;
}


/* Hauteur propre à chaque module */

.cs3-module-recherche.is-open {
	max-height: 180px;
}

.cs3-module-sous-menu.is-open {
	max-height: 420px;
}

#target-cs3-module-menu-mobile.cs3-module-sous-menu.is-open {
	height: calc(100dvh - 70px);
	max-height: 800px;
}
/* Évite les débordements pendant l’animation */

.cs3-module-recherche > .fl-row-content-wrap,
.cs3-module-sous-menu > .fl-row-content-wrap {
	overflow: hidden;
}


/* ==========================================================
ACCESSIBILITÉ
========================================================== */

@media (prefers-reduced-motion: reduce) {

	.cs3-module-recherche,
	.cs3-module-sous-menu {
		transition: none;
		transform: none;
	}
}

/* État actif de l’icône de recherche */

.fl-icon-group
a[href="#target-cs3-module-recherche"].is-active
.icon-search {
	color: var(--couleur-principale);
}

.fl-icon-group
a[href="#target-cs3-module-recherche"].is-active
.icon::before {
	color: var(--couleur-principale);
	content: "\e908" !important;

	font-family: "CS3" !important;
	speak: never;

	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	text-transform: none;

	color: currentColor !important;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.uabb-search-form.uabb-search-form-input.uabb-search-form-inline input[type=search], .uabb-search-form.uabb-search-form-input.uabb-search-form-stacked input[type=search] {
	font-size: 14px;
}

/* Accessibilité */

@media (prefers-reduced-motion: reduce) {
	.cs3-module-recherche {
		transition: none;
		transform: none;
	}
}