:root{
	--bbn-ink:#17231f;
	--bbn-muted:#6f7b76;
	--bbn-accent:#4f7f6d;
	--bbn-accent2:#d78a39;
	--bbn-surface:#fff;
}
.bbn-sources{
	/* Standard bleibt bewusst hell und stabil – kein Browser-/System-Darkmode. */
	--bbn-theme-text:var(--e-global-color-text,var(--wp--preset--color--contrast,var(--ast-global-color-2,var(--bbn-ink,#17231f))));
	--bbn-theme-accent:var(--e-global-color-primary,var(--wp--preset--color--primary,var(--ast-global-color-0,var(--bbn-accent,#4f7f6d))));
	--bbn-theme-accent2:var(--e-global-color-secondary,var(--wp--preset--color--secondary,var(--ast-global-color-1,var(--bbn-accent2,#d78a39))));
	--bbn-local-ink:var(--bbn-ink,#17231f);
	--bbn-local-muted:var(--bbn-muted,#6f7b76);
	--bbn-local-accent:var(--bbn-accent,#4f7f6d);
	--bbn-local-accent2:var(--bbn-accent2,#d78a39);
	--bbn-local-surface:rgba(255,255,255,.90);
	--bbn-local-surface-strong:rgba(255,255,255,.98);
	--bbn-local-surface-soft:rgba(247,250,249,.82);
	--bbn-local-border:rgba(23,35,31,.08);
	--bbn-local-border-soft:rgba(23,35,31,.06);
	--bbn-local-shadow:rgba(18,38,34,.055);
	--bbn-local-shadow-soft:rgba(18,38,34,.035);
	--bbn-local-line:rgba(23,35,31,.08);
	--bbn-local-pill-bg:color-mix(in srgb,var(--bbn-local-accent) 7%,var(--bbn-local-surface-strong));
	--bbn-local-card-bg:linear-gradient(135deg,var(--bbn-local-surface-strong),color-mix(in srgb,var(--bbn-local-accent) 2.5%,var(--bbn-local-surface-strong)));
	--bbn-local-item-bg:rgba(247,250,249,.88);
	color-scheme:light;
	margin:14px 0 6px;
	padding:12px;
	color:var(--bbn-local-muted);
	font-family:inherit;
	font-size:11px;
	line-height:1.35;
	background:var(--bbn-local-surface);
	border:1px solid var(--bbn-local-border);
	border-radius:18px;
	box-shadow:0 12px 34px var(--bbn-local-shadow);
	backdrop-filter:blur(10px);
}

/*
 * Dark/Kontrast bewusst NUR durch echte Theme-Umschaltung oder durch JS-Erkennung
 * eines dunklen Abschnitt-Hintergrunds. Kein prefers-color-scheme.
 */
:where(html.dark,html.dark-mode,html.is-dark,html.theme-dark,html.contrast-mode,html.accessibility-mode,html.accessibility-contrast,html.a11y-contrast,html.high-contrast,html[data-theme="dark"],html[data-bs-theme="dark"],html[data-color-scheme="dark"],html[data-mode="dark"],html[data-color-mode="dark"],html[data-theme="contrast"],html[data-contrast="dark"],html[data-contrast="more"],html[data-contrast="high"],html[data-accessibility="contrast"],body.dark,body.dark-mode,body.is-dark,body.theme-dark,body.contrast-mode,body.accessibility-mode,body.accessibility-contrast,body.a11y-contrast,body.high-contrast,body[data-theme="dark"],body[data-bs-theme="dark"],body[data-color-scheme="dark"],body[data-mode="dark"],body[data-color-mode="dark"],body[data-theme="contrast"],body[data-contrast="dark"],body[data-contrast="more"],body[data-contrast="high"],body[data-accessibility="contrast"],body.wp-dark-mode-active,body.wp-night-mode-on,body.contrast-dark,body.high-contrast-dark) .bbn-sources,
.bbn-sources.bbn-auto-dark,
.bbn-sources.bbn-is-dark{
	--bbn-local-ink:#f6fbfa;
	--bbn-local-muted:rgba(226,241,240,.76);
	--bbn-local-accent:var(--bbn-theme-accent,#5ee6f7);
	--bbn-local-accent2:var(--bbn-theme-accent2,#d78a39);
	--bbn-local-surface:rgba(7,28,34,.78);
	--bbn-local-surface-strong:rgba(13,41,48,.88);
	--bbn-local-surface-soft:rgba(18,51,59,.70);
	--bbn-local-border:rgba(226,241,240,.22);
	--bbn-local-border-soft:rgba(226,241,240,.14);
	--bbn-local-shadow:rgba(0,0,0,.22);
	--bbn-local-shadow-soft:rgba(0,0,0,.14);
	--bbn-local-line:rgba(226,241,240,.16);
	--bbn-local-pill-bg:rgba(226,241,240,.10);
	--bbn-local-card-bg:linear-gradient(135deg,rgba(255,255,255,.075),rgba(94,230,247,.045));
	--bbn-local-item-bg:rgba(255,255,255,.055);
	color-scheme:dark;
	background:var(--bbn-local-surface);
	border-color:var(--bbn-local-border);
	box-shadow:0 16px 42px rgba(0,0,0,.24);
}

:where(html.contrast,html.high-contrast,html.contrast-mode,html.accessibility-contrast,html.a11y-contrast,html[data-contrast="more"],html[data-contrast="high"],html[data-theme="contrast"],html[data-accessibility="contrast"],body.contrast,body.high-contrast,body.contrast-mode,body.accessibility-contrast,body.a11y-contrast,body[data-contrast="more"],body[data-contrast="high"],body[data-theme="contrast"],body[data-accessibility="contrast"]) .bbn-sources,
.bbn-sources.bbn-is-contrast{
	--bbn-local-border:rgba(246,251,250,.34);
	--bbn-local-border-soft:rgba(246,251,250,.23);
	--bbn-local-surface:rgba(4,22,27,.84);
	--bbn-local-surface-strong:rgba(11,36,43,.92);
	--bbn-local-item-bg:rgba(255,255,255,.075);
	box-shadow:none;
}

.bbn-footnote-head{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 10px;
}
.bbn-footnote-head:after{
	content:"";
	flex:1;
	height:1px;
	background:var(--bbn-local-line);
}
.bbn-footnote-head span{
	display:inline-flex;
	align-items:center;
	border-radius:999px;
	padding:3px 8px;
	background:var(--bbn-local-pill-bg);
	color:var(--bbn-local-ink);
	font-size:9px!important;
	line-height:1!important;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.055em;
}
.bbn-page-groups{
	display:grid;
	grid-template-columns:repeat(var(--bbn-cols,3),minmax(0,1fr));
	gap:8px;
	align-items:start;
}
.bbn-layout-list .bbn-page-groups{
	grid-template-columns:1fr;
	gap:6px;
}
.bbn-page-group{
	min-width:0;
	margin:0!important;
	padding:9px 10px!important;
	background:var(--bbn-local-card-bg);
	border:1px solid var(--bbn-local-border);
	border-radius:13px;
	box-shadow:0 7px 18px var(--bbn-local-shadow-soft);
	transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease,color .16s ease;
}
.bbn-page-group:hover{
	border-color:color-mix(in srgb,var(--bbn-local-accent) 36%,var(--bbn-local-border));
	box-shadow:0 10px 26px var(--bbn-local-shadow);
	transform:translateY(-1px);
}
.bbn-page-title{
	display:block!important;
	margin:0 0 6px!important;
	padding:0!important;
	color:var(--bbn-local-ink)!important;
	font-family:inherit!important;
	font-size:12px!important;
	line-height:1.16!important;
	font-weight:850!important;
	letter-spacing:-.01em!important;
	text-shadow:none!important;
}
.bbn-page-title:after{content:""!important;}
.bbn-credit-flow{
	display:grid;
	gap:5px;
}
.bbn-layout-list .bbn-credit-flow{
	display:flex;
	flex-wrap:wrap;
	gap:5px 6px;
}
.bbn-credit-item{
	display:flex;
	align-items:center;
	gap:7px;
	min-width:0;
	padding:4px 5px;
	border-radius:9px;
	background:var(--bbn-local-item-bg);
	border:1px solid var(--bbn-local-border-soft);
}
.bbn-layout-list .bbn-credit-item{max-width:100%;}
.bbn-credit-thumb{
	display:none;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	flex:0 0 34px;
	border-radius:9px;
	overflow:hidden;
	background:linear-gradient(135deg,var(--bbn-local-accent),var(--bbn-local-accent2));
	box-shadow:0 3px 9px var(--bbn-local-shadow);
	border:1px solid rgba(255,255,255,.26);
}
.bbn-show-thumbs .bbn-credit-thumb{display:inline-flex;}
.bbn-hide-thumbs .bbn-credit-thumb{display:none;}
.bbn-credit-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.bbn-credit-text{
	display:block;
	min-width:0;
	color:var(--bbn-local-muted);
}
.bbn-credit-text strong{
	display:block;
	margin:0 0 1px;
	font-size:10.8px!important;
	line-height:1.16!important;
	font-weight:850!important;
	color:var(--bbn-local-ink)!important;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.bbn-credit-text strong:after{content:"";}
.bbn-credit-text span{
	display:block;
	font-size:9.6px!important;
	line-height:1.16!important;
	color:var(--bbn-local-muted)!important;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.bbn-no-thumbs .bbn-credit-item,
.bbn-hide-thumbs .bbn-credit-item{padding:4px 6px;}
.bbn-empty{
	padding:8px 10px;
	border-radius:10px;
	background:var(--bbn-local-item-bg);
	color:var(--bbn-local-muted);
	font-size:11px;
	border:1px solid var(--bbn-local-border-soft);
}
@media(max-width:1100px){.bbn-page-groups{grid-template-columns:repeat(min(var(--bbn-cols,3),2),minmax(0,1fr));}}
@media(max-width:700px){
	.bbn-sources{padding:10px;font-size:10.5px;border-radius:15px;}
	.bbn-page-groups{grid-template-columns:1fr;gap:6px;}
	.bbn-page-group{padding:8px!important;}
	.bbn-credit-thumb{width:30px;height:30px;flex-basis:30px;border-radius:8px;}
	.bbn-page-title{font-size:12px!important;}
}

/* Einzelnes Seiten-Widget: kompakte Listview für die aktuell geöffnete Seite */
.bbn-current-page-sources{
	max-width:100%;
	padding:10px 11px;
	border-radius:16px;
	box-shadow:0 10px 26px var(--bbn-local-shadow-soft);
}
.bbn-current-page-sources .bbn-footnote-head{margin-bottom:8px;}
.bbn-current-page-sources .bbn-page-groups{display:block;}
.bbn-current-page-sources .bbn-page-group{
	padding:0!important;
	background:transparent;
	border:0;
	box-shadow:none;
	border-radius:0;
	transform:none!important;
}
.bbn-current-page-sources .bbn-page-group:hover{box-shadow:none;border-color:transparent;}
.bbn-current-page-sources .bbn-credit-flow{
	display:grid;
	grid-template-columns:1fr;
	gap:5px;
}
.bbn-current-page-sources .bbn-credit-item{
	padding:6px 7px;
	gap:8px;
	border-radius:11px;
	background:var(--bbn-local-card-bg);
	border:1px solid var(--bbn-local-border);
	box-shadow:0 4px 12px var(--bbn-local-shadow-soft);
}
.bbn-current-page-sources .bbn-credit-thumb{
	width:38px;
	height:38px;
	flex-basis:38px;
	border-radius:10px;
}
.bbn-current-page-sources .bbn-credit-text strong{font-size:11.2px!important;line-height:1.15!important;}
.bbn-current-page-sources .bbn-credit-text span{font-size:9.8px!important;line-height:1.15!important;}
.bbn-current-page-sources.bbn-hide-thumbs .bbn-credit-item{padding:5px 7px;}
@media(max-width:700px){
	.bbn-current-page-sources{padding:9px;}
	.bbn-current-page-sources .bbn-credit-thumb{width:34px;height:34px;flex-basis:34px;}
}
