/**
 * Shared JD loading states (Pattern A — control / button).
 * Spinner is a real .jd-spinner node (iOS often won't animate button::after).
 */

.jd-is-loading {
	position: relative !important;
	pointer-events: none !important;
	opacity: 0.9;
	color: transparent !important;
}

/* Hide label/icon, keep spinner visible */
.jd-is-loading > *:not(.jd-spinner),
.jd-is-loading .elementor-button-content-wrapper,
.jd-is-loading .elementor-button-text,
.jd-is-loading .elementor-button-icon {
	visibility: hidden !important;
}

/* Kill legacy ::after spinner if any */
.jd-is-loading::after {
	content: none !important;
	display: none !important;
}

.jd-spinner {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 1.35em !important;
	height: 1.35em !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2.5px solid rgba(255, 255, 255, 0.35) !important;
	border-top-color: #fff !important;
	border-right-color: #fff !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	visibility: visible !important;
	pointer-events: none !important;
	box-sizing: border-box !important;
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	transform: translate(-50%, -50%) rotate(0deg);
	-webkit-animation: jd-spin 0.7s linear infinite !important;
	animation: jd-spin 0.7s linear infinite !important;
	-webkit-animation-play-state: running !important;
	animation-play-state: running !important;
}

/* Light / outlined buttons (search «جستجو») — gray track + navy arc */
.jd-is-loading--light .jd-spinner,
.elementor-63519 .e-search-submit .jd-spinner {
	border-color: #d1d5db !important;
	border-top-color: #02164f !important;
	border-right-color: #02164f !important;
}

@-webkit-keyframes jd-spin {
	from {
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@keyframes jd-spin {
	from {
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

/* Still show motion feedback when Reduce Motion is on (pulse, not spin) */
@media (prefers-reduced-motion: reduce) {
	.jd-spinner {
		-webkit-animation: jd-pulse 0.9s ease-in-out infinite !important;
		animation: jd-pulse 0.9s ease-in-out infinite !important;
	}
}

@-webkit-keyframes jd-pulse {
	0%,
	100% {
		opacity: 0.35;
		-webkit-transform: translate(-50%, -50%) scale(0.92);
		transform: translate(-50%, -50%) scale(0.92);
	}
	50% {
		opacity: 1;
		-webkit-transform: translate(-50%, -50%) scale(1);
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes jd-pulse {
	0%,
	100% {
		opacity: 0.35;
		transform: translate(-50%, -50%) scale(0.92);
	}
	50% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

/* Search popup #63519 — keep Digikala-style sheet from sideways scroll */
.elementor-63519,
.elementor-location-popup.elementor-63519,
.elementor-popup-modal .elementor-63519 {
	max-width: 100%;
	overflow-x: hidden;
}

.elementor-63519 .elementor-element-a5a3374,
.elementor-63519 .e-search,
.elementor-63519 .e-search-form {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.elementor-63519 .e-search-form {
	width: 100%;
	flex-wrap: nowrap;
}

.elementor-63519 .e-search-input-wrapper {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
}

.elementor-63519 .e-search-submit {
	flex: 0 0 auto;
}

.elementor-63519 .e-search-results-container {
	max-width: 100%;
	box-sizing: border-box;
}
