/* Plugin Cartes et géolocalisation — site */
.eg-geomap { height: var(--geo-h, 420px); width: 100%; border-radius: var(--bs-border-radius-xl, 1rem); overflow: hidden; background: var(--bs-tertiary-bg); z-index: 0; }
.eg-geomap .leaflet-container, .eg-geomap.leaflet-container { font: inherit; }
.eg-geo-pin { background: none; border: 0; filter: drop-shadow(0 3px 4px rgba(0,0,0,.3)); }
.eg-geo-pop { display: flex; flex-direction: column; gap: .5rem; }
.eg-geo-pop img { width: 100%; height: 120px; object-fit: cover; border-radius: .5rem; }
.eg-geo-pop-body { display: flex; flex-direction: column; gap: .15rem; }
.eg-geo-pop-body strong { font-size: 1rem; }
.eg-geo-pop-body span, .eg-geo-pop-body small { color: var(--bs-secondary-color); }
.eg-geo-pop-links { display: flex; gap: 1rem; margin-top: .35rem; }
.eg-geo-pop-links a { font-weight: 600; color: var(--bs-primary) !important; text-decoration: none; }
.leaflet-popup-content { margin: .75rem; }
.eg-geo-info { height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; background: var(--bs-tertiary-bg); border-radius: var(--bs-border-radius-xl, 1rem); }
.eg-geo-info address { font-size: 1.05rem; line-height: 1.6; }
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background-color: rgba(var(--bs-primary-rgb), .25) !important; }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background-color: var(--bs-primary) !important; color: #fff; font-weight: 700; }

/* Pages de liste : carte au-dessus, en dessous ou à côté de la liste */
.eg-listing-map-top, .eg-listing-map-bottom { margin: 0 0 2rem; }
.eg-listing-map-bottom { margin: 2rem 0 0; }
@media (min-width: 992px) {
  .eg-listing-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
  .eg-listing-split .eg-listing-map { position: sticky; top: 6rem; }
  .eg-listing-split .eg-geomap { height: calc(100vh - 8rem); min-height: 420px; }
}
@media (max-width: 991.98px) { .eg-listing-split .eg-listing-map { margin-bottom: 1.5rem; order: -1; } .eg-listing-split { display: flex; flex-direction: column; } }
