.loading-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(20, 20, 20, 0.35);
  z-index: 99999;
  align-items: center;
  justify-content: center;
}

.loading-overlay.show {
  display: flex;
}

.loading-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  border-radius: 12px;
  background: rgba(60, 60, 70, 0.92);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 0 18px rgba(0,0,0,0.35);
}

.loading-spinner {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  box-sizing: border-box;
  border: 4px solid #888 !important;
  border-top: 4px solid #fff !important;
  border-radius: 50% !important;
  animation: spinLoader 0.8s linear infinite !important;
}

.loading-text {
  font-family: "Abel", Arial, sans-serif;
  font-size: 18px;
  color: #f7f4e6;
  letter-spacing: 0.5px;
}

@keyframes spinLoader {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}