/* ============================================
   Login / Forget-password — DA « monde de jeu »
   « L'entrée du monde » : le fond ciel + collines vient du body
   (panel-game.css) ; la carte centrale devient un panneau gm-card
   avec la mascotte qui accueille le joueur.
   Surcharge .login-page / .login-box définis dans style.css.
   ============================================ */

.login-page {
	background-image: none;
	background: transparent;
	padding: 90px 14px 40px;
}

.login-box {
	background: #fff;
	border: 1px solid var(--gm-line, #eee6f5);
	border-radius: var(--gm-radius, 18px);
	box-shadow: 0 18px 60px rgba(43, 27, 61, .18);
	padding: 44px 40px 36px;
	max-width: 460px;
	width: 100%;
	position: relative;
}

/* Route pointillée décorative en haut de la carte */
.login-box::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	border-radius: var(--gm-radius, 18px) var(--gm-radius, 18px) 0 0;
	background: linear-gradient(90deg, var(--gm-violet, #6f448a), var(--gm-violet-soft, #9a6cb8) 60%, var(--gm-gold, #ffa800));
}

/* ── La mascotte accueille au-dessus de la carte ── */
.login-mascotte-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: -118px auto 10px;
	position: relative;
}

.login-mascotte {
	width: 78px;
	height: 86px;
	animation: gm-bob 2.6s ease-in-out infinite;
	filter: drop-shadow(0 6px 10px rgba(82, 30, 115, .3));
}

.login-bubble {
	background: #2b1b3d;
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	white-space: nowrap;
	padding: 4px 12px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(43, 27, 61, .25);
	position: relative;
}

.login-bubble::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -5px;
	transform: translateX(-50%);
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #2b1b3d;
}

/* ── Titres ── */
.login-box h3 {
	font-weight: 700;
	color: var(--gm-ink, #2b1b3d);
}

.login-box .text-muted {
	font-size: .85rem;
}

.login-welcome {
	margin-top: 12px;
}

/* ── Champs : cartouche du monde (surcharge .form-control-solid) ── */
.login-box .form-control-solid {
	background-color: #faf7fd;
	border: 2px solid #e9e1f3;
	border-radius: 12px;
	padding: 12px 20px;
	font-size: 13px;
	color: var(--gm-ink, #2b1b3d);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.login-box .form-control-solid:focus {
	background-color: #fff;
	border-color: var(--gm-violet, #6f448a);
	box-shadow: 0 0 0 4px rgba(111, 68, 138, .12);
}

/* ── Liens ── */
.login-box a.text-muted:hover {
	color: var(--gm-violet, #6f448a) !important;
}

/* ── Bouton annuler (fantôme) ── */
.login-box .login-btn-ghost {
	border-radius: 999px;
	background: #f0eaf7;
	border: none;
	color: var(--gm-ink-soft, #5e5470);
	box-shadow: 0 3px 0 #ddd2ea;
	transition: transform .12s ease, background .15s ease;
}

.login-box .login-btn-ghost:hover {
	background: #e6dcf2;
	transform: translateY(-1px);
	color: var(--gm-ink, #2b1b3d);
}

/* ── Responsive ── */
@media (max-width: 575.98px) {
	.login-page {
		padding: 100px 10px 30px;
	}

	.login-box {
		padding: 38px 22px 28px;
	}

	.login-mascotte-wrap {
		margin-top: -106px;
	}

	.login-mascotte {
		width: 66px;
		height: 73px;
	}
}
