/* Bausteine der Inhaltsseiten. Werte ausschließlich über Tokens. */

/* Raster */
.bh-grid { display: grid; gap: var(--space-5); }
.bh-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bh-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bh-kopfzeile { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; margin-bottom: var(--space-7); }
.bh-kopfzeile > div { max-width: 720px; }
@media (max-width: 1279px) { .bh-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .bh-grid--4, .bh-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .bh-grid--4, .bh-grid--3, .bh-grid--2 { grid-template-columns: minmax(0, 1fr); } .bh-kopfzeile { margin-bottom: var(--space-6); } }

/* Preis: Zahl in Michroma, € in Barlow (Michroma hat kein €-Zeichen) */
.bh-price { display: inline-flex; align-items: baseline; gap: 6px; font-size: var(--text-xl); line-height: 1; white-space: nowrap; }
.bh-price__zahl { font-family: var(--font-accent); }
.bh-price__eur { font-family: var(--font-body); font-weight: var(--weight-semibold); }

.bh-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: var(--radius-xs); background: var(--bh-red); color: var(--bh-white); font: var(--weight-regular) 10px/1 var(--font-accent); letter-spacing: 0.12em; text-transform: uppercase; }

/* Hero mit Foto */
.bh-hero--foto .bh-container { position: relative; z-index: 1; }
.bh-hero__bild { position: absolute; inset: 0 0 0 44%; z-index: -1; }
.bh-hero__bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.bh-hero__bild::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bh-black) 0%, rgba(35,32,33,0.72) 32%, rgba(35,32,33,0.15) 70%, rgba(35,32,33,0.45) 100%), var(--overlay-protect); }
.bh-hero--foto.bh-speedlines::before { z-index: 0; opacity: 0.6; }
.bh-hero--foto .bh-hero__light { z-index: 0; }
/* Freigestelltes Motiv vor den Speedlines (bh_kopfbild_frei): Lage wie beim Foto (object-fit: cover, center 60%) */
.bh-hero__frei { z-index: 0; pointer-events: none; -webkit-mask: var(--frei) center 60% / cover no-repeat; mask: var(--frei) center 60% / cover no-repeat; }
.bh-speedlines:has(.bh-hero__frei)::before { z-index: 0; opacity: 0.6; }
.bh-hero__frei ~ .bh-container { position: relative; z-index: 1; }
/* Motiv heller als der Hintergrund, damit es sich von den Linien abhebt. Links läuft es wie das Foto in Schwarz aus,
   sonst zeigt sich die Bildkante; mobil liegt Text darauf, dort gilt der Verlauf unten nur etwas schwächer. */
.bh-hero__frei::after { background: linear-gradient(90deg, var(--bh-black) 0%, rgba(35,32,33,0.5) 22%, rgba(35,32,33,0) 55%, rgba(35,32,33,0.15) 100%), var(--overlay-protect); }
@media (max-width: 1023px) { .bh-hero__bild { inset: 0; } .bh-hero__bild::after { background: linear-gradient(180deg, rgba(35,32,33,0.86) 0%, rgba(35,32,33,0.72) 55%, rgba(35,32,33,0.92) 100%); } .bh-hero__frei::after { opacity: 0.8; } }

/* Seitenkopf der Unterseiten */
.bh-seitenkopf { position: relative; isolation: isolate; overflow: hidden; background: var(--surface-dark); color: var(--text-on-dark); padding-block: clamp(56px, 8vw, 112px); border-bottom: 3px solid var(--bh-red); }
.bh-seitenkopf--foto { padding-block: clamp(72px, 10vw, 144px); }
.bh-seitenkopf .bh-eyebrow, .bh-seitenkopf .bh-lead { color: var(--text-on-dark-muted); }
.bh-seitenkopf .bh-accent { color: var(--bh-red-on-dark); }
.bh-seitenkopf .bh-hero__bild { inset: 0 0 0 45%; }
@media (max-width: 1023px) { .bh-seitenkopf .bh-hero__bild { inset: 0; } }

