/* tokens.css */
/* Design-Tokens Brandwache – ERZEUGT von tools/tokens_css.py aus data/tokens.json + data/stil/stadt/1366/root.json.
   Nicht von Hand ändern; neu erzeugen: python tools/tokens_css.py
   Live undefiniert (bewusst ohne Wert): --btn-font-size, --btn-transition, --card-gap, --neutral-medium */
:root {
	--action: #DE3E23;
	--action-dark: #6f1f11;
	--action-hover: #e35a42;
	--action-light: #f5c5bc;
	--action-ultra-light: #fcece9;
	--base: #292d32;
	--bg-color: #EAF6FD;
	--black: #000;
	--black-trans-60: rgba(0, 0, 0, 0.6);
	--black-trans-70: rgba(0, 0, 0, 0.7);
	--body-bg-color: var(--bg-color);
	--border-radius: 1.875em;
	--border-radius-small: 1.125em;
	--bricks-border-color: #dddedf;
	--btn-border-radius: 90px;
	--btn-border-style: solid;
	--btn-border-width: 2px;
	--btn-font-style: normal;
	--btn-font-weight: 700;
	--btn-justify-content: center;
	--btn-letter-spacing: 0;
	--btn-line-height: 1;
	--btn-min-width: 14rem;
	--btn-padding-block: 0.75em;
	--btn-padding-inline: 1.5em;
	--btn-radius: 90px;
	--btn-text-align: center;
	--btn-text-decoration: none;
	--btn-text-decoration-hover: none;
	--btn-text-transform: none;
	--container-gap: var(--space-xl);
	--content-gap: var(--space-s);
	--content-width: 128rem;
	--flow-spacing: var(--paragraph-spacing);
	--focus-offset: 0.25em;
	--focus-width: 0.2rem;
	--fr-card-gap: var(--card-gap, var(--space-s));
	--fr-text-light: var(--text-light);
	--grid-1: repeat(1, minmax(0, 1fr));
	--grid-2: repeat(2, minmax(0, 1fr));
	--grid-2-1: minmax(0, 2fr) minmax(0, 1fr);
	--grid-2-3: minmax(0, 2fr) minmax(0, 3fr);
	--grid-3: repeat(3, minmax(0, 1fr));
	--grid-3-2: minmax(0, 3fr) minmax(0, 2fr);
	--grid-4: repeat(4, minmax(0, 1fr));
	--grid-auto-3: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((3 - 1) * var(--grid-gap))) / 3) * 0.7, (100% - (3 - 1) * var(--grid-gap)) / 3)), 1fr));
	--grid-gap: var(--space-xxl);
	--gutter: clamp(2.4rem, calc(0.625vw + 2.2rem), 3rem);
	--h1: clamp(2.7648rem, calc(5.542734375vw + 0.991125rem), 8.085825rem);
	--h1-line-height: 1.2;
	--h1-max-width: 100%;
	--h2: clamp(2.304rem, calc(2.7046875vw + 1.4385rem), 4.9005rem);
	--h2-letter-spacing: -0.96px;
	--h2-line-height: 1.12;
	--h3: clamp(1.92rem, calc(1.09375vw + 1.57rem), 2.97rem);
	--h3-line-height: 1.2;
	--h4: clamp(1.6rem, calc(0.2083333333vw + 1.5333333333rem), 1.8rem);
	--h4-line-height: calc(4px + 2ex);
	--header-height: 14.5rem;
	--header-height-l: 14.5rem;
	--header-height-m: 15.5rem;
	--header-height-s: 12rem;
	--header-height-xl: 14.5rem;
	--heading-color: var(--base);
	--heading-font-family: Gilroy, sans-serif;
	--heading-font-weight: 700;
	--heading-line-height: calc(4px + 2ex);
	--heading-spacing: 1.5em;
	--heading-text-wrap: pretty;
	--link-color: var(--action);
	--link-color-hover: var(--action-hover);
	--list-indent-spacing: 2em;
	--list-item-spacing: 0.5em;
	--list-spacing: 1em;
	--neutral: #cccccc;
	--neutral-light: #d9d9d9;
	--neutral-light-trans-10: rgba(217, 217, 217, 0.1);
	--neutral-light-trans-40: rgba(217, 217, 217, 0.4);
	--neutral-trans-40: rgba(204, 204, 204, 0.4);
	--neutral-ultra-light: #f2f2f2;
	--offset: 14.5rem;
	--offset-l: 14.5rem;
	--offset-m: 15.5rem;
	--offset-s: 12rem;
	--offset-xl: 14.5rem;
	--paragraph-spacing: 1em;
	--primary: #1C3458;
	--primary-hover: #264778;
	--primary-trans-50: rgba(28, 52, 88, 0.5);
	--primary-trans-70: rgba(28, 52, 88, 0.7);
	--primary-ultra-dark: #0c1727;
	--primary-ultra-light: #ecf1f9;
	--radius: var(--border-radius);
	--radius-m: var(--border-radius);
	--root-font-size: 62.5%;
	--secondary: #C0D6F6;
	--section-padding-block: var(--section-space-xs);
	--section-padding-block-double: calc(var(--section-padding-block) * 2);
	--section-space-xs: clamp(4.0520257596rem, calc(1.3346953893vw + 3.6249232351rem), 5.3333333333rem);
	--space-l: clamp(3.1992rem, calc(1.355vw + 2.7656rem), 4.5rem);
	--space-m: clamp(2.4rem, calc(0.625vw + 2.2rem), 3rem);
	--space-s: clamp(1.8004501125rem, calc(0.2078644661vw + 1.7339334834rem), 2rem);
	--space-xl: clamp(4.2645336rem, calc(2.5890275vw + 3.4360448rem), 6.75rem);
	--space-xs: clamp(1.3506752532rem, calc(-0.0180644999vw + 1.3564558932rem), 1.3333333333rem);
	--space-xxl: clamp(5.6846232888rem, calc(4.6253924075vw + 4.2044977184rem), 10.125rem);
	--text-dark: var(--black);
	--text-font-family: Gilroy, sans-serif;
	--text-l: clamp(1.92rem, calc(0.3605208333vw + 1.8046333333rem), 2.2661rem);
	--text-light: var(--white);
	--text-light-muted: var(--white-trans-80);
	--text-line-height: calc(6px + 2ex);
	--text-m: clamp(1.6rem, calc(0.1041666667vw + 1.5666666667rem), 1.7rem);
	--text-ml: calc(var(--text-m) * 1.125);
	--text-s: clamp(1.2rem, calc(0vw + 1.2rem), 1.2rem);
	--text-text-wrap: pretty;
	--text-xl: clamp(2.304rem, calc(0.7465742708vw + 2.0650962333rem), 3.0207113rem);
	--text-xxl: clamp(2.7648rem, calc(1.314383503vw + 2.344197279rem), 4.0266081629rem);
	--transition: background var(--transition-duration) var(--transition-timing) var(--transition-delay), color var(--transition-duration) var(--transition-timing) var(--transition-delay), border var(--transition-duration) var(--transition-timing) var(--transition-delay), gap var(--transition-duration) var(--transition-timing) var(--transition-delay), transform var(--transition-duration) var(--transition-timing) var(--transition-delay);
	--transition-delay: 0s;
	--transition-duration: 0.3s;
	--transition-timing: ease-in-out;
	--white: #fff;
	--white-trans-10: rgba(255, 255, 255, 0.1);
	--white-trans-80: rgba(255, 255, 255, 0.8);
	--width-l: calc(var(--content-width) * 0.6);
}
@media only screen and (max-width: 991px) { :root { --grid-gap: var(--space-m); } }
@media (max-width: 1280px) { :root { --offset: var(--offset-xl); --header-height: var(--header-height-xl); } }
@media (max-width: 992px) { :root { --offset: var(--offset-l); --header-height: var(--header-height-l); } }
@media (max-width: 768px) { :root { --offset: var(--offset-m); --header-height: var(--header-height-m); } }
@media (max-width: 480px) { :root { --offset: var(--offset-s); --header-height: var(--header-height-s); } }

/* basis.css */
/* Basis: Schrift, Grundelemente, Sektion/Container, wiederkehrende Bausteine (Tagline, Akzent, Text, blaue Box).
   Werte aus den gemessenen Live-Regeln (ACSS + Bricks, data/stil/), umgesetzt ohne Framework-Klassen. */

@font-face { font-family: Gilroy; font-weight: 400; font-display: swap; src: url("https://www.brandwache247.de/wp-content/themes/brandwache/assets/fonts/Gilroy-Regular.woff2") format("woff2"); }
@font-face { font-family: Gilroy; font-weight: 500; font-display: swap; src: url("https://www.brandwache247.de/wp-content/themes/brandwache/assets/fonts/Gilroy-Medium.woff2") format("woff2"); }
@font-face { font-family: Gilroy; font-weight: 600; font-display: swap; src: url("https://www.brandwache247.de/wp-content/themes/brandwache/assets/fonts/Gilroy-SemiBold.woff2") format("woff2"); }
@font-face { font-family: Gilroy; font-weight: 700; font-display: swap; src: url("https://www.brandwache247.de/wp-content/themes/brandwache/assets/fonts/Gilroy-Bold.woff2") format("woff2"); }

