/**
 * Design-Tokens – festgeschrieben aus den Impreza-Theme-Optionen (Stand Oktober 2026)
 * Wird auf der Website UND im Block-Editor geladen.
 *
 * Farben, Typografie, Layout, Formular-Variablen und Button-Stile.
 * Änderungen an Farben/Schriftgrößen/Buttons werden ab jetzt hier gepflegt (nicht mehr in Impreza).
 */

/* ------------------------------------------------------------------------- */
/* Farben + Layout                                                           */
/* ------------------------------------------------------------------------- */

:root {
	--color-navy:#0B1D33;
	--color-blue:#0057FF;
	--color-lime:#D6FF26;
	--color-coral:#FF6B5B;
	--color-sand:#F6F3EE;
	--color-yellow:#FFC501;
	--color-violet:#C038CB;
	--color-green:#00D964;
	--color-pink:#F73177;
	--color-blog-rahmen: #CCBFB2;
	--color-turquoise:#00C7D8;
	--color-header-middle-bg:#ffffff;
	--color-header-middle-bg-grad:#ffffff;
	--color-header-middle-text:#0B1D33;
	--color-header-middle-text-hover:#0057FF;
	--color-header-transparent-bg:transparent;
	--color-header-transparent-bg-grad:transparent;
	--color-header-transparent-text:#fff;
	--color-header-transparent-text-hover:#fff;
	--color-chrome-toolbar:#ffffff;
	--color-header-top-bg:#F6F3EE;
	--color-header-top-bg-grad:#F6F3EE;
	--color-header-top-text:#0B1D33;
	--color-header-top-text-hover:#0057FF;
	--color-header-top-transparent-bg:rgba(0,0,0,0.2);
	--color-header-top-transparent-bg-grad:rgba(0,0,0,0.2);
	--color-header-top-transparent-text:rgba(255,255,255,0.66);
	--color-header-top-transparent-text-hover:#fff;
	--color-content-bg:#ffffff;
	--color-content-bg-grad:#ffffff;
	--color-content-bg-alt:#F6F3EE;
	--color-content-bg-alt-grad:#F6F3EE;
	--color-content-border:rgba(11,29,51,0.12);
	--color-content-heading:#0B1D33;
	--color-content-heading-grad:#0B1D33;
	--color-content-text:#0B1D33;
	--color-content-link:#0057FF;
	--color-content-link-hover:#0B1D33;
	--color-content-primary:#0057FF;
	--color-content-primary-grad:#0057FF;
	--color-content-secondary:#0B1D33;
	--color-content-secondary-grad:#0B1D33;
	--color-content-faded:rgba(11,29,51,0.6);
	--color-content-overlay:rgba(11,29,51,0.8);
	--color-content-overlay-grad:rgba(11,29,51,0.8);
	--color-alt-content-bg:#F6F3EE;
	--color-alt-content-bg-grad:#F6F3EE;
	--color-alt-content-bg-alt:#ffffff;
	--color-alt-content-bg-alt-grad:#ffffff;
	--color-alt-content-border:rgba(11,29,51,0.12);
	--color-alt-content-heading:#0B1D33;
	--color-alt-content-heading-grad:#0B1D33;
	--color-alt-content-text:#0B1D33;
	--color-alt-content-link:#0057FF;
	--color-alt-content-link-hover:#0B1D33;
	--color-alt-content-primary:#0057FF;
	--color-alt-content-primary-grad:#0057FF;
	--color-alt-content-secondary:#0B1D33;
	--color-alt-content-secondary-grad:#0B1D33;
	--color-alt-content-faded:rgba(11,29,51,0.6);
	--color-alt-content-overlay:rgba(0,87,255,0.85);
	--color-alt-content-overlay-grad:rgba(0,87,255,0.85);
	--color-footer-bg:#0B1D33;
	--color-footer-bg-grad:#0B1D33;
	--color-footer-bg-alt:rgba(255,255,255,0.06);
	--color-footer-bg-alt-grad:rgba(255,255,255,0.06);
	--color-footer-border:rgba(255,255,255,0.15);
	--color-footer-heading:#ffffff;
	--color-footer-heading-grad:#ffffff;
	--color-footer-text:rgba(255,255,255,0.8);
	--color-footer-link:#D6FF26;
	--color-footer-link-hover:#ffffff;
	--color-subfooter-bg:#0057FF;
	--color-subfooter-bg-grad:#0057FF;
	--color-subfooter-bg-alt:rgba(255,255,255,0.1);
	--color-subfooter-bg-alt-grad:rgba(255,255,255,0.1);
	--color-subfooter-border:rgba(255,255,255,0.2);
	--color-subfooter-heading:#ffffff;
	--color-subfooter-heading-grad:#ffffff;
	--color-subfooter-text:#ffffff;
	--color-subfooter-link:#D6FF26;
	--color-subfooter-link-hover:#ffffff;
	--color-content-primary-faded:rgba(0,87,255,0.15);
	--site-border-radius:0.9375rem;
	--site-canvas-width:1300px;
	--site-content-width:980px;
	--text-block-margin-bottom:0rem;
	--focus-outline-width:2px;
}


