/*
 * ktdesign Block (Prototyp): gescopte Sektionsstile.
 * Werte stammen aus dem Elementor-CSS (uploads/elementor/css/post-*.css) und aus Messungen im Original.
 * Breakpoints wie Elementor: Tablet bis 1024px, Mobile bis 767px.
 */

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 100px; }
body { -webkit-font-smoothing: antialiased; }
.kt-main { margin-block-start: 0; }
.kt-main > .wp-block-post-content > * + * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
h2.wp-block-heading { word-spacing: 1px; }

/* ===== Kopfzeile (Vorlage 38) ===== */
header.wp-block-template-part { display: contents; }
.kt-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
	background: #fff;
	transition: box-shadow .45s cubic-bezier(.4, 0, .2, 1);
}
.kt-header.is-scrolled { box-shadow: 0 1rem 1.5rem rgba(21, 21, 21, .25); }
.kt-header__inner {
	max-width: 1510px;
	margin-inline: auto;
	min-height: 100px;
	gap: 0;
}
.kt-header .kt-header__logo { flex: 0 0 25.189%; margin: 13px 0 22px; text-align: center; }
.kt-header .kt-header__logo img { width: 220px; height: auto; }
.kt-header .kt-header__nav { flex: 1 1 auto; gap: 30px; font-family: var(--wp--preset--font-family--open-sans); font-size: 16px; }
.kt-header .kt-header__nav .wp-block-navigation-item__content { color: #000; padding: 0; }
.kt-header .kt-header__nav .wp-block-navigation-item__content:hover,
.kt-header .kt-header__nav .wp-block-navigation-item__content:focus { color: var(--wp--preset--color--primary); }
/*
 * Mobilmenü wie das Elementor-Original: goldener Hamburger (drei Balken), beim Öffnen eine graue
 * Liste direkt unter der Kopfzeile, Punkte zentriert in Cairo 32px Weiss, goldenes Kreuz an der
 * Stelle des Hamburgers. Das WordPress-Overlay bleibt die Mechanik (Fokus, Escape, Schliessen),
 * nur die Optik wird angepasst. Gewichtung höher als die Kernregel :not(.has-background).
 */
/* display nur unter 600px setzen, sonst überschreibt es WordPress' Ausblenden ab 600px (Hamburger auf Desktop). */
.kt-header .wp-block-navigation__responsive-container-open {
	width: 45px;
	height: 45px;
	padding: 0;
	color: var(--wp--preset--color--accent);
	align-items: center;
	justify-content: center;
}
@media (max-width: 599px) {
	.kt-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
.kt-header .wp-block-navigation__responsive-container-open svg { display: none; }
.kt-header .wp-block-navigation__responsive-container-open::before {
	content: "";
	width: 30px;
	height: 3px;
	background: currentColor;
	box-shadow: 0 -9px 0 currentColor, 0 9px 0 currentColor;
}
.has-modal-open .kt-header .wp-block-navigation__responsive-container-open { visibility: hidden; }
.kt-header .wp-block-navigation__responsive-container-open:hover,
.kt-header .wp-block-navigation__responsive-container-open:focus { color: var(--wp--preset--color--primary); }
.kt-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: transparent;
	color: #fff;
	padding: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
}
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { margin: 0; }
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	top: 13px;
	right: 20px;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--accent);
}
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 36px; height: 36px; }
/* Grau erst unterhalb der Kopfzeile. Auf der Liste selbst erzwingt WordPress 7.1 «transparent !important». */
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 74px 0 0;
	align-items: stretch;
	background: linear-gradient(to bottom, transparent 74px, #B8B8B8F2 74px);
	flex: 0 0 auto;
	height: auto;
}
.kt-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 0;
	width: 100%;
	align-items: stretch;
}
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	justify-content: center;
}
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 41px 0;
	text-align: center;
	color: #fff;
	font-family: var(--wp--preset--font-family--cairo);
	font-size: 32px;
	line-height: 20px;
}
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.kt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: #000;
	background: #F2EFEC;
}
@media (max-width: 767px) {
	.kt-header__inner { min-height: 70px; padding-inline: 22px 20px; }
	.kt-header .kt-header__logo { flex-basis: 50%; margin: 12px 0; }
	.kt-header .kt-header__logo img { width: 160px; }
	.kt-header .kt-header__nav { flex: 0 0 auto; }
}

