/*
Theme Name: Doktor Born Theme
Author: Hans Hooss
Version: 0.1.0
Text Domain: doktor-born-theme
*/

/* source-sans-pro-600 - latin */
@font-face {
	font-display: swap;
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 600;
	src: url('assets/fonts/source-sans-pro-v11-latin-600.eot');
	/* IE9 Compat Modes */
	src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'),
		url('assets/fonts/source-sans-pro-v11-latin-600.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('assets/fonts/source-sans-pro-v11-latin-600.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-600.woff') format('woff'),
		/* Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-600.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('assets/fonts/source-sans-pro-v11-latin-600.svg#SourceSansPro') format('svg');
	/* Legacy iOS */
}

/* source-sans-pro-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	src: url('assets/fonts/source-sans-pro-v11-latin-regular.eot');
	/* IE9 Compat Modes */
	src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'),
		url('assets/fonts/source-sans-pro-v11-latin-regular.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('assets/fonts/source-sans-pro-v11-latin-regular.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-regular.woff') format('woff'),
		/* Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-regular.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('assets/fonts/source-sans-pro-v11-latin-regular.svg#SourceSansPro') format('svg');
	/* Legacy iOS */
}

/* source-sans-pro-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Source Sans Pro';
	font-style: italic;
	font-weight: 400;
	src: url('fonts/source-sans-pro-v11-latin-italic.eot');
	/* IE9 Compat Modes */
	src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'),
		url('assets/fonts/source-sans-pro-v11-latin-italic.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('assets/fonts/source-sans-pro-v11-latin-italic.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-italic.woff') format('woff'),
		/* Modern Browsers */
		url('assets/fonts/source-sans-pro-v11-latin-italic.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('assets/fonts/source-sans-pro-v11-latin-italic.svg#SourceSansPro') format('svg');
	/* Legacy iOS */
}

/* spline-sans-mono-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/spline-sans-mono-v13-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* spline-sans-mono-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 500;
  src: url('assets/fonts/spline-sans-mono-v13-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root {
	--color-alt-bg: #f3f1ec;
	--color-bg: #edfaeb;
	--color-sidebar: #ffffff;
	/* --color-text: #2f2c28; */
	--color-text: #000;
	/* --color-text-soft: #5d5851; */
	--color-text-soft: #000;
	--color-border: #ebe7df;

	--color-accent-green: #2d9668;
	--color-accent-blue: #79a9ec;
	--color-accent-blue-dark: #4671cd; 
	/* */
	--color-accent-gold: #e4b233; 
	--color-accent-gold: #dda603; 
	
	--color-accent-gold: rgb(240, 244, 192); 	
	--color-accent-gold: rgb(247, 252, 13);
	--color-accent-gold: #FDF580;
	--color-accent-gold: #f4d93f;	
	--color-accent-gold: #f1e681c8;
	--color-accent-gold: #fcf2ca;
	--color-accent-gold: #fbf299db;
	

	--site-max: 1300px;
	--sidebar-width: 400px;
	--sidebar-min: 280px;
	--left-column-max: 900px;

	/*
	 * Die Sidebar ist bei voller Seitenbreite 400 px breit.
	 * Zwischen 1300 px und 1180 px schrumpft zunächst nur sie.
	 * Danach bleibt sie 280 px breit und der Hauptbereich wird schmaler.
	 */
	--sidebar-current: clamp(
		var(--sidebar-min),
		calc(min(100vw, var(--site-max)) - var(--left-column-max)),
		var(--sidebar-width)
	);

	--transition-fast: 220ms ease;
	--transition: 320ms cubic-bezier(.22, .8, .24, 1);
	--shadow-soft: 0 18px 50px rgba(0, 0, 0, 0.08);

	/* Vorhandene große Schriftgrößen */
	--fs-28: clamp(2rem, 1.8rem + 0.5vw, 2.8rem);
	--fs-36: clamp(2.4rem, 2.1rem + 0.8vw, 3.6rem);
	--fs-48: clamp(3rem, 2.6rem + 1.2vw, 4.8rem);
	--fs-60: clamp(3.6rem, 3rem + 1.6vw, 6rem);

	/* Ergänzende Schriftgrößen */
	--fs-body: clamp(1.8rem, 1.7rem + 0.25vw, 2rem);
	--fs-small: clamp(1.4rem, 1.3rem + 0.2vw, 1.6rem);

	--fs-content-h2: clamp(2.5rem, 2.2rem + 0.75vw, 3.05rem);
	--fs-content-h3: clamp(2.1rem, 1.9rem + 0.5vw, 2.5rem);

	--fs-contact: clamp(2rem, 1.8rem + 0.5vw, 2.4rem);
	--fs-opening-times: clamp(1.5rem, 1.4rem + 0.2vw, 1.7rem);

	--fs-navigation: clamp(1.6rem, 1.45rem + 0.4vw, 2rem);
	--fs-phone: clamp(1.6rem, 1.5rem + 0.2vw, 1.8rem);
	--fs-sidebar-small: clamp(1.4rem, 1.3rem + 0.2vw, 1.6rem);
}

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

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

/*
body {
	margin: 0 auto;
	color: var(--color-text);
	font-family: 'Source Sans Pro', sans-serif;
	line-height: 1.5;

	background: linear-gradient(
		to right,
		var(--color-bg) 0,
		var(--color-bg) calc(
			min(100vw, var(--site-max)) - var(--sidebar-current)
		),

		var(--color-sidebar) calc(
			min(100vw, var(--site-max)) - var(--sidebar-current)
		),
		var(--color-sidebar) min(100vw, var(--site-max)),

		#fff min(100vw, var(--site-max)),
		#fff 100%
	);
}
	*/

	body {
	margin: 0;
	color: var(--color-text);
	font-family: 'Source Sans Pro', sans-serif;
	line-height: 1.5;

	background: linear-gradient(
		to right,

		/* Linker Außenbereich und Hauptbereich: mintgrün */
		var(--color-bg) 0,
		var(--color-bg) calc(
			(100vw - min(100vw, var(--site-max))) / 2
			+ min(100vw, var(--site-max))
			- var(--sidebar-current)
		),

		/* Sidebar */
		var(--color-sidebar) calc(
			(100vw - min(100vw, var(--site-max))) / 2
			+ min(100vw, var(--site-max))
			- var(--sidebar-current)
		),
		var(--color-sidebar) calc(
			(100vw - min(100vw, var(--site-max))) / 2
			+ min(100vw, var(--site-max))
		),

		/* Rechter Außenbereich: weiß */
		#fff calc(
			(100vw - min(100vw, var(--site-max))) / 2
			+ min(100vw, var(--site-max))
		),
		#fff 100%
	);
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--color-accent-blue-dark);
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.14em;
}

