/* Kurs-Verkaufsseite: Hero „Ausgeschlafen stillen“ */

.ls-course-hero {
	--ls-course-coral-soft: #f7b49d;
	--ls-course-shadow: 0 1.25rem 3.75rem rgb(91 36 80 / 12%);
	position: relative;
	overflow: clip;
	padding-block: clamp(2.5rem, 7vw, 6rem);
	color: var(--ls-color-ink);
	background:
		radial-gradient(circle at 8% 38%, rgb(227 78 134 / 10%), transparent 22rem),
		radial-gradient(circle at 88% 18%, rgb(241 96 30 / 10%), transparent 20rem),
		var(--ls-color-cream);
}

.ls-course-hero__grid {
	display: grid;
	gap: clamp(2.25rem, 7vw, 5.5rem);
	align-items: center;
}

.ls-course-hero .ls-eyebrow {
	margin: 0 0 0.875rem;
	color: var(--ls-color-accent, #e34e86);
	font-family: var(--ls-font-body);
	font-size: 0.75rem;
	font-weight: var(--ls-weight-semibold, 600);
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ls-course-hero__title {
	max-width: 12ch;
	margin: 0;
	color: var(--ls-color-ink);
	font-family: var(--ls-font-display);
	font-size: clamp(2.65rem, 10vw, 5.4rem);
	font-weight: var(--ls-weight-medium, 500);
	line-height: 0.98;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.ls-course-hero__lead {
	max-width: 38rem;
	margin: 1.25rem 0 0;
	color: rgb(43 22 38 / 76%);
	font-family: var(--ls-font-body);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.65;
}

.ls-course-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	margin-top: 1.75rem;
}

.ls-course-hero .ls-button--primary.ls-course-hero__cta {
	gap: 0.75rem;
	background: linear-gradient(100deg, var(--ls-color-accent, #e34e86), var(--ls-color-secondary, #f1601e));
	box-shadow: 0 0.75rem 1.75rem rgb(227 78 134 / 22%);
	color: var(--ls-color-white, #fff);
	transition:
		transform var(--ls-transition-fast, 180ms ease),
		box-shadow var(--ls-transition-fast, 180ms ease);
}

.ls-course-hero .ls-button--primary.ls-course-hero__cta:hover {
	background: linear-gradient(100deg, var(--ls-color-accent, #e34e86), var(--ls-color-secondary, #f1601e));
	box-shadow: 0 1rem 2rem rgb(227 78 134 / 28%);
	transform: translateY(-2px);
}

.ls-course-hero .ls-button-link {
	color: var(--ls-color-primary, #5b2450);
	font-family: var(--ls-font-body);
	font-weight: 550;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.ls-course-hero .ls-button--primary:focus-visible,
.ls-course-hero .ls-button-link:focus-visible {
	outline: 3px solid var(--ls-color-focus, #7a356b);
	outline-offset: 4px;
}

.ls-course-hero__visual {
	position: relative;
	isolation: isolate;
	width: min(100%, 39rem);
	margin-inline: auto;
}

.ls-course-hero__paper-frame {
	position: relative;
	z-index: 2;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--ls-course-coral-soft);
	box-shadow: var(--ls-course-shadow);
	clip-path: polygon(
		2% 5%, 17% 1%, 34% 4%, 49% 1%, 68% 4%, 84% 2%, 98% 7%,
		96% 24%, 100% 42%, 97% 61%, 99% 80%, 94% 97%,
		75% 95%, 58% 99%, 39% 96%, 20% 99%, 3% 94%,
		5% 76%, 1% 58%, 4% 39%, 1% 21%
	);
}

.ls-course-hero__paper-frame picture {
	position: absolute;
	inset: clamp(0.35rem, 1vw, 0.65rem);
	display: block;
}

.ls-course-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% 50%;
}

.ls-course-hero__age {
	position: absolute;
	z-index: 3;
	top: -1rem;
	right: -0.35rem;
	display: grid;
	place-items: center;
	width: clamp(5rem, 19vw, 7.25rem);
	aspect-ratio: 1;
	border-radius: 50%;
	color: var(--ls-color-primary, #5b2450);
	background: radial-gradient(circle at 35% 30%, #f9c4cf, #ee8d99);
	box-shadow: 0 0.75rem 2rem rgb(91 36 80 / 12%);
	font-family: var(--ls-font-script);
	font-size: clamp(1.1rem, 4vw, 1.65rem);
	font-weight: 600;
	line-height: 0.9;
	text-align: center;
	transform: rotate(5deg);
}

.ls-course-hero__note {
	position: absolute;
	z-index: 4;
	right: -0.25rem;
	bottom: 0.5rem;
	margin: 0;
	color: var(--ls-color-primary, #5b2450);
	font-family: var(--ls-font-script);
	font-size: clamp(1.25rem, 4vw, 2rem);
	line-height: 0.95;
	transform: rotate(-5deg);
}

.ls-course-hero__botanical {
	position: absolute;
	z-index: 1;
	right: -2.5rem;
	bottom: -1.5rem;
	display: none;
	width: clamp(7rem, 22vw, 10rem);
	pointer-events: none;
	opacity: 0.72;
	transform: rotate(12deg);
}

.ls-course-hero__botanical picture,
.ls-course-hero__botanical img {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 36rem) {
	.ls-course-hero__actions {
		flex-direction: row;
		align-items: center;
	}

	.ls-course-hero .ls-button-link {
		text-align: left;
	}
}

@media (min-width: 48rem) {
	.ls-course-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
	}

	.ls-course-hero__content {
		position: relative;
		z-index: 5;
	}

	.ls-course-hero__note {
		right: -2.25rem;
		bottom: 1.5rem;
	}

	.ls-course-hero__botanical {
		display: block;
	}
}

@media (min-width: 64rem) {
	.ls-course-hero__grid {
		grid-template-columns: minmax(0, 1.02fr) minmax(28rem, 0.98fr);
	}

	.ls-course-hero__botanical {
		right: -6.5rem;
		bottom: 10rem;
		width: 10rem;
	}
}

@media (max-width: 47.99rem) {
	.ls-course-hero__age {
		width: min(5.5rem, 28vw);
		right: 0.15rem;
	}

	.ls-course-hero__note {
		right: 0.35rem;
		bottom: -1.5rem;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.ls-course-hero__age {
		animation: ls-course-float 7s ease-in-out infinite;
	}
}

@keyframes ls-course-float {
	0%,
	100% {
		transform: rotate(5deg) translateY(0);
	}

	50% {
		transform: rotate(3deg) translateY(-0.35rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ls-course-hero .ls-button--primary.ls-course-hero__cta {
		transition: none;
	}

	.ls-course-hero__age {
		animation: none;
	}
}
