/**
 * Design-Auffrischung Lenz Stahlhandel
 *
 * Wird nach allen Theme-Styles geladen (siehe functions.php, Handle "lenz-refresh")
 * und überschreibt nur Optik: Inhalte und Seitenaufbau bleiben unverändert.
 * Zum Deaktivieren genügt es, das Enqueue in functions.php auszukommentieren.
 */

/* ---------- Schriften (lokal, keine Google-Anfragen) ----------
 * Open Sans als variable Schrift (Stärken 300–800) im WOFF2-Format, Lizenz: fonts/open-sans/LICENSE.txt.
 * Die Google-Einbindung des Themes ist in functions.php abgeschaltet (lenz_no_google_fonts). */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../fonts/open-sans/open-sans-latin-wght-normal.woff2) format('woff2-variations'), url(../fonts/open-sans/open-sans-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../fonts/open-sans/open-sans-latin-ext-wght-normal.woff2) format('woff2-variations'), url(../fonts/open-sans/open-sans-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 300 800; font-display: swap; src: url(../fonts/open-sans/open-sans-latin-wght-italic.woff2) format('woff2-variations'), url(../fonts/open-sans/open-sans-latin-wght-italic.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Theme-Optionen setzen für Seitentitel und einige Textblöcke noch Lato/Merriweather (nicht mehr geladen) */
body #cs-page-title-wrapper .title_bar,
body #cs-page-title-wrapper .title_bar .sub_header_text,
body .agency1 p,
body .agency1 .cshero-fancybox-padding .content,
body .agency1 div.cshero-fancybox-content > div,
body .agency1 .list li,
body .light-lists { font-family: var(--lz-font); }

:root {
	--lz-blue: #2473b5;          /* Logofarbe */
	--lz-blue-dark: #1a5a8f;
	--lz-blue-soft: #e8f1f9;
	--lz-navy: #0f1e2e;          /* Footer */
	--lz-navy-2: #0a1622;
	--lz-ink: #1d2733;           /* Überschriften */
	--lz-text: #46525f;          /* Fließtext */
	--lz-muted: #7a8794;
	--lz-line: #e3e8ee;
	--lz-bg-soft: #f4f6f9;
	--lz-radius: 10px;
	--lz-shadow: 0 1px 2px rgba(15, 30, 46, .06), 0 8px 24px rgba(15, 30, 46, .08);
	--lz-shadow-hover: 0 2px 4px rgba(15, 30, 46, .08), 0 16px 40px rgba(15, 30, 46, .14);
	--lz-font: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Grundlagen ---------- */
body,
body.csbody {
	font-family: var(--lz-font);
	color: var(--lz-text);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body p { color: var(--lz-text); }
h1, h2, h3, h4, h5, h6,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 {
	font-family: var(--lz-font);
	color: var(--lz-ink);
	letter-spacing: -.01em;
}
.entry-content h2, .entry-content h3 { font-weight: 700; }
/* lange deutsche Komposita in Überschriften trennen statt abschneiden */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 480px) {
	.entry-content h2:not(.lz-page-title) { font-size: 22px; line-height: 1.3; }
}
a { transition: color .2s ease; }
.entry-content a:not(.btn):not(.btn-system) { color: var(--lz-blue); }
.entry-content a:not(.btn):not(.btn-system):hover { color: var(--lz-blue-dark); }
::selection { background: var(--lz-blue); color: #fff; }

/* Kein seitliches Scrollen auf dem Handy (negative Ränder der Vollbreiten-Zeilen,
   lange URLs in Datenschutz/AGB) */
#wrapper { overflow-x: clip; }
.entry-content p,
.entry-content li,
.entry-content a { overflow-wrap: break-word; } /* nur umbrechen, wenn ein Wort sonst nicht passt */

/* Einblend-Animationen des Themes nicht mehr unsichtbar starten lassen –
   Inhalte waren bis zum Scrollen leer (schlecht für Nutzer und Suchmaschinen). */
[class*="rda_"],
.wpb_animate_when_almost_visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	animation: none !important;
}

/* ---------- Header ---------- */
.header-wrapper #cshero-header {
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 1px 0 var(--lz-line), 0 6px 20px rgba(15, 30, 46, .05);
	border-bottom: 0;
}
#cshero-header .main-logo img { transition: opacity .2s ease; }

/* SVG-Logo (einzeilig, 500x80): feste Höhe statt Spaltenbreite */
#cshero-header .main-logo { display: inline-block; line-height: 0; }
#cshero-header img.normal-logo {
	height: 48px;
	width: auto;
	max-height: none !important;
	max-width: 100%;
}
@media (min-width: 992px) {
	#cshero-header > .container > .row { display: flex; align-items: center; }
	/* Logo darf schrumpfen, wenn es eng wird – das Menü hat Vorrang */
	#cshero-header .logo.col-md-3 { flex: 0 1 auto; min-width: 0; width: auto; float: none; }
	#cshero-header .logo.col-md-3 img.normal-logo { height: auto; max-height: 48px !important; }
	#cshero-header #menu.col-md-9 { flex: 1 1 auto; width: auto; float: none; }
}
/* Menü nie umbrechen lassen; zwischen 992 und 1199px ist der Platz knapp
   (Container 970px), daher dort Logo und Menüabstände kompakter */
@media (min-width: 992px) {
	#cshero-header .main-menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		white-space: nowrap;
	}
	#cshero-header .main-menu > li { float: none; flex: 0 0 auto; }
	/* symmetrische Abstände, damit der Unterstrich mittig unter dem Text sitzt */
	#cshero-header .main-menu > li > a {
		padding-left: 9px !important;
		padding-right: 9px !important;
	}
	#cshero-header .main-menu > li > a:after { left: 9px; right: 9px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	#cshero-header .logo.col-md-3 img.normal-logo { max-height: 40px !important; }
	#cshero-header .main-menu > li > a {
		padding-left: 7px !important;
		padding-right: 7px !important;
		letter-spacing: .03em;
	}
	#cshero-header .main-menu > li > a:after { left: 7px; right: 7px; }
}
@media (max-width: 991px) {
	#cshero-header .logo.col-xs-6 { width: calc(100% - 64px); }
	#cshero-header #menu.col-xs-6 { width: 64px; }
	#cshero-header img.normal-logo { height: auto; max-height: 44px !important; }
}
#cshero-header .main-logo:hover img { opacity: .85; }

@media (min-width: 992px) {
	#cshero-header .main-menu > li > a {
		font-family: var(--lz-font);
		font-weight: 600;
		font-size: 13px;
		letter-spacing: .06em;
		color: var(--lz-ink);
		position: relative;
	}
	/* Trennstriche zwischen den Menüpunkten entfernen */
	#cshero-header .main-menu > li > a:before,
	#cshero-header .main-menu > li:before,
	#cshero-header .main-menu > li:after { display: none !important; }
	#cshero-header .main-menu > li { border: 0 !important; }

	/* Unterstrich als Hover-/Aktiv-Markierung */
	#cshero-header .main-menu > li > a:after {
		content: '';
		position: absolute;
		bottom: 22px;
		width: auto !important;
		height: 2px;
		background: var(--lz-blue);
		transform: scaleX(0);
		transition: transform .25s ease;
	}
	#cshero-header .main-menu > li:hover > a:after,
	#cshero-header .main-menu > li.current-menu-item > a:after,
	#cshero-header .main-menu > li.current-menu-ancestor > a:after {
		transform: scaleX(1);
	}
	#cshero-header .main-menu > li:hover > a,
	#cshero-header .main-menu > li.current-menu-item > a,
	#cshero-header .main-menu > li.current-menu-ancestor > a { color: var(--lz-blue); }

	/* Dropdowns */
	#cshero-header .main-menu .sub-menu {
		border: 0 !important;
		border-top: 3px solid var(--lz-blue) !important;
		border-radius: 0 0 var(--lz-radius) var(--lz-radius);
		box-shadow: var(--lz-shadow-hover);
		padding: 8px 0;
		background: #fff;
		/* Breite nach dem längsten Eintrag statt fester Breite aus den Menüeinstellungen */
		width: max-content !important;
		min-width: 220px;
		max-width: 360px;
		white-space: nowrap;
	}
	/* Theme lässt die Einträge floaten – das addiert ihre Breiten bei max-content */
	#cshero-header .main-menu .sub-menu > li { float: none; width: auto; }
	#cshero-header .main-menu .sub-menu li a {
		font-size: 14px;
		color: var(--lz-text);
		padding: 9px 22px;
		border: 0 !important;
		transition: background .2s ease, color .2s ease, box-shadow .2s ease;
	}
	#cshero-header .main-menu .sub-menu li a:hover,
	#cshero-header .main-menu .sub-menu li.current-menu-item > a {
		background: var(--lz-blue-soft);
		color: var(--lz-blue);
		box-shadow: inset 3px 0 0 var(--lz-blue);
	}
}

