/**
 * Angebotsseite: Editorial-Angebotsübersicht
 * Scope: .ls-offers-list
 */

.ls-offers-list {
	position: relative;
	background: var(--ls-color-paper, #fcf8f1);
	padding-block: clamp(3.5rem, 10vw, 6.5rem) clamp(2.5rem, 6vw, 4rem);
}

.ls-offers-list.wp-block-group,
.ls-offers-list .wp-block-group {
	max-width: none;
}

.ls-offers-list__inner,
.ls-offers-list__inner.ls-container {
	width: min(
		calc(100% - (2 * var(--ls-page-gutter, 1.25rem))),
		var(--ls-container, 73.75rem)
	);
	max-width: var(--ls-container, 73.75rem);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}

.ls-offers-list__header {
	display: grid;
	gap: 1rem;
	max-width: 42rem;
	margin-bottom: clamp(2.5rem, 7vw, 4rem);
}

.ls-offers-list__header > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
}

.ls-offers-list__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	color: var(--ls-color-ink, #2b1626);
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ls-offers-list__eyebrow::before {
	content: "";
	width: 2.5rem;
	height: 0.1875rem;
	border-radius: 999px;
	background: var(--ls-color-orange, #f1601e);
}

.ls-offers-list__header h2,
.ls-offers-list__title {
	margin: 0;
	color: var(--ls-color-ink, #2b1626);
	font-family: var(--ls-font-display, "Fraunces", Georgia, serif);
	font-size: clamp(2.35rem, 6vw, 4.5rem);
	font-weight: 450;
	line-height: 0.98;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.ls-offers-list__intro {
	margin: 0;
	max-width: 38rem;
	color: var(--ls-color-muted, #6f626b);
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.65;
}

.ls-offers-list__rule {
	display: block;
	width: 3.5rem;
	height: 0.1875rem;
	margin-top: 0.35rem;
	border: 0;
	border-radius: 999px;
	background: var(--ls-color-orange, #f1601e);
}

.ls-offers-list__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2rem);
}

/* —— Card shell —— */
.ls-offer-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba(77, 45, 62, 0.12);
	border-radius: clamp(1.4rem, 3vw, 2.25rem);
	background: var(--ls-color-paper, #fffaf4);
	box-shadow:
		0 1.25rem 3.5rem rgba(64, 35, 49, 0.08),
		0 0.2rem 0.8rem rgba(64, 35, 49, 0.05);
	transform: none;
	transition:
		transform 280ms ease,
		box-shadow 280ms ease;
}

.ls-offer-card.wp-block-group {
	max-width: none;
}

/* WP is-layout-flow: keinen Block-Abstand zwischen Media und Body */
.ls-offer-card.is-layout-flow > *,
.ls-offer-card > .ls-offer-card__media,
.ls-offer-card > .ls-offer-card__body {
	margin-block: 0 !important;
}

.ls-offer-card__media,
.ls-offer-card__body {
	min-width: 0;
	min-height: 0;
	height: 100%;
	align-self: stretch;
}

.ls-offer-card__media {
	position: relative;
	order: 1;
	min-height: clamp(13.75rem, 58vw, 17.5rem);
	overflow: hidden;
	background: #d8c7b9;
	pointer-events: none;
}

/* Body darf kein Positioning-Kontext sein, damit der Stretch-Link die ganze Card abdeckt */
.ls-offer-card > .ls-offer-card__body,
.ls-offer-card > .ls-offer-card__body.wp-block-group {
	position: static;
}

.ls-offer-card__note {
	pointer-events: none;
}

.ls-offer-card__media.wp-block-group,
.ls-offer-card__body.wp-block-group {
	max-width: none;
}

.ls-offer-card__media .wp-block-image,
.ls-offer-card__media figure,
.ls-offer-card__image {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	width: 100%;
	height: 100%;
}

.ls-offer-card__media img,
.ls-offer-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ls-offer-card--mentoring .ls-offer-card__media img { object-position: 58% center; }
.ls-offer-card--sleep .ls-offer-card__media img { object-position: 68% center; }
.ls-offer-card--family .ls-offer-card__media img { object-position: 70% center; }
.ls-offer-card--astrology .ls-offer-card__media img { object-position: 58% center; }
.ls-offer-card--sup .ls-offer-card__media img { object-position: 65% center; }

.ls-offer-card__body {
	order: 2;
	display: grid;
	gap: 1rem;
	align-content: center;
	box-sizing: border-box;
	padding: clamp(1.35rem, 4vw, 2.25rem);
	color: var(--ls-color-ink, #351c30);
}

.ls-offer-card__body > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
}

.ls-offer-card__eyebrow {
	margin: 0;
	color: inherit;
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	opacity: 0.78;
}

.ls-offer-card__title,
.ls-offer-card__body h3 {
	margin: 0;
	color: inherit;
	font-family: var(--ls-font-display, "Fraunces", Georgia, serif);
	font-size: clamp(1.85rem, 5vw, 3rem);
	font-weight: 450;
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.ls-offer-card__copy {
	margin: 0;
	color: inherit;
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: clamp(1rem, 1.8vw, 1.125rem);
	line-height: 1.65;
	opacity: 0.92;
}

.ls-offer-card__points {
	display: grid;
	gap: 0.65rem;
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
}

.ls-offer-card__points li {
	display: grid;
	grid-template-columns: 1.35rem minmax(0, 1fr);
	gap: 0.65rem;
	align-items: start;
	margin: 0;
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.35;
}

.ls-offer-card__points svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.1rem;
	color: var(--ls-color-primary, #5b2450);
}

.ls-offer-card__link {
	position: static;
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.75rem;
	margin-top: 0.35rem;
	color: inherit;
	font-family: var(--ls-font-body, "Work Sans", system-ui, sans-serif);
	font-size: 1rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.35em;
	transition: gap 180ms ease, color 180ms ease;
}

/* Gesamte Karte klickbar – Stretch-Link über die Card-Fläche */
.ls-offer-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

.ls-offer-card__link:hover {
	gap: 0.9rem;
}

.ls-offer-card__link:focus-visible {
	outline: none;
}

.ls-offer-card__link:focus-visible::after {
	outline: 3px solid var(--ls-color-orange, #f1601e);
	outline-offset: -6px;
}

.ls-offer-card:hover,
.ls-offer-card:focus-within {
	z-index: 2;
	box-shadow:
		0 1.75rem 3.75rem rgba(64, 35, 49, 0.14),
		0 0.35rem 1rem rgba(64, 35, 49, 0.08);
	transform: scale(1.012);
}

.ls-offer-card__note {
	position: relative;
	z-index: 2;
	width: min(11.5rem, 72%);
	margin: 0;
	padding: 0.7rem 0.85rem;
	color: rgba(43, 22, 38, 0.82);
	font-family: "Caveat", cursive;
	font-size: clamp(1.2rem, 3.5vw, 1.55rem);
	font-weight: 500;
	line-height: 1.15;
	text-align: center;
	background:
		linear-gradient(
			135deg,
			rgba(255, 250, 243, 0.96),
			rgba(246, 238, 226, 0.94)
		);
	border: 1px solid rgba(53, 28, 48, 0.08);
	border-radius: 0.35rem 1rem 0.45rem 1.1rem;
	box-shadow: 0 0.55rem 1.4rem rgba(43, 22, 38, 0.1);
	transform: rotate(-4deg);
}

.ls-offer-card__media .ls-offer-card__note {
	position: absolute;
	left: 0.75rem;
	right: auto;
	bottom: 0.85rem;
}

/* Dark feature card */
.ls-offer-card--dark .ls-offer-card__body {
	color: #fcf8f1;
	background:
		linear-gradient(
			180deg,
			rgba(42, 19, 38, 0.96) 0%,
			rgba(53, 28, 48, 0.98) 100%
		);
}

.ls-offer-card--dark .ls-offer-card__points svg {
	color: #f3b09a;
}

.ls-offer-card--dark .ls-offer-card__link:focus-visible::after {
	outline-color: #f1601e;
}

/* Light cards with soft wash near media edge on larger screens */
.ls-offer-card--light .ls-offer-card__body {
	background: rgba(255, 250, 243, 0.98);
}

@media (min-width: 48rem) {
	.ls-offer-card {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
		min-height: 22rem;
	}

	.ls-offer-card__media {
		min-height: 100%;
		order: 1;
	}

	.ls-offer-card__body {
		order: 2;
		padding: clamp(1.5rem, 3vw, 2.5rem);
	}

	.ls-offer-card--light .ls-offer-card__body {
		background:
			linear-gradient(
				90deg,
				rgba(255, 250, 243, 0.99) 0%,
				rgba(255, 250, 243, 0.96) 70%,
				rgba(255, 250, 243, 0.9) 100%
			);
	}

	.ls-offer-card--mentoring {
		transform: rotate(-0.25deg);
	}

	.ls-offer-card--sleep {
		transform: rotate(0.18deg);
	}

	.ls-offer-card--family {
		transform: rotate(0.12deg);
	}

	.ls-offer-card--astrology {
		transform: rotate(-0.16deg);
	}

	.ls-offer-card--sup {
		transform: rotate(0.08deg);
	}

	.ls-offer-card--mentoring:hover,
	.ls-offer-card--mentoring:focus-within {
		transform: rotate(-0.25deg) scale(1.012);
	}

	.ls-offer-card--sleep:hover,
	.ls-offer-card--sleep:focus-within {
		transform: rotate(0.18deg) scale(1.012);
	}

	.ls-offer-card--family:hover,
	.ls-offer-card--family:focus-within {
		transform: rotate(0.12deg) scale(1.012);
	}

	.ls-offer-card--astrology:hover,
	.ls-offer-card--astrology:focus-within {
		transform: rotate(-0.16deg) scale(1.012);
	}

	.ls-offer-card--sup:hover,
	.ls-offer-card--sup:focus-within {
		transform: rotate(0.08deg) scale(1.012);
	}
}

@media (min-width: 64rem) {
	/* Eine Karte pro Zeile; Zweispaltigkeit nur innerhalb der Karte */
	.ls-offers-list__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(1.5rem, 2.5vw, 2.25rem);
	}

	.ls-offer-card {
		grid-column: auto;
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		min-height: clamp(24rem, 32vw, 30rem);
	}

	.ls-offer-card__title,
	.ls-offer-card__body h3 {
		font-size: clamp(2.25rem, 3vw, 3.5rem);
	}

	.ls-offer-card__body {
		padding: clamp(2rem, 3.5vw, 3rem);
		gap: 1.15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ls-offer-card,
	.ls-offer-card__link {
		transition: none !important;
	}

	.ls-offer-card:hover,
	.ls-offer-card:focus-within,
	.ls-offer-card--mentoring:hover,
	.ls-offer-card--mentoring:focus-within,
	.ls-offer-card--sleep:hover,
	.ls-offer-card--sleep:focus-within,
	.ls-offer-card--family:hover,
	.ls-offer-card--family:focus-within,
	.ls-offer-card--astrology:hover,
	.ls-offer-card--astrology:focus-within,
	.ls-offer-card--sup:hover,
	.ls-offer-card--sup:focus-within {
		transform: none !important;
	}
}

/* Anker-Offset für Finder-Sprünge */
#persoenliches-mentoring,
#schlafcoaching,
#familie-beziehung,
#astrologisches-reading,
#sup-yoga {
	scroll-margin-top: clamp(6rem, 10vw, 9rem);
}

body.admin-bar #persoenliches-mentoring,
body.admin-bar #schlafcoaching,
body.admin-bar #familie-beziehung,
body.admin-bar #astrologisches-reading,
body.admin-bar #sup-yoga {
	scroll-margin-top: calc(clamp(6rem, 10vw, 9rem) + 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar #persoenliches-mentoring,
	body.admin-bar #schlafcoaching,
	body.admin-bar #familie-beziehung,
	body.admin-bar #astrologisches-reading,
	body.admin-bar #sup-yoga {
		scroll-margin-top: calc(clamp(6rem, 10vw, 9rem) + 46px);
	}
}