/* ===== Hero mit Slideshow (Container cb2ee5a) ===== */
.kt-hero {
	position: relative;
	min-height: 95vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	overflow: hidden;
	margin: 0;
}
.kt-hero .is-style-kt-slideshow {
	position: absolute;
	inset: 0;
	margin: 0;
	display: block;
	gap: 0;
}
.kt-hero .is-style-kt-slideshow > .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100% !important;
	opacity: 0;
	transition: opacity .5s ease;
	overflow: hidden;
}
.kt-hero .is-style-kt-slideshow > .wp-block-image:first-child,
.kt-hero .is-style-kt-slideshow > .wp-block-image.is-active { opacity: 1; }
.kt-hero .is-style-kt-slideshow.is-running > .wp-block-image:not(.is-active) { opacity: 0; }
.kt-hero .is-style-kt-slideshow > .wp-block-image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transform: scale(1.3);
}
.kt-hero .is-style-kt-slideshow > .wp-block-image.is-active img { animation: kt-kenburns-out 5.5s linear forwards; }
@keyframes kt-kenburns-out { from { transform: scale(1.3); } to { transform: scale(1); } }
.kt-hero .kt-hero__runter { position: relative; z-index: 2; margin: 0 0 50px; }
.kt-hero .kt-hero__runter a {
	display: block;
	width: 50px;
	height: 50px;
	font-size: 0;
	color: var(--wp--preset--color--primary);
}
.kt-hero .kt-hero__runter a::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	margin: 4px auto 0;
	border-right: 7px solid currentColor;
	border-bottom: 7px solid currentColor;
	transform: rotate(45deg);
}
@media (max-width: 767px) {
	.kt-hero { min-height: 337px; justify-content: center; }
	.kt-hero .kt-hero__runter { display: none; }
}

/* ===== Willkommen mit wechselnden Wörtern (Container bbcdd75) ===== */
.kt-main .wp-block-post-content > .kt-willkommen { margin: 250px 50px 50px; width: 94.865%; padding: 10px 10px 10px 160px; box-sizing: border-box; }
.kt-willkommen .kt-willkommen__titel {
	margin-bottom: 24px;
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	font-size: 43px;
	line-height: 1.2;
	color: var(--wp--preset--color--primary);
	margin-top: 0;
}
.is-style-kt-wechselwort em { font-style: normal; }
.kt-wechselwort__wort { white-space: nowrap; }
.kt-wechselwort__wort.is-markiert { background: var(--wp--preset--color--primary); color: #fff; }
.kt-wechselwort__wort::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: .9em;
	margin-left: 2px;
	vertical-align: -.1em;
	background: currentColor;
	animation: kt-cursor 1s steps(1) infinite;
}
@keyframes kt-cursor { 50% { opacity: 0; } }
.kt-nur-screenreader { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767px) {
	.kt-main .wp-block-post-content > .kt-willkommen { margin: 50px 0 0; width: 100%; padding: 10px 10px 10px 35px; }
	/* Wie im Original auf dem Handy unsichtbar, als H1 aber für Suchmaschinen und Screenreader vorhanden. */
	.kt-willkommen .kt-willkommen__titel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
}

/* Spaltenabstände wie Elementor (Spalten-Padding statt Gap); höher gescopt als WPs Flex-Gap. */
.kt-main .wp-block-columns.kt-intro__spalten,
.kt-main .wp-block-columns.kt-leistungen__spalten,
.kt-main .wp-block-columns.kt-personen__spalten,
.kt-footer .wp-block-columns.kt-footer__spalten,
.kt-footer .wp-block-columns.kt-footer__leiste-innen,
.kt-cookie .wp-block-columns.kt-cookie__spalten,
.kt-fehler .wp-block-columns.kt-fehler__spalten { gap: 0; }

