/* M75 — Header Leistung (Unterseiten-Hero)
 * Tokens nach Figma (T2CqAj7unelXCxMvBex0yq, m_hero 47:7 / 53:7).
 * Hintergrund-Layer überschießt Section nach unten und blendet in Weiß aus.
 * Padding wird durch das Abstand-Feld gesteuert (data-innerer-abstand).
 */

section.m75_header_leistungen {
	position: relative;
	overflow: visible;
	color: #e2f9ff;
}

body.page-id-14254 section.m75_header_leistungen:has(+ .hell),
body.page-id-14250 section.m75_header_leistungen:has(+ .hell),
body.page-id-14247 section.m75_header_leistungen:has(+ .hell),
body.page-id-14244 section.m75_header_leistungen:has(+ .hell) {
	background-color: #fff;
}

/* === Hintergrund-Layer === */
section.m75_header_leistungen .m75_background_img_container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1500px;          /* überschießt deutlich nach unten — Verlauf endet im Weiß */
	pointer-events: none;
	z-index: 1;
	overflow: hidden;
}

body.page-id-14254 section.m75_header_leistungen .m75_background_img_container,
body.page-id-14250 section.m75_header_leistungen .m75_background_img_container,
body.page-id-14247 section.m75_header_leistungen .m75_background_img_container,
body.page-id-14244 section.m75_header_leistungen .m75_background_img_container {
	height: 1100px;
}

body.page-id-14254 section.m75_header_leistungen .m75_titel,
body.page-id-14247 section.m75_header_leistungen .m75_titel,
body.page-id-14244 section.m75_header_leistungen .m75_titel,
body.page-id-14250 section.m75_header_leistungen .m75_titel {
	margin-left: auto;
	margin-right: auto;
}

body.page-id-14247 section.m75_header_leistungen .m75_titel,
body.page-id-14244 section.m75_header_leistungen .m75_titel {
	max-width: 800px;
}

body.page-id-14254 section.m75_header_leistungen .m75_titel,
body.page-id-14250 section.m75_header_leistungen .m75_titel {
	max-width: 900px;
}

section.m75_header_leistungen .m75_background_img_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;   /* Verlauf-Bottom (Weiß) bleibt unten — Top wird wenn nötig beschnitten */
	display: block;
}

section.m75_header_leistungen .m75_zertifikat svg {
	height: 29px;
}

