@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap");

body.page_login,
body.page_spip_pass,
body.page_identifiants {
	margin: 0;
	min-height: 100vh;
	font-family: "Source Sans 3", system-ui, sans-serif;
	color: #1e293b;
	background:
		radial-gradient(ellipse 60% 50% at 10% 10%, #c4b5fd88 0%, transparent 50%),
		radial-gradient(ellipse 50% 40% at 90% 80%, #67e8f988 0%, transparent 50%),
		linear-gradient(135deg, #4f46e5 0%, #0891b2 55%, #0d9488 100%) !important;
	background-attachment: fixed;
}

.page_login .contenu_login h1,
.page_login h3.spip {
	display: block !important;
	position: relative;
	z-index: 2;
	text-align: center;
	font-family: "Nunito", system-ui, sans-serif;
	font-weight: 800;
	color: #fff;
	text-shadow: none;
	opacity: 1;
}

.page_login h3.spip {
	font-size: 0.95rem;
	font-weight: 600;
	opacity: 0.9;
	margin-top: -0.5rem;
}

.page_login .formulaire_login,
.page_login .formulaire_spip.pass {
	width: 100%;
	max-width: 26rem;
	background: rgba(255, 255, 255, 0.96);
	border-radius: 1.5rem;
	padding: 2rem 1.5rem 1.5rem;
	box-shadow: 0 24px 50px -20px rgba(15, 23, 42, 0.45);
	border: 1px solid rgba(255, 255, 255, 0.5);
	position: absolute;
	left: 50%;
	top: 52%;
	transform: translate(-50%, -50%);
	margin: 0;
}

.page_login .formulaire_spip fieldset {
	background: transparent;
	padding: 0;
	color: #1e293b;
}

.page_login label {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: #475569;
	text-shadow: none;
	margin-bottom: 0.25rem;
}

.page_login input.text,
.page_login input.password {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #c7d2fe !important;
	background: #f8fafc !important;
	border-radius: 0.75rem !important;
	padding: 0.65rem 1rem;
	color: #1e293b;
	height: auto;
}

.page_login input.text:focus,
.page_login input.password:focus {
	outline: none;
	background: #fff !important;
	border-color: #818cf8 !important;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18);
}

.page_login .boutons {
	text-align: stretch;
	margin-top: 1.25rem;
}

.page_login .boutons input.submit {
	width: 100%;
	border: none;
	border-radius: 999px !important;
	padding: 0.75rem 1rem;
	font-weight: 800;
	font-family: "Nunito", system-ui, sans-serif;
	font-size: 1rem;
	color: #fff !important;
	cursor: pointer;
	background: linear-gradient(135deg, #7c3aed, #4f46e5, #0891b2) !important;
	box-shadow: 0 12px 24px -12px rgba(79, 70, 229, 0.7);
}

.page_login .boutons input.submit:hover,
.page_login .boutons input.submit:focus {
	filter: brightness(1.05);
	background: linear-gradient(135deg, #7c3aed, #4f46e5, #0891b2) !important;
	color: #fff !important;
}

.page_login #spip_logo_auteur {
	background: linear-gradient(135deg, #7c3aed, #0891b2);
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.18);
}

.page_login p.retour {
	background: rgba(255, 255, 255, 0.22);
	border-radius: 999px;
}

.page_login p.retour a {
	color: #fff;
	font-weight: 600;
}

.page_login p.retour a:before {
	content: "← ";
}

.page_login .reponse_formulaire_erreur,
.page_login .erreur_message {
	background: #fffbeb;
	border: 1px solid #fde68a;
	color: #92400e;
	border-radius: 0.75rem;
	font-weight: 600;
}

.page_login #var_lang_ecrire,
.page_login .formulaire_menu_lang {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	color: #fff;
}

.page_login p.generator a {
	color: #fff;
	opacity: 0.85;
}