.entry-content a {
	color: black;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.14em;
}

.entry-content a:hover {
	color: var(--color-accent-blue-dark);
}

.site-branding__subtitle,
.site-branding-mobile__subtitle,
.site-branding__title,
.site-branding-mobile__title,
.hero-title,
.entry-title,
.entry-content h2,
.content-entry .entry-content h2,
.entry-content h3,
.content-entry .entry-content h3,
.post-card__title {
	font-weight: 400;
}

.themen-ueberschrift {
	padding-bottom: 1.5em;
	margin-top: 3.7em;
}

.themen-ueberschrift h2 {
	color: #6d97d3;
	color: var(--color-accent-blue-dark);
	line-height: 1.2;
	min-height: 2.4em;
}

p,
ul,
ol,
blockquote,
h4 {
	margin-top: 0;
	font-size: var(--fs-body);
}

.content-entry .entry-content h4 {
	font-weight: 600 !important;
}

.site-info p {
	font-size: var(--fs-small);
}

.entry-content ul,
.entry-content ol {
	padding-left: 1em;
}

.entry-content li {
	margin-bottom: .5em;
}

.entry-content .link-liste {
	padding-left: 0;
}

.entry-content .link-liste li {
	list-style: none;
}

.entry-content .link-liste li a {
	color: black;
	font-weight: 500;
}

