/*
 * View24 Onepager – Stile für Frontend und Block-Editor.
 * Alle Regeln hängen an .v24-Klassen der Blöcke, damit andere Seiten unberührt bleiben.
 */

:root {
	--v24-orange: #ff9000;
	--v24-orange-dark: #e98400;
	--v24-green: #00d956;
	--v24-teal: #009ead;
	--v24-blue: #60b0d5;
	--v24-text: #191919;
	--v24-container: 1250px;
	--v24-gutter: 24px;
	--v24-sticker: linear-gradient(90deg, #6fd174 0%, #2aa6a7 100%);
	--v24-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.639,14.407l-2.355,2.321a19.111,19.111,0,0,1-3.4-2.613,19.353,19.353,0,0,1-2.612-3.4L9.591,8.36a1.01,1.01,0,0,0,.208-1.1L7.382,1.614A1.009,1.009,0,0,0,6.2,1.036L1.756,2.209A1.007,1.007,0,0,0,1,3.218,21.337,21.337,0,0,0,7.039,16.959,21.339,21.339,0,0,0,20.784,23a1.011,1.011,0,0,0,1.01-.756l1.172-4.44a1.009,1.009,0,0,0-.577-1.186L16.748,14.2A1.009,1.009,0,0,0,15.639,14.407Z'/%3E%3C/svg%3E");
	--v24-icon-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,14.817A6.848,6.848,0,0,1,19,8a7.293,7.293,0,0,1,2.438.43l-8.8-7.2a1,1,0,0,0-1.266,0l-11,9a1,1,0,0,0,1.266,1.548L3,10.656V22a1,1,0,0,0,1,1H16.753C15.191,21.478,12,17.981,12,14.817Z'/%3E%3Cpath d='M19,10a4.868,4.868,0,0,0-5,4.817c0,2.716,3.869,6.486,4.31,6.907l.69.659.69-.659C20.131,21.3,24,17.533,24,14.817A4.868,4.868,0,0,0,19,10Zm0,7a2,2,0,1,1,2-2A2,2,0,0,1,19,17Z'/%3E%3C/svg%3E");
	--v24-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,2H3A3,3,0,0,0,0,5V19a3,3,0,0,0,3,3H21a3,3,0,0,0,3-3V5A3,3,0,0,0,21,2ZM8.207,15.207l-2.5,2.5a1,1,0,0,1-1.414-1.414l2.5-2.5Zm11.5,2.5a1,1,0,0,1-1.414,0l-2.5-2.5,1.414-1.414,2.5,2.5A1,1,0,0,1,19.707,17.707Zm0-10-7,7a1,1,0,0,1-1.414,0l-7-7A1,1,0,0,1,5.707,6.293L12,12.586l6.293-6.293a1,1,0,1,1,1.414,1.414Z'/%3E%3C/svg%3E");
	--v24-icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.03153,23L9,13H5V9h4V6.5C9,2.7886,11.29832,1,14.60914,1c1.58592,0,2.94893,0.11807,3.34615,0.17085v3.87863l-2.29623,0.00104c-1.80061,0-2.14925,0.85562-2.14925,2.11119V9H18.75l-2,4h-3.24019v10H9.03153z'/%3E%3C/svg%3E");
	--v24-icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,2.982c2.937,0,3.285.011,4.445.064a6.072,6.072,0,0,1,2.042.379,3.4,3.4,0,0,1,1.265.823,3.4,3.4,0,0,1,.823,1.265,6.072,6.072,0,0,1,.379,2.042c.053,1.16.064,1.508.064,4.445s-.011,3.285-.064,4.445a6.072,6.072,0,0,1-.379,2.042,3.644,3.644,0,0,1-2.088,2.088,6.072,6.072,0,0,1-2.042.379c-1.16.053-1.508.064-4.445.064s-3.285-.011-4.445-.064a6.072,6.072,0,0,1-2.042-.379,3.4,3.4,0,0,1-1.265-.823,3.4,3.4,0,0,1-.823-1.265,6.072,6.072,0,0,1-.379-2.042c-.053-1.16-.064-1.508-.064-4.445s.011-3.285.064-4.445a6.072,6.072,0,0,1,.379-2.042,3.4,3.4,0,0,1,.823-1.265,3.4,3.4,0,0,1,1.265-.823,6.072,6.072,0,0,1,2.042-.379c1.16-.053,1.508-.064,4.445-.064M12,1c-2.987,0-3.362.013-4.535.066a8.108,8.108,0,0,0-2.67.511A5.625,5.625,0,0,0,1.577,4.8a8.108,8.108,0,0,0-.511,2.67C1.013,8.638,1,9.013,1,12s.013,3.362.066,4.535a8.108,8.108,0,0,0,.511,2.67A5.625,5.625,0,0,0,4.8,22.423a8.108,8.108,0,0,0,2.67.511C8.638,22.987,9.013,23,12,23s3.362-.013,4.535-.066a8.108,8.108,0,0,0,2.67-.511A5.625,5.625,0,0,0,22.423,19.2a8.108,8.108,0,0,0,.511-2.67C22.987,15.362,23,14.987,23,12s-.013-3.362-.066-4.535a8.108,8.108,0,0,0-.511-2.67A5.625,5.625,0,0,0,19.2,1.577a8.108,8.108,0,0,0-2.67-.511C15.362,1.013,14.987,1,12,1Z'/%3E%3Cpath d='M12,6.351A5.649,5.649,0,1,0,17.649,12,5.649,5.649,0,0,0,12,6.351Zm0,9.316A3.667,3.667,0,1,1,15.667,12,3.667,3.667,0,0,1,12,15.667Z'/%3E%3Ccircle cx='17.872' cy='6.128' r='1.32'/%3E%3C/svg%3E");
	--v24-icon-check2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41 6 19l1.41-1.41L1.83 12 .41 13.41z'/%3E%3C/svg%3E");
	--v24-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--v24-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M12 3v18M3 12h18'/%3E%3C/svg%3E");
	--v24-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M3 12h18'/%3E%3C/svg%3E");
	--v24-icon-checkcircle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2360b0d5'/%3E%3Cpath d='M7 12.4l3.3 3.3L17.2 8.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* ---------- Basis ---------- */

.v24 {
	font-family: "Lato", sans-serif;
	color: var(--v24-text);
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
}

.v24 *,
.v24 *::before,
.v24 *::after {
	box-sizing: border-box;
}

.v24 :where(p, h1, h2, h3, h4, h5, h6, ul, ol, figure, details) {
	margin-top: 0;
}

.v24 p {
	margin: 0 0 16px;
	font-size: inherit;
}

.v24 :where(h1, h2, h3, h4, h5, h6) {
	font-family: "Lato", sans-serif;
	color: inherit;
	margin-bottom: 0;
}

.v24 .is-layout-flow > *,
.v24 .is-layout-constrained > *,
.v24 .wp-block-group__inner-container > * {
	margin-block-start: 0;
}

.v24 img {
	max-width: 100%;
	height: auto;
}

.v24 .wp-block-image {
	margin: 0;
}

.v24 .wp-block-image img {
	display: block;
}

.v24 .wp-block-columns {
	margin-bottom: 0;
}

/*
 * Inhaltsbreite wie im Original: ab 1366 px 1250 px, 1200–1365 px 1150 px, 992–1199 px 970 px
 * (jeweils mit mind. 32 px Rand). Abschnitte sind Container, damit 100cqw die echte Breite ohne
 * Scrollleiste ist.
 */
.v24-section,
.v24.v24-footer {
	container-type: inline-size;
}

.v24 {
	--v24-cwd: min(1250px, calc(100cqw - 48px));
}

@media (min-width: 992px) and (max-width: 1365px) {
	.v24 {
		--v24-cwd: min(1150px, calc(100cqw - 64px));
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.v24 {
		--v24-cwd: min(970px, calc(100cqw - 64px));
	}
}

.v24-container {
	width: var(--v24-cwd);
	max-width: none;
	margin-left: auto !important;
	margin-right: auto !important;
}

.v24-section {
	position: relative;
}

.v24 .v24-text-lg {
	font-size: 18px;
	line-height: 27px;
	color: #000;
}

.v24 p.v24-text-lg {
	margin-bottom: 27px;
}

/* Astra: Onepager ohne Seitenränder / Titel */
.v24-onepage .site-content > .ast-container,
.v24-onepage .site-content .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	display: block;
}

.v24-onepage #primary,
.v24-onepage .site-main,
.v24-onepage .ast-article-single,
.v24-onepage .ast-article-post,
.v24-onepage article.page {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	border: 0;
}

.v24-onepage .entry-header,
.v24-onepage .ast-single-entry-banner {
	display: none;
}

.v24-onepage .entry-content > .v24-section,
.v24-onepage .entry-content > .wp-block-group.v24-section,
.v24-onepage .entry-content > .wp-block-cover.v24-section {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: none;
	width: 100%;
}

.v24-onepage .entry-content {
	margin: 0;
}

/* Astras "Nach oben"-Button gibt es im Original nicht */
.v24-has-header #ast-scroll-top {
	display: none !important;
}

.v24-onepage #page,
.v24-onepage .site {
	overflow-x: clip;
}

/* ---------- Buttons ---------- */

.v24 .wp-block-buttons {
	gap: 16px;
}

.v24 .wp-block-button .wp-block-button__link,
.v24 .wp-block-button .wp-block-button__link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: var(--v24-orange);
	color: #fff;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	font-family: "Lato", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	padding: 22.5px 36px;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.v24 .wp-block-button .wp-block-button__link:hover,
.v24 .wp-block-button .wp-block-button__link:focus-visible {
	background: var(--v24-orange-dark);
	color: #fff;
	transform: translateY(-1px);
}

.v24 .wp-block-button .wp-block-button__link:focus-visible {
	outline: 3px solid var(--v24-blue);
	outline-offset: 2px;
}

.v24 .wp-block-button.is-style-v24-small .wp-block-button__link {
	font-size: 15px;
	font-weight: 700;
	line-height: 19.5px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	padding: 18px 28px;
}

.v24 .wp-block-button.is-style-v24-xl .wp-block-button__link {
	font-size: 26px;
	line-height: 39px;
	padding: 28.5px 48px;
}

.v24 .wp-block-button.is-style-v24-call .wp-block-button__link {
	font-size: 15px;
	line-height: 22.5px;
	padding: 16.75px 23px;
}

.v24 .wp-block-button.is-style-v24-call .wp-block-button__link::before {
	content: "";
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	background: currentColor;
	-webkit-mask: var(--v24-icon-phone) center / contain no-repeat;
	mask: var(--v24-icon-phone) center / contain no-repeat;
}

/* ---------- Sticker-Überschrift (grünes Etikett + schwarzer Titel) ---------- */

/*
 * Jede Überschrift im Original ist ein eigenes Bild mit leicht anderen Maßen.
 * Die Werte stehen deshalb in Variablen; Modifier-Klassen (--about, --einblick …) setzen sie
 * pro Abschnitt, die Breakpoints skalieren alles über --v24-st-scale.
 */
.v24 .v24-sticker {
	--v24-st-scale: 1;
	--v24-tag-fs: calc(var(--v24-cwd) * 0.041600); /* 52px bei 1250 */
	--v24-tag-ls: 0.088em;
	--v24-tag-pad: 0.24em 0.62em 0.24em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.000000); /* 0px bei 1250 */
	--v24-tag-ml: calc(var(--v24-cwd) * 0.000000); /* 0px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.044800); /* 56px bei 1250 */
	--v24-title-mt: -0.13em;
	--v24-title-ml: calc(var(--v24-cwd) * 0.000000); /* 0px bei 1250 */
	--v24-st-dx: calc(var(--v24-cwd) * 0.000000); /* 0px bei 1250 */
	gap: 0;
	margin-bottom: 24px;
	translate: calc(var(--v24-st-dx) * var(--v24-st-scale)) 0;
}

