/* ==========================================================================
   bc_circle – Joomla 6 Template im Look von businesscircle.at
   Dark-Navy, Blau/Violett-Gradient, Uppercase-Display, Card-Sektionen
   ========================================================================== */

:root {
	--bc-bg: #050A23;
	--bc-bg-soft: #0A1233;
	--bc-surface: #0E1740;
	--bc-surface-2: #131E4F;
	--bc-border: rgba(255, 255, 255, 0.10);
	--bc-text: #FFFFFF;
	--bc-text-muted: #A7B0D4;
	--bc-accent: #3D5AFE;
	--bc-accent-2: #7B4DFF;
	--bc-gradient: linear-gradient(120deg, #1B2C8F 0%, #2E45D8 45%, #6A3FE0 100%);
	--bc-radius: 16px;
	--bc-radius-pill: 999px;
	--bc-font-display: "Archivo", "Arial Narrow", Arial, sans-serif;
	--bc-font-body: "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--bc-maxwidth: 1240px;
	--bc-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

/* Basis ------------------------------------------------------------------ */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

body.site {
	margin: 0;
	background: var(--bc-bg);
	color: var(--bc-text);
	font-family: var(--bc-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--bc-text); text-decoration: none; transition: color .15s ease, opacity .15s ease; }
a:hover, a:focus { color: var(--bc-accent); }

h1, h2, h3, h4, h5 {
	font-family: var(--bc-font-display);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: .01em;
	margin: 0 0 .6em;
	text-wrap: balance;
}

h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); text-transform: uppercase; font-stretch: 110%; }
h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3 { font-size: 1.35rem; }

p { margin: 0 0 1em; }

.bc-container {
	width: 100%;
	max-width: var(--bc-maxwidth);
	margin-inline: auto;
	padding-inline: clamp(16px, 4vw, 32px);
}
.bc-container--fluid { max-width: none; }

.bc-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--bc-accent);
	color: #fff;
	padding: 10px 18px;
	border-radius: 0 0 8px 0;
	z-index: 100;
}
.bc-skip:focus { left: 0; }

:focus-visible { outline: 2px solid var(--bc-accent); outline-offset: 2px; }

/* Header / Navigation ------------------------------------------------------ */

.bc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(5, 10, 35, 0.85);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--bc-border);
}
.bc-header--gradient {
	background:
		linear-gradient(rgba(5, 10, 35, 0.55), rgba(5, 10, 35, 0.85)),
		var(--bc-gradient);
	background-size: cover;
}

.bc-header__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 76px;
}

.bc-brand a { display: flex; flex-direction: column; }
.bc-brand__logo { max-height: 44px; width: auto; display: block; }
.bc-brand__title {
	font-family: var(--bc-font-display);
	font-weight: 900;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.bc-brand__tagline { font-size: .7rem; color: var(--bc-text-muted); letter-spacing: .12em; text-transform: uppercase; }

.bc-nav { margin-left: auto; }
.bc-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.bc-nav li { position: relative; }
.bc-nav a, .bc-nav .nav-header {
	display: block;
	padding: 10px 14px;
	font-weight: 600;
	font-size: .92rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--bc-text);
	border-radius: var(--bc-radius-pill);
}
.bc-nav a:hover,
.bc-nav .active > a,
.bc-nav .current > a {
	background: rgba(255, 255, 255, 0.10);
	color: #fff;
}

/* Dropdown (2. Ebene) */
.bc-nav li > ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 230px;
	flex-direction: column;
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	border-radius: 12px;
	padding: 8px;
	box-shadow: var(--bc-shadow);
}
.bc-nav li:hover > ul,
.bc-nav li:focus-within > ul { display: flex; }
.bc-nav li > ul a { text-transform: none; letter-spacing: 0; font-weight: 500; border-radius: 8px; }

.bc-nav-toggle {
	display: none;
	margin-left: auto;
	background: transparent;
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	padding: 10px;
	cursor: pointer;
}
.bc-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: #fff;
	margin: 4px 0;
	transition: transform .2s ease, opacity .2s ease;
}
.bc-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.bc-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bc-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.bc-header__search { margin-left: 8px; }
.bc-header__search input {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius-pill);
	color: #fff;
	padding: 8px 16px;
	min-width: 170px;
}
.bc-header__search input::placeholder { color: var(--bc-text-muted); }