/* Header + Seitenrahmen (bisher Impreza-Header / Grundgestaltung) */
:root {
	--header-height: 65px;
	--header-sticky-height: 65px;
	--site-outline-width: 20px;
	--site-outline-color: var(--color-content-bg);
}

/* Horizontaler Einzug von Zeilen und Header (bisher „Horizontale Einzüge“), mobil 0 */
:root {
	--padding-inline: 20px;
}
@media (max-width: 600px) {
	:root {
		--padding-inline: 0px;
	}
}

/* ------------------------------------------------------------------------- */
/* Typografie                                                                */
/* ------------------------------------------------------------------------- */

:root {
	--font-family:"Open Sans";
	--font-size:1rem;
	--line-height:1.25rem;
	--font-weight:400;
	--bold-font-weight:700;
	--font-stretch:100%;
	--text-transform:none;
	--font-style:normal;
	--letter-spacing:-0.01em;
	--h1-font-family:inherit;
	--h1-font-size:5.625rem;
	--h1-line-height:5.625rem;
	--h1-font-weight:800;
	--h1-bold-font-weight:800;
	--h1-font-stretch:100%;
	--h1-text-transform:none;
	--h1-font-style:normal;
	--h1-letter-spacing:-0.05em;
	--h1-margin-bottom:1.5rem;
	--h2-font-family:var(--h1-font-family);
	--h2-font-size:3.75rem;
	--h2-line-height:4.0625rem;
	--h2-font-weight:var(--h1-font-weight);
	--h2-bold-font-weight:var(--h1-bold-font-weight);
	--h2-font-stretch:100%;
	--h2-text-transform:var(--h1-text-transform);
	--h2-font-style:var(--h1-font-style);
	--h2-letter-spacing:-0.05em;
	--h2-margin-bottom:1.5rem;
	--h3-font-family:var(--h1-font-family);
	--h3-font-size:1.875rem;
	--h3-line-height:2.1875rem;
	--h3-font-weight:var(--h1-font-weight);
	--h3-bold-font-weight:var(--h1-bold-font-weight);
	--h3-font-stretch:100%;
	--h3-text-transform:var(--h1-text-transform);
	--h3-font-style:var(--h1-font-style);
	--h3-letter-spacing:-0.05em;
	--h3-margin-bottom:1.5rem;
	--h4-font-family:var(--h1-font-family);
	--h4-font-size:1.5625rem;
	--h4-line-height:1.75rem;
	--h4-font-weight:var(--h1-font-weight);
	--h4-bold-font-weight:var(--h1-bold-font-weight);
	--h4-font-stretch:100%;
	--h4-text-transform:var(--h1-text-transform);
	--h4-font-style:var(--h1-font-style);
	--h4-letter-spacing:-0.05em;
	--h4-margin-bottom:1.5rem;
	--h5-font-family:var(--h1-font-family);
	--h5-font-size:1rem;
	--h5-line-height:1.2;
	--h5-font-weight:var(--h1-font-weight);
	--h5-bold-font-weight:var(--h1-bold-font-weight);
	--h5-font-stretch:100%;
	--h5-text-transform:var(--h1-text-transform);
	--h5-font-style:var(--h1-font-style);
	--h5-letter-spacing:0em;
	--h5-margin-bottom:1.5rem;
	--h6-font-family:var(--h1-font-family);
	--h6-font-size:0.85rem;
	--h6-line-height:1.2;
	--h6-font-weight:var(--h1-font-weight);
	--h6-bold-font-weight:var(--h1-bold-font-weight);
	--h6-font-stretch:100%;
	--h6-text-transform:var(--h1-text-transform);
	--h6-font-style:var(--h1-font-style);
	--h6-letter-spacing:0em;
	--h6-margin-bottom:1.5rem;
}

