/**
 * Auth screens — ValiAdmin local-login face (sample: CakeDC-Login-layout-with-KeyCloak).
 *
 * ValiAdmin puts .login-form / .local-login-form in absolute fill inside .login-box.
 * Without a proper face + min-height the box collapses. We use .local-login +
 * .local-login-form (visible), then switch the face to flow layout so the box
 * height follows the form content (register / profile taller than login).
 */

/* Box: keep ValiAdmin chrome; height from content; wider for flagged Select2 labels */
.users-auth-body .login-content .login-box.local-login {
	height: auto;
	min-height: 0;
	min-width: 28rem;
	width: min(100%, 32rem);
	max-width: 36rem;
	overflow: visible;
}

/* Narrow / tablet / phone: form near top (not vertically centered) */
@media (max-width: 991.98px) {
	.users-auth-body .login-content {
		justify-content: flex-start;
		align-items: center;
		min-height: 100vh;
		min-height: 100dvh;
		box-sizing: border-box;
		padding: 1.25rem 1rem 1.5rem;
	}

	.users-auth-body .login-content .logo {
		margin-bottom: 1rem;
	}

	.users-auth-body .login-content .logo h1,
	.users-auth-body .login-content .logo .h1 {
		font-size: 2rem;
		line-height: 1.2;
	}

	.users-auth-body .login-content .login-box.local-login {
		min-width: 0;
		width: 100%;
		max-width: 36rem;
	}

	.users-auth-body .login-content .login-box .local-login-form {
		padding: 1.5rem;
	}
}

@media (max-width: 575.98px) {
	.users-auth-body .login-content {
		padding: 0.75rem 0.75rem 1.25rem;
	}

	.users-auth-body .login-content .logo {
		margin-bottom: 0.75rem;
	}

	.users-auth-body .login-content .logo h1,
	.users-auth-body .login-content .logo .h1 {
		font-size: 1.75rem;
	}

	.users-auth-body .login-content .login-box .local-login-form {
		padding: 1.25rem;
	}
}

/* Visible local face = normal document flow (not absolute flip panel) */
.users-auth-body .login-content .login-box .local-login-form {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	opacity: 1 !important;
	-webkit-transform: none !important;
	transform: none !important;
	padding: 40px;
	backface-visibility: visible;
	-webkit-backface-visibility: visible;
}

/* Hide unused Keycloak / forget faces if ever present */
.users-auth-body .login-content .login-box.local-login > .login-form:not(.local-login-form) {
	display: none;
}

.users-auth-body .users-auth-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-top: 0.75rem;
	font-size: 0.9rem;
}

.users-auth-body .users-auth-links a {
	display: inline-block;
	margin-right: 0;
}

/* Login: Register balra, Forgot password jobbra (ha mindkettő látszik) */
.users-auth-body .users-auth-links:has(> :nth-child(2)) > :last-child {
	margin-left: auto;
	text-align: right;
}

.users-auth-body .form-error,
.users-auth-body .error-message {
	color: #c0392b;
	font-size: 0.85rem;
}

.users-auth-body .users-profile-header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.users-auth-body .users-profile-avatar {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
}

.users-auth-body .users-profile-avatar-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e9ecef;
	color: #6c757d;
	font-size: 2rem;
}

.users-auth-body .users-profile-name {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.3;
}

.users-auth-body .users-profile-role {
	font-size: 0.85rem;
}

.users-auth-body .users-profile-value {
	padding: 0.4rem 0.75rem;
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 0.25rem;
	min-height: calc(1.5em + 0.75rem + 2px);
}

.users-auth-body .users-profile-form .btn-outline-secondary {
	border-color: #ced4da;
}

/* Select2 on auth forms (register country) — above ValiAdmin box shadow */
.users-auth-body .select2-container {
	width: 100% !important;
}

.users-auth-body .select2-container--bootstrap-5 .select2-selection {
	min-height: calc(1.5em + 0.75rem + 2px);
}

.users-auth-body .select2-container--open,
.users-auth-body + .select2-container--open,
body > .select2-container--bootstrap-5 {
	z-index: 3000;
}

/* Flag icons in auth Select2 (login language / register country) */
.select2-flag-option {
	display: inline-flex;
	align-items: center;
	gap: 0;
	line-height: 1.25;
}

.select2-flag {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: -1px; /* midway between original and -2px */
	margin-right: 0.3rem;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
	vertical-align: middle;
}

.select2-container--bootstrap-5 .select2-selection__rendered .select2-flag-option {
	max-width: 100%;
}
