.cg-campaign-section,
.cg-campaign-landing,
.cg-campaign-popup {
	--cg-ha-paper: #f7efe6;
	--cg-ha-paper-soft: #fbf6f0;
	--cg-ha-bordeaux: #570801;
	--cg-ha-bordeaux-deep: #3f0805;
	--cg-ha-magenta: #e5007e;
	--cg-ha-magenta-dark: #b00061;
	--cg-ha-orange: #ed6c00;
	--cg-ha-text: #3d1614;
	--cg-ha-muted: #6e504b;
	--cg-ha-white: #ffffff;
	--cg-ha-paper-image: url("../img/herbstaktion/cg-herbstaktion-paper.webp");
	--cg-ha-hero-desktop: url("../img/herbstaktion/cg-herbstaktion-hero-desktop.webp");
	--cg-ha-hero-mobile: url("../img/herbstaktion/cg-herbstaktion-hero-mobile.webp");
	--cg-ha-banner-desktop: url("../img/herbstaktion/cg-herbstaktion-banner-desktop.webp");
}

.cg-campaign-section *,
.cg-campaign-landing *,
.cg-campaign-popup * {
	box-sizing: border-box;
}

.cg-campaign-section h2,
.cg-campaign-section p,
.cg-campaign-section a,
.cg-campaign-landing h1,
.cg-campaign-landing h2,
.cg-campaign-landing p,
.cg-campaign-landing ul,
.cg-campaign-landing a,
.cg-campaign-popup h2,
.cg-campaign-popup p,
.cg-campaign-popup a,
.cg-campaign-popup button {
	margin: 0;
}

.cg-campaign-section img,
.cg-campaign-landing img,
.cg-campaign-popup img {
	display: block;
	max-width: 100%;
}

.cg-campaign-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 13px 24px;
	border: 0;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
	transition:
		transform .16s ease,
		background-color .16s ease,
		box-shadow .16s ease;
}

.cg-campaign-button--primary {
	background: var(--cg-ha-bordeaux);
	color: #fff;
	box-shadow: 0 10px 24px rgba(87, 8, 1, .16);
}

.cg-campaign-button--primary:hover,
.cg-campaign-button--primary:focus-visible {
	background: #710d04;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 13px 28px rgba(87, 8, 1, .22);
}

.cg-campaign-link {
	display: inline-flex;
	align-items: center;
	color: var(--cg-ha-bordeaux);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.cg-campaign-link:hover,
.cg-campaign-link:focus-visible {
	color: var(--cg-ha-magenta-dark);
}


/* ---------------------------------------------------------
 * STARTSEITE + FITNESS: horizontales Kampagnenplakat
 * --------------------------------------------------------- */

.cg-campaign-section {
	position: relative;
	isolation: isolate;
	width: 100%;
	min-height: 620px;
	overflow: hidden;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-banner-desktop);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-block: 1px solid rgba(87, 8, 1, .08);
}

.cg-campaign-section::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(248, 241, 232, .04) 0%,
		rgba(248, 241, 232, 0) 57%,
		rgba(248, 241, 232, .03) 100%
	);
	pointer-events: none;
}

.cg-campaign-section__stage {
	width: min(1240px, calc(100% - 48px));
	min-height: 620px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	padding-block: 54px;
}

.cg-campaign-section__content {
	width: min(580px, 48%);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
}

.cg-campaign-section__wordmark {
	width: min(430px, 100%);
	height: auto;
	margin-left: -8px;
	margin-bottom: -8px;
}

.cg-campaign-section__kicker,
.cg-campaign-hero__kicker {
	color: var(--cg-ha-bordeaux);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.cg-campaign-section__offer,
.cg-campaign-hero__offer {
	display: grid;
	grid-template-columns: auto auto 1fr;
	align-items: center;
	gap: 10px 15px;
	width: 100%;
}

.cg-campaign-section__offer-prefix,
.cg-campaign-hero__offer-prefix {
	align-self: center;
	color: var(--cg-ha-bordeaux);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

.cg-campaign-section__offer-number,
.cg-campaign-hero__offer-number {
	color: var(--cg-ha-magenta);
	font-size: clamp(96px, 8vw, 142px);
	font-weight: 800;
	line-height: .78;
	letter-spacing: -.055em;
}

.cg-campaign-section__offer-copy,
.cg-campaign-hero__offer-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
}

.cg-campaign-section__offer-copy strong,
.cg-campaign-hero__offer-copy strong {
	color: var(--cg-ha-bordeaux);
	font-size: clamp(30px, 3.3vw, 48px);
	font-weight: 800;
	line-height: .98;
}

.cg-campaign-section__offer-copy b,
.cg-campaign-hero__offer-copy b {
	color: var(--cg-ha-magenta);
	font-size: clamp(19px, 2.1vw, 28px);
	font-weight: 800;
	line-height: 1.03;
}

.cg-campaign-section__suboffer {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-top: 13px;
	border-top: 2px solid rgba(229, 0, 126, .5);
	color: var(--cg-ha-text);
	font-size: 15px;
	line-height: 1.45;
}

.cg-campaign-section__suboffer strong {
	color: var(--cg-ha-magenta);
	font-size: 19px;
	font-weight: 800;
}

.cg-campaign-section__meta {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 14px;
	background: linear-gradient(90deg, var(--cg-ha-magenta), #c4006e);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	box-shadow: 0 8px 20px rgba(229, 0, 126, .14);
}

.cg-campaign-section__actions,
.cg-campaign-hero__actions,
.cg-campaign-benefits__actions,
.cg-campaign-popup__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 17px;
}

.cg-campaign-section--fitness {
	min-height: 680px;
}

.cg-campaign-section--fitness .cg-campaign-section__stage {
	min-height: 680px;
}


/* ---------------------------------------------------------
 * LANDINGPAGE: digitales Plakat
 * --------------------------------------------------------- */

.cg-campaign-landing {
	width: 100%;
	overflow: hidden;
	color: var(--cg-ha-text);
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
}

.cg-campaign-hero {
	position: relative;
	min-height: min(920px, 88vh);
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-hero-desktop);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.cg-campaign-hero__content {
	width: min(1240px, calc(100% - 48px));
	min-height: min(920px, 88vh);
	margin-inline: auto;
	padding-block: 70px 58px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 15px;
}

.cg-campaign-hero__content > * {
	width: min(585px, 48%);
}

.cg-campaign-hero__wordmark {
	width: min(550px, 47%);
	height: auto;
	margin-left: -11px;
	margin-bottom: -4px;
}

.cg-campaign-hero__offer {
	max-width: 610px;
}

.cg-campaign-hero__offer-number {
	font-size: clamp(118px, 9vw, 164px);
}

.cg-campaign-hero__offer-copy strong {
	font-size: clamp(38px, 3.7vw, 56px);
}

.cg-campaign-hero__offer-copy b {
	font-size: clamp(23px, 2.2vw, 31px);
}

.cg-campaign-hero__membership-note {
	color: var(--cg-ha-text);
	font-size: 16px;
	line-height: 1.45;
}

.cg-campaign-hero__suboffer {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-top: 14px;
	border-top: 2px solid rgba(229, 0, 126, .55);
	font-size: 16px;
	line-height: 1.45;
}

.cg-campaign-hero__suboffer strong {
	color: var(--cg-ha-magenta);
	font-size: 21px;
	font-weight: 800;
}

.cg-campaign-hero__meta-row {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 5px;
}

.cg-campaign-hero__date,
.cg-campaign-hero__locations {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 14px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: .01em;
}

.cg-campaign-hero__date {
	background: var(--cg-ha-magenta);
	color: #fff;
}

.cg-campaign-hero__locations {
	background: var(--cg-ha-bordeaux);
	color: #fff;
}

.cg-campaign-hero__actions {
	margin-top: 6px;
}


/* Aktionsangebot wie Flyer-Rückseite */

.cg-campaign-offer-board {
	position: relative;
	padding-block: 92px;
	background-color: var(--cg-ha-paper-soft);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
}

.cg-campaign-offer-board::before,
.cg-campaign-offer-board::after {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
}

.cg-campaign-offer-board::before {
	left: -18px;
	bottom: -55px;
	width: 270px;
	height: 320px;
	background-image: url("../img/herbstaktion/cg-herbstaktion-leaves-bl.png");
	background-position: left bottom;
}

.cg-campaign-offer-board__inner {
	position: relative;
	z-index: 1;
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) minmax(190px, 2fr);
	gap: 56px;
	align-items: center;
}

