/*
Theme Name: Broszeit Child
Theme URI: https://broszeit-group.com
Description: Child-Theme fuer den Elementor-Relaunch der Broszeit Group (1:1 Nachbau des Avada-Designs). Source Sans Pro lokal, Corporate-Design Gruen/Orange.
Author: DOOZY Digital
Template: hello-elementor
Version: 1.6.5
Text Domain: broszeit-child
*/

/* =========================================================
   BASE — Broszeit Corporate Design
   Gruen dunkel #3F5E33 · Gruen medium #657E5C · Orange #EB9218
   Text #575757 · Body-BG #E2E2E2 · Content #FFFFFF
   Font: Source Sans Pro (400/600/700)
   ========================================================= */

body {
	background-color: #E2E2E2;
	font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: #575757;
}

/* Kein horizontaler Scroll durch das Off-Canvas-Menü (Panel liegt off-screen rechts).
   Header ist static -> overflow-x:hidden ist sticky-unkritisch. */
html, body { overflow-x: hidden; max-width: 100%; }
/* Lange URLs/Wörter in Fliesstexten (z.B. Datenschutz/Impressum) umbrechen */
.elementor-widget-text-editor a, .elementor-widget-text-editor p,
.bz-job-body a, .bz-story-body a { overflow-wrap: anywhere; word-break: break-word; }

/* Broszeit-Design ist durchgehend eckig (keine abgerundeten Ecken) */
.elementor-button,
.broszeit-pill,
img {
	border-radius: 0;
}

/* Uppercase-Headings mit Source Sans Pro Bold (Kit setzt Groessen/Farben) */
h1, h2, h3, h4, h5, h6 {
	font-family: 'Source Sans Pro', sans-serif;
}

/* Smooth Font-Rendering */
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Links Standard */
a {
	transition: color .2s ease, background-color .2s ease, opacity .2s ease;
}

/* =========================================================
   HEADER
   ========================================================= */
.bz-topmeta { display: flex; align-items: center; gap: 14px; }
.bz-topmeta .bz-lang { color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; letter-spacing: .5px; }
.bz-topmeta .bz-lang--active { color: #EB9218; }
.bz-topmeta .bz-search { color: #fff; display: inline-flex; align-items: center; }
.bz-topmeta a:hover { color: #EB9218; }

/* Nav: keine Pointer-Unterstreichung (Original hat keine) */
#bz-header .elementor-nav-menu > ul > li > a::after,
#bz-header .elementor-nav-menu > ul > li > a::before { display: none !important; content: none !important; }

/* Haupt-Nav Dropdown (Submenü) — grün wie Header, weiße Items, oranger Akzent.
   .elementor-nav-menu IST das <ul> -> Top-Items via .menu-item-has-children targetten. */
#bz-header .elementor-nav-menu .menu-item-has-children { position: relative; }
#bz-header .elementor-nav-menu ul.sub-menu {
	display: block !important;   /* Elementor versteckt per display:none */
	background-color: #3F5E33 !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.22);
	border-top: 3px solid #EB9218;
	padding: 8px 0 !important;
	min-width: 250px;
	position: absolute; top: 100%; left: 0;
	opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
	z-index: 99999; margin: 0; list-style: none;
}
#bz-header .elementor-nav-menu .menu-item-has-children:hover > ul.sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
#bz-header .elementor-nav-menu ul.sub-menu li { margin: 0; }
#bz-header .elementor-nav-menu ul.sub-menu li a {
	color: #fff !important;
	padding: 11px 24px !important;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 0 !important;
}
#bz-header .elementor-nav-menu ul.sub-menu li a:hover { color: #EB9218 !important; background: rgba(0,0,0,.14); }

/* ===== Holzlösungen MEGA-MENÜ mit Broszeit-Icon-Font (1:1 wie Original) ===== */
@font-face {
	font-family: 'Broszeit-Icons';
	src: url('./fonts/icons/Broszeit-Icons.woff') format('woff'), url('./fonts/icons/Broszeit-Icons.ttf') format('truetype');
	font-weight: normal; font-style: normal; font-display: block;
}
@font-face {
	font-family: 'mosaik';
	src: url('./fonts/icons/mosaik.woff') format('woff'), url('./fonts/icons/mosaik.ttf') format('truetype');
	font-weight: normal; font-style: normal; font-display: block;
}
/* 6-Spalten-Raster, breit (11 Kategorien -> 6+5) */
#bz-header .elementor-nav-menu li.bz-mega > ul.sub-menu {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 2px;
	width: min(1240px, 96vw);
	left: 0;
	padding: 18px 16px !important;
}
#bz-header .elementor-nav-menu li.bz-mega > ul.sub-menu li.bz-cat > a {
	display: block;   /* Icon inline-block davor -> Label darf umbrechen ohne Überlappung */
	text-transform: none !important; font-size: 13px !important; font-weight: 600 !important;
	letter-spacing: 0 !important; line-height: 1.3; padding: 11px 12px !important;
}
/* Glyph-Icon je Kategorie (Original-Codepoints) */
#bz-header .elementor-nav-menu li.bz-cat > a::before {
	font-family: 'Broszeit-Icons'; font-weight: normal; font-style: normal; speak: none;
	font-size: 28px; line-height: 1; color: #fff; display: inline-block; vertical-align: middle;
	width: 32px; margin-right: 10px; text-align: center;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bz-header li.bz-cat.broszeit-Tischlerplatten > a::before { content: "\e908"; }
