.frame-type-header header { margin-bottom: 0; }
.frame-type-header header *:last-child { margin-bottom: 0; }
.frame-type-header .ce-headline-center { text-align: center; }
.frame-type-header .ce-headline-right { text-align: right; }
.frame-type-header .ce-headline-left { text-align: left; }

/* Panorama-Elemente bestimmen die Hoehe selbst – product-top nicht zusaetzlich auf 66vh zwingen,
   sonst rutschen die Ansprechpartner-Karten weit nach unten. */
.product-top { min-height: 0; }
@media (min-width: 992px) {
  .product-top { min-height: 0; }
}

/* Trefferliste: technische Metadaten ausblenden (wie Altsite) */
.tx-indexedsearch-info, .tx-indexedsearch-descr { display: none; }

/* Suchergebnisse: technische Metadaten (Size/Created/Modified/Path) ausblenden wie Altsite */
.frame-type-list .media-body > ul.list-inline { display: none; }

/* Kopf-Suchbox wie Altsite: nur Feld + Lupe, kein zweiter Button */

#mainnavigation .tx-indexedsearch-fields { margin: 0; }

/* Suchseite: Formular-CE zeigt nur das Formular, Ergebnis-CE nur die Treffer */
.frame-layout-1 .elektra-search-results { display: none; }
.frame-layout-2 .elektra-search-form { display: none; }

/* Suchtreffer: Titel fett wie Altsite */
.media-heading, .media-heading a { font-weight: 700; }

/* Suchseite: Abstaende der Bloecke kompakt wie Altsite */
body#p187 .section-default > .frame { margin-top: 0; margin-bottom: 0; }
body#p187 .section-default > .frame-type-header { margin-top: 1.5rem; margin-bottom: 0.5rem; }
body#p187 .frame-type-header .element-header { margin-bottom: 0; }
body#p187 .section-default > .frame-type-list { margin-top: 0.5rem; margin-bottom: 1.5rem; }
body#p187 .elektra-search-results > p { margin-bottom: 0.5rem; }

/* Suchseite: Plugin-Elemente bekommen den Innenabstand, den sonst frame-inner liefert */
body#p187 #c600 .elektra-search-form { margin-bottom: 0; }

/* p187Kompakt: Abstaende der Suchseite wie Altsite */
body#p187 .section-default > .frame { margin: 0 !important; padding: 0 !important; }
body#p187 .section-default > .frame > .frame-container { padding: 0 20px !important; }
body#p187 .section-default > .frame > .frame-container > .frame-inner { padding: 0 !important; }
body#p187 .element-header { margin: 0.9rem 0 0.3rem 0 !important; }
body#p187 #c600 .elektra-search-form { margin-bottom: 0 !important; }
body#p187 .elektra-search-results { padding-top: 0 !important; }
body#p187 .elektra-search-results > p { margin: 0 0 0.35rem 0 !important; }
body#p187 .elektra-search-results .media { margin-bottom: 0.9rem !important; }
body#p187 .elektra-search-results .media-heading { margin-bottom: 0.2rem !important; }

/* Abstand zwischen Ueberschrift und Trefferzaehler */
body#p187 .elektra-search-results > p:first-child { margin: 0.8rem 0 0.9rem 0 !important; }

/* Kartenbilder: einheitliche Breite, Hoehe proportional */
.card-img-top img { width: 100%; height: auto; display: block; }

/* Anker-Elemente (a id="cXXX") duerfen keine Frame-Styles erben */
a[id^="c"] { display: inline !important; margin: 0 !important; padding: 0 !important;
  height: auto !important; aspect-ratio: auto !important; flex: 0 0 auto !important;
  position: static !important; background-image: none !important; }

/* RTE-Tabellen wie Bootstrap-Tabellen der Altsite darstellen */
.contenttable { width: 100%; max-width: 100%; margin-bottom: 1rem; border-collapse: collapse; background: transparent; }
.contenttable td, .contenttable th { padding: 12px; line-height: 1.5; vertical-align: top; border-top: 1px solid #dee2e6; }
.contenttable thead th { border-bottom: 2px solid #dee2e6; border-top: 0; }
.contenttable > tbody > tr:hover { background: rgba(0,0,0,.03); }

/* Social-Links: Zeilenhoehe wie Altsite (26px statt 36px) */
.sociallinks-link { display: inline-flex; align-items: center; height: 26px; line-height: 26px; }
.sociallinks-link-icon, .sociallinks-link-label { line-height: 26px; }

/* Captcha wie Altsite: volle Breite, Bild in Originalgroesse */

/* input-block-fix: .input ist bei der Altsite ein Block-Container (Label, Captcha, Feld untereinander) */
.frame-type-form_formframework .form-element .input { display: block !important; width: 100% !important; padding: 0 !important; }

/* label-abstand: Abstand Label -> Feld/Captcha wie Altsite (.5rem) */
.frame-type-form_formframework .form-element .input > label { display: block !important; width: fit-content !important; margin: 0 0 0.5rem 0 !important; }

/* Sidebar News: Folgeblock wie in der Altsite hochziehen (-56px) */
.sidebarContent > .frame ~ .frame { margin-top: -56px; }

/* Startseite: Kopfleiste so breit wie auf /kontakt/ (208px statt 416px) */
body#p1 #page-header {
  flex-basis: 16.6666% !important;
  min-width: 16.6666% !important;
}
/* Text in der News-Box der Startseite umbrechen statt die Leiste aufzuziehen */
body#p1 .sidebarContent, body#p1 .sidebarContent p,
body#p1 .sidebarContent h2, body#p1 .sidebarContent h3 {
  overflow-wrap: break-word;
  word-break: normal;
}