.cg-campaign-offer-board__heading {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.cg-campaign-poster-eyebrow,
.cg-campaign-close__eyebrow,
.cg-campaign-ended__eyebrow {
	color: var(--cg-ha-magenta);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.cg-campaign-offer-board__heading h2,
.cg-campaign-benefits__copy h2,
.cg-campaign-locations__heading h2,
.cg-campaign-close__content h2,
.cg-campaign-ended__content h1 {
	color: var(--cg-ha-bordeaux);
	font-size: clamp(36px, 4vw, 54px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.cg-campaign-offer-board__offers {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.cg-campaign-offer-board__offer {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 22px;
	align-items: center;
	padding-block: 8px 24px;
	border-bottom: 1px solid rgba(87, 8, 1, .2);
}

.cg-campaign-offer-board__offer img {
	width: 120px;
	height: auto;
}

.cg-campaign-offer-board__offer > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.cg-campaign-offer-board__offer span {
	padding: 3px 7px;
	background: var(--cg-ha-magenta);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
}

.cg-campaign-offer-board__offer strong {
	color: var(--cg-ha-magenta);
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.05;
}

.cg-campaign-offer-board__offer p {
	color: var(--cg-ha-text);
	font-size: 16px;
	line-height: 1.45;
}

.cg-campaign-offer-board__stamp {
	width: 190px;
	height: auto;
	justify-self: end;
}


/* Vorteile + emotionales Flyerbild */

.cg-campaign-benefits {
	position: relative;
	padding-block: 96px;
	background-color: #fffaf5;
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
}

.cg-campaign-benefits__inner {
	width: min(1240px, calc(100% - 48px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 70px;
	align-items: center;
}

.cg-campaign-benefits__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
}

.cg-campaign-benefits__copy ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 17px;
	width: 100%;
}

.cg-campaign-benefits__copy li {
	position: relative;
	min-height: 46px;
	padding: 10px 0 10px 58px;
	color: var(--cg-ha-text);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	border-bottom: 1px dotted rgba(87, 8, 1, .22);
}

.cg-campaign-benefits__copy li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 5px;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--cg-ha-magenta);
	color: #fff;
	font-size: 19px;
	font-weight: 800;
}

.cg-campaign-benefits__visual {
	position: relative;
	min-height: 620px;
}

.cg-campaign-benefits__people {
	position: absolute;
	inset: 0 0 auto auto;
	width: min(760px, 100%);
	height: 620px;
	object-fit: cover;
	object-position: center;
	box-shadow: 0 22px 50px rgba(87, 8, 1, .12);
}

.cg-campaign-benefits__brush {
	position: absolute;
	right: -55px;
	bottom: 20px;
	width: min(520px, 76%);
	height: auto;
	transform: rotate(-2deg);
	filter: drop-shadow(0 10px 18px rgba(87, 8, 1, .1));
}


/* Standorte als Bordeaux-Balken */

.cg-campaign-locations {
	padding-block: 82px 96px;
	background-color: var(--cg-ha-paper-soft);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
}

.cg-campaign-locations__heading {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto 32px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cg-campaign-locations__bar {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: linear-gradient(110deg, #4a0b08, #6a2822);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 18px 38px rgba(87, 8, 1, .17);
}

.cg-campaign-locations__bar a {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 30px 34px;
	color: #fff;
	text-decoration: none;
}

.cg-campaign-locations__bar a + a {
	border-left: 1px solid rgba(255, 255, 255, .45);
}

.cg-campaign-locations__bar strong {
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .015em;
}

.cg-campaign-locations__bar span {
	font-size: 16px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .9);
}

.cg-campaign-locations__bar small {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

.cg-campaign-locations__bar a:hover,
.cg-campaign-locations__bar a:focus-visible {
	background: rgba(255, 255, 255, .07);
}


/* Abschluss als weiteres Kampagnenplakat */

.cg-campaign-close {
	position: relative;
	min-height: 560px;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-banner-desktop);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.cg-campaign-close__content {
	width: min(1240px, calc(100% - 48px));
	min-height: 560px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
}

.cg-campaign-close__content > * {
	width: min(575px, 48%);
}

.cg-campaign-close__content p:not(.cg-campaign-close__eyebrow):not(.cg-campaign-close__fineprint) {
	color: var(--cg-ha-muted);
	font-size: 18px;
	line-height: 1.6;
}

.cg-campaign-close__fineprint {
	margin-top: 18px;
	color: #715a55;
	font-size: 12px;
	line-height: 1.5;
}


/* Abgelaufene Kampagne bleibt im Flyer-Look */

.cg-campaign-ended {
	min-height: 720px;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-hero-desktop);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.cg-campaign-ended__content {
	width: min(1240px, calc(100% - 48px));
	min-height: 720px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
}

.cg-campaign-ended__content > * {
	width: min(600px, 48%);
}

.cg-campaign-ended__wordmark {
	width: min(510px, 45%);
	height: auto;
	margin-left: -8px;
}

.cg-campaign-ended__content p:not(.cg-campaign-ended__eyebrow) {
	color: var(--cg-ha-muted);
	font-size: 18px;
	line-height: 1.6;
}


/* ---------------------------------------------------------
 * POPUP: Mini-Flyer statt Standarddialog
 * --------------------------------------------------------- */

.cg-campaign-popup[hidden] {
	display: none !important;
}

.cg-campaign-popup {
	position: fixed;
	inset: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
}

.cg-campaign-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(37, 20, 17, .68);
	backdrop-filter: blur(2px);
}

.cg-campaign-popup__dialog {
	position: relative;
	z-index: 1;
	width: min(680px, 100%);
	max-height: calc(100vh - 44px);
	overflow: auto;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
	border: 1px solid rgba(87, 8, 1, .2);
	border-radius: 12px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
}

.cg-campaign-popup__art {
	width: 100%;
	height: auto;
	border-radius: 11px 11px 0 0;
}

.cg-campaign-popup__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 24px 28px 28px;
	border-top: 4px solid var(--cg-ha-magenta);
}

.cg-campaign-popup__eyebrow {
	color: var(--cg-ha-magenta);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cg-campaign-popup__dialog h2 {
	max-width: 18ch;
	color: var(--cg-ha-bordeaux);
	font-size: 34px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.02em;
}

.cg-campaign-popup__content > p:not(.cg-campaign-popup__eyebrow) {
	color: var(--cg-ha-muted);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
}

.cg-campaign-popup__close {
	position: absolute;
	z-index: 2;
	top: 12px;
	right: 12px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(87, 8, 1, .18);
	border-radius: 50%;
	background: rgba(255, 250, 245, .94);
	color: var(--cg-ha-bordeaux);
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 6px 15px rgba(87, 8, 1, .12);
}

body.cg-campaign-popup-open {
	overflow: hidden;
}


/* ---------------------------------------------------------
 * TABLET
 * --------------------------------------------------------- */

@media (max-width: 1100px) {

	.cg-campaign-section,
	.cg-campaign-section__stage {
		min-height: 590px;
	}

	.cg-campaign-section__content,
	.cg-campaign-hero__content > *,
	.cg-campaign-close__content > *,
	.cg-campaign-ended__content > * {
		width: min(540px, 53%);
	}

	.cg-campaign-hero__wordmark,
	.cg-campaign-ended__wordmark {
		width: min(500px, 50%);
	}

	.cg-campaign-offer-board__inner {
		grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
	}

	.cg-campaign-offer-board__stamp {
		grid-column: 1 / -1;
		justify-self: center;
		width: 160px;
	}

	.cg-campaign-benefits__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 45px;
	}

	.cg-campaign-benefits__visual {
		min-height: 560px;
	}

	.cg-campaign-benefits__people {
		height: 560px;
	}
}


/* ---------------------------------------------------------
 * MOBILE: eigenständiges vertikales Plakat
 * --------------------------------------------------------- */

@media (max-width: 767px) {

	.cg-campaign-button {
		width: 100%;
		min-height: 50px;
	}

	.cg-campaign-section {
		min-height: 960px;
		background-image: var(--cg-ha-hero-mobile);
		background-position: center top;
		background-size: cover;
	}

	.cg-campaign-section__stage {
		width: min(100% - 32px, 620px);
		min-height: 960px;
		padding: 575px 0 42px;
		align-items: flex-end;
	}

	.cg-campaign-section__content {
		width: 100%;
		gap: 13px;
	}

	.cg-campaign-section__wordmark {
		width: min(390px, 94%);
		margin-left: -4px;
	}

	.cg-campaign-section__kicker,
	.cg-campaign-hero__kicker {
		font-size: 14px;
	}

	.cg-campaign-section__offer,
	.cg-campaign-hero__offer {
		grid-template-columns: auto auto 1fr;
		gap: 6px 10px;
	}

	.cg-campaign-section__offer-prefix,
	.cg-campaign-hero__offer-prefix {
		font-size: 13px;
	}

	.cg-campaign-section__offer-number,
	.cg-campaign-hero__offer-number {
		font-size: 88px;
	}

	.cg-campaign-section__offer-copy strong,
	.cg-campaign-hero__offer-copy strong {
		font-size: 28px;
	}

	.cg-campaign-section__offer-copy b,
	.cg-campaign-hero__offer-copy b {
		font-size: 17px;
	}

	.cg-campaign-section__suboffer strong {
		font-size: 17px;
	}

	.cg-campaign-section__meta {
		font-size: 13px;
	}

	.cg-campaign-section__actions,
	.cg-campaign-hero__actions,
	.cg-campaign-benefits__actions,
	.cg-campaign-popup__actions {
		width: 100%;
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
	}


	.cg-campaign-hero {
		min-height: 1180px;
		background-image: var(--cg-ha-hero-mobile);
		background-position: center top;
		background-size: cover;
	}

	.cg-campaign-hero__content {
		width: min(100% - 32px, 620px);
		min-height: 1180px;
		padding: 615px 0 48px;
		justify-content: flex-end;
		gap: 13px;
	}

	.cg-campaign-hero__content > *,
	.cg-campaign-close__content > *,
	.cg-campaign-ended__content > * {
		width: 100%;
	}

	.cg-campaign-hero__wordmark {
		width: min(410px, 96%);
		margin-left: -4px;
	}

	.cg-campaign-hero__membership-note,
	.cg-campaign-hero__suboffer {
		font-size: 14px;
	}

	.cg-campaign-hero__suboffer strong {
		font-size: 18px;
	}

	.cg-campaign-hero__meta-row {
		width: 100%;
		flex-direction: column;
	}

	.cg-campaign-hero__date,
	.cg-campaign-hero__locations {
		width: 100%;
		font-size: 13px;
	}


	.cg-campaign-offer-board,
	.cg-campaign-benefits,
	.cg-campaign-locations {
		padding-block: 64px;
	}

	.cg-campaign-offer-board::before {
		width: 190px;
		height: 225px;
		opacity: .75;
	}

	.cg-campaign-offer-board__inner,
	.cg-campaign-benefits__inner {
		width: min(100% - 32px, 620px);
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.cg-campaign-offer-board__heading h2,
	.cg-campaign-benefits__copy h2,
	.cg-campaign-locations__heading h2,
	.cg-campaign-close__content h2,
	.cg-campaign-ended__content h1 {
		font-size: 34px;
	}

	.cg-campaign-offer-board__offer {
		grid-template-columns: 92px 1fr;
		gap: 16px;
	}

	.cg-campaign-offer-board__offer img {
		width: 88px;
	}

	.cg-campaign-offer-board__offer strong {
		font-size: 26px;
	}

	.cg-campaign-offer-board__offer p {
		font-size: 14px;
	}

	.cg-campaign-offer-board__stamp {
		grid-column: auto;
		justify-self: center;
		width: 150px;
	}

	.cg-campaign-benefits__copy li {
		font-size: 15px;
	}

	.cg-campaign-benefits__visual {
		min-height: 490px;
	}

	.cg-campaign-benefits__people {
		position: relative;
		width: 100%;
		height: 490px;
		object-position: 55% center;
	}

	.cg-campaign-benefits__brush {
		right: -20px;
		bottom: 10px;
		width: 82%;
	}

	.cg-campaign-locations__heading,
	.cg-campaign-locations__bar {
		width: min(100% - 32px, 620px);
	}

	.cg-campaign-locations__bar {
		grid-template-columns: 1fr;
	}

	.cg-campaign-locations__bar a + a {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .45);
	}

	.cg-campaign-locations__bar a {
		padding: 26px 24px;
	}

	.cg-campaign-close {
		min-height: 900px;
		background-image: var(--cg-ha-hero-mobile);
		background-position: center top;
		background-size: cover;
	}

	.cg-campaign-close__content {
		width: min(100% - 32px, 620px);
		min-height: 900px;
		padding: 555px 0 46px;
		justify-content: flex-end;
	}

	.cg-campaign-close__content p:not(.cg-campaign-close__eyebrow):not(.cg-campaign-close__fineprint) {
		font-size: 16px;
	}

	.cg-campaign-ended {
		min-height: 900px;
		background-image: var(--cg-ha-hero-mobile);
		background-position: center top;
		background-size: cover;
	}

	.cg-campaign-ended__content {
		width: min(100% - 32px, 620px);
		min-height: 900px;
		padding: 550px 0 46px;
		justify-content: flex-end;
	}

	.cg-campaign-ended__wordmark {
		width: min(410px, 96%);
	}

	.cg-campaign-popup {
		padding: 12px;
	}

	.cg-campaign-popup__dialog {
		width: min(540px, 100%);
		max-height: calc(100vh - 24px);
	}

	.cg-campaign-popup__content {
		padding: 20px 20px 22px;
	}

	.cg-campaign-popup__dialog h2 {
		font-size: 29px;
	}

	.cg-campaign-popup__close {
		top: 8px;
		right: 8px;
		width: 38px;
		height: 38px;
	}
}

/* =========================================================
 * HERBSTAKTION 2026 – VISUAL POLISH 0.17.2
 * Ruhiges Papier, vollständiges Personenmotiv, weniger
 * Bildwiederholung und bewusst gesetzte Herbstkomposition.
 * ========================================================= */

.cg-campaign-section,
.cg-campaign-landing,
.cg-campaign-popup {
	--cg-ha-paper-image: url("../img/herbstaktion/cg-herbstaktion-paper-clean.webp");
	--cg-ha-people-image: url("../img/herbstaktion/cg-herbstaktion-people-hq.webp");
}

/* Keine sichtbaren Kachel-/Senkrechtstreifen mehr. */
.cg-campaign-landing,
.cg-campaign-offer-board,
.cg-campaign-benefits,
.cg-campaign-locations,
.cg-campaign-popup__dialog {
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
	background-size: 520px 520px;
}

.cg-campaign-offer-board {
	background-color: var(--cg-ha-paper-soft);
}

.cg-campaign-benefits {
	background-color: #fffaf5;
}

.cg-campaign-locations {
	background-color: var(--cg-ha-paper-soft);
}

/* Das Angebotskapitel bleibt bewusst ruhig. */
.cg-campaign-offer-board::before,
.cg-campaign-offer-board::after {
	display: none;
}

/* ---------------------------------------------------------
 * STARTSEITE + FITNESS: Personenmotiv nie mehr per cover
 * beschneiden. Das komplette Paar skaliert proportional.
 * --------------------------------------------------------- */

.cg-campaign-section {
	background-color: var(--cg-ha-paper);
	background-image:
		url("../img/herbstaktion/cg-herbstaktion-leaves-tl.png"),
		var(--cg-ha-paper-image);
	background-repeat: no-repeat, repeat;
	background-position: left top, center;
	background-size: 170px auto, 520px 520px;
}

.cg-campaign-section::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	width: min(48vw, 790px);
	aspect-ratio: 1290 / 1010;
	background-image:
		linear-gradient(
			90deg,
			var(--cg-ha-paper) 0%,
			rgba(247, 239, 230, .88) 7%,
			rgba(247, 239, 230, .42) 15%,
			rgba(247, 239, 230, 0) 26%
		),
		var(--cg-ha-people-image);
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: 100% 100%, contain;
	pointer-events: none;
}

.cg-campaign-section::after {
	display: none;
}

.cg-campaign-section__stage {
	position: relative;
	z-index: 2;
}

/* ---------------------------------------------------------
 * LANDING HERO: Posterfläche + vollständiges Paar.
 * Keine cover-Crops und kein Upscaling über die Quelldatei.
 * --------------------------------------------------------- */

.cg-campaign-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--cg-ha-paper);
	background-image:
		url("../img/herbstaktion/cg-herbstaktion-leaves-tl.png"),
		var(--cg-ha-paper-image);
	background-repeat: no-repeat, repeat;
	background-position: left top, center;
	background-size: 190px auto, 520px 520px;
}