.v24 .v24-sticker > .v24-sticker__tag,
.v24 .v24-sticker .v24-sticker__tag {
	position: relative;
	z-index: 0;
	display: inline-block;
	min-width: calc(var(--v24-tag-minw) * var(--v24-st-scale));
	margin: 0 0 0 calc(var(--v24-tag-ml) * var(--v24-st-scale));
	padding: var(--v24-tag-pad);
	background: var(--v24-sticker);
	border-radius: 0.3em;
	transform: rotate(-3deg);
	color: #fff;
	font-family: "Lato", sans-serif;
	font-size: calc(var(--v24-tag-fs) * var(--v24-st-scale));
	font-weight: 900;
	line-height: 1;
	letter-spacing: var(--v24-tag-ls);
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}

.v24 .v24-sticker .v24-sticker__title {
	position: relative;
	z-index: 1;
	margin: var(--v24-title-mt) 0 0 calc(var(--v24-title-ml) * var(--v24-st-scale));
	color: #000;
	font-size: calc(var(--v24-title-fs) * var(--v24-st-scale));
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-align: center;
}

/* Maße je Abschnitt (gemessen bei 1440 px am Original) */
.v24 .v24-sticker--about {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.039680); /* 49.6px bei 1250 */
	--v24-tag-pad: 0.24em 0.15em 0.22em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.279200); /* 349px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.045200); /* 56.5px bei 1250 */
	--v24-title-mt: -0.123em;
	--v24-st-dx: calc(var(--v24-cwd) * -0.006400); /* -8px bei 1250 */
}

.v24 .v24-sticker--einblick {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.042000); /* 52.5px bei 1250 */
	--v24-tag-ls: 0.11em;
	--v24-tag-pad: 0.255em 0.15em 0.242em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.302400); /* 378px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.050400); /* 63px bei 1250 */
	--v24-title-mt: -0.143em;
	--v24-st-dx: calc(var(--v24-cwd) * -0.014400); /* -18px bei 1250 */
}

.v24 .v24-sticker--angebot {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.046960); /* 58.7px bei 1250 */
	--v24-tag-ls: 0.094em;
	--v24-tag-pad: 0.24em 0.15em 0.21em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.332800); /* 416px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.040960); /* 51.2px bei 1250 */
	--v24-title-mt: -0.136em;
	--v24-st-dx: calc(var(--v24-cwd) * -0.004800); /* -6px bei 1250 */
}

.v24 .v24-sticker--members {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.039520); /* 49.4px bei 1250 */
	--v24-tag-pad: 0.41em 0.15em 0.45em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.353600); /* 442px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.044400); /* 55.5px bei 1250 */
	--v24-title-mt: -0.144em;
	--v24-st-dx: calc(var(--v24-cwd) * -0.016000); /* -20px bei 1250 */
}

.v24 .v24-sticker.v24-sticker--small {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.024000); /* 30px bei 1250 */
	--v24-tag-ls: 0.084em;
	--v24-tag-pad: 0.7em 0.25em 0.8em;
	--v24-tag-ml: calc(var(--v24-cwd) * 0.008000); /* 10px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.042400); /* 53px bei 1250 */
	--v24-title-mt: -0.338em;
	--v24-title-ml: calc(var(--v24-cwd) * 0.016000); /* 20px bei 1250 */
	margin-top: 22px;
	margin-bottom: 21px;
}

