/* =========================================================================
   Southvision DEASA - child theme stylesheet for find-debtor.com
   Loaded after normalize.css, bs.css (Bootstrap 3), slick.css and the parent
   assets/styles/style.css. Plain cascade overrides; !important only where the
   parent itself uses !important.
   Source of truth: docs/07-branding.md (sections 4 and 6).
   ========================================================================= */

/* ---------- 0. Fonts (self-hosted, TTF - no WOFF2 could be built on the
   authoring Mac; swap for .woff2 when available, same family names) ------- */
@font-face {
	font-family: "Bebas Neue";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/BebasNeue-Regular.ttf") format("truetype");
}
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/OpenSans-Regular.ttf") format("truetype");
}
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("fonts/OpenSans-SemiBold.ttf") format("truetype");
}
/* No Bold file in the kit: map 700 to SemiBold so <strong> does not get a
   synthetic (faux) bold. Replace with OpenSans-Bold.ttf when it is added. */
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("fonts/OpenSans-SemiBold.ttf") format("truetype");
}

/* ---------- 1. Design tokens (07-branding.md section 4) ------------------ */
:root {
	--fd-burgundy:      #9b1947;
	--fd-burgundy-dark: #820e36;
	--fd-ink:           #080808;
	--fd-grey-dark:     #313131;
	--fd-text:          #323232;
	--fd-grey:          #656565;
	--fd-grey-light:    #ededed;
	--fd-bg:            #ffffff;
	--fd-bg-alt:        #f5f5f5;
	--fd-white:         #ffffff;
	--fd-border:        #cccccc;

	--fd-font-heading:  "Bebas Neue", "Oswald", Impact, "Arial Narrow", sans-serif;
	--fd-font-body:     "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

	--fd-radius:        3px;
	--fd-shadow:        0 10px 20px rgba(0,0,0,.15), 0 3px 6px rgba(0,0,0,.10);
	--fd-shadow-card:   0 2px 14px rgba(0,0,0,.08);
	--fd-shadow-btn:    0 4px 8px rgba(0,0,0,.10);
	--fd-band:          6px;
	--fd-header-logo-h: 48px;
	--fd-contactbar-h:  56px;
	--fd-focus-ring:    0 0 0 3px rgba(155,25,71,.25);
}

/* ---------- 2. Base --------------------------------------------------- */
html {
	scroll-padding-top: 12rem;
}

body {
	font-family: var(--fd-font-body);
	font-size: 1.7rem;
	line-height: 1.6;
	color: var(--fd-text);
	background: var(--fd-bg);
	-webkit-font-smoothing: antialiased;
}

/* the fixed bottom bar must never cover content (class set in functions.php) */
body.has-fd-contact-bar {
	padding-bottom: calc(var(--fd-contactbar-h) + env(safe-area-inset-bottom, 0px));
}

p {
	max-width: 70ch;
}
.text-center p,
.heroTextWrap p,
footer p,
.st-9 .textArea p,
.st-10 .textArea p {
	max-width: none;
}

/* parent: *:focus{outline:none!important} - restore an accessible focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	box-shadow: var(--fd-focus-ring);
}

/* ---------- 3. Typography --------------------------------------------- */
h1, .h1, h2, .h2, h3, .h3 {
	font-family: var(--fd-font-heading);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: 1.05;
	color: var(--fd-ink);
}
h1, .h1 { font-size: 5.6rem; }
h2, .h2 { font-size: 4.2rem; }
h3, .h3 { font-size: 3.0rem; }

/* h4 in Bebas Neue as the task asks; card titles that are not h4 stay Open Sans 600 */
h4, .h4 {
	font-family: var(--fd-font-heading);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: 1.1;
	font-size: 2.4rem;
	color: var(--fd-ink);
}
h5, .h5, h6, .h6 {
	font-family: var(--fd-font-body);
	font-weight: 600;
	line-height: 1.3;
	color: var(--fd-ink);
}

@media (max-width: 767px) {
	h1, .h1 { font-size: 3.8rem; }
	h2, .h2 { font-size: 3.2rem; }
	h3, .h3 { font-size: 2.6rem; }
	h4, .h4 { font-size: 2.2rem; }
}

