/* ==========================================================================
   BRANCHEN-HUB (Taxonomy: branche) — Wirtschaftsmagazin (Figma "Frame 11")
   Section backgrounds full-bleed; inner content constrained to 1440px.
   ========================================================================== */

.branche-page {
	font-family: 'DM Sans', system-ui, sans-serif;
	color: #0d0d0d;
	background: #f7f5f0;
}

.branche-page .bar-inner {
	width: 100%;
	max-width: var(--viewport-max, 1440px);
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 24px;
}

/* ── Breadcrumb ───────────────────────────────────────────────────────── */
.bh-breadcrumb {
	background: #fff;
	border-bottom: 1px solid #d4d0c8;
}
.bh-breadcrumb .bar-inner {
	padding-top: 12px;
	padding-bottom: 12px;
	font-size: 11px;
	color: #888;
}
.bh-breadcrumb a            { color: #888; text-decoration: none; }
.bh-breadcrumb a:hover      { color: #c41a1a; }
.bh-breadcrumb__sep         { color: #d4d0c8; margin: 0 4px; }
.bh-breadcrumb__current     { color: #0d0d0d; }

/* ── Dark hub header ─────────────────────────────────────────────────── */
.bh-header {
	background: linear-gradient(103.76deg, #0d0d0d, #1a1a1a);
	color: #fff;
}
.bh-header .bar-inner {
	padding-top: 40px;
	padding-bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bh-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
}
.bh-eyebrow__rule {
	display: block;
	width: 20px;
	height: 1px;
	background: #c41a1a;
}
.bh-eyebrow__text {
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #c41a1a;
}

.bh-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0;
}

.bh-deck {
	max-width: 700px;
	font-family: 'Source Serif 4', Georgia, serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.7;
	color: #aaa;
	margin: 4px 0 0;
}

/* KPI row */
.bh-kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	padding-top: 12px;
}
.bh-kpi {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bh-kpi__num {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 32px;
	color: #c41a1a;
	line-height: 1.1;
}
.bh-kpi__label {
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	color: #aaa;
	line-height: 1.4;
}

/* ── 2-column layout ─────────────────────────────────────────────────── */
.bh-layout { background: #d4d0c8; }
.bh-layout__inner {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 1px;
	padding: 0;
	background: #d4d0c8;
}

.bh-content {
	background: #f7f5f0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.bh-block {
	background: #fff;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.bh-block__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 24px;
	color: #0d0d0d;
	margin: 0;
	padding-bottom: 12px;
	border-bottom: 2px solid #0d0d0d;
}
.bh-block__subtitle {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 20px;
	color: #0d0d0d;
	margin: 8px 0 0;
	padding-bottom: 8px;
	border-bottom: 2px solid #0d0d0d;
}

/* Branchenprofil overview */
.bh-overview__text {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 16px;
	line-height: 1.85;
	color: #333;
	margin: 0 0 8px;
}
.bh-overview__text p { margin: 0 0 12px; }

.bh-themes {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.bh-themes__item {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 15px;
	line-height: 1.65;
	color: #333;
	padding-left: 24px;
	position: relative;
}
.bh-themes__bullet {
	position: absolute;
	left: 0;
	top: 0;
	color: #c41a1a;
	font-weight: 300;
}
.bh-themes__lead {
	font-weight: 500;
	color: #0d0d0d;
}
.bh-themes__rest { font-weight: 300; }

/* Top entrepreneurs */
.bh-top__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: #d4d0c8;
	margin: 6px 0 0;
}
.bh-top__card {
	background: #f7f5f0;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.bh-top__media {
	display: block;
	width: 100%;
	height: 180px;
	border-radius: 4px;
	background-color: #d4d0c8;
	background-size: cover;
	background-position: center;
}
.bh-top__tag {
	font-family: 'DM Sans', sans-serif;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	color: #c41a1a;
	padding-top: 7px;
}
.bh-top__name {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	color: #0d0d0d;
	margin: 0;
}
.bh-top__name a { color: inherit; text-decoration: none; }
.bh-top__name a:hover { color: #c41a1a; }
.bh-top__role {
	font-family: 'Source Serif 4', Georgia, serif;
	font-weight: 300;
	font-size: 12px;
	line-height: 1.6;
	color: #666;
	margin: 0;
}
.bh-top__cta {
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.4px;
	color: #c41a1a;
	text-decoration: none;
	margin-top: auto;
	padding-top: 4px;
}
.bh-top__cta:hover { text-decoration: underline; color: #c41a1a; }

/* News list */
.bh-news__list {
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: #d4d0c8;
	margin: 6px 0 0;
}
.bh-news__item {
	background: #f7f5f0;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.bh-news__kicker {
	font-family: 'DM Sans', sans-serif;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.9px;
	text-transform: uppercase;
	color: #c41a1a;
}
.bh-news__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	color: #0d0d0d;
	margin: 0;
}
.bh-news__title a { color: inherit; text-decoration: none; }
.bh-news__title a:hover { color: #c41a1a; }
.bh-news__deck {
	font-family: 'Source Serif 4', Georgia, serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 1.65;
	color: #555;
	margin: 0;
}
.bh-news__cta {
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.4px;
	color: #c41a1a;
	text-decoration: none;
}
.bh-news__cta:hover { text-decoration: underline; color: #c41a1a; }

/* ── Sidebar ─────────────────────────────────────────────────────────── */
.bh-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: #d4d0c8;
}
.bh-widget {
	padding: 18px;
	box-sizing: border-box;
}
.bh-widget--facts     { background: #fff; }
.bh-widget--directory { background: #f7f5f0; display: flex; flex-direction: column; gap: 12px; }
.bh-widget--newsletter {
	background: #0d0d0d;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.bh-widget__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 14px;
	color: #0d0d0d;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid #0d0d0d;
}
.bh-widget__title--inverse {
	color: #fff;
	border-bottom-color: #c41a1a;
	font-size: 15px;
}

.bh-widget__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 8px 0;
	border-bottom: 1px solid #d4d0c8;
	font-size: 11px;
	color: #888;
}
.bh-widget__row--last { border-bottom: none; }
.bh-widget__label { color: #888; }
.bh-widget__value { color: #0d0d0d; font-weight: 500; }

.bh-widget__deck {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 12px;
	line-height: 1.65;
	color: #666;
	margin: 0;
}
.bh-widget__deck--inverse { color: #999; }

.bh-widget__btn {
	display: block;
	background: #c41a1a;
	color: #f7f5f0;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	text-align: center;
	padding: 10px;
	text-decoration: none;
	transition: background 0.2s;
}
.bh-widget__btn:hover { background: #a81515; color: #fff; text-decoration: none; }

.bh-widget__link {
	font-size: 11px;
	color: #c41a1a;
	text-decoration: none;
	text-align: center;
	display: block;
	padding-top: 4px;
}
.bh-widget__link:hover { text-decoration: underline; color: #c41a1a; }

/* Newsletter form */
.bh-widget__form {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
}
.bh-widget__input {
	background: #1a1a1a;
	border: 1px solid #333;
	color: #fff;
	padding: 9px 10px;
	font-size: 12px;
	font-family: inherit;
	outline: none;
}
.bh-widget__input::placeholder { color: #757575; }
.bh-widget__input:focus { border-color: #c41a1a; }
.bh-widget__submit {
	background: #c41a1a;
	color: #fff;
	border: none;
	padding: 10px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 500;
	cursor: pointer;
	text-align: center;
	transition: background 0.2s;
}
.bh-widget__submit:hover { background: #a81515; }

/* ── Empty / placeholder states ──────────────────────────────────────── */
.bh-empty {
	background: #f5f5f3;
	border: 1px dashed #d4d0c8;
	padding: 28px;
	text-align: center;
	border-radius: 4px;
	margin-top: 6px;
}
.bh-empty__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 18px;
	font-weight: 700;
	color: #0d0d0d;
	margin: 0 0 6px;
}
.bh-empty__deck {
	font-family: 'Source Serif 4', Georgia, serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 1.65;
	color: #666;
	margin: 0;
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
}
.bh-empty__cta {
	display: inline-block;
	margin-top: 14px;
	background: #c41a1a;
	color: #f7f5f0;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 10px 16px;
	text-decoration: none;
	transition: background 0.2s;
}
.bh-empty__cta:hover { background: #a81515; color: #fff; text-decoration: none; }

/* Honest placeholder for KPIs when API has no data yet */
.bh-kpis--placeholder .bh-kpi__num { color: #6a6a6a; font-size: 22px; }

.bh-overview__text--placeholder {
	color: #888;
	font-style: italic;
}

/* Avatar placeholder when entrepreneur has no thumbnail */
.bh-top__media--placeholder {
	background: #2a2a2a;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 56px;
	font-weight: 700;
	text-decoration: none;
}
.bh-top__media--placeholder span { line-height: 1; }

/* ── Verwandte Branchen ──────────────────────────────────────────────── */
.bh-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 6px;
}
.bh-related__tile {
	background: #f7f5f0;
	border: 1px solid #d4d0c8;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-decoration: none;
	color: #0d0d0d;
	transition: border-color 0.2s, background 0.2s;
	position: relative;
}
.bh-related__tile:hover {
	border-color: #c41a1a;
	background: #fff;
	text-decoration: none;
	color: #c41a1a;
}
.bh-related__name {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 700;
	font-size: 15px;
	color: inherit;
}
.bh-related__count {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	color: #888;
}
.bh-related__arrow {
	position: absolute;
	top: 14px;
	right: 14px;
	font-size: 14px;
	color: #c41a1a;
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.branche-page .bar-inner { padding: 0 20px; }
	.bh-title { font-size: 36px; }
	.bh-deck  { font-size: 16px; }
	.bh-kpis  { grid-template-columns: 1fr 1fr; }
	.bh-layout__inner { grid-template-columns: 1fr; }
	.bh-top__grid     { grid-template-columns: 1fr 1fr; }
	.bh-top__card:nth-child(3) { grid-column: 1 / -1; }
	.bh-related__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
	.branche-page .bar-inner { padding: 0 16px; }
	.bh-title { font-size: 28px; }
	.bh-deck  { font-size: 14px; }
	.bh-kpis  { grid-template-columns: 1fr; gap: 14px; }
	.bh-kpi__num { font-size: 26px; }
	.bh-block { padding: 18px; }
	.bh-top__grid { grid-template-columns: 1fr; }
	.bh-related__grid { grid-template-columns: 1fr; }
}