.entry-content .link-liste li:hover a:hover {
	color: var(--color-accent-blue-dark);
}

/* Layout */

/*
.site-shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--sidebar-current);
	width: 100%;
	max-width: var(--site-max);
	margin: 0 auto 0 auto;
	min-height: calc(100vh - 18px);
	overflow-x: clip;
}
	*/

	.site-shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--sidebar-current);
	width: 100%;
	max-width: var(--site-max);
	margin: 0 auto;
	min-height: calc(100vh - 18px);
	overflow-x: clip;
}


.site-main-column {
	min-width: 0;
	background: transparent;
}

.site-sidebar {
	min-width: 0;
	background: transparent;
}

.site-shell::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	inline-size: clamp(2rem, 6vw, 7.6rem);
	block-size: clamp(2rem, 6vw, 7.6rem);
	background: var(--color-accent-blue);
	z-index: 20;
	pointer-events: none;
}

.site-main-column__inner {
	max-width: calc(var(--site-max) - var(--sidebar-width));
	margin-left: 0;
	margin-right: auto;
	padding: 9rem 4rem 7rem 9rem;
	position: relative;
}

.site-sidebar__inner {
	width: 100%;
	max-width: var(--sidebar-width);
	padding: 0 5rem 4.8rem 5.4rem;
	position: sticky;
	top: 48px;
}

#site-content .is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.quellen {
	border-top: 1px solid black;
	padding-top: .5em;
}

.quellen * {
	font-size: var(--fs-sidebar-small);
}

/* Mobile header */

.site-header-mobile {
	display: none;
}

/* Branding */

.site-branding__link,
.site-branding-mobile__link {
	display: inline-flex;
	flex-direction: column;
	gap: 8px;
	color: var(--color-text);
	text-decoration: none;
}

.desktop-branding {
	margin-bottom: 80px;
}

.site-branding__subtitle,
.site-branding-mobile__subtitle {
	font-size: var(--fs-36);
	font-size: 2.5rem;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #4b4741;
}

.site-branding__title,
.site-branding-mobile__title {
	font-size: var(--fs-48);
	line-height: 1.3;
	letter-spacing: 0.015em;
	text-transform: uppercase;
	color: var(--color-text);
	max-width: 19ch;
}

/* Content */

.home-layout,
.content-entry {
	max-width: var(--left-column-max);
}

.hero-title,
.entry-title {
	margin: 0 0 1em;
	font-size: var(--fs-48);
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--color-accent-green);
}

.entry-header {
	margin-bottom: 2rem;
}

.entry-content,
.content-entry .entry-content {
	color: var(--color-text-soft);
	font-size: var(--fs-body);
	line-height: 1.36;
}

#site-content .entry-content figcaption.wp-element-caption {
	font-size: var(--fs-small);
}

.entry-content h2.wp-block-heading,
.content-entry .entry-content h2 {
	margin: 1.5em 0 .5em;
	font-size: var(--fs-content-h2);
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.entry-content h3.wp-block-heading,
.content-entry .entry-content h3 {
	margin: 2em 0 .2em;
	font-size: var(--fs-content-h3);
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text);
	font-weight: normal;
}

.entry-content p.wp-block-paragraph + h3.wp-block-heading {
	margin: 2em 0 .2em;
}

#site-content .entry-content h3 + h4 {
	margin-top: .5em;
}

#site-content .themen-ueberschrift + h3 {
	margin-top: 0;
}

#site-content .entry-content h2 + h3,
.entry-content h3:first-child {
	margin-top: 0;
	font-weight: normal;
}

.content-entry .entry-content h4,
.entry-content p,
.content-entry .entry-content p,
.content-entry .entry-content ul,
.content-entry .entry-content ol,
.content-entry .entry-content blockquote {
	margin: 0 0 1em;
}

.entry-content .wp-block-column figure + p,
.entry-content .bildunterschrift,
.entry-content .bu {
	margin-bottom: 0;
	margin-top: 1em;
	font-size: var(--fs-small);
}