/* parent: Oswald / Helvetica in these -> Open Sans 600 */
.blackCondensed20px,
.headlineST7,
.preisST7,
.tabellenkopf,
.testimonialName span,
.card-title a,
.heroButton,
.priceButton,
.st-9 .textArea p,
.st-10 .textArea p,
.st-10 .textArea label {
	font-family: var(--fd-font-body);
}
.blackCondensed20px,
.headlineST7,
.preisST7,
.tabellenkopf,
.testimonialName span,
.card-title a {
	font-weight: 600;
	color: var(--fd-ink);
}
.card-title a:hover {
	color: var(--fd-burgundy);
}

/* parent: a{color:#e73228} */
a {
	color: var(--fd-burgundy);
	transition: color .2s ease;
}
a:hover,
a:focus {
	color: var(--fd-burgundy-dark);
}

/* ---------- 4. Header --------------------------------------------------- */
/* parent: header{Helvetica; background:#F2F2F2; border-bottom:2px solid #999} */
header.banner {
	font-family: var(--fd-font-body);
	background-color: var(--fd-bg);
	border-bottom: 0;
	box-shadow: 0 1px 0 var(--fd-grey-light);
	position: relative;
}
/* DEASA: full-width burgundy band directly under the header */
header.banner::after {
	content: "";
	display: block;
	width: 100%;
	height: var(--fd-band);
	background: var(--fd-burgundy);
}

.navbar.navbar-default {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin-bottom: 0;
	min-height: 0;
}

/* parent: .topHeaderWrap{background:#9A9A9A} and a 1px rgba(186,186,186,.4) line */
.topHeaderWrap {
	background-color: var(--fd-bg-alt);
	font-family: var(--fd-font-body);
	font-size: 1.4rem;
	color: var(--fd-grey);
	padding-top: .6rem;
	padding-bottom: .6rem;
}
.topHeaderWrap::after {
	background: var(--fd-grey-light);
}
.topHeaderLeft {
	font-weight: 400;
}
.topHeaderLeft p {
	margin: 0;
	max-width: none;
}
.topHeaderRight {
	font-family: var(--fd-font-body);
}
.topHeaderRight span {
	color: var(--fd-grey);
	font-weight: 600;
	font-size: 1.2rem;       /* parent had the invalid "font-size: 500" */
	text-transform: uppercase;
	letter-spacing: .08em;
}
/* parent: .topHeaderRight a{color:#990100} */
.topHeaderRight a {
	color: var(--fd-burgundy);
}
.topHeaderRight a:hover {
	color: var(--fd-burgundy-dark);
}

/* logo: parent .navbar-brand > img{width:200px} (160px mobile) */
.navbar-brand {
	height: auto;
	padding: 1.4rem 0;
	margin-left: 0;
	display: block;
}
.navbar-brand > img {
	width: auto;
	height: var(--fd-header-logo-h);
	max-width: none;
	display: block;
}
header.scrolled .navbar-brand > img {
	height: 40px;
}

/* nav: parent .navbar-nav a{color:#010101}, hover/current #990100.
   Bootstrap's .navbar-default .navbar-nav>li>a (#777) is more specific than
   the parent rule, so match that specificity here. */
