/* =========================================================
   DPF RANDOM HERO CSS START
   Zweck:
   - Hero über volle Browserbreite ziehen
   - Bildformat nicht verändern
   - keine feste Höhe
   - kein Beschnitt
   - kein object-fit
   - kein Overlay
   DPF RANDOM HERO CSS ENDE
   ========================================================= */

.dpf-random-hero {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 0 !important;
	background: #111111;
	line-height: 0;
	overflow: hidden;
}

.dpf-random-hero__image {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}



/* =========================================================
   DPF KACHELN CSS START
   DAS-PRODUKTFOTO.DE

   Zweck:
   - gemeinsame stabile Kachelstruktur
   - Kachel 1 und 2 getrennt benannt
   - Bild links
   - Text rechts
   - Button rechts
   - rechte Fläche lichtgrau
   ========================================================= */


/* Außenband volle Browserbreite */
.dpf-kachelband {
	width: 100vw !important;
	max-width: 100vw !important;

	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;

	padding: 0 !important;

	background: #deded9 !important;
	overflow: hidden !important;
}


/* WordPress-Leerabsätze neutralisieren */
.dpf-kachelband p:empty {
	display: none !important;
}


/* Gesamtkachel */
.dpf-kachel {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;

	width: 100% !important;
	max-width: none !important;

	aspect-ratio: 1920 / 440 !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #deded9 !important;

	box-sizing: border-box !important;
	overflow: hidden !important;
}


/* Bild links */
.dpf-kachel__bild {
	display: block !important;

	flex: 0 0 42.708333% !important;
	width: 42.708333% !important;
	max-width: 42.708333% !important;

	height: auto !important;
	min-height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	order: 1 !important;

	background: #111111 !important;
	overflow: hidden !important;

	box-sizing: border-box !important;
}

.dpf-kachel__bild img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover !important;
	object-position: center center !important;
}


/* Inhalt rechts */
.dpf-kachel__inhalt {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;

	flex: 0 0 57.291667% !important;
	width: 57.291667% !important;
	max-width: 57.291667% !important;

	height: auto !important;
	min-height: 100% !important;

	margin: 0 !important;

	padding:
		clamp(24px, 1.9vw, 36px)
		clamp(26px, 2.1vw, 44px)
		clamp(24px, 1.9vw, 36px)
		clamp(58px, 4.4vw, 84px) !important;

	order: 2 !important;

	background: #deded9 !important;
	color: #202124 !important;

	box-sizing: border-box !important;
}


/* Textblock */
.dpf-kachel__text {
	flex: 1 1 auto !important;

	min-width: 0 !important;
	max-width: 820px !important;

	margin: 0 !important;
	padding: 0 !important;
}

.dpf-kachel__text h2 {
	margin: 0 0 clamp(13px, 1.15vw, 24px) 0 !important;
	padding: 0 !important;

	color: #202124 !important;

	font-family: "Bebas Neue", "Oswald", Arial, sans-serif !important;
	font-size: clamp(34px, 2.7vw, 52px) !important;
	font-weight: 400 !important;
	line-height: 0.98 !important;
	letter-spacing: 0.02em !important;

	text-transform: uppercase !important;
}

.dpf-kachel__text p {
	margin: 0 !important;
	padding: 0 !important;

	color: #202124 !important;

	font-family: "Oswald", Arial, sans-serif !important;
	font-size: clamp(21px, 1.62vw, 31px) !important;
	font-weight: 300 !important;
	line-height: 1.12 !important;
}


/* Button rechts */
.dpf-kachel__button {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 clamp(210px, 17.45vw, 335px) !important;

	width: clamp(210px, 17.45vw, 335px) !important;
	height: clamp(76px, 5.99vw, 115px) !important;

	margin: 0 0 0 clamp(28px, 2.3vw, 44px) !important;
	padding: 0 !important;

	background: #5f8fbf !important;
	color: #ffffff !important;

	font-family: "Bebas Neue", "Oswald", Arial, sans-serif !important;
	font-size: clamp(27px, 2.2vw, 42px) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;

	text-transform: uppercase !important;
	text-decoration: none !important;

	box-sizing: border-box !important;
}

.dpf-kachel__button:hover {
	background: #73a5d3 !important;
	color: #ffffff !important;
}


