/* H Conseil – Widget Menu : barre fine, onglet et volet courbe */
.hcm-barre {
	position: fixed; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); z-index: 60;
	height: 8px; background: var(--hcw-vert);
}
.hcm-onglet {
	position: absolute; left: 50%; top: calc(100% - 1px); width: 190px; height: 36px; padding: 0; border: 0; background: none !important;
	color: #fff; transform: translateX(-50%); filter: drop-shadow(0 4px 6px rgba(20,50,20,.18));
	transition: height .35s cubic-bezier(.3,1.4,.5,1); box-shadow: none; border-radius: 0;
}
.hcm-onglet svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hcm-onglet span {
	position: relative; display: block; margin-top: -2px; padding-left: .34em; color: #fff;
	font: 300 13px/1 var(--hcw-body); letter-spacing: .34em; text-transform: lowercase; transition: transform .35s;
}
.hcm-onglet:hover, .hcm-onglet[aria-expanded="true"] { height: 42px; }
.hcm-onglet:hover span, .hcm-onglet[aria-expanded="true"] span { transform: translateY(2px); }
.hcm-logo { position: absolute; left: clamp(16px, 3.4vw, 66px); top: 18px; line-height: 0; }
.hcm-logo img { width: 92px; height: auto; }

.hcm-voile { position: fixed; inset: 0; z-index: 50; background: rgba(27,42,30,.12); opacity: 0; pointer-events: none; transition: opacity .3s; }
.hcm.is-open .hcm-voile { opacity: 1; pointer-events: auto; }
.hcm-volet {
	position: fixed; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); z-index: 55; max-height: 100vh; overflow: auto;
	padding: 84px clamp(16px, 4vw, 40px) 70px; background: rgba(255,255,255,.9);
	backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
	border-radius: 0 0 50% 50% / 0 0 90px 90px; box-shadow: 0 18px 40px rgba(20,40,30,.07);
	transform: translateY(-110%); transition: transform .6s cubic-bezier(.2,.8,.2,1); visibility: hidden;
}
.hcm.is-open .hcm-volet { transform: none; visibility: visible; }
.hcm-cols { display: grid; grid-template-columns: var(--hcm-grille, 1fr 1fr 3fr); gap: 44px; max-width: 1180px; margin: 0 auto 20px; }
.hcm-h, .hcm-h a { margin: 0 0 14px; padding: 0; font: 300 24px/1.1 var(--hcw-display) !important; color: var(--hcw-vert) !important; letter-spacing: .02em; text-decoration: none !important; text-transform: none; }
.hcm-col ul { list-style: none; margin: 0; padding: 0; columns: var(--hcm-n, 1); column-gap: 26px; }
.hcm-col li { margin: 0; padding: 0; break-inside: avoid; }
.hcm-col li a {
	position: relative; display: block; padding: 6px 0; color: var(--hcw-encre) !important; text-decoration: none !important;
	font: 300 15.5px/1.35 var(--hcw-body); transition: color .25s, padding .3s;
}
.hcm-col ul[style*="--hcm-n: 2"] li a, .hcm-col ul[style*="--hcm-n: 3"] li a { font-size: 14px; padding: 5px 0; }
.hcm-col li a::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%;
	background: var(--hcw-vert); transform: scale(0); transition: transform .3s;
}
.hcm-col li a:hover, .hcm-col li a:focus-visible { color: var(--hcw-vert-profond) !important; padding-left: 16px; }
.hcm-col li a:hover::before, .hcm-col li a:focus-visible::before { transform: scale(1); }
.hcm-pied { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 28px; padding-top: 10px; font: 300 13.5px var(--hcw-body); color: var(--hcw-gris); }
.hcm-pied b { font-weight: 600; color: var(--hcw-vert-profond); }
.hcm-pied a { color: var(--hcw-gris) !important; text-decoration: none !important; }
.hcm-pied a:hover { color: var(--hcw-vert-profond) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.hcm-vide { text-align: center; color: var(--hcw-gris); margin: 0 0 20px; }

@media (max-width: 1024px) {
	.hcm-cols { grid-template-columns: 1fr 1fr; }
	.hcm-col:last-child { grid-column: 1 / -1; }
	.hcm-col ul { columns: min(var(--hcm-n, 1), 2); }
}
@media (max-width: 640px) {
	.hcm-cols { grid-template-columns: 1fr; gap: 26px; }
	.hcm-col ul { columns: 1; }
	.hcm-volet { padding-top: 64px; border-radius: 0 0 50% 50% / 0 0 40px 40px; }
	.hcm-onglet { width: 160px; }
	.hcm-logo img { width: 70px; }
}
/* Éditeur Elementor : zone cliquable seulement quand on modifie le modèle d'en-tête lui-même. */
.elementor-edit-area-active .hcm { min-height: 50px; }

/* Le menu est « flottant » (position fixe) : son emplacement dans l'en-tête ne doit pas créer d'espace blanc.
   On annule la marge du widget et la marge interne / hauteur mini du conteneur qui le contient. */
.elementor-widget-hc_menu { margin: 0 !important; }
.elementor-widget-hc_menu > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.e-con:has(> .elementor-widget-hc_menu),
.e-con:has(> .e-con-inner > .elementor-widget-hc_menu),
.elementor-section:has(.elementor-widget-hc_menu),
/* Blocs « Flexbox / Div » d'Elementor v4, quelle que soit l'imbrication. */
.elementor-location-header :is(.e-con, .e-flexbox-base, .e-div-block-base, [data-element_type="e-flexbox"], [data-element_type="e-div-block"], .elementor-element):has(.elementor-widget-hc_menu),
[data-elementor-type="header"] :is(.e-con, .e-flexbox-base, .e-div-block-base, [data-element_type="e-flexbox"], [data-element_type="e-div-block"]):has(.elementor-widget-hc_menu) {
	padding: 0 !important; margin: 0 !important; min-height: 0 !important; border: 0 !important;
	--padding-top: 0px; --padding-bottom: 0px; --min-height: 0px; --gap: 0px; --row-gap: 0px;
}
.elementor-location-header:has(.elementor-widget-hc_menu),
[data-elementor-type="header"]:has(.elementor-widget-hc_menu),
.ehf-header #masthead:has(.elementor-widget-hc_menu) { min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