.cg-campaign-hero::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	width: min(58vw, 1180px);
	aspect-ratio: 1290 / 1010;
	background-image:
		linear-gradient(
			90deg,
			var(--cg-ha-paper) 0%,
			rgba(247, 239, 230, .92) 7%,
			rgba(247, 239, 230, .55) 15%,
			rgba(247, 239, 230, 0) 27%
		),
		var(--cg-ha-people-image);
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: 100% 100%, contain;
	pointer-events: none;
}

.cg-campaign-hero__content {
	position: relative;
	z-index: 2;
}

/* ---------------------------------------------------------
 * VORTEILE: kein drittes Paarfoto. Stattdessen eine freie,
 * asymmetrische Herbstkomposition aus echten Flyer-Assets.
 * --------------------------------------------------------- */

.cg-campaign-benefits__visual {
	position: relative;
	min-height: 600px;
	background-image:
		url("../img/herbstaktion/cg-herbstaktion-leaves-bl.png"),
		url("../img/herbstaktion/cg-herbstaktion-leaves-br.png"),
		url("../img/herbstaktion/cg-herbstaktion-date-stamp.png");
	background-repeat: no-repeat;
	background-position:
		left 4% bottom -28px,
		right -14px top 4px,
		left 38% top 58px;
	background-size:
		320px auto,
		185px auto,
		178px auto;
}