/* Smartphone */
@media (max-width: 760px) {

	.dpf-kachel {
		display: flex !important;
		flex-direction: column !important;

		width: 100% !important;
		aspect-ratio: auto !important;
	}

	.dpf-kachel__bild {
		flex: none !important;

		width: 100% !important;
		max-width: 100% !important;

		height: auto !important;
		min-height: 0 !important;

		aspect-ratio: 820 / 440 !important;

		order: 1 !important;
	}

	.dpf-kachel__inhalt {
		display: block !important;

		flex: none !important;

		width: 100% !important;
		max-width: 100% !important;

		height: auto !important;
		min-height: 0 !important;

		padding: 26px 22px 28px !important;

		order: 2 !important;

		background: #deded9 !important;
	}

	.dpf-kachel__text {
		max-width: none !important;
	}

	.dpf-kachel__text h2 {
		margin-bottom: 14px !important;
		font-size: 34px !important;
		line-height: 0.98 !important;
	}

	.dpf-kachel__text p {
		font-size: 23px !important;
		line-height: 1.14 !important;
	}

	.dpf-kachel__button {
		width: 100% !important;
		height: 76px !important;

		margin: 24px 0 0 0 !important;

		font-size: 30px !important;
	}
}

/* DPF KACHELN CSS ENDE */


/* =========================================================
   DPF STARTSEITEN-TEXT CSS START
   DAS-PRODUKTFOTO.DE

   Gehört in:
   Design → Customizer → Zusätzliches CSS

   Zweck:
   - gestaltet den SEO-Textblock unter den drei Kacheln
   - Desktop groß, breit und ruhig
   - Mobile gut lesbar
   - kein Einfluss auf Hero oder Kacheln
   ========================================================= */


/* =========================================================
   Außenbereich
   ========================================================= */

.dpf-starttext {
	width: 100vw !important;
	max-width: 100vw !important;

	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;

	padding: 64px 0 78px !important;

	background: #1f2021 !important;
	color: #ffffff !important;
}


/* =========================================================
   Innerer Inhaltsbereich
   ========================================================= */

.dpf-starttext__inner {
	width: min(1480px, calc(100% - 80px)) !important;
	max-width: none !important;

	margin: 0 auto !important;
	padding: 0 !important;
}


/* =========================================================
   Intro mit H1
   ========================================================= */

.dpf-starttext__intro {
	max-width: 1320px !important;

	margin: 0 0 54px 0 !important;
	padding: 0 !important;
}

.dpf-starttext__intro h1 {
	margin: 0 0 26px 0 !important;
	padding: 0 !important;

	font-family: "Bebas Neue", "Oswald", Arial, sans-serif !important;
	font-size: 68px !important;
	font-weight: 400 !important;
	line-height: 0.98 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;

	color: #ffffff !important;
}

.dpf-starttext__intro p {
	max-width: 1320px !important;

	margin: 0 0 20px 0 !important;
	padding: 0 !important;

	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 28px !important;
	font-weight: 300 !important;
	line-height: 1.42 !important;

	color: #ffffff !important;
}


/* =========================================================
   Drei Kompetenzblöcke
   ========================================================= */

.dpf-starttext__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 44px !important;

	margin: 0 0 54px 0 !important;
	padding: 36px 0 0 0 !important;

	border-top: 1px solid rgba(255,255,255,0.22) !important;
}

.dpf-starttext__block {
	margin: 0 !important;
	padding: 0 !important;
}

.dpf-starttext__block h2,
.dpf-starttext__freisteller h2 {
	margin: 0 0 16px 0 !important;
	padding: 0 !important;

	font-family: "Bebas Neue", "Oswald", Arial, sans-serif !important;
	font-size: 36px !important;
	font-weight: 400 !important;
	line-height: 1.02 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;

	color: #ffffff !important;
}

.dpf-starttext__block p,
.dpf-starttext__freisteller p {
	margin: 0 !important;
	padding: 0 !important;

	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 21px !important;
	font-weight: 300 !important;
	line-height: 1.48 !important;

	color: #ffffff !important;
}


/* =========================================================
   Freisteller-Abschnitt
   ========================================================= */