#bz-header li.bz-cat.broszeit-Furnier > a::before { content: "\e904"; }
#bz-header li.bz-cat.broszeit-Span > a::before { content: "\e906"; }
#bz-header li.bz-cat.broszeit-DekorativeOberflaechen > a::before { content: "\e902"; }
#bz-header li.bz-cat.broszeit-MDF > a::before { content: "\e905"; }
#bz-header li.bz-cat.broszeit-Sperrholz > a::before { content: "\e907"; }
#bz-header li.bz-cat.broszeit-Brandschutz > a::before { content: "\e901"; }
#bz-header li.bz-cat.broszeit-Verbundelemente > a::before { content: "\e90a"; }
#bz-header li.bz-cat.broszeit-Akustikelemente > a::before { content: "\e900"; }
#bz-header li.bz-cat.broszeit-EasyPlug > a::before { content: "\e903"; }
#bz-header li.bz-cat.broszeitDekorativeoberflaechen > a::before { font-family: 'mosaik'; content: "\e900"; }

/* =========================================================
   WERTE-BAND — 4 Karten als Grid
   ========================================================= */
#bz-werte-grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	align-items: stretch;
}
@media (max-width: 1024px) { #bz-werte-grid > .e-con-inner { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { #bz-werte-grid > .e-con-inner { grid-template-columns: 1fr; } }
/* Werte-Karten: abgeschnittene Ecke oben rechts (60px wie Original) */
#bz-werte-grid > .e-con-inner > .e-con {
	clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}
