/* Zweispaltige Inhaltsmodule: gemeinsamer semantischer Vertrag. Die konkrete
   Spaltenbreite bleibt ueber bestehende Layoutvarianten flexibel. */
.lhb-split-module { min-width: 0; }
.lhb-split-module__head,
.lhb-split-module__body { min-width: 0; }
.lhb-split-module__head > :first-child,
.lhb-split-module__body > :first-child { margin-top: 0; }
.lhb-split-module__head > :last-child,
.lhb-split-module__body > :last-child { margin-bottom: 0; }
.lhb-split-module__body img,
.lhb-split-module__body video,
.lhb-split-module__body iframe { max-width: 100%; }

/* Komponentenvertrag 1.1: neutrale Rollen fuer asymmetrische, umgekehrte
   und medienbasierte Zweispaltenmodule. __head/__body bleiben vorlaeufige
   Kompatibilitaetsklassen, neue Regeln verwenden primary/secondary. */
.lhb-split-module__primary,
.lhb-split-module__secondary {
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}
.lhb-split-module__primary > :first-child,
.lhb-split-module__secondary > :first-child { margin-top: 0; }
.lhb-split-module__primary > :last-child,
.lhb-split-module__secondary > :last-child { margin-bottom: 0; }
.lhb-split-module__primary :where(img, video, iframe),
.lhb-split-module__secondary :where(img, video, iframe) { max-width: 100%; }


/* Komponentenvertrag 1.2 – gestapelte Module im Hochformat.
   Medien-/Kopfteil und Textteil bleiben als ein gemeinsamer Baustein lesbar:
   eine einheitliche innere Strukturkante, ein sehr heller Akzentfond im Textteil und
   die starke Abschlusskante ausschliesslich am Gesamtmodul. */
@media(max-width:980px){
  .lhb-split-module{
    background:var(--weiss);
  }
  .lhb-split-module > .lhb-split-module__primary{
    border-right:0 !important;
    border-left:0 !important;
    border-bottom:var(--linie) solid var(--lhb-line-color) !important;
    background:var(--weiss) !important;
  }
  .lhb-split-module > .lhb-split-module__secondary{
    border-right:0 !important;
    border-left:0 !important;
    background:var(--lhb-overlay-accent-035) !important;
  }

  /* Kontrastvertrag fuer die wiederkehrenden Netzwerk-Callouts: Im
     gestapelten hellen Mobilzustand wechseln auch Typografie und Aktion
     verbindlich aus der inversen Desktop-Darstellung. */
  .lhb-split-module.network-callout{
    color:var(--schwarz);
  }
  .lhb-split-module.network-callout .network-kicker{
    color:var(--lila);
  }
  .lhb-split-module.network-callout h2{
    color:var(--schwarz);
  }
  .lhb-split-module.network-callout p{
    color:var(--lhb-neutral-850);
  }
  .lhb-split-module.network-callout .lhb-button--on-accent{
    border-color:var(--lhb-line-color);
    background:transparent;
    color:var(--schwarz);
  }
  .lhb-split-module.network-callout .lhb-button--on-accent:is(:hover,:focus-visible){
    border-color:var(--lila);
    background:var(--lila);
    color:var(--weiss);
  }
}


/* Komponentenvertrag 1.3 – Medienmodule im gestapelten Zustand.
   Die Medienfläche klebt weder an der vorangehenden Außenkante noch an der
   inneren Trennlinie. Ein gleichmäßiger Rahmenabstand gehört zum Modul, nicht
   zu einer einzelnen Seite. */
@media(min-width:981px){
  .lhb-split-module--media > .lhb-split-module__primary.lhb-framed-media-stage{
    padding:var(--lhb-media-pad-desktop);
  }
}
@media(min-width:761px) and (max-width:980px){
  .lhb-split-module--media > .lhb-split-module__primary{
    padding:var(--lhb-media-pad-tablet) !important;
  }
}
@media(max-width:760px){
  .lhb-split-module--media > .lhb-split-module__primary{
    padding:clamp(18px,3.4vw,28px) !important;
  }
}
@media(max-width:980px){
  .lhb-split-module--media > .lhb-split-module__primary > figure{
    width:100%;
    margin:0;
  }
}


/* Komponentenvertrag 1.4 / v275 – verbindliche Rasterfamilien.
   Standardmodule halten die vertikale 40/60-Achse durch. Rueckblicke und
   dokumentarische Listen besitzen bewusst eigene, ebenfalls zentrale Achsen. */
.lhb-split-module--standard{
  display:grid;
  grid-template-columns:var(--lhb-grid-standard-split);
}
.lhb-split-module--retrospective{
  display:grid;
  grid-template-columns:var(--lhb-grid-retrospective-split);
}
.lhb-split-module--documentary-row{
  display:grid;
  grid-template-columns:var(--lhb-grid-documentary-row);
}
.lhb-split-module--wide-media{
  display:grid;
  grid-template-columns:var(--lhb-grid-wide-media);
}

/* v401 – Grid-Kinder duerfen die zentral definierte Achse nicht durch ihren
   intrinsischen Mindestinhalt verbreitern. Das gilt fuer alle Rasterfamilien,
   damit Text/Medien in ihrer zugewiesenen Spalte bleiben. */
.lhb-split-module--standard > *,
.lhb-split-module--retrospective > *,
.lhb-split-module--documentary-row > *,
.lhb-split-module--wide-media > *{
  min-width:0;
  max-width:100%;
}
@media(max-width:980px){
  .lhb-split-module--standard,
  .lhb-split-module--retrospective,
  .lhb-split-module--documentary-row,
  .lhb-split-module--wide-media{
    grid-template-columns:1fr;
  }
}
