/* ==========================================================
   ZIFA form submission feedback
   Gives visitors immediate, visible feedback while forms send.
   ========================================================== */

.zifa-form-sending {
  display: none;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(3, 111, 60, 0.18);
  border-left: 4px solid #036f3c;
  border-radius: 10px;
  background: #f4fbf7;
  color: #173d2a;
  box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.4;
}

.zifa-form-sending.is-visible {
  display: flex;
}

.zifa-form-sending__spinner {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(3, 111, 60, 0.2);
  border-top-color: #036f3c;
  border-radius: 50%;
  animation: zifa-form-spin 0.72s linear infinite;
}

.zifa-form-sending__copy {
  min-width: 0;
}

.zifa-form-sending__copy strong {
  display: block;
  margin: 0 0 1px;
  color: #073d24;
  font-size: 0.94rem;
  font-weight: 700;
}

.zifa-form-sending__copy span {
  display: block;
  color: #52635a;
  font-size: 0.84rem;
  font-weight: 500;
}

.zifa-submit-loading,
.wpcf7-form.zifa-is-submitting .wpcf7-submit,
.dc-form.zifa-is-submitting [type="submit"] {
  cursor: wait !important;
  pointer-events: none !important;
  opacity: 0.86;
}

button.zifa-submit-loading {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
}

.zifa-button-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: zifa-form-spin 0.72s linear infinite;
}

/* We provide a clearer loading state, so hide CF7's tiny default spinner
   only after our JS has initialized successfully. */
.wpcf7-form.zifa-form-feedback-ready .wpcf7-spinner {
  display: none !important;
}

@keyframes zifa-form-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 575.98px) {
  .zifa-form-sending {
    align-items: flex-start;
    padding: 11px 12px;
  }

  .zifa-form-sending__spinner {
    margin-top: 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zifa-form-sending__spinner,
  .zifa-button-spinner {
    animation-duration: 1.4s;
  }
}