.cg-campaign-benefits__people {
	display: none;
}

.cg-campaign-benefits__brush {
	right: -16px;
	bottom: 98px;
	width: min(560px, 84%);
	transform: rotate(-4deg);
	filter: drop-shadow(0 12px 22px rgba(87, 8, 1, .12));
}

/* ---------------------------------------------------------
 * ABSCHLUSS + ENDED: auch hier das Paar proportional führen.
 * Anfang und Ende korrespondieren, ohne denselben Crop-Trick.
 * --------------------------------------------------------- */

.cg-campaign-close,
.cg-campaign-ended {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--cg-ha-paper);
	background-image:
		url("../img/herbstaktion/cg-herbstaktion-leaves-bl.png"),
		var(--cg-ha-paper-image);
	background-repeat: no-repeat, repeat;
	background-position: left bottom, center;
	background-size: 205px auto, 520px 520px;
}

.cg-campaign-close::before,
.cg-campaign-ended::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	width: min(55vw, 715px);
	aspect-ratio: 1290 / 1010;
	background-image:
		linear-gradient(
			90deg,
			var(--cg-ha-paper) 0%,
			rgba(247, 239, 230, .9) 7%,
			rgba(247, 239, 230, .46) 16%,
			rgba(247, 239, 230, 0) 28%
		),
		var(--cg-ha-people-image);
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: 100% 100%, contain;
	pointer-events: none;
}

.cg-campaign-ended::before {
	width: min(55vw, 920px);
}

.cg-campaign-close__content,
.cg-campaign-ended__content {
	position: relative;
	z-index: 2;
}

/* ---------------------------------------------------------
 * Tablet: Bild bleibt vollständig; Mobile-Plakat startet
 * bewusst früher als bisher.
 * --------------------------------------------------------- */

@media (max-width: 1100px) and (min-width: 821px) {
	.cg-campaign-section::before {
		width: 58vw;
	}

	.cg-campaign-hero {
		min-height: 760px;
	}

	.cg-campaign-hero__content {
		min-height: 760px;
		padding-block: 52px 46px;
	}

	.cg-campaign-hero::before {
		width: 58vw;
	}

	.cg-campaign-close::before,
	.cg-campaign-ended::before {
		width: 57vw;
	}

	.cg-campaign-benefits__visual {
		min-height: 540px;
		background-size:
			285px auto,
			160px auto,
			158px auto;
	}
}

@media (max-width: 820px) {
	.cg-campaign-section,
	.cg-campaign-hero,
	.cg-campaign-close,
	.cg-campaign-ended {
		min-height: auto;
		background-color: var(--cg-ha-paper);
		background-image: var(--cg-ha-paper-image);
		background-repeat: repeat;
		background-position: center;
		background-size: 520px 520px;
	}

	.cg-campaign-section::before,
	.cg-campaign-hero::before,
	.cg-campaign-close::before,
	.cg-campaign-ended::before {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		width: 100%;
		aspect-ratio: 1290 / 1010;
		background-image:
			linear-gradient(
				180deg,
				rgba(247, 239, 230, 0) 68%,
				rgba(247, 239, 230, .52) 82%,
				var(--cg-ha-paper) 100%
			),
			var(--cg-ha-people-image);
		background-repeat: no-repeat, no-repeat;
		background-position: center top, center top;
		background-size: 100% 100%, contain;
	}

	.cg-campaign-section__stage,
	.cg-campaign-hero__content,
	.cg-campaign-close__content,
	.cg-campaign-ended__content {
		width: min(100% - 32px, 620px);
		min-height: auto;
		padding-top: calc(min(78.3vw, 642px) + 18px);
		padding-bottom: 46px;
		justify-content: flex-end;
	}

	.cg-campaign-section__content,
	.cg-campaign-section__content > *,
	.cg-campaign-hero__content > *,
	.cg-campaign-close__content > *,
	.cg-campaign-ended__content > * {
		width: 100%;
	}

	.cg-campaign-section__wordmark,
	.cg-campaign-hero__wordmark,
	.cg-campaign-ended__wordmark {
		width: min(410px, 96%);
	}

	.cg-campaign-benefits__visual {
		min-height: 430px;
		background-position:
			left -18px bottom -26px,
			right -36px top 0,
			left 46% top 28px;
		background-size:
			235px auto,
			135px auto,
			135px auto;
	}

	.cg-campaign-benefits__brush {
		right: -16px;
		bottom: 72px;
		width: min(440px, 88%);
	}
}

@media (max-width: 520px) {
	.cg-campaign-section__stage,
	.cg-campaign-hero__content,
	.cg-campaign-close__content,
	.cg-campaign-ended__content {
		padding-top: calc(78.3vw + 18px);
	}

	.cg-campaign-benefits__visual {
		min-height: 360px;
		background-size:
			190px auto,
			112px auto,
			112px auto;
	}

	.cg-campaign-benefits__brush {
		bottom: 56px;
		width: 90%;
	}
}


/* =========================================================
 * Herbstaktion 2026 - Visual Polish 0.17.4
 * Vorteile: ein einziges fertiges Herbstmotiv statt Browser-
 * Collage. Hero, Abschluss, Angebote und Standorte No-Touch.
 * ========================================================= */

.cg-campaign-benefits__visual {
	min-height: 0;
	background-image: none;
	background-color: transparent;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	overflow: visible;
}

.cg-campaign-benefits__art {
	display: block;
	width: min(100%, 700px);
	height: auto;
	margin-left: auto;
	object-fit: contain;
	filter: drop-shadow(0 14px 24px rgba(87, 8, 1, .08));
}

@media (max-width: 1100px) and (min-width: 821px) {
	.cg-campaign-benefits__visual {
		min-height: 0;
	}

	.cg-campaign-benefits__art {
		width: min(100%, 620px);
	}
}

@media (max-width: 820px) {
	.cg-campaign-benefits__visual {
		min-height: 0;
		padding-top: 8px;
		justify-content: center;
	}

	.cg-campaign-benefits__art {
		width: min(100%, 620px);
		margin-inline: auto;
	}
}