.bc-topbar {
	border-top: 1px solid var(--bc-border);
	font-size: .82rem;
	color: var(--bc-text-muted);
	padding: 6px 0;
}

/* Hero --------------------------------------------------------------------- */

.bc-hero {
	position: relative;
	padding: clamp(56px, 9vw, 120px) 0;
	overflow: hidden;
}
.bc-hero--gradient {
	background:
		radial-gradient(1100px 480px at 15% -10%, rgba(61, 90, 254, 0.55), transparent 60%),
		radial-gradient(900px 460px at 90% 0%, rgba(123, 77, 255, 0.45), transparent 60%),
		var(--bc-bg);
}
.bc-hero h1,
.bc-hero h2 {
	text-transform: uppercase;
	font-weight: 900;
	max-width: 20ch;
}
.bc-hero p { color: var(--bc-text-muted); max-width: 62ch; font-size: 1.05rem; }

/* Sektionen (wie „Browse our upcoming Conferences") ------------------------ */

.bc-section { padding: clamp(40px, 6vw, 72px) 0; }
.bc-section--top-a { border-top: 1px solid var(--bc-border); }

.bc-section-block { margin-bottom: 40px; }
.bc-section-block:last-child { margin-bottom: 0; }

.bc-section-block > .bc-section-title,
.bc-main-top h3.bc-card-title {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	margin-bottom: 28px;
}
.bc-section-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--bc-border);
}

/* Kategorie-Pills (Filterleiste) */
.bc-pills, .mod-tags ul, .tagspopular ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}
.bc-pills a, .mod-tags a, .tagspopular a, a.badge, .badge {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius-pill);
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--bc-text);
	background: transparent;
}
.bc-pills a:hover, .bc-pills a.active, .mod-tags a:hover, .tagspopular a:hover {
	background: var(--bc-accent);
	border-color: var(--bc-accent);
	color: #fff;
}

/* Cards ---------------------------------------------------------------------- */

.bc-card, .bc-sidebar .moduletable, .bc-main-top .moduletable, .bc-main-bottom .moduletable {
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius);
	padding: 24px;
	margin-bottom: 24px;
}
.bc-card:hover { border-color: rgba(255, 255, 255, 0.22); }

.bc-card-title, .bc-sidebar .moduletable > h3, .bc-sidebar .moduletable > .bc-card-title {
	font-size: 1.05rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--bc-text);
	margin-bottom: 16px;
}

/* Blog-/Kategorie-Layouts von com_content als Card-Grid */
.blog-items, .bc-cardgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}
.blog-items > [class*="blog-item"], .blog-item {
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius);
	overflow: hidden;
	transition: transform .18s ease, border-color .18s ease;
	display: flex;
	flex-direction: column;
}
.blog-item:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, 0.25); }
.blog-item figure, .blog-item .item-image { margin: 0; }
.blog-item img { width: 100%; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.blog-item .item-content, .blog-item > div { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.blog-item h2, .blog-item h3 { font-size: 1.15rem; }
.blog-item h2 a:hover, .blog-item h3 a:hover { color: var(--bc-accent); }

.article-info, .item-metadata, .article-info-term {
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--bc-text-muted);
}
.article-info { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 10px; }

/* „Read"-Link im BC-Stil */
p.readmore { margin-top: auto; padding-top: 12px; }
p.readmore a, .bc-btn, .btn, button.btn, input[type="submit"], button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--bc-accent);
	color: #fff;
	border: none;
	border-radius: var(--bc-radius-pill);
	padding: 10px 24px;
	font-weight: 700;
	font-size: .88rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}
p.readmore a:hover, .bc-btn:hover, .btn:hover, input[type="submit"]:hover { filter: brightness(1.15); color: #fff; transform: translateY(-1px); }

.bc-btn--ghost, .btn-secondary {
	background: transparent;
	border: 1px solid var(--bc-border);
}

/* Einzelartikel */
.item-page, .com-content-article {
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius);
	padding: clamp(24px, 4vw, 48px);
}
.item-page h1, .com-content-article h1 { text-transform: none; font-size: clamp(1.7rem, 3.4vw, 2.6rem); }