.entry-content .wp-block-columns .wp-block-column p em {
	font-size: var(--fs-small);
}

aside.kontakt {
	background: var(--color-accent-gold);
	border-radius: 3px;
}

p.kontakt {
	font-size: var(--fs-navigation);
	font-weight: 600 !important;
	letter-spacing: .08em;
	padding: .25em 1em;
	
}

p.kontakt span {
	font-size: var(--fs-body);
	font-weight: normal;
	line-height: 1.36;
	letter-spacing: normal;
	display: block;
}

p.kontakt span:first-of-type {
	margin-bottom: .5em;
}

p.sprechzeiten {
	font-weight: 500;
	font-size: var(--fs-opening-times);
	letter-spacing: .02em;
}

p.sprechzeiten strong {
	font-weight: 600;
}

.wp-block-group p+.wp-block-buttons {
	margin-top: 0;
}

.content-entry .entry-content blockquote {
	padding-left: 1.25rem;
	border-left: none;
	color: var(--color-text);
}

.content-entry .entry-content blockquote p {
	color: var(--color-text);
	font-size: var(--fs-small);
}

strong {
	font-weight: 600;
}

p strong,
li strong {
	font-weight: 600;
}

#site-content .is-layout-constrained>.alignleft {
	float: left;
	margin-inline-start: 0;
	margin-inline-end: 1em;
}

.entry-content figure.wp-block-image.alignleft {
	margin: 0;
}

.wp-block-column.text-unten {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wp-block-column.text-unten blockquote {
    margin-bottom: 0;
}

/* Navigation */

.primary-nav,
.secondary-nav,
#menu-menu-1,
#menu-menu-2,
#menu-menu-3 {
	width: 100%;
	min-width: 0;
}

#menu-menu-1,
#menu-menu-2,
#menu-menu-3 {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.primary-nav li,
.secondary-nav li,
#menu-menu-1 li,
#menu-menu-2 li,
#menu-menu-3 li {
	width: 100%;
	min-width: 0;
}

.primary-nav a,
.secondary-nav a,
#menu-menu-1 a,
#menu-menu-2 a,
#menu-menu-3 a {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	hyphens: none;
	overflow-wrap: normal;
}

#menu-menu-1 a,
#menu-menu-2 a,
#menu-menu-3 a {
	background: var(--color-accent-blue-dark);
	color: white;
	font-size: var(--fs-navigation);
	line-height: 1.3;
	text-decoration: none;
	padding: .25em 1em;
	font-weight: 500;
	display: block;
	letter-spacing: 0.08em;
	border-radius: 3px;
}

#menu-menu-1 .current-menu-item a,
#menu-menu-2 .current-menu-item a,
#menu-menu-3 .current-menu-item a {
	color: var(--color-accent-green);
}

#menu-menu-1 li:hover a,
#menu-menu-1 .current-menu-item>a,
#menu-menu-1 .current-page-ancestor>a,
#menu-menu-1 .current_page_item>a,
#menu-menu-2 li:hover a,
#menu-menu-2 .current-menu-item>a,
#menu-menu-2 .current-page-ancestor>a,
#menu-menu-2 .current_page_item>a,
#menu-menu-3 li:hover a,
#menu-menu-3 .current-menu-item>a,
#menu-menu-3 .current-page-ancestor>a,
#menu-menu-3 .current_page_item>a {
	background: var(--color-accent-green);
	color: white;
	text-decoration: none;
	padding: .25em 1em;
	border-radius: 3px;
}

/*
#menu-menu-1 li#menu-item-35 a {
	background: #C9783F;
}
	*/

#menu-menu-1 li#menu-item-35.current_page_item a {
	background: var(--color-accent-green);
}

.primary-nav {
	margin-bottom: 4rem;
}

.secondary-nav li:last-of-type {
	margin-top: 3rem;
}

/* Widgets */

.widget {
	margin: 0;
}

.sidebar-contact-widget {
	margin-top: 82px;
}

