.loading-spinner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: white; /* Match FullPageLoader background */
  opacity: 1;
  transition: opacity 0.2s ease-out;
}

.loading-spinner .loader-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.loading-spinner .logo-figure {
  position: relative;
  height: 200px;
  width: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.loading-spinner .logo-figure img {
  max-height: 100px;
  z-index: 2;
  position: relative;
}

/* Animated dotted border - matching FullPageLoader exactly */
.loading-spinner .logo-figure::before {
  position: absolute;
  content: '';
  background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='100' ry='100' stroke='black' stroke-width='3' stroke-dasharray='3%2c 10' stroke-dashoffset='0' stroke-linecap='butt'/%3e%3c/svg%3e");
  border-radius: 100px;
  height: 180px;
  width: 180px;
  top: calc(50% - 90px);
  left: calc(50% - 90px);
  animation: spin 7s linear infinite; /* Slower, elegant spin like FullPageLoader */
}

.loading-spinner .loading-text {
  margin-top: 24px;
  text-align: center;
}

.loading-spinner .loading-text p {
  margin: 0;
  font-family: sans-serif;
  font-size: 16px;
  color: #6b7280;
  font-weight: 400;
}

@keyframes spin {
  100% {
    transform: rotateZ(360deg);
  }
}

.loading-spinner.fade-out {
  opacity: 0;
  pointer-events: none;
}

.loading-spinner.hidden {
  display: none;
}
