/* DJV Layout (gemeinsam für alle Bereiche ohne Elementor): Schrift, Kopf, Sidebar-Menü, Topbar, Footer. Alle Klassen mit Präfix djv-. */

@font-face {
	font-family: "Work Sans";
	/* Variable Work Sans als WOFF2, lateinische Zeichen, Stärken 300 bis 800 (47 KB statt 362 KB TTF). */
	src: url("fonts/work-sans-var-latin.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}

.djv-layout {
	--djv-blau: #013879;
	--djv-orange: #e97023;
	--djv-text: #3c3c3b;
	--djv-kachel: #e6ebf2;
	--djv-topbar: #fff2e9;
	--djv-panel: #e5e5e5;
	--djv-sb: max(16vw, 210px);
	margin: 0;
	padding: 0;
	background: #fff;
	color: var(--djv-text);
	font-family: "Work Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}

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

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

.djv-layout a {
	color: var(--djv-blau);
	text-decoration: none;
}

.djv-layout button {
	font-family: inherit;
}

.djv-layout :focus-visible {
	outline: 3px solid var(--djv-orange);
	outline-offset: 2px;
}

.djv-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.djv-sprung:focus {
	position: fixed !important;
	z-index: 100000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 10px 16px;
	clip: auto;
	background: #fff;
	color: var(--djv-blau);
	font-weight: 700;
}

/* Kopfzeile (nur Tablet/Mobil) */
.djv-kopf {
	display: none;
}

/* Sidebar */
.djv-sidebar {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: var(--djv-sb);
	height: 100vh;
	height: 100dvh;
	padding: 40px 20px 40px;
	overflow-y: auto;
	background: #fff;
}

.admin-bar.djv-layout .djv-sidebar {
	top: 32px;
	height: calc(100vh - 32px);
	height: calc(100dvh - 32px);
}

.djv-schliessen {
	display: none;
}

.djv-sidebar__logo {
	display: block;
	width: 160px;
	max-width: 100%;
}

.djv-sidebar__logo img {
	width: 160px;
}

/* Suche */
.djv-suche {
	position: relative;
	margin: 8px 0 0;
}

.djv-suche__icon {
	position: absolute;
	top: 50%;
	left: 14px;
	display: flex;
	color: #555;
	transform: translateY(-50%);
	pointer-events: none;
}

.djv-suche input.djv-suche__feld[type="search"] {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0 14px 0 40px;
	border: 0;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 0 18px -3px rgba(0, 0, 0, 0.15);
	color: var(--djv-text);
	font-family: inherit;
	font-size: 14px;
	-webkit-appearance: none;
	appearance: none;
}

.djv-suche__feld::placeholder {
	color: #767676;
	opacity: 1;
}

.djv-suche__feld::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

/* Menü-Accordion */
.djv-menue {
	margin-top: 50px;
}

.djv-menue__liste,
.djv-menue__unter {
	margin: 0;
	padding: 0;
	list-style: none;
}

.djv-menue__punkt {
	position: relative;
	padding: 4px 0;
	border-bottom: 1px solid var(--djv-blau);
}

.djv-menue__toggle {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 5px 32px 5px 5px;
	border: 0;
	background: none;
	color: var(--djv-blau);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
	white-space: normal;
	border-radius: 0;
	cursor: pointer;
}

.djv-menue__link {
	display: block;
	padding: 5px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.djv-menue__toggle .djv-pfeil {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	transition: transform 0.15s ease;
}

.djv-menue__toggle[aria-expanded="true"] .djv-pfeil {
	transform: rotate(90deg);
}

.djv-menue__panel {
	padding: 10px;
	background: var(--djv-panel);
}

.djv-menue__panel[hidden] {
	display: none;
}

.djv-menue__unter li {
	padding: 4px 0;
	font-size: 14px;
}

.djv-menue__unter a {
	font-size: 14px;
	font-weight: 600;
}

/* Hauptspalte */
.djv-seite {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin-left: var(--djv-sb);
}

.djv-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
	/* Topbar-Inhalt bündig mit der zentrierten Inhaltsspalte (1100px Innenbreite). */
	padding: 4px max(36px, calc((100% - 1100px) / 2));
	background: var(--djv-topbar);
	color: var(--djv-blau);
	font-size: 12px;
	font-weight: 700;
}

.djv-topbar__rechts {
	display: flex;
	align-items: center;
	gap: 16px;
}

.djv-topbar__suche {
	display: flex;
	padding: 4px;
	border: 0;
	background: none;
	color: var(--djv-blau);
	cursor: pointer;
}

.djv-topbar__login {
	font-size: 12px;
	font-weight: 700;
}

.djv-inhalt {
	width: 100%;
	max-width: 1172px;
	margin: 0 auto;
	padding: 80px 36px 80px;
	flex: 1 0 auto;
}

/* Footer */
.djv-fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 42px;
	padding: 14px 20px;
	background: var(--djv-kachel);
	color: var(--djv-blau);
	font-size: 14px;
	font-weight: 700;
}

.djv-fuss__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 42px;
}

.djv-fuss a {
	color: var(--djv-blau);
	font-weight: 700;
}

/* Tablet 768 bis 1024 */
@media (max-width: 1024px) {

	.djv-seite {
		margin-left: 0;
	}

	.djv-kopf {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 12px 20px;
		background: #fff;
	}

	.djv-kopf__logo img {
		width: 120px;
	}

	.djv-burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		padding: 10px;
		border: 0;
		background: none;
		cursor: pointer;
	}

	.djv-burger__strich {
		display: block;
		width: 100%;
		height: 3px;
		border-radius: 2px;
		background: var(--djv-blau);
	}

	/* Off-Canvas */
	.djv-sidebar {
		z-index: 100000;
		width: 100%;
		padding: 70px 24px 40px;
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform 0.2s ease, visibility 0s linear 0.2s;
	}

	.admin-bar.djv-layout .djv-sidebar {
		top: 0;
		height: 100vh;
		height: 100dvh;
	}

	.djv-sidebar.is-open {
		visibility: visible;
		transform: none;
		transition: transform 0.2s ease;
	}

	.djv-schliessen {
		position: absolute;
		top: 12px;
		right: 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: none;
		color: var(--djv-blau);
		font-size: 36px;
		line-height: 1;
		cursor: pointer;
	}

	.djv-topbar {
		padding: 4px 20px;
	}

	.djv-topbar__rechts {
		display: none;
	}

	.djv-inhalt {
		padding: 40px 20px 60px;
	}

	.djv-layout.djv-menue-offen {
		overflow: hidden;
	}
}