#block-8 {
	margin-top: 1.5rem;
}

.sidebar-contact-widget p {
	margin: 0 0 16px;
}

.sidebar-contact-widget .phone-line {
	font-size: var(--fs-phone);
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--color-text);
}

.sidebar-contact-widget .opening-hours {
	font-size: var(--fs-sidebar-small);
	line-height: 1.4;
	color: #3f3b36;
}

.widget-title.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Archive / lists */

.posts-list {
	display: grid;
	gap: 2rem;
	max-width: var(--left-column-max);
}

.post-card {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--color-border);
}

.post-card__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.1;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.post-card__title a {
	color: var(--color-text);
	text-decoration: none;
}

.post-card__title a:hover,
.post-card__title a:focus {
	color: var(--color-accent-blue-dark);
}

.post-card__excerpt {
	color: var(--color-text-soft);
}

.posts-pagination {
	margin-top: 2rem;
}

.posts-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.posts-pagination a,
.posts-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.4rem 0.8rem;
	border: 1px solid var(--color-border);
	text-decoration: none;
	color: var(--color-text);
	background: transparent;
}

.posts-pagination .current {
	background: #efede8;
}

/* Overlay */

.site-overlay {
	position: fixed;
	inset: 0;
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity var(--transition-fast);
	z-index: 90;
}

.site-overlay.is-visible {
	opacity: 1;
}

/* Hamburger */

.nav-toggle {
	--toggle-size: clamp(5.6rem, 4.8rem + 2vw, 6.8rem);
	--toggle-line-width: clamp(3.2rem, 2.7rem + 1.3vw, 4rem);
	--toggle-line-height: clamp(0.3rem, 0.25rem + 0.15vw, 0.4rem);
	--toggle-line-offset: clamp(0.9rem, 0.72rem + 0.45vw, 1.2rem);

	appearance: none;
	border: 0;
	background: transparent;

	width: var(--toggle-size);
	height: var(--toggle-size);

	padding: 0;
	display: inline-grid;
	place-items: center;
	cursor: pointer;

	position: fixed;
	top: 0;
	right: clamp(0.8rem, 0.5rem + 0.75vw, 1.2rem);
	z-index: 9999;

	flex: 0 0 var(--toggle-size);
}

.nav-toggle span {
	position: absolute;
	left: 50%;
	top: 50%;

	width: var(--toggle-line-width);
	height: var(--toggle-line-height);

	background: var(--color-text);
	border-radius: 999px;

	transition:
		transform var(--transition-fast),
		opacity var(--transition-fast),
		background var(--transition-fast);
}

.nav-toggle span:nth-child(1) {
	transform:
		translate(-50%, calc(-1 * var(--toggle-line-offset)));
}

.nav-toggle span:nth-child(2) {
	transform: translate(-50%, 0);
}

.nav-toggle span:nth-child(3) {
	transform:
		translate(-50%, var(--toggle-line-offset));
}

.nav-toggle.is-active span:nth-child(1) {
	transform: translate(-50%, 0) rotate(45deg);
}

.nav-toggle.is-active span:nth-child(2) {
	opacity: 0;
	transform: translate(-50%, 0) scaleX(0);
}

.nav-toggle.is-active span:nth-child(3) {
	transform: translate(-50%, 0) rotate(-45deg);
}

.nav-toggle span {
	background: #111;
}

.nav-toggle {
	overflow: visible;
}

.nav-toggle.is-active {
	position: fixed;
	top: 1.2rem;
	right: 1.2rem;
	z-index: 9999;
}

/* Buttons */
.wp-block-buttons {
	gap: 18px;
}

.wp-block-button__link {
	border-radius: 0;
	letter-spacing: .05em;
	padding: .25em 1em;
	font-size: 20px;
	text-align: left;
}

.wp-block-buttons {
	margin-bottom: 3em;
	margin-top: 3em;
}

/* Responsive */

@media (min-width: 9550px) {
	.site-main-column__inner {
		padding: 72px 48px 56px 96px;
	}

	.site-sidebar__inner {
		padding: 0 5rem 4.8rem 5.4rem;
	}
}

