/* Gezielte Layoutkorrekturen nach der visuellen Abnahme vom 27.09.2026. */

/* Lesbarkeit und robuste Umbrueche */
.hero-original h1,
.hero-original h2,
.hero-original h3,
.animated-heading-text,
.animated-text,
.karte__text,
.sppb-addon-title {
  overflow-wrap: anywhere;
  word-break: normal;
}

.hero-original p,
.hero-original li,
.karte__text p,
.karte__meta,
#sp-footer,
#sp-footer p,
#sp-footer a,
#sp-footer address {
  font-size: max(15px, 0.98rem);
  line-height: 1.65;
}

#sp-footer .instagram-hinweis {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
#sp-footer .instagram-hinweis a {
  flex: 0 0 49px;
  line-height: 0;
}
#sp-footer .instagram-hinweis img {
  display: block;
  float: none !important;
}
#sp-footer .instagram-hinweis span {
  display: block;
  white-space: nowrap;
  font-size: 8pt !important;
  line-height: 1.65;
}

/* Startseite: die unklare Scroll-Dekoration wird entfernt, Abschnitte werden
   eindeutig benannt und die grossen Leerräume reduziert. */
.page-21 #sppb-addon-wrapper-1635487104518 {
  display: none !important;
}
.page-21 #section-id-1635485860633,
.page-21 #section-id-1635506262393,
.page-21 #section-id-1637661020148 {
  padding-top: clamp(48px, 6vw, 88px) !important;
}
.page-21 #section-id-1635506262393,
.page-21 #section-id-1637661020148 {
  padding-bottom: clamp(40px, 5vw, 72px) !important;
}
.page-21 #sppb-addon-1637661888273 img {
  width: 100%;
  height: min(660px, 70vw);
  object-fit: cover;
  object-position: 50% 50%;
}

/* Das alte Inline-Markenlogo vor Leistungs-Texten konkurriert mit der
   eigentlichen Wortmarke im Kopf und wird aus dem Textfluss genommen.
   Im Impressum ist es dagegen Bestandteil des originalen Titelmotivs. */
.hero-original .sp-page-builder:not(.page-89) .sppb-addon-feature img[src$="/mb_logo.png"],
.hero-original .sp-page-builder:not(.page-89) .sppb-addon-feature .pull-left:has(img[src$="/mb_logo.png"]),
.hero-original .sp-page-builder:not(.page-89) .sppb-addon-feature .sppb-img-container:has(img[src$="/mb_logo.png"]) {
  display: none !important;
}
.hero-original .sp-page-builder:not(.page-89) .sppb-addon-feature .sppb-media-body {
  width: 100% !important;
  min-width: 0;
}

/* Impressum: Logo und bewegte Punktgrafik wie im Original. Die ausgelagerte
   Seitencss setzt den Animationsnamen, enthielt aber keine Keyframes. */
@-webkit-keyframes LeftToRight {
  0% { -webkit-transform: translateX(0); transform: translateX(0); }
  100% { -webkit-transform: translateX(50px); transform: translateX(50px); }
}
@keyframes LeftToRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(50px); }
}
.page-89 #sppb-addon-1647846115323 .pull-left,
.page-89 #sppb-addon-1647846115323 .sppb-img-container {
  display: block !important;
}
.page-89 #sppb-addon-1647846115323 img[src$="/mb_logo.png"] {
  display: inline-block !important;
}

