.custom-csv-marker { background: transparent; border: none; }
.csv-marker-pin {
    width: 18px; height: 25px;
    background: #d32323;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
    border: 2px solid white;
}
.csv-marker-pin span {
    width: 8px; height: 8px; background: white; border-radius: 50%;
    transform: rotate(45deg);
}
.csv-map-popup { font-size: 0.9rem; line-height: 1.4; min-width: 180px; }
.csv-popup-title { font-weight: 600; margin-bottom: 4px; color: #1e2b3c; }
.csv-popup-address { font-weight: 500; }
.leaflet-popup-content { margin: 12px 16px; }
.column_inr_map .leaflet-bottom.leaflet-right {
    display: none;
}

/* Map Loader Spinner Overlay */
.leaflet-map-wrapper {
    position: relative;
    width: 100%;
}
.leaflet-map-loader {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(255, 255, 255, 0.65);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}
.leaflet-map-loader.hidden {
    opacity: 0;
    pointer-events: none;
}
.leaflet-map-spinner {
    width: 38px;
    height: 38px;
    border: 3px solid rgba(211, 35, 35, 0.2);
    border-top: 3px solid #d32323;
    border-radius: 50%;
    animation: csv-map-spin 0.7s linear infinite;
    margin-bottom: 8px;
}
.leaflet-map-loader-text {
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #4a5568;
}
@keyframes csv-map-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.column_inr_map .leaflet-map-loader {
    background: rgba(255, 255, 255, 1);
}