/* Hauptbereich -------------------------------------------------------------- */

.bc-main { padding: clamp(32px, 5vw, 64px) 0; }

.bc-grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
.bc-grid.has-sidebar-right { grid-template-columns: minmax(0, 1fr) 320px; }
.bc-grid.has-sidebar-left { grid-template-columns: 320px minmax(0, 1fr); }
.bc-grid.has-sidebar-left.has-sidebar-right { grid-template-columns: 280px minmax(0, 1fr) 280px; }

.bc-main-top, .bc-main-bottom { margin-bottom: 32px; }

/* Breadcrumbs */
.bc-breadcrumbs { padding: 14px 0; border-bottom: 1px solid var(--bc-border); font-size: .85rem; }
.mod-breadcrumbs, .mod-breadcrumbs__wrapper { margin: 0; }
.mod-breadcrumbs ol, .breadcrumb {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--bc-text-muted);
}
.breadcrumb a { color: var(--bc-text-muted); }
.breadcrumb a:hover { color: var(--bc-accent); }

/* Newsletter-Band ------------------------------------------------------------ */

.bc-newsletter {
	background:
		radial-gradient(800px 300px at 80% 20%, rgba(123, 77, 255, 0.35), transparent 60%),
		var(--bc-bg-soft);
	border-top: 1px solid var(--bc-border);
	border-bottom: 1px solid var(--bc-border);
	padding: clamp(40px, 6vw, 72px) 0;
	text-align: center;
}
.bc-newsletter h2, .bc-newsletter h3 { text-transform: uppercase; }
.bc-newsletter input[type="email"], .bc-newsletter input[type="text"] {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius-pill);
	color: #fff;
	padding: 12px 20px;
	min-width: min(340px, 80vw);
}

/* Formulare allgemein */
input, textarea, select {
	font-family: inherit;
	font-size: .95rem;
}
input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="number"], textarea, select {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	color: #fff;
	padding: 10px 14px;
	width: 100%;
	max-width: 480px;
}
label { font-weight: 600; font-size: .9rem; }

/* Footer ---------------------------------------------------------------------- */

.bc-footer {
	background: #03071A;
	border-top: 1px solid var(--bc-border);
	padding: clamp(40px, 6vw, 72px) 0 28px;
	color: var(--bc-text-muted);
	font-size: .92rem;
}
.bc-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 36px;
	margin-bottom: 44px;
}
.bc-footer h3, .bc-footer .bc-card-title {
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--bc-text);
	margin-bottom: 14px;
}
.bc-footer ul { list-style: none; margin: 0; padding: 0; }
.bc-footer li { margin-bottom: 8px; }
.bc-footer a { color: var(--bc-text-muted); }
.bc-footer a:hover { color: #fff; }
.bc-footer__bottom {
	border-top: 1px solid var(--bc-border);
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	font-size: .82rem;
}

/* Back-to-top ------------------------------------------------------------------ */

.bc-backtop {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid var(--bc-border);
	background: var(--bc-surface);
	color: #fff;
	font-size: 1.1rem;
	cursor: pointer;
	box-shadow: var(--bc-shadow);
	z-index: 60;
}
.bc-backtop:hover { background: var(--bc-accent); border-color: var(--bc-accent); }

/* Joomla-Kern: Pagination, Meldungen, Tabellen ---------------------------------- */

.pagination { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 32px 0 0; }
.pagination .page-link, .pagination a, .pagination span {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	background: transparent;
	color: var(--bc-text);
}
.pagination .active .page-link, .pagination .active span { background: var(--bc-accent); border-color: var(--bc-accent); }

#system-message-container joomla-alert, .alert {
	border-radius: 12px;
	border: 1px solid var(--bc-border);
	background: var(--bc-surface-2);
	color: var(--bc-text);
	padding: 14px 18px;
	margin-bottom: 20px;
	display: block;
}
.alert-error, .alert-danger { border-color: #E5484D; }
.alert-success { border-color: #30A46C; }
.alert-warning { border-color: #F5A524; }

table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--bc-border); text-align: left; }

/* Responsive -------------------------------------------------------------------- */

@media (max-width: 991px) {
	.bc-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--bc-bg-soft);
		border-bottom: 1px solid var(--bc-border);
		padding: 12px clamp(16px, 4vw, 32px) 20px;
		margin: 0;
	}
	.bc-nav.is-open { display: block; }
	.bc-nav ul { flex-direction: column; }
	.bc-nav li > ul {
		position: static;
		display: flex;
		background: transparent;
		border: none;
		box-shadow: none;
		padding-left: 16px;
	}
	.bc-nav-toggle { display: block; }
	.bc-header__search { display: none; }
	.bc-grid.has-sidebar-right,
	.bc-grid.has-sidebar-left,
	.bc-grid.has-sidebar-left.has-sidebar-right { grid-template-columns: 1fr; }
}