/* Stellenangebote: keine Flip-Kopie, keine erzwungene Einzeiligkeit. */
@media (min-width: 992px) {
  .page-88 #section-id-1675751234059 > .sppb-row-container > .sppb-row > [class*="sppb-col"] > .sppb-column > .sppb-column-addons {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    align-items: center;
    gap: clamp(40px, 6vw, 96px);
  }
  .page-88 #section-id-1675751234059 #sppb-addon-wrapper-1675751356585 img {
    width: 100% !important;
    height: 520px !important;
    object-fit: contain !important;
  }
}
.page-88 #section-id-1708585583078 .sppb-addon-title {
  min-height: 3.25em;
  font-size: clamp(1.3rem, 1.75vw, 1.75rem) !important;
  line-height: 1.18 !important;
}
.page-88 #section-id-1708585583078 img {
  width: 100% !important;
  max-height: 500px;
  object-fit: contain;
}
.page-88 #sppb-addon-1708587461716,
.page-88 #sppb-addon-1708587461716 * {
  max-width: 100%;
}
.page-88 #sppb-addon-1708587461716 .animated-heading-text,
.page-88 #sppb-addon-1708587461716 .animated-text-words-wrapper,
.page-88 #sppb-addon-1708587461716 .animated-text {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  transform: none !important;
  animation: none !important;
  opacity: 1 !important;
  position: static !important;
  font-size: clamp(1.75rem, 3.2vw, 2.9rem) !important;
  line-height: 1.1 !important;
}
.page-88 #section-id-1675751234059,
.page-88 #section-id-1708585583078,
.page-88 #section-id-1646117847494 {
  padding-top: clamp(40px, 5vw, 72px) !important;
  padding-bottom: clamp(40px, 5vw, 72px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Kontakt: Karte, Überschrift und Formular beginnen in derselben visuellen
   Gruppe. Die Kontaktdaten folgen ohne zweite grosse Leerstelle. */
.page-25 #section-id-1634800759328 {
  padding-top: clamp(64px, 7vw, 96px) !important;
  padding-bottom: clamp(36px, 4vw, 56px) !important;
}
.page-25 #section-id-1635487651838 {
  padding: clamp(36px, 4vw, 56px) 0 !important;
}
.page-25 #sppb-addon-wrapper-1635488236385 {
  margin: 0 0 24px !important;
}
.page-25 #sppb-addon-wrapper-1648023979709 {
  margin: 0 !important;
}
.page-25 #column-id-1635487651841 {
  padding: 0 clamp(24px, 5vw, 72px) !important;
}
.page-25 #section-id-1647334855879 {
  padding-top: clamp(32px, 4vw, 56px) !important;
  padding-bottom: clamp(48px, 5vw, 72px) !important;
  margin-top: 0 !important;
}
.page-25 #cf1,
.page-25 #cf_1 {
  width: 100% !important;
  max-width: 620px;
}

/* Ueber uns: Urkunden und Texte bleiben in ihren jeweiligen Zeilen und
   Bilder werden nicht mehr ueber den folgenden Inhalt geschoben. */
.page-81 .sppb-addon-image-layout-wrap,
.page-81 .sppb-addon-image-layout-wrap .sppb-row {
  position: relative !important;
  min-height: 0 !important;
  align-items: center !important;
  overflow: visible !important;
}
.page-81 .sppb-addon-image-layout-image,
.page-81 .sppb-addon-image-layout-content {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}
.page-81 .sppb-addon-image-layout-image img {
  display: block;
  width: 100% !important;
  height: min(620px, 58vw) !important;
  object-fit: contain !important;
  object-position: center !important;
}
.page-81 #sppb-addon-wrapper-1646050898611 {
  margin-top: clamp(40px, 5vw, 72px) !important;
}

/* Die Galerie bleibt innerhalb ihres Rasters; lange Projektnamen duerfen
   umbrechen, statt die Kacheln zu ueberdecken. */
.sp-simpleportfolio-title,
.sp-simpleportfolio-title a {
  white-space: normal !important;
  overflow-wrap: anywhere;
  line-height: 1.25 !important;
}
.sp-simpleportfolio-item {
  min-width: 0;
}

@media (max-width: 991.98px) {
  .page-21 #section-id-1635485860633,
  .page-21 #section-id-1635506262393,
  .page-21 #section-id-1637661020148,
  .page-88 #section-id-1675751234059,
  .page-88 #section-id-1708585583078,
  .page-88 #section-id-1646117847494 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .page-25 #column-id-1635487651841 {
    padding: 36px 24px 0 !important;
  }
  .page-25 .sppb-addon-openstreetmap-wrapper,
  .page-25 .karte-statisch,
  .page-25 .karte-statisch img {
    min-height: 360px !important;
    height: 55vw !important;
    max-height: 520px !important;
  }
  .page-81 .sppb-addon-image-layout-image img {
    height: auto !important;
    max-height: 560px;
  }
  .page-81 .sppb-addon-image-layout-content {
    padding: 28px 0 0 !important;
  }
}

