
.leaflet-container { z-index: 0; }
.favorite-badge {
    position: absolute; top: 0; right: 0; width: 0; height: 0;
    border-style: solid; border-width: 0 40px 40px 0;
    border-color: transparent #a03d3b transparent transparent;
    z-index: 1;
}
.favorite-badge i {
    position: absolute; top: 2px; right: -35px; color: white;
}
.marker-pin {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white; font-weight: 700; font-size: 11px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.3);
    border: 2px solid white;
    transition: transform 0.2s, box-shadow 0.2s;
    background-color: #d4af37;
}
.marker-pin.rental { background-color: #a03d3b; }
.marker-pin.highlighted { transform: scale(1.2); box-shadow: 0 5px 15px rgba(0,0,0,0.4); z-index: 1000 !important;}
.image-counter {
    position: absolute; bottom: 10px; right: 10px;
    background-color: rgba(26,29,38,0.7); color: white;
    padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; display: flex; align-items: center;
}
.filter-panel-overlay {
    background-color: rgba(0,0,0,0.5); position: fixed; inset: 0; z-index: 30; display: flex; justify-content: flex-end;
}
.filter-panel {
    background-color: white; width: 100%; max-width: 400px; height: 100%; overflow-y: auto; animation: slideIn 0.3s ease-out;
}
@keyframes slideIn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
.poi-marker {
    display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background-color: white; box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.poi-marker i { color: #d4af37; font-size: 16px; }