.v24 .v24-sticker--faq {
	--v24-tag-fs: calc(var(--v24-cwd) * 0.042480); /* 53.1px bei 1250 */
	--v24-tag-pad: 0.34em 0.62em 0.385em;
	--v24-tag-minw: calc(var(--v24-cwd) * 0.364000); /* 455px bei 1250 */
	--v24-tag-ml: calc(var(--v24-cwd) * 0.017600); /* 22px bei 1250 */
	--v24-title-fs: calc(var(--v24-cwd) * 0.053200); /* 66.5px bei 1250 */
	--v24-title-mt: -0.068em;
	--v24-title-ml: calc(var(--v24-cwd) * 0.006400); /* 8px bei 1250 */
}

/* ---------- Header ---------- */

.v24-site-header {
	position: relative;
	z-index: 100;
}

.v24-header {
	background: #fff;
}

.v24 .v24-header__bar {
	min-height: 104px;
	padding-top: 24px;
	padding-bottom: 24px;
	gap: 24px;
	align-items: center;
}

.v24 .v24-logo,
.v24 .v24-logo img {
	width: 103px;
	flex: 0 0 auto;
}

.v24 .v24-nav {
	font-family: "Lato", sans-serif;
	flex: 0 1 auto;
}

.v24 .v24-nav .wp-block-navigation__container {
	gap: 48px;
}

.v24 .v24-nav .wp-block-navigation-item__content {
	color: var(--v24-text);
	font-size: 16.8px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0;
	transition: color 0.2s;
}

.v24 .v24-nav .wp-block-navigation-item__content:hover,
.v24 .v24-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--v24-green);
}

.v24 .v24-nav .wp-block-navigation__responsive-container-open {
	width: 56px;
	height: 56px;
	align-items: center;
	justify-content: center;
	background: #f2f2f2;
	border-radius: 4px;
	color: var(--v24-text);
}

/* Geöffnetes Handy-Menü wie im Original: Logo oben links, kleines ×, Links linksbündig, Button darunter.
   Logo und Button kopiert das Script beim Öffnen aus der Kopfzeile. */
.v24 .v24-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 0 !important;
	background: #fff;
	color: var(--v24-text);
}

.v24 .v24-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	padding: 112px var(--v24-menu-x, 24px) 24px !important;
}

.v24 .v24-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 48px;
	align-items: flex-start;
}

.v24 .v24-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 16.8px;
	line-height: 21.84px;
}

.v24 .v24-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 32px;
	right: 26px;
	width: 24px;
	height: 24px;
}

.v24 .v24-nav .is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 16px;
	height: 16px;
}

.v24 .v24-nav .v24-menu-logo {
	position: absolute;
	top: 23px;
	left: var(--v24-menu-x, 24px);
	width: 103px;
	margin: 0;
}

.v24 .v24-nav .v24-menu-logo img {
	display: block;
	width: 103px;
	height: auto;
}

.v24 .v24-nav .v24-menu-cta {
	display: flex;
	margin-top: -2px !important;
}

.v24 .v24-header__cta {
	flex: 0 0 auto;
}

/* auch im Editor weiß (der Editor färbt Text in hellen Cover-Blöcken sonst dunkel) */
.v24-hero p:is(.v24-hero__sub, .v24-hero__text) {
	color: #fff !important;
}

/* Original: Logo 3 px tiefer, auf großen Bildschirmen 32 px eingerückt */
.v24 .v24-header__bar > .v24-logo {
	position: relative;
	top: 3px;
}

/* Original: Kopfzeile wächst mit der Fensterbreite (1250 px bei 1440 px), Logo 32 px eingerückt */
@media (min-width: 992px) {
	.v24 .v24-header__bar {
		width: calc(76.68% + 145.8px);
	}

	.v24 .v24-header__bar > .v24-logo {
		margin-left: 32px;
	}
}

@media (min-width: 1441px) {
	.v24 .v24-header__bar {
		width: calc(1250px + (100% - 1440px) * 0.7958);
	}
}

/* ---------- Hero ---------- */

.v24 .v24-hero,
.v24.v24-hero {
	padding: 40px var(--v24-gutter) clamp(56px, 20.9vh, 188px);
	min-height: 100vh;
	overflow: hidden;
	color: #fff;
}

.v24-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--v24-cwd);
	color: #fff;
}

.v24 .v24-hero__title,
.v24-hero h1.v24-hero__title {
	margin: 0;
	color: #fff;
	font-size: 74px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .v24-hero__sub,
.v24.v24-hero .wp-block-cover__inner-container p.v24-hero__sub {
	margin: 0 0 19px;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24-parallax .wp-block-cover__image-background {
	will-change: transform;
}

.v24-js .v24-parallax .wp-block-cover__image-background {
	transform: translate3d(0, var(--v24-py, 0px), 0) scale(1.1);
}

/* ---------- Über uns ---------- */

.v24.v24-about {
	--v24-about-pt: 138px;
	--v24-about-pb: 140px;
	padding: var(--v24-about-pt) 0 var(--v24-about-pb);
}

.v24 .v24-about__text {
	padding-left: calc((100cqw - var(--v24-cwd)) / 2);
	padding-right: var(--v24-gutter);
}

@media (min-width: 992px) {
	/* Feste 50/50-Aufteilung (Innenabstand links zählt sonst zur Spaltenbreite) */
	.v24 .v24-about__cols > .wp-block-column {
		flex: 0 0 50% !important;
		max-width: 50%;
	}

	/* Original: Text etwas tiefer als der Abschnittsbeginn */
	.v24 .v24-about__cols > .v24-about__text {
		padding-top: 47px;
		padding-right: 22px;
	}

	/* Original: Bild füllt die rechte Hälfte über die ganze Abschnittshöhe (contain, rechts, 45 %),
	   die Höhe des Abschnitts bestimmt nur der Text */
	.v24 .v24-about__cols > .v24-about__media {
		position: relative;
		align-self: stretch !important;
		margin: calc(-1 * var(--v24-about-pt)) 0 calc(-1 * var(--v24-about-pb));
	}

	.v24 .v24-about__media .wp-block-image {
		position: absolute;
		inset: 0;
	}

	.v24 .v24-about__media img {
		width: 100%;
		height: 100% !important;
		max-width: none;
		object-fit: contain;
		object-position: 100% 45%;
	}
}

.v24 .v24-about__text .v24-sticker {
	margin-bottom: 22px;
}

/* Abstand kollabiert mit dem Absatz darüber (27 px) */
.v24 .v24-about__text .wp-block-buttons {
	margin-top: 40px;
}

/* ---------- Präventionskurse ---------- */

.v24.v24-kurse {
	padding: 52px 0 139px;
}

/* Original: Grafik sitzt in einer 246 px hohen Box (oben 5,5 px Luft) */
.v24 .v24-kurse__badge {
	margin-bottom: 0;
	padding: 0.9% 0 2.1%;
}

.v24 .v24-kurse__cta {
	margin-top: 40px;
}

/* Aufklappbare Liste mit blauem Häkchen */
.v24 .wp-block-details.is-style-v24-check {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid #f2f2f2;
}

.v24 .wp-block-details.is-style-v24-check:first-of-type,
.v24 .v24-kurse__badge + .wp-block-details.is-style-v24-check {
	border-top: 1px solid #f2f2f2;
}

.v24 .wp-block-details.is-style-v24-check > summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 27px;
	padding: 0 24px 0 36px;
	list-style: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 900;
	line-height: 23.7px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--v24-text);
}

.v24 .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.v24 .wp-block-details.is-style-v24-check > summary::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: var(--v24-icon-checkcircle) center / contain no-repeat;
}

.v24 .wp-block-details.is-style-v24-check > summary::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: currentColor;
	-webkit-mask: var(--v24-icon-chevron) center / contain no-repeat;
	mask: var(--v24-icon-chevron) center / contain no-repeat;
	transition: transform 0.25s ease;
}

