/* Becher Mitgliederbereich – Schriften erbt das Theme (Avada) */
:root {
	--jjbg-blau: #214d74;
	--jjbg-blau-hell: #e9eff5;
	--jjbg-rand: #d5dde5;
	--jjbg-text-leise: #6b7280;
	--jjbg-rot: #b32d2e;
	--jjbg-gruen: #2e7d32;
}

.jjbg-layout {
	display: grid;
	grid-template-columns: minmax(220px, 290px) 1fr;
	gap: 40px;
	align-items: start;
}
@media (max-width: 800px) {
	.jjbg-layout { grid-template-columns: 1fr; gap: 24px; }
}

/* Blauer Kasten */
.jjbg-navi {
	background: var(--jjbg-blau);
	color: #fff;
	padding: 32px 24px 28px;
}
.jjbg-navi-titel {
	font-size: 1.35em;
	margin: 0 0 18px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, .55);
	color: #fff;
}
.jjbg-navi ul { list-style: none; margin: 0; padding: 0; }
.jjbg-navi li { margin: 0 0 8px; }
.jjbg-navi a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.jjbg-navi a:hover, .jjbg-navi a.aktiv { text-decoration-thickness: 2px; font-weight: 600; }
.jjbg-navi .jjbg-abmelden { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .3); }

/* Buttons und Meldungen */
.jjbg-button,
.jjbg-profil button.jjbg-button,
#jjbg-loginform input[type="submit"] {
	display: inline-block;
	background: var(--jjbg-blau);
	color: #fff !important;
	border: 0;
	padding: 10px 20px;
	text-decoration: none !important;
	cursor: pointer;
	font: inherit;
	line-height: 1.3;
}
.jjbg-button:hover, #jjbg-loginform input[type="submit"]:hover { opacity: .9; }
.jjbg-groesse { opacity: .8; font-size: .9em; }
.jjbg-link { margin-left: 12px; }

.jjbg-meldung { padding: 12px 16px; margin: 0 0 20px; background: var(--jjbg-blau-hell); border-left: 4px solid var(--jjbg-blau); }
.jjbg-meldung ul { margin: 0; padding-left: 18px; }
.jjbg-ok { border-left-color: var(--jjbg-gruen); }
.jjbg-fehler { border-left-color: var(--jjbg-rot); }
.jjbg-leer, .jjbg-hinweis { color: var(--jjbg-text-leise); font-size: .92em; }

/* Dokumente */
.jjbg-dokument { padding: 0 0 22px; margin: 0 0 22px; border-bottom: 1px solid var(--jjbg-rand); }
.jjbg-dokument:last-child { border-bottom: 0; }
.jjbg-datum { margin: 0 0 4px; color: var(--jjbg-text-leise); font-size: .9em; }
.jjbg-titel { margin: 0 0 8px; }
.jjbg-text p { margin: 0 0 10px; }
.jjbg-pdf { margin: 10px 0 0; }

/* Mitgliederliste */
.jjbg-liste-kopf { margin-bottom: 24px; }
.jjbg-liste-kopf label { display: block; font-weight: 600; margin-bottom: 6px; }
.jjbg-liste-kopf input[type="search"] { width: 100%; max-width: 420px; padding: 8px 12px; border: 1px solid var(--jjbg-rand); }
.jjbg-anzahl { margin: 10px 0 0; color: var(--jjbg-text-leise); font-size: .92em; }

.jjbg-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.jjbg-karte { display: flex; gap: 16px; padding: 16px; border: 1px solid var(--jjbg-rand); background: #fff; }
.jjbg-karte[hidden] { display: none; }
.jjbg-karte p { margin: 0 0 6px; font-size: .95em; }
.jjbg-name { margin: 0 0 6px; font-size: 1.1em; }
.jjbg-anrede { color: var(--jjbg-text-leise); font-size: .85em !important; margin: 0 !important; }
.jjbg-kontakt a { word-break: break-word; }

.jjbg-foto { width: 84px; height: 84px; object-fit: cover; flex: 0 0 84px; }
.jjbg-profil .jjbg-foto { width: 140px; height: 140px; }
.jjbg-initialen {
	display: flex; align-items: center; justify-content: center;
	background: var(--jjbg-blau-hell); color: var(--jjbg-blau);
	font-size: 1.6em; font-weight: 600; text-transform: uppercase;
}

/* Formulare */
.jjbg-profil fieldset { border: 0; padding: 0; margin: 0 0 28px; }
.jjbg-profil legend { font-size: 1.15em; font-weight: 600; margin-bottom: 12px; padding: 0; }
.jjbg-felder { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
@media (max-width: 600px) { .jjbg-felder { grid-template-columns: 1fr; } }
.jjbg-feld { margin: 0 0 14px; }
.jjbg-feld-breit { grid-column: 1 / -1; }
.jjbg-feld label, .jjbg-profil label[for], #jjbg-loginform label { display: block; margin-bottom: 4px; font-size: .92em; }
.jjbg-feld input, #jjbg-loginform input[type="text"], #jjbg-loginform input[type="password"] {
	width: 100%; padding: 8px 10px; border: 1px solid var(--jjbg-rand); background: #fff; box-sizing: border-box;
}
/* Avada färbt Formularfelder teils weiß ein: Schrift und Cursor hier fest setzen */
.jjbg-feld input,
.jjbg-liste-kopf input[type="search"],
#jjbg-loginform input[type="text"],
#jjbg-loginform input[type="password"],
.jjbg-profil input[type="file"] {
	color: #1f2937 !important;
	-webkit-text-fill-color: #1f2937 !important;
	caret-color: #1f2937 !important;
	background-color: #fff !important;
	font-size: 16px;
}
.jjbg-feld input:focus,
.jjbg-liste-kopf input[type="search"]:focus,
#jjbg-loginform input[type="text"]:focus,
#jjbg-loginform input[type="password"]:focus {
	outline: 2px solid var(--jjbg-blau);
	outline-offset: 1px;
	border-color: var(--jjbg-blau);
}
.jjbg-liste-kopf input[type="search"]::placeholder { color: var(--jjbg-text-leise); -webkit-text-fill-color: var(--jjbg-text-leise); }
.jjbg-feld input[readonly] {
	background-color: #f3f4f6 !important;
	color: var(--jjbg-text-leise) !important;
	-webkit-text-fill-color: var(--jjbg-text-leise) !important;
}
.jjbg-check { display: flex !important; gap: 10px; align-items: flex-start; }
.jjbg-check input { margin-top: 4px; }
.jjbg-pflicht { color: var(--jjbg-rot); }

.jjbg-login { max-width: 420px; }
#jjbg-loginform p { margin: 0 0 14px; }
#jjbg-loginform .login-remember label { display: flex; gap: 8px; align-items: center; }

.jjbg-neu-titel { margin: 36px 0 16px; padding-top: 24px; border-top: 1px solid var(--jjbg-rand); }
.jjbg-navi .jjbg-verwalten { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.3); }
.jjbg-navi .jjbg-verwalten + .jjbg-abmelden { margin-top: 6px; padding-top: 0; border-top: 0; }
