/* H Conseil – Boîte flottante « Toutes les dates » (toutes les pages) */
.hcf {
	position: fixed; right: 24px; top: calc(44px + var(--wp-admin--admin-bar--height, 0px)); z-index: 45;
	width: min(360px, calc(100vw - 32px)); padding: 22px 24px; border-radius: 32px; color: var(--hcw-encre);
	background: rgba(255,255,255,.88); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
	box-shadow: 0 24px 60px rgba(20,40,30,.18), inset 0 1px 0 rgba(255,255,255,.9);
	font-family: var(--hcw-body); line-height: 1.4; text-align: left;
	opacity: 0; transform: translateY(-8px);
	transition: opacity .4s, transform .4s, padding .35s, width .35s, border-radius .35s;
}
.hcf.is-pret { opacity: 1; transform: none; }
.hcf.is-flash { animation: hcw-flash 1s; }
.hcf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hcf-titres { min-width: 0; outline: none; }
.hcf-kicker { margin: 0 0 6px; font: 400 10px/1 var(--hcw-body); letter-spacing: .14em; text-transform: uppercase; color: var(--hcw-vert); }
.hcf .hcf-h { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; font: 300 30px/1 var(--hcw-display); letter-spacing: .03em; text-transform: uppercase; color: var(--hcw-encre); }
.hcf-ic { display: none; flex: none; width: 22px; height: 22px; color: var(--hcw-vert); }
.hcf-ic svg { width: 100%; height: 100%; }
.hcf-min {
	flex: none; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%;
	background: var(--hcw-vert-pale); color: var(--hcw-vert-profond); transition: background .2s; cursor: pointer;
}
.hcf-min:hover { background: var(--hcw-vert); color: #fff; }
.hcf-min span { position: relative; display: block; width: 12px; height: 2px; background: currentColor; border-radius: 2px; }
.hcf-min span::after { content: ""; position: absolute; inset: 0; background: currentColor; border-radius: 2px; transform: rotate(90deg) scaleX(0); transition: transform .3s; }
.hcf.is-reduit .hcf-min span::after { transform: rotate(90deg) scaleX(1); }
.hcf-corps { margin-top: 14px; }

/* Repliée : pastille, toujours au même endroit */
.hcf.is-reduit { width: auto; padding: 9px 9px 9px 18px; border-radius: 999px; }
.hcf.is-reduit .hcf-corps, .hcf.is-reduit .hcf-kicker { display: none; }
.hcf.is-reduit .hcf-titres { cursor: pointer; }
.hcf.is-reduit .hcf-h { font-size: 19px; white-space: nowrap; }
.hcf.is-reduit .hcf-ic { display: block; }

/* Appel : clignotement doux toutes les quelques secondes */
.hcf.is-appel { animation: hcf-appel 3.2s ease-in-out infinite; }
@keyframes hcf-appel {
	0%, 40%, 100% { box-shadow: 0 24px 60px rgba(20,40,30,.18), 0 0 0 0 rgba(64,165,52,0); transform: none; }
	8% { box-shadow: 0 24px 60px rgba(20,40,30,.18), 0 0 0 8px rgba(64,165,52,.35); transform: scale(1.04); }
	16% { box-shadow: 0 24px 60px rgba(20,40,30,.18), 0 0 0 0 rgba(64,165,52,0); transform: none; }
	24% { box-shadow: 0 24px 60px rgba(20,40,30,.18), 0 0 0 8px rgba(64,165,52,.35); transform: scale(1.04); }
}
.hcf.is-appel .hcf-min { background: var(--hcw-vert); color: #fff; }

/* Champ lieu */
.hcf-field {
	position: relative; display: block; margin: 0; padding: 9px 16px 8px 46px; border-radius: 22px; background: #fff;
	box-shadow: 0 0 0 1px rgba(20,40,30,.08), 0 4px 12px rgba(20,40,30,.05); transition: box-shadow .25s, transform .25s;
}
.hcf-field:hover { transform: translateY(-1px); box-shadow: 0 0 0 1px rgba(64,165,52,.35), 0 8px 18px rgba(20,40,30,.08); }
.hcf-field:focus-within { box-shadow: 0 0 0 2px var(--hcw-vert), 0 8px 18px rgba(20,40,30,.08); }
.hcf-field svg { position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: var(--hcw-vert); }
.hcf-field small { display: block; font: 400 10.5px/1 var(--hcw-body); letter-spacing: .16em; text-transform: uppercase; color: var(--hcw-gris); }
.hcf-field select {
	width: 100%; margin: 0; padding: 2px 18px 0 0; border: 0; outline: none; appearance: none; -webkit-appearance: none; cursor: pointer;
	background: transparent; color: var(--hcw-encre); font: 300 16px/1.4 var(--hcw-body); box-shadow: none; min-height: 0; height: auto;
	background-image: linear-gradient(45deg, transparent 50%, var(--hcw-vert) 50%), linear-gradient(135deg, var(--hcw-vert) 50%, transparent 50%);
	background-position: calc(100% - 7px) 60%, calc(100% - 2px) 60%; background-size: 5px 5px; background-repeat: no-repeat;
}
.hcf-results { margin-top: 14px; max-height: 0; overflow: auto; transition: max-height .5s; scrollbar-width: thin; }
.hcf-results.is-on { max-height: 300px; }
.hcf-results ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.hcf-results li {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 9px 9px 9px 18px; border-radius: 22px;
	background: rgba(20,40,30,.04); font: 300 14px/1.35 var(--hcw-body); transition: background .2s;
}
.hcf-results li:hover { background: rgba(64,165,52,.08); }
.hcf-results li b { font-weight: 600; }
.hcf-resa {
	flex: none; padding: 8px 16px; border-radius: 999px; background: var(--hcw-vert); color: #fff !important; font: 600 13px var(--hcw-body);
	text-decoration: none !important; white-space: nowrap; transition: background .2s, transform .2s;
}
.hcf-resa:hover { background: var(--hcw-vert-profond); transform: scale(1.04); }
.hcf-count { margin: 0 0 8px 4px; font: 300 13px var(--hcw-body); color: var(--hcw-gris); }
.hcf-tout { display: inline-block; margin-top: 12px; padding: 4px 2px; color: var(--hcw-vert-profond) !important; font: 600 14px var(--hcw-body); text-decoration: none !important; }
.hcf-tout:hover { color: var(--hcw-vert) !important; }

@media (max-width: 900px) {
	.hcf { top: auto; bottom: 16px; right: 16px; padding: 16px 18px 18px; border-radius: 26px; }
	.hcf.is-reduit { padding: 8px 8px 8px 16px; }
	.hcf-results.is-on { max-height: 42vh; }
}
/* Masquée dans l'éditeur Elementor pour ne pas gêner la mise en page. */
.elementor-editor-active .hcf { display: none; }
@media (prefers-reduced-motion: reduce) { .hcf.is-appel { animation: none; } }