@media (max-width: 575.98px) {
  /* Die mobilen Hero-Schriftgroessen des Templates nicht global ueberschreiben:
     lange Titel und kurze Einleitungstexte brauchen unterschiedliche Groessen. */

  /* Startseiten-Hero: Animationsoffsets entfernen, damit Titel, Text und CTA
     wieder im normalen Fluss stehen und sich nicht ueberlagern. */
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-title,
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-text,
  .page-21 #sppb-addon-1635486050920 .sp-slider-btn-text,
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-button {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-title {
    width: 100% !important;
    margin: 0 0 18px !important;
  }
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-text {
    margin: 0 0 22px !important;
  }

  /* Dekorative Punktgrafiken erzeugten auf kleinen Displays grosse leere
     Zwischenraeume. Die Abschnittstitel selbst bleiben erhalten. */
  .page-73 #sppb-addon-wrapper-1634621175982,
  .page-81 #sppb-addon-wrapper-1634621175982,
  .page-88 #sppb-addon-wrapper-1647846115324 {
    display: none !important;
  }
  .page-73 #section-id-1634557479421,
  .page-81 #section-id-1634557479421,
  .page-88 #section-id-1647846115291 {
    padding-top: 32px !important;
    padding-bottom: 8px !important;
    margin: 0 !important;
  }

  /* Die zweite Zeile der Bildbuehne ist Einleitungstext, keine zweite
     Headline. Lange Saetze bleiben dadurch ruhig und kompakt lesbar. */
  .page-73 #sppb-addon-1636697757733 .sppb-addon-title,
  .page-81 #sppb-addon-1636697757733 .sppb-addon-title {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }

  /* Folgeinhalte direkt an die Abschnittsueberschrift anbinden. */
  .page-73 #section-id-1645776567154,
  .page-81 #section-id-1646050898311,
  .page-88 #section-id-1646115950472 {
    padding-top: 14px !important;
  }
  .page-73 #section-id-1645776567154 ul {
    padding-left: 24px !important;
    list-style-position: outside;
  }

  /* Das Sliderbild ragte durch einen negativen Abstand in den nachfolgenden
     Ueber-uns-Text. Auf Mobilgeraeten bekommt es eigenen Platz. */
  .page-21 #sppb-addon-wrapper-1644399406236 {
    margin-bottom: 0 !important;
  }
  .page-21 #section-id-1635485860633 {
    padding-top: 175px !important;
  }

  /* Karrierebild ohne kuenstliche Verengung oder negative Ueberlappung. */
  .page-21 #sppb-addon-wrapper-1637661888273 {
    width: 100% !important;
    margin: 0 0 24px !important;
  }
  .page-21 #sppb-addon-1637661888273 img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  /* Stellenanzeigen in voller Spaltenbreite; die fruehere Maximalhoehe machte
     hochformatige Anzeigen unnoetig schmal. */
  .page-88 #section-id-1708585583078 .sppb-addon-single-image-container,
  .page-88 #section-id-1708585583078 .sppb-addon-single-image-container img {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
  }
  .page-88 #section-id-1708585583078 {
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }

  /* Kontaktseite kompakter: brauchbare Touchfelder und eine mobile Karte, die
     nicht fast einen kompletten Bildschirm belegt. */
  .page-25 #section-id-1634800759328 {
    padding-top: 30px !important;
    padding-bottom: 8px !important;
  }
  .page-25 #section-id-1635487651838 {
    padding-top: 8px !important;
    padding-bottom: 24px !important;
  }
  .page-25 #section-id-1647334855879 {
    padding-top: 24px !important;
    padding-bottom: 36px !important;
  }
  .page-25 #sppb-addon-1634800777288 .sppb-addon-title {
    font-size: 34px !important;
    line-height: 1.1 !important;
  }
  .page-25 #sppb-addon-1634800777288 .sppb-addon-title br {
    display: none !important;
  }
  .page-25 #column-id-1635487651841 {
    padding: 24px 18px 0 !important;
  }
  .page-25 .sppb-addon-openstreetmap-wrapper,
  .page-25 .karte-statisch,
  .page-25 .karte-statisch img {
    min-height: 0 !important;
    height: 240px !important;
    max-height: 240px !important;
  }
  .page-25 input:not([type="checkbox"]):not([type="radio"]),
  .page-25 select,
  .page-25 textarea {
    min-height: 44px !important;
    font-size: 16px !important;
  }
  .page-25 textarea { min-height: 132px !important; }
  .page-25 .karte-statisch__bild { filter: contrast(1.16) saturate(.92); }
  .page-25 .karte-statisch__marke {
    width: 45px !important;
    height: auto !important;
    margin: -110px 0 0 -25px !important;
  }

  /* Referenzseiten nicht mit Desktop-Abstaenden auf Mobilgeraeten strecken. */
  .referenzseite .abschnitt { padding-block: 56px !important; }
  .referenzseite .abschnitt--hero { padding-top: 54px !important; }
  .buehne--klein + .abschnitt { padding-top: 64px !important; }

  /* Footer mobil enger und mit gleichmaessigen Blockabstaenden. */
  #sp-footer { padding-top: 44px !important; padding-bottom: 28px !important; }
  #sp-footer p, #sp-footer a, #sp-footer address { font-size: 15px !important; }
  #sp-footer .sppb-addon-wrapper { margin-bottom: 18px !important; }
}

