/*
 * en2x Thema Hero Detail – module styles.
 *
 * Left: headline + WYSIWYG subtext (colour from config). Right: optional post
 * teaser in a white 80%-opacity box (hidden on tablet/mobile). Full-bleed
 * background image (cover, positioned) or colour fallback. Content sits in the
 * site content width (max 1600px). Font is inherited (Rubik from Salient).
 */

.en2x-hero-thema {
	display: flex;
	align-items: center;
	font-family: inherit;
}

/* Height steps. */
.en2x-hero-thema--gering {
	min-height: 350px;
}

.en2x-hero-thema--mittel {
	min-height: 550px;
}

.en2x-hero-thema--hoch {
	min-height: 800px;
}

.en2x-hero-thema__inner {
	display: flex;
	align-items: center;
	gap: 48px;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 48px 40px;
}

/* Left content column. */
.en2x-hero-thema__content {
	flex: 1 1 0;
	min-width: 0;
}

.en2x-hero-thema__headline {
	margin: 0 0 20px;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	color: inherit;
}

.en2x-hero-thema__text {
	max-width: 620px;
	font-size: 18px;
	line-height: 1.6;
	color: inherit;
}

.en2x-hero-thema__text :first-child {
	margin-top: 0;
}

.en2x-hero-thema__text :last-child {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------------
 * Beitragsteaser (white 80% box) – desktop only.
 * ------------------------------------------------------------------------- */

.en2x-hero-thema__teaser {
	flex: 0 0 48%;
	max-width: 48%;
	padding: 28px;
	background: rgba(255, 255, 255, 0.8);
	color: var(--en2x-color-headline, #250F51);
}

.en2x-hero-thema__teaser-row {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.en2x-hero-thema__teaser-media {
	flex: 0 0 45%;
	max-width: 45%;
	background: #fff;
	overflow: hidden;
}

.en2x-hero-thema__teaser-bar {
	padding: 6px 12px;
	background: var(--en2x-color-headline, #250F51);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.en2x-hero-thema__teaser-image {
	position: relative;
	width: 100%;
	aspect-ratio: 7 / 4;
	overflow: hidden;
}

.en2x-hero-thema__teaser-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.en2x-hero-thema__teaser-placeholder {
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(
		45deg,
		#ececf2,
		#ececf2 10px,
		#e3e3ec 10px,
		#e3e3ec 20px
	);
}

.en2x-hero-thema__teaser-body {
	flex: 1 1 0;
	min-width: 0;
}

.en2x-hero-thema__teaser-title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
	color: var(--en2x-color-headline, #250F51);
}

.en2x-hero-thema__teaser-excerpt {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.5;
	color: #50575e;
}

.en2x-hero-thema__teaser-button {
	display: inline-block;
	padding: 8px 18px;
	background: var(--en2x-color-primary, #221182);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--en2x-button-radius, 999px);
	transition: opacity 0.15s ease;
}

.en2x-hero-thema__teaser-button:hover,
.en2x-hero-thema__teaser-button:focus {
	opacity: 0.88;
	color: #fff;
}

/* Tags below, same colours as the content card tags. */
.en2x-hero-thema__teaser-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.en2x-hero-thema__teaser-tag {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
}

.en2x-hero-thema__teaser-tag--format {
	background: #e2e4e7;
	color: var(--en2x-color-primary, #221182);
}

.en2x-hero-thema__teaser-tag--thema {
	background: var(--en2x-color-primary, #221182);
	color: #fff;
}

/* ---------------------------------------------------------------------------
 * Breadcrumb bar (transparent strip below the hero).
 * ------------------------------------------------------------------------- */

.en2x-hero-thema__breadcrumb {
	background: transparent;
}

.en2x-hero-thema__breadcrumb-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 10px 40px 16px;
	font-size: 13px;
	font-weight: 600;
	color: #50575e;
}

.en2x-hero-thema__crumb {
	color: #50575e;
	text-decoration: none;
}

.en2x-hero-thema__crumb:hover,
.en2x-hero-thema__crumb:focus {
	color: var(--en2x-color-headline, #250F51);
}

.en2x-hero-thema__crumb-sep {
	margin: 0 6px;
	color: #a7a7b0;
}

/* Darker teal for AA contrast on the light breadcrumb strip (see hero-text). */
.en2x-hero-thema__crumb--current {
	color: #0f7c8c;
}

/* ---------------------------------------------------------------------------
 * Responsive: hide the teaser on tablet/mobile, cap heights, tighten spacing.
 * ------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.en2x-hero-thema__teaser {
		display: none;
	}

	.en2x-hero-thema__content {
		flex-basis: auto;
	}
}

@media (max-width: 900px) {
	.en2x-hero-thema--gering {
		min-height: 280px;
	}

	.en2x-hero-thema--mittel {
		min-height: 360px;
	}

	.en2x-hero-thema--hoch {
		min-height: 460px;
	}

	.en2x-hero-thema__inner {
		padding: 32px 24px;
	}

	.en2x-hero-thema__headline {
		font-size: 28px;
	}

	.en2x-hero-thema__text {
		font-size: 16px;
	}

	.en2x-hero-thema__breadcrumb-inner {
		padding: 8px 24px 14px;
	}
}