*, ::before, ::after { box-sizing: border-box; }
::before, ::after { outline: none; }
html { font-size: var(--root-font-size); line-height: 1.15; scroll-behavior: smooth; interpolate-size: allow-keywords; }
body {
	margin: 0; padding: 0; display: flex; flex-direction: column; min-block-size: 100vh; width: 100%;
	-webkit-font-smoothing: antialiased; background-color: var(--bg-color); color: var(--base);
	font-family: var(--text-font-family); font-size: var(--text-m); font-weight: 500; line-height: var(--text-line-height); text-wrap: var(--text-text-wrap);
}
[id] { scroll-margin-top: var(--offset, 0); }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--heading-font-family); color: var(--heading-color); line-height: var(--heading-line-height); font-weight: var(--heading-font-weight); text-wrap: var(--heading-text-wrap); text-rendering: optimizelegibility; }
h1 { font-size: var(--h1); line-height: var(--h1-line-height); max-width: var(--h1-max-width); }
h2 { font-size: var(--h2); letter-spacing: var(--h2-letter-spacing); line-height: var(--h2-line-height); }
h3 { font-size: var(--h3); line-height: var(--h3-line-height); }
h4 { font-size: var(--h4); line-height: var(--h4-line-height); }
p, ul, ol, li { margin-block: 0; }
p, li { line-height: var(--text-line-height); }
a { color: var(--link-color); text-decoration: inherit; cursor: pointer; transition: var(--transition); }
@media (hover: hover) and (pointer: fine) { a:hover { color: var(--link-color-hover); } }
img { height: auto; max-width: 100%; vertical-align: middle; border-style: none; object-fit: cover; object-position: 50% 50%; border-radius: var(--radius); }
img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px; }
svg:not([width]) { min-width: 1em; }
svg:not([height]) { min-height: 1em; }
button, input, textarea, select { font: inherit; margin: 0; }
button { border: none; background: none; padding: 0; color: inherit; cursor: pointer; outline: none; text-align: inherit; }
figure { margin: 0; }
small { font-size: 80%; }
@media (prefers-reduced-motion: reduce) {
	*, ::before, ::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.bw-inhalt { flex: 1 1 0%; position: relative; width: 100%; }

/* Sektion (Bricks section) und Container */
.bw-sektion {
	display: flex; flex-direction: column; align-items: center; gap: var(--container-gap); width: 100%;
	margin-inline: auto; padding-block: var(--section-padding-block); padding-inline: var(--gutter);
}
.bw-container { width: var(--content-width); max-width: 100%; margin-inline: auto; display: flex; flex-direction: column; align-items: flex-start; }
:where(.bw-sektion) > :where(.bw-container) { gap: var(--content-gap); }
@media (max-width: 767px) {
	.bw-sektion, .bw-container { flex-wrap: wrap; }
}

/* Tagline (globale Klasse .tagline + Varianten) */
.bw-tagline {
	position: relative; order: -1; line-height: 1.1; font-size: calc(var(--text-m) * .85); text-transform: uppercase; font-weight: 700;
	letter-spacing: 2px; margin-bottom: calc(var(--content-gap) * -.5); padding-left: var(--space-xs);
}
.bw-tagline::after { content: "•"; position: absolute; left: 0; top: 48%; transform: translateY(-50%); color: inherit; }
.bw-tagline--rot { color: var(--action); }
.bw-tagline--hell { color: var(--text-light-muted); }
.bw-tagline--grau { color: rgb(107, 114, 128); }
.bw-tagline--ohne-punkt { padding: 0; }
.bw-tagline--ohne-punkt::after { display: none; }
.bw-tagline a { font-weight: inherit; }

.bw-akzent { color: var(--secondary); }
.bw-h2 { font-size: var(--h2); letter-spacing: var(--h2-letter-spacing); line-height: var(--h2-line-height); font-family: var(--heading-font-family); color: var(--heading-color); font-weight: var(--heading-font-weight); text-wrap: var(--heading-text-wrap); }
.bw-lede { max-width: 60ch; }

/* Fließtext aus dem Editor (Bricks „Rich Text“ mit ACSS-Abständen) */
.bw-text > * + * { margin-block-start: var(--flow-spacing, initial); margin-block-end: 0; }
.bw-text > * + :where(h1, h2, h3, h4, h5, h6) { margin-block-start: var(--heading-spacing, var(--flow-spacing, initial)); }
.bw-text > * + p { margin-block-start: var(--paragraph-spacing, var(--flow-spacing, initial)); }
.bw-text > :is(* + ul, * + ol) { margin-block: var(--list-spacing, var(--flow-spacing, initial)); }
.bw-text > :is(ul, ol) { padding-inline-start: var(--list-indent-spacing, var(--flow-spacing, initial)); }
.bw-text > ul * + li, .bw-text > ol * + li { margin-block-start: var(--list-item-spacing, var(--flow-spacing, initial)); }
.bw-text > :is(figure, blockquote, ul, ol) + * { --paragraph-spacing: 0; --flow-spacing: 0; }
:where(p:last-of-type) + :is(h1, h2, h3, h4, h5, h6) { margin-top: 0; }

/* Intro zweispaltig (globale Klasse intro-two-columns) */
.bw-intro-zweispaltig { display: grid; gap: var(--grid-gap); grid-template-columns: var(--grid-2-1); grid-template-rows: var(--grid-1); align-items: flex-end; }
.bw-intro-zweispaltig:not(.bw-container) { width: 100%; }
.bw-intro-zweispaltig__titel { display: flex; flex-direction: column; align-items: flex-start; width: 100%; row-gap: var(--content-gap); column-gap: var(--content-gap); }
.bw-intro-zweispaltig__lede { display: flex; flex-direction: column; align-items: flex-start; width: 100%; gap: var(--content-gap); }
@media (max-width: 991px) {
	.bw-intro-zweispaltig { grid-template-columns: var(--grid-1); }
	.bw-intro-zweispaltig__lede { align-items: flex-start; }
}

/* Weiße Box / blaue Box (globale Klassen white-box, blue-box, blue-box__overlay) */
.bw-weiss-box { background: var(--white); padding: var(--space-l) var(--space-m); border-radius: .5em; }
.bw-blaue-box { position: relative; z-index: 1; padding: var(--space-xl); column-gap: var(--space-xl); row-gap: var(--space-xl); }
.bw-blaue-box__hintergrund { position: absolute; z-index: -1; inset: 0; display: flex; flex-direction: column; align-items: flex-start; width: 100%; background-color: var(--primary); border-radius: var(--border-radius); overflow: hidden; pointer-events: none; }
.bw-blaue-box__flamme { border-radius: var(--border-radius); }
.bw-blaue-box__flamme--unten { margin-top: auto; margin-left: auto; }
.bw-blaue-box__flamme--blass { opacity: .25; }

/* Zweispaltiges Raster (globale Klasse beyond-grid) */
.bw-zweispaltig { display: grid; gap: var(--grid-gap); grid-template-columns: var(--grid-2); width: 100%; }
@media (max-width: 991px) { .bw-zweispaltig { grid-template-columns: var(--grid-1); } }
.bw-zweispaltig > * { display: flex; flex-direction: column; align-items: flex-start; width: 100%; gap: var(--content-gap); }

/* Zurück-Button (695#qpvkub) */
.bw-zurueck__innen { display: flex; flex-direction: column; align-items: center; width: 100%; gap: var(--content-gap); }

/* buttons.css */
/* Buttons (ACSS btn--action/--white/--primary/--outline + btn--has-icon, Bricks bricks-button). Pfeil-Kreis 36×36 rechts. */
.bw-btn {
	--btn-background: var(--action); --btn-background-hover: var(--action-hover); --btn-text-color: var(--white); --btn-text-color-hover: var(--action-ultra-light);
	--btn-border-color: var(--action); --btn-border-color-hover: var(--action-hover);
	display: inline-flex; align-items: center; justify-content: var(--btn-justify-content, center); gap: 14px; width: auto; max-width: 100%;
	padding-block: calc(var(--btn-padding-block) * .5); padding-inline: var(--btn-padding-inline); padding-right: 10px;
	min-inline-size: var(--btn-min-width); line-height: var(--btn-line-height); font-size: var(--btn-font-size, var(--text-m)); font-weight: var(--btn-font-weight);
	font-style: var(--btn-font-style); text-transform: var(--btn-text-transform); letter-spacing: var(--btn-letter-spacing); text-decoration: var(--btn-text-decoration);
	text-align: var(--btn-text-align, center); border-width: var(--btn-border-width); border-style: var(--btn-border-style); border-radius: var(--btn-radius);
	border-color: var(--btn-border-color); background: var(--btn-background); color: var(--btn-text-color); transition: var(--btn-transition, var(--transition));
}
@media (hover: hover) and (pointer: fine) {
	.bw-btn:hover { background: var(--btn-background-hover); color: var(--btn-text-color-hover); border-color: var(--btn-border-color-hover); text-decoration: var(--btn-text-decoration-hover); }
}
.bw-btn:focus-visible { outline: var(--focus-width) solid var(--action-dark); outline-offset: var(--focus-offset); }
.bw-btn__icon { transition: transform var(--transition-duration) var(--transition-timing) var(--transition-delay), margin var(--transition-duration) var(--transition-timing) var(--transition-delay); }
.bw-btn:hover .bw-btn__icon { transform: rotate(45deg); margin-left: 14px; }

.bw-btn--action-umriss { --btn-background: transparent; --btn-text-color: var(--action); --btn-border-width: .1rem; }
.bw-btn--weiss-umriss {
	--btn-background: transparent; --btn-background-hover: var(--white); --btn-text-color: var(--white); --btn-text-color-hover: var(--action);
	--btn-border-width: .1rem; --btn-border-color: var(--white); --btn-border-color-hover: var(--white);
}
.bw-btn--primaer {
	--btn-background: var(--primary); --btn-background-hover: var(--primary-hover); --btn-text-color: var(--primary-ultra-light); --btn-text-color-hover: var(--primary-ultra-light);
	--btn-border-color: var(--primary); --btn-border-color-hover: var(--primary-hover);
}
.bw-btn--primaer .bw-btn__icon path { stroke: var(--primary); }

/* kopf.css */
/* Kopfbereich (Bricks-Header 227 + WPCodeBox 1.css „Mega Menu“): Notruf-Leiste, Logo + DEKRA, Navigation mit
   Mega-Menüs „Brandwache“ (mm-slate) und „Ratgeber“ (mm-marble), Handy-Menü ab 1100 px, Suchknopf. */

.bw-kopf { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 998; transition: background-color .2s, transform .4s; }

/* Notruf-Leiste */
.bw-kopf__leiste { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 4px var(--gutter); background-color: var(--action); gap: var(--container-gap); }
.bw-kopf__leiste-innen { display: flex; flex-direction: column; align-items: center; width: var(--content-width); max-width: 100%; gap: var(--content-gap); }
.bw-kopf__notruf { width: 100%; text-align: center; }
.bw-kopf__notruf a { font-size: var(--text-s); text-transform: uppercase; letter-spacing: .5px; color: var(--text-light); font-weight: 700; line-height: 1em; }
.bw-kopf__notruf a:hover { color: var(--text-light); }

/* Hauptzeile */
.bw-kopf__haupt {
	/* live: z-index 99 ohne Positionierung, also kein eigener Stapelkontext (Mega-Inhalt liegt über den Schwebeknöpfen) */
	z-index: 99; display: flex; flex-direction: column; align-items: center; width: 100%; padding: var(--space-s) var(--gutter);
	background-color: var(--white); border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius);
}
.bw-kopf__container { position: relative; display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: var(--content-gap); width: var(--content-width); max-width: 100%; }
.bw-kopf__marke { display: flex; gap: var(--content-gap); }
.bw-kopf__logo { position: relative; display: inline-block; height: fit-content; width: 12rem; max-width: 100%; border-radius: 0; }
.bw-kopf__logo img { width: 100%; height: 100%; border-radius: 0; }
.bw-kopf__siegel { width: 10rem; height: 14rem; max-width: 100%; margin-bottom: calc(var(--space-l) * -1.5); margin-left: var(--space-s); object-fit: contain; border-radius: 0; }
@media (max-width: 767px) { .bw-kopf__logo { width: 10rem; } }
@media (max-width: 478px) {
	.bw-kopf__logo { width: 8rem; }
	.bw-kopf__siegel { width: 6rem; height: auto; }
}
.bw-kopf__suche-knopf { display: flex; width: var(--text-m); height: var(--text-m); font-size: var(--text-m); color: var(--base); }
.bw-kopf__suche-knopf svg { width: 100%; height: 100%; fill: currentColor; }

