html, body { 
    height: 100%; 
    margin: 0; 
}

#map { 
    width: 100%; 
    height: 100%; 
}

#controls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1000; /* Ensure it's on top of the map */
    background: white;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    font-family: Arial, sans-serif;
}

#controls input {
    padding: 5px;
    margin-right: 5px;
}

#controls button {
    padding: 5px 10px;
    cursor: pointer;
}

#loading-indicator {
    display: none; /* Hidden by default */
    font-weight: bold;
    color: #333;
    margin-top: 5px;
}

.legend {
    line-height: 18px;
    color: #333;
    background: rgba(255, 255, 255, 0.8);
    padding: 6px 8px;
    border-radius: 5px;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
}

.legend i {
    width: 18px;
    height: 18px;
    float: left;
    margin-right: 8px;
    opacity: 0.9;
}

.legend-title {
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
}

.leaflet-control-layers {
    background: rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    border-radius: 5px;
}

.fire-cluster-marker {
    fill-color: #b30000;  /* A darker, more "serious" red */
    color: #fff;         /* White border */
    stroke-width: 1.5;
    fill-opacity: 0.7;
}

.fire-cluster-marker:hover {
    fill-opacity: 0.9;
}

/* --- Style for High-Risk Fire Cluster Alerts --- */
.fire-cluster-alert {
    animation: pulse-animation 2.5s infinite;
    stroke: true;
    stroke-width: 2.5;
    stroke-opacity: 1;
    color: #FFFF00; /* Bright yellow */
}

@keyframes pulse-animation {
    0% {
        fill-opacity: 0.9;
        stroke-opacity: 1;
    }
    50% {
        fill-opacity: 0.4; /* "Breathe" the fill */
        stroke-opacity: 0.6; /* "Breathe" the stroke */
    }
    100% {
        fill-opacity: 0.9;
        stroke-opacity: 1;
    }
}