/* Handy-Menü: Untermenüpunkte wie die Hauptpunkte in Großbuchstaben */
#cshero-main-menu-mobile .sub-menu a,
#cshero-sticky-menu-mobile .sub-menu a { text-transform: uppercase; }

/* Einheitlicher Abstand zwischen Seiteninhalt und Footer (Unterseiten) */
body:not(.home) #primary { padding-bottom: 64px; }

/* ---------- Seitentitel-Leiste (Unterseiten) ---------- */
#cs-page-title-wrapper.cs-page-title {
	background: linear-gradient(120deg, var(--lz-navy) 0%, #17344f 60%, var(--lz-blue-dark) 100%) !important;
	padding: 44px 0 40px;
	border: 0;
	position: relative;
	overflow: hidden;
}
#cs-page-title-wrapper.cs-page-title:after {
	/* dezentes Streifenraster als Stahl-Anmutung */
	content: '';
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 14px);
	pointer-events: none;
}
#cs-page-title-wrapper .container { position: relative; z-index: 1; }
#cs-page-title-wrapper .page-title {
	color: #fff !important;
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	text-transform: none !important;
}
#cs-page-title-wrapper .title_bar { padding: 0 !important; }
#cs-breadcrumb-wrapper { text-align: right; padding-top: 10px !important; }
#cs-breadcrumb-wrapper .cs-breadcrumbs,
#cs-breadcrumb-wrapper .cs-breadcrumbs a,
#cs-breadcrumb-wrapper .cs-breadcrumbs span {
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7) !important;
}
#cs-breadcrumb-wrapper .cs-breadcrumbs a:hover { color: #fff !important; }
#cs-breadcrumb-wrapper .cs-breadcrumbs .current { color: #fff !important; }
@media (max-width: 767px) {
	#cs-page-title-wrapper.cs-page-title { padding: 30px 0 26px; }
	#cs-page-title-wrapper .page-title { font-size: 26px !important; }
	#cs-breadcrumb-wrapper { text-align: left; padding-top: 6px !important; }
}

/* ---------- Abschnittsüberschriften ---------- */
.block-title { text-align: center; margin-bottom: 10px; }
.block-title br { display: none; }
.block-title .pane-title,
.block-title h2 {
	font-size: 30px !important;
	font-weight: 700 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
	color: var(--lz-ink) !important;
	padding-bottom: 18px !important;
	margin-bottom: 14px !important;
	position: relative;
}
.block-title .pane-title strong { font-weight: 700; max-width: 100%; } /* Theme: inline-block -> sonst kein Umbruch langer Wörter */
.block-title .pane-title:before,
.block-title .pane-title:after,
.block-title .pane-title strong:before,
.block-title .pane-title strong:after { display: none !important; }
.block-title .pane-title {
	background: none !important;
	border: 0 !important;
}
.block-title .pane-title {
	background-image: linear-gradient(var(--lz-blue), var(--lz-blue)) !important;
	background-size: 56px 3px !important;
	background-position: center bottom !important;
	background-repeat: no-repeat !important;
}

