/* KONTUR CMS 0.6.0.84 – globale Modulabstaende ohne unsichtbare Leerfelder
   Ausschliesslich Abstands-/Leerraumkorrektur. Keine Modulgestaltung. */
:root{
  --cms-block-gap:56px;
  --cms-block-gap-mobile:32px;
}

/* Einziger echter Aussenabstand zwischen zwei CMS-Modulen. */
main > .cms-managed-block{
  margin-top:0!important;
  margin-bottom:0!important;
  margin-block:0!important;
}
main > .cms-managed-block.cms-block-spaced{
  margin-top:var(--cms-block-gap,56px)!important;
}

/* Historische transparente Section-Paddings duerfen den globalen Abstand
   nicht vergroessern. Sichtbare Innengeometrie der Module bleibt erhalten. */
main > .cms-managed-block.cms-width-standard{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block:0!important;
}
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;
}

/* 0.6.0.84: Optionale, aber leere Textfelder duerfen keinerlei unsichtbaren
   Platz belegen. Das betrifft insbesondere Label/Kicker-Felder. */
main > .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}

/* Auch sonstige leere optionale Textausgaben aus den CMS-Renderern duerfen
   keine Browser-Standardmargins oder Modulmargins erzeugen. */
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;
}

/* Wenn ein leeres Label vor einer Ueberschrift steht, darf eine modulinterne
   h2/h3-top-margin nicht als zusaetzlicher Aussenabstand sichtbar werden. */
main > .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty + :is(h1,h2,h3,h4){
  margin-top:0!important;
}

/* Ein komplett leerer Standard-Titelkopf bekommt ebenfalls keinen reservierten
   Leerraum vor dem eigentlichen Modulinhalt. */
main > .cms-managed-block .section-title:not(:has(> :not(:empty))){
  display:none!important;
  margin:0!important;
  padding:0!important;
}

/* Admin-Livevorschau nach exakt derselben Logik. */
.preview .cms-managed-block{
  margin-top:0!important;
  margin-bottom:0!important;
  margin-block:0!important;
}
.preview .cms-managed-block.cms-width-standard,
.preview .cms-managed-block.hero,
.preview .cms-managed-block.home-capability-stack-section{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-block: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;
}
.preview .cms-managed-block :is(
  .kicker,
  .eyebrow,
  [class*="__kicker"],
  [class*="-kicker"]
):empty + :is(h1,h2,h3,h4){
  margin-top:0!important;
}
.preview .cms-managed-block .section-title:not(:has(> :not(:empty))){
  display:none!important;
  margin:0!important;
  padding:0!important;
}

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