.v24 .wp-block-details.is-style-v24-check[open] > summary::after {
	transform: rotate(180deg);
}

.v24 .wp-block-details.is-style-v24-check > :not(summary) {
	margin: 12px 0 0;
	padding-left: 36px;
}

/* ---------- Slider (vom Script aufgebaut; im Editor normale Galerie) ---------- */

.v24-js .v24-slider.v24-slider-ready {
	position: relative;
	display: block;
	margin-left: 0;
	margin-right: 0;
}

.v24-js .v24-slider .v24-slider__viewport {
	position: relative;
	overflow: hidden;
}

.v24-js .v24-slider .v24-slider__track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.v24-js .v24-slider .v24-slider__track::-webkit-scrollbar {
	display: none;
}

.v24-js .v24-slider.wp-block-gallery.has-nested-images .v24-slider__track > figure.wp-block-image:not(#v24),
.v24-js .v24-slider .v24-slider__track > * {
	flex: 0 0 100%;
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.v24-js .v24-slider.wp-block-gallery .v24-slider__track > figure.wp-block-image:not(#v24) img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.v24-js .v24-slider--kurse .v24-slider__track > figure:not(#v24) {
	aspect-ratio: 601 / 418;
}

.v24-slider--kurse .v24-slider__viewport,
.v24-slider--kurse:not(.v24-slider-ready) img {
	border-radius: 8px;
}

.v24-js .v24-slider--gym.v24-slider-ready {
	margin: 20px 10px 0;
}

/* Original: Bildhöhe = 32,85 % der Fensterbreite (ohne Obergrenze) */
.v24-section.v24-einblick {
	container-type: inline-size;
}

.v24-js .v24-slider--gym .v24-slider__track > figure:not(#v24) {
	height: 32.85cqw;
}

.v24-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 16px;
	pointer-events: none;
}

.v24-slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	cursor: pointer;
	pointer-events: auto;
}

.v24-slider__dot.is-active {
	background: #fff;
}

.v24-slider--kurse .v24-slider__dot {
	background: rgba(0, 217, 86, 0.4);
}

.v24-slider--kurse .v24-slider__dot.is-active {
	background: var(--v24-green);
}

.v24-slider__arrow {
	position: absolute;
	/* margin-top würde von Theme-Button-Stilen überschrieben */
	top: calc(50% - 20px);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--v24-green);
	color: #fff;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s;
}

.v24-slider__arrow:hover {
	transform: scale(1.08);
}

.v24-slider__arrow:focus-visible,
.v24-slider__dot:focus-visible {
	outline: 3px solid var(--v24-orange);
	outline-offset: 2px;
}

.v24-slider__arrow svg {
	width: 19px;
	height: 19px;
}

.v24-slider__arrow--prev {
	left: 24px;
}

.v24-slider__arrow--next {
	right: 24px;
}

/* Bewertungen */
.v24-slider--reviews .v24-slider__arrow {
	background: var(--v24-blue);
}

.v24-js .v24-slider--reviews .v24-slider__arrow--prev {
	left: -64px;
}

.v24 .v24-review > p:last-child {
	margin-bottom: 0;
}

.v24 .v24-review__name {
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}

.v24 .v24-stars {
	margin: 0 0 30px 3px;
	color: var(--v24-green);
	font-family: "Segoe UI Symbol", "Apple Symbols", "DejaVu Sans", sans-serif;
	font-size: 27px;
	line-height: 30px;
	letter-spacing: 11.5px;
}

/* ---------- Einblick ---------- */

.v24.v24-einblick {
	padding: 69px 0 0;
}

.v24 .v24-title-lg {
	margin: 69px 0 0;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24-einblick .v24-slider--gym:not(.v24-slider-ready) {
	margin: 20px 10px 0;
}

/* ---------- Mitglieder-Stimmen ---------- */

.v24.v24-stimmen {
	padding: 100px 0 120px;
}

.v24-stimmen .wp-block-buttons {
	margin-top: 30px;
}

/* ---------- Banner ---------- */

.v24.v24-banner {
	padding: 0;
	overflow: hidden;
	color: #fff;
}

.v24 .v24-banner__cols {
	min-height: 599px;
	align-items: stretch;
}

.v24 .v24-banner__center {
	padding: 80px 0 120px;
}

.v24 .v24-banner__title {
	margin: 0 0 40px;
	color: #fff;
	font-size: 48px;
	font-weight: 900;
	line-height: 1.28;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

/* Original: Mitte fest 432 px, Seiten teilen sich den Rest; Personen unten bündig, max. so hoch wie der Banner */
@media (min-width: 992px) {
	.v24 .v24-banner__cols > .v24-banner__center {
		flex: 0 0 432px !important;
	}

	.v24 .v24-banner__cols > .v24-banner__left,
	.v24 .v24-banner__cols > .v24-banner__right {
		flex: 1 1 0 !important;
		min-width: 0;
		position: relative;
	}

	.v24 .v24-banner__left .wp-block-image,
	.v24 .v24-banner__right .wp-block-image {
		position: absolute;
		inset: 0;
	}

	.v24 .v24-banner__left .wp-block-image img,
	.v24 .v24-banner__right .wp-block-image img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: 50% 100%;
	}
}

.v24 .v24-banner__left .wp-block-image,
.v24 .v24-banner__right .wp-block-image {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

/* ---------- Angebot / 3 Schritte ---------- */

.v24.v24-angebot {
	padding: 78px 0 119px;
}

.v24.v24-angebot .v24-sticker {
	margin-bottom: 149px;
}

/* Original: Schritt 2 hat eine leere Zeile unter dem Text und steht daher (vertikal zentriert) höher */
.v24 .v24-steps > .wp-block-column:nth-child(2) {
	padding-bottom: 43px;
}

.v24 .v24-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: var(--v24-blue);
	color: #fff;
	font-size: 60px;
	font-weight: 300;
	line-height: 1;
}

.v24 .v24-step-title {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.31;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .v24-step-text {
	margin: 0;
	color: rgba(25, 25, 25, 0.48);
	font-size: 18px;
	line-height: 27px;
}

/* ---------- Mitgliedschaften ---------- */

.v24.v24-members {
	padding: 60px 0 80px;
}

.v24 .v24-cards {
	margin-top: 101px;
	align-items: stretch;
}

.v24 .v24-cards > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.v24 .v24-card {
	flex: 1 1 auto;
	height: 100%;
	padding: 48px 52px 68px;
	border-radius: 31px;
	box-shadow: 0 8px 56px rgba(17, 17, 26, 0.1), 0 32px 140px rgba(17, 17, 26, 0.1);
	color: #fff;
}

.v24 .v24-pill {
	margin: 0 0 20px;
	line-height: 1;
}

.v24 .v24-pill span {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 16px;
	background: #262626;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.v24 .v24-price {
	margin: 0;
	color: #fff;
	font-size: 50px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
}

.v24 .v24-price-unit {
	margin: 0 0 20px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

.v24 .v24-card .v24-card__title {
	margin: 0;
	color: #fff;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .v24-card__sub {
	margin: 0;
	color: #fff;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .wp-block-list.is-style-v24-checklist {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.v24 .wp-block-list.is-style-v24-checklist > li {
	position: relative;
	margin: 0 0 16px;
	padding-left: 32px;
	font-size: 18px;
	line-height: 23.7px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	text-align: left;
}

.v24 .wp-block-list.is-style-v24-checklist > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px;
	height: 17px;
	background: currentColor;
	-webkit-mask: var(--v24-icon-check2) center / contain no-repeat;
	mask: var(--v24-icon-check2) center / contain no-repeat;
}

.v24 .v24-card .wp-block-buttons {
	margin-top: 51px;
}

/* ---------- FAQ ---------- */

.v24.v24-faq {
	padding: 65px 0 0;
}

.v24-faq .wp-block-columns {
	align-items: center;
}

.v24 .v24-faq__media {
	align-self: flex-end;
}

@media (min-width: 992px) {
	.v24 .v24-faq__content {
		padding-top: 50px;
	}
}

.v24 .wp-block-details.is-style-v24-faq {
	margin: 0 0 8px;
	/* Original: 56 px hoch inkl. Rahmen */
	padding: 15px 16px;
	border: 1px solid #a6f2c4;
	border-radius: 4px;
	background: #fff;
}

.v24 .wp-block-details.is-style-v24-faq > summary {
	position: relative;
	display: block;
	padding-right: 28px;
	list-style: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 900;
	line-height: 23.7px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--v24-text);
}

.v24 .wp-block-details.is-style-v24-faq > summary::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: currentColor;
	-webkit-mask: var(--v24-icon-plus) center / contain no-repeat;
	mask: var(--v24-icon-plus) center / contain no-repeat;
}

