/**
 * IMC Hero Widget — Full-Viewport-Hero, Medien hinten, Inhalt zentriert (max. Container-Breite).
 */

.imc-hero-widget {
	position: relative;
	box-sizing: border-box;
}

.imc-hero-widget *,
.imc-hero-widget *::before,
.imc-hero-widget *::after {
	box-sizing: border-box;
}

/* 100vw / 100vh, aus dem Seiten-Container ausgebrochen */
.imc-hero-widget__viewport {
	position: relative;
	width: 100vw;
	min-height: 100vh;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	isolation: isolate;
}

.imc-hero-widget__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.imc-hero-widget--image .imc-hero-widget__media {
	pointer-events: none;
}

.imc-hero-widget__media-inner {
	position: relative;
	z-index: 0;
	width: 100%;
}

.imc-hero-widget__media-inner.container {
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

.imc-hero-widget__media-inner--custom {
	margin-left: auto;
	margin-right: auto;
}

.imc-hero-widget__figure {
	width: 100%;
	line-height: 0;
}

.imc-hero-widget__figure picture {
	display: block;
	width: 100%;
}

.imc-hero-widget__img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.imc-hero-widget__code {
	position: relative;
	width: 100%;
}

/* Text / Buttons — über dem Medien-Layer */
.imc-hero-widget__content {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	width: 100%;
	padding: 2rem 0;
}

.imc-hero-widget .imc-hero-widget__inner {
	width: 100%;
}

.imc-hero-widget__stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0;
	width: 100%;
}

.imc-hero-widget__stack .widget--update {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

/* Abstände Headline / Copy (Desktop; Mobile siehe unten) */
.imc-hero-widget__stack .imc-hero-widget__headline.widget--update {
	margin: 0 0 20px !important;
}

.imc-hero-widget__stack .imc-hero-widget__copy-wrap.widget--update {
	margin: 0 0 35px !important;
}

@media screen and (max-width: 768px) {
	.imc-hero-widget__stack .imc-hero-widget__headline.widget--update {
		margin-bottom: 40px !important;
	}

	.imc-hero-widget__stack .imc-hero-widget__copy-wrap.widget--update {
		margin-bottom: 25px !important;
	}
}

.imc-hero-widget__stack .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	justify-content: center;
}

.imc-hero-widget__stack .buttons[data-align="left"] {
	justify-content: flex-start;
}

.imc-hero-widget__stack .buttons[data-align="right"] {
	justify-content: flex-end;
}

/* Farben (analog Primary / Light / Dark) */
.imc-hero-widget__hl--primary,
.imc-hero-widget__copy--primary {
	color: rgba(40, 40, 40, 1);
}

.imc-hero-widget__hl--light,
.imc-hero-widget__copy--light {
	color: rgba(148, 148, 148, 1);
}

.imc-hero-widget__hl--dark,
.imc-hero-widget__copy--dark {
	color: rgba(0, 0, 0, 1);
}