@media (min-width:601px) and (max-width:1024px) {
	:root {
		--h1-font-size:3.75rem;
		--h1-line-height:3.875rem;
		--h2-font-size:2.75rem;
		--h2-line-height:3rem;
	}
}

@media (max-width:600px) {
	:root {
		--h1-font-size:2.5rem;
		--h1-line-height:2.6875rem;
		--h2-font-size:1.875rem;
		--h2-line-height:2.1875rem;
		--h3-font-size:1.5625rem;
		--h3-line-height:1.875rem;
		--h4-font-size:1.25rem;
		--h4-line-height:1.5625rem;
	}
}


html {
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--font-family);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	font-stretch: var(--font-stretch);
	font-style: var(--font-style);
	line-height: var(--line-height);
	letter-spacing: var(--letter-spacing);
	text-transform: var(--text-transform);
	color: var(--color-content-text);
}
b,
strong {
	font-weight: var(--bold-font-weight, bold);
}

h1 {
	font-family:var(--h1-font-family,inherit);
	font-weight:var(--h1-font-weight,inherit);
	font-stretch:var(--h1-font-stretch,normal);
	font-size:var(--h1-font-size,inherit);
	font-style:var(--h1-font-style,inherit);
	line-height:var(--h1-line-height,1.4);
	letter-spacing:var(--h1-letter-spacing,inherit);
	text-transform:var(--h1-text-transform,inherit);
	margin-bottom:var(--h1-margin-bottom,1.5rem);
}

h1>strong {
	font-weight:var(--h1-bold-font-weight,bold);
}

h2 {
	font-family:var(--h2-font-family,inherit);
	font-weight:var(--h2-font-weight,inherit);
	font-stretch:var(--h2-font-stretch,normal);
	font-size:var(--h2-font-size,inherit);
	font-style:var(--h2-font-style,inherit);
	line-height:var(--h2-line-height,1.4);
	letter-spacing:var(--h2-letter-spacing,inherit);
	text-transform:var(--h2-text-transform,inherit);
	margin-bottom:var(--h2-margin-bottom,1.5rem);
}

h2>strong {
	font-weight:var(--h2-bold-font-weight,bold);
}

h3 {
	font-family:var(--h3-font-family,inherit);
	font-weight:var(--h3-font-weight,inherit);
	font-stretch:var(--h3-font-stretch,normal);
	font-size:var(--h3-font-size,inherit);
	font-style:var(--h3-font-style,inherit);
	line-height:var(--h3-line-height,1.4);
	letter-spacing:var(--h3-letter-spacing,inherit);
	text-transform:var(--h3-text-transform,inherit);
	margin-bottom:var(--h3-margin-bottom,1.5rem);
}

h3>strong {
	font-weight:var(--h3-bold-font-weight,bold);
}

h4 {
	font-family:var(--h4-font-family,inherit);
	font-weight:var(--h4-font-weight,inherit);
	font-stretch:var(--h4-font-stretch,normal);
	font-size:var(--h4-font-size,inherit);
	font-style:var(--h4-font-style,inherit);
	line-height:var(--h4-line-height,1.4);
	letter-spacing:var(--h4-letter-spacing,inherit);
	text-transform:var(--h4-text-transform,inherit);
	margin-bottom:var(--h4-margin-bottom,1.5rem);
}

