.login-check-wrapper {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.login-check-card {
	position: relative;
	overflow: hidden;
}

.login-check-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(
			90deg,
			rgba(var(--bs-primary-rgb), 0.15),
			var(--bs-primary),
			rgba(var(--bs-primary-rgb), 0.15)
	);
	background-size: 200% 100%;
}

/* Animation uniquement pendant le chargement */
.login-check-card.is-loading::before {
	animation: login-check-progress 1.6s ease-in-out infinite;
}

/* En erreur : plus d’animation */
.login-check-card.is-failed::before {
	animation: none;
	background: var(--bs-danger, #dc3545);
}
.login-check-logo {
	max-width: 260px;
	width: 100%;
	height: auto;
	margin-bottom: 1.5rem;
}

.login-check-loader {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: 5px solid rgba(var(--bs-primary-rgb), 0.15);
	border-top-color: var(--bs-primary);
	animation: login-check-spin 0.9s linear infinite;
	margin: 0 auto 1.5rem auto;
}

.login-check-dots {
	display: inline-flex;
	gap: 5px;
	margin-left: 4px;
	vertical-align: middle;
}

.login-check-dots span {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: var(--bs-primary);
	opacity: 0.35;
	animation: login-check-dot 1.2s ease-in-out infinite;
}

.login-check-dots span:nth-child(2) {
	animation-delay: 0.15s;
}

.login-check-dots span:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes login-check-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes login-check-dot {
	0%, 80%, 100% {
		opacity: 0.35;
		transform: translateY(0);
	}

	40% {
		opacity: 1;
		transform: translateY(-4px);
	}
}

@keyframes login-check-progress {
	0% {
		background-position: 200% 0;
	}

	100% {
		background-position: -200% 0;
	}
}

.login-check-card {
	border: 1px solid rgba(var(--bs-primary-rgb), 0.12) !important;
	box-shadow: 0 12px 35px rgba(var(--bs-primary-rgb), 0.14) !important;
}

.login-check-card.is-failed {
	border: 1px solid rgba(var(--bs-primary-rgb), 0.20) !important;
	box-shadow:
			0 16px 45px rgba(var(--bs-primary-rgb), 0.18),
			0 4px 12px rgba(0, 0, 0, 0.06) !important;
}

.login-check-card.is-failed::before {
	animation: none;
	background: #dc3545;
}