/* Navigation (Desktop) */
.bw-nav { display: inline-flex; align-items: center; }
.bw-nav__wrapper { display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.bw-nav__mobil-kopf { display: flex; flex-direction: column; align-items: flex-start; width: 100%; gap: var(--content-gap); }
.bw-nav__schliessen, .bw-nav__umschalter { display: none; background: transparent; border: 0; color: inherit; line-height: 1; cursor: pointer; }
.bw-nav__schliessen svg { width: var(--text-m); height: var(--text-m); }
.bw-nav__liste { display: flex; flex-flow: row wrap; align-items: center; gap: var(--space-m); width: 100%; list-style: none; margin: 0; padding: 0; }
.bw-nav__punkt { max-inline-size: max-content; line-height: var(--text-line-height); }
.bw-nav__punkt--mega { position: relative; display: flex; flex-direction: column; cursor: pointer; }
.bw-nav__toggle { display: flex; align-items: center; gap: 10px; color: var(--heading-color); font: inherit; line-height: inherit; cursor: pointer; }
.bw-nav__toggle:hover, .bw-nav__punkt--offen > .bw-nav__toggle, .bw-nav__toggle--aktiv { color: var(--action); }
.bw-nav__toggle svg { width: var(--text-m); height: var(--text-m); transform: rotate(0); transition: transform .2s ease-in-out; }
.bw-nav__toggle svg path { fill: currentColor; }
.bw-nav__toggle:focus-visible, .bw-nav__link:focus-visible { outline: 2px solid var(--action); outline-offset: 2px; }
.bw-nav__punkt--offen > .bw-nav__toggle svg { transform: rotateX(180deg); }
.bw-nav__link { display: inline-flex; align-items: center; gap: 5px; color: var(--heading-color); }
.bw-nav__link:hover { color: var(--action); }
.bw-nav__punkt--cta .bw-nav__link {
	padding-block: var(--btn-padding-block); padding-inline: var(--btn-padding-inline); min-inline-size: var(--btn-min-width); line-height: var(--btn-line-height);
	font-size: var(--text-m); font-weight: var(--btn-font-weight); border: var(--btn-border-width) solid var(--action); border-radius: var(--btn-border-radius);
	justify-content: center; text-align: center; background: var(--action); color: var(--white); transition: var(--transition);
}
.bw-nav__punkt--cta .bw-nav__link:hover { background: var(--action-hover); border-color: var(--action-hover); color: var(--white); }

/* Mega-Inhalt (Bricks brx-dropdown-content, an der Kopfzeile ausgerichtet per assets/js/navigation.js) */
.bw-mega {
	position: absolute; top: 100%; left: 0; z-index: 1001; display: flex; flex-direction: row; gap: var(--space-m); min-width: 200px; padding: var(--space-m);
	background-color: var(--white); border-radius: var(--border-radius); cursor: auto; opacity: 0; visibility: hidden; pointer-events: none;
	transform: translateY(40px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	box-shadow: rgba(0, 0, 0, .01) 119px 360px 152px, rgba(0, 0, 0, .05) 67px 203px 128px, rgba(0, 0, 0, .09) 30px 90px 95px, rgba(0, 0, 0, .1) 7px 23px 52px, rgba(0, 0, 0, .1) 0 0 0;
}
.bw-nav__punkt--offen > .bw-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(20px); }

/* Mega „Brandwache“ (mm-slate) */
.bw-mega--leistungen { flex-direction: column; gap: 0; padding: 0; border-radius: var(--radius-m); }
.bw-mega__liste { display: grid; grid-template-columns: var(--grid-auto-3); gap: var(--space-s); padding: var(--space-s); margin: 0; list-style: none; width: 100%; }
.bw-mega__eintrag { position: relative; display: flex; flex-flow: row; align-items: flex-start; gap: 2rem; padding: var(--space-s); border-radius: var(--border-radius); transition: background-color .2s ease-in-out; }
.bw-mega__eintrag:hover, .bw-mega__eintrag:focus-within { background-color: var(--neutral-light-trans-10); }
.bw-mega__eintrag-inhalt { display: flex; flex-direction: column; align-items: flex-start; width: 100%; row-gap: .5rem; }
.bw-mega__eintrag-titel { font-size: var(--text-l); color: var(--black); font-weight: 600; }
.bw-mega__eintrag-titel a { color: var(--black); }
.bw-mega__eintrag-titel a::after { content: ""; position: absolute; inset: 0; }
.bw-mega__eintrag-text { font-size: var(--text-s); }
.bw-mega__eintrag-icon { order: -1; display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: 6rem; height: 6rem; padding: 1rem; background-color: var(--neutral-light-trans-10); border-radius: calc(var(--border-radius) * .25); }
.bw-mega__flamme { width: var(--text-xl); height: var(--text-xl); fill: var(--neutral); color: var(--neutral); }
.bw-mega__cta { display: grid; grid-template-columns: var(--grid-2-1); gap: var(--grid-gap); align-items: flex-end; width: 100%; padding: var(--space-l); background-color: var(--neutral-ultra-light); border-radius: var(--border-radius); }
.bw-mega__cta-inhalt { display: flex; flex-direction: column; }
.bw-mega__cta-titel { font-size: var(--h3); font-weight: 700; }
.bw-mega__cta-knopf { display: flex; flex-direction: column; align-items: flex-end; }

/* Mega „Ratgeber“ (mm-marble) */
.bw-mega--ratgeber {
	--divider-color: var(--neutral-light); --divider-height: 1px; --col-lighter-color: var(--white); --col-darker-color: var(--neutral-ultra-light); --list-item-min-width: 250px;
	display: grid; grid-template-columns: 1fr minmax(auto, var(--content-width)) 1fr; grid-template-rows: auto; justify-content: center; padding: 0; overflow: hidden;
}
.bw-ratgeber { grid-area: 1 / 2 / auto / 3; display: grid; grid-template-columns: var(--grid-2-1); }
.bw-ratgeber__spalte { display: flex; flex-direction: column; align-items: flex-start; row-gap: var(--space-m); padding: var(--space-m); }
.bw-ratgeber__spalte--haupt { padding-left: 0; background-color: var(--col-lighter-color); }
.bw-ratgeber__spalte--aktuell { background-color: var(--col-darker-color); border-left: var(--divider-height) solid var(--divider-color); padding-right: 0; }
.bw-ratgeber__ueberschrift { display: flex; flex-direction: column; gap: 1rem; width: 100%; color: var(--neutral-medium); font-size: calc(var(--h3) * .75); font-weight: 700; }
.bw-ratgeber__ueberschrift::after { content: ""; width: 100%; height: var(--divider-height); background-color: var(--divider-color); }
.bw-ratgeber__liste { display: grid; gap: var(--content-gap); grid-template-columns: repeat(auto-fit, minmax(var(--list-item-min-width), 1fr)); list-style: none; padding: 0; margin: 0; width: 100%; }
.bw-ratgeber__eintrag { position: relative; display: flex; flex-flow: row; gap: var(--content-gap); }
.bw-ratgeber__eintrag-inhalt { display: flex; flex-direction: column; row-gap: .4em; width: 100%; }
.bw-ratgeber__eintrag-titel { font-size: var(--h4); line-height: var(--h4-line-height); font-weight: 600; color: var(--heading-color); }
.bw-ratgeber__eintrag-titel a { color: var(--heading-color); }
.bw-ratgeber__eintrag-titel a::after { content: ""; position: absolute; inset: 0; }
.bw-ratgeber__eintrag-text { font-size: var(--text-s); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bw-ratgeber__icon { order: -1; flex-shrink: 0; width: 1.5em; height: 1.5em; }
.bw-ratgeber__aktuell { position: relative; z-index: 0; display: flex; flex-direction: column; justify-content: flex-end; row-gap: var(--space-s); width: 100%; min-height: 25rem; padding: var(--space-m) var(--space-s); border-radius: var(--radius-m); overflow: hidden; }
.bw-ratgeber__bild { position: absolute; inset: 0; z-index: -1; }
.bw-ratgeber__bild img { width: 100%; height: 100%; border-radius: 0; }
.bw-ratgeber__bild::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--white-trans-10), var(--black-trans-70)); pointer-events: none; }
.bw-ratgeber__aktuell-titel { color: var(--white); font-size: calc(var(--h3) * .75); font-weight: 700; }
.bw-ratgeber__aktuell-titel a { color: var(--white); }
.bw-ratgeber__aktuell-titel a::after { content: ""; position: absolute; inset: 0; }
.bw-ratgeber__mehr { padding: .4em .8em; border-radius: var(--btn-border-radius); background-color: var(--white); font-size: var(--text-s); transition: var(--transition); }
.bw-ratgeber__aktuell:hover .bw-ratgeber__mehr { background-color: var(--action); color: var(--white); }
.bw-ratgeber__alle { display: flex; flex-direction: column; row-gap: var(--space-xs); margin-top: var(--space-m); }
.bw-ratgeber__hintergrund { grid-area: 1 / 2 / auto / 4; z-index: -1; background-color: var(--col-darker-color); }