@media (max-width: 767px) { #bz-werte-grid > .e-con-inner > .e-con { clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); } }

/* =========================================================
   FOOTER
   ========================================================= */
#bz-footer-links .elementor-nav-menu { display: block; }
#bz-footer-links .elementor-nav-menu li { list-style: disc; margin-left: 20px; }
#bz-footer-links .elementor-nav-menu li a { padding: 4px 0; }
#bz-footer-links .elementor-nav-menu li a::marker { color: #575757; }

/* Footer-Spalten stapeln auf Tablet/Mobile */
@media (max-width: 1024px) {
	#bz-footer-cols > .e-con-inner > .e-con { width: 100% !important; align-items: flex-start !important; }
	#bz-footer-cols > .e-con-inner > .e-con .elementor-widget-text-editor { text-align: left !important; }
}

/* =========================================================
   STARTSEITE
   ========================================================= */
/* Hero: H1 mit Schatten fuer Lesbarkeit auf Video */
#bz-hero .elementor-heading-title { text-shadow: 0 2px 18px rgba(0,0,0,.35); }
#bz-hero-play { cursor: pointer; transition: transform .25s ease; }
#bz-hero-play:hover { transform: scale(1.07); }

/* Erfolgsgeschichten: oranges Panel mit abgeschraegter Ecke oben rechts (Broszeit-Signature, 60px wie Original) */
#bz-audi-panel { clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%); }
@media (max-width: 767px) { #bz-audi-panel { clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%); } }

/* =========================================================
   BROSZEIT-SIGNATURE BUTTONS (exakt wie Avada-Original)
   Modell: Button-BG = 2px-Rahmen · ::after (inset 2px) = Fuellung · Hover faerbt Fuellung
   Ecke: unten rechts 10px abgeschnitten. CSS-Klasse via _css_classes am Widget-Wrapper.
   ========================================================= */
.bz-btn .elementor-button {
	position: relative;
	overflow: visible;
	background: transparent !important;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
	transition: color .2s ease;
}
.bz-btn .elementor-button::after {
	content: "";
	position: absolute;
	inset: 2px;
	z-index: 0;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%);
	transition: background-color .25s ease;
}
.bz-btn .elementor-button .elementor-button-content-wrapper { position: relative; z-index: 1; }

/* Content-Button: Rahmen orange · Fuellung weiss · Text gruen  ->  Hover Fuellung orange · Text weiss */
.bz-btn--content .elementor-button { background-color: #EB9218 !important; }
.bz-btn--content .elementor-button::after { background-color: #FFFFFF; }
.bz-btn--content .elementor-button .elementor-button-text { color: #3F5E33; }
.bz-btn--content .elementor-button:hover::after { background-color: #EB9218; }
.bz-btn--content .elementor-button:hover .elementor-button-text { color: #FFFFFF; }

/* Panel-Button (auf orangem Audi-Panel): Rahmen weiss · Fuellung orange · Text weiss  ->  Hover Fuellung weiss · Text orange */
.bz-btn--panel .elementor-button { background-color: #FFFFFF !important; }
.bz-btn--panel .elementor-button::after { background-color: #EB9218; }
.bz-btn--panel .elementor-button .elementor-button-text { color: #FFFFFF; }
.bz-btn--panel .elementor-button:hover::after { background-color: #FFFFFF; }
.bz-btn--panel .elementor-button:hover .elementor-button-text { color: #EB9218; }

/* Header-CTA (KONTAKT): Rahmen orange · Fuellung gruen · Text weiss  ->  Hover Fuellung orange · Text weiss */
.bz-btn--kontakt .elementor-button { background-color: #EB9218 !important; }
.bz-btn--kontakt .elementor-button::after { background-color: #3F5E33; }
.bz-btn--kontakt .elementor-button .elementor-button-text { color: #FFFFFF; }
.bz-btn--kontakt .elementor-button:hover::after { background-color: #EB9218; }
.bz-btn--kontakt .elementor-button:hover .elementor-button-text { color: #FFFFFF; }

/* Solid-Green (Footer „Datenschutz Praeferenzen"): gruen gefuellt -> Hover orange */
.bz-btn--solid-green .elementor-button { background-color: #3F5E33 !important; }
.bz-btn--solid-green .elementor-button::after { background-color: #3F5E33; }
.bz-btn--solid-green .elementor-button .elementor-button-text { color: #FFFFFF; }
.bz-btn--solid-green .elementor-button:hover::after { background-color: #EB9218; }

/* Off-Canvas-CTA: gleiche Ecke */
.bz-oc__cta { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%); }

/* Bilder in Content-Spalten ohne Zwischenraum */
#bz-hero .elementor-widget-image img,
.elementor-widget-image img { display: block; }

/* =========================================================
   PRODUKTE (CPT) — Karten, Kategorie-Kacheln, Datenblätter
   ========================================================= */
/* Loop-Grid: gleich hohe Karten */
.elementor-widget-loop-grid .e-loop-item { display: flex; }
.elementor-widget-loop-grid .e-loop-item > .e-con { width: 100%; }

/* Produkt-Card (abgeschnittene Ecke oben rechts, Hover-Lift) */
#bz-prod-card, #bz-cat-tile {
	clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}
#bz-prod-card:hover, #bz-cat-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.10); }
.bz-prod-img img { width: 100% !important; height: 220px !important; object-fit: cover; object-position: center; display: block; }

/* Datenblatt-Downloads */
.bz-datasheets { margin-top: 6px; }
.bz-datasheets__title { font-size: 16px; color: #3F5E33; text-transform: uppercase; letter-spacing: .5px; margin: 0 0 10px; }
.bz-datasheets__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bz-datasheets__list a { display: inline-flex; align-items: center; gap: 10px; color: #575757; text-decoration: none; font-weight: 600; }
.bz-datasheets__list a:hover { color: #EB9218; }
.bz-pdf-ic { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 24px; background: #EB9218; color: #fff; font-size: 11px; font-weight: 700; }

/* Produkt-Subline: leeres Feld -> nicht anzeigen */
.bz-prod-subline .elementor-heading-title:empty { display: none; }
.bz-prod-subline .elementor-heading-title { line-height: 1.4; }

/* =========================================================
   ÜBERSICHTS-SEITEN (Leistungen / Unternehmen) — Karten-Grid
   ========================================================= */
.bz-ov-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: stretch; }
@media (max-width: 1024px) { .bz-ov-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .bz-ov-grid { grid-template-columns: 1fr; } }

.bz-ov-card {
	background: #fff; height: 100%;
	clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
	/* drop-shadow statt box-shadow: folgt der Clip-Form (box-shadow würde abgeschnitten) */
	filter: drop-shadow(0 6px 14px rgba(0,0,0,.07));
	transition: transform .25s ease, filter .25s ease;
}
.bz-ov-card:hover { transform: translateY(-4px); filter: drop-shadow(0 14px 26px rgba(0,0,0,.14)); }
.bz-ov-card .elementor-widget-button { margin-top: auto; }

/* News/Aktuelles-Karten */
.bz-news-date .elementor-heading-title { color: #EB9218; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; font-size: 13px; }
.bz-news-card .bz-prod-img img { height: 200px !important; }
.bz-news-single-feat img { width: 100% !important; max-height: 460px; object-fit: cover; display: block; }

/* =========================================================
   KONTAKT — Formular (Elementor Pro Form) + Info-Panel im CD
   ========================================================= */
.bz-kontakt-grid { display: grid !important; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: start; }
@media (max-width: 900px) { .bz-kontakt-grid { grid-template-columns: 1fr; gap: 36px; } }

.bz-kontakt-info { background: #3F5E33; color: #fff; padding: 40px;
	clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); }
.bz-kontakt-info a { color: #fff; text-decoration: none; }
.bz-kontakt-info a:hover { color: #EB9218; }

/* Formularfelder eckig + CD-Fokus */
.bz-form .elementor-field-group .elementor-field {
	border: 1px solid #cdcdcd !important; border-radius: 0 !important;
	background: #fff !important; color: #575757 !important; padding: 12px 14px !important; font-size: 15px !important;
}
.bz-form .elementor-field-group .elementor-field:focus { border-color: #EB9218 !important; outline: none !important; box-shadow: none !important; }
.bz-form .elementor-field-label { color: #3F5E33 !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .4px; font-size: 13px !important; }
.bz-form .elementor-field-type-acceptance .elementor-field-label { text-transform: none; letter-spacing: 0; font-weight: 400 !important; color: #575757 !important; }
.bz-form .elementor-button {
	background: #EB9218 !important; color: #fff !important; border-radius: 0 !important;
	text-transform: uppercase; font-weight: 700; letter-spacing: .5px; padding: 16px 40px !important;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
	transition: background .2s ease;
}
.bz-form .elementor-button:hover { background: #D17E12 !important; }

/* =========================================================
   LEISTUNGS-/UNTERNEHMENS-SEITEN — Hero + Icon-Band (Service-Karten)
   ========================================================= */
#bz-pagehero .elementor-heading-title { text-shadow: 0 2px 16px rgba(0,0,0,.35); }
.bz-svc-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 8px; align-items: stretch; }
@media (max-width: 1024px) { .bz-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .bz-svc-grid { grid-template-columns: 1fr; } }
/* orange Karten mit Schnitt-Ecke oben rechts (wie Werte-Band) */
.bz-svc-card { clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); height: 100%; }
.bz-svc-icon img { height: 64px !important; width: auto !important; object-fit: contain; }
/* Kunden-Referenz-Logos (weiße SVGs auf orangem Band) */
.bz-clients-grid { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 26px 36px; }
.bz-client-logo img { height: 40px !important; width: auto !important; max-width: 130px; object-fit: contain; }
/* Bearbeitung: Leistungs-Blöcke mit Trennlinie oben */
.bz-svc-block { border-top: 2px solid #E2E2E2; }

/* =========================================================
   MOBILE OFF-CANVAS MENÜ (Drawer von rechts)
   ========================================================= */
.bz-mhead { display: flex; align-items: center; gap: 18px; }
.bz-mhead__search { color: #fff; display: inline-flex; align-items: center; }
.bz-mhead__search:hover { color: #EB9218; }

/* Burger */
/* Burger 1:1 wie Original: 30px breite Balken, 2px stark, 5px Abstand */
.bz-burger { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; cursor: pointer; display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 30px !important; height: 22px; flex: 0 0 30px !important; }
/* flex-basis erzwingt die Balkenhöhe robust (eine fremde Regel setzte height:0) */
.bz-burger span { display: block; width: 30px; height: 2px !important; min-height: 2px; flex: 0 0 2px; background: #fff; transition: background .25s, transform .25s; }
.bz-burger:hover span { background: #EB9218; }
/* --- Mobile-Burger-FARBE hier ändern (weiß auf grünem Header): --- */
/* .bz-burger span { background: #fff; }  <-- diese eine Zeile anpassen          */

/* Tote Elementor-Menü-Toggles im Header ausblenden (verhindern Verwirrung;
   der sichtbare Burger ist .bz-burger im Off-Canvas-Trigger). */
#bz-header .elementor-menu-toggle { display: none !important; }

/* Footer-Links: nie zum Burger kollabieren — Links immer sichtbar (auch Mobile) */
#bz-footer-links .elementor-menu-toggle { display: none !important; }
/* Elementor rendert das Menü doppelt (main + dropdown) -> Dropdown-Kopie ausblenden */
#bz-footer-links .elementor-nav-menu--dropdown,
#bz-footer-links nav.elementor-nav-menu--dropdown { display: none !important; }
#bz-footer-links .elementor-nav-menu--main { display: block !important; }
#bz-footer-links .elementor-nav-menu--main > ul.elementor-nav-menu { display: block !important; max-height: none !important; opacity: 1 !important; }

/* Drawer-Container */
.bz-oc { position: fixed; inset: 0; z-index: 999999; visibility: hidden; }
.bz-oc.is-open { visibility: visible; }
.bz-oc__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .35s ease; }
.bz-oc.is-open .bz-oc__overlay { opacity: 1; }
.bz-oc__panel { position: absolute; top: 0; right: 0; height: 100%; width: 78%; max-width: 360px; background: #3F5E33; padding: 24px 28px; transform: translateX(100%); transition: transform .35s ease; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.bz-oc.is-open .bz-oc__panel { transform: translateX(0); }
.bz-oc__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.bz-oc__logo { height: 30px !important; width: auto !important; max-width: 160px !important; }
.bz-oc__close { background: transparent !important; border: none !important; box-shadow: none !important; color: #fff; font-size: 38px; line-height: 1; cursor: pointer; flex: 0 0 auto; padding: 0 4px; }
.bz-oc__close:hover { color: #EB9218; }
.bz-oc__menu { list-style: none; margin: 0; padding: 0; }
.bz-oc__menu li { border-bottom: 1px solid rgba(255,255,255,.14); }
.bz-oc__menu a { display: block; padding: 14px 0; color: #fff; text-decoration: none; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; font-size: 17px; }
.bz-oc__menu a:hover { color: #EB9218; }
.bz-oc__menu--sub a { font-weight: 600; text-transform: none; font-size: 15px; color: rgba(255,255,255,.85); }

/* Off-Canvas Submenüs (Akkordeon) */
.bz-oc__menu .menu-item-has-children > a { position: relative; }
.bz-oc__menu .menu-item-has-children > a::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	font-size: 22px; font-weight: 400; color: #EB9218;
}
.bz-oc__menu .menu-item-has-children.is-open > a::after { content: "–"; }
.bz-oc__menu .sub-menu { list-style: none; margin: 0; padding: 0 0 6px 14px; display: none; }
.bz-oc__menu .menu-item-has-children.is-open > .sub-menu { display: block; }
.bz-oc__menu .sub-menu li { border-bottom: 1px solid rgba(255,255,255,.10); }
.bz-oc__menu .sub-menu a { padding: 11px 0; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: rgba(255,255,255,.82); }
.bz-oc__menu .sub-menu a:hover { color: #EB9218; }
/* Holzlösungen-Kategorie-Icons im Mobile-Drawer: Broszeit-Icon-Schrift (Desktop-Regel
   ist auf .elementor-nav-menu beschränkt) + klarer Abstand Icon<->Text via flex-gap. */
.bz-oc__menu li.bz-cat > a { display: flex; align-items: center; gap: 14px; }
.bz-oc__menu li.bz-cat > a::before {
	font-family: 'Broszeit-Icons'; font-weight: normal; font-style: normal; speak: none;
	font-size: 22px; line-height: 1; color: #fff;
	flex: 0 0 26px; width: 26px; text-align: center;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.bz-oc__cta { margin-top: 22px; background: #EB9218; color: #fff !important; text-align: center; padding: 16px; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.bz-oc__cta:hover { background: #fff; color: #3F5E33 !important; }
.bz-oc__lang { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); }
.bz-oc__lang .bz-topmeta { gap: 20px; }
.bz-oc__lang .bz-lang { font-size: 15px; }

/* TranslatePress: Floating-Switcher aus (wir nutzen den Header-Switcher wie im Original) */
.trp-floating-switcher { display: none !important; }
body.bz-lock { overflow: hidden; }

/* Sichtbarkeit Desktop vs. Mobile/Tablet — deterministisch via IDs */
#bz-oc-trigger { display: none; }                 /* Burger nur ≤1024 */
@media (max-width: 1024px) {
	#bz-hrow1r, #bz-header-row2 { display: none !important; }  /* Desktop-Nav/Topbar/CTA aus */
	#bz-oc-trigger { display: block; flex: 0 0 auto !important; width: auto !important; }
	/* Logo links, Burger rechts — eine Zeile, kein Umbruch */
	#bz-header-row1 { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; }
	#bz-header-row1 > .elementor-widget-image { width: auto !important; flex: 0 0 auto !important; }
	/* Logo 1:1 wie Original: 97px breit */
	#bz-header-row1 .elementor-widget-image img { max-width: 97px !important; width: 97px !important; height: auto !important; }
	/* Rechtes Cluster: Sprache · Suche · Burger — gleichmäßige Abstände wie Original (~14px) */
	.bz-mhead { justify-content: flex-end; align-items: center; gap: 14px; }
	.bz-mhead__search { color: #fff !important; }
	.bz-mhead__search svg { width: 20px !important; height: 20px !important; }
	/* DE/EN-Umschalter sichtbar in der Mobile-Header-Bar (wie Original, klein) */
	.bz-mhead__lang { display: inline-flex; align-items: center; }
	.bz-mhead__lang .bz-topmeta { gap: 5px; }
	.bz-mhead__lang .bz-lang { font-size: 11px; font-weight: 700; letter-spacing: .5px; color: #fff; }
	.bz-mhead__lang .bz-lang--active { color: #EB9218; }
	.bz-mhead__lang .bz-lang:hover { color: #EB9218; }
	/* Verschachtelte Header-Container-Paddings (30+30+10 kumuliert) zurücksetzen,
	   dann EIN sauberes Padding auf row1 -> Logo links ~28px, Cluster ~16px vom Rand, ~70px hoch */
	#bz-header .e-con, #bz-header .e-con-inner {
		padding-left: 0 !important; padding-right: 0 !important;
		padding-top: 0 !important; padding-bottom: 0 !important;
	}
	/* höhere Spezifität (2 IDs) als der Reset oben, sonst gewinnt der Reset */
	#bz-header #bz-header-row1 { padding: 20px 16px 20px 28px !important; gap: 10px !important; }
}
/* Sprachschalter nur in der Mobile-Bar zeigen (Desktop nutzt #bz-hrow1r) */
#bz-oc-trigger .bz-mhead__lang { display: none; }
@media (max-width: 1024px) { #bz-oc-trigger .bz-mhead__lang { display: inline-flex; } }

/* =========================================================
   KARRIERE — Stellen-Listing [bz_jobs], Job-Single [bz_job]
   ========================================================= */
/* --- Listing-Tabelle --- */
.bz-jobs { width: 100%; }
.bz-jobs__head,
.bz-job-row {
	display: grid;
	grid-template-columns: 2fr 1.1fr 1.1fr auto;
	align-items: center;
	gap: 16px;
}
.bz-jobs__head {
	padding: 0 8px 14px;
	border-bottom: 2px solid #3F5E33;
}
.bz-jobs__head span {
	font-size: 13px; font-weight: 700; letter-spacing: 1px;
	text-transform: uppercase; color: #3F5E33;
}
.bz-job-row {
	padding: 22px 8px;
	border-bottom: 1px solid #E2E2E2;
	transition: background .2s ease;
}
.bz-job-row:hover { background: #FAFAFA; }
.bz-job-row__title {
	font-size: 19px; font-weight: 700; color: #333333;
	text-transform: uppercase; line-height: 1.25; text-decoration: none;
}
.bz-job-row__title:hover { color: #3F5E33; }
.bz-job-row__cell { font-size: 16px; color: #575757; }
.bz-job-row__actions { display: flex; align-items: center; gap: 14px; justify-self: end; }
.bz-job-pdf {
	flex: 0 0 auto; width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid #D8D8D8; color: #3F5E33; text-decoration: none;
	transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.bz-job-pdf:hover { color: #fff; background: #EB9218; border-color: #EB9218; }
.bz-job-apply-btn.bz-btn { padding: 12px 24px; font-size: 13px; white-space: nowrap; }
.bz-jobs-empty { color: #575757; font-style: italic; }
@media (max-width: 900px) {
	.bz-jobs__head { display: none; }
	.bz-job-row { grid-template-columns: 1fr; gap: 6px; padding: 20px 8px; }
	.bz-job-row__cell[data-label]::before { content: attr(data-label) ": "; font-weight: 700; color: #3F5E33; }
	.bz-job-row__actions { justify-self: start; margin-top: 10px; flex-wrap: wrap; gap: 14px; }
}

/* --- Job-Single Body --- */
.bz-job-body { font-size: 17px; color: #575757; line-height: 1.7; }
.bz-job-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 30px; }
.bz-job-badge {
	background: #FAFAFA; border-left: 3px solid #EB9218;
	padding: 8px 16px; font-size: 15px; color: #333;
}
.bz-job-badge strong { color: #3F5E33; }
.bz-job-h {
	font-size: 26px; font-weight: 700; color: #3F5E33;
	text-transform: uppercase; margin: 0 0 18px;
}
.bz-job-h3 {
	font-size: 20px; font-weight: 700; color: #3F5E33;
	text-transform: uppercase; margin: 38px 0 14px;
}
.bz-job-intro p { margin: 0 0 16px; }
.bz-job-list { list-style: none; margin: 0; padding: 0; }
.bz-job-list li {
	position: relative; padding: 0 0 10px 28px;
}
.bz-job-list li::before {
	content: ""; position: absolute; left: 0; top: 10px;
	width: 9px; height: 9px; background: #EB9218; transform: rotate(45deg);
}
.bz-job-list--2col { columns: 2; column-gap: 44px; }
.bz-job-list--2col li { break-inside: avoid; }
.bz-job-abschluss { font-size: 19px; font-weight: 600; color: #3F5E33; margin: 34px 0 0; }
.bz-job-apply { margin-top: 30px; }
@media (max-width: 680px) { .bz-job-list--2col { columns: 1; } }

/* --- Mitarbeiter-Testimonial-Slider (grünes Band, Custom) --- */
.bz-testi { position: relative; max-width: 1180px; margin: 0 auto; padding: 0 66px; }
.bz-testi__viewport { overflow: hidden; }
.bz-testi__track { display: flex; transition: transform .45s cubic-bezier(.4,0,.2,1); }
.bz-testi__slide {
	flex: 0 0 100%; margin: 0; display: flex; gap: 44px; align-items: center;
}
.bz-testi__photo { flex: 0 0 38%; }
.bz-testi__photo img {
	width: 100%; height: 360px; object-fit: cover; display: block;
	clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%);
}
.bz-testi__body { flex: 1; }
.bz-testi__quote {
	margin: 0 0 22px; color: #fff; font-size: 20px; line-height: 1.55; font-style: italic;
	quotes: none;
}
.bz-testi__cite { display: flex; flex-direction: column; gap: 2px; }
.bz-testi__name { color: #fff; font-weight: 700; text-transform: uppercase; font-size: 20px; letter-spacing: .5px; }
.bz-testi__role { color: #EB9218; font-weight: 700; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; }
.bz-testi__nav {
	position: absolute; top: 38%; transform: translateY(-50%);
	width: 46px !important; height: 46px !important; border: 0 !important; cursor: pointer;
	background: rgba(255,255,255,.16) !important; color: #fff !important; font-size: 26px !important; line-height: 1;
	border-radius: 50% !important; transition: background .2s ease; padding: 0 !important;
	display: flex; align-items: center; justify-content: center; clip-path: none !important;
}
.bz-testi__nav:hover { background: #EB9218 !important; }
.bz-testi__prev { left: 6px; }
.bz-testi__next { right: 6px; }
.bz-testi__dots { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.bz-testi__dot {
	width: 11px; height: 11px; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(255,255,255,.45); padding: 0; transition: background .2s ease;
}
.bz-testi__dot.is-active { background: #EB9218; }
@media (max-width: 860px) {
	.bz-testi { padding: 0 14px; }
	.bz-testi__slide { flex-direction: column; gap: 24px; text-align: center; }
	.bz-testi__photo { flex: 0 0 auto; width: 100%; max-width: 360px; }
	.bz-testi__photo img { height: 280px; }
	.bz-testi__cite { align-items: center; }
	.bz-testi__nav { top: auto; bottom: -4px; transform: none; }
	.bz-testi__prev { left: 6px; } .bz-testi__next { right: 6px; }
	.bz-testi__dots { margin-top: 22px; }
}

/* --- Dein Weg in unser Team (4 Schritte, orange Icons) --- */
.bz-step-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.bz-step-icon img { height: 64px !important; width: auto !important; }
@media (max-width: 900px) { .bz-step-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .bz-step-grid { grid-template-columns: 1fr; } }

/* =========================================================
   ERFOLGSGESCHICHTEN — Loop-Grid-Karten + Single
   ========================================================= */
/* Loop-Grid: 1-spaltig, Reihen-Abstand */
.bz-erfolg-grid .elementor-loop-container { gap: 40px; }
.bz-erfolg-card { overflow: hidden; min-height: 360px; }
.bz-erfolg-imgcol { display: flex; }
.bz-erfolg-imgcol .elementor-widget-image,
.bz-erfolg-imgcol .elementor-widget-image .elementor-widget-container,
.bz-erfolg-imgcol .elementor-image { width: 100%; line-height: 0; }
.bz-erfolg-img img {
	width: 100% !important; height: 100% !important; min-height: 360px;
	object-fit: cover; object-position: center; display: block;
}
.bz-erfolg-panel {
	clip-path: polygon(0 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 0 100%);
}
.bz-erfolg-kunde {
	color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1.5px;
	text-transform: uppercase; opacity: .9;
}
.bz-erfolg-teaser { color: #fff; font-size: 17px; line-height: 1.55; }
.bz-erfolg-panel .bz-btn--panel { align-self: flex-start; }
/* Alternierend: jede 2. Karte Bild links, Panel rechts (Cut-Corner spiegeln) */
.bz-erfolg-grid .elementor-loop-container > *:nth-child(even) .bz-erfolg-card { flex-direction: row-reverse; }
.bz-erfolg-grid .elementor-loop-container > *:nth-child(even) .bz-erfolg-panel {
	clip-path: polygon(44px 0, 100% 0, 100% 100%, 0 100%, 0 44px);
}
@media (max-width: 1024px) {
	.bz-erfolg-card, .bz-erfolg-grid .elementor-loop-container > *:nth-child(even) .bz-erfolg-card { flex-direction: column; }
	.bz-erfolg-img img { min-height: 240px; height: 280px !important; }
	.bz-erfolg-panel,
	.bz-erfolg-grid .elementor-loop-container > *:nth-child(even) .bz-erfolg-panel {
		clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%);
	}
}

/* Single Erfolgsgeschichte */
.bz-story-herokunde { color: #EB9218; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; }
.bz-story-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 48px; }
.bz-story-gimg { margin: 0; }
.bz-story-gimg img { width: 100%; height: 230px; object-fit: cover; display: block;
	clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%); }
.bz-story-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.bz-story-col { font-size: 17px; color: #575757; line-height: 1.7; }
.bz-story-h { font-size: 24px; font-weight: 700; color: #3F5E33; text-transform: uppercase; margin: 0 0 16px; }
.bz-story-col p { margin: 0 0 14px; }
.bz-story-holz { margin-top: 46px; }
.bz-story-h3 { font-size: 18px; font-weight: 700; color: #3F5E33; text-transform: uppercase; margin: 0 0 16px; }
.bz-story-tags { display: flex; flex-wrap: wrap; gap: 12px; }
.bz-story-tag {
	display: inline-block; background: #3F5E33; color: #fff !important; text-decoration: none !important;
	padding: 9px 20px; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); transition: background .2s ease;
}
a.bz-story-tag:hover { background: #EB9218; }
@media (max-width: 768px) {
	.bz-story-gallery { grid-template-columns: repeat(2, 1fr); }
	.bz-story-cols { grid-template-columns: 1fr; gap: 30px; }
}

/* =========================================================
   Foto-Spalte füllt Zeilenhöhe (2-Spalt-Bild/Panel-Reihen) + Zertifikats-Logos
   ========================================================= */
@media (min-width: 1025px) {
	.bz-fill-img,
	.bz-fill-img .elementor-widget-container,
	.bz-fill-img .elementor-image { height: 100%; line-height: 0; }
	.bz-fill-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
}
.bz-cert-logo img { width: 92px !important; height: auto !important; }

/* =========================================================
   DOWNLOADS — Akkordeon je Holzkategorie (Datenblatt-PDFs)
   ========================================================= */
.bz-dl-wrap { display: flex; flex-direction: column; }
.bz-dl { border-bottom: 1px solid #E2E2E2; }
.bz-dl summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px;
	padding: 18px 8px; font-weight: 700; text-transform: uppercase; color: #3F5E33;
	letter-spacing: .5px; font-size: 16px;
}
.bz-dl summary::-webkit-details-marker { display: none; }
.bz-dl summary::before {
	content: "+"; flex: 0 0 28px; width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center;
	background: #EB9218; color: #fff; font-size: 20px; line-height: 1; font-weight: 400;
	transition: background .2s ease;
}
.bz-dl[open] summary::before { content: "\2013"; }
.bz-dl summary:hover { color: #EB9218; }
.bz-dl__list { list-style: none; margin: 0; padding: 0 8px 18px 50px; display: flex; flex-direction: column; }
.bz-dl__list li { margin: 0; }
.bz-dl__list a {
	display: flex; align-items: center; gap: 12px; padding: 10px 0; color: #575757;
	text-decoration: none; font-size: 15px; border-bottom: 1px solid #F0F0F0;
}
.bz-dl__list li:last-child a { border-bottom: 0; }
.bz-dl__list a:hover { color: #EB9218; }
.bz-dl__ic { flex: 0 0 auto; color: #EB9218; display: inline-flex; }
.bz-dl__name { flex: 1; }
.bz-dl__size { color: #9a9a9a; font-size: 13px; white-space: nowrap; }
@media (max-width: 600px) { .bz-dl__list { padding-left: 24px; } }