@media (max-width: 520px) {
	.cg-campaign-benefits__visual {
		min-height: 0;
		padding-top: 2px;
	}

	.cg-campaign-benefits__art {
		width: 100%;
	}
}


/* =========================================================
 * Herbstaktion 2026 - Homepage Campaign 0.17.5
 * Eigene transparente Kampagnenkomposition + echte HTML-CTAs.
 * Landing, Fitness, Popup und Bricks-Struktur bleiben No-Touch.
 * ========================================================= */

.cg-campaign-section--home {
	min-height: 600px;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
	background-position: center;
	background-size: 520px 520px;
	border-block: 1px solid rgba(87, 8, 1, .08);
}

.cg-campaign-section--home::before,
.cg-campaign-section--home::after {
	display: none;
}

.cg-campaign-section--home .cg-campaign-section__stage {
	position: relative;
	isolation: isolate;
	min-height: 600px;
	padding-block: 48px;
}

.cg-campaign-section--home .cg-campaign-section__content {
	position: relative;
	z-index: 3;
	width: min(500px, 43%);
	gap: 12px;
}

.cg-campaign-section--home .cg-campaign-section__home-art {
	position: absolute;
	z-index: 1;
	right: -132px;
	bottom: -2px;
	width: min(82%, 1050px);
	max-width: none;
	height: auto;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
	filter: drop-shadow(0 16px 28px rgba(87, 8, 1, .06));
}

.cg-campaign-section--home .cg-campaign-section__wordmark {
	width: min(365px, 100%);
	margin-left: -5px;
	margin-bottom: -7px;
}

.cg-campaign-section--home .cg-campaign-section__kicker {
	font-size: 15px;
	letter-spacing: .035em;
}

.cg-campaign-section--home .cg-campaign-section__offer-number {
	font-size: clamp(84px, 7vw, 112px);
}

.cg-campaign-section--home .cg-campaign-section__offer-copy strong {
	font-size: clamp(28px, 2.7vw, 38px);
}

.cg-campaign-section--home .cg-campaign-section__offer-copy b {
	font-size: clamp(18px, 1.75vw, 24px);
}

.cg-campaign-section--home .cg-campaign-section__suboffer {
	width: min(440px, 100%);
	padding-top: 10px;
	font-size: 14px;
}

.cg-campaign-section--home .cg-campaign-section__suboffer strong {
	font-size: 17px;
}