@media (min-width: 951px) and (max-width: 1299px) {
	/*
	 * Mit der Sidebar werden auch deren Innenabstände kleiner.
	 * Bei 1299 px entsprechen sie nahezu den bisherigen Werten,
	 * bei 951 px jeweils etwa 24 px.
	 */
	.site-sidebar__inner {
		max-width: none;
		padding-right: clamp(2.4rem, calc(7.45vw - 4.68rem), 5rem);
		padding-left: clamp(2.4rem, calc(8.57vw - 5.75rem), 5.4rem);
	}

	/* Primary- und Secondary-Navigation reagieren identisch. */
	.primary-nav a,
	.secondary-nav a,
	#menu-menu-1 a,
	#menu-menu-2 a,
	#menu-menu-3 a {
		font-size: clamp(1.6rem, calc(0.51rem + 1.15vw), 2rem);
		padding-right: clamp(1.12rem, calc(-1.28rem + 2.52vw), 2rem);
		padding-left: clamp(1.12rem, calc(-1.28rem + 2.52vw), 2rem);
		letter-spacing: 0.06em;
	}
}

@media (max-width: 950px) {
	body {
		background: var(--color-bg);
	}

	.site-shell {
		grid-template-columns: 1fr;
		margin-top: 0;
		min-height: auto;
		align-content: start;
	}

	.site-shell::before {
		z-index: 9999;
	}

	.site-header-mobile {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 1rem;
		padding: 18px 20px 18px 8%;
		background: white;
		backdrop-filter: blur(8px);
		border-bottom: 1px solid var(--color-border);
		position: sticky;
		top: 0;
		z-index: 1100;
		align-self: start;
	}

	.site-main-column__inner {
		max-width: 100vw;
		padding: 24px 20px 40px;
	}

	.menu-open .site-header-mobile {
		z-index: 0;
	}

	.desktop-branding {
		display: none;
	}

	.site-sidebar {
		position: fixed;
		inset: 0 0 0 auto;
		width: min(84vw, 340px);
		height: 100dvh;
		transform: translateX(100%);
		transition: transform var(--transition);
		z-index: 1000;
		background: var(--color-sidebar);
		box-shadow: var(--shadow-soft);
		overflow-y: auto;
		border-left: 1px solid var(--color-border);
	}

	.site-sidebar__inner {
		max-width: none;
		padding: 88px 24px 32px;
		position: static;
	}

	.site-sidebar.is-open {
		transform: translateX(0);
	}

	body.menu-open {
		overflow: hidden;
	}

	body.menu-open .site-sidebar {
		min-width: 50%;
	}

	body.menu-open .site-bar__inner {
		padding: 20px 24px 32px;
	}

	.hero-title,
	.entry-title {
		max-width: none;
		font-size: clamp(2.7rem, 11vw, 4.2rem);
		font-size: clamp(2.6rem, 7vw, 4.2rem);
		line-height: 1;
		margin-bottom: 24px;
	}

	.site-branding__title,
	.site-branding-mobile__title {
		max-width: 55rem;
	}

	.entry-content,
	.content-entry .entry-content {
		line-height: 1.45;
	}

	.entry-content h3,
	.content-entry .entry-content h3,
	.content-entry .entry-content h4 {
		margin-top: 3rem;
		margin-bottom: .5em;
	}

	.sidebar-contact-widget {
		margin-top: 3rem;
	}

	.sidebar-contact-widget .phone-line {
		font-size: 1rem;
	}
}

.site-header-mobile {
	position: sticky;
	z-index: 1100;
}

.menu-toggle {
	position: relative;
	z-index: 1200;
}



/* Footer-Bereich */
.site-footer,
#colophon {
	position: relative;
	border-top: 10em solid white;
	color: #3f3f3f;
	background: transparent;
	overflow-x: clip;
}



#leisteFooter {
	max-width: 100vw;
	margin: 0 auto;
	padding: 0;
}