h4>strong {
	font-weight:var(--h4-bold-font-weight,bold);
}

h5 {
	font-family:var(--h5-font-family,inherit);
	font-weight:var(--h5-font-weight,inherit);
	font-stretch:var(--h5-font-stretch,normal);
	font-size:var(--h5-font-size,inherit);
	font-style:var(--h5-font-style,inherit);
	line-height:var(--h5-line-height,1.4);
	letter-spacing:var(--h5-letter-spacing,inherit);
	text-transform:var(--h5-text-transform,inherit);
	margin-bottom:var(--h5-margin-bottom,1.5rem);
}

h5>strong {
	font-weight:var(--h5-bold-font-weight,bold);
}

h6 {
	font-family:var(--h6-font-family,inherit);
	font-weight:var(--h6-font-weight,inherit);
	font-stretch:var(--h6-font-stretch,normal);
	font-size:var(--h6-font-size,inherit);
	font-style:var(--h6-font-style,inherit);
	line-height:var(--h6-line-height,1.4);
	letter-spacing:var(--h6-letter-spacing,inherit);
	text-transform:var(--h6-text-transform,inherit);
	margin-bottom:var(--h6-margin-bottom,1.5rem);
}

h6>strong {
	font-weight:var(--h6-bold-font-weight,bold);
}


/* ------------------------------------------------------------------------- */
/* Formularfelder                                                            */
/* ------------------------------------------------------------------------- */

:root {
	--inputs-font-family:inherit;
	--inputs-font-size:1em;
	--inputs-font-weight:400;
	--inputs-letter-spacing:0em;
	--inputs-text-transform:none;
	--inputs-height:3em;
	--inputs-padding:1em;
	--inputs-checkbox-size:1.5em;
	--inputs-border-width:0px;
	--inputs-border-radius:var(--site-border-radius);
	--inputs-background:var(--color-content-bg-alt);
	--inputs-border-color:var(--color-content-border);
	--inputs-text-color:var(--color-content-text);
	--inputs-box-shadow:0px 1px 0px 0px rgba(0,0,0,0.08) inset;
	--inputs-focus-background:var(--color-content-bg-alt);
	--inputs-focus-border-color:var(--color-content-border);
	--inputs-focus-text-color:var(--color-content-text);
	--inputs-focus-box-shadow:0px 0px 0px 2px var(--color-content-primary);
}


/* ------------------------------------------------------------------------- */
/* Buttons (bisher Impreza „Button-Stile“)                                   */
/* .us-btn-style_N  = Website-Button (Klasse w-btn)                          */
/* .is-style-us-btn-N .wp-block-button__link = Gutenberg-Button im Editor    */
/* ------------------------------------------------------------------------- */

.w-btn,
.editor-styles-wrapper .wp-block-button[class*="is-style-us-btn-"] .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	vertical-align: top;
	border-style: solid;
	border-width: 0;
	font-family: inherit;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition-property: background, border, box-shadow, color, opacity, transform;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-btn-label {
	display: inline-block;
}
/* Rahmen als Überlagerung (wie bisher bei Impreza) – vergrößert den Button nicht.
   Nur Website: im Editor zeichnet blocks.css einen echten Rahmen (::before ist dort der Pfeil links). */
:where(body:not(.editor-styles-wrapper)) .w-btn::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border-width: var(--btn-border-width, 0px);
	border-style: solid;
	border-color: inherit;
	transition: inherit;
	pointer-events: none;
}

[type=submit]:not(.w-btn):not(.button),
.us-btn-style_1,
.is-style-us-btn-1 .wp-block-button__link {
	font-style:normal;
	text-transform:none;
	font-size:1rem;
	line-height:1.5625!important;
	font-weight:700;
	letter-spacing:-0.01em;
	padding:0.625em 1.5em;
	transition-duration:0.3s;
	border-radius:999em;
	transition-timing-function:ease;
	--btn-height:calc(1.5625em + 2 * 0.625em);
	--btn-border-width:1px;
	--btn-background:var(--color-blue);
	--btn-hover-background:var(--color-navy);
	--btn-border-color:var(--color-blue);
	--btn-hover-border-color:#0B1D33;
	background:var(--btn-background,transparent);
	border-color:var(--btn-border-color,transparent);
	border-image:none;
	color:var(--color-content-bg)!important;
}