/* ===== Intro: Bild + Goldbox (Sektion 4e7c44f) ===== */
.kt-intro { max-width: 1400px; margin: 0 auto; padding: 100px 0 50px; }
.kt-intro .kt-intro__spalten { gap: 0; margin: 0; }
.kt-intro .kt-intro__spalten > .wp-block-column { padding: 10px; }
.kt-intro .kt-intro__bild { margin: 0; text-align: center; }
.kt-intro .kt-intro__bild img { height: 500px; width: auto; }
.kt-intro .kt-intro__text {
	background: var(--wp--preset--color--accent);
	color: #fff;
	font-size: 24px;
	line-height: 1.5;
	padding: 20px;
}
.kt-intro .kt-intro__text > * { margin: 0 0 .9rem; }
.kt-intro .kt-intro__text > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
	.kt-intro .kt-intro__text { font-size: 18px; padding: 10px 10px 6px 18px; }
}

/* ===== Leistungen, drei Spalten (Sektion 10ec835) ===== */
.kt-leistungen { max-width: 1510px; margin: 0 auto; padding: 50px 0 0; }
.kt-leistungen .kt-leistungen__spalten { gap: 0; margin: 0; }
.kt-leistungen .kt-leistungen__spalten > .wp-block-column { padding: 30px; }
.kt-leistungen .kt-leistungen__titel {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 600;
	font-size: 30px;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	margin: 0;
	padding-bottom: 30px;
}
.kt-leistungen .kt-leistungen__bild { margin: 20px 0 0; }
.kt-leistungen .kt-leistungen__bild img { width: 100%; box-shadow: 0 0 72px rgba(0, 0, 0, .5); }
.kt-leistungen .kt-leistungen__text { font-size: 20px; line-height: 1.5; padding: 50px 0; margin-top: 20px; }
.kt-leistungen .kt-leistungen__text > * { margin: 0 0 .9rem; }
@media (max-width: 1024px) {
	.kt-leistungen .kt-leistungen__spalten { flex-wrap: wrap !important; }
	.kt-leistungen .kt-leistungen__spalten > .wp-block-column { flex-basis: 100% !important; }
	.kt-leistungen .kt-leistungen__titel { padding-bottom: 20px; }
	.kt-leistungen .kt-leistungen__text { padding: 20px; }
}
@media (max-width: 767px) {
	.kt-leistungen .kt-leistungen__text { font-size: 14px; padding: 10px; }
}