.v24 .wp-block-details.is-style-v24-faq[open] > summary::after {
	-webkit-mask-image: var(--v24-icon-minus);
	mask-image: var(--v24-icon-minus);
}

.v24 .wp-block-details.is-style-v24-faq > :not(summary) {
	margin: 12px 0 0;
}

.v24 .wp-block-details.is-style-v24-faq > summary + * {
	margin-top: 16px;
}

/* ---------- Footer ---------- */

.v24.v24-footer {
	padding: 40px 0 17px;
	background: #f1f1f1;
	color: #010101;
}

.v24 .v24-footer__logo,
.v24 .v24-footer__logo img {
	width: 150px;
}

.v24 .v24-footer__logo {
	margin-bottom: 12px;
}

.v24 .v24-contact {
	position: relative;
	margin: 0 0 12px;
	/* Zeilenhöhe wie im Original (19,5 px); einzeilig trotzdem 28 px hoch */
	padding: 4.25px 0 4.25px 31px;
	font-size: 15px;
	font-weight: 900;
	line-height: 19.5px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .v24-contact a {
	color: inherit;
	text-decoration: none;
}

.v24 .v24-contact a:hover {
	color: var(--v24-blue);
}

.v24 .v24-contact::before {
	content: "";
	position: absolute;
	left: -2px;
	top: 4px;
	width: 21px;
	height: 21px;
	background: currentColor;
	-webkit-mask: var(--v24-icon-phone) center / contain no-repeat;
	mask: var(--v24-icon-phone) center / contain no-repeat;
}

.v24 .v24-contact--home::before {
	-webkit-mask-image: var(--v24-icon-home);
	mask-image: var(--v24-icon-home);
}

.v24 .v24-contact--mail::before {
	-webkit-mask-image: var(--v24-icon-mail);
	mask-image: var(--v24-icon-mail);
}

.v24 .wp-block-social-links.v24-social {
	gap: 29px;
	margin: 40px 0 0;
	padding: 0;
}

.v24 .wp-block-social-links.v24-social .wp-social-link {
	color: #a1be49;
	background: transparent;
	font-size: 24px;
}

.v24 .wp-block-social-links.v24-social .wp-social-link a {
	padding: 0;
	color: #a1be49;
}

/* Symbole wie im Original (das WordPress-Symbol bleibt unsichtbar als Platzhalter) */
.v24 .wp-block-social-links.v24-social .wp-social-link a {
	position: relative;
}

.v24 .wp-block-social-links.v24-social .wp-social-link svg {
	width: 21px;
	height: 21px;
	opacity: 0;
}

.v24 .wp-block-social-links.v24-social .wp-social-link a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: currentColor;
	-webkit-mask: var(--v24-icon-facebook) center / contain no-repeat;
	mask: var(--v24-icon-facebook) center / contain no-repeat;
}

.v24 .wp-block-social-links.v24-social .wp-social-link-instagram a::before {
	-webkit-mask-image: var(--v24-icon-instagram);
	mask-image: var(--v24-icon-instagram);
}

.v24 .v24-footer__title {
	margin: 0 0 18px;
	padding-bottom: 15px;
	border-bottom: 1px solid #cfcfcf;
	font-size: 20px;
	font-weight: 900;
	line-height: 26px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: inherit;
}

.v24 .v24-footer__hours p {
	margin-bottom: 16px;
	line-height: 24px;
}

.v24 .v24-footer__hours strong {
	font-weight: 700;
}

.v24 .v24-footer__hours p.v24-copyright {
	margin: 42px 0 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 27px;
}

