.pc-map-shell {
	background: #e6efeb;
	border-radius: 24px;
	margin-block: 2rem;
	overflow: hidden;
}

.pc-map {
	height: clamp(380px, 55vh, 640px);
	width: 100%;
}

.pc-map-shell--large .pc-map {
	height: clamp(480px, 72vh, 820px);
}

.pc-map-shell .maplibregl-ctrl-group {
	border-radius: 10px;
}

.pc-map-shell__fallback {
	color: #102a2a;
	margin: 0;
	padding: 2rem;
}

@media (max-width: 767px) {
	.pc-map,
	.pc-map-shell--large .pc-map {
		height: min(62vh, 560px);
		min-height: 380px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pc-map-shell * {
		scroll-behavior: auto !important;
	}
}

.pc-map-legend { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; padding: 1rem 1.5rem; background: #fff; font-size: .85rem; color: #102a2a; }
.pc-map-legend span { display: inline-flex; gap: .5rem; align-items: center; }
.pc-map-legend i { display: inline-block; width: 12px; height: 12px; flex-shrink: 0; border-radius: 50%; }
.pc-map-legend__route { background: #61e6b3; border: 1px solid #102a2a; border-radius: 2px !important; height: 5px !important; width: 22px !important; }
.pc-map-legend__commune { background: #147caa; }
.pc-map-legend__anchor { background: #ad5b10; }
.pc-map-shell .maplibregl-popup-content { color: #102a2a; font: inherit; font-size: .9rem; padding: 1rem; max-width: 280px; }
