/* Full Service Suite – Login (Flat Design, Split-Layout) */

html {
	height: 100%;
}

body.login {
	background: var(--mat-login-bg, #0f172a);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	margin: 0;
	min-height: 100vh;
}

/* ---------- Split-Layout (per JS aufgebaut) ---------- */
.mat-login-wrap {
	display: flex;
	flex-wrap: nowrap;
	min-height: 100vh;
	width: 100%;
}

/* Formular-Seite */
.mat-login-panel {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 24px;
	box-sizing: border-box;
}

/* Bild-Seite */
.mat-login-media {
	flex: 1 1 50%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Bild nur über 1024 px sichtbar */
@media (max-width: 1024px) {
	.mat-login-media {
		display: none;
	}
}

/* ---------- Login-Block ---------- */
.login #login {
	width: 360px;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.login h1 {
	margin-bottom: 24px;
}

.login h1 a {
	width: 100%;
	height: 64px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0 auto;
}

/* Login-Box */
.login form {
	background: var(--mat-login-card, #ffffff);
	border: none;
	border-radius: var(--mat-radius, 10px);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
	padding: 32px 28px;
	margin-top: 0;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: calc(var(--mat-radius, 10px) * 0.7);
	box-shadow: none;
	padding: 12px 14px;
	font-size: 15px;
	color: #0f172a;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
	border-color: var(--mat-primary, #2563eb);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mat-primary, #2563eb) 20%, transparent);
	outline: none;
}

.login label {
	color: #334155;
	font-size: 14px;
	font-weight: 500;
}

/* Button */
.login .button-primary,
.wp-core-ui .login .button-primary {
	background: var(--mat-primary, #2563eb);
	border: none;
	border-radius: calc(var(--mat-radius, 10px) * 0.7);
	box-shadow: none;
	text-shadow: none;
	width: 100%;
	padding: 11px 16px;
	height: auto;
	font-size: 15px;
	font-weight: 600;
	transition: background 0.15s ease, transform 0.05s ease;
}

.login .button-primary:hover,
.wp-core-ui .login .button-primary:hover {
	background: var(--mat-primary-hover, #1d4ed8);
}

.login .button-primary:active {
	transform: translateY(1px);
}

.login .forgetmenot label {
	color: #64748b;
}

/* ---------- Links (frei einstellbar) ---------- */
.login #nav,
.login #backtoblog {
	text-align: center;
	padding: 12px 0 0;
}

.login #nav a,
.login #backtoblog a,
.login .privacy-policy-page-link a,
.login .privacy-policy-page-link {
	color: var(--mat-link, #2271b1);
	font-size: 13px;
	transition: color 0.15s ease;
}

.login #nav a:hover,
.login #backtoblog a:hover,
.login .privacy-policy-page-link a:hover,
.login #nav a:focus,
.login #backtoblog a:focus,
.login .privacy-policy-page-link a:focus {
	color: var(--mat-link-hover, #135e96);
}

.login .privacy-policy-page-link {
	margin-top: 16px;
	text-align: center;
}

/* ---------- Sprachumschalter (unter dem Formular) ---------- */
.login .language-switcher {
	margin: 18px 0 4px;
	text-align: center;
	width: 100%;
}

.login .language-switcher form {
	background: none;
	box-shadow: none;
	padding: 0;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.login .language-switcher label {
	color: #94a3b8;
}

.login .language-switcher select {
	border-radius: calc(var(--mat-radius, 10px) * 0.6);
	border-color: #cbd5e1;
	max-width: 200px;
}

.login .language-switcher .button {
	border-radius: calc(var(--mat-radius, 10px) * 0.6);
	border-color: var(--mat-link, #2271b1);
	color: var(--mat-link, #2271b1);
	background: transparent;
	box-shadow: none;
}

.login .language-switcher .button:hover {
	border-color: var(--mat-link-hover, #135e96);
	color: var(--mat-link-hover, #135e96);
}

/* ---------- Meldungen ---------- */
.login .message,
.login .notice,
.login #login_error {
	border-radius: calc(var(--mat-radius, 10px) * 0.7);
	border-left-width: 4px;
	box-shadow: none;
	padding: 12px 16px;
	width: 360px;
	max-width: 100%;
	box-sizing: border-box;
}

.login #login_error {
	border-left-color: #ef4444;
}

/* Eigene Fußzeile */
.mat-login-footer {
	text-align: center;
	color: #94a3b8;
	font-size: 12px;
	margin-top: 20px;
}