.v24 .v24-footer-link {
	margin: 0 0 20px;
	font-size: 16.8px;
	font-weight: 900;
	line-height: 22px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.v24 .v24-footer-link a {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 2px solid var(--v24-blue);
	color: inherit;
	text-decoration: none;
}

.v24 .v24-footer-link a:hover {
	color: var(--v24-blue);
}

/* ---------- Einblend-Animationen (nur Frontend, nur mit JavaScript) ---------- */

.v24-js .v24-anim {
	opacity: 0;
	transform: translate3d(0, 40px, 0);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
	transition-delay: var(--v24-delay, 0s);
}

.v24-js .v24-anim-fade .v24-anim {
	transform: none;
}

.v24-js .v24-anim.v24-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.v24-js .v24-anim {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ---------- Tablet ---------- */

/* ==========================================================================
 * Handy & Tablet (< 992 px) – eigenes Layout wie im Original.
 * Das Original kennt drei Stufen:
 *   bis 767 px  : 24 px Rand, Schriften gleiten zwischen 450 und 768 px
 *   768 px      : Inhalt ohne Rand (volle Breite)
 *   769–991 px  : Inhalt max. 798 px breit, mittig, größere Abstände
 * --v24-cw = Inhaltsbreite; viele Maße sind Anteile davon (wie im Original).
 * ========================================================================== */

/* Abschnitte, die es nur auf einem Gerätetyp gibt (Hero/Banner).
   Im Block-Editor bleiben beide sichtbar und sind beschriftet. */
@media (min-width: 992px) {
	body:not(.editor-styles-wrapper) .v24-nur-mobil {
		display: none !important;
	}
}

.editor-styles-wrapper :is(.v24-nur-mobil, .v24-nur-desktop) {
	outline: 3px dashed #ff9000;
	outline-offset: -3px;
}

.editor-styles-wrapper :is(.v24-nur-mobil, .v24-nur-desktop)::after {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 50;
	padding: 4px 10px;
	border-radius: 3px;
	background: #ff9000;
	color: #fff;
	font: 700 13px/1.4 sans-serif;
	pointer-events: none;
}

.editor-styles-wrapper .v24-nur-mobil::after {
	content: "Nur auf Handy & Tablet sichtbar";
}

.editor-styles-wrapper .v24-nur-desktop::after {
	content: "Nur auf Computer sichtbar";
}

@media (max-width: 991px) {
	body:not(.editor-styles-wrapper) .v24-nur-desktop {
		display: none !important;
	}

	.v24-section,
	.v24.v24-footer {
		container-type: inline-size;
	}

	.v24 {
		--v24-cw: min(798px, 100cqw);
		--v24-pad: max(0px, calc((100cqw - 798px) / 2));
	}

	.v24-container,
	.v24 .v24-container {
		width: auto;
		max-width: 798px;
	}

	/* Spalten untereinander */
	.v24 .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.v24 .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100%;
		margin-bottom: 0 !important;
	}

	/* Standard-Buttons im Handy-Layout */
	.v24 .wp-block-button.is-style-v24-m .wp-block-button__link,
	.v24-about .wp-block-button .wp-block-button__link,
	.v24-kurse__cta .wp-block-button .wp-block-button__link {
		font-size: 15px;
		line-height: 18px;
		padding: 19px 28px;
	}

	.v24-about .wp-block-buttons > .wp-block-button,
	.v24-kurse__cta > .wp-block-button,
	.v24-about .wp-block-buttons > .wp-block-button .wp-block-button__link,
	.v24-kurse__cta > .wp-block-button .wp-block-button__link {
		width: 100%;
	}

	.v24 .wp-block-button.is-style-v24-l .wp-block-button__link {
		font-size: 17px;
		line-height: 20.4px;
		padding: 20.3px 31px;
	}

	/* ---------- Header ---------- */
	.v24 .v24-header__bar {
		min-height: 104px;
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.v24 .v24-header__cta {
		display: none;
	}

	/* Burger-Menü schon unter 992 px (WordPress schaltet sonst erst unter 600 px um) */
	.v24 .v24-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.v24 .v24-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.v24 .v24-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	/* ---------- Sticker: Maße als Anteil der Inhaltsbreite ---------- */
	.v24 .v24-sticker,
	.v24 .v24-sticker.v24-sticker--small {
		--v24-st-scale: 1;
		--v24-tag-ls: 0.088em;
		--v24-tag-ml: 0px;
		--v24-title-ml: 0px;
	}

	.v24 .v24-sticker--about {
		--v24-tag-fs: calc(var(--v24-cw) * 0.106);
		--v24-tag-pad: 0.238em 0.15em 0.158em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.748);
		--v24-title-fs: calc(var(--v24-cw) * 0.122);
		--v24-title-mt: -0.03em;
		--v24-st-dx: calc(var(--v24-cw) * -0.0376);
	}

	.v24 .v24-sticker--einblick {
		--v24-tag-fs: calc(var(--v24-cw) * 0.091);
		--v24-tag-pad: 0.227em 0.15em 0.175em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.635);
		--v24-title-fs: calc(var(--v24-cw) * 0.106);
		--v24-title-mt: -0.057em;
		--v24-st-dx: calc(var(--v24-cw) * -0.0326);
	}

	.v24 .v24-sticker.v24-sticker--small {
		--v24-tag-fs: calc(var(--v24-cw) * 0.0497);
		--v24-tag-ls: 0.084em;
		--v24-tag-pad: 0.667em 0.25em 0.635em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.555);
		--v24-tag-ml: calc(var(--v24-cw) * 0.0188);
		--v24-title-fs: calc(var(--v24-cw) * 0.0877);
		--v24-title-ml: calc(var(--v24-cw) * 0.0514);
		--v24-title-mt: -0.213em;
		--v24-st-dx: 0px;
		margin-top: 0;
	}

	.v24 .v24-sticker--angebot {
		--v24-tag-fs: calc(var(--v24-cw) * 0.0782);
		--v24-tag-ls: 0.094em;
		--v24-tag-pad: 0.29em 0.15em 0.379em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.555);
		--v24-title-fs: calc(var(--v24-cw) * 0.0679);
		--v24-title-mt: -0.234em;
		--v24-st-dx: calc(var(--v24-cw) * -0.01);
	}

	.v24 .v24-sticker--members {
		--v24-tag-fs: calc(var(--v24-cw) * 0.0793);
		--v24-tag-pad: 0.405em 0.15em 0.403em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.707);
		--v24-title-fs: calc(var(--v24-cw) * 0.0892);
		--v24-title-mt: -0.044em;
		--v24-st-dx: calc(var(--v24-cw) * -0.031);
	}

	.v24 .v24-sticker--faq {
		--v24-tag-fs: calc(var(--v24-cw) * 0.0877);
		--v24-tag-pad: 0.356em 0.15em 0.507em;
		--v24-tag-minw: calc(var(--v24-cw) * 0.76);
		--v24-tag-ml: calc(var(--v24-cw) * 0.038);
		--v24-title-fs: calc(var(--v24-cw) * 0.111);
		--v24-title-ml: calc(var(--v24-cw) * 0.015);
		--v24-title-mt: -0.132em;
		--v24-st-dx: 0px;
	}

	/* ---------- Hero (eigener Block für Handy/Tablet) ---------- */
	.v24.v24-hero--mobil {
		padding: 523px var(--v24-pad) 170px;
		align-items: flex-start;
	}

	.v24-hero--mobil .wp-block-cover__inner-container {
		max-width: 798px;
	}

	.v24.v24-hero--mobil .v24-hero__title {
		margin: 0 0 8px;
		font-size: 55px;
		line-height: 1.3;
	}

	.v24.v24-hero--mobil p.v24-hero__text {
		margin: 0 0 60px;
		color: #fff;
		font-size: 20px;
		line-height: 30px;
	}

	/* ---------- Über uns ---------- */
	.v24.v24-about {
		padding: calc(100px + var(--v24-cw) * 0.0805) 0 80px;
	}

	.v24 .v24-about__cols {
		padding: 0 var(--v24-pad);
		flex-direction: column;
		flex-wrap: nowrap !important;
		gap: 0 !important;
	}

	/* Reihenfolge wie im Original: Überschrift, Bild, Text, Button */
	.v24 .v24-about__cols > .v24-about__text {
		display: contents;
	}

	.v24 .v24-about__text > .v24-sticker {
		order: 1;
		margin-bottom: min(55px, calc(28.7px + var(--v24-cw) * 0.0476));
	}

	.v24 .v24-about__cols > .v24-about__media {
		width: calc(100% + 2 * var(--v24-pad));
		max-width: none;
		order: 2;
		margin: 0 calc(-1 * var(--v24-pad)) 20px;
	}

	.v24 .v24-about__text > :not(.v24-sticker) {
		order: 3;
	}

	.v24 .v24-about__media .wp-block-image {
		margin-bottom: 20px;
	}

	.v24 .v24-about__media img {
		width: 100%;
		height: calc(var(--v24-cw) * 0.775);
		object-fit: contain;
		object-position: 100% 45%;
	}

	/* Original: leere Zeile zwischen den Absätzen */
	.v24.v24-about p.v24-text-lg:not(:last-of-type) {
		margin-bottom: 56px;
	}

	.v24.v24-about p.v24-text-lg {
		margin-bottom: 0;
		font-size: 16px;
		line-height: 24px;
	}

	.v24 .v24-about__text .wp-block-buttons {
		margin-top: 39px;
	}

	/* ---------- Kurse ---------- */
	.v24.v24-kurse {
		padding: 62px 0 140px;
	}

	.v24-js .v24-slider--kurse .v24-slider__track > figure:not(#v24) {
		aspect-ratio: auto;
		height: calc(var(--v24-cw) * 0.66);
	}

	.v24-slider--kurse .v24-slider__arrow {
		display: none;
	}

	.v24.v24-kurse .wp-block-columns {
		row-gap: 0 !important;
	}

	.v24.v24-kurse .v24-kurse__badge {
		margin-top: 52px;
		padding: 0;
	}

	.v24 .v24-kurse__badge img {
		width: 100%;
		height: calc(var(--v24-cw) * 0.41);
		object-fit: cover;
		object-position: 61% 25%;
	}

	/* ---------- Einblick ---------- */
	.v24.v24-einblick {
		padding: calc(var(--v24-cw) * 0.043) 0 0;
	}

	.v24.v24-einblick .v24-sticker {
		margin-bottom: calc(8.2px + var(--v24-cw) * 0.0141);
	}

	.v24 .v24-title-lg {
		margin-top: 0;
		font-size: 32px;
		line-height: 41.6px;
	}

	.v24-js .v24-slider--gym.v24-slider-ready,
	.v24-einblick .v24-slider--gym:not(.v24-slider-ready) {
		margin: 69px 0 0;
		padding-bottom: 70px;
	}

	.v24-js .v24-slider--gym .v24-slider__track {
		gap: 16px;
		padding: 0 var(--v24-pad);
		scroll-padding: 0 var(--v24-pad);
	}

	.v24-js .v24-slider--gym .v24-slider__track > figure:not(#v24) {
		flex: 0 0 calc(var(--v24-cw) - 48px) !important;
		width: calc(var(--v24-cw) - 48px) !important;
		height: calc((var(--v24-cw) - 48px) * 1.6 + 26px);
		margin-left: 16px !important;
	}

	/* ---------- Mitglieder-Stimmen ---------- */
	.v24.v24-stimmen {
		padding: 130px 0 100px;
	}

	.v24-stimmen .wp-block-columns {
		row-gap: 44px !important;
	}

	.v24-stimmen .wp-block-buttons {
		margin-top: 30px;
	}

	.v24-slider--reviews .v24-slider__arrow {
		display: none;
	}

	.v24-js .v24-slider--reviews.v24-slider-ready {
		padding-bottom: 0;
	}

	.v24-js .v24-slider--reviews .v24-slider__track {
		gap: 32px;
	}

	/* ---------- Banner (eigener Block für Handy/Tablet) ---------- */
	.v24.v24-banner-mobil {
		padding: 600px var(--v24-pad) 410px;
		align-items: flex-start;
		color: #fff;
	}

	.v24-banner-mobil .wp-block-cover__inner-container {
		max-width: 798px;
	}

	.v24 .v24-banner-mobil__title {
		margin: 0 auto 60px;
		color: #fff;
		font-size: 48px;
		font-weight: 900;
		line-height: 1.278;
		letter-spacing: -0.4px;
		text-transform: uppercase;
	}

	/* ---------- Angebot: drei schmale Spalten nebeneinander (wie im Original) ---------- */
	.v24.v24-angebot {
		padding: 21px 0 120px;
	}

	.v24.v24-angebot .v24-sticker {
		margin-bottom: 110px;
	}

	.v24 .v24-steps {
		flex-wrap: nowrap !important;
		column-gap: calc(36.7px + var(--v24-cw) * 0.0095) !important;
	}

	.v24 .v24-steps > .wp-block-column {
		flex: 1 1 0 !important;
		min-width: 0;
	}

	.v24 .v24-steps :is(.v24-step-title, .v24-step-text) {
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: manual;
	}

	.v24 .v24-step-title {
		font-size: 24px;
		line-height: 31.45px;
	}

	/* ---------- Mitgliedschaften ---------- */
	.v24.v24-members {
		padding: 21px 0 72px;
	}

	.v24 .v24-cards {
		margin-top: calc(29px + var(--v24-cw) * 0.052);
		row-gap: 24px !important;
	}

	.v24 .v24-cards > .wp-block-column {
		flex: 0 0 100% !important;
	}

	.v24 .v24-card {
		padding: 48px 52px 68px;
	}

	.v24 .v24-card .wp-block-list.is-style-v24-checklist {
		margin-top: 22px;
	}

	.v24 .v24-card .wp-block-buttons {
		margin-top: 57px;
	}

	.v24 .wp-block-button.is-style-v24-call .wp-block-button__link {
		padding-left: 23px;
		padding-right: 23px;
	}

	.v24 .v24-price {
		font-size: 50px;
	}

	.v24 .v24-card .v24-card__title {
		font-size: 32px;
	}

	/* ---------- FAQ ---------- */
	.v24.v24-faq {
		padding: 72px 0 72px;
	}

	.v24-faq .wp-block-columns > .v24-faq__media {
		order: -1;
		align-self: auto;
	}

	.v24 .v24-faq__media .wp-block-image {
		margin: 0 calc(-1 * var(--v24-pad));
	}

	.v24 .v24-faq__media img {
		display: block;
		width: auto;
		height: calc(var(--v24-cw) * 0.813);
		margin: 0 auto;
	}

	.v24 .wp-block-details.is-style-v24-check > summary {
		padding-right: 26.5px;
	}

	.v24 .v24-kurse__cta {
		margin-top: 37px;
	}

	.v24-faq .wp-block-columns {
		row-gap: 36px !important;
	}

	.v24.v24-faq .v24-sticker {
		margin-bottom: 41px;
	}

	/* ---------- Footer ---------- */
	.v24.v24-footer {
		padding: 41px 0 40px;
	}

	.v24 .v24-footer__contact {
		display: flex;
		flex-wrap: wrap;
		column-gap: 12px;
		align-items: flex-start;
	}

	.v24 .v24-footer__contact > .v24-footer__logo,
	.v24 .v24-footer__contact > .v24-social {
		flex: 0 0 100%;
	}

	.v24 .v24-footer__links .v24-footer-link {
		text-align: right;
	}

	.v24 .v24-footer__cols {
		row-gap: 34px !important;
	}

	.v24 .v24-footer__title {
		margin-bottom: 14px;
	}

	.v24 .v24-footer__logo {
		margin-bottom: 16px;
	}

	.v24 .v24-contact {
		margin-bottom: 14px;
	}

	.v24 .v24-footer__hours p.v24-copyright {
		margin-top: 40px;
	}
}

