.driu-button-is-loading {
  background: #8b8b8b !important;
  background-image: none !important;
  color: #fff !important;
  cursor: wait !important;
  filter: none !important;
  pointer-events: none !important;
  transform: none !important;
}

.driu-button-is-loading:hover,
.driu-button-is-loading:focus {
  background: #8b8b8b !important;
  filter: none !important;
  transform: none !important;
}

.driu-button-loading-visual {
  position: relative;
  display: flex;
  width: 74px;
  height: 26px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.driu-button-loading-animation,
.driu-button-loading-animation > svg,
.driu-button-loading-animation > dotlottie-player {
  display: block;
  width: 74px !important;
  height: 26px !important;
}

.driu-button-loading-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.driu-button-loading-fallback span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  animation: driu-button-dot-bounce 1s ease-in-out infinite;
}

.driu-button-loading-fallback span:nth-child(2) { animation-delay: .12s; }
.driu-button-loading-fallback span:nth-child(3) { animation-delay: .24s; }
.driu-button-loading-fallback span:nth-child(4) { animation-delay: .36s; }
.driu-button-loading-visual.has-animation .driu-button-loading-fallback { display: none; }

@keyframes driu-button-dot-bounce {
  0%, 55%, 100% { transform: translateY(0); opacity: .65; }
  28% { transform: translateY(-6px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .driu-button-loading-fallback span { animation-duration: 1.8s; }
}