/* Optionale Theme-Klassen (Clone-Quelle wie m71_hintergrund) */
section.m75_header_leistungen.darkgrey { background: #181d22; }
section.m75_header_leistungen.grey     { background: #f3f3f4; color: #173ca6; }
section.m75_header_leistungen.hell     { background: #fff; color: #173ca6; }

/* === Abstand (Theme-Konvention via data-innerer-abstand) === */
section.m75_header_leistungen[data-innerer-abstand="innerer_abstand_oben_und_unten"] {
	padding-top: 220px;
	padding-bottom: 200px;
}
section.m75_header_leistungen[data-innerer-abstand="innerer_abstand_nur_oben"] {
	padding-top: 220px;
	padding-bottom: 0;
}
section.m75_header_leistungen[data-innerer-abstand="innerer_abstand_nur_unten"] {
	padding-top: 0;
	padding-bottom: 200px;
}
section.m75_header_leistungen[data-innerer-abstand="kein_innerer_abstand"] {
	padding-top: 0;
	padding-bottom: 0;
}

/* === Content-Layer === */
section.m75_header_leistungen .m75_header_leistung_content_wrapper {
	position: relative;
	z-index: 2;
}

section.m75_header_leistungen .m75_main_content {
	text-align: center;
}

/* Subline (Figma: Nexa Heavy 17px, #ff5b4a, uppercase, tracking 0.34) */
section.m75_header_leistungen .m75_subline {
	display: inline-block;
	margin: 0 0 32px;
	color: #ff5b4a;
	font-family: 'Nexa-Heavy', sans-serif;
	font-size: 1.0625rem;          /* 17px */
	letter-spacing: 0.34px;
	text-transform: uppercase;
	line-height: 1;
}

/* Headline (Figma: Nexa Heavy 65px, #e2f9ff, line-height 65px, tracking 1.1, text-shadow) */
section.m75_header_leistungen .m75_titel {
	margin: 0 0 28px;
	color: #e2f9ff;
	font-family: 'Nexa-Heavy', sans-serif;
	font-size: 4.0625rem;          /* 65px */
	line-height: 65px;
	font-weight: 400;
	letter-spacing: 1.1px;
	text-shadow: 0 0 24px rgba(226, 249, 255, 0.15);
}

/* Body (Figma: Nexa Regular 16px, #e2f9ff, line-height 24px, tracking 0.32) */
section.m75_header_leistungen .m75_text {
	margin: 0 auto 48px;
	max-width: 720px;
	color: #e2f9ff;
	font-family: 'Nexa-Regular', sans-serif;
	font-size: 1rem;               /* 16px */
	line-height: 24px;
	letter-spacing: 0.32px;
}

section.m75_header_leistungen .m75_text p:last-child { margin-bottom: 0; }

/* === Button: 332×59 Pill, mehrlagiger Glow (Figma 53:13) === */
section.m75_header_leistungen .m75_button_container {
	display: flex;
	justify-content: center;
}

section.m75_header_leistungen .m75_button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 332px;
	height: 59px;
	border-radius: 29.5px;
	border: 1px solid #fff;
	background: rgba(8, 8, 62, 0.2);
	-webkit-backdrop-filter: blur(15px);
	        backdrop-filter: blur(15px);
	color: #fff;
	font-family: 'Nexa-Heavy', sans-serif;
	font-size: 1rem;                /* 16px */
	letter-spacing: 0.358px;
	text-decoration: none;
	box-shadow: inset 0 4px 19.1px rgba(255, 91, 74, 0.58);
	isolation: isolate;
	transition: box-shadow .25s ease;
}

/* Outer-Glow (50px blur, opacity 65%) */
section.m75_header_leistungen .m75_button::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: #ff5b4a;
	filter: blur(50px);
	opacity: 0.65;
	z-index: -2;
	pointer-events: none;
	transition: opacity .25s ease;
}

/* Mid-Glow (Gradient, 25px blur, opacity 40%) */
section.m75_header_leistungen .m75_button::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, #ff5b4a, #ff994b);
	filter: blur(25px);
	opacity: 0.4;
	z-index: -1;
	pointer-events: none;
	transition: opacity .25s ease;
}

/* Hover: Glow intensiviert sich, Inset-Shadow stärker — Button bleibt an Position */
section.m75_header_leistungen .m75_button:hover {
	box-shadow: inset 0 4px 24px rgba(255, 91, 74, 0.85);
}
section.m75_header_leistungen .m75_button:hover::before { opacity: 0.85; }
section.m75_header_leistungen .m75_button:hover::after  { opacity: 0.6; }

section.m75_header_leistungen .m75_button_text { position: relative; z-index: 1; }