.navbar-default .navbar-nav > li > a,
.navbar-nav a {
	color: var(--fd-ink);
	font-family: var(--fd-font-body);
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: .01em;
	transition: color .2s ease;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-nav a:hover,
.current-menu-item a,
.current-menu-parent > a,
.current-menu-ancestor > a,
.navbar-default .navbar-nav > .current-menu-item > a {
	color: var(--fd-burgundy);
	background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .open > a {
	background-color: transparent;
}

/* dropdowns (Bootstrap defaults are grey/blue) */
.navbar-nav .dropdown-menu {
	border: 0;
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
	border-top: var(--fd-band) solid var(--fd-burgundy);
}
.dropdown-menu > li > a {
	color: var(--fd-text);
	font-weight: 400;
	padding: .8rem 2rem;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
	color: var(--fd-white);
	background-color: var(--fd-burgundy);
}

/* mobile toggle: parent .navbar-toggle .icon-bar{background:#000} */
.navbar-default .navbar-toggle {
	border-color: var(--fd-grey-light);
	border-radius: var(--fd-radius);
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
	background-color: var(--fd-bg-alt);
}
.navbar-default .navbar-toggle .icon-bar,
.navbar-toggle .icon-bar {
	background: var(--fd-ink);
}

/* sticky header (parent .scrolled / .sticky) */
header.scrolled {
	background-color: var(--fd-bg);
	box-shadow: var(--fd-shadow-card);
}

@media (max-width: 991px) {
	/* parent hacks: .navbar-header{margin-left:25%} .navbar-brand{margin-left:-100px} */
	.navbar-header {
		margin-left: 0;
		float: none;
	}
	.navbar-brand {
		margin-left: 0;
		float: none;
		display: inline-block;
	}
	.navbar-toggle {
		top: 50%;
		transform: translateY(-50%);
		margin: 0;
	}
	#bs-example-navbar-collapse-1 {
		background: var(--fd-bg);
		box-shadow: var(--fd-shadow-card);
		border-top: 1px solid var(--fd-grey-light);
	}
	.navbar-default .navbar-nav .open .dropdown-menu > li > a {
		color: var(--fd-text);
	}
	.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
	.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus,
	.navbar-default .navbar-nav .open .dropdown-menu > .active > a {
		color: var(--fd-white);
		background-color: var(--fd-burgundy);
	}
	.navbar-nav .dropdown-menu {
		border-top: 0;
	}
}
@media (max-width: 767px) {
	.navbar-brand > img {
		width: auto;
		height: 40px;
	}
}

/* optional burgundy header (filter fd/header_on_burgundy -> true) */
header.banner.banner--burgundy {
	background-color: var(--fd-burgundy);
	box-shadow: none;
}
header.banner.banner--burgundy::after {
	background: var(--fd-burgundy-dark);
}
.banner--burgundy .topHeaderWrap {
	background-color: var(--fd-burgundy-dark);
	color: var(--fd-grey-light);
}
.banner--burgundy .topHeaderWrap::after {
	background: rgba(255,255,255,.15);
}
.banner--burgundy .topHeaderRight span,
.banner--burgundy .topHeaderRight a,
.banner--burgundy .navbar-default .navbar-nav > li > a,
.banner--burgundy .navbar-nav a {
	color: var(--fd-white);
}
.banner--burgundy .navbar-default .navbar-nav > li > a:hover,
.banner--burgundy .navbar-default .navbar-nav > li > a:focus,
.banner--burgundy .navbar-default .navbar-nav > .active > a,
.banner--burgundy .navbar-nav a:hover,
.banner--burgundy .current-menu-item a {
	color: var(--fd-grey-light);
	text-decoration: underline;
	text-underline-offset: .4em;
}
.banner--burgundy .navbar-toggle .icon-bar {
	background: var(--fd-white);
}
.banner--burgundy .navbar-default .navbar-toggle {
	border-color: rgba(255,255,255,.4);
}

/* ---------- 5. Buttons -------------------------------------------------- */
/* parent: #990100 background in .heroTextWrap .myBtn9 a, .st-1 .myBtn9 a,
   .st-9 .myBtn9 a, .sectionCases .myBtn9 a, .priceButton, .heroButtonLeft,
   .st-10 .textArea .wpcf7-submit; border #990100 in .postNav a */
.myBtn9 a,
.heroTextWrap .myBtn9 a,
.st-1 .myBtn9 a,
.st-9 .myBtn9 a,
.sectionCases .myBtn9 a,
.priceButton,
.heroButton.heroButtonLeft,
.heroButtonLeft,
.postNav a,
.st-10 .textArea .wpcf7-submit,
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
.btn-primary,
button.fdBtn,
a.fdBtn {
	display: inline-block;
	background: var(--fd-burgundy);
	color: var(--fd-white);
	border: 1px solid var(--fd-burgundy);
	border-radius: var(--fd-radius);
	padding: 14px 28px;
	font-family: var(--fd-font-body);
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	box-shadow: var(--fd-shadow-btn);
	transition: background-color .3s ease, transform .3s ease, color .3s ease;
}
.myBtn9 a:hover,
.myBtn9 a:focus,
.heroTextWrap .myBtn9 a:hover,
.st-1 .myBtn9 a:hover,
.st-9 .myBtn9 a:hover,
.sectionCases .myBtn9 a:hover,
.priceButton:hover,
.priceButton:focus,
.heroButtonLeft:hover,
.heroButtonLeft:focus,
.postNav a:hover,
.postNav a:focus,
.st-10 .textArea .wpcf7-submit:hover,
.st-10 .textArea .wpcf7-submit:focus,
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
.btn-primary:hover,
.btn-primary:focus,
button.fdBtn:hover,
a.fdBtn:hover {
	background: var(--fd-burgundy-dark);
	border-color: var(--fd-burgundy-dark);
	color: var(--fd-white);
	transform: scale(1.02);
}

/* keep the parent's full-width behaviour where it had it */
.priceButton,
.st-10 .textArea .wpcf7-submit,
.heroButton {
	width: 100%;
	display: block;
}
.priceButton {
	margin-top: 40px;
	font-size: 1.8rem;
}
.st-10 .textArea .wpcf7-submit {
	margin-top: 20px;
}
.heroButton {
	border-radius: var(--fd-radius);
}
/* secondary button: parent .heroButtonRight{border:1px solid #fff} */
.heroButton.heroButtonRight,
.heroButtonRight {
	background: var(--fd-white);
	color: var(--fd-burgundy);
	border: 1px solid var(--fd-burgundy);
	border-radius: var(--fd-radius);
	padding: 14px 28px;
	font-weight: 600;
	box-shadow: none;
	transition: background-color .3s ease, color .3s ease;
}
.heroButtonRight:hover,
.heroButtonRight:focus {
	background: var(--fd-burgundy);
	color: var(--fd-white);
}
/* parent .heroTextWrap .myBtn9 a{line-height:3} would inflate the pill */
.heroTextWrap .myBtn9 a {
	line-height: 1.2;
}
.heroTextWrap .myBtn9 {
	display: inline-block;
	margin-top: 1rem;
}

/* WPForms submit: parent uses !important on background-color, border, color (#000) */
div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
	background-color: var(--fd-burgundy) !important;
	border: 1px solid var(--fd-burgundy) !important;
	color: var(--fd-white) !important;
	border-radius: var(--fd-radius) !important;
	padding: 14px 28px !important;
	font-family: var(--fd-font-body) !important;
	font-weight: 600 !important;
	font-size: 1.6rem !important;
	line-height: 1.2 !important;
	box-shadow: var(--fd-shadow-btn);
	transition: background-color .3s ease, transform .3s ease;
	width: 100%;
	margin-top: 20px;
}
div.wpforms-container-full .wpforms-form input[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form input[type=submit]:focus,
div.wpforms-container-full .wpforms-form button[type=submit]:focus {
	background-color: var(--fd-burgundy-dark) !important;
	border-color: var(--fd-burgundy-dark) !important;
	color: var(--fd-white) !important;
	transform: scale(1.02);
}

/* ---------- 6. Hero ----------------------------------------------------- */
/* parent: .heroTextWrap{background:rgba(0,0,0,.8)} + heavy shadow */
.heroTextWrap {
	background: var(--fd-white);
	color: var(--fd-text);
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow);
	border-top: var(--fd-band) solid var(--fd-burgundy);
}
.heroTextWrap h1,
.heroTextWrap h2,
.heroTextWrap h3,
.heroTextWrap h4 {
	color: var(--fd-ink);
}
.heroTextWrap h2 {
	color: var(--fd-burgundy);
}
.heroTextWrap ul {
	color: var(--fd-text);
}
/* parent .leitbildSection:before is an empty overlay; keep photos readable */
.leitbildSection::before {
	background: linear-gradient(rgba(8,8,8,.15), rgba(8,8,8,.15));
}

