.loader-container {
  position: fixed;
  background: rgba(255, 255, 255, 0.60);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: none;
}

.loader {
    border-radius: 10px;
    padding: 3px;
    position: relative;
    margin: auto;
    width: 170px;
    height: 170px;
}

.ball {
  position: absolute;
  top: 20px; /* You can tweak this if needed */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1; /* Make sure it's above the wave */
}

.outer-circle {
  width: 50px;
  height: 50px;
  border: 8px solid var(--color-primary);
  border-radius: 50%;
}

.dot {
  margin-top: 10px;
  width: 14px;
  height: 14px;
  background: var(--color-primary);
  border-radius: 50%;
}

/* Wavy line */
.wave {
  position: absolute;
  bottom: 40px; /* Lower the wave */
  left: 0;
  width: 100%;
  height: 30px;
  --c: #0000 64%, var(--color-primary) 66% 98%, #0000 101%;
  background:
    radial-gradient(35% 146% at 50% 159%, var(--c)) 0 0,
    radial-gradient(35% 146% at 50% -59%, var(--c)) 25% 100%;
  background-size: calc(100% / 3) 50%;
  background-repeat: repeat-x;
  animation: waveMove 1.5s linear infinite;
  z-index: 0;
}

@keyframes waveMove {
  0% { background-position: 0 0, 25% 100%; }
  100% { background-position: 100% 0, 125% 100%; }
}