/**
 * اسپینر مشترک فرم‌های Adsinoo — هماهنگ با تم (#142b5f)
 * استفاده: دکمه با کلاس is-loading + عنصر .adsc-btn-spinner
 */

@keyframes adsc-spin {
  to {
    transform: rotate(360deg);
  }
}

/* --------------------------------------------------------------------------
   عنصر اسپینر
   -------------------------------------------------------------------------- */

.adsc-btn-spinner {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.28);
  border-top-color: #fff;
  animation: adsc-spin 0.65s linear infinite;
  flex-shrink: 0;
  box-sizing: border-box;
}

.adsc-btn-spinner--sm {
  width: 18px;
  height: 18px;
  border-width: 2px;
}

.adsc-btn-spinner--on-light {
  border-color: rgba(20, 43, 95, 0.18);
  border-top-color: #142b5f;
}

/* --------------------------------------------------------------------------
   حالت loading روی دکمه‌های ثبت (پس‌زمینه تیره)
   -------------------------------------------------------------------------- */

.adsc-wp-submit-btn.is-loading,
.adsc-wp-next-btn.is-loading.adsc-btn-loading-primary {
  position: relative;
  cursor: wait !important;
  pointer-events: none;
  opacity: 0.92;
}

.adsc-wp-submit-btn.is-loading:disabled,
.adsc-wp-submit-btn:disabled.is-loading {
  opacity: 0.92;
}

.adsc-wp-submit-btn.is-loading .adsc-btn-label,
.adsc-wp-submit-btn.is-loading > :not(.adsc-btn-spinner) {
  visibility: hidden;
}

.adsc-wp-submit-btn.is-loading .adsc-btn-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -11px;
  margin-top: -11px;
}

.adsc-wp-submit-btn.is-loading .adsc-btn-spinner--sm {
  margin-left: -9px;
  margin-top: -9px;
}

/* دکمه با متن «در حال ثبت…» کنار اسپینر (اختیاری) */
.adsc-wp-submit-btn.is-loading.adsc-btn-loading-with-text .adsc-btn-label {
  visibility: visible;
  opacity: 0;
}

.adsc-wp-submit-btn.is-loading.adsc-btn-loading-with-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.adsc-wp-submit-btn.is-loading.adsc-btn-loading-with-text .adsc-btn-spinner {
  position: static;
  margin: 0;
}

.adsc-wp-submit-btn.is-loading.adsc-btn-loading-with-text::after {
  content: attr(data-loading-text);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: inherit;
  font-weight: 600;
  color: #fff;
}

/* --------------------------------------------------------------------------
   باکس loading تمام‌عرض (اختیاری — پیام زیر فرم)
   -------------------------------------------------------------------------- */

.adsc-form-loading-overlay {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: 16px;
  margin-top: 8px;
  border-radius: 10px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: #142b5f;
  font-size: 14px;
  font-weight: 500;
  box-sizing: border-box;
}

.adsc-form-loading-overlay.is-visible {
  display: flex;
}

.adsc-form-loading-overlay .adsc-btn-spinner {
  border-color: rgba(20, 43, 95, 0.15);
  border-top-color: #142b5f;
}

@media (prefers-reduced-motion: reduce) {
  .adsc-btn-spinner {
    animation-duration: 1.2s;
  }
}

/* --------------------------------------------------------------------------
   OTP — چیدمان دکمه‌های تأیید / ویرایش / ارسال مجدد
   -------------------------------------------------------------------------- */

.adsc-auth-actions--otp {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	max-width: 420px;
	margin: 18px auto 0;
}

.adsc-auth-actions--otp .adsc-auth-verify-btn {
	width: 100%;
	max-width: none;
	min-width: 0;
	flex: none;
	margin: 0;
}

.adsc-auth-actions-row {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 10px;
	width: 100%;
}

.adsc-auth-actions-row .adsc-auth-resend {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	margin: 0;
}

.adsc-auth-resend.is-disabled,
.adsc-auth-resend:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
}

@media (max-width: 380px) {
	.adsc-auth-actions-row {
		flex-direction: column;
	}

	.adsc-auth-actions-row .adsc-auth-resend {
		width: 100%;
	}
}