/* ---------- 7. Sections (Stockwerke) ------------------------------------ */
/* parent: .st-1 .st-2 .st-3 .st-10 .st-10 .textArea .st-11 on #010101 */
.st-1,
.st-3,
.st-11 {
	background: var(--fd-bg);
	color: var(--fd-text);
}
.st-2,
.st-10,
.st-10 .textArea {
	background: var(--fd-bg-alt);
	color: var(--fd-text);
}
.st-1 h1, .st-1 h2, .st-1 h3, .st-1 h4,
.st-2 h1, .st-2 h2, .st-2 h3, .st-2 h4,
.st-3 h1, .st-3 h2, .st-3 h3, .st-3 h4,
.st-10 h1, .st-10 h2, .st-10 h3, .st-10 h4,
.st-11 h1, .st-11 h2, .st-11 h3, .st-11 h4 {
	color: var(--fd-ink);
}
/* parent: .st-2 a{color:#990100} */
.st-2 a {
	color: var(--fd-burgundy);
}
.st-2 a:hover {
	color: var(--fd-burgundy-dark);
}

/* ST-4 cards: parent border 3px rgba(90,0,0,.6) */
.cardWrap {
	border: 0;
	background: var(--fd-white);
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
	border-top: var(--fd-band) solid var(--fd-burgundy);
}
/* parent: .cardPreviewWrap:before{background:rgba(36,36,36,.85)} */
.cardPreviewWrap::before {
	background: rgba(155,25,71,.85);
}
.cardInnerWrap {
	background: var(--fd-white);
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
}

