/* ==========================================================================
   CapTalents — pages publiques (connexion, invitation, mot de passe)
   Remplace sign.css. Nécessite ct-theme.css.
   ========================================================================== */

body.ct-front {
	min-height: 100vh;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	flex-direction: column;
	background: var(--ct-gris-fond);
}

/* Largeur commune en-tête / contenu */
.ct-header .container,
.ct-main .container { max-width: 1072px; }

/* ---------- En-tête ---------- */
.ct-header {
	background: #fff;
	border-radius: 0 0 var(--ct-radius-card) var(--ct-radius-card);
	box-shadow: 0 2px 12px rgba(57, 70, 112, .06);
	padding: 18px 0;
}
.ct-header .container:before,
.ct-header .container:after { display: none; } /* neutralise le clearfix Bootstrap */
.ct-header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ct-header__logo img {
	display: block;
	height: 34px;
	width: auto;
}
.ct-header__link {
	font-size: 15px;
	font-weight: 500;
	color: var(--ct-bleu);
	text-decoration: none;
}
.ct-header__link:hover,
.ct-header__link:focus {
	color: var(--ct-bleu-fonce);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---------- Zone principale ---------- */
.ct-main {
	flex: 1 0 auto;
	display: flex;
	align-items: center;
	padding: 40px 0 56px;
}
.ct-login {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	max-width: 1040px;
	margin: 0 auto;
}
@media (min-width: 992px) {
	.ct-login {
		grid-template-columns: 1.1fr 1fr;
		gap: 32px;
		align-items: stretch;
	}
}

/* Panneau d'accueil (bleu, motif courbe du site) */
.ct-login__intro {
	position: relative;
	overflow: hidden;
	background: var(--ct-bleu);
	color: #fff;
	border-radius: var(--ct-radius-card);
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 220px;
}
@media (min-width: 992px) {
	.ct-login__intro { padding: 48px 44px; min-height: 480px; }
}
.ct-login__intro h1 {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 32px;
	line-height: 1.12;
	margin: 0 0 16px;
}
@media (min-width: 992px) {
	.ct-login__intro h1 { font-size: 44px; }
}
.ct-login__intro p {
	position: relative;
	z-index: 1;
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .85);
	margin: 0;
	max-width: 420px;
}

/* Carte du formulaire */
.ct-card {
	background: #fff;
	border-radius: var(--ct-radius-card);
	box-shadow: var(--ct-ombre);
	padding: 32px 28px;
}
@media (min-width: 992px) {
	.ct-card { padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; }
}
.ct-card h2 {
	font-size: 28px;
	margin: 12px 0 28px;
}
.ct-badge {
	display: inline-block;
	align-self: flex-start;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: var(--ct-radius-pill);
	background: var(--ct-bleu-pale);
	color: var(--ct-bleu);
}
.ct-badge--capteur { background: #e9efef; color: #4f6566; }
.ct-badge--admin   { background: var(--ct-noir); color: #fff; }

/* Champ mot de passe avec bouton « Afficher » */
.ct-password { position: relative; }
.ct-password .form-control { padding-right: 96px; }
.ct-password__toggle {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	color: var(--ct-bleu);
	font-size: 13px;
	font-weight: 500;
	padding: 8px 12px;
	border-radius: var(--ct-radius-pill);
}
.ct-password__toggle:hover { background: var(--ct-bleu-pale); }
.ct-password__toggle:focus { outline: 0; box-shadow: var(--ct-focus); }

.ct-form__row {
	display: flex;
	justify-content: flex-end;
	margin: -8px 0 24px;
}
.ct-link {
	font-size: 14px;
	color: var(--ct-bleu);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Modale « mot de passe oublié » */
.ct-modal .modal-dialog { max-width: 480px; margin: 10vh auto; }
.ct-modal p { color: var(--ct-texte-doux); font-size: 15px; line-height: 1.5; margin-bottom: 20px; }

/* ---------- Pied de page : voir ct-theme.css (commun connexion + espace candidat) ---------- */