/* Suchleiste – überlappt den Hero */
.bh-suche { position: relative; z-index: 2; margin-top: -52px; }
.bh-suche__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: var(--space-4); align-items: end; padding: var(--space-5); background: var(--surface-card); border-top: 3px solid var(--bh-red); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); }
@media (max-width: 1023px) { .bh-suche__form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bh-suche__form .bh-btn { grid-column: 1 / -1; } }
@media (max-width: 767px)  { .bh-suche { margin-top: 0; padding-top: var(--space-5); } .bh-suche__form { grid-template-columns: minmax(0, 1fr); } }

/* Formularfelder */
.bh-field { display: grid; gap: 6px; }
.bh-field label, .bh-field__label { font: var(--weight-semibold) var(--text-sm)/1.3 var(--font-body); color: var(--text-primary); }
.bh-field input, .bh-field select, .bh-field textarea { width: 100%; height: var(--control-height); padding: 0 var(--space-4); border: 1.5px solid var(--border-strong); border-radius: var(--radius-xs); background: var(--bh-white); color: var(--text-primary); font: var(--weight-regular) var(--text-md)/1.4 var(--font-body); transition: border-color var(--dur-fast); }
.bh-field textarea { height: auto; min-height: 140px; padding: var(--space-3) var(--space-4); resize: vertical; }
.bh-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23232021' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.bh-field input:hover, .bh-field select:hover, .bh-field textarea:hover { border-color: var(--bh-gray-600); }
.bh-field input:focus-visible, .bh-field select:focus-visible, .bh-field textarea:focus-visible { border-color: var(--bh-red); }
.bh-check { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--text-sm); color: var(--text-secondary); }
.bh-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--bh-red); flex: none; }
.bh-hinweis { font-size: var(--text-sm); color: var(--text-secondary); }

/* Kennzahlen */
.bh-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); padding-block: var(--space-8); }
.bh-stat__zahl { display: block; font: var(--weight-regular) clamp(28px, 3.4vw, 44px)/1 var(--font-accent); color: var(--text-primary); }
.bh-stat__zahl em { font-style: normal; color: var(--bh-red); }
.bh-stat__label { display: block; margin-top: var(--space-3); font: var(--weight-regular) var(--text-xs)/1.5 var(--font-accent); letter-spacing: var(--tracking-accent); text-transform: uppercase; color: var(--text-secondary); }
.bh-section--dark .bh-stat__zahl { color: var(--bh-white); }
.bh-section--dark .bh-stat__zahl em { color: var(--bh-red-on-dark); }
.bh-section--dark .bh-stat__label { color: var(--text-on-dark-muted); }
@media (max-width: 767px) { .bh-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-4); padding-block: var(--space-7); } }

/* Leistungs-Kachel */
.bh-svc { position: relative; display: flex; flex-direction: column; gap: 18px; padding: var(--space-6) 28px; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); color: inherit; text-decoration: none; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base); }
.bh-svc__nr { position: absolute; top: var(--space-5); right: 28px; font: var(--weight-regular) var(--text-xs)/1 var(--font-accent); letter-spacing: var(--tracking-accent); color: var(--text-secondary); }
.bh-svc__icon { display: grid; place-items: center; width: 56px; height: 56px; background: var(--bh-black); color: var(--bh-white); border-radius: var(--radius-xs); transition: background var(--dur-base); }
.bh-svc h3 { margin: 0; font: var(--weight-semibold) var(--text-2xl)/1.1 var(--font-display); text-transform: uppercase; letter-spacing: var(--tracking-display); }
.bh-svc p { margin: 0; color: var(--text-secondary); }
.bh-svc__mehr { margin-top: auto; display: inline-flex; align-items: center; gap: var(--space-2); font: var(--weight-semibold) var(--text-xs)/1 var(--font-body); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--bh-red); }
@media (hover: hover) { .bh-svc:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; } .bh-svc:hover .bh-svc__icon { background: var(--bh-red); } }