#secondary.widget-area,
#secondary.widget-area .footer-widget,
#secondary.widget-area .footer-row {
	margin: 0;
	padding: 0;
	background: transparent;
}

#secondary.widget-area .footer-row {
	display: block;
	padding-top: 2em;
	padding-bottom: 2em;
}

/* Zebra-Zeilen */
#custom_html-2 .footer-row:nth-child(odd),
#block-14 .footer-row:nth-child(odd) {
	background: #edfaeb;
}

#custom_html-2 .footer-row:nth-child(even),
#block-14 .footer-row:nth-child(even) {
	background: white;
}

/* Typografie */
#secondary.widget-area .textwidget > .footer-row p,
#secondary.widget-area .footer-widget > .footer-row p {
	margin: 0;
	font-size: clamp(2rem, 1.7rem + 0.5vw, 2.8rem);
	font-size: 1.6rem;
	line-height: 1.35;
}

#secondary.widget-area .textwidget > .footer-row p + p {
	margin-top: 2.4rem;
}

#secondary.widget-area .textwidget strong,
#secondary.widget-area .textwidget b {
	font-weight: 700;
}

#secondary.widget-area .textwidget a {
	color: inherit;
	text-decoration: none;
}

#secondary.widget-area .textwidget a:hover,
#secondary.widget-area .textwidget a:focus {
	text-decoration: underline;
}

#secondary img.logo {
	max-width: 160px !important;
	margin-bottom: 2.4rem;
}

#secondary.widget-area .textwidget > .footer-row div,
#secondary.widget-area .widget_block > .footer-row div {
	max-width: 130rem;
	margin: auto;
	padding-left: 9.6rem;
}

@media (max-width: 950px) {
	#secondary.widget-area .widget_block > .footer-row div {
		padding-left: 2rem;
	}

	.site-info__inner {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/* site-info separat */
.site-info {
	margin: 0;
	padding: 2rem 0;
	background: #ffffff;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	font-size: var(--fs-small);
}

.site-info__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	width: 100%;
	max-width: 130rem;
	margin: 0 auto;
	padding-left: 9.6rem;
}

.site-info__inner > p {
	margin: 0;
}

.site-info .footer-navigation,
.site-info .footer-nav-widget,
.site-info .menu-footer-container {
	margin: 0;
	padding: 0;
}

.site-info .footer-navigation ul.menu {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-info .footer-navigation ul.menu > li {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--fs-small);
}

.site-info .footer-navigation ul.menu > li::marker {
	content: "";
}

.site-info .footer-navigation li::before {
	content: none;
	display: none;
}

@media (max-width: 767px) {
	#secondary.widget-area .widget_block > .footer-row {
		padding-block: 3.2rem;
		padding-inline: 2rem;
	}

	#secondary.widget-area .widget_block > .footer-row p {
		font-size: clamp(1.8rem, 1.6rem + 0.6vw, 2.4rem);
		line-height: 1.4;
	}

	#secondary.widget-area .widget_block > .footer-row p + p {
		margin-top: 1.6rem;
	}

	#secondary.widget-area .widget_block > .footer-row--logo img {
		max-width: 160px;
		margin-bottom: 1.6rem;
	}
}

/* Sprungmarken-Buttons */
.wp-block-buttons.is-vertical {
	align-items: flex-start;
	overflow: visible;
}

.wp-block-buttons.is-vertical .wp-block-button {
	overflow: visible;
}

.wp-block-buttons.is-vertical .wp-block-button:hover {
	cursor: pointer;
}

/*
.wp-block-buttons.is-vertical .wp-block-button__link {
	font-family: 'Spline Sans Mono';
	font-size: 1.6rem;
	position: relative;
	display: inline-flex;
	align-items: center;

	background-color: var(--color-accent-gold);
	color: #fff;
	color: #000;
	text-decoration: none;

	padding: 0.25em 0.6em;
	line-height: 1.2;

	border: none;
	border-radius: 0;

	overflow: visible;
	text-align: left;
}
	*/