/* ===== Portfolio-Raster (Container 3afccf0) ===== */
.kt-portfolio { background: var(--wp--preset--color--primary); padding: 100px 0; margin: 0; }
.kt-portfolio .kt-portfolio__raster {
	max-width: 1450px;
	margin: 0 auto;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kt-portfolio .kt-portfolio__raster > * { margin: 0; min-width: 0; }
.kt-portfolio .wp-block-image img { filter: saturate(0); transition: filter .3s; width: 100%; }
.kt-portfolio .wp-block-image:hover img { filter: saturate(1); }
.kt-portfolio .kt-portfolio__titelzelle {
	background: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.kt-portfolio .kt-portfolio__titel {
	max-width: 72%;
	color: #fff;
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	font-size: 28px;
	line-height: 49px;
	margin: 0;
}
@media (max-width: 767px) {
	.kt-portfolio { padding: 0; }
	.kt-portfolio .kt-portfolio__raster { grid-template-columns: minmax(0, 1fr); justify-items: center; }
	.kt-portfolio .kt-portfolio__titelzelle { justify-self: stretch; padding: 0 10px; }
	.kt-portfolio .kt-portfolio__titel { padding: 100px 0; }
}

/* ===== Referenzen mit Logo-Karussell (Sektion 4bbad16) ===== */
.kt-referenzen { background: #fff; padding: 10px 10px 125px; margin: 0; }
.kt-referenzen > * + * { margin-block-start: 20px; }
.kt-referenzen > .kt-trenner,
.kt-referenzen > .kt-trenner + * { margin-block: 35px 0; }
.kt-referenzen .kt-referenzen__titel {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	font-size: 25px;
	line-height: 1;
	color: #000;
	text-align: center;
	margin-bottom: 0;
}
.kt-trenner.wp-block-separator { border: 0; border-top: 1px solid #000; margin-block: 15px; opacity: 1; width: 100%; }
.is-style-kt-karussell { position: relative; display: block !important; overflow: hidden; margin: 0; }
/* Wie Elementor: jedes Logo genau 1/5 breit, ohne Lücke (den Abstand liefern die SVGs). */
.is-style-kt-karussell .kt-karussell__spur { display: flex; gap: 0; transition: transform .5s ease; will-change: transform; }
.is-style-kt-karussell .kt-karussell__spur > .wp-block-image {
	flex: 0 0 20%;
	width: auto !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
}
.is-style-kt-karussell .kt-karussell__spur > .wp-block-image img { width: 100%; height: auto !important; object-fit: contain !important; }
.is-style-kt-karussell .kt-karussell__pfeil {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 30px;
	height: 40px;
	border: 0;
	background: transparent;
	color: #eee;
	cursor: pointer;
	font-size: 0;
}
.is-style-kt-karussell .kt-karussell__pfeil::before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	margin: auto;
	border-left: 3px solid currentColor;
	border-bottom: 3px solid currentColor;
	transform: rotate(45deg);
}
.is-style-kt-karussell .kt-karussell__pfeil--weiter { right: 0; }
.is-style-kt-karussell .kt-karussell__pfeil--weiter::before { transform: rotate(-135deg); }
.is-style-kt-karussell .kt-karussell__pfeil--zurueck { left: 0; }
@media (max-width: 1024px) {
	.is-style-kt-karussell .kt-karussell__spur > .wp-block-image { flex-basis: 50%; }
}
@media (max-width: 767px) {
	.kt-referenzen { padding-bottom: 55px; }
	.is-style-kt-karussell .kt-karussell__spur > .wp-block-image { flex-basis: 100%; }
}

/* ===== Team-Einleitung (Sektion e1cd342) ===== */
.kt-team { max-width: 1140px; margin: 0 auto; padding: 0 10px; min-height: 335px; box-sizing: border-box; }
.kt-team .kt-team__titel {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 600;
	font-size: 28px;
	line-height: 47px;
	color: var(--wp--preset--color--primary);
	margin: 10px 0 0;
}
.kt-team .kt-team__spalten { margin-top: 20px; gap: 20px; }
.kt-team .kt-team__spalten > .wp-block-column { padding: 10px; }
.kt-team .kt-team__bild { margin: 0; text-align: center; }
.kt-team .kt-team__text { font-size: 28px; line-height: 1.5; }
.kt-team .kt-team__text > * { margin: 0 0 .9rem; }
@media (max-width: 1024px) { .kt-team { padding-left: 30px; } }
@media (max-width: 767px) {
	.kt-team { padding-left: 10px; }
	.kt-team .kt-team__titel { font-size: 36px; }
}

/* ===== Personen-Karten (Sektion 6ec8cd2, Call-to-Action) ===== */
/* Auf Live ist die Sektion durch eine leere Spalte unten 90px hoch, danach 100px Aussenabstand. */
.kt-main .wp-block-post-content > .kt-personen { max-width: 1140px; margin: 0 auto 100px; padding-bottom: 60px; }
.kt-personen .kt-personen__spalten { gap: 0; margin: 0; }
.kt-personen .kt-personen__spalten > .wp-block-column { padding: 30px; }
.kt-person { gap: 0; }
.kt-person .kt-person__bild { margin: 0; height: 200px; overflow: hidden; }
.kt-person .kt-person__bild img { width: 100%; height: 200px !important; object-fit: cover; transition: transform 1.5s; }
.kt-person:hover .kt-person__bild img { transform: scale(1.2); }
.kt-person .kt-person__inhalt {
	background: var(--wp--preset--color--primary);
	padding: 35px;
	text-align: center;
	margin: 0;
}
.kt-person .kt-person__inhalt > * { margin: 0 0 15px; }
.kt-person .kt-person__inhalt > :last-child { margin-bottom: 0; }
.kt-person .kt-person__name {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	font-size: 27px;
	line-height: 1.2;
	color: var(--wp--preset--color--accent);
}
.kt-person .kt-person__rolle { color: #fff; font-size: 16px; line-height: 1.5; }
.kt-person .wp-block-buttons { justify-content: center; }
.wp-block-button.is-style-kt-kontur .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--open-sans);
	font-weight: 400;
	font-size: 15px;
	padding: 12px 24px;
	border-radius: 3px;
	text-shadow: 0 0 10px rgba(255, 255, 255, .3);
}
/* Im Original wurde die Schrift beim Darüberfahren violett auf violettem Grund (unsichtbar). Korrigiert: Gold gefüllt. */
.wp-block-button.is-style-kt-kontur .wp-block-button__link:hover,
.wp-block-button.is-style-kt-kontur .wp-block-button__link:focus {
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
}
@media (max-width: 767px) {
	.kt-main .wp-block-post-content > .kt-personen { margin: 50px auto; padding-bottom: 0; }
}

/* ===== Textseiten (AGB, Datenschutz) ===== */
.kt-main .wp-block-post-content > .kt-textseite { max-width: 1140px; margin: 100px auto 0; padding: 10px 10px 0; box-sizing: border-box; }
.kt-textseite .kt-textseite__titel {
	font-family: var(--wp--preset--font-family--open-sans);
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	margin: 0;
}
.kt-textseite .kt-textseite__spalten { gap: 20px; margin-top: 10px; }
.kt-textseite .kt-textseite__spalten > .wp-block-column > * { margin: 0 0 .9rem; }
.kt-textseite h3 { font-size: 28px; font-weight: 500; line-height: 1.2; color: #000; margin: 8px 0 16px !important; }
@media (max-width: 1024px) { .kt-main .wp-block-post-content > .kt-textseite { margin-top: 50px; } }
@media (max-width: 767px) {
	.kt-textseite .kt-textseite__titel { font-size: 22px; }
	.kt-textseite .kt-textseite__spalten { font-size: 11px; }
}

/* ===== Seite mit Titel (Vorlage 1700, Bestellformular) ===== */
.kt-seite-mit-titel { padding: 0 10px; }
.kt-seite-mit-titel .kt-seite-mit-titel__titel { margin-top: 10px; }

/* ===== Fusszeile (Vorlage 20) ===== */
.kt-footer { margin: 80px 0 0; }
.kt-footer .kt-footer__spalten { max-width: 1510px; margin: 0 auto 30px; gap: 0; }
.kt-footer .kt-footer__spalten > .wp-block-column { padding: 30px; }
.kt-footer .kt-footer__kontakt { border-right: 1px solid #93999F; }
.kt-footer .kt-footer__partner { border-right: 1px solid #000; }
.kt-footer .kt-footer__bild { border-right: 1px solid #93999F; }
.kt-footer .kt-footer__kontakt > *,
.kt-footer .kt-footer__partner > * { margin: 0 0 20px; }
/* Partnerlogos wie im Original (Logos in Absätzen, Trenner mit 15px Luft oben und unten). */
.kt-footer .kt-footer__partner .wp-block-image img { margin-bottom: 21px; }
.kt-footer .kt-footer__partner .kt-trenner { display: inline-block; width: 100%; margin: 15px 0 20px; }
.kt-footer .kt-footer__adresse { color: #202020; font-size: 16px; line-height: 1.5; }
.kt-footer sup { font-size: 65%; }
.kt-footer .kt-footer__formular { background: var(--wp--preset--color--primary); }
.kt-footer .kt-footer__formtitel {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	text-transform: none;
	color: #fff;
	margin: 0 0 20px;
}
.kt-footer .kt-footer__leiste {
	background: var(--wp--preset--color--primary);
	min-height: 50px;
	box-shadow: 0 -16px 42px -7px rgba(0, 0, 0, .5);
	display: flex;
	align-items: center;
}
.kt-footer .kt-footer__leiste-innen { max-width: 1140px; width: 100%; margin: 0 auto; gap: 0; align-items: center; }
.kt-footer .kt-footer__leiste-innen > .wp-block-column { padding: 10px; }
.kt-footer .kt-footer__leiste p { margin: 0; color: #fff; font-size: 16px; line-height: 1; }
.kt-footer .kt-footer__leiste a { color: #fff; text-decoration: none; }
.kt-footer .kt-footer__copyright { font-family: var(--wp--preset--font-family--cairo); }
.kt-footer .kt-footer__rechtliches { display: flex; }
.kt-footer .kt-footer__rechtliches a:first-child { flex: 0 0 51.149%; text-align: right; }
.kt-footer .kt-footer__rechtliches a + a { margin-left: 20px; }
.kt-footer .kt-footer__crafted { text-align: right; }
.kt-footer .kt-footer__crafted a u { text-decoration: underline; }
.kt-footer .kt-footer__marke {
	background: var(--wp--preset--color--accent);
	color: #fff;
	font-size: 13px;
	text-align: center;
	margin: 0;
	padding: 10px;
}
@media (max-width: 1024px) {
	.kt-footer .kt-footer__spalten { flex-wrap: wrap !important; }
	.kt-footer .kt-footer__kontakt,
	.kt-footer .kt-footer__bild,
	.kt-footer .kt-footer__formular { flex-basis: 33% !important; }
	.kt-footer .kt-footer__kontakt { margin-right: 10%; }
	.kt-footer .kt-footer__leiste { padding: 5px 20px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.kt-footer .kt-footer__bild .wp-block-image { display: none; }
}
@media (max-width: 767px) {
	.kt-footer .kt-footer__spalten > .wp-block-column { flex-basis: 100% !important; border: 0; margin: 0; }
	.kt-footer .kt-footer__spalten > .kt-footer__bild,
	.kt-footer .kt-footer__spalten > .kt-footer__formular { margin-top: 30px; }
	.kt-footer .kt-footer__leiste p,
	.kt-footer .kt-footer__crafted { text-align: center; justify-content: center; }
	.kt-footer .kt-footer__rechtliches a:first-child { flex: 0 0 auto; }
}

/* ===== Cookie-Hinweis (Popup 449) ===== */
.kt-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	min-height: 189px;
	background: #F8F9FAD4;
	display: none;
	align-items: center;
	padding: 0 4%;
	box-sizing: border-box;
	margin: 0 !important;
}
.kt-cookie.is-sichtbar { display: flex; animation: kt-slide-up .7s ease both; }
@keyframes kt-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.kt-cookie .kt-cookie__spalten { width: 100%; max-width: 1510px; margin: 0 auto; gap: 0; }
.kt-cookie .kt-cookie__bild { padding-top: 4px; text-align: center; }
.kt-cookie .kt-cookie__bild img { width: 55%; }
.kt-cookie .kt-cookie__text { padding-right: 8%; }
.kt-cookie .kt-cookie__text > * { margin: 0 0 10px; }
.kt-cookie .kt-cookie__titel {
	font-family: var(--wp--preset--font-family--cairo);
	font-weight: 400;
	color: var(--wp--preset--color--primary);
}
.kt-cookie .kt-cookie__text p { color: #1C1C1C; font-size: 16px; line-height: 22px; }
.kt-cookie .kt-cookie__knopf { padding-left: 6%; }
.kt-cookie .wp-block-button__link { text-shadow: 0 0 10px rgba(255, 255, 255, .3); }
@media (max-width: 1024px) {
	.kt-cookie .kt-cookie__spalten { flex-wrap: wrap !important; }
	.kt-cookie .kt-cookie__bild { flex-basis: 15% !important; }
	.kt-cookie .kt-cookie__text { flex-basis: 85% !important; text-align: center; }
	.kt-cookie .kt-cookie__knopf { flex-basis: 100% !important; padding: 0; }
	.kt-cookie .wp-block-buttons { justify-content: center; }
	.kt-cookie .kt-cookie__bild img { width: 73%; }
}
@media (max-width: 767px) {
	.kt-cookie { padding: 20px 6%; }
	.kt-cookie .kt-cookie__bild { flex-basis: 100% !important; padding-bottom: 12%; }
	.kt-cookie .kt-cookie__bild img { width: 23%; }
	.kt-cookie .kt-cookie__text { flex-basis: 100% !important; padding: 0; }
	.kt-cookie .kt-cookie__titel { padding: 0 10%; }
	.kt-cookie .kt-cookie__text p { font-size: 14px; line-height: 20px; }
}

/* ===== Fehlerseite 404 (Vorlage 235) ===== */
.kt-fehler .kt-fehler__spalten { min-height: 100vh; gap: 0; margin: 0; }
.kt-fehler .kt-fehler__text { padding-left: 40px; }
.kt-fehler .kt-fehler__titel { font-family: var(--wp--preset--font-family--open-sans); font-size: 56px; font-weight: 800; line-height: 1.2; color: #212529; margin: 0 0 .9rem; }
.kt-fehler .kt-fehler__untertitel { font-size: 28px; }
.kt-fehler .kt-fehler__zurueck a::before { content: "\2190\00a0"; }
.kt-fehler .kt-fehler__bild .wp-block-image,
.kt-fehler .kt-fehler__bild img { height: 100vh !important; width: 100%; object-fit: cover; margin: 0; }
@media (max-width: 767px) {
	.kt-fehler .kt-fehler__text { padding: 40px 0 40px 20px; }
	.kt-fehler .kt-fehler__titel { font-size: 34px; }
	.kt-fehler .kt-fehler__bild img { height: 50vh !important; }
}

/* ===== Einblende-Animationen ===== */
.kt-js .kt-anim:not(.is-sichtbar) { opacity: 0; }
.kt-anim.is-sichtbar { opacity: 1; animation-duration: 1.25s; animation-fill-mode: both; }
.kt-anim--fade.is-sichtbar { animation-name: kt-fade-in; }
.kt-anim--bounce.is-sichtbar { animation-name: kt-bounce-in; animation-duration: .75s; }
.kt-anim--tada.is-sichtbar { animation-name: kt-tada; }
@keyframes kt-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes kt-bounce-in {
	0% { opacity: 0; transform: scale(.3); }
	50% { opacity: 1; transform: scale(1.05); }
	70% { transform: scale(.9); }
	100% { transform: scale(1); }
}
@keyframes kt-tada {
	0% { transform: scale(1); }
	10%, 20% { transform: scale(.9) rotate(-3deg); }
	30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); }
	40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); }
	100% { transform: scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.kt-js .kt-anim:not(.is-sichtbar) { opacity: 1; }
	.kt-anim.is-sichtbar { animation: none; }
	.kt-wechselwort__wort::after { animation: none; }
	.kt-hero .is-style-kt-slideshow > .wp-block-image img,
	.kt-hero .is-style-kt-slideshow > .wp-block-image.is-active img { animation: none; transform: none; }
	.kt-cookie.is-sichtbar { animation: none; }
	.is-style-kt-karussell .kt-karussell__spur { transition: none; }
}
.editor-styles-wrapper .kt-anim { opacity: 1; }
.editor-styles-wrapper .kt-cookie { display: flex; position: relative; }