/* Marken-Laufband – rein dekorativ, die Marken stehen zusätzlich als Text darunter */
.bh-marquee { overflow: hidden; background: var(--surface-dark); border-block: 1px solid var(--border-on-dark); padding-block: var(--space-5); }
.bh-marquee__spur { display: flex; width: max-content; gap: var(--space-8); animation: bh-marquee 40s linear infinite; }
.bh-marquee:hover .bh-marquee__spur { animation-play-state: paused; }
.bh-marquee span { font: var(--weight-bold) var(--text-2xl)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.38); white-space: nowrap; }
.bh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Fahrzeugkarte */
.bh-vc { display: flex; flex-direction: column; background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); overflow: hidden; color: var(--text-primary); text-decoration: none; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.bh-vc--dunkel { background: var(--surface-dark-2); border-color: var(--border-on-dark); color: var(--bh-white); }
.bh-vc__bild { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bh-black); }
.bh-vc__bild img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }
.bh-vc__bild .bh-badge { position: absolute; top: var(--space-3); left: var(--space-3); }
.bh-vc__inhalt { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-5); flex: 1; }
.bh-vc__marke { font: var(--weight-regular) 11px/1 var(--font-accent); letter-spacing: var(--tracking-accent); text-transform: uppercase; color: var(--text-secondary); }
.bh-vc--dunkel .bh-vc__marke, .bh-vc--dunkel .bh-vc__daten { color: var(--text-on-dark-muted); }
.bh-vc__modell { margin-top: var(--space-1); font: var(--weight-semibold) var(--text-xl)/1.1 var(--font-display); text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.2em; }
.bh-vc__daten { font-size: var(--text-sm); color: var(--text-secondary); }
.bh-vc__fuss { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: var(--space-4); border-top: 1px solid var(--border-default); }
.bh-vc--dunkel .bh-vc__fuss { border-color: var(--border-on-dark); }
.bh-vc__mehr { display: inline-flex; align-items: center; gap: 6px; font: var(--weight-semibold) var(--text-xs)/1 var(--font-body); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--bh-red); }
.bh-vc--dunkel .bh-vc__mehr { color: var(--bh-white); }
@media (hover: hover) { .bh-vc:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); } .bh-vc:hover .bh-vc__bild img { transform: scale(1.04); } }

/* Bild + Text nebeneinander */
.bh-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.bh-split--umgekehrt > :first-child { order: 2; }
.bh-split__bild { position: relative; }
.bh-split__bild img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.bh-split__kachel { position: absolute; right: -16px; bottom: -24px; padding: var(--space-5) var(--space-6); background: var(--bh-red); color: var(--bh-white); border-radius: var(--radius-md); box-shadow: var(--shadow-red); }
.bh-split__kachel strong { display: block; font: var(--weight-regular) var(--text-3xl)/1 var(--font-accent); }
.bh-split__kachel span { display: block; margin-top: var(--space-2); font-size: var(--text-sm); }
.bh-text > * + * { margin-top: var(--space-4); }
.bh-text p { margin-bottom: 0; color: var(--text-secondary); }
.bh-section--dark .bh-text p { color: var(--text-on-dark-muted); }
@media (max-width: 1023px) { .bh-split { grid-template-columns: minmax(0, 1fr); } .bh-split--umgekehrt > :first-child { order: 0; } .bh-split__kachel { right: var(--space-4); } }

/* Haken-Liste */
.bh-liste { margin: var(--space-5) 0 0; padding: 0; list-style: none; display: grid; gap: var(--space-3); }
.bh-liste li { position: relative; padding-left: 32px; }
.bh-liste li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: var(--bh-red); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.bh-section--dark .bh-liste li::before { background: var(--bh-red-on-dark); }
.bh-liste--spalten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 767px) { .bh-liste--spalten { grid-template-columns: minmax(0, 1fr); } }

