@CHARSET "UTF-8";

/* =====================================================
   Page connexion — photo fond plein + carte flottante
   ===================================================== */

/* Masquer header, footer, contenu parasite */
.login-hidden,
#page.login-page > #header,
.login-hidden-footer {
	display: none !important;
}

/* Reset global pour cette page */
html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
	background: #0d1b4b;
}

#page.login-page {
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	background: none;
}

/* =====================================================
   Fond photo plein écran
   ===================================================== */
#login-split {
	position: relative;
	display: block;
	min-height: 100vh;
	width: 100%;
	background: url('bg-connexion.jpeg') center 30% / cover no-repeat;
}

/* Dégradé pour lisibilité de la carte */
#login-split::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(10, 25, 50, 0.78) 0%,
		rgba(10, 25, 50, 0.45) 50%,
		rgba(10, 25, 50, 0.08) 100%
	);
	z-index: 0;
}

/* Panneau droit masqué (remplacé par le fond) */
#login-right {
	display: none;
}

/* =====================================================
   Carte de connexion flottante
   ===================================================== */
#login-left {
	position: absolute;
	left: 64px;
	top: 50%;
	transform: translateY(-50%);
	width: 340px;
	background: rgba(255, 255, 255, 0.97);
	border-radius: 16px;
	padding: 40px 36px 32px;
	box-sizing: border-box;
	z-index: 1;
	overflow: clip; /* clip = pas de scroll JS possible (vs hidden qui le permet) */
}

#login-card {
	width: 100%;
}

/* =====================================================
   En-tête de carte
   ===================================================== */

/* Logo carré bleu */
#login-left::before {
	content: 'PP';
	display: block;
	width: 38px;
	height: 38px;
	background: #007FFF;
	border-radius: 10px;
	color: #ffffff;
	font-family: helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: bold;
	line-height: 38px;
	text-align: center;
	letter-spacing: -0.5px;
	margin-bottom: 22px;
}

h1.login-title {
	font-family: helvetica, Arial, sans-serif;
	font-size: 22pt;
	font-weight: bold;
	color: #0d1b4b;
	margin: 0 0 6px;
	padding: 0;
	border-bottom: none !important;
	line-height: 1.2;
}

.login-subtitle {
	font-family: helvetica, Arial, sans-serif;
	font-size: 10pt;
	color: #8b8ea8;
	margin: 0 0 28px;
	padding: 0;
	line-height: 1.4;
}

/* Info complémentaire */
.login-info:empty {
	display: none;
}
.login-info {
	display: block;
	font-size: 9pt;
	color: #8b8ea8;
	margin-bottom: 16px;
}

/* =====================================================
   Formulaire — overrides CSS global
   ===================================================== */

/* #formulaire global : width:670px float:left margin:30px → reset complet */
#login-left #formulaire {
	width: auto !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: static !important;
	box-sizing: border-box !important;
}

#self_ident {
	margin: 0;
	padding: 0;
}

.login-field-group {
	margin-bottom: 16px;
}

.login-field-group label {
	display: block;
	font-family: helvetica, Arial, sans-serif;
	font-size: 8pt;
	font-weight: bold;
	color: #8b8ea8;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 6px;
}

/* Override global : width:244px, box-shadow orange, border */
#login-left .login-field-group input[type="text"],
#login-left .login-field-group input[type="password"] {
	display: block !important;
	width: 100% !important;
	padding: 10px 14px !important;
	height: auto !important;
	font-size: 10pt !important;
	color: #1a1a2e !important;
	background: #ffffff !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	outline: none !important;
	float: none !important;
	margin: 0 !important;
	transition: border-color 0.2s;
}

#login-left .login-field-group input[type="text"]:focus,
#login-left .login-field-group input[type="password"]:focus {
	border-color: #007FFF !important;
	box-shadow: 0 0 0 3px rgba(0, 127, 255, 0.08) !important;
}

/* Bouton Se connecter — override global float:right / float:left */
#login-left #submit {
	display: block !important;
	width: 100% !important;
	padding: 12px !important;
	height: auto !important;
	margin: 8px 0 0 0 !important;
	font-family: helvetica, Arial, sans-serif !important;
	font-size: 11pt !important;
	font-weight: bold !important;
	color: #ffffff !important;
	background: #007FFF !important;
	border: none !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	text-align: center !important;
	letter-spacing: 0.02em !important;
	float: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-sizing: border-box !important;
	transition: background 0.2s;
}

#login-left #submit:hover {
	background: #0060BF !important;
	border: none !important;
	color: #ffffff !important;
}

/* =====================================================
   Liens bas de formulaire
   ===================================================== */
.login-forgot {
	text-align: center;
	margin-top: 16px;
}

.pwd_forget,
a.pwd_forget {
	font-size: 9pt;
	color: #8b8ea8;
	font-weight: normal;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.pwd_forget:hover,
a.pwd_forget:hover {
	color: #007FFF;
	border-bottom-color: #007FFF;
}

.login-inscription {
	text-align: center;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #eef0f6;
	font-size: 9pt;
	color: #8b8ea8;
}

.login-inscription a {
	color: #007FFF;
	font-weight: bold;
	text-decoration: none;
}

.login-inscription a:hover {
	text-decoration: underline;
}

/* =====================================================
   Modal mot de passe oublié (fancybox)
   ===================================================== */
#form_pwd_forget .form {
	padding: 20px;
}

#form_pwd_forget .form p {
	font-size: 11pt;
	font-weight: bold;
	color: #0d1b4b;
	margin: 0 0 12px;
}

#form_pwd_forget .form hr {
	border: none;
	border-top: 1px solid #eef0f6;
	margin: 0 0 16px;
}

#form_pwd_forget .form label {
	display: block;
	font-size: 8pt;
	font-weight: bold;
	color: #8b8ea8;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 6px;
}

#form_pwd_forget .form input[type="text"] {
	display: block !important;
	width: 100% !important;
	padding: 10px 14px !important;
	height: auto !important;
	font-size: 10pt !important;
	background: #f0f2f8 !important;
	border: 1px solid #f0f2f8 !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	outline: none !important;
	float: none !important;
	margin-bottom: 14px !important;
}

#form_pwd_forget .form input[type="submit"] {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	padding: 10px !important;
	background: #007FFF !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 10pt !important;
	font-weight: bold !important;
	cursor: pointer !important;
	float: none !important;
	margin: 0 !important;
	box-shadow: none !important;
}

#form_pwd_forget .form input[type="submit"]:hover {
	background: #0060BF !important;
}

/* =====================================================
   Responsive — mobile
   ===================================================== */
@media (max-width: 768px) {
	#login-left {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: calc(100% - 48px);
		margin: 40px 24px;
	}
}