.dpf-starttext__freisteller {
	max-width: 1180px !important;

	margin: 0 !important;
	padding: 34px 0 0 0 !important;

	border-top: 1px solid rgba(255,255,255,0.22) !important;
}


/* =========================================================
   Laptop / kleiner Desktop
   ========================================================= */

@media (max-width: 1280px) {

	.dpf-starttext__inner {
		width: min(1320px, calc(100% - 64px)) !important;
	}

	.dpf-starttext__intro h1 {
		font-size: 58px !important;
	}

	.dpf-starttext__intro p {
		font-size: 25px !important;
	}

	.dpf-starttext__block h2,
	.dpf-starttext__freisteller h2 {
		font-size: 32px !important;
	}

	.dpf-starttext__block p,
	.dpf-starttext__freisteller p {
		font-size: 20px !important;
	}
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 900px) {

	.dpf-starttext {
		padding: 54px 0 62px !important;
	}

	.dpf-starttext__inner {
		width: calc(100% - 42px) !important;
	}

	.dpf-starttext__intro {
		margin-bottom: 40px !important;
	}

	.dpf-starttext__intro h1 {
		font-size: 44px !important;
	}

	.dpf-starttext__intro p {
		font-size: 22px !important;
		line-height: 1.42 !important;
	}

	.dpf-starttext__grid {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
		margin-bottom: 40px !important;
		padding-top: 28px !important;
	}

	.dpf-starttext__block h2,
	.dpf-starttext__freisteller h2 {
		font-size: 30px !important;
	}

	.dpf-starttext__block p,
	.dpf-starttext__freisteller p {
		font-size: 20px !important;
		line-height: 1.45 !important;
	}

	.dpf-starttext__freisteller {
		padding-top: 28px !important;
	}
}


/* =========================================================
   Smartphone
   ========================================================= */

@media (max-width: 560px) {

	.dpf-starttext {
		padding: 46px 0 56px !important;
	}

	.dpf-starttext__inner {
		width: calc(100% - 34px) !important;
	}

	.dpf-starttext__intro h1 {
		font-size: 40px !important;
	}

	.dpf-starttext__intro p {
		font-size: 19px !important;
		line-height: 1.42 !important;
	}

	.dpf-starttext__block h2,
	.dpf-starttext__freisteller h2 {
		font-size: 28px !important;
	}

	.dpf-starttext__block p,
	.dpf-starttext__freisteller p {
		font-size: 18px !important;
		line-height: 1.44 !important;
	}
}

/* DPF STARTSEITEN-TEXT CSS ENDE */




/* =========================================================
   DPF DIREKT ANFRAGEN CSS START
   Startseite – Kontaktformular
   ========================================================= */

.dpf-anfrage {
	width: 100%;
	background: #f3f3f3;
	padding: 55px 0 65px 0;
}

.dpf-anfrage__inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 28px;
	box-sizing: border-box;
}

.dpf-anfrage__intro {
	max-width: 760px;
	margin-bottom: 28px;
}

.dpf-anfrage__intro h2 {
	margin: 0 0 22px 0;
	font-size: 30px;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.dpf-anfrage__intro p {
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
}

.dpf-anfrage__form {
	width: 100%;
	max-width: 760px;
}

.dpf-anfrage .wpcf7 {
	width: 100%;
}

.dpf-anfrage .wpcf7 label {
	display: block;
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.4;
}

.dpf-anfrage .wpcf7 input[type="text"],
.dpf-anfrage .wpcf7 input[type="email"],
.dpf-anfrage .wpcf7 input[type="tel"],
.dpf-anfrage .wpcf7 textarea {
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 11px 12px;
	border: 1px solid #c8c8c8;
	background: #ffffff;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.4;
}

.dpf-anfrage .wpcf7 textarea {
	min-height: 210px;
	resize: vertical;
}

.dpf-anfrage .wpcf7 input[readonly] {
	background: #eeeeee;
	color: #555555;
}

.dpf-anfrage .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 22px;
	font-size: 15px;
	line-height: 1.4;
}

.dpf-anfrage .wpcf7-acceptance input[type="checkbox"] {
	margin-top: 3px;
}

.dpf-anfrage .wpcf7-submit {
	display: inline-block;
	padding: 13px 28px;
	border: none;
	background: #333333;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.dpf-anfrage .wpcf7-submit:hover {
	background: #111111;
}