.wp-block-buttons.is-vertical .wp-block-button__link {
	font-family: 'Spline Sans Mono';
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .1em;
	position: relative;
	display: inline-flex;
	align-items: center;

	background-color: white !important;
	color: #fff;
	color: #000;
	color: var(--color-accent-blue-dark);
	color: #79A9EC;
	text-decoration: none;

	padding: 0.25em 0.6em;
	line-height: 1.2;

	border: none;
	border-radius: 0;

	overflow: visible;
	text-align: left;
}

/*
.wp-block-buttons.is-vertical .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;

	width: 36px;
	height: 100%;

	background-color: var(--color-accent-gold);
	clip-path: polygon(0 0, 100% 50%, 0 100%);

	opacity: 0;
	transform: translateX(-8px) scaleX(0.5);
	transform-origin: left center;

	transition:
		opacity 0.18s ease,
		transform 0.18s ease;
}
		*/

.wp-block-buttons.is-vertical .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;

	width: 36px;
	height: 100%;

	background-color: var(--color-accent-blue-dark);
	background-color: #79A9EC;
	clip-path: polygon(0 0, 100% 50%, 0 100%);

	opacity: 0;
	transform: translateX(-8px) scaleX(0.5);
	transform-origin: left center;

	transition:
		opacity 0.18s ease,
		transform 0.18s ease;
}

.wp-block-buttons.is-vertical .wp-block-button__link:hover::after,
.wp-block-buttons.is-vertical .wp-block-button__link:focus-visible::after {
	opacity: 1;
	transform: translateX(-1px) scaleX(1);
}

#site-content .entry-content :where(.wp-block-columns) {
    margin: 2em 0;
}

#site-content .entry-content h3 + .wp-block-columns,
#site-content .entry-content h4 + .wp-block-columns {
	margin-top: 1em;
}

/*
Bilderunterschriften Triggerbilder 
*/

.hh-sensitive-face__image-description {
	margin-top: .5em;
	font-size: var(--fs-small);
}

.primary-nav #menu-menu-1 li a br {
	display: none !important;
}



@media (max-width: 768px) {
	.site-info__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}

	.site-info .footer-navigation ul.menu {
		flex-wrap: wrap;
	}
}

.hh-sensitive-face__hotspot-label {
	display: inline-block;
	padding: .25em .5em;
	background: rgba(255, 255, 255, .9);
	border: 1px solid var(--color-accent-blue-dark);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.hh-sensitive-face__hotspot:hover .hh-sensitive-face__hotspot-label,
.hh-sensitive-face__hotspot:focus-visible .hh-sensitive-face__hotspot-label {
	background: var(--color-accent-blue-dark);
	color: white;
}

.hh-sensitive-face__hotspot {
	z-index: 1;
}

.hh-sensitive-face__hotspot:hover,
.hh-sensitive-face__hotspot:focus,
.hh-sensitive-face__hotspot:focus-visible,
.hh-sensitive-face__hotspot[aria-expanded="true"] {
	z-index: 100;
}

.hh-sensitive-face__hotspot-warning {
	position: absolute;
	z-index: 110;
}

.hh-sensitive-face__hotspot-warning {
	pointer-events: none;
}

/* Language Switcher */
#language-switcher-desktop {
    position: absolute;
    top: 2rem;
    right: 2rem;
    z-index: 10;
}

/* Desktop */
#language-switcher-desktop {
    display: block;
}

/* Mobile */
@media (max-width: 950px) {

    #language-switcher-desktop {
        display: none;
    }

    .site-header-mobile {
        position: relative;
    }

    #language-switcher-mobile {
        position: absolute;
        top: 1.85rem;
        right: 7.5rem;
        margin: 0;
        z-index: 10;
    }
}

:is(#language-switcher-desktop, #language-switcher-mobile) a {
    font-size: var(--fs-28);
    font-weight: bold;
    text-decoration: none;
    color: #4671cd !important;
}

:is(#language-switcher-desktop, #language-switcher-mobile) a:hover {
	color: #2d9668 !important;
	cursor: pointer;
}