/* Submit-button loading state — assets/js/button-loader.js.
   Class names match the admin panel's (.aq-btn-loading / .aq-btn-spinner) so
   the two behave alike; the look here follows the site: navy #003D60 on the
   sand #D3AB80 button, so the ring is drawn in the button's own text colour.

   Two-class selectors throughout: .elementor-kit-9 button (post-9.css) sets
   padding, uppercase and 2.5px letter-spacing on every bare <button>, and a
   single-class rule would tie with it. */

.aq-btn-loading {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: not-allowed;
  pointer-events: none;
}

.aq-btn-loading .aq-btn-spinner {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  /* The gap in the ring is what reads as motion; keep one edge transparent. */
  border-top-color: transparent;
  opacity: .9;
  animation: aq-btn-spin .7s linear infinite;
}

@keyframes aq-btn-spin { to { transform: rotate(360deg); } }

/* Honour a reduced-motion preference: pulse instead of spin. */
@media (prefers-reduced-motion: reduce) {
  .aq-btn-loading .aq-btn-spinner {
    animation: aq-btn-pulse 1.1s ease-in-out infinite;
    border-top-color: currentColor;
  }
  @keyframes aq-btn-pulse { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
}