/* Handy-Menü ab 1100 px (WPCodeBox 1.css $navigation-breakpoint) */
@media (max-width: 1100px) {
	.bw-nav__wrapper { visibility: hidden; transform: translateX(100%); }
	.bw-nav__liste { display: none; }
	.bw-nav__umschalter { display: flex; color: var(--action); font-size: 2.6rem; }
	.bw-nav__umschalter svg { width: 2.6rem; height: auto; fill: var(--action); }
	.bw-nav--offen .bw-nav__wrapper {
		visibility: visible; position: fixed; inset: 0; z-index: 1001; display: flex; background-color: var(--white); transform: translateX(0);
		transition: transform .2s cubic-bezier(.79, .14, .15, .86);
	}
	.bw-nav--offen .bw-nav__mobil-kopf { padding: var(--space-m) var(--gutter); border-bottom: 1px solid var(--neutral-light); align-items: flex-end; }
	.bw-nav--offen .bw-nav__schliessen { display: flex; font-size: 2.6rem; color: var(--base); }
	.bw-nav--offen .bw-nav__liste {
		position: relative; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; flex: 1; gap: var(--space-m);
		overflow-x: hidden; overflow-y: auto; background-color: var(--white); scrollbar-width: none;
	}
	.bw-nav--offen .bw-nav__punkt { max-inline-size: none; }
	.bw-nav--offen .bw-nav__punkt:not(:last-child) { border-bottom: 1px solid var(--neutral-light); }
	.bw-nav--offen .bw-nav__punkt--mega { position: static; }
	.bw-nav--offen .bw-nav__punkt:not(:last-child) > .bw-nav__link,
	.bw-nav--offen .bw-nav__punkt:not(:last-child) > .bw-nav__toggle { display: flex; width: 100%; justify-content: space-between; padding: calc(var(--space-m) / 1.6) var(--gutter); color: var(--base); }
	.bw-nav--offen .bw-nav__punkt:not(:last-child) > .bw-nav__link:hover,
	.bw-nav--offen .bw-nav__punkt:not(:last-child) > .bw-nav__toggle:hover { background-color: var(--neutral-ultra-light); color: var(--action); }
	.bw-nav--offen .bw-nav__toggle svg { width: 1em; height: 1em; transform: rotate(-90deg); transition: none; }
	.bw-nav--offen .bw-nav__punkt--cta { margin-top: auto; padding: var(--space-m) var(--gutter); text-align: center; }
	.bw-nav--offen .bw-nav__punkt--cta .bw-nav__link { display: flex; width: 100%; }
	.bw-nav--offen .bw-mega {
		position: absolute !important; inset: 0; left: 0 !important; width: auto !important; min-width: 100% !important; display: flex; flex-direction: column; padding: var(--space-m) var(--gutter);
		overflow-x: hidden; background-color: var(--white); border-radius: 0; box-shadow: none; opacity: 0; transform: translateX(100%); scrollbar-width: none;
		transition: transform .2s cubic-bezier(.79, .14, .15, .86), opacity .2s, visibility .2s;
	}
	.bw-nav--offen .bw-nav__punkt--offen > .bw-mega { opacity: 1; visibility: visible; transform: translateX(0); }
	.bw-nav--offen .bw-nav__punkt--offen > .bw-nav__toggle { position: fixed; z-index: 2; top: var(--space-m); left: var(--gutter); width: auto; padding: 0; gap: .4em; min-height: 2.6rem; font-size: calc(2.6rem / 1.6); color: var(--base); background: none; border: 0; }
	.bw-nav--offen .bw-nav__punkt--offen > .bw-nav__toggle svg { order: -1; transform: rotate(90deg); }
	.bw-nav--offen .bw-mega__liste, .bw-nav--offen .bw-mega__cta { padding: 0; }
	.bw-nav--offen .bw-ratgeber { grid-template-columns: var(--grid-1); }
	.bw-nav--offen .bw-mega--ratgeber { display: flex; }
}
@media (max-width: 767px) {
	.bw-nav { margin-left: auto; }
	.bw-mega__cta { place-items: center; justify-content: center; }
	.bw-mega__cta-inhalt { align-items: center; text-align: center; }
	.bw-mega__cta-knopf { align-items: center; }
}
html.bw-nav-offen, html.bw-suche-offen { overflow: hidden; }

