.map-page {
    /* No padding/margin — map goes full-bleed inside the content area */
    padding: 0;
    margin: 0;
}

#map {
    width: 100%;
    /* Explicit height — Leaflet needs a concrete pixel value at init time,
       not a flex-derived or percentage-based height */
    height: 100vh;
    background: var(--map-bg);
}

/* Popup styling to match site theme */
.leaflet-popup-content-wrapper {
    border-radius: 0.5rem;
    box-shadow: var(--popup-shadow);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.875rem;
}

.leaflet-popup-content strong {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.05rem;
    font-weight: 600;
}

/* Layer control styling */
.leaflet-control-layers {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.8125rem;
    border-radius: 0.5rem !important;
    box-shadow: var(--control-shadow) !important;
}

@media (max-width: 900px) {
    #map {
        height: calc(100vh - 4.6rem);
    }
}