.cg-campaign-section--home .cg-campaign-section__meta {
	min-height: 34px;
	padding: 7px 12px;
	background: linear-gradient(100deg, var(--cg-ha-magenta), #c4006e 72%, #a5005b);
	font-size: 13px;
	box-shadow: 0 7px 18px rgba(229, 0, 126, .12);
}

/* Kampagnen-CTAs: keine Standardlinks, sondern zwei klar gestaltete
 * Aktionsflächen. Die Link-/Modalfunktion selbst bleibt unverändert. */
.cg-campaign-section--home .cg-campaign-section__actions {
	gap: 12px;
	padding-top: 4px;
}

.cg-campaign-section--home .cg-campaign-button--primary,
.cg-campaign-section--home .cg-campaign-link {
	position: relative;
	isolation: isolate;
	min-height: 48px;
	padding: 12px 19px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: .005em;
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		background-color .16s ease,
		border-color .16s ease;
}

.cg-campaign-section--home .cg-campaign-button--primary {
	border: 1px solid rgba(63, 8, 5, .35);
	background: linear-gradient(105deg, var(--cg-ha-bordeaux) 0%, #6e0c05 72%, #86180f 100%);
	color: #fff;
	box-shadow: 0 11px 24px rgba(87, 8, 1, .17);
}

.cg-campaign-section--home .cg-campaign-button--primary::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 13px;
	right: 13px;
	top: -4px;
	height: 4px;
	background: linear-gradient(90deg, var(--cg-ha-magenta), var(--cg-ha-orange));
	transform: skewX(-18deg);
}

.cg-campaign-section--home .cg-campaign-button--primary:hover,
.cg-campaign-section--home .cg-campaign-button--primary:focus-visible {
	background: linear-gradient(105deg, #6d0c04 0%, #80150b 72%, #982117 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(87, 8, 1, .22);
}

.cg-campaign-section--home .cg-campaign-link {
	gap: 9px;
	border: 1px solid rgba(87, 8, 1, .32);
	background: rgba(255, 250, 245, .84);
	color: var(--cg-ha-bordeaux);
	box-shadow: 0 8px 20px rgba(87, 8, 1, .07);
	backdrop-filter: blur(2px);
}

.cg-campaign-section--home .cg-campaign-link::after {
	content: "→";
	color: var(--cg-ha-magenta);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	transition: transform .16s ease;
}

.cg-campaign-section--home .cg-campaign-link:hover,
.cg-campaign-section--home .cg-campaign-link:focus-visible {
	border-color: rgba(229, 0, 126, .58);
	background: rgba(255, 255, 255, .94);
	color: var(--cg-ha-bordeaux);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(87, 8, 1, .10);
}

.cg-campaign-section--home .cg-campaign-link:hover::after,
.cg-campaign-section--home .cg-campaign-link:focus-visible::after {
	transform: translateX(3px);
}

@media (max-width: 1100px) and (min-width: 821px) {
	.cg-campaign-section--home,
	.cg-campaign-section--home .cg-campaign-section__stage {
		min-height: 570px;
	}

	.cg-campaign-section--home .cg-campaign-section__stage {
		padding-block: 42px;
	}

	.cg-campaign-section--home .cg-campaign-section__content {
		width: 46%;
	}

	.cg-campaign-section--home .cg-campaign-section__home-art {
		right: -118px;
		width: min(86%, 920px);
	}
}

@media (max-width: 820px) {
	.cg-campaign-section--home {
		min-height: auto;
		background-color: var(--cg-ha-paper);
		background-image: var(--cg-ha-paper-image);
		background-repeat: repeat;
		background-position: center;
		background-size: 520px 520px;
	}

	.cg-campaign-section--home .cg-campaign-section__stage {
		width: min(100% - 32px, 620px);
		min-height: auto;
		padding-top: calc(min(66vw, 520px) + 22px);
		padding-bottom: 42px;
	}

	.cg-campaign-section--home .cg-campaign-section__home-art {
		top: -4px;
		right: auto;
		bottom: auto;
		left: 50%;
		width: min(145vw, 980px);
		max-width: none;
		transform: translateX(-47%);
		filter: drop-shadow(0 12px 22px rgba(87, 8, 1, .05));
	}

	.cg-campaign-section--home .cg-campaign-section__content {
		width: 100%;
		gap: 12px;
	}

	.cg-campaign-section--home .cg-campaign-section__wordmark {
		width: min(390px, 96%);
	}

	.cg-campaign-section--home .cg-campaign-section__actions {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.cg-campaign-section--home .cg-campaign-section__stage {
		padding-top: calc(68vw + 18px);
		padding-bottom: 38px;
	}

	.cg-campaign-section--home .cg-campaign-section__home-art {
		width: 154vw;
		transform: translateX(-47%);
	}

	.cg-campaign-section--home .cg-campaign-section__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.cg-campaign-section--home .cg-campaign-button--primary,
	.cg-campaign-section--home .cg-campaign-link {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* =========================================================
 * HERBSTAKTION 2026 – POPUP CLOSE MICRO-FIX 0.17.6
 * Geometrisch zentriertes Schließen-X; keine Glyph-Metrik.
 * ========================================================= */
.cg-campaign-popup__close {
	-webkit-appearance: none;
	appearance: none;
	display: grid;
	place-items: center;
	padding: 0;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
	text-align: center;
}

.cg-campaign-popup__close::before,
.cg-campaign-popup__close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 17px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform-origin: 50% 50%;
	pointer-events: none;
}

.cg-campaign-popup__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.cg-campaign-popup__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* =========================================================
 * HERBSTAKTION 2026 – FITNESS CAMPAIGN 0.17.7
 * Eigene transparente Fitness-Komposition + echte HTML-CTAs.
 * Landing, Home, Popup, Bricks-Struktur und Kampagnenlogik No-Touch.
 * ========================================================= */

.cg-campaign-section--fitness {
	min-height: 700px;
	background-color: var(--cg-ha-paper);
	background-image: var(--cg-ha-paper-image);
	background-repeat: repeat;
	background-position: center;
	background-size: 520px 520px;
	border-block: 1px solid rgba(87, 8, 1, .08);
}

.cg-campaign-section--fitness::before,
.cg-campaign-section--fitness::after {
	display: none;
}

.cg-campaign-section--fitness .cg-campaign-section__stage {
	position: relative;
	isolation: isolate;
	min-height: 700px;
	padding-block: 56px;
}

.cg-campaign-section--fitness .cg-campaign-section__fitness-art {
	position: absolute;
	z-index: 1;
	left: -116px;
	bottom: -44px;
	width: min(70%, 900px);
	max-width: none;
	height: auto;
	object-fit: contain;
	pointer-events: none;
	user-select: none;
	filter: drop-shadow(0 18px 30px rgba(87, 8, 1, .07));
}

.cg-campaign-section--fitness .cg-campaign-section__content {
	position: relative;
	z-index: 3;
	width: min(505px, 43%);
	margin-left: auto;
	gap: 12px;
}

.cg-campaign-section--fitness .cg-campaign-section__wordmark {
	width: min(370px, 100%);
	margin-left: -5px;
	margin-bottom: -7px;
}

.cg-campaign-section--fitness .cg-campaign-section__kicker {
	font-size: 15px;
	letter-spacing: .035em;
}

.cg-campaign-section--fitness .cg-campaign-section__offer-number {
	font-size: clamp(88px, 7vw, 116px);
}

.cg-campaign-section--fitness .cg-campaign-section__offer-copy strong {
	font-size: clamp(29px, 2.65vw, 39px);
}

.cg-campaign-section--fitness .cg-campaign-section__offer-copy b {
	font-size: clamp(18px, 1.8vw, 24px);
}

.cg-campaign-section--fitness .cg-campaign-section__suboffer {
	width: min(445px, 100%);
	padding-top: 10px;
	font-size: 14px;
}

.cg-campaign-section--fitness .cg-campaign-section__suboffer strong {
	font-size: 17px;
}

.cg-campaign-section--fitness .cg-campaign-section__meta {
	min-height: 34px;
	padding: 7px 12px;
	background: linear-gradient(100deg, var(--cg-ha-magenta), #c4006e 72%, #a5005b);
	font-size: 13px;
	box-shadow: 0 7px 18px rgba(229, 0, 126, .12);
}

.cg-campaign-section--fitness .cg-campaign-section__actions {
	gap: 12px;
	padding-top: 4px;
}

.cg-campaign-section--fitness .cg-campaign-button--primary,
.cg-campaign-section--fitness .cg-campaign-link {
	position: relative;
	isolation: isolate;
	min-height: 48px;
	padding: 12px 19px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: .005em;
	transition:
		transform .16s ease,
		box-shadow .16s ease,
		background-color .16s ease,
		border-color .16s ease;
}

.cg-campaign-section--fitness .cg-campaign-button--primary {
	border: 1px solid rgba(63, 8, 5, .35);
	background: linear-gradient(105deg, var(--cg-ha-bordeaux) 0%, #6e0c05 72%, #86180f 100%);
	color: #fff;
	box-shadow: 0 11px 24px rgba(87, 8, 1, .17);
}

.cg-campaign-section--fitness .cg-campaign-button--primary::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 13px;
	right: 13px;
	top: -4px;
	height: 4px;
	background: linear-gradient(90deg, var(--cg-ha-magenta), var(--cg-ha-orange));
	transform: skewX(-18deg);
}

.cg-campaign-section--fitness .cg-campaign-button--primary:hover,
.cg-campaign-section--fitness .cg-campaign-button--primary:focus-visible {
	background: linear-gradient(105deg, #6d0c04 0%, #80150b 72%, #982117 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(87, 8, 1, .22);
}

.cg-campaign-section--fitness .cg-campaign-link {
	gap: 9px;
	border: 1px solid rgba(87, 8, 1, .32);
	background: rgba(255, 250, 245, .84);
	color: var(--cg-ha-bordeaux);
	box-shadow: 0 8px 20px rgba(87, 8, 1, .07);
	backdrop-filter: blur(2px);
}

.cg-campaign-section--fitness .cg-campaign-link::after {
	content: "→";
	color: var(--cg-ha-magenta);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	transition: transform .16s ease;
}

.cg-campaign-section--fitness .cg-campaign-link:hover,
.cg-campaign-section--fitness .cg-campaign-link:focus-visible {
	border-color: rgba(229, 0, 126, .58);
	background: rgba(255, 255, 255, .94);
	color: var(--cg-ha-bordeaux);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(87, 8, 1, .10);
}

.cg-campaign-section--fitness .cg-campaign-link:hover::after,
.cg-campaign-section--fitness .cg-campaign-link:focus-visible::after {
	transform: translateX(3px);
}

@media (max-width: 1100px) and (min-width: 821px) {
	.cg-campaign-section--fitness,
	.cg-campaign-section--fitness .cg-campaign-section__stage {
		min-height: 650px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__stage {
		padding-block: 46px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__fitness-art {
		left: -118px;
		bottom: -28px;
		width: min(74%, 800px);
	}

	.cg-campaign-section--fitness .cg-campaign-section__content {
		width: 46%;
	}
}

@media (max-width: 820px) {
	.cg-campaign-section--fitness {
		min-height: auto;
		background-color: var(--cg-ha-paper);
		background-image: var(--cg-ha-paper-image);
		background-repeat: repeat;
		background-position: center;
		background-size: 520px 520px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__stage {
		width: min(100% - 32px, 620px);
		min-height: auto;
		padding-top: calc(min(88vw, 670px) + 22px);
		padding-bottom: 44px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__fitness-art {
		top: -4px;
		bottom: auto;
		left: 50%;
		width: min(124vw, 930px);
		max-width: none;
		transform: translateX(-40%);
		filter: drop-shadow(0 13px 24px rgba(87, 8, 1, .05));
	}

	.cg-campaign-section--fitness .cg-campaign-section__content {
		width: 100%;
		margin-left: 0;
		gap: 12px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__wordmark {
		width: min(390px, 96%);
	}

	.cg-campaign-section--fitness .cg-campaign-section__actions {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.cg-campaign-section--fitness .cg-campaign-section__stage {
		padding-top: calc(91vw + 18px);
		padding-bottom: 38px;
	}

	.cg-campaign-section--fitness .cg-campaign-section__fitness-art {
		width: 130vw;
		transform: translateX(-39%);
	}

	.cg-campaign-section--fitness .cg-campaign-section__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.cg-campaign-section--fitness .cg-campaign-button--primary,
	.cg-campaign-section--fitness .cg-campaign-link {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* CG HERBSTAKTION LANDING POSTER V3 START */
.cg-campaign-landing--poster-v3 {
    --cg-poster-paper: #fbf5ed;
    --cg-poster-paper-alt: #fffaf4;
    --cg-poster-paper-soft: #f8eee4;
    --cg-poster-bordeaux: #570801;
    --cg-poster-magenta: #e5007e;
    --cg-poster-ink: #40130f;
    --cg-poster-border: rgba(87, 8, 1, 0.15);
    background: var(--cg-poster-paper);
    color: var(--cg-poster-ink);
    overflow: hidden;
}

.cg-campaign-landing--poster-v3,
.cg-campaign-landing--poster-v3 section,
.cg-campaign-landing--poster-v3 .cg-poster-shell {
    background-image: none !important;
}

.cg-campaign-landing--poster-v3 section::before,
.cg-campaign-landing--poster-v3 section::after,
.cg-campaign-landing--poster-v3 .cg-poster-shell::before,
.cg-campaign-landing--poster-v3 .cg-poster-shell::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-shell {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.cg-campaign-landing--poster-v3 .cg-poster-eyebrow,
.cg-campaign-landing--poster-v3 .cg-poster-hero__kicker {
    margin: 0 0 10px;
    color: var(--cg-poster-magenta);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cg-campaign-landing--poster-v3 .cg-poster-heading h2,
.cg-campaign-landing--poster-v3 .cg-poster-benefits__copy h2,
.cg-campaign-landing--poster-v3 .cg-poster-close h2 {
    margin: 0;
    color: var(--cg-poster-bordeaux);
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.04;
    font-weight: 800;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero {
    position: relative;
    isolation: isolate;
    min-height: 690px;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #fffaf4 0%, #fbf5ed 62%, #f8eee4 100%) !important;
    border: 0 !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__inner {
    min-height: 690px;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 36px;
    padding: 64px 0 52px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__copy {
    position: relative;
    z-index: 3;
    max-width: 590px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__wordmark {
    display: block;
    width: min(470px, 92%);
    height: auto;
    margin: 0 0 12px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__kicker {
    color: var(--cg-poster-bordeaux) !important;
    font-size: 17px !important;
    letter-spacing: 0.03em !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__offer {
    margin: 18px 0 0 !important;
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: end;
    column-gap: 12px;
    color: var(--cg-poster-bordeaux) !important;
    line-height: 0.9 !important;
    text-transform: uppercase;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__offer-prefix {
    align-self: center;
    padding-bottom: 12px;
    font-size: 18px;
    font-weight: 800;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__offer-number {
    color: var(--cg-poster-magenta);
    font-size: clamp(104px, 10vw, 156px);
    font-weight: 800;
    letter-spacing: -0.06em;
    line-height: 0.78;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__offer-copy {
    padding-bottom: 5px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 800;
    line-height: 0.95;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__offer-copy strong {
    color: var(--cg-poster-magenta);
    font-size: 0.78em;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__membership-note {
    margin: 8px 0 18px;
    padding-left: 155px;
    font-size: 15px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__suboffer {
    width: min(500px, 100%);
    padding: 15px 0 0;
    border-top: 2px solid rgba(229, 0, 126, 0.50);
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__suboffer strong {
    color: var(--cg-poster-magenta);
    font-size: 21px;
    line-height: 1.1;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__suboffer span {
    font-size: 14px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__clarifier {
    margin: 10px 0 0;
    max-width: 500px;
    color: rgba(64, 19, 15, 0.72);
    font-size: 12px;
    line-height: 1.45;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__meta {
    margin: 18px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 13px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.025em;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__date {
    background: var(--cg-poster-magenta);
    color: #fff;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__location {
    background: var(--cg-poster-bordeaux);
    color: #fff;
}

.cg-campaign-landing--poster-v3 .cg-poster-actions {
    margin-top: 22px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__visual {
    position: relative;
    align-self: end;
    min-height: 590px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: visible;
    z-index: 1;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__people {
    display: block;
    width: min(690px, 108%);
    max-width: none !important;
    height: auto;
    object-fit: contain;
    transform: none !important;
    filter: drop-shadow(0 16px 26px rgba(87, 8, 1, 0.09));
}

.cg-campaign-landing--poster-v3 .cg-poster-offers,
.cg-campaign-landing--poster-v3 .cg-poster-benefits,
.cg-campaign-landing--poster-v3 .cg-poster-locations,
.cg-campaign-landing--poster-v3 .cg-poster-faq,
.cg-campaign-landing--poster-v3 .cg-poster-close {
    position: relative;
    padding: 84px 0;
    border: 0 !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-offers {
    background: var(--cg-poster-paper-soft) !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits {
    background: var(--cg-poster-paper-alt) !important;
    overflow: hidden;
}

.cg-campaign-landing--poster-v3 .cg-poster-locations {
    background: var(--cg-poster-paper) !important;
    padding-top: 70px;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq {
    background: var(--cg-poster-paper-soft) !important;
    padding-top: 70px;
}

.cg-campaign-landing--poster-v3 .cg-poster-close {
    background: var(--cg-poster-paper-alt) !important;
    text-align: center;
}

.cg-campaign-landing--poster-v3 .cg-poster-heading {
    max-width: 700px;
    margin-bottom: 38px;
}

.cg-campaign-landing--poster-v3 .cg-poster-offers__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 0.66fr;
    gap: 22px;
    align-items: stretch;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card {
    min-height: 300px;
    display: grid;
    grid-template-columns: 132px 1fr;
    gap: 22px;
    align-items: center;
    padding: 30px;
    background: #fffdf9;
    border: 1px solid var(--cg-poster-border);
    border-radius: 16px;
    box-shadow: 0 16px 32px rgba(87, 8, 1, 0.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(87, 8, 1, 0.09);
}

.cg-campaign-landing--poster-v3 .cg-poster-term-badge {
    width: 116px;
    height: 116px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
    background: radial-gradient(circle at 36% 30%, #7a241d 0%, #570801 62%, #3f0602 100%);
    color: #fff;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.38), 0 8px 16px rgba(87,8,1,.12);
}

.cg-campaign-landing--poster-v3 .cg-poster-term-badge strong {
    display: block;
    color: #fff;
    font-size: 42px;
    line-height: .88;
    font-weight: 800;
}

.cg-campaign-landing--poster-v3 .cg-poster-term-badge span {
    margin-top: 7px;
    display: block;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .08em;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card__eyebrow {
    display: block;
    color: var(--cg-poster-magenta);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card > div:last-child > strong {
    display: block;
    color: var(--cg-poster-magenta);
    font-size: clamp(26px, 2.5vw, 38px);
    line-height: 1.02;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card p {
    margin: 9px 0 0;
    font-size: 15px;
    line-height: 1.45;
}

.cg-campaign-landing--poster-v3 .cg-poster-offer-card__terms {
    color: rgba(64, 19, 15, 0.74);
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.cg-campaign-landing--poster-v3 .cg-poster-date-badge {
    width: min(210px, 90%);
    aspect-ratio: 1;
    align-self: center;
    justify-self: center;
    border: 5px solid rgba(229,0,126,.62);
    border-radius: 50%;
    display: grid;
    place-content: center;
    padding: 22px;
    text-align: center;
    background: rgba(255,253,249,.9);
    color: var(--cg-poster-bordeaux);
    box-shadow: 0 12px 28px rgba(87,8,1,.06);
}

.cg-campaign-landing--poster-v3 .cg-poster-date-badge span {
    font-size: 13px;
    font-weight: 700;
}

.cg-campaign-landing--poster-v3 .cg-poster-date-badge strong {
    margin-top: 7px;
    color: var(--cg-poster-magenta);
    font-size: 25px;
    line-height: 1.05;
}

.cg-campaign-landing--poster-v3 .cg-poster-offers__link {
    margin-top: 30px;
    text-align: center;
}

.cg-campaign-landing--poster-v3 .cg-poster-offers__link .cg-campaign-link {
    display: inline-flex;
    position: relative;
    z-index: 3;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    gap: 44px;
    align-items: center;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__copy {
    max-width: 560px;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__copy ul {
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__copy li {
    position: relative;
    padding: 13px 0 13px 48px;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.35;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__copy li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 9px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--cg-poster-magenta);
    color: #fff;
    font-weight: 900;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__visual {
    min-height: 470px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.cg-campaign-landing--poster-v3 .cg-poster-benefits__visual img {
    display: block;
    width: min(690px, 108%);
    max-width: none !important;
    height: auto;
    object-fit: contain;
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(110deg, #6d1812, #4c0905);
    box-shadow: 0 18px 36px rgba(87, 8, 1, 0.12);
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar a {
    min-height: 150px;
    padding: 30px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    color: #fff !important;
    text-decoration: none;
    transition: background-color .2s ease;
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar a + a {
    border-left: 1px solid rgba(255,255,255,0.30);
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar a:hover,
.cg-campaign-landing--poster-v3 .cg-poster-locations__bar a:focus-visible {
    background: rgba(255,255,255,0.08);
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar strong {
    font-size: 17px;
    letter-spacing: .02em;
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar span {
    opacity: .94;
}

.cg-campaign-landing--poster-v3 .cg-poster-locations__bar small {
    margin-top: 7px;
    font-weight: 750;
    text-decoration: underline;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq__inner {
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 48px;
    align-items: start;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq__list {
    border-top: 1px solid var(--cg-poster-border);
}

.cg-campaign-landing--poster-v3 .cg-poster-faq details {
    border-bottom: 1px solid var(--cg-poster-border);
}

.cg-campaign-landing--poster-v3 .cg-poster-faq summary {
    position: relative;
    cursor: pointer;
    padding: 20px 44px 20px 0;
    color: var(--cg-poster-ink);
    font-size: 17px;
    font-weight: 750;
    list-style: none;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq summary::-webkit-details-marker {
    display: none;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq summary::after {
    content: "+";
    position: absolute;
    right: 4px;
    top: 16px;
    color: var(--cg-poster-magenta);
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
}

.cg-campaign-landing--poster-v3 .cg-poster-faq details[open] summary::after {
    content: "–";
}

.cg-campaign-landing--poster-v3 .cg-poster-faq details p {
    margin: -5px 0 20px;
    max-width: 760px;
    line-height: 1.6;
}

.cg-campaign-landing--poster-v3 .cg-poster-close__inner {
    max-width: 790px;
}

.cg-campaign-landing--poster-v3 .cg-poster-close__inner > p:not(.cg-poster-eyebrow):not(.cg-poster-close__fineprint) {
    margin: 18px auto 0;
    max-width: 660px;
    font-size: 17px;
    line-height: 1.55;
}

.cg-campaign-landing--poster-v3 .cg-poster-actions--centered {
    justify-content: center;
}

.cg-campaign-landing--poster-v3 .cg-poster-close__fineprint {
    margin: 30px auto 0;
    max-width: 800px;
    color: rgba(64, 19, 15, 0.72);
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 1024px) {
    .cg-campaign-landing--poster-v3 .cg-poster-hero {
        min-height: auto;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__inner {
        min-height: auto;
        grid-template-columns: 1fr 1fr;
        padding-top: 52px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-number {
        font-size: 104px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-copy {
        font-size: 32px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__membership-note {
        padding-left: 124px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__visual {
        min-height: 480px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offers__grid {
        grid-template-columns: 1fr 1fr;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-date-badge {
        grid-column: 1 / -1;
        width: 180px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-benefits__inner {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .cg-campaign-landing--poster-v3 .cg-poster-shell {
        width: min(100% - 32px, 680px);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__inner,
    .cg-campaign-landing--poster-v3 .cg-poster-benefits__inner,
    .cg-campaign-landing--poster-v3 .cg-poster-faq__inner {
        grid-template-columns: 1fr;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__inner {
        gap: 16px;
        padding: 38px 0 0;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__copy {
        max-width: none;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__wordmark {
        width: min(390px, 90%);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__kicker {
        font-size: 14px !important;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer {
        grid-template-columns: auto auto 1fr;
        column-gap: 8px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-prefix {
        font-size: 13px;
        padding-bottom: 8px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-number {
        font-size: 86px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-copy {
        font-size: 25px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__membership-note {
        padding-left: 0;
        font-size: 13px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__suboffer strong {
        font-size: 18px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__visual {
        order: 2;
        min-height: 320px;
        justify-content: center;
        overflow: visible;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__people {
        width: min(600px, 122%);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offers,
    .cg-campaign-landing--poster-v3 .cg-poster-benefits,
    .cg-campaign-landing--poster-v3 .cg-poster-locations,
    .cg-campaign-landing--poster-v3 .cg-poster-faq,
    .cg-campaign-landing--poster-v3 .cg-poster-close {
        padding: 58px 0;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offers__grid,
    .cg-campaign-landing--poster-v3 .cg-poster-locations__bar {
        grid-template-columns: 1fr;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offer-card {
        grid-template-columns: 96px 1fr;
        min-height: 0;
        padding: 22px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge {
        width: 86px;
        height: 86px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge strong {
        font-size: 31px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge span {
        font-size: 9px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-date-badge {
        grid-column: auto;
        width: 160px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-benefits__visual {
        min-height: 320px;
        margin-top: 12px;
        overflow: visible;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-benefits__visual img {
        width: min(620px, 118%);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-locations__bar a + a {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.30);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-faq__inner {
        gap: 24px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-heading {
        margin-bottom: 26px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-actions--centered {
        align-items: center;
    }
}

@media (max-width: 420px) {
    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-number {
        font-size: 74px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-hero__offer-copy {
        font-size: 21px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offer-card {
        grid-template-columns: 76px 1fr;
        gap: 14px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge {
        width: 68px;
        height: 68px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge strong {
        font-size: 25px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-term-badge span {
        font-size: 8px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-offer-card > div:last-child > strong {
        font-size: 24px;
    }
}
/* CG HERBSTAKTION LANDING POSTER V3 END */

/* CG HERBSTAKTION LANDING POSTER V4 START */
.cg-campaign-landing--poster-v3 .cg-poster-leaf {
    position: absolute;
    display: block;
    width: 120px;
    height: auto;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    object-fit: contain;
    z-index: 1;
    filter: drop-shadow(0 10px 16px rgba(87, 8, 1, 0.06));
}

/* Hero: echter transparenter Freisteller statt rechteckiger Popup-Grafik. */
.cg-campaign-landing--poster-v3 .cg-poster-hero__visual {
    isolation: isolate;
}

.cg-campaign-landing--poster-v3 .cg-poster-hero__people {
    position: relative;
    z-index: 3;
    width: min(720px, 112%);
    max-width: none !important;
    height: auto;
    object-fit: contain;
    filter: none;
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-redorange {
    width: 126px;
    top: 7%;
    right: -4%;
    transform: rotate(19deg);
    z-index: 2;
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-yellow {
    width: 92px;
    left: -2%;
    bottom: 7%;
    transform: rotate(-24deg);
    z-index: 2;
}

/* Angebotsfläche: Blätter nur an den Außenkanten, niemals hinter Karten oder Link. */
.cg-campaign-landing--poster-v3 .cg-poster-offers {
    overflow: hidden;
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--offers-red {
    width: 112px;
    top: 34px;
    right: 1.5%;
    transform: rotate(31deg);
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--offers-amber {
    width: 96px;
    left: 0.5%;
    bottom: 24px;
    transform: rotate(-38deg);
}

/* Vorteile: ein einzelner Akzent am rechten oberen Rand. */
.cg-campaign-landing--poster-v3 .cg-poster-benefits {
    overflow: hidden;
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--benefits-orange {
    width: 104px;
    top: 28px;
    right: 1.8%;
    transform: rotate(16deg);
}

/* Standorte: ruhiger Schlussakzent unterhalb des Inhalts. */
.cg-campaign-landing--poster-v3 .cg-poster-locations {
    overflow: hidden;
}

.cg-campaign-landing--poster-v3 .cg-poster-leaf--locations-mixed {
    width: 118px;
    right: 2%;
    bottom: 10px;
    transform: rotate(-22deg);
}

/* Inhalte bleiben immer oberhalb der dekorativen Blätter. */
.cg-campaign-landing--poster-v3 .cg-poster-offers .cg-poster-shell,
.cg-campaign-landing--poster-v3 .cg-poster-benefits .cg-poster-shell,
.cg-campaign-landing--poster-v3 .cg-poster-locations .cg-poster-shell {
    position: relative;
    z-index: 2;
}

@media (max-width: 1180px) {
    .cg-campaign-landing--poster-v3 .cg-poster-hero__people {
        width: min(660px, 114%);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-redorange {
        width: 104px;
        right: -1%;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-yellow {
        width: 78px;
        left: 1%;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--offers-red,
    .cg-campaign-landing--poster-v3 .cg-poster-leaf--benefits-orange,
    .cg-campaign-landing--poster-v3 .cg-poster-leaf--locations-mixed {
        opacity: 0.88;
    }
}

@media (max-width: 767px) {
    .cg-campaign-landing--poster-v3 .cg-poster-hero__people {
        width: min(610px, 120%);
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-redorange {
        width: 78px;
        top: 5%;
        right: 1%;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--hero-yellow {
        width: 62px;
        left: 1%;
        bottom: 3%;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--offers-red {
        width: 70px;
        top: 18px;
        right: -10px;
    }

    .cg-campaign-landing--poster-v3 .cg-poster-leaf--offers-amber,
    .cg-campaign-landing--poster-v3 .cg-poster-leaf--benefits-orange,
    .cg-campaign-landing--poster-v3 .cg-poster-leaf--locations-mixed {
        display: none;
    }
}
/* CG HERBSTAKTION LANDING POSTER V4 END */