/* ==========================================================================
   jDownloads (4.1.x) – BC-Look
   Greift auf die Klassen des "BC Circle Downloads Layout" und stylt
   zusätzlich jD-Standardklassen als Fallback.
   ========================================================================== */

/* Toolbar (Home/Suche/Übergeordnet/Upload + Kategorie-Auswahl) */
.bc-jd-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}
.bc-jd-toolbar__links { margin: 0; }
.bc-jd-toolbar__links li { list-style: none; }
.bc-jd-toolbar__links a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius-pill);
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
}
.bc-jd-toolbar__links a:hover { background: var(--bc-accent); border-color: var(--bc-accent); color: #fff; }
.bc-jd-toolbar__catbox { margin-left: auto; }
.bc-jd-toolbar__catbox select { max-width: 280px; }

.bc-jd-title { margin-bottom: 28px; }
.bc-jd-groups-title {
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--bc-text-muted);
	margin: 28px 0 12px;
}

/* Listenkopf: Sortierung + Pagination */
.bc-jd-listhead, .bc-jd-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 16px 0;
}
.bc-jd-footer { border-top: 1px solid var(--bc-border); padding-top: 18px; margin-top: 28px; }
.bc-jd-pagenav { display: flex; align-items: center; gap: 14px; }
.bc-jd-pagenav .pagination { margin: 0; }
.bc-jd-counter { font-size: .8rem; color: var(--bc-text-muted); }
.bc-jd-sort select { width: auto; }

/* Download-Zeile als dunkle Card */
.bc-jd-row {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto auto auto auto;
	align-items: center;
	gap: 20px;
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius);
	padding: 16px 22px;
	margin-bottom: 14px;
	transition: transform .18s ease, border-color .18s ease;
}
.bc-jd-row:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.25); }
.bc-jd-row__pic { text-align: center; }
.bc-jd-row__pic img { max-width: 40px; }
.bc-jd-row__title { font-size: 1.05rem; margin: 0; text-transform: none; }
.bc-jd-row__title a:hover { color: var(--bc-accent); }
.bc-jd-row__assoc { font-size: .8rem; color: var(--bc-text-muted); }
.bc-jd-row__meta { display: flex; flex-direction: column; min-width: 90px; }
.bc-jd-row__metalabel {
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--bc-text-muted);
}
.bc-jd-row__metavalue { font-size: .9rem; }

/* Download-Button: jD-Standardklassen abfangen */
.bc-jd-row__action a,
a.jd_download_url,
.jd_download_url a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--bc-accent);
	color: #fff !important;
	border-radius: var(--bc-radius-pill);
	padding: 9px 20px;
	font-weight: 700;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	white-space: nowrap;
}
.bc-jd-row__action a:hover { filter: brightness(1.15); transform: translateY(-1px); }

/* Fallback: jD-Standard-Layouts (Bootstrap-Klassen) ins Dunkle ziehen */
.jd_main .bg-light, .jd-main .bg-light {
	background: var(--bc-surface) !important;
	border-radius: var(--bc-radius);
	border: 1px solid var(--bc-border);
	color: var(--bc-text);
}
.jd_main .text-muted, .jd-main .text-muted { color: var(--bc-text-muted) !important; }
.jd_main .border-bottom, .jd_main .border-top,
.jd-main .border-bottom, .jd-main .border-top { border-color: var(--bc-border) !important; }

