html, body {
    height: 100%;
    margin: 0;
}

#map {
    height: 100vh; /* Full viewport height */
    width: 100%;
}

/* =============================== Floating Country Select =============================== */
.floating-select {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 260px;
    z-index: 10000;
    background: rgba(255, 255, 255, 0.95);
    padding: 12px 16px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

/* Hover effect for select */
.floating-select select {
    cursor: pointer;
}

/* =============================== Reset Button =============================== */
#resetSelect {
    z-index: 10000;
    transition: all 0.3s ease;
}

/* =============================== EasyButton Spacing =============================== */
.leaflet-control-easybutton {
    margin-bottom: 8px;
}

/* =============================== Modals =============================== */
.modal-body {
    max-height: 70vh;
    overflow-y: auto;
}

@media (max-width: 576px) {
    .modal-dialog {
        max-width: 95%; /* Mobile-friendly modal size */
    }

    .floating-select {
        width: 200px;
        padding: 10px 12px;
        top: 10%;  /* Adjust top position */
    }
}

/* =============================== Marker Popups =============================== */
.leaflet-popup-content {
    font-size: 14px;
}

/* =============================== Responsive Adjustments =============================== */
#forecastContainer .card {
    border: 1px solid #ddd;
    border-radius: 8px;
    width: 100px;
    text-align: center;
    padding: 5px;
    transition: transform 0.2s, box-shadow 0.2s;
}

#forecastContainer .card:hover {
    transform: translateY(-5px) scale(1.05); /* Slight scale on hover */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#forecastContainer i {
    display: block;
    margin: 0 auto 5px auto;
}


#pre-load {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#pre-load:before {
    content: "";
    position: fixed;
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
    left: calc(50% - 30px);
    border: 6px solid #f2f2f2;
    border-top: 6px solid #56829e ;
    border-radius: 50%;
    -webkit-animation: animate-preloader 1s linear infinite;
    animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
    0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    }
    100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    }
    }
    @keyframes animate-preloader {
    0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    }
    100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    }
}

.fadeOut {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 1s, opacity 1s linear;
}



   