/* Loader overlay styles: full screen, centered, modern, responsive */
.loader-overlay {
  position: fixed;
  z-index: 99999;
  inset: 0;
  background: linear-gradient(135deg, #f3aa3a 0%, #f3aa3a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: opacity 0.5s;
}
.loader-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}
.loader-spinner {
  width: 64px;
  height: 64px;
  border: 6px solid #fff;
  border-top: 6px solid #0d562e;
  border-bottom: 6px solid #0d562e;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 2rem;
  background: #fff;
  box-shadow: 0 4px 24px 0 rgba(13,86,46,0.10), 0 1.5px 8px 0 rgba(243,170,58,0.10);
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.loader-text {
  font-family: 'Poppins', 'Inter', sans-serif;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 0.5rem;
  text-shadow: 0 2px 8px rgba(13,86,46,0.10);
  animation: fadeInUp 1s;
  letter-spacing: 0.08em;
}
.loader-subtext {
  font-size: 1rem;
  color: #0d562e;
  font-weight: 600;
  text-align: center;
  animation: fadeInUp 1.2s;
  letter-spacing: 0.04em;
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
  .loader-text { font-size: 1.1rem; }
  .loader-spinner { width: 44px; height: 44px; border-width: 4px; }
}