/* Responsive: Meta-Spalten stufenweise ausblenden */
@media (max-width: 1199px) { .bc-jd-hide-xl { display: none !important; } }
@media (max-width: 991px)  { .bc-jd-hide-lg { display: none !important; } }
@media (max-width: 767px)  {
	.bc-jd-hide-md { display: none !important; }
	.bc-jd-row { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 14px; padding: 14px 16px; }
	.bc-jd-toolbar__catbox { margin-left: 0; width: 100%; }
}

/* ==========================================================================
   v1.0.2 – Hardening: Login-Modul, Icon-Größen, jD-/Bootstrap-Fallbacks,
   Komponenten-Überschriften
   ========================================================================== */

/* Komponenten-H1 (z.B. jD "Home") zähmen */
.bc-content > h1,
.bc-content .page-header h1,
.bc-content header h1 {
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	letter-spacing: .04em;
	margin-bottom: 24px;
}

/* Icons in Buttons/Formularen nie größer als Textzeile */
button img, button svg,
.btn img, .btn svg,
form img:not(.bc-brand__logo), form svg {
	max-width: 1.25em;
	max-height: 1.25em;
	width: auto;
	height: auto;
	vertical-align: middle;
}

/* WebAuthn/Passkey-Button (Joomla-Plugin) */
.plg_system_webauthn_login_button,
[class*="webauthn"] button {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-radius-pill);
	color: var(--bc-text);
	padding: 9px 18px;
	font-size: .82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	max-width: 100%;
}
.plg_system_webauthn_login_button img,
.plg_system_webauthn_login_button svg,
[class*="webauthn"] img,
[class*="webauthn"] svg {
	max-width: 1.2em !important;
	max-height: 1.2em !important;
}

/* Login-Modul (mod_login) */
.mod-login .input-group { display: flex; align-items: stretch; margin-bottom: 12px; }
.mod-login .input-group input { flex: 1; max-width: none; border-radius: 10px 0 0 10px; }
.mod-login .input-group-text,
.input-group-text {
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid var(--bc-border);
	border-left: none;
	border-radius: 0 10px 10px 0;
	color: var(--bc-text-muted);
	display: flex;
	align-items: center;
	padding: 0 12px;
}
.mod-login .form-check { display: flex; align-items: center; gap: 8px; margin: 10px 0 14px; }
.mod-login .form-check-input { width: auto; max-width: none; }
.mod-login ul { list-style: none; margin: 14px 0 0; padding: 0; font-size: .88rem; }
.mod-login ul li { margin-bottom: 6px; }
.mod-login ul a { color: var(--bc-text-muted); }
.mod-login ul a:hover { color: var(--bc-accent); }
.mod-login .btn, .mod-login button[type="submit"] { width: auto; }

/* Bootstrap-/jD-Reste global ins Dunkel ziehen */
.card, .bg-white, .list-group-item, .well {
	background: var(--bc-surface) !important;
	border: 1px solid var(--bc-border) !important;
	color: var(--bc-text) !important;
	border-radius: var(--bc-radius);
}
.card { overflow: hidden; }
.card-body { color: var(--bc-text); }
.btn-info, .btn-primary, .btn-success, .bg-info, .bg-primary,
.nav-pills .nav-link.active, .nav-pills .nav-link {
	background: var(--bc-accent) !important;
	border-color: var(--bc-accent) !important;
	color: #fff !important;
}
.nav-pills .nav-link:not(.active) {
	background: transparent !important;
	border: 1px solid var(--bc-border) !important;
}
.badge.bg-secondary, .badge.bg-light, .badge.text-dark {
	background: rgba(255, 255, 255, 0.10) !important;
	color: var(--bc-text) !important;
}

/* jD-Kategoriekachel: weißes Symbolfeld einfärben, Bilder begrenzen */
.jd_main img[src*="jdownloads"], .jd_main .card img { max-width: 64px; }
.jd_main a { color: var(--bc-text); }
.jd_main a:hover { color: var(--bc-accent); }

/* Selects sitewide dunkel (Kategorie-Listbox etc.) */
select {
	background: var(--bc-surface);
	border: 1px solid var(--bc-border);
	color: var(--bc-text);
	border-radius: 10px;
	padding: 9px 14px;
}
select option { background: var(--bc-surface); color: var(--bc-text); }