/* Footer-Kontakt: bis 450 px untereinander, darüber nebeneinander (wie im Original) */
@media (max-width: 450px) {
	.v24 .v24-footer__contact > .v24-contact {
		flex: 0 0 100%;
	}
}

@media (min-width: 451px) and (max-width: 991px) {
	.v24 .v24-footer__logo {
		margin-bottom: 12px;
	}

	.v24 .v24-contact {
		margin-bottom: 11px;
	}
}

/* 768 px: Inhalt ohne Seitenrand */
@media (min-width: 768px) and (max-width: 768px) {
	.v24 {
		--v24-cw: 100cqw;
		--v24-pad: 0px;
	}

	.v24-js .v24-slider--gym .v24-slider__track > figure:not(#v24) {
		flex-basis: calc(var(--v24-cw) - 30px) !important;
		width: calc(var(--v24-cw) - 30px) !important;
		height: calc((var(--v24-cw) - 30px) * 1.6 + 26px);
	}

}

@media (min-width: 768px) and (max-width: 991px) {
	.v24 .v24-footer__title {
		margin-bottom: 18px;
	}

	/* Original: Spaltenraster ragt je 6,5 px über den Rand */
	.v24 .v24-steps {
		column-gap: 31.5px !important;
		margin-left: -6.5px;
		margin-right: -6.5px;
	}
}

/* 769–991 px: Tablet-Abstände */
@media (min-width: 769px) and (max-width: 991px) {
	.v24 .v24-about__media img {
		height: calc(var(--v24-cw) * 0.771);
		object-fit: cover;
	}

	.v24 .v24-about__media .wp-block-image {
		margin-bottom: 26px;
	}

	/* Kurse: Aufklapp-Liste zweispaltig */
	.v24.v24-kurse .wp-block-column:has(> .v24-kurse__badge) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.v24.v24-kurse .wp-block-column:has(> .v24-kurse__badge) > :not(.wp-block-details) {
		grid-column: 1 / -1;
	}
}