/* Korrekturrunde 28.09.2026: Startseite ---------------------------------- */
@media (min-width: 992px) {
  /* Desktop-Hero wie im Original direkt unter dem Header beginnen lassen. */
  .sp-page-builder.page-21 .page-content #section-id-1635485860667 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Der vertikale Scroll-Hinweis ist im Original Bestandteil der Desktop-Bühne.
   Die exportierten Responsive-Hilfsklassen versteckten ihn in jeder Breite. */
@media (min-width: 1200px) {
  .page-21 #sppb-addon-wrapper-1635487104518 {
    display: block !important;
  }

  /* Die Referenz rendert die Hero-Titel mit dem dort wirksamen Sans-Serif-
     Fallback. Dadurch stimmen Breite, Umbruch und Blockhoehe wieder ueberein. */
  .page-21 #sppb-addon-1635486050920 .sppb-sp-slider-title {
    font-family: Arial, sans-serif !important;
  }
  .page-21 #sppb-addon-1635486050920 .sp-item:has(#sp-slider-inner-item-1635486050921-num-0-key) .sp-slider-content-align-left {
    transform: translateY(-27.19px);
  }
  .page-21 #sppb-addon-1635486050920 .sp-item:has(#sp-slider-inner-item-1635486050922-num-0-key) .sp-slider-content-align-left {
    transform: translateY(-23.63px);
  }
  .page-21 #sppb-addon-1635486050920 .sp-item:has(#sp-slider-inner-item-1635486050923-num-0-key) .sp-slider-content-align-left {
    transform: translateY(-3.56px);
  }

  /* Die Titelpositionen entsprechen pro Slide der Referenz. Die linke
     Inhaltsspalte liegt vor dem rechten Bild, damit lange Titel sichtbar bleiben. */
  .page-21 #sppb-addon-1635486050920 .sp-slider-content-wrap > .sppb-row > .sppb-col-lg-4 {
    position: relative;
    z-index: 3;
  }

  /* Das aus dem Hero in den Folgeabschnitt ragende Hausbild gibt dem
     Beschreibungstext etwas mehr Luft. */
  .page-21 #sppb-addon-wrapper-1644399406236 {
    position: relative;
    top: 20px;
  }
}

/* Kachel und Karussell verwenden dieselbe responsive Originalhoehe
   aus data-height-*. object-fit verhindert verzerrte Bildproportionen. */
.page-21 #sppb-addon-1635847167539 .sppb-carousel-extended-item {
  overflow: hidden;
}
.page-21 #sppb-addon-1635847167539 .sppb-carousel-extended-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}

/* Galerie und Karriere ohne kumulierte Leerabstaende verbinden. */
.page-21 #sppb-addon-wrapper-1635847167539 {
  margin-bottom: 0 !important;
}
.sp-page-builder.page-21 .page-content #section-id-1637661020148 {
  padding-top: 40px !important;
}
@media (max-width: 767.98px) {
  .sp-page-builder.page-21 .page-content #section-id-1637661020148 {
    padding-top: 20px !important;
  }
  .page-21 #sppb-addon-wrapper-1637661888273 {
    margin-top: 0 !important;
  }
}

/* Korrekturrunde 28.09.2026: mobile Leistungsseiten ---------------------- */
@media (max-width: 575.98px) {
  /* Das lange Wort darf nicht mit einem alleinstehenden letzten „n“ umbrechen. */
  .page-80 #sppb-addon-1646036872948 .sppb-addon-title,
  .page-80 h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  /* Die dekorative Punktspur bleibt im Inhaltsraster, statt am rechten
     Bildschirmrand zu schweben. Gleichzeitig werden die doppelten großen
     Abstände zwischen Überschrift und Folgetext reduziert. */
  .page-78 #sppb-addon-wrapper-1634621175982,
  .page-80 #sppb-addon-wrapper-1634621175982 {
    display: block !important;
    width: 65px !important;
    margin: 10px 0 0 0 !important;
  }
  .page-78 #section-id-1634557479421,
  .page-80 #section-id-1634557479421 {
    padding-bottom: 10px !important;
  }
  .page-78 #section-id-1645776567154,
  .page-80 #section-id-1645776567154 {
    padding-top: 20px !important;
  }

  /* Genügend Einzug für die Aufzählungszeichen, ohne den Text zu verengen. */
  .page-78 #sppb-addon-1645776567049 ul,
  .page-80 #sppb-addon-1645776567049 ul {
    margin-left: 0 !important;
    padding-left: 1.35rem !important;
    list-style-position: outside !important;
  }
}