/* Info-Karte (Schritte, Vorteile) */
.bh-karte { padding: var(--space-6); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.bh-karte__nr { font: var(--weight-regular) var(--text-xl)/1 var(--font-accent); color: var(--bh-red); }
.bh-karte h3 { margin: var(--space-4) 0 var(--space-2); font: var(--weight-semibold) var(--text-xl)/1.15 var(--font-display); text-transform: uppercase; }
.bh-karte p { margin: 0; color: var(--text-secondary); }
.bh-section--dark .bh-karte { background: var(--surface-dark-2); border-color: var(--border-on-dark); }
.bh-section--dark .bh-karte p { color: var(--text-on-dark-muted); }
.bh-section--dark .bh-karte__nr { color: var(--bh-red-on-dark); }

/* Zeitleiste */
.bh-tl { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--border-default); }
.bh-tl li { position: relative; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-5); padding: 0 0 var(--space-6) var(--space-6); }
.bh-tl li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; background: var(--bh-red); border-radius: var(--radius-xs); }
.bh-tl strong { font: var(--weight-regular) var(--text-xl)/1.2 var(--font-accent); }
.bh-tl span { color: var(--text-secondary); }
@media (max-width: 767px) { .bh-tl li { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); } }

/* CTA-Band */
.bh-cta { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; padding: 56px var(--space-7); background: var(--bh-red); color: var(--bh-white); border-radius: var(--radius-md); }
.bh-cta h2 { margin: 0; font: var(--weight-bold) clamp(32px, 4vw, var(--text-4xl))/1 var(--font-display); text-transform: uppercase; }
.bh-cta p { margin: var(--space-3) 0 0; max-width: 52ch; }
.bh-cta .bh-actions { margin: 0; }
.bh-btn--invers { background: var(--bh-white); color: var(--bh-black); }
@media (hover: hover) { .bh-btn--invers:hover { background: var(--bh-black); color: var(--bh-white); } }
@media (max-width: 767px) { .bh-cta { padding: var(--space-7) var(--space-5); } }

/* Bestand: Filter + Liste */
.bh-bestand { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--space-6); align-items: start; }
.bh-filter { position: sticky; top: calc(var(--nav-height) + var(--space-5)); display: grid; gap: var(--space-4); padding: var(--space-5); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.bh-filter__kopf { display: flex; align-items: baseline; justify-content: space-between; }
.bh-filter__kopf h2 { margin: 0; font: var(--weight-bold) var(--text-xl)/1 var(--font-display); text-transform: uppercase; }
.bh-link { background: none; border: 0; padding: 0; font: var(--weight-semibold) var(--text-xs)/1 var(--font-body); letter-spacing: var(--tracking-caps); text-transform: uppercase; color: var(--bh-red); cursor: pointer; text-decoration: none; }
.bh-bestand__leiste { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; margin-bottom: var(--space-5); }
.bh-bestand__leiste .bh-field { grid-auto-flow: column; align-items: center; gap: var(--space-3); }
.bh-bestand__leiste select { min-width: 200px; }
.bh-leer { padding: var(--space-8) var(--space-5); text-align: center; background: var(--surface-card); border: 1px dashed var(--border-strong); border-radius: var(--radius-md); }
.bh-suchauftrag { padding: var(--space-5); background: var(--bh-black); color: var(--bh-white); border-radius: var(--radius-md); }
.bh-suchauftrag h3 { margin: 0 0 var(--space-2); font: var(--weight-bold) var(--text-xl)/1.1 var(--font-display); text-transform: uppercase; }
.bh-suchauftrag p { margin: 0 0 var(--space-4); font-size: var(--text-sm); color: var(--text-on-dark-muted); }
[hidden] { display: none !important; }
@media (max-width: 1023px) { .bh-bestand { grid-template-columns: minmax(0, 1fr); } .bh-filter { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); } .bh-filter__kopf, .bh-filter .bh-suchauftrag { grid-column: 1 / -1; } }
@media (max-width: 767px)  { .bh-filter { grid-template-columns: minmax(0, 1fr); } }

