/* Einwilligungsbanner (consent.php) - Optik ueber Variablen, damit jedes Child sie ohne Selektor-Kampf anpasst:
   --kc-consent-background, --kc-consent-color, --kc-consent-muted, --kc-consent-accent, --kc-consent-accent-color,
   --kc-consent-button-background, --kc-consent-button-color, --kc-consent-radius, --kc-consent-font-family,
   --kc-consent-shadow, --kc-consent-max-width, --kc-consent-z-index, --kc-consent-overlay. */
.kc-consent {
	position: fixed;
	z-index: var(--kc-consent-z-index, 100000);
	box-sizing: border-box;
	font-family: var(--kc-consent-font-family, var(--primary-font, inherit));
	color: var(--kc-consent-color, #1a1d21);
}

.kc-consent[hidden] {
	display: none !important;
}

.kc-consent *,
.kc-consent *::before,
.kc-consent *::after {
	box-sizing: border-box;
}

.kc-consent__box {
	padding: 22px 24px;
	border-radius: var(--kc-consent-radius, 14px);
	background: var(--kc-consent-background, #ffffff);
	box-shadow: var(--kc-consent-shadow, 0 18px 48px -12px rgba(26, 29, 33, 0.28), 0 2px 6px rgba(26, 29, 33, 0.08));
}

/* Varianten */
.kc-consent--leiste {
	right: 16px;
	bottom: 16px;
	left: 16px;
}

.kc-consent--leiste .kc-consent__box {
	max-width: var(--kc-consent-max-width, 1232px);
	margin: 0 auto;
}

.kc-consent--box {
	bottom: 16px;
	left: 16px;
	width: min(420px, calc(100vw - 32px));
}

.kc-consent--fenster {
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: var(--kc-consent-overlay, rgba(26, 29, 33, 0.45));
}

.kc-consent--fenster .kc-consent__box {
	width: min(560px, 100%);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
}

.kc-consent__titel {
	margin: 0 0 8px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: inherit;
	text-transform: none;
	letter-spacing: 0;
}

.kc-consent__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--kc-consent-muted, #4a5058);
}

.kc-consent__text a {
	color: var(--kc-consent-accent, var(--primary-color, #1e4c9c));
	text-decoration: underline;
}

.kc-consent__details {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.kc-consent__details[hidden] {
	display: none;
}

.kc-consent__kat {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 14px;
	border-radius: calc(var(--kc-consent-radius, 14px) - 4px);
	background: color-mix(in srgb, var(--kc-consent-color, #1a1d21) 5%, var(--kc-consent-background, #ffffff));
	cursor: pointer;
}

.kc-consent__kat input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--kc-consent-accent, var(--primary-color, #1e4c9c));
}

.kc-consent__kat span {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 14px;
}

.kc-consent__kat small {
	color: var(--kc-consent-muted, #4a5058);
	font-size: 13px;
	line-height: 1.45;
}

.kc-consent__knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

/* Gleichwertig: "Alle akzeptieren" und "Nur notwendige" haben dieselbe Optik (TTDSG/DSGVO: Ablehnen ebenso einfach) */
.kc-consent__knopf {
	flex: 1 1 160px;
	min-height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: calc(var(--kc-consent-radius, 14px) - 2px);
	background: var(--kc-consent-button-background, var(--kc-consent-accent, var(--primary-color, #1e4c9c)));
	color: var(--kc-consent-button-color, #ffffff);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.kc-consent__knopf--leise {
	flex: 0 1 auto;
	background: transparent;
	color: var(--kc-consent-accent, var(--primary-color, #1e4c9c));
	text-decoration: underline;
}

.kc-consent__knopf[hidden] {
	display: none;
}

.kc-consent__knopf:focus-visible {
	outline: 2px solid var(--kc-consent-accent, var(--primary-color, #1e4c9c));
	outline-offset: 2px;
}

/* Nie hoeher als der Bildschirm (aufgeklappte Einstellungen am Handy) */
.kc-consent--leiste .kc-consent__box,
.kc-consent--box .kc-consent__box {
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
}

/* Schmal: die beiden Hauptknoepfe gleich breit nebeneinander, Einstellungen/Speichern darunter */
@media (max-width: 600px) {
	.kc-consent__knopf {
		flex: 1 1 calc(50% - 5px);
		padding: 0 10px;
	}

	.kc-consent__knopf--leise {
		flex: 1 1 100%;
	}
}
/*!****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./scss/style.scss ***!
  \****************************************************************************************************************************************************************************************************************************************/
/*
Theme Name: Konzeptcode Parent Theme
Description:
Version: 1.0
Author: KonzeptCode
Author URI: https://konzeptcode.com
*/
/*
@include max($tablet) {
	height: 60px;
}
*/
/*
Beispiel:
@include default_text_specs(
    $css-variable-prepend: "kc-teaser-title",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h1_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include default_h2_specs(
    $css-variable-prepend: "",
    $font-weight: 700,
    $line-height: 1,
    $text-align: "center"
);
*/
/*
Beispiel:
@include css_variable_prepend(
    $property: "font-size",
    $prepend-string: 'kc-teaser-title',
    $default-value: 20px
);
*/
/*
@extend %transition;
*/
/*
@extend %transition-timing;
*/
:root,
swiper-container {
  --kc-primary-font: "Open Sans", sans-serif;
  --kc-secondary-font: "Montserrat", sans-serif;
  --text-color: #333;
  --global-padding: 15px;
  --white: #fcfcfc;
  --black: #000;
  --content-width: 1280px;
  --text-width: 720px;
  --red: #a00;
  --font-awesome-font: "Font Awesome 6 Free";
  --font-awesome-brands: "Font Awesome 6 Brands";
  --screen-width-mobileonly: 480px;
}

body,
html {
  --wp--preset--color--white: var(--white, #fff);
}

[compare-size] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
[compare-size][ratio-compare=higher] {
  width: 100%;
  height: auto;
}
[compare-size][ratio-compare=same], [compare-size][ratio-compare=wider] {
  width: auto;
  height: 100%;
}

article#wrapper {
  width: 100%;
  max-width: 100%;
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container):not(.button-container):not(.buttons-container):not(.social-link-container):not(.list-item-container):not(.teaser-container):not(.column-container):not(.wp-block-column > *) {
  margin-left: var(--container-margin-left, auto);
  margin-right: var(--container-margin-right, auto);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).align-wide {
  margin-left: auto;
  margin-right: auto;
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).height-full-container {
  height: 100vh;
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).height-full-container:first-of-type {
  height: calc(100vh - var(--header-height));
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container {
  position: relative;
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.83;
  z-index: 1;
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-white-container::before {
  background-color: var(--white, #fff);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-primary-color-container::before {
  background-color: var(--primary-color, #333);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-primary-color-light-container::before {
  background-color: var(--primary-color-light, #ddd);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-primary-color-dark-container::before {
  background-color: var(--primary-color-dark, #333);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-secondary-color-container::before {
  background-color: var(--secondary-color, #333);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-secondary-color-light-container::before {
  background-color: var(--secondary-color-light, #ddd);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-secondary-color-dark-container::before {
  background-color: var(--secondary-color-dark, #333);
}
article#wrapper .container:not(.custom-width):not(.block-container):not(.button-container):not(.column-container).dimm-container.dimm-text-color-container::before {
  background-color: var(--text-color, #333);
}
article#wrapper .has-white-color.has-text-color *:not(.wp-block-button__link):not([class*=-color-color]):not(.has-text-color) {
  color: var(--white, #fff) !important;
}

:root :where(body .is-layout-flow) > *,
:root :where(.is-layout-constrained) > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

html,
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  font-family: var(--primary-font);
  font-size: var(--p-font-size);
  color: var(--text-color);
}

*,
*::before,
*::after {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