/* Mobil */
@media (max-width: 767px) {

	.djv-fuss {
		flex-direction: column;
		text-align: center;
	}

	.djv-fuss__links {
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.djv-sidebar,
	.djv-menue__toggle .djv-pfeil {
		transition: none;
	}
}

/* Hello-Theme färbt Buttons bei Hover/Fokus pink (#c36) – hier neutralisieren. */
.djv-layout button[type="button"],
.djv-layout button[type="button"]:hover,
.djv-layout button[type="button"]:focus {
	background-color: transparent;
	color: var(--djv-blau);
	text-decoration: none;
}

.djv-layout .djv-menue__toggle:hover .djv-menue__text,
.djv-layout .djv-menue__link:hover,
.djv-layout .djv-menue__unter a:hover {
	text-decoration: underline;
}

/* Brotkrumen (Yoast oder Fallback) und Hilfsklassen für alle Bereiche */
.djv-layout [hidden] {
	display: none !important;
}

.djv-seite {
	min-width: 0;
}

.djv-spalte {
	width: 100%;
	max-width: 1172px;
	margin: 0 auto;
	padding: 0 36px;
}

.djv-layout .djv-krumen {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.djv-layout .djv-krumen a {
	color: var(--djv-blau);
	font-weight: 600;
	text-decoration: none;
}

.djv-layout .djv-krumen .breadcrumb_last {
	font-weight: 700;
}

.djv-topbar__krumen {
	min-width: 0;
}

@media (max-width: 1024px) {
	.djv-spalte {
		padding: 0 20px;
	}
}

/* Like/Dislike-Leiste (Plugin posts-like-dislike): dessen margin-bottom 20px verschiebt die Daumen
   in der mittig ausgerichteten Leiste nach oben. Abstand zurücksetzen und mittig zum Text ausrichten. */
.djv-layout .pld-like-dislike-wrap {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	line-height: 1;
}

.djv-layout .pld-like-dislike-wrap .pld-common-wrap {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
}

.djv-layout .pld-like-dislike-wrap .pld-count-wrap {
	margin: 0;
}

/* "Nach oben"-Button (Ersatz für das Plugin Scroll To Top) */
.djv-layout button.djv-nach-oben {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background-color: var(--djv-orange);
	color: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	cursor: pointer;
}

.djv-layout button.djv-nach-oben:hover,
.djv-layout button.djv-nach-oben:focus {
	background-color: var(--djv-blau);
	color: #fff;
}

.djv-layout button.djv-nach-oben[hidden] {
	display: none;
}

/* Solange der Cookie-Hinweis unten steht, sitzt der Button darüber. */
body.djv-consent-unten button.djv-nach-oben {
	bottom: calc(var(--djv-consent-hoehe, 0px) + 20px);
}

/* Like/Dislike-Daumen als SVG statt Font Awesome (spart CSS + 61 KB Webfont). Icons: Font Awesome Free 6, CC BY 4.0, https://fontawesome.com/license/free */
.djv-layout .pld-like-dislike-wrap i.fas.fa-thumbs-up,
.djv-layout .pld-like-dislike-wrap i.fas.fa-thumbs-down {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	background-color: currentColor;
	-webkit-mask: var(--djv-daumen) center / contain no-repeat;
	mask: var(--djv-daumen) center / contain no-repeat;
	vertical-align: -0.12em;
}

.djv-layout .pld-like-dislike-wrap i.fas.fa-thumbs-up {
	--djv-daumen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z'/%3E%3C/svg%3E");
}

.djv-layout .pld-like-dislike-wrap i.fas.fa-thumbs-down {
	--djv-daumen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-18.5-10.5-34.6-25.9-42.6C497 236.6 504 223.1 504 208c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 384H96c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H32C14.3 96 0 110.3 0 128V352c0 17.7 14.3 32 32 32z'/%3E%3C/svg%3E");
}

.djv-layout .pld-like-dislike-wrap i.fas::before {
	content: none;
}