/* orte-menue.css */
/* Mega-Menü „Einsatzorte“: CSS aus WPCodeBox 19 (dort per JS eingesetzt), Klassen bwn- → bw-orte-. */
/* Growsta: Mega-Menü Einsatzorte (bw-orte-) */
.bw-orte-li{position:relative}
.bw-orte-li>a.bw-orte-a{cursor:pointer}
.bw-orte-chev{background:none;border:0;padding:0 0 0 8px;margin:0;cursor:pointer;display:inline-flex;align-items:center;color:inherit;line-height:1}
.bw-orte-chev svg{width:14px;height:14px;transition:transform .2s ease}
.bw-orte-li.bw-orte-offen>.bw-orte-chev svg{transform:rotate(180deg)}
.bw-kopf .bw-orte-li.bw-orte-offen>a.bw-orte-a{color:#de3e23}
html:not(.bw-orte-m) .bw-orte-li{display:flex;align-items:center}
.bw-orte{position:absolute;z-index:1001;display:none;background:#fff;border-radius:32px;overflow:hidden;color:#1b1b1b;font-family:inherit;text-align:left;
  box-shadow:rgba(0,0,0,.05) 67px 203px 128px 0,rgba(0,0,0,.09) 30px 90px 95px 0,rgba(0,0,0,.1) 7px 23px 52px 0}
.bw-orte.bw-orte-offen{display:flex;flex-direction:column}
.bw-orte *,.bw-orte-mobil *{box-sizing:border-box}
.bw-orte-kopf{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;border-bottom:1px solid #ececec}
.bw-orte-such{position:relative;flex:0 1 440px}
.bw-orte-such input{width:100%;height:48px;margin:0;border:1px solid #d6d6d6;border-radius:999px;padding:0 20px 0 48px;font:inherit;font-size:16px;color:#1b1b1b;background:#fff;outline:none}
.bw-orte-such input:focus{border-color:#de3e23;box-shadow:0 0 0 3px rgba(222,62,35,.15)}
.bw-orte-such>svg{position:absolute;left:18px;top:24px;transform:translateY(-50%);width:18px;height:18px;color:#777;pointer-events:none}
.bw-orte-alle{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:16px;color:#1b1b1b;text-decoration:none;white-space:nowrap}
.bw-orte-alle:hover{color:#de3e23}
.bw-orte-alle svg,.bw-orte-btn svg,.bw-orte-kachel svg{width:16px;height:16px;flex:none}
.bw-orte-body{display:grid;grid-template-columns:270px 1fr;min-height:0;flex:1 1 auto}
.bw-orte-rail{border-right:1px solid #ececec;padding:12px;overflow:auto}
.bw-orte-tab{display:block;width:100%;text-align:left;background:none;border:0;border-radius:12px;padding:3px 16px;margin:0;font:inherit;font-size:15px;line-height:1.2;min-height:26px;color:#333;cursor:pointer}
.bw-orte-tab:hover{color:#de3e23}
.bw-orte-tab[aria-selected=true]{background:#fdf0ed;color:#de3e23;font-weight:600}
.bw-orte-tab:focus-visible{outline:2px solid #de3e23;outline-offset:-2px}
.bw-orte-trenner{height:1px;background:#ececec;margin:6px 16px}
.bw-orte-inhalt{padding:24px 32px;overflow:auto}
.bw-orte-zeile{margin:0 0 16px;color:#666;font-size:15px}
.bw-orte-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bw-orte-kachel{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 18px;border:1px solid #e4e4e4;border-radius:16px;text-decoration:none;color:#1b1b1b;transition:border-color .15s,box-shadow .15s}
.bw-orte-kachel strong{display:block;font-size:18px;font-weight:600;line-height:1.25}
.bw-orte-kachel small{display:block;font-size:13px;color:#777;margin-top:2px}
.bw-orte-kachel svg{color:#de3e23}
.bw-orte-kachel:hover,.bw-orte-kachel:focus-visible{border-color:#de3e23;box-shadow:0 4px 16px rgba(222,62,35,.12);outline:none}
.bw-orte-pk{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.bw-orte-pk h3{margin:0;font-size:24px;font-weight:600;line-height:1.2;color:#1b1b1b}
.bw-orte-team{font-size:14px;color:#666}
.bw-orte-team a,.bw-orte-fuss a{color:#de3e23;font-weight:600;text-decoration:none;white-space:nowrap}
.bw-orte-staedte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.bw-orte-staedte a{display:block;padding:9px 0;color:#1b1b1b;text-decoration:none;font-size:16px;border-bottom:1px solid #f1f1f1}
.bw-orte-staedte a:hover,.bw-orte-staedte a:focus-visible{color:#de3e23;outline:none}
.bw-orte-mehr{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.bw-orte-btn{display:inline-flex;align-items:center;gap:8px;background:#1b1b1b;color:#fff !important;border-radius:999px;padding:12px 22px;text-decoration:none;font-weight:600;font-size:15px;min-height:44px}
@media (hover:hover){.bw-orte-btn:hover{background:#de3e23}}
.bw-orte-btn:focus-visible{background:#de3e23}
.bw-orte-dezent{color:#888;font-size:14px}
.bw-orte-link{display:inline-flex;align-items:center;gap:6px;color:#de3e23;font-weight:600;text-decoration:none;font-size:15px}
.bw-orte-fuss{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 32px;background:#f6f6f6;font-size:15px;color:#555}
.bw-orte-fuss strong{color:#1b1b1b}
.bw-orte-liste{position:absolute;top:54px;left:0;right:0;background:#fff;border:1px solid #e4e4e4;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12);max-height:340px;overflow:auto;z-index:3;padding:6px}
.bw-orte-liste[hidden]{display:none}
.bw-orte-liste a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:#1b1b1b;text-decoration:none;font-size:16px}
.bw-orte-liste a[aria-selected=true],.bw-orte-liste a:hover{background:#fdf0ed}
.bw-orte-liste small{color:#888;font-size:13px;text-align:right}
.bw-orte-liste mark{background:none;color:#de3e23;font-weight:600}
.bw-orte-leer{padding:12px 14px;font-size:15px;color:#555;line-height:1.5}
.bw-orte-leer a{color:#de3e23;font-weight:600}
/* Handy-Menü */
.bw-orte-mobil{display:none}
html.bw-orte-m .bw-orte-li{display:flex;flex-wrap:wrap;align-items:center}
html.bw-orte-m .bw-kopf .bw-orte-li>a.bw-orte-a{flex:1 1 0;width:auto;min-width:0}
html.bw-orte-m .bw-orte-chev{padding:0 24px;align-self:stretch;min-width:64px;justify-content:flex-end}
html.bw-orte-m .bw-orte-chev svg{width:16px;height:16px}
html.bw-orte-m .bw-orte-li.bw-orte-offen>.bw-orte-chev{background:#f2f2f2}
html.bw-orte-m .bw-orte-li.bw-orte-offen>.bw-orte-mobil{display:block}
.bw-orte-mobil{flex:0 0 100%;width:100%;padding:4px 24px 24px;color:#1b1b1b;text-align:left;font-size:16px}
.bw-orte-mobil .bw-orte-such{margin-bottom:20px}
.bw-orte-mobil .bw-orte-liste{top:54px}
.bw-orte-h{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#888}
.bw-orte-mobil .bw-orte-kacheln{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}
.bw-orte-mobil .bw-orte-kachel{padding:12px 14px;border-radius:14px}
.bw-orte-mobil .bw-orte-kachel strong{font-size:16px}
.bw-orte-mobil .bw-orte-kachel small{display:none}
.bw-orte-akk{border-top:1px solid #ececec}
.bw-orte-akk:last-of-type{border-bottom:1px solid #ececec}
.bw-orte-akk-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:10px 0;background:none;border:0;font:inherit;font-size:16px;color:#1b1b1b;cursor:pointer;text-align:left}
.bw-orte-akk-btn svg{width:14px;height:14px;transition:transform .2s ease}
.bw-orte-akk-btn[aria-expanded=true]{color:#de3e23;font-weight:600}
.bw-orte-akk-btn[aria-expanded=true] svg{transform:rotate(180deg)}
.bw-orte-akk-inhalt{padding:0 0 16px}
.bw-orte-akk-inhalt[hidden]{display:none}
.bw-orte-mobil .bw-orte-staedte{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.bw-orte-mobil .bw-orte-staedte a{padding:11px 0}
.bw-orte-mobil .bw-orte-kacheln.bw-orte-staat{margin-bottom:0}
.bw-orte-mobil .bw-orte-team{display:block;margin-bottom:8px}
.bw-orte-mobil .bw-orte-mehr{margin-top:14px}
.bw-orte-mobil .bw-orte-mehr .bw-orte-dezent{display:none}
.bw-orte-mobil .bw-orte-alle{margin-top:20px}
@media (prefers-reduced-motion:reduce){.bw-orte-chev svg,.bw-orte-akk-btn svg,.bw-orte-kachel{transition:none}}

/* suche.css */
/* Suchfenster (Frames-Modal 227#dtzsjp, search-popup) mit Livesuche. */
.bw-suche { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 50px; }
.bw-suche[hidden] { display: none; }
.bw-suche__hintergrund { position: absolute; inset: 0; background-color: var(--neutral-trans-40); }
.bw-suche__fenster { position: relative; z-index: 1000; width: var(--width-l); max-width: calc(100% - 100px); max-height: calc(100% - 100px); overflow-y: auto; }
.bw-suche__inhalt { display: flex; flex-direction: column; align-items: center; gap: var(--content-gap); padding: var(--space-m); background-color: var(--white); border-radius: var(--border-radius); }
.bw-suche__titel { font-weight: 700; font-size: var(--h2); line-height: var(--h2-line-height); }
.bw-suche__intro { font-weight: 600; text-align: center; }
.bw-suche__feld { position: relative; width: 100%; max-width: 430px; margin-inline: auto; }
.bw-suche__feld svg { position: absolute; left: 0; top: calc(50% - 8px); width: var(--text-m); height: var(--text-m); margin: 0 8px 0 10px; opacity: .35; overflow: visible; fill: none; stroke: currentColor; stroke-width: 3; box-sizing: initial; }
.bw-suche__eingabe { width: 100%; padding: 0 12px 0 var(--space-l); line-height: 40px; border: 1px solid var(--bricks-border-color, #dddedf); outline: none; color: currentColor; }
.bw-suche__treffer { width: 100%; }
.bw-suche__liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5em 1em; list-style: none; margin: 0; padding: 0; }
@media (max-width: 767px) { .bw-suche { padding: 3rem; } .bw-suche__fenster { max-width: 100%; } .bw-suche__liste { grid-template-columns: 1fr; } }
.bw-suche__leer { text-align: center; }

/* schwebeknoepfe.css */
/* Schwebende Kontaktknöpfe unten rechts (227 .floating-icons). Telefon nur ≤ 767 px (#brxe-cndeko), dort blendet die
   Anfrageleiste beide aus (anfrageleiste.css). */
.bw-schwebeknoepfe { --icon-size: var(--text-l); position: fixed; right: var(--space-m); bottom: var(--space-m); z-index: 99; display: flex; flex-direction: column; row-gap: var(--space-xs); }
.bw-schwebeknoepfe__knopf { display: flex; justify-content: center; align-items: center; width: calc(var(--icon-size) * 2); height: calc(var(--icon-size) * 2); border-radius: 50%; background-color: var(--action); }
.bw-schwebeknoepfe__knopf--telefon { display: none; }
@media (max-width: 767px) { .bw-schwebeknoepfe__knopf--telefon { display: flex; } }
.bw-schwebeknoepfe__icon { width: var(--icon-size); height: var(--icon-size); }
.bw-schwebeknoepfe__icon :not([stroke="none"]) { stroke: var(--white); }
.bw-schwebeknoepfe__icon :not([fill="none"]) { fill: var(--white); }

/* fuss.css */
/* Fußbereich (Bricks-Footer 233, Frames big-footer + legal-meta-bravo). */
.bw-fuss { position: relative; width: 100%; margin-top: auto; flex-shrink: 0; }
.bw-fuss__bereich {
	display: flex; flex-direction: column; align-items: center; row-gap: var(--container-gap); column-gap: var(--container-gap); width: 100%;
	padding: var(--space-xxl) var(--gutter) var(--space-m); background-color: var(--primary-ultra-dark); color: var(--fr-text-light);
}
.bw-fuss__raster {
	position: relative; display: grid; grid-template-columns: var(--grid-4); grid-template-rows: var(--grid-1); gap: var(--container-gap);
	align-content: stretch; align-items: flex-start; width: var(--content-width); max-width: 100%; margin-inline: auto;
}
.bw-fuss__raster > * { position: relative; }
.bw-fuss__raster::after, .bw-fuss__raster > :first-child::after {
	content: ""; position: absolute; bottom: calc((var(--container-gap) / 2) * -1); width: 100%; height: .1em; background-color: var(--neutral-light-trans-40);
}
.bw-fuss__spalten { display: flex; gap: var(--grid-gap); width: 100%; grid-column: 1 / 6; }
.bw-fuss__spalte { display: flex; flex-direction: column; align-items: flex-start; row-gap: var(--content-gap); column-gap: var(--content-gap); }
.bw-fuss__spalte--siegel { flex-direction: row; }
.bw-fuss__siegel { display: block; }
.bw-fuss__siegel img { border-radius: 0; }
.bw-fuss__siegel a[id^="pe_badge_"] { display: inline; }
.bw-fuss__logo { position: relative; display: block; width: 12rem; max-width: 100%; height: fit-content; border-radius: 0; }
.bw-fuss__logo img { width: 100%; height: 100%; border-radius: 0; }
.bw-fuss__kontakt { display: flex; flex-direction: column; row-gap: var(--content-gap); margin-top: 0; }
.bw-fuss__kontakt-details { display: flex; flex-flow: column wrap; align-items: stretch; column-gap: var(--content-gap); row-gap: var(--content-gap); font-size: var(--text-s); }
.bw-fuss__meta { display: flex; flex-direction: column; row-gap: .5em; }
.bw-fuss__meta-titel { color: var(--text-light); font-size: var(--h4); font-weight: 700; }
.bw-fuss__meta-link { display: inline-flex; align-items: center; gap: 5px; color: var(--action); font-size: var(--text-m); text-decoration: none; }
.bw-fuss__meta-link > span { display: inline-flex; align-items: center; justify-content: center; }
.bw-fuss__meta-link:hover { color: var(--action-ultra-light); }
.bw-fuss__meta-icon { flex-shrink: 0; color: var(--action); fill: var(--action); }
.bw-fuss__meta-icon svg { width: 1.5em; height: 1.5em; fill: currentColor; }
.bw-fuss__titel { color: var(--text-light); font-size: var(--h4); font-weight: 700; line-height: var(--h3-line-height); }
.bw-fuss__liste { display: flex; flex-direction: column; row-gap: var(--fr-card-gap); margin: 0; padding-left: 0; list-style: none; }
.bw-fuss__link { display: inline-flex; align-items: center; gap: 5px; color: var(--text-light-muted); text-decoration: none; }
.bw-fuss__link:hover { color: var(--action-ultra-light); }
.bw-fuss__leer { display: flex; flex-direction: row; align-items: center; justify-content: center; width: var(--content-width); max-width: 100%; }
.bw-fuss__unterzeile {
	display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; column-gap: var(--content-gap); row-gap: var(--content-gap);
	width: var(--content-width); max-width: 100%; font-size: var(--text-s);
}
.bw-fuss__unterzeile a { color: var(--action-light); }
.bw-fuss__unterzeile a:hover { color: var(--action-ultra-light); }
.bw-fuss__unterzeile .bw-fuss__link--recht { display: inline; color: var(--white); }

.bw-fuss__recht-liste { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--content-gap); row-gap: var(--space-xs); list-style: none; padding: 0; margin: 0; }

#pe_rating > span > .pe_u { text-decoration: none !important; }
@media (max-width: 991px) {
	.bw-fuss__raster { display: flex; flex-direction: column; }
	.bw-fuss__spalten { flex-direction: column; }
	.bw-fuss__spalte--siegel { flex-direction: column; }
}
@media (max-width: 767px) {
	.bw-fuss__unterzeile { flex-direction: column; }
}
@media (max-width: 478px) {
	.bw-fuss__unterzeile { justify-content: center; text-align: center; }
}

/* fuss-cta.css */
/* Footer-CTA (6141 bzw. 695#fnztli): blaue Box halb über dem dunklen Fußbereich. */
.bw-fuss-cta {
	display: flex; flex-direction: column; align-items: center; gap: var(--container-gap); width: 100%;
	padding: var(--section-padding-block) var(--gutter) 0; background-image: linear-gradient(rgba(255, 255, 255, 0) 50%, var(--primary-ultra-dark) 50%);
}
.bw-fuss-cta__box { display: flex; flex-direction: column; align-items: flex-start; width: var(--content-width); max-width: 100%; margin-inline: auto; }
.bw-fuss-cta__raster { display: grid; grid-template-columns: var(--grid-2); gap: var(--content-gap); width: 100%; }
.bw-fuss-cta__titel-wrapper { display: flex; flex-direction: column; align-items: flex-start; row-gap: var(--content-gap); column-gap: var(--content-gap); width: 100%; }
.bw-fuss-cta__titel {
	width: 15ch; max-width: 100%; color: var(--white); font-family: var(--heading-font-family); font-size: var(--h2); line-height: var(--h2-line-height);
	letter-spacing: var(--h2-letter-spacing); font-weight: 700; text-wrap: var(--heading-text-wrap);
}
.bw-fuss-cta__knopf { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; gap: var(--content-gap); width: 100%; margin-top: var(--space-m); }
@media (max-width: 991px) {
	.bw-fuss-cta__raster { grid-template-columns: var(--grid-1); place-items: center; justify-content: center; text-align: center; }
	.bw-fuss-cta__titel-wrapper, .bw-fuss-cta__knopf { align-items: center; }
}
@media (max-width: 767px) { .bw-fuss-cta__box { padding: var(--space-m); } }

/* anfrageleiste.css */
/* Mobile Anfrageleiste: Port von WPCodeBox 17 (Klassen bwq- wie live, Interaktionstest). */
/* Brandwache247 halb offenes Anfrage-Formular (Growsta, 08.10.2026): nur Handy, ersetzt die zwei runden Icons .bw-schwebeknoepfe */
@media (max-width: 767px) {
  .bw-schwebeknoepfe { display: none !important; }
  body.bwq-on { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  body.bwq-on .grecaptcha-badge { bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
}
.bwq { display: none; }
@media (max-width: 767px) {
  .bwq { display: block; --bwq-red: #de3e23; --bwq-red-dark: #b92f18; --bwq-navy: #1c3458; --bwq-ink: #292d32; --bwq-grey: #f2f5f8; --bwq-line: #dde3ea; font-family: Gilroy, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--bwq-ink); }
  .bwq *, .bwq *::before, .bwq *::after { box-sizing: border-box; }
  .bwq :where(button) { all: unset; box-sizing: border-box; font: inherit; cursor: pointer; color: inherit; -webkit-tap-highlight-color: transparent; }
  .bwq :where(div, p, label, form, span, a, strong, b, small) { margin: 0; padding: 0; letter-spacing: normal; text-transform: none; }
  .bwq :where(input, textarea) { letter-spacing: normal; text-transform: none; box-shadow: none; min-height: 0; }
  .bwq a { text-decoration: none; }
  .bwq-ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

  .bwq-scrim { position: fixed; inset: 0; z-index: 9988; background: rgba(16, 24, 36, .5); opacity: 0; pointer-events: none; transition: opacity .25s; }
  .bwq-open .bwq-scrim { opacity: 1; pointer-events: auto; }

  .bwq-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9989; height: min(88vh, 720px); display: flex; flex-direction: column; background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -10px 30px rgba(16, 24, 36, .18); transform: translateY(calc(100% - 78px - env(safe-area-inset-bottom))); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
  .bwq-open .bwq-sheet { transform: none; }

  /* Kopf: im geschlossenen Zustand das, was herausschaut */
  .bwq .bwq-peek { display: flex; align-items: center; gap: 12px; padding: 8px 14px 10px 18px; min-height: 78px; }
  .bwq-handle { display: block; flex: 1; min-width: 0; text-align: left; padding: 4px 0; }
  .bwq .bwq-grab { display: block; width: 40px; height: 4px; border-radius: 4px; background: #cfd6de; margin: 0 0 8px calc(50vw - 38px); }
  .bwq-title { display: flex; align-items: center; gap: 6px; font-size: 17px; font-weight: 700; line-height: 1.2; color: var(--bwq-ink); }
  .bwq-title .bwq-ico { width: 18px; height: 18px; color: var(--bwq-red); transition: transform .3s; }
  .bwq-open .bwq-title .bwq-ico { transform: rotate(180deg); }
  .bwq .bwq-sub { display: block; font-size: 13px; color: #5d6670; margin-top: 3px; }
  .bwq-call { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--bwq-red); color: #fff; box-shadow: 0 6px 16px rgba(222, 62, 35, .35); flex-shrink: 0; }
  .bwq-call .bwq-ico { width: 22px; height: 22px; }
  .bwq-open .bwq-call { display: none; }
  .bwq-x { display: none; width: 40px; height: 40px; border-radius: 50%; background: var(--bwq-grey) !important; font-size: 24px; line-height: 1; color: var(--bwq-ink); }
  .bwq-open .bwq-x { display: grid; place-items: center; }

  /* Inhalt */
  .bwq .bwq-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 0 18px calc(22px + env(safe-area-inset-bottom)); }
  .bwq .bwq-callbox { display: grid; gap: 8px; background: var(--bwq-grey); border-radius: 14px; padding: 12px 14px; margin-bottom: 18px; }
  .bwq-callbox b { font-size: 14px; }
  .bwq-callbox .bwq-big { display: flex; align-items: center; justify-content: center; gap: 9px; background: var(--bwq-red); color: #fff; font-weight: 700; font-size: 17px; border-radius: 12px; padding: 12px; font-variant-numeric: tabular-nums; }
  .bwq-callbox .bwq-free { font-size: 13px; color: #4a535c; text-align: center; }
  .bwq-callbox .bwq-free a { color: var(--bwq-navy); font-weight: 600; text-decoration: underline; }
  .bwq .bwq-sep { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #7a838c; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 14px; }
  .bwq-sep::before, .bwq-sep::after { content: ""; flex: 1; height: 1px; background: var(--bwq-line); }

  .bwq-f { display: grid; gap: 14px; }
  .bwq .bwq-q { font-size: 15px; font-weight: 700; margin: 0 0 8px; }
  .bwq-chips { display: flex; flex-wrap: wrap; gap: 7px; }
  .bwq-chip { display: inline-block; font-size: 14px; font-weight: 500; border: 1.5px solid var(--bwq-line) !important; background: #fff !important; border-radius: 999px; padding: 8px 13px; line-height: 1.2; color: var(--bwq-ink); }
  .bwq-chip[aria-pressed="true"] { background: var(--bwq-navy) !important; border-color: var(--bwq-navy) !important; color: #fff; }
  .bwq-f label { display: block; font-size: 13px; color: #4a535c; }
  .bwq-f label small { color: #7a838c; }
  .bwq-f input, .bwq-f textarea { display: block; width: 100%; font: inherit; font-size: 16px; color: var(--bwq-ink); background: #fff; border: 1.5px solid #cdd5dd; border-radius: 12px; padding: 11px 12px; margin-top: 4px; }
  .bwq-f textarea { min-height: 84px; resize: vertical; }
  .bwq-f input:focus, .bwq-f textarea:focus { outline: none; border-color: var(--bwq-navy); box-shadow: 0 0 0 3px rgba(28, 52, 88, .18); }
  .bwq-f input[aria-invalid="true"] { border-color: var(--bwq-red); }
  .bwq-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .bwq-err { color: var(--bwq-red-dark); font-size: 13px; }
  .bwq-send { display: block; text-align: center; width: 100%; background: var(--bwq-red) !important; color: #fff !important; font-weight: 700; font-size: 16px; border-radius: 12px; padding: 14px; }
  .bwq-send[disabled] { opacity: .65; }
  .bwq-legal { font-size: 11.5px; line-height: 1.5; color: #6a737c; margin: 0; }
  .bwq-legal a { color: inherit; text-decoration: underline; }
  .bwq .bwq-done { display: none; text-align: center; padding: 18px 4px 6px; }
  .bwq-done strong { display: block; font-size: 19px; margin-bottom: 6px; }
  .bwq-done p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4a535c; }
  .bwq-sent .bwq-f, .bwq-sent .bwq-sep { display: none; }
  .bwq.bwq-sent .bwq-done { display: block; }
  .bwq :focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) { .bwq * { transition: none !important; } }

/* live: Bricks-Grundregel label { font-weight: 400 } wirkt in der Leiste mit (gemessen 390 px) */
@media (max-width: 767px) { .bwq label { font-weight: 400; } }

/* hero-stadt.css */
/* Hero Stadtseite (695#cvqlvm, globale Klassen hero-einsatzorte*). */
.bw-hero-stadt {
	position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; gap: var(--container-gap); width: 100%; color: var(--white);
	padding: calc(var(--section-padding-block-double) + var(--header-height)) var(--gutter) var(--section-padding-block-double);
	border-bottom-right-radius: var(--border-radius); border-bottom-left-radius: var(--border-radius);
}
.bw-hero-stadt__raster { display: grid; align-items: initial; gap: var(--grid-gap); grid-template-columns: var(--grid-2); }
.bw-hero-stadt__inhalt { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; row-gap: var(--content-gap); column-gap: var(--content-gap); width: 100%; color: var(--fr-text-light); }
.bw-hero-stadt__titel { color: var(--white); font-size: var(--h2); }
.bw-hero-stadt__lede { max-width: 60ch; font-size: var(--text-m); }
.bw-hero-stadt__rechts { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--content-gap); width: 100%; }
.bw-hero-stadt__bild { position: relative; z-index: 999; display: inline-block; width: 100%; max-width: 100%; height: fit-content; border-radius: var(--border-radius); } /* width 100 % statt auto: auto hatte vor dem Laden des Bildes keine Breite (24 px hoch → CLS 0,11 Desktop, 24.10.); das Bild (1024 px) ist breiter als die Spalte, Optik gleich */
.bw-hero-stadt__bild img { width: 100%; height: 100%; aspect-ratio: 900 / 550; border-radius: inherit; object-fit: cover; }
.bw-hero-stadt__knopf { margin-top: var(--space-m); }
.bw-hero-stadt__hintergrund {
	position: absolute; inset: 0; z-index: -1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); overflow: hidden;
	background-color: var(--primary-trans-50); border-bottom-right-radius: var(--border-radius); border-bottom-left-radius: var(--border-radius);
}
.bw-hero-stadt__overlay {
	position: absolute; inset: 0; z-index: 2; background-color: var(--primary-trans-70);
	background-image: url("https://www.brandwache247.de/wp-content/themes/brandwache/assets/bilder/hero-overlay.webp"); background-size: cover; /* P6b: live 899-KiB-PNG, hier weicher Verlauf auf 360 px WebP q90 (12 KiB, per cover hochskaliert, Abweichung max 5/255) */
}
.bw-hero-stadt__hintergrundbild { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .05; border-radius: var(--border-radius); }
@media (max-width: 991px) {
	.bw-hero-stadt__raster { grid-template-columns: var(--grid-1); }
	.bw-hero-stadt__titel { max-width: none; }
}
@media (max-width: 478px) { .bw-hero-stadt__titel, .bw-hero-stadt__lede { text-align: left; } }

/* zahlen.css */
/* Zahlenleiste (Teilvorlage 7102, globale Klassen numbers*, content-44*). Endwerte serverseitig, keine Zähl-Animation. */
.bw-zahlen { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: var(--container-gap); width: 100%; padding: 0 var(--gutter); }
.bw-zahlen__box {
	display: grid; grid-template-columns: var(--grid-3-2); place-content: center; justify-items: center; gap: 2em; align-items: initial;
	padding: var(--space-s) var(--space-s) var(--space-s) var(--space-l); margin-top: calc(var(--section-padding-block-double) * -.5);
	border-radius: var(--border-radius); background-color: var(--white);
}
.bw-zahlen__intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; row-gap: var(--content-gap); column-gap: var(--content-gap); width: 100%; padding-block: var(--space-l); text-align: left; }
.bw-zahlen__tagline { align-self: flex-start; }
.bw-zahlen__titel { font-size: var(--h3); font-weight: 700; line-height: var(--h3-line-height); }
.bw-zahlen__liste { display: grid; grid-template-columns: var(--grid-3); gap: var(--space-m); width: 100%; margin: 0; padding-left: 0; list-style: none; }
.bw-zahlen__eintrag { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; column-gap: var(--content-gap); width: 100%; }
.bw-zahlen__zahl { width: auto; }
.bw-zahlen__wert { color: var(--primary); font-size: calc(var(--text-xxl) * 1.25); font-weight: 700; line-height: 1em; }
.bw-zahlen__zusatz { color: var(--primary); font-size: calc(var(--text-xxl) * 1.25); font-weight: 700; }
.bw-zahlen__text { text-align: left; }
.bw-zahlen__karte {
	display: grid; grid-template-columns: var(--grid-2-3); align-items: stretch; gap: var(--content-gap); width: 100%;
	padding: var(--space-s) var(--space-s) 0; background-color: var(--body-bg-color); border: 0; border-radius: 1em;
}
.bw-zahlen__karte-bild { display: flex; flex-direction: column; align-items: flex-start; align-self: flex-end; width: 100%; gap: var(--content-gap); }
.bw-zahlen__karte-bild img { border-radius: var(--border-radius); }
.bw-zahlen__karte-text { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; row-gap: .8em; column-gap: var(--content-gap); width: 100%; }
.bw-zahlen__karte-innen { display: flex; flex-direction: column; align-items: flex-start; row-gap: .2em; column-gap: var(--content-gap); width: 100%; }
.bw-zahlen__unterzeile { font-size: 1.1em; font-weight: 700; }
@media (max-width: 991px) { .bw-zahlen__box { grid-template-columns: var(--grid-1); } }
@media (max-width: 767px) {
	.bw-zahlen__box { gap: 1em; }
	.bw-zahlen__liste { grid-template-columns: var(--grid-1); }
	.bw-zahlen__eintrag { align-items: center; }
}
@media (max-width: 478px) { .bw-zahlen__karte-text { padding-block: .5em; } }

/* referenzen.css */
/* Referenzen (695#wigbac: intro-two-columns #mrgfxx mit 2 gleichen Spalten, trustlogos). */
.bw-referenzen__intro { display: grid; grid-template-columns: var(--grid-2); gap: var(--grid-gap); align-items: flex-end; }
.bw-referenzen__intro .bw-intro-zweispaltig__ueberschrift { font-weight: 700; }
.bw-referenzen__logos { display: grid; grid-template-columns: var(--grid-4); gap: var(--space-s); align-items: initial; }
.bw-referenzen__logo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--content-gap); width: 100%; padding: var(--space-l); background-color: var(--white); border-radius: var(--border-radius-small); }
.bw-referenzen__bild { border-radius: 0; }
@media (max-width: 991px) { .bw-referenzen__intro { grid-template-columns: var(--grid-1); } }
@media (max-width: 767px) { .bw-referenzen__logos { grid-template-columns: var(--grid-2); } }

/* leistungen.css */
/* „Wer ist“ (695#nnolhj, section--white-box + beyond-grid) und Leistungskarten (695#lhszca, blue-box + leistungen-grid + image-bg-card). */
.bw-wer-ist__titel { font-weight: 700; }
.bw-wer-ist__text { max-width: 50ch; }
.bw-wer-ist__knopf { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; margin-top: var(--space-m); }
.bw-zweispaltig > .bw-wer-ist__bild-wrapper { align-self: flex-start; }
.bw-wer-ist__bild { height: auto; border-radius: var(--border-radius); }
@media (max-width: 991px) { .bw-wer-ist__text { max-width: none; } }

.bw-leistungen__huelle { gap: var(--content-gap); transition: opacity .35s; }
.bw-leistungen__box { width: var(--content-width); max-width: 100%; }
.bw-leistungen__titel { color: var(--white); }
@media (max-width: 767px) { .bw-leistungen__box { padding-left: var(--gutter); padding-right: var(--gutter); } }

/* Raster: live festes 3er-Raster (bei 6 Karten exakt wie live). E6: bei 2–5 Karten keine halb leere Reihe. */
.bw-leistungen__raster { display: grid; grid-template-columns: var(--grid-3); gap: var(--grid-gap); width: 100%; transition: opacity .35s; }
.bw-leistungen__raster--n2, .bw-leistungen__raster--n4 { grid-template-columns: var(--grid-2); }
.bw-leistungen__raster--n5 { display: flex; flex-wrap: wrap; justify-content: center; }
.bw-leistungen__raster--n5 > .bw-karte { width: calc((100% - 2 * var(--grid-gap)) / 3); }
@media (max-width: 767px) {
	.bw-leistungen__raster { grid-template-columns: 1fr !important; }
	.bw-leistungen__raster--n5 { display: grid; }
	.bw-leistungen__raster--n5 > .bw-karte { width: 100%; }
}
.bw-karte { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; min-height: 25em; overflow: hidden; border-radius: var(--border-radius); transition: transform .6s; }
.bw-karte:hover { transform: translateY(-.75em); }
.bw-karte__bild { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: var(--border-radius); }
.bw-karte__bild img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.bw-karte__overlay {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; row-gap: calc(var(--content-gap) / 2); column-gap: var(--content-gap);
	width: 100%; padding: var(--space-l); text-align: center; color: var(--white); background-color: var(--black-trans-60);
}
.bw-karte__titel { max-width: 100%; text-align: center; color: var(--white); font-size: calc(var(--h4) * 1.5); font-weight: 600; }
.bw-karte__text { max-width: 100%; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
/* Text aus dem Editor (eigene <p>): live stand davor ein leerer Absatz (verschachteltes <p>, E6) → gleicher Abstand ohne Klemmung */
.bw-karte__text--frei { display: block; overflow: visible; margin-top: calc(var(--content-gap) / 2); }

/* Variante „alle Leistungen“ (695#itduto, leeres UnsereLeistungenSelect): live ul.fr-feature-grid-golf mit denselben
   image-bg-card-Karten wie die Auswahl, Titel als Link (clickable-parent), Abstand --space-s (Difftor P5: Hamburg, Bad Dürkheim). */
.bw-leistungen__alle { display: grid; grid-template-columns: var(--grid-3); grid-template-rows: var(--grid-1); align-items: stretch; gap: var(--space-s); width: 100%; margin: 0; padding: 0; list-style: none; }
.bw-karte__link { color: inherit; }
.bw-karte__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
@media (max-width: 991px) { .bw-leistungen__alle { grid-template-columns: var(--grid-2); } }
@media (max-width: 767px) { .bw-leistungen__alle { grid-template-columns: var(--grid-1); } }

/* angebot.css */
/* Angebot (695#ikpbrk: box-overlap + grid--2-col + list--grid), Zusatz + Angebots-Box (box-overlap__section, cities-big-cta, offer__list). */
.bw-angebot { position: relative; }
.bw-angebot__raster { display: grid; grid-template-columns: var(--grid-2); gap: var(--grid-gap); align-items: initial; }
.bw-angebot__titel { font-weight: 700; }
.bw-angebot__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; }
/* live: leerer Absatz #ijiehy vor den Editor-Absätzen (verschachteltes p, E6) -> gleicher Abstand über ein leeres Element */
.bw-angebot__intro--absaetze::before { content: ""; }
.bw-angebot__lede { font-size: var(--text-ml); max-width: min(100ch, 100%); }
.bw-angebot__block { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; }
.bw-liste { display: grid; grid-template-columns: var(--grid-2); column-gap: 2em; row-gap: var(--space-xs); align-items: initial; width: 100%; }
.bw-liste__eintrag { display: flex; flex-wrap: nowrap; align-items: flex-start; column-gap: var(--space-xs); row-gap: var(--space-xs); }
.bw-liste__icon { flex-shrink: 0; margin-top: 3px; }
.bw-hinweis-box { width: 100%; max-width: var(--width-l); margin: var(--space-m) auto 0; padding: var(--space-m); background-color: var(--white); border-radius: var(--border-radius); text-align: center; }
@media (max-width: 767px) {
	.bw-angebot__raster, .bw-liste { grid-template-columns: var(--grid-1); }
}

/* Überlapp-Sektion: weiße Fläche hinter dem Zusatz, die blaue Angebots-Box ragt hinein */
.bw-ueberlapp {
	--padding-left: 4rem; --padding-right: 4rem; --padding-top: 6rem; --overlap: 10rem; --gap: var(--section-padding-block-double); --padding-bottom: calc(var(--gap) + var(--overlap));
	padding-top: calc(var(--section-padding-block) + var(--padding-top)); gap: var(--gap);
}
.bw-ueberlapp__box { position: relative; }
.bw-ueberlapp__box > * { position: relative; z-index: 2; }
.bw-ueberlapp__box::after {
	content: ""; position: absolute; left: calc(var(--padding-left) * -1); right: calc(var(--padding-right) * -1); top: calc(var(--padding-top) * -1);
	bottom: calc(var(--padding-bottom) * -1); max-width: 98vw; margin: auto; background-color: var(--white); border-radius: var(--border-radius);
}
.bw-zusatz__block { display: flex; flex-direction: column; align-items: flex-start; row-gap: calc(var(--content-gap) * .5); column-gap: var(--content-gap); width: 100%; }
.bw-zweispaltig > .bw-zusatz__spalte--rechts { row-gap: var(--space-l); }
.bw-angebotsbox__innen { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; }
.bw-angebotsbox__intro { grid-template-columns: var(--grid-2); }
.bw-angebotsbox__titel { font-size: var(--h3); font-weight: 700; line-height: var(--h3-line-height); color: var(--white); }
.bw-angebotsbox__lede { font-size: var(--text-ml); max-width: min(100ch, 100%); color: var(--text-light-muted); }
.bw-fragen { display: grid; grid-template-columns: var(--grid-2); gap: var(--space-m); align-items: initial; width: 100%; margin-block: var(--space-m); }
.bw-fragen__eintrag { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--content-gap); padding: 0; border-radius: var(--border-radius-small); }
.bw-fragen__icon-wrapper { display: flex; align-items: center; justify-content: center; flex-shrink: 0; gap: var(--content-gap); background-color: rgba(192, 214, 246, .15); border-radius: 50%; }
.bw-fragen__icon { width: 50px; height: 50px; padding: 15px 10px; flex-shrink: 0; fill: var(--white); }
.bw-fragen__text { color: var(--text-light); font-weight: 500; }
.bw-angebotsbox__knopf { display: flex; flex-direction: column; align-items: center; gap: var(--content-gap); width: 100%; }
@media (max-width: 991px) { .bw-angebotsbox__intro { grid-template-columns: var(--grid-1); } }
@media (max-width: 767px) { .bw-fragen { grid-template-columns: var(--grid-1); } }

/* faq.css */
/* FAQ (695#yhkshk, fr-faq-grid-alpha + faq-accordion) als details, nicht exklusiv. Geschlossene Antworten bleiben wie
   live im Layout (Höhe 0, abgeschnitten); Aufklappen mit Höhenübergang (interpolate-size). */
.bw-faq__box {
	position: relative; display: grid; grid-template-columns: var(--grid-2-3); grid-template-rows: var(--grid-1); gap: var(--space-xxl); align-items: stretch;
	padding: var(--space-xl) var(--space-l); background-color: var(--primary); border-radius: var(--border-radius); overflow: hidden;
}
.bw-faq__links, .bw-faq__rechts { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; }
.bw-faq__kopf { display: flex; flex-direction: column; align-items: flex-start; row-gap: var(--content-gap); column-gap: var(--content-gap); width: 100%; }
.bw-faq__titel { color: var(--text-light); }
.bw-faq__knopf { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); width: 100%; }
.bw-faq__liste { display: flex; flex-direction: column; width: 100%; }
.bw-faq__eintrag { display: flex; flex-direction: column; width: 100%; }
.bw-faq__frage-zeile {
	display: flex; flex-flow: row; align-items: center; justify-content: space-between; gap: var(--content-gap); width: 100%;
	padding: var(--space-s) var(--space-m); border-radius: var(--border-radius-small); color: var(--text-dark); cursor: pointer; list-style: none; transition: .3s ease-out;
}
.bw-faq__frage-zeile::-webkit-details-marker { display: none; }
.bw-faq__frage-zeile::marker { content: ""; }
.bw-faq__eintrag:nth-child(odd) > .bw-faq__frage-zeile { background-color: rgb(36, 60, 96); }
.bw-faq__frage { color: var(--white); font-size: var(--h4); }
.bw-faq__icon-wrapper { display: flex; justify-content: center; aspect-ratio: 1 / 1; gap: var(--content-gap); }
.bw-faq__icon { display: flex; justify-content: center; max-width: 100%; line-height: 1; font-size: 2em; min-width: 1em; min-height: 1em; transition: transform .2s ease-in-out; }
.bw-faq__eintrag[open] .bw-faq__icon { transform: rotate(45deg); }
.bw-faq__frage-zeile:focus-visible { outline: 2px solid var(--secondary); outline-offset: 2px; }
.bw-faq__eintrag::details-content { display: block; content-visibility: visible; block-size: 0; overflow: hidden; width: 100%; transition: block-size .3s ease-out, content-visibility .3s allow-discrete; }
.bw-faq__eintrag[open]::details-content { block-size: auto; }
.bw-faq__antwort { display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); padding: 1em; color: var(--text-light-muted); }
/* Antworttext füllt die Breite wie live (sonst rechnet das Flex-Kind 0,14 px breiter und bricht anders um, Difftor Hamburg 390) */
.bw-faq__antwort > .bw-text { width: 100%; }
.bw-faq__hintergrund { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--content-gap); }
.bw-faq__bild { margin-top: auto; border-radius: var(--border-radius); }
/* live seit 20.10. Snippet „wac-faq-mobil“: FAQ-Bild unter 991 px aus (sonst liegt das Teamfoto 36178 hinter den Fragen) */
@media (max-width: 991px) { .bw-faq__box { grid-template-columns: var(--grid-1); } .bw-faq__hintergrund { display: none; } }

/* standorte.css */
/* Unsere Standorte (695#iavvxs): weiße Box 4fr/3fr, Buchstabenfilter, Städte, Mini-CTA, Deutschlandkarte. */
.bw-standorte__box { position: relative; display: grid; align-items: stretch; grid-template-columns: 4fr 3fr; gap: var(--content-gap); padding: var(--space-m); background: var(--white); border-radius: .5em; }
.bw-standorte__links { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: var(--content-gap); width: 100%; }
.bw-standorte__titel { font-weight: 700; }
.bw-standorte__buchstaben { display: flex; flex-wrap: wrap; gap: .1em; width: 100%; }
.bw-standorte__buchstaben button { background: rgb(239, 244, 252); padding: .4em .2em; border-radius: .4em; color: rgb(41, 45, 50); font-size: .95em; transition: .25s; }
.bw-standorte__alle { flex-shrink: 0; height: 24px; display: flex; align-items: center; justify-content: center; padding-inline: .5em !important; }
.bw-standorte__buchstabe { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bw-standorte__buchstaben button:hover { color: rgb(222, 62, 35) !important; background: rgba(222, 62, 35, .1) !important; }
.bw-standorte__buchstaben button.ist-aktiv { background: #c0d6f6 !important; }
.bw-standorte__raster { --icon-size: var(--text-l); display: flex; flex-wrap: wrap; gap: .5em; width: 100%; }
.bw-standorte__raster [hidden] { display: none; }
.bw-standorte__ergebnis { font-weight: bold; color: rgb(0, 0, 0); } /* live #brxe-sgmgal erbt Schwarz, nicht die Textfarbe */
/* Stadt-Kacheln wie live (.city-item + .location-grid__item, 695#zbqdxy/#ptixja; Difftor P5 Bingen/Husum/Hannover) */
.bw-standorte__stadt { position: relative; display: flex; align-items: center; justify-content: flex-start; column-gap: var(--space-xs); row-gap: var(--space-xs); width: max-content; padding: 0; background-color: var(--white); border-radius: var(--border-radius-small); transition: var(--transition-duration, .3s) var(--transition-timing, ease) var(--transition-delay, 0s); }
.bw-standorte__stadt:hover { transform: translateY(-10px); }
.bw-standorte__stadt a { color: #1c3458; background: #c0d6f6; border-radius: .5em; padding: .1em .6em; }
.bw-standorte__stadt a:hover { background: #eff4fc; color: #1c3458; }
.bw-standorte__stadt a::after { content: ""; position: absolute; inset: 0; }
/* live steht zwischen Raster und Knöpfen noch das leere Code-Element 695#yxcskw (eine Lücke --content-gap mehr) */
.bw-standorte__knoepfe { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--content-gap); width: 100%; margin-top: calc(var(--space-m) + var(--content-gap)); }
.bw-mini-cta {
	position: relative; display: flex; flex-direction: column; width: 100%; margin-top: auto; padding: var(--space-m); overflow: hidden; color: var(--text-dark);
	background: rgb(239, 244, 252) url("https://www.brandwache247.de/wp-content/uploads/2026/03/Brandwache-Mitarbeiter-im-Einsatz.webp") right center / contain no-repeat; border-radius: 1em; transition: .25s;
}
.bw-mini-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(-90deg, rgba(239, 244, 252, 0) 0%, rgb(239, 244, 252) 36%); pointer-events: none; }
.bw-mini-cta:hover { color: var(--text-dark); }
.bw-mini-cta__innen { position: relative; display: flex; flex-direction: column; gap: var(--content-gap); } /* Bricks-Block: Inhaltsabstand wie live */
.bw-mini-cta__nummer { font-size: var(--h3); font-weight: bold; margin-top: var(--space-xs); }
.bw-mini-cta__zusatz { margin-top: var(--space-xs); }
.bw-standorte__karte { display: flex; flex-direction: column; }
.bw-standorte__karte-innen { position: relative; height: max-content; }
.bw-standorte__karte svg { display: block; max-width: 100%; height: auto; } /* live Flex-Kind (Bricks-Block): keine Grundlinien-Lücke */
@media (max-width: 767px) {
	.bw-standorte__box { grid-template-columns: 1fr; }
	.bw-standorte__karte { display: none; }
}

