/* KONTUR CMS 0.6.0.89 – globale Modulabstaende auf der echten DOM-Struktur
   Wichtig: cms_block_typography() legt jedes Modul in einen display:contents-
   Wrapper .cms-text-block49. Deshalb duerfen die Abstandsregeln NICHT von
   "main > .cms-managed-block" abhaengen. Diese Datei wird als letzte
   Abstandsdatei geladen und verwendet die am Modul selbst gesetzten Klassen. */
:root{
  --cms-block-gap:56px;
  --cms-block-gap-mobile:32px;
}

/* Grundzustand fuer jedes gerenderte CMS-Modul – unabhaengig vom Wrapper. */
main .cms-managed-block{
  margin-top:0!important;
  margin-bottom:0!important;
  margin-block:0!important;
  box-sizing:border-box!important;
}

/* Der im Admin gespeicherte Wert ist der EINZIGE Abstand zwischen zwei
   aufeinanderfolgenden sichtbaren Modulen. cms-block-spaced wird serverseitig
   nur ab dem zweiten gerenderten Modul gesetzt. */
main .cms-managed-block.cms-block-spaced{
  margin-top:var(--cms-block-gap,56px)!important;
}
main .cms-managed-block.cms-block-first{
  margin-top:0!important;
}

/* Standardmodule besitzen aussen nur einen transparenten Section-/Wrap-Rahmen.
   Dieser darf nicht zusaetzlich zum globalen Modulabstand beitragen. */
main .cms-managed-block.cms-width-standard{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
}
main .cms-managed-block.cms-width-standard > .wrap:not(.history-layout){
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
  display:flow-root;
}
main .cms-managed-block.cms-width-standard > .wrap:not(.history-layout) > :first-child{
  margin-top:0!important;
}
main .cms-managed-block.cms-width-standard > .wrap:not(.history-layout) > :last-child{
  margin-bottom:0!important;
}

/* Bekannte transparente Full-Bleed-Aussenwrapper. Sichtbare Full-Bleed-
   Flaechen selbst werden nicht veraendert. */
main .cms-managed-block.hero,
main .cms-managed-block.home-capability-stack-section{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
}

/* Leere optionale Textelemente reservieren keinerlei Hoehe. */
main .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty,
main .cms-managed-block :is(h1,h2,h3,h4,p):empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}
main .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty + :is(h1,h2,h3,h4){
  margin-top:0!important;
}
main .cms-managed-block .section-title:not(:has(> :not(:empty))){
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* Admin-Vorschau: gleiche Innenrandlogik; der Abstand zwischen den Preview-
   Modulen wird dort weiterhin vom vorhandenen Preview-Wrapper dargestellt. */
.preview .cms-managed-block{
  margin-top:0!important;
  margin-bottom:0!important;
  margin-block:0!important;
}
.preview .cms-managed-block.cms-width-standard{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
}
.preview .cms-managed-block.cms-width-standard > .wrap:not(.history-layout){
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
  display:flow-root;
}
.preview .cms-managed-block.cms-width-standard > .wrap:not(.history-layout) > :first-child{
  margin-top:0!important;
}
.preview .cms-managed-block.cms-width-standard > .wrap:not(.history-layout) > :last-child{
  margin-bottom:0!important;
}
.preview .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty,
.preview .cms-managed-block :is(h1,h2,h3,h4,p):empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}

@media(max-width:700px){
  main .cms-managed-block.cms-block-spaced{
    margin-top:var(--cms-block-gap-mobile,32px)!important;
  }
  main .cms-managed-block.cms-block-first{
    margin-top:0!important;
  }
}