/* Mobile */
@media (max-width: 767px) {

	.dpf-anfrage {
		padding: 42px 0 50px 0;
	}

	.dpf-anfrage__inner {
		padding: 0 20px;
	}

	.dpf-anfrage__intro h2 {
		font-size: 25px;
	}

	.dpf-anfrage__intro p {
		font-size: 16px;
	}

	.dpf-anfrage .wpcf7 input[type="text"],
	.dpf-anfrage .wpcf7 input[type="email"],
	.dpf-anfrage .wpcf7 input[type="tel"],
	.dpf-anfrage .wpcf7 textarea {
		font-size: 16px;
	}

}

/* DPF DIREKT ANFRAGEN CSS ENDE */




/* =========================================================
   DPF TELEFON CTA START
   Startseite – Direkt anrufen
   ========================================================= */

.dpf-callbox {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 42px 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.dpf-callbox__link {
	display: flex !important;
	align-items: center !important;
	gap: 24px !important;

	width: 100% !important;
	max-width: none !important;

	padding: 34px 38px !important;

	background: #ecebe7 !important;
	border-left: 8px solid #5f8fbf !important;

	text-decoration: none !important;
	box-sizing: border-box !important;

	transition: background 0.2s ease, transform 0.2s ease !important;
}

.dpf-callbox__link:hover {
	background: #e4e3de !important;
	transform: translateY(-1px) !important;
}

.dpf-callbox__icon {
	flex: 0 0 72px !important;
	width: 72px !important;
	height: 72px !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	background: #5f8fbf !important;
	border-radius: 50% !important;
}

.dpf-callbox__icon svg {
	width: 34px !important;
	height: 34px !important;
	fill: #ffffff !important;
}

.dpf-callbox__text {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.dpf-callbox__headline {
	display: block !important;

	font-family: "Bebas Neue", "Oswald", Arial, sans-serif !important;
	font-size: 42px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;

	color: #202124 !important;
}

.dpf-callbox__number {
	display: block !important;

	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 34px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;

	color: #202124 !important;
}

.dpf-callbox__subline {
	display: block !important;

	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	line-height: 1.25 !important;

	color: #202124 !important;
}


/* ===== Tablet ===== */
@media (max-width: 900px) {

	.dpf-callbox__link {
		padding: 26px 24px !important;
		gap: 18px !important;
	}

	.dpf-callbox__icon {
		flex: 0 0 62px !important;
		width: 62px !important;
		height: 62px !important;
	}

	.dpf-callbox__icon svg {
		width: 30px !important;
		height: 30px !important;
	}

	.dpf-callbox__headline {
		font-size: 34px !important;
	}

	.dpf-callbox__number {
		font-size: 29px !important;
	}

	.dpf-callbox__subline {
		font-size: 21px !important;
	}
}


/* ===== Smartphone ===== */
@media (max-width: 560px) {

	.dpf-callbox {
		margin-bottom: 30px !important;
	}

	.dpf-callbox__link {
		padding: 22px 18px !important;
		gap: 14px !important;
		border-left: 6px solid #5f8fbf !important;
	}

	.dpf-callbox__icon {
		flex: 0 0 54px !important;
		width: 54px !important;
		height: 54px !important;
	}

	.dpf-callbox__icon svg {
		width: 26px !important;
		height: 26px !important;
	}

	.dpf-callbox__headline {
		font-size: 28px !important;
	}

	.dpf-callbox__number {
		font-size: 24px !important;
	}

	.dpf-callbox__subline {
		font-size: 18px !important;
		line-height: 1.25 !important;
	}
}

/* DPF TELEFON CTA ENDE */




/* =========================================================
   DPF TELEFON CTA WIDE FIX START
   Erzwingt Breite wie Kontaktbereich
   ========================================================= */

.dpf-callbox--wide {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 42px 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.dpf-callbox--wide .dpf-callbox__link {
	width: 100% !important;
	max-width: none !important;
	min-width: 100% !important;
	box-sizing: border-box !important;
}

.dpf-anfrage__inner .dpf-callbox--wide,
.dpf-anfrage__inner .dpf-callbox--wide .dpf-callbox__link {
	width: 100% !important;
	max-width: none !important;
}

/* DPF TELEFON CTA WIDE FIX ENDE */



/* =========================================================
   DPF KONTAKTBEREICH OPTIMIERT START
   Startseite – Direkt anfragen
   ========================================================= */

.dpf-anfrage {
	width: 100% !important;
	background: #f2f2f0 !important;
	padding: 70px 0 78px 0 !important;
	box-sizing: border-box !important;
}

.dpf-anfrage__inner {
	width: 100% !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 28px !important;
	box-sizing: border-box !important;
}

.dpf-anfrage__intro {
	max-width: 900px !important;
	margin: 0 0 38px 0 !important;
}

.dpf-anfrage__intro h2 {
	margin: 0 0 18px 0 !important;
	font-size: 46px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #202124 !important;
}

.dpf-anfrage__intro p {
	margin: 0 !important;
	max-width: 760px !important;
	font-size: 22px !important;
	line-height: 1.45 !important;
	color: #202124 !important;
}

.dpf-anfrage__layout {
	display: grid !important;
	grid-template-columns: 0.9fr 1.35fr !important;
	gap: 42px !important;
	align-items: start !important;
	width: 100% !important;
}

.dpf-anfrage__kontakt,
.dpf-anfrage__form {
	background: #ffffff !important;
	padding: 34px 36px !important;
	box-sizing: border-box !important;
	border-top: 7px solid #5f8fbf !important;
}

.dpf-anfrage__kontakt h3,
.dpf-anfrage__form h3 {
	margin: 0 0 20px 0 !important;
	font-size: 30px !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #202124 !important;
}

.dpf-anfrage__kontakt p {
	margin: 0 0 26px 0 !important;
	font-size: 18px !important;
	line-height: 1.55 !important;
	color: #202124 !important;
}


/* Telefonbox */

.dpf-callbox__link {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;

	width: 100% !important;
	margin: 0 0 20px 0 !important;
	padding: 24px 24px !important;

	background: #303236 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.dpf-callbox__link:hover {
	background: #111111 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.dpf-callbox__icon {
	flex: 0 0 58px !important;
	width: 58px !important;
	height: 58px !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	background: #5f8fbf !important;
	border-radius: 50% !important;
}

.dpf-callbox__icon svg {
	width: 30px !important;
	height: 30px !important;
	fill: #ffffff !important;
}

.dpf-callbox__text {
	display: block !important;
}

.dpf-callbox__headline {
	display: block !important;
	margin: 0 0 4px 0 !important;
	font-size: 25px !important;
	line-height: 1.05 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #ffffff !important;
}

.dpf-callbox__number {
	display: block !important;
	font-size: 25px !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	color: #ffffff !important;
}

.dpf-mailbox__link {
	display: block !important;
	width: 100% !important;
	padding: 15px 18px !important;
	background: #ecebe7 !important;
	color: #202124 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.dpf-mailbox__link:hover {
	background: #deddd8 !important;
	text-decoration: none !important;
}


/* Contact Form 7 */

.dpf-anfrage .wpcf7 {
	width: 100% !important;
	max-width: none !important;
}

.dpf-anfrage .wpcf7 form {
	width: 100% !important;
	max-width: none !important;
}

.dpf-anfrage .wpcf7 p {
	margin: 0 0 17px 0 !important;
}

.dpf-anfrage .wpcf7 label {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	color: #202124 !important;
}

.dpf-anfrage .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	margin-top: 7px !important;
}

.dpf-anfrage .wpcf7 input[type="text"],
.dpf-anfrage .wpcf7 input[type="email"],
.dpf-anfrage .wpcf7 input[type="tel"],
.dpf-anfrage .wpcf7 textarea {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 7px 0 0 0 !important;
	padding: 13px 14px !important;
	border: 1px solid #c9c9c9 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	font-size: 17px !important;
	line-height: 1.35 !important;
	color: #202124 !important;
}

.dpf-anfrage .wpcf7 textarea {
	min-height: 190px !important;
	resize: vertical !important;
}

.dpf-anfrage .wpcf7 input[readonly] {
	background: #eeeeee !important;
	color: #555555 !important;
}

.dpf-anfrage .wpcf7-acceptance label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
}

.dpf-anfrage .wpcf7-acceptance input[type="checkbox"] {
	width: auto !important;
	margin: 2px 0 0 0 !important;
}

.dpf-anfrage .wpcf7-submit {
	display: inline-block !important;
	margin-top: 4px !important;
	padding: 14px 28px !important;
	border: none !important;
	background: #303236 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	cursor: pointer !important;
}

.dpf-anfrage .wpcf7-submit:hover {
	background: #111111 !important;
}


/* Tablet */

@media (max-width: 900px) {

	.dpf-anfrage {
		padding: 56px 0 62px 0 !important;
	}

	.dpf-anfrage__layout {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.dpf-anfrage__intro h2 {
		font-size: 38px !important;
	}

	.dpf-anfrage__intro p {
		font-size: 20px !important;
	}

}


/* Smartphone */

@media (max-width: 560px) {

	.dpf-anfrage {
		padding: 42px 0 48px 0 !important;
	}

	.dpf-anfrage__inner {
		padding: 0 18px !important;
	}

	.dpf-anfrage__intro {
		margin-bottom: 28px !important;
	}

	.dpf-anfrage__intro h2 {
		font-size: 31px !important;
	}

	.dpf-anfrage__intro p {
		font-size: 17px !important;
	}

	.dpf-anfrage__kontakt,
	.dpf-anfrage__form {
		padding: 26px 22px !important;
	}

	.dpf-anfrage__kontakt h3,
	.dpf-anfrage__form h3 {
		font-size: 25px !important;
	}

	.dpf-callbox__link {
		padding: 20px 18px !important;
		gap: 14px !important;
	}

	.dpf-callbox__icon {
		flex: 0 0 50px !important;
		width: 50px !important;
		height: 50px !important;
	}

	.dpf-callbox__headline {
		font-size: 21px !important;
	}

	.dpf-callbox__number {
		font-size: 22px !important;
	}

}

/* DPF KONTAKTBEREICH OPTIMIERT ENDE */



/* =========================================================
   DPF KONTAKTBEREICH FINAL OVERRIDE START
   Erzwingt sauberen zweispaltigen Kontaktbereich
   ========================================================= */

body.home .dpf-anfrage {
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: #f2f2f0 !important;
	padding: 72px 0 82px 0 !important;
	box-sizing: border-box !important;
}

body.home .dpf-anfrage__inner {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0 36px !important;
	box-sizing: border-box !important;
}

body.home .dpf-anfrage__intro {
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 0 42px 0 !important;
	padding: 0 !important;
}

body.home .dpf-anfrage__intro h2 {
	margin: 0 0 18px 0 !important;
	font-size: 48px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #202124 !important;
}

body.home .dpf-anfrage__intro p {
	margin: 0 !important;
	max-width: 820px !important;
	font-size: 22px !important;
	line-height: 1.45 !important;
	color: #202124 !important;
}

body.home .dpf-anfrage__layout {
	display: grid !important;
	grid-template-columns: 38% 1fr !important;
	gap: 44px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
}

body.home .dpf-anfrage__kontakt,
body.home .dpf-anfrage__form {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	background: #ffffff !important;
	padding: 38px 40px !important;
	box-sizing: border-box !important;
	border-top: 8px solid #5f8fbf !important;
}

body.home .dpf-anfrage__kontakt h3,
body.home .dpf-anfrage__form h3 {
	margin: 0 0 22px 0 !important;
	font-size: 32px !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #202124 !important;
}

body.home .dpf-anfrage__kontakt p {
	margin: 0 0 28px 0 !important;
	font-size: 18px !important;
	line-height: 1.55 !important;
	color: #202124 !important;
}


/* Telefon-Kasten */

body.home .dpf-anfrage .dpf-callbox__link {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 20px 0 !important;
	padding: 26px 24px !important;
	background: #303236 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	border: none !important;
}

body.home .dpf-anfrage .dpf-callbox__link:hover {
	background: #111111 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

body.home .dpf-anfrage .dpf-callbox__icon {
	flex: 0 0 60px !important;
	width: 60px !important;
	height: 60px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #5f8fbf !important;
	border-radius: 50% !important;
}

body.home .dpf-anfrage .dpf-callbox__icon svg {
	width: 30px !important;
	height: 30px !important;
	fill: #ffffff !important;
}

body.home .dpf-anfrage .dpf-callbox__headline {
	display: block !important;
	margin: 0 0 5px 0 !important;
	font-size: 26px !important;
	line-height: 1.05 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #ffffff !important;
}

body.home .dpf-anfrage .dpf-callbox__number {
	display: block !important;
	font-size: 27px !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	color: #ffffff !important;
}

body.home .dpf-mailbox__link {
	display: block !important;
	width: 100% !important;
	padding: 16px 18px !important;
	background: #ecebe7 !important;
	color: #202124 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

body.home .dpf-mailbox__link:hover {
	background: #deddd8 !important;
	text-decoration: none !important;
}


/* Formular */

body.home .dpf-anfrage .wpcf7,
body.home .dpf-anfrage .wpcf7 form {
	width: 100% !important;
	max-width: none !important;
}

body.home .dpf-anfrage .wpcf7 p {
	margin: 0 0 18px 0 !important;
}

body.home .dpf-anfrage .wpcf7 label {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	color: #202124 !important;
}

body.home .dpf-anfrage .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	margin-top: 7px !important;
}

body.home .dpf-anfrage .wpcf7 input[type="text"],
body.home .dpf-anfrage .wpcf7 input[type="email"],
body.home .dpf-anfrage .wpcf7 input[type="tel"],
body.home .dpf-anfrage .wpcf7 textarea {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 7px 0 0 0 !important;
	padding: 13px 14px !important;
	border: 1px solid #c9c9c9 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	font-size: 17px !important;
	line-height: 1.35 !important;
	color: #202124 !important;
}

body.home .dpf-anfrage .wpcf7 textarea {
	min-height: 210px !important;
	resize: vertical !important;
}

body.home .dpf-anfrage .wpcf7 input[readonly] {
	background: #eeeeee !important;
	color: #555555 !important;
}

body.home .dpf-anfrage .wpcf7-acceptance label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 9px !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
}

body.home .dpf-anfrage .wpcf7-acceptance input[type="checkbox"] {
	width: auto !important;
	margin: 2px 0 0 0 !important;
}

body.home .dpf-anfrage .wpcf7-submit {
	display: inline-block !important;
	margin-top: 4px !important;
	padding: 15px 30px !important;
	border: none !important;
	background: #303236 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	cursor: pointer !important;
}

body.home .dpf-anfrage .wpcf7-submit:hover {
	background: #111111 !important;
}


/* Tablet */

@media (max-width: 900px) {

	body.home .dpf-anfrage {
		padding: 56px 0 62px 0 !important;
	}

	body.home .dpf-anfrage__inner {
		padding: 0 24px !important;
	}

	body.home .dpf-anfrage__layout {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	body.home .dpf-anfrage__intro h2 {
		font-size: 38px !important;
	}

	body.home .dpf-anfrage__intro p {
		font-size: 20px !important;
	}

}


/* Smartphone */

@media (max-width: 560px) {

	body.home .dpf-anfrage {
		padding: 42px 0 48px 0 !important;
	}

	body.home .dpf-anfrage__inner {
		padding: 0 18px !important;
	}

	body.home .dpf-anfrage__intro {
		margin-bottom: 28px !important;
	}

	body.home .dpf-anfrage__intro h2 {
		font-size: 31px !important;
	}

	body.home .dpf-anfrage__intro p {
		font-size: 17px !important;
	}

	body.home .dpf-anfrage__kontakt,
	body.home .dpf-anfrage__form {
		padding: 26px 22px !important;
	}

	body.home .dpf-anfrage__kontakt h3,
	body.home .dpf-anfrage__form h3 {
		font-size: 25px !important;
	}

	body.home .dpf-anfrage .dpf-callbox__link {
		padding: 20px 18px !important;
		gap: 14px !important;
	}

	body.home .dpf-anfrage .dpf-callbox__icon {
		flex: 0 0 50px !important;
		width: 50px !important;
		height: 50px !important;
	}

	body.home .dpf-anfrage .dpf-callbox__headline {
		font-size: 21px !important;
	}

	body.home .dpf-anfrage .dpf-callbox__number {
		font-size: 22px !important;
	}

}

/* DPF KONTAKTBEREICH FINAL OVERRIDE ENDE */