
        html, body {
            height: 100%;
            margin: 0;
            overflow: hidden;
        }

        #map {
            position: fixed;
            inset: 0;
            z-index: 1;
            /* left: 380px; */
        }

        @media (min-width: 992px) {
            #legendOffcanvas {
                transform: none !important;
                visibility: visible !important;
                position: fixed;
                top: 0;
                left: 0;
                width: 380px;
                height: 100%;
                border-right: 1px solid #ddd;
                z-index: 1000;
            }
        }

        /* Leaflet */
        .leaflet-div-icon {
            background: none;
            border: none;
        }

        /* =========================
           POI animado (base)
        ========================= */
        .property {
            align-items: center;
            background: #7b1fa2;
            border-radius: 50%;
            color: white;
            display: flex;
            height: 32px;
            width: 32px;
            justify-content: center;
            position: relative;
            transition: all .3s ease;
        }

            .property::after {
                content: '';
                position: absolute;
                top: 100%;
                left: 50%;
                transform: translateX(-50%);
                border-left: 8px solid transparent;
                border-right: 8px solid transparent;
                border-top: 8px solid #7b1fa2;
            }

            .property.highlight {
                background: white;
                color: #333;
                border-radius: 8px;
                padding: 8px 12px;
                width: auto;
                min-width: 200px;
                box-shadow: 0 10px 25px rgba(0,0,0,.25);
            }

                .property.highlight::after {
                    border-top-color: white;
                }

            .property .details {
                display: none;
                margin-left: 10px;
            }

            .property.highlight .details {
                display: block;
            }

        /* =========================
           Botão da legenda
        ========================= */
        .legend-toggle {
            position: absolute;
            bottom: 20px;
            right: 20px;
            z-index: 1050;
        }

        /* Mobile: legenda tipo Google Maps */
        @media (max-width: 768px) {
            .offcanvas-bottom {
                height: 70vh;
            }
        }


.property {
    --poi-color: #7b1fa2;
    background-color: var(--poi-color);
}

.property::after {
    border-top-color: var(--poi-color);
}

.property.highlight {
    background-color: #fff;
}

.property.highlight .icon {
    color: var(--poi-color);
}

/* Premium (opcional, discreto) */
.property.premium {
    box-shadow: 0 0 0 3px rgba(255,215,0,0.8);
}