/* ---------- Startseite: Kopfbereich [lenz_hero] (inc/lenz-hero.php) ---------- */
.lz-hero {
	--lz-slide-time: 7s;
	/* volle Fensterbreite, auch wenn die Zeile im Inhaltsrahmen sitzt */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 72px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--lz-navy);
	color: #fff;
	min-height: clamp(520px, 72vh, 700px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.lz-hero__media { position: absolute; inset: 0; z-index: -2; }
.lz-hero__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	animation: lz-hero-fade calc(var(--lz-slide-time) * var(--lz-slides)) linear infinite;
	/* Bild i blendet ein, während Bild i-1 ausblendet; Bild 0 ist sofort sichtbar */
	animation-delay: calc(var(--i) * var(--lz-slide-time) - var(--lz-slide-time) * var(--lz-slides) * .04);
}
.lz-hero__slide picture { display: block; width: 100%; height: 100%; }
.lz-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	animation: lz-hero-zoom calc(var(--lz-slide-time) * var(--lz-slides)) linear infinite;
	animation-delay: inherit;
	max-width: none;
}
.lz-hero__slide figcaption {
	position: absolute;
	right: 24px;
	bottom: 132px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .75);
	text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
}
@keyframes lz-hero-fade {
	0% { opacity: 0; }
	4% { opacity: 1; }
	20% { opacity: 1; }
	24% { opacity: 0; }
	100% { opacity: 0; }
}
@keyframes lz-hero-zoom {
	0% { transform: scale(1); }
	24% { transform: scale(1.07); }
	100% { transform: scale(1.07); }
}
/* Verlauf für lesbaren Text, links und unten dunkler */
.lz-hero:before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(10, 22, 34, .88) 0%, rgba(10, 22, 34, .6) 45%, rgba(10, 22, 34, .15) 100%),
		linear-gradient(0deg, rgba(10, 22, 34, .7) 0%, rgba(10, 22, 34, 0) 45%);
}
.lz-hero__inner { padding-top: 90px; padding-bottom: 48px; }
.lz-hero__eyebrow span { white-space: nowrap; }
.lz-hero__eyebrow span + span:before { content: '\00b7'; margin: 0 .5em 0 .15em; }
.lz-hero__eyebrow {
	color: #9ccbf0 !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.lz-hero .lz-hero__title {
	color: #fff !important;
	font-size: clamp(34px, 4.6vw, 60px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.02em;
	max-width: 15em;
	margin: 0 0 20px;
	text-wrap: balance;
}
.lz-hero__title span { display: block; color: #9ccbf0; font-weight: 700; }
.lz-hero .lz-hero__lead {
	color: rgba(255, 255, 255, .88) !important;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.6;
	max-width: 36em;
	margin: 0 0 30px;
}
.lz-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lz-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.lz-btn:hover { transform: translateY(-1px); }
.lz-btn:focus-visible { outline: 3px solid #9ccbf0; outline-offset: 3px; }
.lz-btn--primary { background: var(--lz-blue); color: #fff !important; box-shadow: 0 8px 22px rgba(36, 115, 181, .45); }
.lz-btn--primary:after { content: '\2192'; }
.lz-btn--primary:hover { background: #2c84cc; }
.lz-btn--ghost { border: 2px solid rgba(255, 255, 255, .7); color: #fff !important; padding: 12px 26px; }
.lz-btn--ghost:hover { background: #fff; color: var(--lz-navy) !important; border-color: #fff; }

.lz-hero__facts {
	background: rgba(10, 22, 34, .72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.lz-hero__facts ul {
	list-style: none;
	margin: 0 auto;
	padding-top: 22px;
	padding-bottom: 22px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.lz-hero__facts li { margin: 0; padding: 0 0 0 16px; border-left: 3px solid var(--lz-blue); }
.lz-hero__facts li:before { display: none !important; }
.lz-hero__facts strong {
	display: block;
	color: #fff;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 800;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}
.lz-hero__facts span { display: block; color: rgba(255, 255, 255, .72); font-size: 14px; line-height: 1.4; }
.lz-hero__facts .container:before,
.lz-hero__facts .container:after { display: none; }

/* Zeile um den Kopfbereich ohne Abstände (stammt vom alten Slider) */
.home .vc_row:has(.lz-hero),
.home .wpb_row:has(.lz-hero) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.home .wpb_row:has(.lz-hero) .wpb_wrapper > p:empty { display: none; }

@media (max-width: 767px) {
	.lz-hero { min-height: 0; margin-bottom: 48px; }
	.lz-hero__eyebrow span { display: block; }
	.lz-hero__eyebrow span + span:before { display: none; }
	.lz-hero__inner { padding-top: 64px; padding-bottom: 32px; }
	.lz-hero:before {
		background: linear-gradient(0deg, rgba(10, 22, 34, .92) 0%, rgba(10, 22, 34, .7) 55%, rgba(10, 22, 34, .45) 100%);
	}
	.lz-hero__actions .lz-btn { flex: 1 1 100%; justify-content: center; }
	.lz-hero__facts ul { grid-template-columns: repeat(2, 1fr); gap: 18px 12px; padding-top: 20px; padding-bottom: 20px; }
	.lz-hero__facts li { padding-left: 12px; }
	.lz-hero__slide figcaption { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.lz-hero__slide, .lz-hero__slide img { animation: none !important; }
	.lz-hero__slide:first-child { opacity: 1; }
}

/* ---------- Startseite: Einleitung ---------- */
.home .text-size-large {
	font-size: 28px !important;
	line-height: 1.35 !important;
	color: var(--lz-ink) !important;
	max-width: 820px;
	margin: 0 auto 18px !important;
}
.home .text-size-large b { font-weight: 700; }
.home .pane-content h3:empty { display: none; }
.home .pane-content .padding-lr-20p {
	font-size: 18px;
	line-height: 1.7;
	color: var(--lz-text);
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px !important;
	padding-right: 15px !important;
}

/* ---------- Buttons ---------- */
.btn-system,
.entry-content .btn-system.btn-gray,
.wpcf7 .wpcf7-submit,
#footer-top .wpcf7-submit {
	display: inline-block;
	background: var(--lz-blue) !important;
	border: 0 !important;
	color: #fff !important;
	font-family: var(--lz-font);
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	padding: 14px 30px !important;
	height: auto !important;
	border-radius: 999px !important;
	box-shadow: 0 6px 16px rgba(36, 115, 181, .28);
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
	cursor: pointer;
}
.btn-system:hover,
.wpcf7 .wpcf7-submit:hover {
	background: var(--lz-blue-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(36, 115, 181, .34);
}
.btn-system:after { content: ' \2192'; }
.btn-system:focus-visible,
.wpcf7 .wpcf7-submit:focus-visible { outline: 3px solid rgba(36, 115, 181, .4); outline-offset: 3px; }
/* Theme macht den Absende-Button beim Überfahren halbtransparent (im Footer grau) */
.csbody .wpcf7 form input.wpcf7-submit:hover,
.csbody .wpcf7 form input.wpcf7-submit:focus { background: var(--lz-blue-dark) !important; color: #fff !important; opacity: 1 !important; }

/* ---------- Leistungs-Kacheln (Fancybox) ---------- */
.mdeal-validate1 { background: var(--lz-bg-soft) !important; }
.cshero-fancybox-wrap.fancybox-layout1 {
	background: #fff;
	border: 1px solid var(--lz-line) !important;
	border-radius: 14px;
	box-shadow: var(--lz-shadow);
	padding: 40px 28px 30px;
	margin: 10px 4px 24px;
	height: calc(100% - 34px);
	transition: transform .3s ease, box-shadow .3s ease;
	position: relative;
	overflow: hidden;
}
.cshero-fancybox-wrap.fancybox-layout1:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: var(--lz-blue);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
}
.cshero-fancybox-wrap.fancybox-layout1:hover {
	transform: translateY(-6px);
	box-shadow: var(--lz-shadow-hover);
}
.cshero-fancybox-wrap.fancybox-layout1:hover:before { transform: scaleX(1); }
.cshero-fancybox-wrap .fancy-icon {
	width: 84px !important;
	height: 84px !important;
	line-height: 84px !important;
	font-size: 34px !important;
	color: var(--lz-blue) !important;
	background: var(--lz-blue-soft) !important;
	border: 0 !important;
	border-radius: 22px !important;
	transition: background .3s ease, color .3s ease, transform .3s ease;
}
.cshero-fancybox-wrap .fancy-icon:after { display: none !important; }
/* #wpb-content-root + doppelte Klasse: schlägt die pro Kachel im Inhalt
   hinterlegten Hover-Farben (#cshero-fancybox…:hover .fancy-icon) */
.cshero-fancybox-wrap:hover .fancy-icon,
#wpb-content-root .cshero-fancybox-wrap.fancybox-layout1:hover .fancy-icon {
	background: var(--lz-blue) !important;
	border-color: var(--lz-blue) !important;
	color: #fff !important;
	transform: rotate(-6deg);
}
.cshero-fancybox-wrap .cshero-fancybox-title-wrap {
	margin: 22px 0 12px !important;
	color: var(--lz-ink) !important;
}
.cshero-fancybox-wrap .cshero-title-main {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .08em;
}
.cshero-fancybox-wrap .cshero-fancybox-content p {
	font-size: 15px;
	line-height: 1.65;
	color: var(--lz-text);
	margin: 0;
}
.cshero-fancybox-wrap .cshero-fancybox-content p:empty { display: none; }
.cshero-fancybox-wrap .cshero-fancybox-content p.lz-card-link { margin-top: 14px; }
.lz-card-link a {
	font-size: 14px;
	font-weight: 700;
	color: var(--lz-blue) !important;
	text-decoration: none !important;
}
.lz-card-link a:after { content: '\2192'; display: inline-block; margin-left: .35em; transition: transform .2s ease; }
.lz-card-link a:hover:after { transform: translateX(3px); }
/* ganze Kachel klickbar über den Link */
.cshero-fancybox-wrap:has(.lz-card-link) { cursor: pointer; }
.lz-card-link a:before { content: ''; position: absolute; inset: 0; z-index: 1; }
@media (min-width: 768px) {
	/* Kacheln einer Reihe gleich hoch */
	.mdeal-validate1 .wpb_raw_code .row { display: flex; flex-wrap: wrap; }
	.mdeal-validate1 .wpb_raw_code .row > .vc_col-sm-4 { display: flex; }
	.mdeal-validate1 .wpb_raw_code .row > .vc_col-sm-4 > .wpb_wrapper { width: 100%; }
}

/* ---------- Referenzen / Bildraster ---------- */
.vc_grid-item .vc_gitem-zone,
.vc_grid-item-mini { border-radius: 8px; overflow: hidden; }
.vc_grid-item .vc_gitem-zone-img,
.vc_grid-item img { transition: transform .6s ease; }
.vc_grid-item:hover .vc_gitem-zone-img,
.vc_grid-item:hover img { transform: scale(1.05); }
.wpb_single_image .vc_single_image-wrapper,
.wpb_single_image img {
	border-radius: var(--lz-radius) !important;
}
.wpb_single_image .vc_single_image-wrapper { box-shadow: var(--lz-shadow); overflow: hidden; }

/* ---------- Sprungmenü links (Walzstahl, Widget per [do_widget]) ---------- */
.amr_widget .textwidget > div { margin-top: 0 !important; }
.amr_widget ul {
	list-style: none;
	margin: 0;
	padding: 8px 0;
	background: #fff;
	border: 1px solid var(--lz-line);
	border-radius: 12px;
	box-shadow: var(--lz-shadow);
}
.amr_widget ul:before {
	content: 'Sortiment';
	display: block;
	padding: 10px 20px 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lz-muted);
}
.amr_widget li { margin: 0; padding: 0; }
.amr_widget li:before { display: none !important; }
.entry-content .amr_widget li a {
	display: block;
	padding: 9px 20px 9px 17px;
	border-left: 3px solid transparent;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--lz-ink);
	text-decoration: none;
	overflow-wrap: normal;
	hyphens: manual;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.entry-content .amr_widget li a:hover,
.entry-content .amr_widget li a:focus-visible {
	background: var(--lz-blue-soft);
	color: var(--lz-blue);
	outline: 0;
}
.entry-content .amr_widget li a.is-active {
	border-left-color: var(--lz-blue);
	background: var(--lz-blue-soft);
	color: var(--lz-blue);
}
@media (min-width: 992px) {
	/* Spalte breiter (ca. 1/4 statt 1/6) und beim Scrollen mitlaufen lassen (ersetzt das Plugin Fixed Widget) */
	.wpb_row .row:has(> .vc_col-sm-2 .amr_widget) {
		display: flex;
		align-items: stretch;
	}
	.wpb_row .row:has(> .vc_col-sm-2 .amr_widget) > .vc_col-sm-2 {
		width: 24%;
		float: none;
		text-align: left !important;
	}
	.wpb_row .row:has(> .vc_col-sm-2 .amr_widget) > .vc_col-sm-10 {
		width: 76%;
		float: none;
		padding-left: 30px;
	}
	.wpb_row .row > .vc_col-sm-2 > .wpb_wrapper:has(.amr_widget) {
		position: sticky;
		top: 100px; /* unter dem beim Scrollen fixierten Header (80px) */
	}
	.admin-bar .wpb_row .row > .vc_col-sm-2 > .wpb_wrapper:has(.amr_widget) { top: 132px; }
}
/* Sprungziele unterhalb des fixierten Headers landen lassen */
.entry-content a.anchor[name] { display: block; position: relative; top: -100px; visibility: hidden; }
/* auf Handy/Tablet läuft der Header nicht mit: kleiner Abstand reicht */
@media (max-width: 991px) { .entry-content a.anchor[name] { top: -16px; } }

/* ---------- Bausteine für Inhaltsseiten (z. B. Betonstahl-Biegebetrieb) ----------
   .lz-lead, .lz-checklist, .lz-factcard, .lz-cta – im WPBakery-Textblock als HTML nutzbar */
.entry-content .lz-lead {
	font-size: 19px;
	line-height: 1.65;
	color: var(--lz-ink);
	margin-bottom: 28px;
}
.entry-content h2.lz-page-title {
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.2;
	margin: 6px 0 16px;
	text-wrap: balance;
}
.entry-content h3.lz-sub {
	font-size: 21px;
	margin: 34px 0 14px;
}
.entry-content ul.lz-checklist { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.entry-content ul.lz-checklist li {
	position: relative;
	padding-left: 34px;
	line-height: 1.55;
	color: var(--lz-text);
}
.entry-content ul.lz-checklist li:before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--lz-blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%232473b5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.lz-factcard {
	margin-top: 24px;
	background: var(--lz-navy);
	color: #fff;
	border-radius: 14px;
	padding: 8px 26px;
	box-shadow: var(--lz-shadow);
}
.lz-factcard dl { margin: 0; }
.lz-factcard div { padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.lz-factcard div:last-child { border-bottom: 0; }
.lz-factcard dt {
	text-transform: none !important; /* Einheiten (t, mm) nicht in Großbuchstaben */
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}
.lz-factcard dd { margin: 2px 0 0; color: rgba(255, 255, 255, .72); font-size: 14px; }
.entry-content .lz-cta {
	margin: 20px 0 10px;
	padding: 34px 36px;
	border-radius: 14px;
	background: linear-gradient(120deg, var(--lz-blue-soft), #f4f8fc);
	border: 1px solid #d6e5f3;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
}
.entry-content .lz-cta h3 { margin: 0 0 6px; font-size: 22px; }
.entry-content .lz-cta p { margin: 0; max-width: 46em; }
.entry-content .lz-cta .lz-cta__text { flex: 1 1 380px; min-width: 0; }
.entry-content .lz-cta .lz-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.entry-content .lz-cta .lz-btn--ghost { border-color: var(--lz-blue); color: var(--lz-blue) !important; }
.entry-content .lz-cta .lz-btn--ghost:hover { background: var(--lz-blue); color: #fff !important; }
.entry-content .lz-more { font-weight: 700; }
.entry-content .lz-more:after { content: '\2192'; margin-left: .35em; }
.entry-content .lz-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0; list-style: none; }
.entry-content .lz-chips li { margin: 0; padding: 0; }
.entry-content .lz-chips li:before { display: none; }
.entry-content .lz-chips a {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	border: 1px solid #cfe0f0;
	background: #fff;
	color: var(--lz-blue);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.entry-content .lz-chips a:hover { background: var(--lz-blue); border-color: var(--lz-blue); color: #fff; }
.entry-content .lz-chips a:after { content: '\2193'; margin-left: .4em; }
.entry-content .lz-table-wrap { overflow-x: auto; margin: 18px 0 6px; }
.entry-content table.lz-spec { width: 100%; margin: 0; }
.entry-content table.lz-spec tbody td:first-child { font-weight: 600; color: var(--lz-ink); }
.entry-content table.lz-spec td:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.entry-content table.lz-spec td:empty:after { content: '\2013'; color: var(--lz-muted); }
@media (max-width: 767px) {
	/* Maschinentabelle gestapelt: Maschine, darunter "Material · Arbeitsbereich" */
	.entry-content .lz-table-wrap table.lz-spec,
	.entry-content .lz-table-wrap table.lz-spec tbody,
	.entry-content .lz-table-wrap table.lz-spec tr { display: block; width: 100%; }
	.entry-content .lz-table-wrap table.lz-spec thead { display: none; }
	.entry-content .lz-table-wrap table.lz-spec tr { padding: 12px 16px; border-top: 1px solid var(--lz-line); }
	.entry-content .lz-table-wrap table.lz-spec tr:first-child { border-top: 0; }
	.entry-content .lz-table-wrap table.lz-spec > tbody > tr > td {
		display: inline;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		white-space: normal !important;
		font-size: 14px;
	}
	.entry-content .lz-table-wrap table.lz-spec > tbody > tr > td:first-child { display: block; font-size: 15px; margin-bottom: 2px; }
	.entry-content .lz-table-wrap table.lz-spec > tbody > tr > td:last-child:not(:empty):before { content: '\00b7'; margin: 0 .45em; }
	.entry-content .lz-table-wrap table.lz-spec td:empty { display: none !important; }
	.entry-content .lz-table-wrap table.lz-spec tbody tr:nth-child(even) { background: var(--lz-bg-soft); }
}
.entry-content .lz-note {
	margin: 22px 0 6px;
	padding: 18px 22px;
	border-radius: 12px;
	background: var(--lz-blue-soft);
	border-left: 4px solid var(--lz-blue);
}
.entry-content .lz-note strong { display: block; color: var(--lz-ink); font-size: 16px; margin-bottom: 4px; }
.entry-content .lz-note p { margin: 0; }
/* Bild neben Textblock oben bündig ausrichten */
.entry-content .lz-media-top .wpb_single_image { margin-top: 8px; }
@media (max-width: 767px) {
	.entry-content .lz-lead { font-size: 17px; }
	.entry-content .lz-cta { padding: 26px 22px; }
	.entry-content .lz-cta .lz-btn { flex: 1 1 100%; justify-content: center; }
	.entry-content table.lz-spec { font-size: 14px; }
	.entry-content table.lz-spec td { padding: 9px 10px !important; }
	.entry-content table.lz-spec td:last-child { white-space: normal; }
}

/* ---------- Video erst nach Klick (z. B. Rollmatten auf Baustahl) ---------- */
.lz-video {
	position: relative;
	aspect-ratio: 16 / 9;
	max-width: 100%;
	border-radius: 14px;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 42%, rgba(36, 115, 181, .35), transparent 60%),
		linear-gradient(135deg, #17344f, var(--lz-navy));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: var(--lz-shadow);
}
.lz-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lz-video__consent { padding: 24px; max-width: 460px; }
.lz-video__consent:before {
	content: '';
	display: block;
	width: 64px;
	height: 64px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--lz-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 7.5v9l7.5-4.5z'/%3E%3C/svg%3E") center / 30px no-repeat;
	box-shadow: 0 10px 26px rgba(36, 115, 181, .5);
}
.entry-content .lz-video p { color: rgba(255, 255, 255, .8); margin: 0 0 4px; }
.entry-content .lz-video .lz-video__title { color: #fff; font-size: 18px; font-weight: 700; }
.entry-content .lz-video .lz-video__hint { font-size: 13px; color: rgba(255, 255, 255, .6); margin: 10px 0 16px; }
.entry-content .lz-video .lz-video__hint a { color: #9ccbf0 !important; }
.lz-video .lz-map__actions { justify-content: center; }
.lz-video button.lz-btn.lz-btn--primary {
	background: var(--lz-blue) !important; color: #fff !important; border: 0; cursor: pointer;
	text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; font-weight: 700 !important;
	line-height: 1.2 !important; padding: 12px 24px !important; border-radius: 999px !important; height: auto !important; font-family: var(--lz-font);
}
.lz-video .lz-map__actions { align-items: center; }
.lz-video .lz-btn { white-space: nowrap; }
.lz-video .lz-btn--ghost { padding: 10px 22px; font-size: 14px; line-height: 1.2; }
@media (max-width: 480px) {
	.lz-video { aspect-ratio: auto; min-height: 300px; }
}

/* ---------- Rollmatten-Rechner [lenz_rollmatten_rechner] ---------- */
.lz-calc {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 0;
	margin: 8px 0;
	background: #fff;
	border: 1px solid var(--lz-line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--lz-shadow);
}
.lz-calc__inputs { padding: 28px 30px; }
.lz-calc__result { padding: 28px 30px; background: var(--lz-bg-soft); border-left: 1px solid var(--lz-line); }
.entry-content .lz-calc h3 { font-size: 18px; margin: 0 0 14px; }
.lz-calc__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lz-calc__field { display: block; margin: 0 0 12px; }
.lz-calc__field > span:first-child { display: block; font-size: 13px; font-weight: 600; color: var(--lz-ink); margin-bottom: 5px; }
.lz-calc__input { position: relative; display: block; }
.lz-calc__input input {
	width: 100%;
	height: auto !important;
	padding: 10px 46px 10px 12px !important;
	border: 1px solid #cfd7e0 !important;
	border-radius: 8px !important;
	font-family: var(--lz-font);
	font-size: 16px !important;
	color: var(--lz-ink) !important;
	background: #fff !important;
	box-shadow: none !important;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
}
.lz-calc__input input::-webkit-outer-spin-button,
.lz-calc__input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lz-calc__input input:focus { outline: 0; border-color: var(--lz-blue) !important; box-shadow: 0 0 0 4px rgba(36, 115, 181, .15) !important; }
.lz-calc__input em {
	position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	font-style: normal; font-size: 13px; color: var(--lz-muted); pointer-events: none;
}
.entry-content .lz-calc__area { margin: 2px 0 18px; font-size: 14px; color: var(--lz-muted); }
.entry-content .lz-calc__area strong { color: var(--lz-ink); }
.lz-calc__choice { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.lz-calc__choice legend { font-size: 13px; font-weight: 600; color: var(--lz-ink); margin: 0 0 6px; padding: 0; border: 0; width: auto; }
.lz-calc__choice label {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 12px; margin: 0 0 6px;
	border: 1px solid var(--lz-line); border-radius: 8px;
	font-size: 14px; font-weight: 400; color: var(--lz-text); cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.lz-calc__choice label:has(input:checked) { border-color: var(--lz-blue); background: var(--lz-blue-soft); color: var(--lz-ink); font-weight: 600; }
.lz-calc__choice input { accent-color: var(--lz-blue); margin: 0; }
.lz-calc__choice--inline { display: flex; flex-wrap: wrap; gap: 6px; }
.lz-calc__choice--inline legend { flex-basis: 100%; }
.lz-calc__choice--inline label { flex: 1 1 140px; margin: 0; }
.lz-calc__prices { margin-top: 4px; border-top: 1px solid var(--lz-line); padding-top: 12px; }
.lz-calc__prices summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--lz-blue); list-style-position: inside; }
.lz-calc__prices summary small { font-weight: 400; color: var(--lz-muted); }
.lz-calc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; margin-top: 14px; }
.lz-calc__reset {
	background: none !important; border: 0 !important; padding: 0 !important; height: auto !important;
	color: var(--lz-muted) !important; font-size: 13px !important; text-decoration: underline; cursor: pointer;
	text-transform: none !important; letter-spacing: 0 !important; font-family: var(--lz-font); box-shadow: none !important;
}
.lz-calc__saving {
	background: var(--lz-navy); color: #fff; border-radius: 12px; padding: 18px 22px; margin-bottom: 18px;
}
.lz-calc__saving span { display: block; font-size: 13px; color: rgba(255, 255, 255, .7); }
.lz-calc__saving strong { display: block; font-size: clamp(30px, 3.4vw, 40px); font-weight: 800; line-height: 1.15; color: #fff; font-variant-numeric: tabular-nums; }
.lz-calc__saving em { display: block; font-style: normal; font-size: 14px; color: #9ccbf0; }
.lz-calc__saving.is-negative strong { color: #f3c27a; }
.entry-content .lz-calc__hint {
	margin: -6px 0 16px; padding: 10px 14px; border-radius: 8px;
	background: #fff6e0; border-left: 4px solid #d99a00; color: #7a5600; font-size: 14px; font-weight: 600;
}
.entry-content .lz-calc__hint[hidden] { display: none; }
.entry-content .lz-calc__hint a { color: #7a5600 !important; text-decoration: underline; }
.lz-calc__bars { display: grid; gap: 8px; margin-bottom: 16px; }
.lz-calc__bars div { display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 10px; font-size: 13px; color: var(--lz-text); }
.lz-calc__bars i { display: block; height: 12px; border-radius: 6px; background: #c9d3dd; width: var(--w); transition: width .35s ease; }
.lz-calc__bars div + div i { background: var(--lz-blue); }
.lz-calc__bars b { font-variant-numeric: tabular-nums; color: var(--lz-ink); }
.entry-content table.lz-calc__table { font-size: 14px; margin: 0; }
.entry-content table.lz-calc__table > tbody > tr.lz-calc__sum > td { font-weight: 700; color: var(--lz-ink); border-top: 2px solid var(--lz-line) !important; }
.entry-content .lz-calc__note { font-size: 12px; line-height: 1.55; color: var(--lz-muted); margin: 14px 0 0; }
@media (max-width: 860px) {
	.lz-calc { grid-template-columns: minmax(0, 1fr); }
	.lz-calc__result { border-left: 0; border-top: 1px solid var(--lz-line); }
	.lz-calc__inputs, .lz-calc__result { padding: 22px 18px; }
}
@media (max-width: 420px) {
	.lz-calc__inputs, .lz-calc__result { padding: 18px 14px; }
	.lz-calc__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
	.lz-calc__grid { grid-template-columns: minmax(0, 1fr); }
	.lz-calc__input input { padding-right: 34px !important; min-width: 0; }
	.lz-calc__choice label { font-size: 13px; padding: 8px 10px; }
	.lz-calc__bars div { grid-template-columns: 74px minmax(0, 1fr) auto; gap: 8px; font-size: 12px; }
	.lz-calc__saving { padding: 16px; }
	.entry-content table.lz-calc__table { font-size: 13px; }
	.entry-content table.lz-calc__table > thead > tr > td,
	.entry-content table.lz-calc__table > tbody > tr > td { padding: 8px 6px !important; }
	.entry-content table.lz-calc__table .lz-num { white-space: normal; }
}
/* alle Teile des Rechners dürfen schrumpfen */
.lz-calc__inputs, .lz-calc__result, .lz-calc__field, .lz-calc__input { min-width: 0; }
@media (prefers-reduced-motion: reduce) { .lz-calc__bars i { transition: none; } }

/* ---------- Produktkarten (z. B. Bauzubehör) ---------- */
.lz-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; margin: 10px 0 8px; }
.lz-card {
	background: #fff;
	border: 1px solid var(--lz-line);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 30, 46, .04);
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s ease, transform .25s ease;
}
.lz-card:hover { box-shadow: var(--lz-shadow-hover); transform: translateY(-3px); }
.lz-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; margin: 0 !important; border-radius: 0 !important; }
.lz-card__body { padding: 18px 20px 22px; }
.entry-content .lz-card h3 { font-size: 18px; margin: 0 0 6px; }
.entry-content .lz-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lz-text); }

/* Sortimentskarten (Lagerprogramm-Übersicht): Karte mit Linkliste und Button */
.lz-cards--range { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 26px; }
.lz-cards--range .lz-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 22px 24px 26px; }
.entry-content .lz-cards--range .lz-card h3 { font-size: 22px; margin-bottom: 8px; }
.entry-content .lz-cards--range .lz-card h3 a { color: var(--lz-ink) !important; text-decoration: none; }
.entry-content .lz-cards--range .lz-card h3 a:hover { color: var(--lz-blue) !important; }
.entry-content ul.lz-card__links { list-style: none; margin: 14px 0 20px; padding: 0; border-top: 1px solid var(--lz-line); }
.entry-content ul.lz-card__links li { margin: 0; padding: 0; border-bottom: 1px solid var(--lz-line); }
.entry-content ul.lz-card__links li:before { display: none; }
.entry-content ul.lz-card__links a {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 9px 2px; font-size: 15px; color: var(--lz-text) !important; text-decoration: none;
	transition: color .2s ease, padding .2s ease;
}
.entry-content ul.lz-card__links a:after { content: '\2192'; color: var(--lz-blue); opacity: .55; transition: opacity .2s ease, transform .2s ease; }
.entry-content ul.lz-card__links a:hover { color: var(--lz-blue) !important; }
.entry-content ul.lz-card__links a:hover:after { opacity: 1; transform: translateX(3px); }
.lz-cards--range .lz-card__body .lz-btn { margin-top: auto; align-self: flex-start; }
/* WordPress setzt Zeilenumbrüche/Absätze in Raster und Karten: ausblenden bzw. Button-Absatz nach unten */
.lz-cards > br, .lz-cards > p:empty, .lz-links-row > br, .lz-links-row > p:empty { display: none; }
.lz-cards--range .lz-card__body > p:last-child { margin: auto 0 0; }
.lz-card__media { display: block; overflow: hidden; }
/* nur zwei Karten (z. B. Leistungen): flachere Fotos */
.lz-cards--range:has(> .lz-card:nth-child(2):last-child) .lz-card img { aspect-ratio: 16 / 9; }
.lz-card__media img { transition: transform .5s ease; }
.lz-card:hover .lz-card__media img { transform: scale(1.04); }
/* kleine Verweis-Karten (z. B. Leistungen) */
.lz-links-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 6px 0; }
.entry-content a.lz-link-card {
	display: block; padding: 20px 22px; border: 1px solid var(--lz-line); border-radius: 12px; background: #fff;
	text-decoration: none; color: var(--lz-text) !important; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.entry-content a.lz-link-card:hover { border-color: #b9d3ea; box-shadow: var(--lz-shadow); transform: translateY(-2px); }
.entry-content a.lz-link-card strong { display: block; font-size: 17px; color: var(--lz-ink); margin-bottom: 4px; }
.entry-content a.lz-link-card strong:after { content: ' \2192'; color: var(--lz-blue); }
.entry-content a.lz-link-card span { font-size: 14px; line-height: 1.5; }

/* Zahlen in Tabellen rechtsbündig mit gleichen Ziffernbreiten */
.entry-content table .lz-num { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- Karriere ---------- */
.entry-content .lz-job h4 {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lz-blue);
	margin: 22px 0 10px;
}
.entry-content .lz-job h4:first-child { margin-top: 0; }
.entry-content .lz-job dl.lz-job-facts { padding: 16px 20px; margin-bottom: 18px; grid-template-columns: max-content 1fr !important; gap: 8px 20px !important; }
.entry-content .lz-job dl.lz-job-facts dd { margin-bottom: 0 !important; }
.entry-content .lz-job p { margin: 0 0 10px; }
@media (min-width: 992px) {
	.lz-apply-col > .wpb_wrapper { position: sticky; top: 100px; }
	.lz-apply-col { padding-left: 20px !important; }
}
.entry-content .lz-apply-col .lz-contact-card h2 { font-size: 20px; line-height: 1.3; }
.entry-content .lz-apply-col ul.lz-contact-list li.lz-big a { font-size: 16px; overflow-wrap: anywhere; }
.entry-content .lz-apply-col .lz-apply-btn { margin: 22px 0 0; }
.entry-content .lz-apply-col .lz-apply-btn .lz-btn { width: 100%; justify-content: center; color: #fff !important; }
@media (max-width: 991px) {
	.lz-apply-col { margin-top: 32px; }
}


/* ---------- Kontaktseite ---------- */
.lz-contact-card {
	background: var(--lz-navy);
	color: rgba(255, 255, 255, .8);
	border-radius: 14px;
	padding: 32px 30px;
	box-shadow: var(--lz-shadow);
}
.entry-content .lz-contact-card h2,
.entry-content .lz-contact-card h3 { color: #fff; }
.entry-content .lz-contact-card h2 { font-size: 22px; margin: 0 0 6px; }
.entry-content .lz-contact-card h3 {
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #9ccbf0;
	margin: 26px 0 10px;
}
.entry-content .lz-contact-card p { color: rgba(255, 255, 255, .8); }
.entry-content .lz-contact-card a { color: #fff !important; text-decoration: none; }
.entry-content .lz-contact-card a:hover { color: #9ccbf0 !important; }
.entry-content ul.lz-contact-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.entry-content ul.lz-contact-list li { margin: 0; padding: 0; display: grid; grid-template-columns: 64px 1fr; align-items: baseline; color: #fff; }
.entry-content ul.lz-contact-list li:before { display: none; }
.entry-content ul.lz-contact-list span { font-size: 13px; color: rgba(255, 255, 255, .55); }
.entry-content ul.lz-contact-list li.lz-big a { font-size: 19px; font-weight: 700; }
.entry-content table.lz-hours { width: 100%; border-collapse: collapse; margin: 0; background: none; border: 0; box-shadow: none; }
.entry-content table.lz-hours th,
.entry-content table.lz-hours td {
	padding: 8px 10px;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: none;
	color: rgba(255, 255, 255, .85);
	font-weight: 400;
	text-align: left;
	font-variant-numeric: tabular-nums;
}
.entry-content table.lz-hours tr:first-child th,
.entry-content table.lz-hours tr:first-child td { border-top: 0; }
.entry-content table.lz-hours td { text-align: right; white-space: nowrap; }
.entry-content table.lz-hours tr.is-today th,
.entry-content table.lz-hours tr.is-today td { color: #fff; font-weight: 700; background: rgba(36, 115, 181, .35); }
.entry-content table.lz-hours tr.is-today th:after { content: 'heute'; margin-left: .6em; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #9ccbf0; }
.entry-content .lz-contact-card .lz-muted { margin: 22px 0 0; font-size: 13px; color: rgba(255, 255, 255, .55); }
.lz-contact-form-head h2 { margin-top: 0; }
@media (min-width: 768px) {
	.lz-contact-form-col { padding-left: 24px !important; }
}

.lz-map {
	position: relative;
	min-height: 380px;
	border-radius: 14px;
	overflow: hidden;
	background:
		repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 48px),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 48px),
		linear-gradient(135deg, #17344f, var(--lz-navy));
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
}
.lz-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lz-map__consent { position: relative; max-width: 520px; padding: 40px 24px; }
.lz-map__consent:before {
	content: '';
	display: block;
	width: 44px;
	height: 44px;
	margin: 0 auto 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232473b5' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7z'/%3E%3Ccircle cx='12' cy='9' r='2.6' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
}
.entry-content .lz-map p { color: rgba(255, 255, 255, .8); margin: 0 0 6px; }
.entry-content .lz-map .lz-map__title { color: #fff; font-size: 22px; font-weight: 700; }
.entry-content .lz-map .lz-map__hint { font-size: 13px; color: rgba(255, 255, 255, .6); margin: 14px 0 20px; }
.entry-content .lz-map .lz-map__hint a { color: #9ccbf0 !important; }
.lz-map__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; align-items: center; }
.lz-map__actions .lz-btn { white-space: nowrap; line-height: 1.2; }
.lz-map button.lz-btn { border: 0; cursor: pointer; font-family: var(--lz-font); }
/* Theme-Styles für <button> und <th> überschreiben */
.lz-map button.lz-btn.lz-btn--primary {
	background: var(--lz-blue) !important;
	color: #fff !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	padding: 14px 28px !important;
	border-radius: 999px !important;
	height: auto !important;
}
.lz-map button.lz-btn.lz-btn--primary:hover { background: #2c84cc !important; }
.entry-content table.lz-hours th { text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; }
.entry-content table.lz-hours td { font-size: 15px !important; }
.page-id-17881 #primary { padding-top: 48px; }
.lz-contact-form-col .wpcf7-form.contact-style-2 textarea { height: 200px !important; min-height: 0 !important; }
/* Footer-Formular auf der Kontaktseite ausblenden (steht schon im Inhalt) */
.page-id-17881 #footer-top .footer-top-1 { display: none; }
@media (max-width: 767px) {
	.lz-contact-card { padding: 26px 22px; }
	.lz-contact-form-col { margin-top: 30px; }
	.lz-map { min-height: 320px; }
}

/* ---------- Impressum ---------- */
.entry-content dl.lz-imprint {
	display: grid;
	grid-template-columns: minmax(150px, max-content) 1fr;
	gap: 10px 28px;
	margin: 0 0 8px;
	padding: 24px 28px;
	background: var(--lz-bg-soft);
	border: 1px solid var(--lz-line);
	border-radius: 12px;
}
.entry-content dl.lz-imprint dt { font-weight: 600; color: var(--lz-ink); text-transform: none !important; letter-spacing: 0 !important; }
.entry-content dl.lz-imprint dd { margin: 0; color: var(--lz-text); }
.entry-content .lz-imprint-section h2 { font-size: 21px; margin: 34px 0 10px; }

/* Footer unten: Linkzeile breiter, damit "Cookie-Einstellungen" nicht umbricht */
@media (min-width: 992px) {
	#footer-bottom .footer-bottom-1 { width: 75%; }
	#footer-bottom .footer-bottom-2 { width: 25%; }
}
@media (max-width: 767px) {
	.entry-content dl.lz-imprint { grid-template-columns: 1fr; gap: 2px; padding: 20px; }
	.entry-content dl.lz-imprint dd { margin-bottom: 10px; }
}

/* ---------- Download-Liste (Plugin "Download Attachments") als Karten ---------- */
.download-attachments.style-table { margin: 28px 0 8px; }
.download-attachments.style-table h3.download-title { display: none; }
.download-attachments table.da-attachments-table,
.download-attachments table.da-attachments-table tbody { display: grid; gap: 12px; width: 100%; border: 0 !important; background: none; margin: 0; }
.download-attachments table.da-attachments-table thead { display: none; }
.download-attachments table.da-attachments-table tr {
	position: relative;
	display: grid;
	grid-template-columns: 52px 1fr auto;
	grid-template-areas: "icon title size" "icon about size";
	align-items: center;
	column-gap: 20px;
	row-gap: 2px;
	padding: 18px 22px;
	background: #fff !important;
	border: 1px solid var(--lz-line);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15, 30, 46, .04);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.download-attachments table.da-attachments-table tr:hover {
	border-color: #b9d3ea;
	box-shadow: var(--lz-shadow);
	transform: translateY(-1px);
}
.download-attachments table.da-attachments-table tr:before {
	content: 'PDF';
	grid-area: icon;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 60px;
	border-radius: 6px 14px 6px 6px;
	background: var(--lz-blue-soft);
	color: var(--lz-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}
.download-attachments table.da-attachments-table td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left;
}
.download-attachments td.attachment-title { grid-area: title; }
.download-attachments td.attachment-about { grid-area: about; font-size: 14px; color: var(--lz-muted); line-height: 1.5; }
.download-attachments td.attachment-size {
	grid-area: size;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 600;
	color: var(--lz-blue);
	font-variant-numeric: tabular-nums;
}
.download-attachments td.attachment-size:after { content: '\2193'; margin-left: .5em; font-weight: 700; }
.download-attachments img.attachment-icon { display: none; }
/* Plugin setzt word-break: break-all (bricht mitten im Wort/in Zahlen) */
.download-attachments a.attachment-link,
.download-attachments td { word-break: normal !important; overflow-wrap: break-word; hyphens: auto; }
.entry-content .download-attachments a.attachment-link,
.download-attachments a.attachment-link {
	color: var(--lz-ink) !important;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none !important;
}
.download-attachments tr:hover a.attachment-link { color: var(--lz-blue) !important; }
/* ganze Karte klickbar */
.download-attachments a.attachment-link:after { content: ''; position: absolute; inset: 0; border-radius: 12px; }
.download-attachments a.attachment-link:focus-visible { outline: 0; }
.download-attachments a.attachment-link:focus-visible:after { outline: 3px solid rgba(36, 115, 181, .45); outline-offset: 2px; }
@media (max-width: 767px) {
	.download-attachments table.da-attachments-table tr {
		grid-template-columns: 44px 1fr;
		grid-template-areas: "icon title" "icon about" "icon size";
		column-gap: 14px;
		padding: 16px;
	}
	.download-attachments table.da-attachments-table tr:before { width: 44px; height: 52px; font-size: 11px; align-self: start; }
	.download-attachments a.attachment-link { font-size: 16px; }
	.download-attachments td.attachment-size { margin-top: 6px; }
}

/* ---------- Akkordeon (WPBakery TTA, z. B. Walzstahl) ---------- */
.vc_tta.vc_tta-accordion .vc_tta-panels {
	background: #fff;
	border: 1px solid var(--lz-line);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(15, 30, 46, .04), 0 6px 18px rgba(15, 30, 46, .05);
}
.vc_tta.vc_tta-accordion .vc_tta-panel { margin: 0 !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-heading {
	background: #fff !important;
	border: 0 !important;
	border-top: 1px solid var(--lz-line) !important;
	border-radius: 0 !important;
	margin: 0 !important;
	transition: background .2s ease, box-shadow .2s ease;
}
.vc_tta.vc_tta-accordion .vc_tta-panel:first-child .vc_tta-panel-heading { border-top: 0 !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel-title > a {
	line-height: 1.4 !important;
	padding: 16px 56px 16px 22px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--lz-ink) !important;
	letter-spacing: 0;
	transition: color .2s ease;
}
.vc_tta.vc_tta-accordion .vc_tta-panel-heading:hover { background: var(--lz-bg-soft) !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel-heading:hover .vc_tta-panel-title > a { color: var(--lz-blue) !important; }
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon { right: 22px !important; }
/* Symbol links (z. B. Plus/Minus auf der Karriere-Seite) */
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left > a { padding-left: 56px !important; padding-right: 22px !important; }
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left .vc_tta-controls-icon { left: 24px !important; }
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-chevron:before,
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-plus:before,
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-plus:after { border-color: var(--lz-blue) !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-heading {
	background: var(--lz-blue-soft) !important;
	box-shadow: inset 4px 0 0 var(--lz-blue);
}
.vc_tta.vc_tta-accordion .vc_tta-panel.vc_active .vc_tta-panel-title > a { color: var(--lz-blue) !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body {
	background: #fff !important;
	border: 0 !important;
	border-top: 1px solid var(--lz-line) !important;
	padding: 24px 26px 28px !important;
}
.vc_tta.vc_tta-accordion .vc_tta-panel-body h2,
.vc_tta.vc_tta-accordion .vc_tta-panel-body h3 { font-size: 22px; line-height: 1.3; margin: 0 0 10px; text-align: left !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel-body .wpb_text_column p { margin: 0 0 4px; color: var(--lz-text); }
.vc_tta.vc_tta-accordion .vc_tta-panel-body .wpb_text_column { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.vc_tta.vc_tta-accordion .vc_tta-panel-body .wpb_text_column:last-child { margin-top: 14px; }

/* Lagertabellen (wpDataTables) im Akkordeon */
.vc_tta-panel-body .wpDataTablesWrapper { margin-top: 18px; }
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable {
	border: 1px solid var(--lz-line) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 10px;
	overflow: hidden;
	width: 100% !important;
	margin: 10px 0 !important;
}
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable thead th {
	background: var(--lz-navy) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 11px 12px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable thead th:after,
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable thead th:before { color: rgba(255, 255, 255, .5) !important; }
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody td {
	border: 0 !important;
	border-top: 1px solid var(--lz-line) !important;
	padding: 7px 12px !important;
	line-height: 1.45 !important;
	font-size: 15px;
	white-space: nowrap;
	background: #fff !important;
}
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody tr:nth-child(even) td { background: var(--lz-bg-soft) !important; }
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody tr:hover td { background: var(--lz-blue-soft) !important; }
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody td:first-child { font-weight: 600; color: var(--lz-ink); }
/* Häkchen-Spalten: mittig, blau, größer */
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody td:not(:first-child) {
	text-align: center !important;
	color: var(--lz-blue);
	font-size: 17px;
	font-weight: 700;
}
.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable thead th:not(:first-child) { text-align: center !important; }
/* Suchfeld und Info-Zeile */
.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lz-ink);
}
.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter input {
	width: 220px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 8px 12px 8px 34px !important;
	border: 1px solid #cfd7e0 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-size: 14px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%237a8794' stroke-width='2'/%3E%3Cpath d='M16 16l4.5 4.5' stroke='%237a8794' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 10px center / 16px no-repeat !important;
}
.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter input:focus {
	outline: 0;
	border-color: var(--lz-blue) !important;
	box-shadow: 0 0 0 4px rgba(36, 115, 181, .15) !important;
}
.vc_tta-panel-body .wpDataTablesWrapper .dataTables_info { font-size: 12px !important; color: var(--lz-muted) !important; padding-top: 4px !important; }
@media (max-width: 767px) {
	.vc_tta.vc_tta-accordion .vc_tta-panel-title > a { padding: 14px 48px 14px 16px !important; font-size: 15px !important; }
	.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon { right: 16px !important; }
	.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left > a { padding-left: 46px !important; padding-right: 16px !important; }
	.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-left .vc_tta-controls-icon { left: 18px !important; }
	.vc_tta.vc_tta-accordion .vc_tta-panel .vc_tta-panel-body { padding: 18px 14px 22px !important; }
	.vc_tta.vc_tta-accordion .vc_tta-panel-body h2,
	.vc_tta.vc_tta-accordion .vc_tta-panel-body h3 { font-size: 19px; }
	.vc_tta-panel-body .wpDataTablesWrapper { overflow-x: auto; }
	.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable thead th,
	.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody td { padding: 8px 7px !important; font-size: 13px !important; }
	.vc_tta-panel-body .wpDataTablesWrapper table.wpDataTable tbody td:not(:first-child) { font-size: 15px !important; }
	.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter { float: none !important; text-align: left !important; }
	.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter label { display: flex; width: 100%; }
	.vc_tta-panel-body .wpDataTablesWrapper .dataTables_filter input { width: 100% !important; flex: 1 1 auto; }
}

/* ---------- Tabellen (Lagerprogramm) ---------- */
.entry-content table.table {
	border: 1px solid var(--lz-line) !important;
	border-radius: var(--lz-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--lz-shadow);
	font-size: 15px;
}
.entry-content table.table > thead > tr > td,
.entry-content table.table > thead > tr > th {
	background: var(--lz-navy);
	color: #fff;
	border: 0 !important;
	padding: 12px 14px;
}
.entry-content table.table > thead strong { color: #fff; font-weight: 600; }
.entry-content table.table > tbody > tr > td {
	border: 0 !important;
	border-top: 1px solid var(--lz-line) !important;
	padding: 10px 14px;
	color: var(--lz-text);
}
.entry-content table.table > tbody > tr:nth-child(even) > td { background: var(--lz-bg-soft); }
.entry-content table.table-hover > tbody > tr:hover > td { background: var(--lz-blue-soft); }

/* wpDataTables (Lagerprogramm): Spaltenköpfe enthalten Einheiten (6 m, 12 m) – nicht in Großbuchstaben */
.wpDataTablesWrapper table.wpDataTable thead th { text-transform: none !important; }

/* ---------- Formulare (Contact Form 7) ---------- */
/* Rückmeldung nach dem Absenden: gut sichtbar, farbig nach Ergebnis */
.wpcf7 form .wpcf7-response-output {
	position: relative;
	margin: 18px 0 0 !important;
	padding: 14px 16px 14px 52px !important;
	border: 0 !important;
	border-left: 4px solid !important;
	border-radius: 10px !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	animation: lz-msg-in .35s ease;
}
.wpcf7 form .wpcf7-response-output:before {
	content: '';
	position: absolute;
	left: 16px;
	top: 14px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: currentColor center / 14px no-repeat;
}
.wpcf7 form.sent .wpcf7-response-output { background: #e7f6ec !important; border-color: #1f8a4c !important; color: #14663a !important; }
.wpcf7 form.sent .wpcf7-response-output:before { background-color: #1f8a4c; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E"); }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { background: #fff6e0 !important; border-color: #d99a00 !important; color: #7a5600 !important; }
.wpcf7 form.invalid .wpcf7-response-output:before,
.wpcf7 form.unaccepted .wpcf7-response-output:before,
.wpcf7 form.payment-required .wpcf7-response-output:before { background-color: #d99a00; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-width='2.4' stroke-linecap='round' d='M8 4v5'/%3E%3Ccircle cx='8' cy='12' r='1.3' fill='%23fff'/%3E%3C/svg%3E"); }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output { background: #fdecec !important; border-color: #c62828 !important; color: #8e1c1c !important; }
.wpcf7 form.failed .wpcf7-response-output:before,
.wpcf7 form.aborted .wpcf7-response-output:before,
.wpcf7 form.spam .wpcf7-response-output:before { background-color: #c62828; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-width='2.4' stroke-linecap='round' d='M5 5l6 6M11 5l-6 6'/%3E%3C/svg%3E"); }
@keyframes lz-msg-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
/* falsch ausgefüllte Felder */
.wpcf7 form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 13px !important; font-weight: 600; color: #c62828 !important; }
/* höhere Spezifität als die Feld-Grundstile (.wpcf7 input[type=…], #footer-top …) */
.wpcf7 form .wpcf7-form-control.wpcf7-not-valid,
.wpcf7 form input[type].wpcf7-not-valid { border-color: #c62828 !important; box-shadow: 0 0 0 3px rgba(198, 40, 40, .12) !important; background-color: #fffafa !important; }
#footer-top .wpcf7 form .wpcf7-not-valid-tip { color: #ff9a9a !important; }
#footer-top .wpcf7 form .wpcf7-form-control.wpcf7-not-valid,
#footer-top .wpcf7 form input[type].wpcf7-not-valid { border-color: #ff8a8a !important; box-shadow: 0 0 0 3px rgba(255, 138, 138, .18) !important; background-color: rgba(255, 138, 138, .08) !important; }
/* Pflichtfeld-Kennzeichnung */
.wpcf7 .lz-req { color: #c62828; font-weight: 700; margin-left: 2px; }
#footer-top .wpcf7 .lz-req { color: #ff9a9a; }
.wpcf7 .lz-req-note { font-size: 13px; color: var(--lz-muted); margin: 0 0 14px; }
#footer-top .wpcf7 .lz-req-note { color: rgba(255, 255, 255, .55); }

/* Honeypot-Feld (inc/lenz-spam.php): für Menschen unsichtbar */
.wpcf7 .lz-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wpcf7 label { font-weight: 600; font-size: 14px; color: var(--lz-ink); }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	background: #fff !important;
	border: 1px solid #cfd7e0 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	height: auto !important;
	font-family: var(--lz-font);
	font-size: 15px !important;
	color: var(--lz-ink) !important;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease;
	margin-top: 6px;
}
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input:not([type="submit"]):focus,
.wpcf7 textarea:focus {
	outline: 0;
	border-color: var(--lz-blue) !important;
	box-shadow: 0 0 0 4px rgba(36, 115, 181, .15) !important;
}

/* ---------- Footer ---------- */
#footer-top {
	background: var(--lz-navy) !important;
	color: rgba(255, 255, 255, .72);
	padding-top: 70px !important;
	padding-bottom: 40px !important;
	position: relative;
}
#footer-top:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--lz-blue), #4fa3e0);
}
#footer-top .wg-title,
#footer-top .wg-title span {
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	text-transform: none !important;
}
#footer-top .wg-title { border: 0 !important; padding-bottom: 14px !important; margin-bottom: 26px !important; position: relative; }
#footer-top .wg-title:before,
#footer-top .wg-title span:before,
#footer-top .wg-title span:after { display: none !important; }
#footer-top .wg-title:after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 36px !important;
	height: 3px !important;
	background: var(--lz-blue) !important;
	border: 0 !important;
}
#footer-top .wpcf7 label { color: rgba(255, 255, 255, .85); }
#footer-top .wpcf7 input[type="text"],
#footer-top .wpcf7 input[type="email"],
#footer-top .wpcf7 input[type="tel"],
#footer-top .wpcf7 textarea {
	background: rgba(255, 255, 255, .06) !important;
	border-color: rgba(255, 255, 255, .16) !important;
	color: #fff !important;
}
#footer-top .wpcf7 textarea { height: 130px !important; min-height: 0; }
#footer-top .wpcf7 input:not([type="submit"]):focus,
#footer-top .wpcf7 textarea:focus {
	background: rgba(255, 255, 255, .1) !important;
	border-color: #4fa3e0 !important;
	box-shadow: 0 0 0 4px rgba(79, 163, 224, .2) !important;
}
#footer-top .contact-info li { margin-bottom: 14px; }
#footer-top .contact-info li,
#footer-top .contact-info li span,
#footer-top .contact-info li a {
	color: rgba(255, 255, 255, .8) !important;
	font-size: 15px;
}
#footer-top .contact-info li a:hover { color: #fff !important; }
#footer-top .contact-info i {
	color: #4fa3e0 !important;
	margin-right: 6px;
}
#footer-top .footer-top-3 img {
	max-width: 170px;
	height: auto;
	filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .35));
}

#footer-bottom {
	background: var(--lz-navy-2) !important;
	border-top: 1px solid rgba(255, 255, 255, .06);
	padding: 22px 0 !important;
}
#footer-bottom,
#footer-bottom .textwidget,
#footer-bottom a { color: rgba(255, 255, 255, .55) !important; font-size: 14px; }
#footer-bottom a:hover { color: #fff !important; }

/* Copyright-Zeile (Text-Widget, Jahr per [lenz_jahr]) */
#footer-bottom .lz-footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 28px;
	line-height: 1.5;
}
#footer-bottom .lz-copy { color: rgba(255, 255, 255, .8) !important; font-weight: 600; }
#footer-bottom .lz-footer-links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
#footer-bottom .lz-footer-links a {
	color: rgba(255, 255, 255, .6) !important;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: color .2s ease, background-size .25s ease;
}
#footer-bottom .lz-footer-links a:hover,
#footer-bottom .lz-footer-links a:focus-visible { color: #fff !important; background-size: 100% 1px; outline: 0; }
@media (min-width: 768px) {
	#footer-bottom .footer-bottom { display: flex; align-items: center; }
	#footer-bottom .footer-bottom > div { float: none; }
	#footer-bottom .cs-social { margin: 0; }
}
@media (max-width: 767px) {
	#footer-bottom .lz-footer-legal { flex-direction: column; gap: 10px; }
	#footer-bottom .lz-footer-links { justify-content: center; gap: 6px 18px; }
}

/* Social-Icons: einheitlich, Google+ (eingestellter Dienst) ausblenden */
#footer-bottom .cs-social li.google { display: none !important; }
#footer-bottom .cs-social li a {
	width: 38px !important;
	height: 38px !important;
	line-height: 38px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
	transition: background .2s ease, transform .2s ease;
}
#footer-bottom .cs-social li a i { color: #fff !important; }
#footer-bottom .cs-social li a:hover { background: var(--lz-blue) !important; transform: translateY(-2px); }

/* ---------- Nach-oben-Button ---------- */
#back_to_top .go_up {
	background: var(--lz-blue) !important;
	border-radius: 50% !important;
	box-shadow: 0 8px 20px rgba(36, 115, 181, .35);
}

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
	body, body.csbody { font-size: 15px; }
	.home .text-size-large { font-size: 22px !important; }
	.home .pane-content .padding-lr-20p { font-size: 16px; }
	.block-title .pane-title, .block-title h2 { font-size: 21px !important; letter-spacing: .04em !important; }
	.block-title .pane-title, .block-title .pane-title strong { letter-spacing: .04em !important; overflow-wrap: break-word; hyphens: auto; }
	.cshero-fancybox-wrap.fancybox-layout1 { padding: 32px 22px 24px; margin: 8px 0 16px; height: auto; }
	#footer-top { padding-top: 50px !important; }
	#footer-top .wg-title:after { left: 50% !important; transform: translateX(-50%); }
	#footer-bottom .cs-social { text-align: center !important; margin-top: 12px; }
	#footer-bottom .textwidget { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	*, *:before, *:after { transition: none !important; animation: none !important; }
}

/* ---------- Fehlerseite 404 ---------- */
.lz-404 { padding-top: 56px; padding-bottom: 64px; max-width: 760px; }
.lz-404 h1 { font-size: 30px; line-height: 1.25; margin: 0 0 16px; color: var(--lz-ink, #1d2b3a); }
.lz-404 p { font-size: 16px; }
.lz-404__links { list-style: none; margin: 20px 0 28px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.lz-404__links li { margin: 0; padding: 0; }
.lz-404__links li:before { display: none !important; }
.lz-404__links a {
	display: inline-block; padding: 10px 18px; border: 1px solid var(--lz-line); border-radius: var(--lz-radius);
	background: #fff; color: var(--lz-blue); font-weight: 600; text-decoration: none;
}
.lz-404__links a:hover, .lz-404__links a:focus-visible { background: var(--lz-blue-soft); border-color: var(--lz-blue); }