/* ST-5 testimonials: parent border rgba(186,186,186,.4), p{color:black} */
.testimonialWrap {
	background: var(--fd-white);
	border: 0;
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
}
.testimonialWrap p {
	color: var(--fd-text);
}
.testimonialName span {
	color: var(--fd-burgundy);
}
/* parent: .slick-dots li.slick-active button:before{color/background:#990100} */
.slick-dots li button::before {
	color: var(--fd-grey);
	opacity: .35;
}
.slick-dots li.slick-active button::before {
	color: var(--fd-burgundy);
	background: var(--fd-burgundy);
	opacity: 1;
	border-radius: 50%;
}
.slick-prev::before,
.slick-next::before {
	color: var(--fd-burgundy);
}

/* ST-6 accordion: parent .giveMeABorder rgba(186,186,186,.4) */
.giveMeABorder {
	border-top-color: var(--fd-grey-light);
}

/* ST-7 price table: parent .priceWrap border rgba(186,186,186,.4) */
.priceWrap {
	background: var(--fd-white);
	border: 0;
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
}
.preisST7 {
	color: var(--fd-burgundy);
}

/* ST-8 table: parent .tableBody>div rgba(186,186,186,.4), .tabellenkopf #BABABA */
.tableBody > div {
	border-bottom-color: var(--fd-grey-light);
}
.tabellenkopf {
	border-bottom: 2px solid var(--fd-burgundy);
	color: var(--fd-ink);
}

/* ST-9 CTA: parent .st-9{background:#9a9a9a} .textArea{color:black!important} */
.st-9 {
	background: var(--fd-grey-dark);
}
.st-9 .textArea {
	color: var(--fd-white) !important;
}
.st-9 .textArea p {
	color: var(--fd-white);
	font-weight: 400;
	font-size: 2rem;
}
.st-9 h1, .st-9 h2, .st-9 h3, .st-9 h4 {
	color: var(--fd-white);
}
.st-9 .myBtn9 a {
	box-shadow: none;
}

/* ST-10 CTA / form: parent Helvetica, opacity .8, borders rgba(186,186,186,.4) */
.st-10 .textArea p,
.st-10 .textArea label {
	color: var(--fd-text);
	opacity: 1;
}
.st-10 .textArea label {
	font-weight: 600;
}

/* section divider: parent .sectionBorder{border-top:3px solid #5a0000} */
.sectionBorder {
	border-top: 3px solid var(--fd-burgundy);
}

/* cases: parent .sectionCases h3 etc. */
.sectionCases .cardInnerWrap {
	padding: 2rem 2.4rem;
}

/* ---------- 8. Forms (CF7, WPForms, generic) ---------------------------- */
/* parent: div.wpcf7{background:#010101; color:#fff!important} inputs color #000!important */
div.wpcf7 {
	background-color: var(--fd-white);
	color: var(--fd-text) !important;
	font-size: 1.6rem;
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
	padding: 3rem;
}
div.wpcf7 input,
div.wpcf7 textarea,
div.wpcf7 select {
	color: var(--fd-text) !important;
}

