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

#map {
  height: 100vh;
  width: 100%;
  z-index: 1;
}


#selectContainer {
  position: absolute !important;
  z-index: 1050; 
 .modal.show ~ #selectContainer {
  display: none !important;
}

}


#demographicsModal .modal-header.at-a-glance-header {
  background-color: #198754 !important; 
  color: white !important;
  border-bottom: none !important;
}

#demographicsModal .modal-header.at-a-glance-header .modal-title {
  display: flex;
  align-items: center;
  font-weight: bold;
  color: white !important;
}

#demographicsModal .modal-header.at-a-glance-header .btn-close {
  filter: brightness(0) invert(1) !important; 
  opacity: 1 !important; 
}

#countrySelect {
  min-width: 250px;
  font-weight: 500;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid #ccc;
  background-color: #fff;
}
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-spinner {
  width: 3rem;
  height: 3rem;
}


.loading-spinner {
  padding: 1rem 0;
  text-align: center;
}


/* Weather Modal Container */
#forecastModal .modal-content {
  border-radius: 0.75rem;
}

#forecastModal .modal-header.weather-header {
  background-color: #007bff;
  color: #fff;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

#forecastModal .modal-footer.weather-footer {
  background-color: #f8f9fa;
  font-size: 0.875rem;
  color: #6c757d;
}

/* Weather Card Base Styles */
.weather-today,
.weather-day {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0.75rem;
}

/* Weather Condition Themes */
.weather-card {
  transition: all 0.3s ease;
}

.weather-card .fas.fa-sun {
  color: #f1c40f !important; 
}

.weather-card .fas.fa-cloud {
  color: #7f8c8d !important; 
}

.weather-card .fas.fa-cloud-sun {
  color: #f39c12 !important; 
}

.weather-card .fas.fa-cloud-showers-heavy {
  color: #3498db !important; 
}

.weather-card .fas.fa-snowflake {
  color: #a8d8ea !important; 
}

.weather-card .fas.fa-bolt {
  color: #ffd700 !important;
}

.weather-card .fas.fa-cloud-rain {
  color: #4682b4 !important; 
}

.weather-card .fas.fa-smog,
.weather-card .fas.fa-smoke,
.weather-card .fas.fa-dust {
  color: #778899 !important; 
}

.weather-card .fas.fa-wind {
  color: #b0c4de !important; 
}

.weather-card .fas.fa-tornado {
  color: #4b0082 !important; 
}

.weather-card .fas.fa-question {
  color: #696969 !important; 
}


/* Wikipedia Modal Custom Styles */
.wiki-header {
  background-color: #198754; 
  color: white;
}

.wiki-header .btn-close {
  filter: brightness(0) invert(1); 
}

.wiki-footer {
  background-color: #f8f9fa; 
  font-size: 0.875rem;
  color: #6c757d;
}

/* News Modal Custom Styles */
.news-header {
  background-color: #dc3545; 
  color: white;
}

.news-header .btn-close {
  filter: brightness(0) invert(1); 
}

.news-loading {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.news-footer {
  background-color: #f8f9fa;
  font-size: 0.875rem;
  color: #6c757d;
}

/* Currency Modal Styles */
.currency-clean-modal {
  border-radius: 0.75rem;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.currency-label {
  font-size: 0.9rem;
  color: #6c757d;
}

.currency-input {
  border-radius: 0.75rem;
  font-size: 1rem;
  padding: 0.75rem;
  border: 1px solid #dee2e6;
}

.currency-result {
  background-color: #e9ecef;
  font-weight: bold;
  font-size: 1.1rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
}


.easy-button-button .fa {
  font-size: 1.5rem; 
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