/* Fahrzeug-Detail */
.bh-pfad { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-5); padding: 0; list-style: none; font-size: var(--text-sm); color: var(--text-secondary); }
.bh-pfad li + li::before { content: "›"; margin-right: var(--space-2); }
.bh-pfad a { color: inherit; }
.bh-detail { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr); gap: var(--space-6); align-items: start; }
.bh-detail__bild { position: relative; border-radius: var(--radius-md); overflow: hidden; background: var(--bh-black); }
.bh-detail__bild img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.bh-kaufbox { position: sticky; top: calc(var(--nav-height) + var(--space-5)); display: grid; gap: var(--space-4); padding: var(--space-6); background: var(--surface-card); border: 1px solid var(--border-default); border-top: 3px solid var(--bh-red); border-radius: var(--radius-md); }
.bh-kaufbox h1 { margin: 0; font: var(--weight-bold) var(--text-3xl)/1 var(--font-display); text-transform: uppercase; }
.bh-kaufbox .bh-price { font-size: var(--text-3xl); margin-block: var(--space-2); }
.bh-kaufbox .bh-btn { width: 100%; }
.bh-btn--whatsapp { background: #1F8F4E; color: var(--bh-white); }
@media (hover: hover) { .bh-btn--whatsapp:hover { background: #17713D; } }
.bh-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin: var(--space-5) 0 0; padding: var(--space-5); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.bh-specs dt { hyphens: manual; font: var(--weight-regular) 11px/1.4 var(--font-accent); letter-spacing: var(--tracking-accent); text-transform: uppercase; color: var(--text-secondary); }
.bh-specs dd { margin: var(--space-1) 0 0; font-weight: var(--weight-semibold); }
.bh-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.bh-tags li { padding: 6px var(--space-4); border: 1px solid var(--border-strong); border-radius: var(--radius-pill); font-size: var(--text-sm); }
@media (max-width: 1023px) { .bh-detail { grid-template-columns: minmax(0, 1fr); } .bh-kaufbox { position: static; } }
@media (max-width: 767px)  { .bh-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Mobil: Aktionsleiste am unteren Rand der Detailseite – die wichtigste Aktion bleibt ohne Scrollen erreichbar */
.bh-aktionsleiste { display: none; }
@media (max-width: 767px) {
	.bh-aktionsleiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--container-pad); padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); background: var(--bh-black); color: var(--bh-white); border-top: 3px solid var(--bh-red); }
	.bh-aktionsleiste .bh-price { font-size: var(--text-lg); margin-right: auto; }
	.bh-aktionsleiste .bh-btn { height: 44px; padding: 0 var(--space-4); }
	.bh-aktionsleiste .bh-btn--icon { width: 44px; padding: 0; }
	body:has(.bh-aktionsleiste) .bh-foot { padding-bottom: 96px; }
}

/* Kontakt */
.bh-kontaktliste { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-5); }
.bh-kontaktliste li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.bh-kontaktliste .bh-svc__icon { width: 48px; height: 48px; }
.bh-kontaktliste a { color: inherit; font-weight: var(--weight-semibold); text-decoration: none; }
.bh-kontaktliste small { display: block; color: var(--text-secondary); font-size: var(--text-sm); }
.bh-formular { display: grid; gap: var(--space-4); padding: var(--space-6); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.bh-formular__reihe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.bh-meldung { padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); background: var(--bh-success-bg); color: var(--bh-success); font-weight: var(--weight-semibold); }
.bh-meldung--fehler { background: var(--bh-danger-bg); color: var(--bh-red-700); }
@media (max-width: 767px) { .bh-formular__reihe { grid-template-columns: minmax(0, 1fr); } .bh-formular { padding: var(--space-5); } }

/* Rechtstexte */
.bh-prosa { max-width: 820px; }
.bh-prosa h2 { margin: var(--space-7) 0 var(--space-3); font: var(--weight-bold) var(--text-2xl)/1.15 var(--font-display); text-transform: uppercase; }
.bh-prosa h3 { margin: var(--space-6) 0 var(--space-2); font: var(--weight-semibold) var(--text-xl)/1.2 var(--font-display); text-transform: uppercase; }
.bh-prosa p, .bh-prosa li { color: var(--text-secondary); }
.bh-prosa a { color: var(--bh-red); }

/* Inhaltsseiten: Bild mit optionaler Bildunterschrift, oben bündiger Split, Entwurfshinweis in Rechtstexten */
.bh-bild { margin: 0; }
.bh-bild img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.bh-bild figcaption { margin-top: var(--space-3); font-size: var(--text-sm); color: var(--text-secondary); }
.bh-section--dark .bh-bild figcaption { color: var(--text-on-dark-muted); }
.bh-split--oben { align-items: start; }
.bh-prosa p.bh-meldung--fehler { color: var(--bh-red-700); }