.st-10 .textArea input,
.st-10 .textArea textarea,
.st-10 .textArea select,
div.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
div.wpcf7 textarea,
div.wpcf7 select,
div.wpforms-container-full .wpforms-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-form select,
.form-control,
.search-form input[type="search"],
#protected-mask input {
	background: var(--fd-white);
	color: var(--fd-text);
	border: 1px solid var(--fd-border);
	border-radius: var(--fd-radius);
	padding: .8rem 1.2rem;
	font-family: var(--fd-font-body);
	font-size: 1.6rem;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.st-10 .textArea input:focus,
.st-10 .textArea textarea:focus,
.st-10 .textArea select:focus,
div.wpcf7 input:focus,
div.wpcf7 textarea:focus,
div.wpcf7 select:focus,
div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus,
.form-control:focus,
#protected-mask input:focus {
	border-color: var(--fd-burgundy);
	box-shadow: var(--fd-focus-ring);
	outline: none;
}
::placeholder {
	color: var(--fd-grey);
	opacity: 1;
}
.wpcf7-not-valid-tip,
.wpforms-error {
	color: var(--fd-burgundy-dark);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: var(--fd-burgundy);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--fd-grey-dark);
}

/* ---------- 9. News / blog --------------------------------------------- */
/* parent: .postNav a border #990100 - styled as a button in section 5 */
.newsWrap {
	background: var(--fd-white);
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
	padding: 2.4rem;
}
/* parent: section.block-9-blog{background:black} p{color:black} .postDate #b1b1b1 headline a #222 */
section.block-9-blog {
	background-color: var(--fd-bg-alt);
}
section.block-9-blog p {
	color: var(--fd-text);
}
section.block-9-blog .postDate {
	color: var(--fd-grey);
	font-size: 1.3rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
}
section.block-9-blog .blogOverviewHeadline a {
	color: var(--fd-ink);
}
section.block-9-blog .blogOverviewHeadline a:hover {
	color: var(--fd-burgundy);
}
section.block-9-blog .blogOverviewWrap {
	background: var(--fd-white);
	border-radius: var(--fd-radius);
	box-shadow: var(--fd-shadow-card);
}
section.block-9-blog .blogOverviewWrap:hover {
	box-shadow: var(--fd-shadow);
}
/* parent: .single-post{background:#0e0e0e} */
.single-post,
body.single-post {
	background-color: var(--fd-bg);
}
.newsRows h1, .newsRows h2, .newsRows h3 {
	color: var(--fd-ink);
}

/* ---------- 10. Footer ---------------------------------------------------- */
/* parent: footer{background:#9a9a9a}, p/a white, .footerHeadline Helvetica + border #010101 */
footer.content-info,
footer {
	background-color: var(--fd-ink);
	color: var(--fd-white);
	padding-top: 6rem;
	padding-bottom: 4rem;
}
footer p,
footer.content-info p {
	color: var(--fd-white);
	max-width: none;
}
.content-info a,
footer a {
	color: var(--fd-white);
	transition: color .2s ease;
}
.content-info a:hover,
.content-info a:focus,
footer a:hover {
	color: var(--fd-grey-light);
	text-decoration: underline;
}
.footerHeadline,
footer .footerHeadline {
	color: var(--fd-white);
	font-family: var(--fd-font-heading);
	font-weight: 400;
	font-size: 2.4rem;
	letter-spacing: .02em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--fd-burgundy);
	padding-bottom: .6rem;
	margin-bottom: 2rem;
}
.subFooter {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255,255,255,.12);
	text-align: center;
}
.subFooter a {
	color: var(--fd-grey-light);
	font-size: 1.4rem;
}
.subFooter a::after {
	color: var(--fd-grey);
}

/* ---------- 11. Password-protected gate (#protected-mask) --------------- */
/* parent: .linkeseite{border-right:#fff; background:#000} .rechteseite{#9a9a9a} .flexRow border black */
#protected-mask .linkeseite {
	background-color: var(--fd-grey-dark);
	border-right: 1px solid rgba(255,255,255,.12);
}
#protected-mask .rechteseite {
	background-color: var(--fd-bg-alt);
	color: var(--fd-text);
}
#protected-mask .flexRow {
	border-bottom: var(--fd-band) solid var(--fd-burgundy);
}

