/* Version A — Mastricht-Farben in der Jungbrunn-Struktur. Ueberschreibt nur die Farb-Tokens. */
:root {
  --jb-color-mint:        #ECECEB;  /* Grundflaeche: helles Grau statt Salbei */
  --jb-color-orange:      #CFCAC3;  /* Warmgrau — Abschluss-Zaesur, dunkler Text, eine Stufe unter der Grundflaeche */
  --jb-color-blue:        #3A3F45;  /* Stahlgrau */
  --jb-color-brown:       #22262A;  /* Tiefgrau — Abschluss-CTA */
  --jb-color-green:       #5C6470;  /* kuehles Grau */
  --jb-color-purple:      #454B52;
  --jb-color-light-blue:  #4A5058;
  --jb-color-light-brown: #3A3E42;
  --jb-color-dark-grey:   #141414;
}
.logo, .footer-logo { width: auto !important; height: 34px !important; overflow: visible !important; }
.logo .m-logo-img, .footer-logo .m-logo-img { height: 100%; width: auto; max-width: none; display: block; }
@media (min-width: 992px) { .logo { height: 42px !important; } }
.footer-logo { height: 40px !important; }
/* 3 Service-Karten in EINER Reihe (Theme-Default 2 -> 2+1-Loch) */
@media (min-width: 992px) { .m-cards-3 > .card-service { flex: 0 0 calc((100% - 64px) / 3) !important; max-width: calc((100% - 64px) / 3); } }
.m-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 48px 72px; }
.m-logo { flex: 0 1 180px; }
.m-logo img { width: 100%; height: auto; display: block; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
.m-logo img:hover { filter: none; opacity: 1; }
.m-form .input-item { margin-top: 24px; }
.m-form .input-field { width: 100%; }
.paracol-wrap { display: flex; gap: 48px; }
.paracol-wrap .paracol { flex: 1 1 0; }
@media (max-width: 991px) { .paracol-wrap { display: block; } .paracol-wrap .paracol + .paracol { margin-top: 24px; } }

/* Lange Kombi-Titel: umbrechen statt ueberhaengen (Jungbrunn-Titel sind 1 Wort) */
.title-pos-helper .block-title.m-title-long { flex-shrink: 1; min-width: 0; max-width: 100%; }

/* Adaptives Logo: Script misst die Flaeche unter dem Logo -> .m-on-dark am Header */
.logo .m-logo-white { display: none; }
#site-header.m-on-dark .logo .m-logo-dark { display: none; }
#site-header.m-on-dark .logo .m-logo-white { display: block; }
/* Mobile: Header-Links nur im Burger-Menue (Pill lief rechts aus dem Viewport) */
@media (max-width: 991.98px) { .header-menu nav { display: none !important; } }
/* Hero-H1: Silbentrennung nur in der schmalen Desktop-Spalte; mobil nur am harten Bindestrich brechen */
@media (max-width: 767.98px) { .block-hero-subpage h1.hyphenate { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; } }

/* Keine Silbentrennung mitten im Wort (Geschmacksprofil) — lange Woerter bekommen eine kleinere Stufe */
.block-title, .block-hero-subpage h1, .card-service h3 { hyphens: manual !important; -webkit-hyphens: manual !important; }
@media (min-width: 1200px) { .block-title.m-title-xlong, .block-hero-subpage h1.m-h1-long { font-size: 52px !important; line-height: 1.1 !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .block-title.m-title-xlong, .block-hero-subpage h1.m-h1-long { font-size: 44px !important; line-height: 1.1 !important; } }
/* Dreierreihen: Kartentitel eine Stufe kleiner, damit 16-Buchstaben-Woerter einzeilig passen */
@media (min-width: 992px) { .m-cards-3 .card-service h3 { font-size: 40px !important; line-height: 1.1 !important; } }
/* Intro-Absatz auf Farbflaeche: Lesespalte */
.m-intro { max-width: 680px; }

/* Lange Kombi-Titel: Theme erzwingt 100px am Titelhalter -> Stufe 65 (bzw. 52 fuer sehr lange Woerter) */
@media (min-width: 1200px) { .block-title.m-title-long { font-size: 65px !important; line-height: 1.1 !important; } .block-title.m-title-long.m-title-xlong { font-size: 52px !important; } }
@media (min-width: 992px) and (max-width: 1199.98px) { .block-title.m-title-long { font-size: 56px !important; line-height: 1.1 !important; } .block-title.m-title-long.m-title-xlong { font-size: 44px !important; } }
/* img-left-Bloecke: Titel bleibt rechtsbuendig (Referenz), Fliesstext linksbuendig (Lesbarkeit) */
.block-bild-text-kombi.img-left .editor-content { text-align: left; }

/* Bild-Text-Bloecke: Titel + Fliesstext als Gruppe zur Bildhoehe zentrieren (Theme: space-between ->
   bei kurzen Absaetzen 350-500px Loch zwischen Titel und Text) — Textgruppe zentrieren */
@media (min-width: 992px) { .block-bild-text-kombi .col-lft { display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 40px; } .block-bild-text-kombi .col-lft .editor-content { margin-top: 0 !important; } }