/* === Variante 1 — Marketing: GooglePartner-Badge links (Figma 56:374) === */
section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat {
	position: absolute;
	left: 70px;
	top: auto;
	bottom: calc(200px + 29.5px);
	transform: translateY(50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 45px;
	padding: 0 14px 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 29.5px;
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(10px);
	        backdrop-filter: blur(10px);
}

/* Padding-Variante ohne unteren Abstand: Button sitzt direkt auf Section-Bottom */
section.m75_header_leistungen.m75_variante_marketing[data-innerer-abstand="innerer_abstand_nur_oben"] .m75_zertifikat,
section.m75_header_leistungen.m75_variante_marketing[data-innerer-abstand="kein_innerer_abstand"] .m75_zertifikat {
	bottom: 29.5px;
}

section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat img,
section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat svg {
	width: auto;
	display: block;
}

section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat_label {
	margin: 0;
	font-size: 0.75rem;            /* 12px */
	color: #fff;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* === Variante 2 — Shops: "Unsere Plattformen" + Linien + Boxen === */
section.m75_header_leistungen.m75_variante_shops .m75_plattformen {
	margin-top: 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 34px;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattformen_titel_wrapper {
	display: flex;
	align-items: center;
	gap: 39px;
	width: 100%;
}

section.m75_header_leistungen.m75_variante_shops .m75_line {
	flex: 1;
	height: 1px;
	background: #d9d9d9;
	opacity: 0.5;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattformen_titel {
	margin: 0;
	color: #fff;
	font-family: 'Nexa-Regular', sans-serif;
	font-size: 1rem;                /* 16px */
	line-height: 17.887px;
	letter-spacing: 0.358px;
	white-space: nowrap;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattformen_grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	width: 100%;
	max-width: 700px;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattform_box {
	flex: 0 0 auto;
	width: 325px;
	height: 124px;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattform_box {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 37px 45px;
	background: rgba(255, 255, 255, 0.1);
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 15px;
	-webkit-backdrop-filter: blur(25px);
	        backdrop-filter: blur(25px);
	box-shadow: 0 0 100px 0 rgba(255, 255, 255, 0.3);
	transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
	box-sizing: border-box;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattform_box:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.4);
	box-shadow: 0 0 130px 0 rgba(255, 255, 255, 0.45);
}

section.m75_header_leistungen.m75_variante_shops .m75_plattform_box img,
section.m75_header_leistungen.m75_variante_shops .m75_plattform_box svg {
	max-height: 50px;
	max-width: 100%;
	width: auto;
	height: auto;
	display: block;
}

/* Slot 2 (WooCommerce): Logo kleiner, Box-Größe bleibt identisch durch fixe Außenmaße */
section.m75_header_leistungen.m75_variante_shops .m75_plattform_box:nth-child(2) img,
section.m75_header_leistungen.m75_variante_shops .m75_plattform_box:nth-child(2) svg {
	max-height: 36px;
}

section.m75_header_leistungen.m75_variante_shops .m75_plattform_name {
	color: rgba(255, 255, 255, 0.92);
	font-family: 'Nexa-Regular', sans-serif;
	font-size: 1rem;
	font-weight: 500;
}

/* === Responsive === */
@media (max-width: 1199px) {
	section.m75_header_leistungen .m75_titel {
		font-size: 3.5rem;
		line-height: 1.05;
	}
}

@media (max-width: 991px) {
	section.m75_header_leistungen[data-innerer-abstand="innerer_abstand_oben_und_unten"] {
		padding-top: 160px;
		padding-bottom: 140px;
	}
	section.m75_header_leistungen.m75_variante_marketing {
		display: flex;
		flex-direction: column;
	}
	section.m75_header_leistungen .m75_background_img_container { height: 1300px; }
	section.m75_header_leistungen .m75_titel {
		font-size: 3rem;
		line-height: 1.05;
	}
	section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		transform: none;
		margin: 0 auto 32px;
		height: 40px;
	}
	
	body.page-id-14254 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14250 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14247 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14244 section.m75_header_leistungen .m75_background_img_container {
		height: 900px;
	}
}

@media (max-width: 575px) {
	section.m75_header_leistungen[data-innerer-abstand="innerer_abstand_oben_und_unten"] {
		padding-top: 130px;
		padding-bottom: 110px;
	}
	section.m75_header_leistungen .m75_background_img_container { height: 1600px; }
	section.m75_header_leistungen .m75_titel {
		font-size: 2.25rem;
	}
	section.m75_header_leistungen .m75_button {
		width: auto;
		max-width: 100%;
		padding: 0 28px;
	}
	section.m75_header_leistungen.m75_variante_marketing .m75_zertifikat {
		margin-bottom: 24px;
	}
	section.m75_header_leistungen.m75_variante_shops .m75_plattformen_grid {
		grid-template-columns: 1fr;
	}
	
	section.m75_header_leistungen.m75_variante_shops .m75_plattform_box {
		width: 260px;
	}
	
	body.page-id-14254 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14250 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14247 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14244 section.m75_header_leistungen .m75_background_img_container {
		height: 850px;
	}
}

@media (max-width: 349px) {
	body.page-id-14254 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14250 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14247 section.m75_header_leistungen .m75_background_img_container,
	body.page-id-14244 section.m75_header_leistungen .m75_background_img_container {
		height: 950px;
	}
}

body.page-id-14254 section.m75_header_leistungen + section > .container,
body.page-id-14250 section.m75_header_leistungen + section > .container,
body.page-id-14247 section.m75_header_leistungen + section > .container,
body.page-id-14244 section.m75_header_leistungen + section > .container,
body.page-id-14254 section.m75_header_leistungen + section + section > .container,
body.page-id-14250 section.m75_header_leistungen + section + section > .container,
body.page-id-14247 section.m75_header_leistungen + section + section > .container,
body.page-id-14244 section.m75_header_leistungen + section + section > .container {
	position: relative;
	z-index: 2;
}