/* BWB Login (Runde 50) — heller Hintergrund, mittig platzierte weiße
   Karte. Farben/Typografie aus BWB_DESIGN_SYSTEM.md übernommen. */

body.page-id-login,
.cbwb-login-wrapper {
	font-family: 'Montserrat', sans-serif;
}

.cbwb-login-outer {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F5F6F8;
	box-sizing: border-box;
}

.cbwb-login-card {
	width: 100%;
	max-width: 400px;
	background: #FFFFFF;
	border: 1px solid #E4E7EB;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
	padding: 32px;
	box-sizing: border-box;
}

.cbwb-login-logo {
	display: block;
	max-width: 180px;
	max-height: 80px;
	margin: 0 auto 20px;
	object-fit: contain;
}

.cbwb-login-card h1,
.cbwb-login-card .elementor-heading-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #1F2933;
	text-align: center;
	margin: 0 0 4px;
}

.cbwb-login-subtitle {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #5F6B7A;
	text-align: center;
	margin: 0 0 24px;
}

.cbwb-login-notice {
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 20px;
}

.cbwb-login-notice--success {
	background: #E6F4EA;
	color: #1E8E3E;
}

.cbwb-login-notice--error {
	background: #FDECEC;
	color: #C62828;
}

/* JetFormBuilder-Feldgestaltung innerhalb der Loginkarte */
.cbwb-login-card .jet-form-builder-row {
	margin-bottom: 16px;
}

.cbwb-login-card .jet-form-builder__field-wrap {
	width: 100% !important;
}

.cbwb-login-card label {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #1F2933;
	margin-bottom: 6px;
	display: block;
}

.cbwb-login-card input[type="text"],
.cbwb-login-card input[type="email"],
.cbwb-login-card input[type="password"] {
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #E4E7EB;
	border-radius: 8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	color: #1F2933;
	background: #FFFFFF;
}

.cbwb-login-card input[type="text"]:focus,
.cbwb-login-card input[type="email"]:focus,
.cbwb-login-card input[type="password"]:focus {
	outline: none;
	border-color: #2581C4;
	box-shadow: 0 0 0 3px rgba(37, 129, 196, 0.15);
}

/* "Angemeldet bleiben"-Switcher */
.cbwb-login-card .jet-forms__switcher-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 4px 0 20px;
}

.cbwb-login-card [data-checkbox-switcher] {
	--track-bg-color: #E4E7EB;
	--checked-track-bg-color: #2581C4;
}

