/* EB Carte des chantiers — front */
.ebc-wrap {
	--ebc-encours: #E8862A;
	--ebc-termine: #1F4E79;
	--ebc-height: 520px;
	--ebc-radius: 12px;
	position: relative;
	font: inherit;
}
.ebc-map {
	height: var(--ebc-height);
	width: 100%;
	border-radius: var(--ebc-radius);
	overflow: hidden;
	z-index: 0;
	background: #eef1f4;
}
.ebc-error { padding: 1rem; background: #fff4e5; border-radius: 8px; }

/* Filtres */
.ebc-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.ebc-filter {
	display: inline-flex; align-items: center; gap: .45rem;
	padding: .5rem .9rem; border-radius: 999px;
	border: 1px solid #d5dae0; background: #fff; color: #1d2733;
	font: inherit; font-size: .9rem; line-height: 1.2; cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.ebc-filter:hover { border-color: #9aa5b1; }
.ebc-filter:focus-visible { outline: 2px solid var(--ebc-termine); outline-offset: 2px; }
.ebc-filter.is-active { background: #1d2733; border-color: #1d2733; color: #fff; }
.ebc-count { font-size: .8em; opacity: .7; }
.ebc-dot { width: .7rem; height: .7rem; border-radius: 50%; display: inline-block; }
.ebc-dot--en_cours { background: var(--ebc-encours); }
.ebc-dot--termine  { background: var(--ebc-termine); }

/* Repères */
.ebc-pin-wrap { background: none; border: 0; }
.ebc-pin {
	display: block; width: 26px; height: 26px;
	border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
	border: 3px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,.35);
	box-sizing: border-box;
}
.ebc-pin--en_cours { background: var(--ebc-encours); }
.ebc-pin--termine  { background: var(--ebc-termine); }

/* Groupes */
.ebc-cluster {
	background: var(--ebc-termine); color: #fff; border-radius: 50%;
	display: flex !important; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px;
	border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.ebc-cluster--mixte { box-shadow: 0 0 0 3px var(--ebc-encours), 0 2px 8px rgba(0,0,0,.3); }

/* Info-bulle */
.ebc-wrap .leaflet-popup-content-wrapper { border-radius: 10px; padding: 0; overflow: hidden; }
.ebc-wrap .leaflet-popup-content { margin: 0; width: 240px !important; }
.ebc-pop__img img { display: block; width: 100%; height: 130px; object-fit: cover; }
.ebc-pop__body { padding: .75rem .9rem .9rem; display: flex; flex-direction: column; gap: .3rem; }
.ebc-pop__title { font-size: .95rem; line-height: 1.3; color: #1d2733; }
.ebc-pop__lieu { font-size: .82rem; color: #5b6673; }
.ebc-wrap .ebc-pop__link { font-size: .85rem; font-weight: 600; color: var(--ebc-termine); text-decoration: none; margin-top: .2rem; }
.ebc-wrap .ebc-pop__link:hover { text-decoration: underline; }
.ebc-badge {
	align-self: flex-start; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
	padding: .15rem .5rem; border-radius: 999px; color: #fff;
}
.ebc-badge--en_cours { background: var(--ebc-encours); }
.ebc-badge--termine  { background: var(--ebc-termine); }

@media (max-width: 600px) {
	.ebc-map { height: min(var(--ebc-height), 70vh); }
	.ebc-filter { font-size: .82rem; padding: .4rem .7rem; }
}