.no-touch [type=submit]:not(.w-btn):not(.button):hover,
.no-touch .us-btn-style_1:hover,
.no-touch .is-style-us-btn-1 .wp-block-button__link:hover {
	background:var(--btn-hover-background,transparent);
	border-color:var(--btn-hover-border-color,transparent);
	border-image:none;
	color:var(--color-content-bg)!important;
}

.us-btn-style_2,
.is-style-us-btn-2 .wp-block-button__link {
	font-style:normal;
	text-transform:none;
	font-size:1rem;
	line-height:1.5625!important;
	font-weight:700;
	letter-spacing:-0.01em;
	padding:0.625em 1.5em;
	transition-duration:0.3s;
	border-radius:999em;
	transition-timing-function:ease;
	--btn-height:calc(1.5625em + 2 * 0.625em);
	--btn-border-width:1px;
	--btn-background:transparent;
	--btn-hover-background:var(--color-blue);
	--btn-border-color:#0B1D33;
	--btn-hover-border-color:#0057FF;
	background:var(--btn-background,transparent);
	border-color:var(--btn-border-color,transparent);
	border-image:none;
	color:var(--color-navy)!important;
}

.no-touch .us-btn-style_2:hover,
.no-touch .is-style-us-btn-2 .wp-block-button__link:hover {
	background:var(--btn-hover-background,transparent);
	border-color:var(--btn-hover-border-color,transparent);
	border-image:none;
	color:var(--color-content-bg)!important;
}

.us-btn-style_3,
.is-style-us-btn-3 .wp-block-button__link {
	font-style:normal;
	text-transform:none;
	font-size:1rem;
	line-height:1.5625!important;
	font-weight:700;
	letter-spacing:-0.01em;
	padding:0.625em 1.5em;
	transition-duration:0.3s;
	border-radius:999em;
	transition-timing-function:ease;
	--btn-height:calc(1.5625em + 2 * 0.625em);
	--btn-border-width:1px;
	--btn-background:var(--color-lime);
	--btn-hover-background:var(--color-navy);
	--btn-border-color:#D6FF26;
	--btn-hover-border-color:#0B1D33;
	background:var(--btn-background,transparent);
	border-color:var(--btn-border-color,transparent);
	border-image:none;
	color:var(--color-navy)!important;
}

.no-touch .us-btn-style_3:hover,
.no-touch .is-style-us-btn-3 .wp-block-button__link:hover {
	background:var(--btn-hover-background,transparent);
	border-color:var(--btn-hover-border-color,transparent);
	border-image:none;
	color:var(--color-lime)!important;
}

.us-btn-style_5,
.is-style-us-btn-5 .wp-block-button__link {
	font-style:normal;
	text-transform:none;
	font-size:1rem;
	line-height:1.5625!important;
	font-weight:700;
	letter-spacing:-0.01em;
	padding:0.25em 1em;
	transition-duration:0.3s;
	border-radius:999em;
	transition-timing-function:ease;
	--btn-height:calc(1.5625em + 2 * 0.25em);
	--btn-border-width:1px;
	--btn-background:var(--color-blue);
	--btn-hover-background:var(--color-navy);
	--btn-border-color:#0057FF;
	--btn-hover-border-color:#0B1D33;
	background:var(--btn-background,transparent);
	border-color:var(--btn-border-color,transparent);
	border-image:none;
	color:var(--color-content-bg)!important;
}

.no-touch .us-btn-style_5:hover,
.no-touch .is-style-us-btn-5 .wp-block-button__link:hover {
	background:var(--btn-hover-background,transparent);
	border-color:var(--btn-hover-border-color,transparent);
	border-image:none;
	color:var(--color-content-bg)!important;
}