/* ---------- 12. Fixed bottom contact bar (DEASA .mobileNav) ------------- */
.fdContactBar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1050;                       /* above slick (<=1000) and Bootstrap navbar (1000/1030) */
	background: var(--fd-ink);
	color: var(--fd-white);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	box-shadow: 0 -2px 8px rgba(0,0,0,.25);
	border-top: 1px solid rgba(255,255,255,.12);
}
.fdContactBarInner {
	display: flex;
	height: var(--fd-contactbar-h);
	margin: 0;
	width: 100%;
}
.fdContactBar a,
.fdContactBar .fdContactBar__item {
	flex: 0 0 50%;
	width: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	color: var(--fd-white);
	font-family: var(--fd-font-body);
	font-weight: 600;
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.fdContactBar a + a {
	border-left: 1px solid rgba(255,255,255,.12);
}
.fdContactBar a:hover,
.fdContactBar a:focus {
	color: var(--fd-white);
	background: var(--fd-burgundy);
	text-decoration: none;
}
.fdContactBar svg {
	width: 2rem;
	height: 2rem;
	flex: none;
}
@media (max-width: 400px) {
	.fdContactBar a {
		font-size: 1.4rem;
		gap: .6rem;
	}
}
@media print {
	.fdContactBar {
		display: none;
	}
	body.has-fd-contact-bar {
		padding-bottom: 0;
	}
}

/* ---------- 13. Utilities / misc parent leftovers --------------------- */
/* keep images inline where the parent wanted, otherwise default */
.wrap.scrolled {
	margin-top: 0;
}
.alert-warning {
	background: var(--fd-bg-alt);
	border-color: var(--fd-grey-light);
	color: var(--fd-text);
}
hr {
	border-top-color: var(--fd-grey-light);
}
blockquote {
	border-left: 4px solid var(--fd-burgundy);
	color: var(--fd-grey);
}
::selection {
	background: var(--fd-burgundy);
	color: var(--fd-white);
}

/* ---- Hero (pass 2, 22 Sep): dark translucent panel like the parent's original, in DEASA colours ---- */
.heroTextWrap,
.heroTextWrap.heroTextWrap--full {
  background: rgba(31, 31, 31, 0.86) !important;
  color: #fff !important;
  border-top: 4px solid var(--fd-burgundy, #9b1947);
  border-radius: 3px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35), 0 10px 10px rgba(0, 0, 0, 0.22);
  text-align: left !important;
  padding: 3.2rem 4rem !important;
  max-width: 760px;
}
.heroTextWrap h1, .heroTextWrap h2, .heroTextWrap h3, .heroTextWrap h4,
.heroTextWrap p, .heroTextWrap li { color: #fff !important; }
.heroTextWrap h1 { font-size: 4.2rem; line-height: 1.05; margin-bottom: 1.6rem; }
.heroTextWrap ul { padding-left: 1.2em; margin-bottom: 2rem; }
.heroTextWrap li { margin-bottom: .45rem; font-size: 1.7rem; }
.heroTextWrap li::marker { color: var(--fd-burgundy, #9b1947); }
.heroTextWrap .myBtn9 a, .heroTextWrap a.btn { background: var(--fd-burgundy, #9b1947) !important; color: #fff !important; }
.heroTextWrap .myBtn9 a:hover { background: var(--fd-burgundy-dark, #820e36) !important; }
@media (max-width: 767px) {
  .heroTextWrap, .heroTextWrap.heroTextWrap--full { padding: 2rem 1.6rem !important; max-width: none; }
  .heroTextWrap h1 { font-size: 3rem; }
}

/* ---- Hero image framing (5 Oct): keep the faces in view ----
   The team photo is 1500x1111; with background-size:cover on a wide, shallow hero the default
   vertical centring cut the heads off. Anchor near the top (DEASA uses x 33% / y 0%). */
.leitbildSection {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 30% 6% !important;
}
@media (min-width: 1200px) {
  .leitbildSection { min-height: 600px; }
  .home .leitbildSection { height: 700px; }
}
@media (min-width: 1700px) {
  .home .leitbildSection { height: 780px; }
}
@media (max-width: 767px) {
  .leitbildSection { background-position: 36% 0% !important; min-height: 560px; }
}