/* Öffnungszeiten */
.bh-zeiten { margin: var(--space-2) 0 0; display: grid; gap: var(--space-1); }
.bh-zeiten div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--space-3); }
.bh-zeiten dt { font-weight: var(--weight-semibold); }
.bh-zeiten dd { margin: 0; }
.bh-foot__zeiten { margin-top: var(--space-5) !important; }
.bh-foot .bh-zeiten dt { color: var(--bh-white); font-weight: var(--weight-regular); }

/* Partnerlogos */
.bh-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-6) var(--space-8); margin: 0; padding: 0; list-style: none; }
.bh-logos li { display: flex; align-items: center; }
.bh-logos img { height: 44px; width: auto; max-width: 180px; object-fit: contain; }
@media (max-width: 767px) { .bh-logos { gap: var(--space-5) var(--space-6); } .bh-logos img { height: 34px; max-width: 130px; } }

/* Partnerleiste direkt unter Kopf/Kennzahlen (Wunsch des Kunden: sofort sichtbar) */
.bh-partnerband { padding-block: var(--space-6) var(--space-7); }
.bh-partnerband .bh-eyebrow { margin-bottom: var(--space-5); }
.bh-vorher-nachher img { aspect-ratio: 10 / 3; object-fit: cover; }
.bh-text--breit { max-width: 760px; margin-top: var(--space-7); }