/* Submit-Button — volle Breite, Primärfarbe */
.cbwb-login-card button[type="submit"],
.cbwb-login-card .jet-form-builder__submit {
	width: 100%;
	min-height: 48px;
	background: #2581C4;
	color: #FFFFFF;
	border: none;
	border-radius: 8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.cbwb-login-card button[type="submit"]:hover,
.cbwb-login-card .jet-form-builder__submit:hover {
	background: #1E6EA8;
}

.cbwb-login-links {
	text-align: center;
	margin-top: 16px;
}

.cbwb-login-links a {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #2581C4;
	text-decoration: none;
}

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

.jet-form-builder-row:has([name="redirect_to"]) {
	display: none;
}

/* JetFormBuilders generische Fehlerbox etwas dezenter, keine WP-Fehlercodes
   sichtbar (Text selbst wird über die Formular-Nachrichten gesteuert,
   siehe login-page.php / _jf_actions-Konfiguration). */
.cbwb-login-card .jet-form-builder-message {
	border-radius: 8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
}

@media (max-width: 480px) {
	.cbwb-login-outer {
		padding: 16px;
	}
	.cbwb-login-card {
		padding: 24px 20px;
		max-width: 100%;
	}
	body, html {
		overflow-x: hidden;
	}
}

/* --------------------------------------------------------------------
 * Runde "Login-Seite conversion-orientiert" (2026-08-20): ruhige
 * Nutzenfläche rechts neben der Login-Karte (Shortcode
 * [cbwb_login_benefits_pane], siehe login-page.php). `.cbwb-login-outer`
 * ist bereits ein Flex-Container (align-items/justify-content: center)
 * — ein `gap` reicht aus, damit zwei Kinder (Karte + Nutzenfläche)
 * automatisch nebeneinander erscheinen, sobald die Nutzenfläche als
 * zweites Element in denselben Container gestellt wird. Keine
 * Strukturänderung an der bestehenden Karte nötig.
 * ------------------------------------------------------------------ */

.cbwb-login-outer {
	gap: 64px;
	flex-wrap: wrap;
}

.cbwb-login-benefits {
	max-width: 480px;
	font-family: 'Montserrat', sans-serif;
	color: #1F2933;
}

.cbwb-login-benefits h2 {
	font-size: 26px;
	font-weight: 700;
	color: #1F2933;
	margin: 0 0 20px;
}

.cbwb-login-benefits-list {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.cbwb-login-benefits-list li {
	position: relative;
	padding: 6px 0 6px 30px;
	font-size: 15px;
	font-weight: 500;
	color: #1F2933;
}

.cbwb-login-benefits-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 6px;
	color: #2581C4;
	font-weight: 700;
}

.cbwb-login-benefits-claim {
	font-size: 14px;
	font-weight: 500;
	color: #5F6B7A;
	margin: 0;
}

/* Mobile: nur die kompakte Login-Karte, keine Nutzenfläche (Anforderung
   "Mobile: rechte Nutzenfläche ausblenden, nur kompakter Login"). */
@media (max-width: 900px) {
	.cbwb-login-benefits {
		display: none;
	}
}

/* --------------------------------------------------------------------
 * Runde "Auth-Seiten Full-Viewport-Shell" (2026-08-20).
 *
 * Root Cause (per Computed Styles im Browser geprüft): `/bwb-login/`
 * ist eine Elementor-Seite — Hello Elementors eigenes Theme-CSS
 * (theme.css) begrenzt die Inhaltsbreite NICHT-Elementor-Seiten
 * ausdrücklich über den Selektor
 * `body:not([class*="elementor-page-"]) .site-main { max-width: ... }`
 * (progressiv 500/600/800/1140px je nach Breakpoint — gedacht für
 * klassische Blog-/Text-Inhalte). `/bwb-passwort-setzen/` und
 * `/bwb-passwort-vergessen/` sind bewusst einfache WordPress-Seiten
 * (nur ein Shortcode-Block, kein Elementor) und tragen deshalb KEINE
 * `elementor-page-*`-Klasse am body — die Theme-Regel griff dadurch nur
 * bei diesen beiden Seiten, nicht bei `/bwb-login/`. Ergebnis: schmaler
 * grauer Bereich mittig, große weiße Streifen links/rechts.
 *
 * Fix: die Theme-Beschränkung gezielt NUR für diese zwei stabilen
 * Seiten-IDs aufheben (kein `100vw`/keine negativen Margins, keine
 * sitebreite Änderung) — `.cbwb-login-outer` füllt danach ohne
 * eigene Breitenangabe automatisch die volle verfügbare Breite (bereits
 * bestehendes `min-height:100vh`, kein weiterer Eingriff nötig).
 * Seiten-IDs: `bwb-passwort-setzen`=2944, `bwb-passwort-vergessen`=2962.
 *
 * Spezifität (per Computed Styles geprüft): Theme-Regel
 * `body:not([class*="elementor-page-"]) .site-main` kommt auf (0,2,1)
 * — exakt gleich hoch wie ein einfaches `body.page-id-XXXX .site-main`.
 * Bei Gleichstand gewinnt die zuletzt geladene Regel, und `theme.css`
 * lädt nach dieser Datei — deshalb hier zusätzlich `.page` (immer am
 * body vorhanden) mit aufgenommen, um eindeutig höhere Spezifität zu
 * erzwingen, ganz ohne `!important`. */
body.page-id-2944.page .site-main,
body.page-id-2962.page .site-main {
	max-width: none;
	padding-inline: 0;
}
