/* BP Carte Villas 1.0 */
.bp-carte {
	width: 100%;
	background: #e9e5dc;
	position: relative;
	z-index: 0;
}
/* hauteur="plein" : étirer le widget Elementor sur toute la hauteur de sa colonne.
   Chaîne réelle : .elementor-widget-wrap > .elementor-widget > .elementor-widget-container
   > .elementor-shortcode > .bp-carte (le widget shortcode ajoute un conteneur). */
.elementor-widget-wrap:has(.bp-carte--plein) {
	align-content: stretch;
}
.elementor-widget:has(.bp-carte--plein) {
	height: 100%;
	margin-bottom: 0 !important;
}
.elementor-widget:has(.bp-carte--plein) > .elementor-widget-container,
.elementor-widget-container:has(.bp-carte--plein) > .elementor-shortcode {
	height: 100%;
}
.bp-carte--plein {
	height: 100%;
	min-height: 400px;
}
.bp-carte--erreur::after {
	content: "La carte n'a pas pu être chargée.";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #555;
}
.bp-carte__noscript {
	margin: 0;
	padding: 20px;
	list-style: none;
}
.bp-carte .leaflet-container {
	font: inherit;
}
.bp-carte .leaflet-marker-icon {
	filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .35));
}
.bp-carte__popup-wrap .leaflet-popup-content-wrapper {
	border-radius: 6px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
}
.bp-carte__popup-wrap .leaflet-popup-content {
	margin: 16px 18px 14px;
	line-height: 1.45;
}
.bp-carte__titre {
	display: block;
	font-size: 17px;
	margin-bottom: 6px;
	color: #1d1d1d;
}
.bp-carte__adresse {
	margin: 0 0 12px;
	color: #444;
	font-size: 14px;
}
.bp-carte__liens {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bp-carte__btn {
	display: inline-block;
	padding: 8px 14px;
	background: #d6de23;
	color: #1d1d1d !important;
	text-decoration: none !important;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 3px;
	text-align: center;
}
.bp-carte__btn:hover {
	background: #c5cd1a;
}
.bp-carte__lien {
	font-size: 13px;
	color: #1d1d1d !important;
	text-decoration: underline !important;
}
