/* Redesign 2026: Divi-Seiten an das neue Design anpassen */

html body.sfb-body { overflow-x: clip !important; overflow-y: visible !important; }
html body.sfb-body #page-container { padding-top: 0 !important; margin-top: 0 !important; background: transparent; overflow: visible !important; }
body.sfb-body #et-main-area,
body.sfb-body #main-content { background: transparent; }
body.sfb-body #main-content .container::before { display: none; }

/* Typografie */
body.sfb-body #page-container h1,
body.sfb-body #page-container h2,
body.sfb-body #page-container h3,
body.sfb-body #page-container h4,
body.sfb-body #page-container h5 {
	font-family: var(--sfb-font-display);
	letter-spacing: -0.02em;
}
body.sfb-body #page-container h1 { letter-spacing: -0.035em; line-height: 1 !important; }
body.sfb-body #page-container h2 { line-height: 1.05; }
body.sfb-body #page-container h3,
body.sfb-body #page-container h4 { line-height: 1.15; }
body.sfb-body #page-container p,
body.sfb-body #page-container li {
	font-family: var(--sfb-font-body);
}

/* Links im Fliesstext */
body.sfb-body #page-container .et_pb_text a:not(.et_pb_button),
body.sfb-body #page-container .post-content a:not(.et_pb_button) {
	color: var(--sfb-accent-ink);
	text-underline-offset: 3px;
}
body.sfb-body #page-container .et_pb_bg_layout_dark .et_pb_text a:not(.et_pb_button) { color: #FFFFFF; }
body.sfb-body #main-content .external::before { color: currentColor; }

/* Buttons: Pille, Akzentfarbe */
body.sfb-body #page-container .et_pb_button,
body.sfb-body #page-container .et_pb_button:hover {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 26px !important;
	border: 2px solid var(--sfb-accent) !important;
	border-radius: 999px !important;
	background: var(--sfb-accent) !important;
	color: #FFFFFF !important;
	font-family: var(--sfb-font-body) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	transition: background-color .15s ease, border-color .15s ease;
}
body.sfb-body #page-container .et_pb_button:hover {
	background: var(--sfb-accent-ink) !important;
	border-color: var(--sfb-accent-ink) !important;
}
body.sfb-body #page-container .et_pb_button::after,
body.sfb-body #page-container .et_pb_button::before { display: none !important; }
body.sfb-body #page-container .et_pb_button.btn-secondary {
	background: transparent !important;
	border-color: var(--sfb-ink) !important;
	color: var(--sfb-ink) !important;
}
body.sfb-body #page-container .et_pb_button.btn-secondary:hover {
	background: var(--sfb-ink) !important;
	color: #FFFFFF !important;
}
body.sfb-body #page-container .et_pb_bg_layout_dark .et_pb_button.btn-secondary {
	border-color: #FFFFFF !important;
	color: #FFFFFF !important;
}

/* Blurbs, Icons, Chips */
body.sfb-body #page-container .et_pb_blurb .et-pb-icon { color: var(--sfb-accent) !important; }
body.sfb-body #page-container .et_pb_blurb .et_pb_module_header {
	font-family: var(--sfb-font-display) !important;
	font-weight: 700 !important;
}
body.sfb-body #page-container .sf-chip > .et_pb_text_inner,
body.sfb-body #page-container .pills > div > a,
body.sfb-body #page-container .pills .sf-tag-label {
	border-width: 1.5px;
	font-weight: 500;
}

/* Karten und Raster (Referenzen, Portfolio) */
body.sfb-body #page-container .et_pb_portfolio_item,
body.sfb-body #page-container .referenzen .dp-dfg-item {
	box-shadow: none !important;
	border-radius: var(--sfb-radius) !important;
	background: var(--sfb-surface);
}

/* Formulare */
body.sfb-body #page-container input[type="text"],
body.sfb-body #page-container input[type="email"],
body.sfb-body #page-container textarea {
	border-radius: 14px;
	font-family: var(--sfb-font-body);
}

/* Testimonials */
body.sfb-body #page-container .testimonials-slider .testimonial-description {
	font-family: var(--sfb-font-display);
	font-weight: 500;
	letter-spacing: -0.01em;
}
/* Zeilenbreite an Header und Footer angleichen */
body.sfb-body #page-container .et_pb_row {
	width: calc(100% - 2 * var(--sfb-gutter)) !important;
	max-width: calc(1320px - 2 * var(--sfb-gutter)) !important;
}

/* Seiten-Hero: erste Sektion mit Verlauf wird ruhig, links, gross */
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider {
	background: var(--sfb-bg) !important;
	padding: 56px 0 32px !important;
}
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et-pb-parallax-wrapper,
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_parallax_bg_wrap,
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_parallax_bg,
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_bottom_inside_divider,
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_image {
	display: none !important;
}
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider :is(h1, h2, h3, p, li, span, blockquote) {
	color: var(--sfb-ink) !important;
	text-shadow: none !important;
	text-align: left !important;
}
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider h1 {
	font-size: clamp(40px, 7vw, 108px) !important;
	font-weight: 800 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.035em;
	max-width: 15ch;
	padding-bottom: 0;
}
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_row { padding-block: 0 !important; }
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_text { max-width: none !important; margin-left: 0 !important; }
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_column > .et_pb_text:last-of-type .et_pb_text_inner { border-bottom: 2px solid var(--sfb-ink); padding-bottom: 28px; }
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider .et_pb_button_module_wrapper { text-align: left !important; margin-left: 0 !important; }

/* Abschluss-Baender mit Verlauf (CTA): dunkle Flaeche */
body.sfb-body #page-container .et_pb_section.et_pb_top_divider {
	background: var(--sfb-dark) !important;
}
body.sfb-body #page-container .et_pb_section.et_pb_top_divider .et-pb-parallax-wrapper,
body.sfb-body #page-container .et_pb_section.et_pb_top_divider .et_parallax_bg_wrap,
body.sfb-body #page-container .et_pb_section.et_pb_top_divider .et_pb_top_inside_divider,
body.sfb-body #page-container .et_pb_section.et_pb_top_divider .et_pb_bottom_inside_divider {
	display: none !important;
}
body.sfb-body #page-container .et_pb_section.et_pb_top_divider :is(h1, h2, h3, h4, p, li, span) {
	color: var(--sfb-on-dark) !important;
}
/* Bild-Heros ohne Ueberschrift (z. B. Referenzen, Impressum) entfallen */
body.sfb-body #page-container :is(.et_pb_section_0, .et_pb_section_0_tb_body).et_pb_bottom_divider:not(:has(h1, h2)) { display: none !important; }

/* Einleitung unter der Seiten-Headline */
body.sfb-body #page-container .sfb-lead {
	margin-top: 24px;
	padding-bottom: 0 !important;
	max-width: 40em;
	font-size: 18px !important;
	line-height: 1.55 !important;
	color: var(--sfb-muted) !important;
}
@media (min-width: 960px) {
	body.sfb-body #page-container .sfb-lead { font-size: 21px !important; margin-top: 32px; }
}

/* Bilder, die frueher in den Verlauf-Hero ragten, nicht mehr ueberlappen lassen */
body.sfb-body #page-container :is(.et_pb_section_1, .et_pb_section_1_tb_body) .et_pb_module.et_pb_image:first-child { margin-top: 0 !important; }