/* Redaktionsplan (interne Abstimmungsseite) */
.bh-rp-fakten { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-8); margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.bh-rp-fakten b { display: block; font: var(--weight-regular) var(--text-2xl)/1 var(--font-accent); }
.bh-rp-fakten span { display: block; margin-top: var(--space-2); font: var(--weight-regular) var(--text-xs)/1.5 var(--font-accent); letter-spacing: var(--tracking-accent); text-transform: uppercase; color: var(--text-on-dark-muted); }
.bh-rp-wochen { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-2); margin: calc(-1 * var(--space-5)) 0 var(--space-7); position: relative; z-index: 2; }
.bh-rp-wochen a { display: block; padding: var(--space-3) var(--space-2); background: var(--surface-card); border: 1px solid var(--border-default); border-top: 3px solid var(--w, var(--bh-black)); border-radius: var(--radius-sm); text-align: center; text-decoration: none; color: var(--text-primary); font: var(--weight-semibold) var(--text-sm)/1.3 var(--font-body); }
.bh-rp-wochen a small { display: block; font: var(--weight-regular) 10px/1.5 var(--font-accent); letter-spacing: .08em; text-transform: uppercase; color: var(--text-secondary); }
.bh-rp-post { background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); overflow: hidden; scroll-margin-top: calc(var(--nav-height) + var(--space-4)); }
.bh-rp-post--dunkel { background: var(--surface-dark); color: var(--text-on-dark); border-color: var(--border-on-dark); }
.bh-rp-post__kopf { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--border-default); }
.bh-rp-post--dunkel .bh-rp-post__kopf { border-color: var(--border-on-dark); }
.bh-rp-post__nr { font: var(--weight-regular) var(--text-xl)/1 var(--font-accent); color: var(--bh-red); }
.bh-rp-post--dunkel .bh-rp-post__nr { color: var(--bh-red-on-dark); }
.bh-rp-post__datum { font: var(--weight-bold) var(--text-xl)/1 var(--font-display); text-transform: uppercase; }
.bh-rp-post__farbe { margin-left: auto; font: var(--weight-regular) 11px/1 var(--font-accent); letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); }
.bh-rp-post--dunkel .bh-rp-post__farbe { color: var(--text-on-dark-muted); }
.bh-rp-post__body { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-5) var(--space-6); padding: var(--space-5); }
.bh-rp-post h3 { margin: 0 0 var(--space-4); font: var(--weight-bold) var(--text-2xl)/1.05 var(--font-display); text-transform: uppercase; }
.bh-rp-galerie { display: grid; gap: var(--space-2); margin-bottom: var(--space-4); }
.bh-rp-galerie--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bh-rp-galerie img { display: block; width: 100%; height: auto; border-radius: var(--radius-sm); border: 1px solid var(--border-default); }
.bh-rp-post--dunkel .bh-rp-galerie img { border-color: var(--border-on-dark); }
.bh-rp-meta { display: grid; gap: var(--space-2); margin: 0; font-size: var(--text-sm); color: var(--text-secondary); }
.bh-rp-post--dunkel .bh-rp-meta { color: var(--text-on-dark-muted); }
.bh-rp-meta div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: var(--space-3); }
.bh-rp-meta dt { font: var(--weight-regular) 10px/1.8 var(--font-accent); letter-spacing: .12em; text-transform: uppercase; }
.bh-rp-meta dd { margin: 0; }
.bh-rp-caption { margin: 0; padding: var(--space-4); border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-page); white-space: pre-line; font-size: var(--text-sm); line-height: 1.55; }
.bh-rp-post--dunkel .bh-rp-caption { background: rgba(255,255,255,.05); border-color: var(--border-on-dark); color: var(--text-on-dark-muted); }
.bh-rp-caption span { display: block; margin-top: var(--space-3); color: var(--bh-red); font-weight: var(--weight-medium); }
.bh-rp-post--dunkel .bh-rp-caption span { color: var(--bh-red-on-dark); }
.bh-rp-label { font: var(--weight-regular) 10px/1.8 var(--font-accent); letter-spacing: .12em; text-transform: uppercase; color: var(--text-secondary); }
.bh-rp-post--dunkel .bh-rp-label { color: var(--text-on-dark-muted); }
.bh-rp-post .bh-badge--hell { background: var(--bh-info); }
.bh-rp-post .bh-badge--team { background: var(--bh-success); }
@media (max-width: 1023px) { .bh-rp-wochen { grid-template-columns: repeat(4, minmax(0, 1fr)); } .bh-rp-post__body { grid-template-columns: minmax(0, 1fr); } }
.bh-rp-leiste { background: var(--bh-black-900); color: var(--text-on-dark-muted); border-bottom: 1px solid var(--border-on-dark); font: var(--weight-regular) var(--text-xs)/1.5 var(--font-accent); letter-spacing: var(--tracking-accent); text-transform: uppercase; }
.bh-rp-leiste .bh-container { display: flex; align-items: center; gap: var(--space-5); min-height: 56px; }
.bh-rp-leiste__logo img { display: block; height: 30px; width: auto; }
.bh-rp-leiste__titel { color: var(--bh-white); }
.bh-rp-leiste__von { margin-left: auto; }
.bh-rp-schluss { padding-block: var(--space-6); background: var(--bh-black-900); color: var(--text-on-dark-muted); font-size: var(--text-sm); text-align: center; }
@media (max-width: 767px) { .bh-rp-leiste .bh-container { flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding-block: var(--space-3); } .bh-rp-leiste__von { margin-left: 0; } }

/* Kundenstimmen */
.bh-stimme { display: flex; flex-direction: column; gap: var(--space-4); margin: 0; padding: var(--space-6); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.bh-stimme__sterne { font-size: var(--text-lg); letter-spacing: .1em; color: var(--bh-red); }
.bh-stimme blockquote { margin: 0; font: var(--weight-medium) var(--text-lg)/1.45 var(--body, var(--font-body)); font-family: var(--font-body); }
.bh-stimme figcaption { display: flex; align-items: center; gap: var(--space-3); margin-top: auto; }
.bh-stimme__avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--bh-black); color: var(--bh-white); font: var(--weight-regular) 13px/1 var(--font-accent); }
.bh-stimme figcaption strong { display: block; font-weight: var(--weight-semibold); }
.bh-stimme figcaption small { display: block; font-size: var(--text-sm); color: var(--text-secondary); }
.bh-altinhalt h4 { margin: var(--space-6) 0 var(--space-2); font: var(--weight-semibold) var(--text-lg)/1.25 var(--font-display); text-transform: uppercase; }
.bh-altinhalt img { display: inline-block; width: 1.25em; height: auto; vertical-align: middle; }
