.cvm-cv-upload-loading {
	display: none;
}

.cvm-cv-upload-loading.is-active {
	display: block;
	animation: cvm-cv-upload-loader-fade-in 0.25s ease;
}

.cvm-cv-upload-loader-card {
	text-align: center;
	padding: 2.5rem 2rem;
	background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
	border: 1px solid #d8e6f8;
	border-radius: 16px;
	box-shadow: 0 10px 32px rgba(0, 86, 179, 0.08);
}

.cvm-cv-upload-loader-spinner {
	width: 56px;
	height: 56px;
	margin: 0 auto 1.25rem;
	border: 4px solid #e8f0fb;
	border-top-color: #0056b3;
	border-radius: 50%;
	animation: cvm-cv-upload-loader-spin 0.9s linear infinite;
}

.cvm-cv-upload-loader-title {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.35;
}

.cvm-cv-upload-loader-status {
	margin: 0 0 1.25rem;
	min-height: 1.5em;
	font-size: 0.95rem;
	color: #0056b3;
	font-weight: 600;
	transition: opacity 0.25s ease;
}

.cvm-cv-upload-loader-status.is-changing {
	opacity: 0.35;
}

.cvm-cv-upload-loader-progress {
	height: 6px;
	margin: 0 auto 1rem;
	max-width: 280px;
	background: #e8f0fb;
	border-radius: 999px;
	overflow: hidden;
}

.cvm-cv-upload-loader-progress-bar {
	width: 35%;
	height: 100%;
	background: linear-gradient(90deg, #0056b3, #3b8fe8);
	border-radius: 999px;
	animation: cvm-cv-upload-loader-progress 1.8s ease-in-out infinite;
}

.cvm-cv-upload-loader-hint {
	margin: 0;
	font-size: 0.875rem;
	color: #667085;
	line-height: 1.5;
}

.cv-upload-popup.is-uploading .popup-close,
.cv-upload-popup.is-uploading .popup-close.popup_close {
	opacity: 0.45;
	pointer-events: none;
}

.cv-upload-popup .cvm-cv-upload-loading.is-active {
	margin-bottom: 1rem;
}

@keyframes cvm-cv-upload-loader-fade-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes cvm-cv-upload-loader-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes cvm-cv-upload-loader-progress {
	0% {
		transform: translateX(-120%);
	}
	100% {
		transform: translateX(320%);
	}
}