/* bis 768 px: kleinere Abstände, gleitende Schriftgrößen */
@media (max-width: 768px) {
	.v24.v24-hero--mobil {
		padding-top: 266px;
		padding-bottom: 100px;
		align-items: center;
	}

	.v24.v24-hero--mobil .v24-hero__title {
		font-size: calc(40px + 15 * (100vw - 450px) / 318);
	}

	.v24.v24-about {
		padding-top: calc(50px + var(--v24-cw) * 0.0805);
		padding-bottom: 50px;
	}

	.v24.v24-kurse {
		padding-top: 33px;
		padding-bottom: 80px;
	}

	.v24.v24-stimmen {
		padding-top: calc(50.6px + var(--v24-cw) * 0.0333);
		padding-bottom: 49px;
	}

	.v24-js .v24-slider--gym.v24-slider-ready,
	.v24-einblick .v24-slider--gym:not(.v24-slider-ready) {
		padding-bottom: 44px;
	}

	.v24.v24-members {
		padding-top: 12px;
		padding-bottom: 40px;
	}

	.v24 .v24-cards {
		margin-top: calc(17px + var(--v24-cw) * 0.052);
		row-gap: 20px !important;
	}

	.v24 .v24-card {
		padding: 24px 28px 45px;
	}

	.v24 .v24-card .v24-card__title {
		margin-left: -8px;
		margin-right: -8px;
	}

	.v24.v24-faq .v24-sticker {
		margin-bottom: 21px;
	}

	.v24-js .v24-slider--gym.v24-slider-ready,
	.v24-einblick .v24-slider--gym:not(.v24-slider-ready) {
		margin-top: 45px;
	}

	.v24.v24-hero--mobil .v24-hero__title {
		margin-bottom: 13px;
	}

	.v24-js .v24-slider--reviews .v24-slider__track {
		gap: 24px;
	}

	.v24.v24-banner-mobil {
		padding-top: 186px;
		padding-bottom: 100px;
		align-items: center;
	}

	.v24 .v24-banner-mobil__title {
		font-size: calc(32px + 16 * (100vw - 450px) / 318);
	}

	.v24.v24-angebot {
		padding-top: 22px;
		padding-bottom: 70px;
	}

	.v24.v24-angebot .v24-sticker {
		margin-bottom: calc(37px + var(--v24-cw) * 0.038);
	}

	.v24 .v24-price {
		font-size: calc(40px + 10 * (100vw - 450px) / 318);
	}

	.v24.v24-faq {
		padding-top: calc(6px + var(--v24-cw) * 0.0762);
		padding-bottom: 32px;
	}

	.v24-faq .wp-block-columns {
		row-gap: calc(19.7px + var(--v24-cw) * 0.0476) !important;
	}

	.v24 .v24-faq__media img {
		height: calc((var(--v24-cw) + 48px) * 0.7095 + 7.3px);
	}

	.v24 .v24-footer__title {
		font-size: calc(18px + 2 * (100vw - 450px) / 318);
	}

	.v24.v24-footer {
		padding-top: 20px;
	}
}

/* bis 767 px: 24 px Seitenrand */
@media (max-width: 767px) {
	.v24 {
		--v24-cw: calc(100cqw - 48px);
		--v24-pad: 24px;
	}

	.v24-container,
	.v24 .v24-container {
		width: calc(100% - 48px);
	}

	.v24 .v24-header__bar {
		width: calc(100% - 48px);
	}

	.v24-js .v24-slider--gym .v24-slider__track > figure:not(#v24) {
		flex-basis: var(--v24-cw) !important;
		width: var(--v24-cw) !important;
		height: calc(var(--v24-cw) * 1.6 + 26px);
		margin-left: 0 !important;
	}
}

/* 768–991 px: Kopfzeile ohne Rand (Logo und Menü-Knopf ganz außen) */
@media (min-width: 768px) and (max-width: 991px) {
	.v24 .v24-header__bar {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 992px) {
	/* Original FAQ: Teamfoto in der linken Fensterhälfte, 90 %, unten bündig; die Abschnittshöhe bestimmt die rechte Spalte */
	.v24.v24-faq {
		padding-bottom: 75px;
	}

	/* Original: Inhalt der 2. und 3. Preiskarte sitzt 6 px höher */
	.v24 .v24-cards > .wp-block-column:not(:first-child) .v24-pill {
		margin-top: -6px;
	}

	.v24 .v24-faq__media {
		align-self: stretch;
	}

	.v24 .v24-faq__media .wp-block-image {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 50%;
		margin: 0;
	}

	.v24 .v24-faq__media img {
		position: absolute;
		left: 5%;
		bottom: 0;
		width: 90%;
		height: 90% !important;
		max-width: none;
		object-fit: contain;
		object-position: 50% 100%;
	}

	/* Sticker-Bilder des Originals haben Weißraum, der mit der Inhaltsbreite schrumpft */
	.v24.v24-about .v24-sticker {
		margin-top: calc((var(--v24-cwd) - 1250px) * 0.07);
		margin-bottom: calc(22px + (var(--v24-cwd) - 1250px) * 0.02);
	}

	.v24.v24-einblick .v24-sticker {
		margin-top: calc((var(--v24-cwd) - 1250px) * 0.05);
		margin-bottom: calc(24px + (var(--v24-cwd) - 1250px) * 0.08);
	}

	.v24.v24-stimmen .v24-sticker.v24-sticker--small {
		margin-top: calc(22px + (var(--v24-cwd) - 1250px) * 0.03);
		margin-bottom: calc(21px - (var(--v24-cwd) - 1250px) * 0.02);
	}

	.v24.v24-angebot .v24-sticker {
		margin-top: calc((var(--v24-cwd) - 1250px) * 0.06);
		margin-bottom: calc(149px + (var(--v24-cwd) - 1250px) * 0.06);
	}

	.v24.v24-members .v24-sticker {
		margin-top: calc((var(--v24-cwd) - 1250px) * 0.05);
		margin-bottom: calc(24px + (var(--v24-cwd) - 1250px) * 0.01);
	}

	.v24.v24-faq .v24-sticker {
		margin-top: calc((var(--v24-cwd) - 1250px) * 0.04);
	}

	/* Menü sitzt im Original 17 px links der Mitte, Button 4 px weiter rechts */
	.v24 .v24-nav {
		position: relative;
		left: -9.5px;
	}

	.v24 .v24-header__cta {
		margin-right: -4px;
	}

	/* Tarifnamen dürfen etwas in den Innenabstand ragen (wie im Original) */
	.v24 .v24-card .v24-card__title {
		margin-left: -4px;
		margin-right: -4px;
	}

	.v24 .v24-card .wp-block-buttons {
		margin-top: calc(56px + (var(--v24-cwd) - 1250px) * 0.032);
	}

	.v24 .v24-cards > .wp-block-column:not(:first-child) .v24-card .wp-block-buttons {
		margin-top: calc(57px + (var(--v24-cwd) - 1250px) * 0.032);
	}

	.v24 .v24-title-lg {
		margin-top: calc(69px + (var(--v24-cwd) - 1250px) * 0.043);
	}
}

/* 992–1199 px: Abweichungen des Originals bei schmaler Inhaltsbreite */
@media (min-width: 992px) and (max-width: 1199px) {
	.v24.v24-members .v24-cards {
		margin-top: 91px;
	}

	.v24.v24-stimmen {
		padding-bottom: 113px;
	}

	.v24.v24-stimmen .v24-sticker.v24-sticker--small {
		margin-bottom: calc(34px - (var(--v24-cwd) - 1250px) * 0.02);
	}

	/* Footer: Kontakt + Öffnungszeiten mittig nebeneinander, Links darunter */
	.v24 .v24-footer__cols {
		flex-wrap: wrap !important;
		justify-content: center;
		column-gap: 91px !important;
		row-gap: 10px !important;
	}

	.v24 .v24-footer__cols > .v24-footer__contact {
		flex: 0 0 245px !important;
	}

	.v24 .v24-footer__cols > .v24-footer__hours {
		flex: 0 0 334px !important;
	}

	.v24 .v24-footer__cols > .v24-footer__links {
		flex: 0 0 670px !important;
		padding-left: 336px;
	}

	.v24 .v24-footer__links .v24-footer-link {
		width: 143px;
	}
}
