/*
Theme Name: Modrow Audio – Behutsame Modernisierung
Theme URI: https://neu.modrow-audio.de/
Author: Modrow Audio
Description: Ruhige, textorientierte Gestaltung auf Basis der bisherigen Modrow-Website. Mit bearbeitbaren WordPress-Blöcken.
Version: 922
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.2
Text Domain: modrow-audio
*/
:root {
  color-scheme:light;
  /* Verbindliche globale Ueberschriften- und Textregeln nach Nutzervorgabe. */
  --modrow-global-h1:36px;
  --modrow-global-h2:22px;
  --modrow-global-h3:30px;
  --modrow-global-h4:20px;
  --modrow-global-h5:20px;
  --modrow-global-h6:19px;
  --modrow-global-h1-mobile:28px;
  --modrow-global-h2-mobile:20px;
  --modrow-global-h3-mobile:24px;
  --modrow-global-h4-mobile:18px;
  --modrow-global-h5-mobile:18px;
  --modrow-global-h6-mobile:17px;
  --modrow-global-h1-space-top:30px;
  --modrow-global-h1-space-bottom:10px;
  --modrow-global-h2-space-top:10px;
  --modrow-global-h2-space-bottom:48px;
  --modrow-global-h3-space-top:30px;
  --modrow-global-h3-space-bottom:12px;
  --modrow-global-h4-space-top:12px;
  --modrow-global-h4-space-bottom:24px;
  --modrow-global-h5-space-top:16px;
  --modrow-global-h5-space-bottom:12px;
  --modrow-global-h6-space-top:12px;
  --modrow-global-h6-space-bottom:8px;

  /* Gemeinsame Tabellen-Ursprungswerte: HPA/X5, PSU80 und Kabel.
     Werte fuer Tabellenkoerper werden hier und nicht in den Einzel-Seiten gepflegt. */
  --modrow-spec-cell-leading:1.55;
  --modrow-spec-cell-padding:10px 12px 10px 0;
  --modrow-spec-divider:1px solid #c5cdd3;
  --modrow-global-body-size:19.28px;
  --modrow-global-body-size-mobile:16px;
  --modrow-global-body-leading:1.68;
  --modrow-global-paragraph-space-bottom:16px;
  /* Homepage und Unterseiten beziehen ihre Textformate nur noch aus den globalen Werten. */
  --modrow-effective-body-size:var(--modrow-global-body-size);
  --modrow-bsfz-small-image-width:185px;
  --modrow-bsfz-mobile-image-width:160px;
  --modrow-logo-width:451.72512px;
  --modrow-wide-paragraph-width:min(100%,calc(var(--modrow-logo-width) - 11px));
  --modrow-intro-layout-width:min(1600px,calc(100vw - 48px));
  --modrow-header-gutter:clamp(24px,max(calc(11.46vw - 44.88px),calc(18.63vw - 110.46px)),10vw);
  --modrow-frame-gutter:24px;
  --modrow-section-page-gutter:24px;
  --modrow-intro-text-inset:5px;
  --modrow-color-page:#e8eef2;
  --modrow-color-header:#DFE4E8;
  --modrow-color-ink:#000000;
  --modrow-content-heading-leading:1.25;
  --modrow-x5-feature-heading-size:clamp(24px,2.5vw,30px);
  --modrow-color-accent:#1d5dbd;
  /* Einheitliche Navigation-/Button-Ursprungswerte. */
  --modrow-nav-text:#53697E;
  --modrow-nav-hover:#618ccc;
  --modrow-control-padding:11px 18px;
  --modrow-control-radius:3px;
  --modrow-control-font-size:15px;
  --modrow-control-line-height:1.5;
  /* Einheitliche Symbolgroesse der Aussprache-Hilfe (nur Home und Testseite). */
  --modrow-pronunciation-size:18px;
  /* Horizontaler Abstand aller nebeneinander stehenden Inhaltsbuttons: Homepage-Massstab. */
  --modrow-button-gap-horizontal:28px;
  /* Grundabstand nach Bildern und auf der unveraenderten Testseite. */
  --modrow-button-space-top:28px;
  /* Sichtabstand vom letzten Schriftpixel zur Buttonoberkante:
     Ziel rund 27 px. Korrektur ausschliesslich am BUTTON, nie an H1-H6 oder Text.
     Die verschiedenen Werte gleichen den Leerraum unter der letzten Zeilenbox
     aus; unabhaengig von der Browser-Unterstuetzung fuer text-box-trim. */
  --modrow-button-after-text:17px;
  --modrow-button-after-bold-text:21px;
  --modrow-button-after-quote:14px;
  --modrow-button-after-h1:17px;
  --modrow-button-after-h2:21px;
  --modrow-button-after-h3:19px;
  --modrow-button-after-h4:21px;
  --modrow-button-after-h5:21px;
  --modrow-button-after-h6:22px;
  /* Einzige Master-Vorgabe fuer den Markenabschluss. */
  --modrow-brand-space-top:55px;
  --modrow-brand-size:24px;
  --modrow-brand-leading:1.4;
  --modrow-color-line:#b6c4ce;
  --modrow-font-main:Arial,Helvetica,sans-serif;
}
@media (max-width:1050px){:root{--modrow-intro-text-inset:0px;}}
/* V820 – VERBINDLICHER BREITENSCHUTZ (1010 bis 2048 px, inklusive):
   1. Texte und Buttons bleiben ihren vorhandenen Bereichen WIDE, TEXT
      oder SMAL zugeordnet. Keine eigenmaechtige Entkopplung oder Verschiebung.
   2. Die Grundregeln FULL, WIDE, TEXT und SMAL duerfen in diesem Bereich
      nur auf ausdruecklichen Einzelauftrag geaendert werden. Anschliessend
      ist auch der neue, freigegebene Stand wieder geschuetzt.
   3. Unter 1010 px Bildgroessen vorzugsweise durch die vier zentralen
      Bereichsbreiten und die bereits bestehenden Elterncontainer steuern,
      nicht durch neue bildspezifische Breakpoints oder CSS-Overrides.
   4. Bildspezifische Bestandsgrenzen und der gewachsene Homepage-Einstieg
      sind NICHT stillschweigend umgebaut: ein vollstaendiger Umbau waere
      sichtbar und muss vor der Freigabe besprochen werden.
   5. Bei Konflikten oder abweichendem Verhalten vor Versand informieren.
   Diese Schutzregel ist eine Bearbeitungsvorgabe, keine unsichtbare
   Neupositionierung: V806 bleibt die unveraenderte sichtbare Grundlage. */
/* Gemeinsame vier Referenzbreiten fuer Testseite, reguläre Seiten und
   WordPress-Fallbacks. Nur TEXT ist in V893 neu: stetige lineare
   Interpolation proportional zu WIDE von 1050px (WIDE=1600px) bis
   962px (WIDE=962px). FULL, WIDE und SMAL bleiben wie in V892. */
body {
  --modrow-test-reference-full:min(100vw,2048px);
  --modrow-test-reference-wide:min(1600px,calc(var(--modrow-test-reference-full) - 48px),calc(1600px - (2048px - var(--modrow-test-reference-full)) * 0.479166666666667));
  --modrow-test-reference-text:calc(1050px - (1600px - var(--modrow-test-reference-wide)) * 0.137931034482759);
  --modrow-test-reference-smal:calc(var(--modrow-test-reference-wide) - 880px);
  --wp--style--global--content-size:var(--modrow-test-reference-text);
  --wp--style--global--wide-size:var(--modrow-test-reference-wide);
}
/* Die allgemeinen WordPress-Fallback-Vorlagen greifen nun ebenfalls auf
   die vier Referenzbreiten zu. Ihre bestehenden Container- und
   Header-Einrueckungen sind davon zu unterscheiden. */
body:not(:has(.modrow-test-page)){
    --modrow-layout-full:var(--modrow-test-reference-full);
    --modrow-intro-layout-width:min(1600px,80vw);
    --modrow-width-wide:var(--modrow-test-reference-wide);
    --modrow-width-text:var(--modrow-test-reference-text);
    --modrow-width-smal:var(--modrow-test-reference-smal);
    --modrow-frame-gutter:calc(min(1600px,80vw) * 0.015);
    --modrow-logo-width:max(186.336612px,calc(min(1600px,80vw) * 0.2823282));
    --modrow-home-intro-copy-width:var(--modrow-logo-width);
    --modrow-header-responsive-logo-width:var(--modrow-logo-width);
    --modrow-header-responsive-padding:6px;
}
/* Unter 1010px ist TEXT auf allen Seiten identisch mit WIDE.
   Bestehende Einspalten-Anordnung der Nicht-Testseiten beibehalten. */
@media (width < 1010px){
  body {
    --modrow-test-reference-text:var(--modrow-test-reference-wide);
    --modrow-test-reference-smal:calc(var(--modrow-test-reference-wide) * 0.45 - max(0px,calc((var(--modrow-test-reference-wide) - 552px) * 0.8558536585365854)));
  }
  body:not(:has(.modrow-test-page)){
    --modrow-single-column-wide:var(--modrow-width-wide);
    --modrow-width-text:var(--modrow-single-column-wide);
    --modrow-heading-visible-width:var(--modrow-single-column-wide);
    --modrow-heading-visible-inset:0px;
    --modrow-wide-paragraph-width:100%;
  }
}
/* Ein gemeinsamer BSFZ-Massstab fuer Homepage und Testseite.
   Die Homepage verwendet seit V803 min(1600px,80vw) als FULL-Ursprung. */
@media (min-width:1280px){
 body{
    --modrow-bsfz-proportional-width:calc(min(1600px,80vw) * 0.2);
    --modrow-bsfz-text-gap:calc(min(1600px,80vw) * 0.0375);
 }
}
*,:before,:after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:16px;}
body{margin:0;color:var(--modrow-color-ink);font-family:var(--modrow-font-main);line-height:1.65;}
body,.wp-site-blocks{background:var(--modrow-color-page);}
.wp-site-blocks > *{margin-block-start:0!important;}
.wp-site-blocks a:focus-visible,
.modrow-original-header .modrow-dropdown-trigger:focus-visible{outline:2px solid var(--modrow-color-accent);outline-offset:3px;}

/* Kopfbereich: Logo links, einreihige Navigation rechts.
   Der Header liegt als gemeinsame Grundregel ueber dem folgenden Seiteninhalt.
   Sonst verdeckt der Inhaltsblock trotz sichtbarem Dropdown dessen erste
   Menuezeile und unterbricht den Hover-Zustand. Keine geometrische Aenderung. */
.modrow-original-header{position:relative;z-index:20;background:var(--modrow-color-header);border-bottom:1px solid transparent!important;}
.modrow-header-inner{width:var(--modrow-header-geometry-width,auto);max-width:var(--modrow-header-geometry-max,1400px);margin:0 auto;padding:6px var(--modrow-header-geometry-padding,var(--modrow-frame-gutter)) 6px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.modrow-brand{display:block;line-height:0;flex:var(--modrow-header-logo-flex,0 0 auto);min-width:var(--modrow-header-logo-min-width,auto);align-self:center;}
.modrow-brand img{width:var(--modrow-logo-width);max-width:100%;height:auto;display:block;margin-left:var(--modrow-brand-margin-left,-8px);transform:var(--modrow-logo-optical-transform,none);}
/* Ein einziger Desktop-Navigationsursprung: ausschliesslich einreihig.
   Bei Platzmangel uebernimmt die bestehende Hamburger-Navigation.
   Der zweireihige Grid-Modus und seine Sondervariablen sind entfernt. */
.modrow-original-header .modrow-desktop-navigation{
  display:flex;
  flex:0 0 auto;
  justify-content:flex-end;
  align-items:flex-end;
  gap:var(--modrow-nav-flex-gap,15px);
  white-space:nowrap;
  margin:0 0 0 auto;
  transform:translateY(var(--modrow-nav-optical-baseline-shift,0px));
}
/* Desktop-Reihenfolge bleibt wie bisher bei einreihiger Navigation. */
@media (min-width:915px){
 .modrow-original-header .modrow-desktop-navigation > :nth-child(3){order:7;} /* Preise */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(4){order:6;} /* Vertrieb */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(5){order:5;} /* Testberichte */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(6){order:4;} /* Kompetenzen */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(7){order:3;} /* Kabel */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(8){order:8;} /* Service */
 .modrow-original-header .modrow-desktop-navigation > :nth-child(-n+2){order:0;} /* Home, Komponenten */
}

.modrow-original-header nav a{font-size:14.5px;line-height:20px;text-decoration:none;color:var(--modrow-nav-text);font-weight:600;white-space:nowrap;padding:0;}
.modrow-original-header nav a:is(:hover,:focus-visible){color:var(--modrow-nav-hover);text-decoration:none;}

.modrow-original-page,.modrow-regular-page,.modrow-blog,.modrow-original-footer{font-family:var(--modrow-font-main);letter-spacing:0;}
/* Main – the entire sequence and text hierarchy of the previous site */
/* Ein Mindesthoehen-Ursprung fuer die drei normalen WordPress-Fallbacks.
   Produktseiten duerfen diesen Wert wie bisher lokal uebersteuern. */
.modrow-generic-page,.modrow-regular-page,.modrow-blog{min-height:55vh;}
/* Der letzte Inhaltsabstand ist nur bei gesondertem Markenabschluss noetig.
   Auf der Homepage steht der Markenabschluss innerhalb von main; die
   Testseite bekommt den Leerraum ausschliesslich vom Footer. */
body:has(.modrow-brand-statement) {--modrow-original-bottom-pad:0px;}
.modrow-original-page:not(.modrow-test-page){max-width:var(--modrow-visible-wide-width,var(--modrow-width-wide))!important;margin:0 auto!important;padding:0 var(--modrow-test-frame-pad,var(--modrow-frame-gutter)) var(--modrow-original-bottom-pad,30px)!important;}
.modrow-test-page{padding-block-end:var(--modrow-original-bottom-pad,30px)!important;text-align:left;}
/* Ein zentraler Inhaltswurzel-Ursprung: keine 810-px-Zweitbegrenzung. */
main.modrow-page-structure:not(.modrow-test-page) > :is(.is-layout-constrained,.wp-block-post-content),
main.modrow-page-structure:not(.modrow-test-page) .wp-block-post-content,
main.modrow-page-structure:not(.modrow-test-page) .wp-block-post-content.is-layout-constrained > .modrow-testberichte-page{
  width:100%;
  max-width:none;
  min-width:0;
  margin-inline:0;
}
/* Titel-Flow in verschachtelten WordPress-Constrained-Gruppen:
   nur den Titelbereich auf die vorhandene WIDE-Ursprungsbreite ausdehnen.
   Produktbilder und Story-Container bleiben im bisherigen Elternblock. */
main.modrow-page-structure:not(.modrow-test-page):has(.is-layout-constrained)
 .modrow-testberichte-page
 > .modrow-section.intro > .modrow-text-flow:has(> .modrow-heading-pair){
  width:calc(100vw - 48px);
  max-width:none;
}
@media (max-width:600px){
 main.modrow-page-structure:not(.modrow-test-page):has(.is-layout-constrained)
  .modrow-testberichte-page
  > .modrow-section.intro > .modrow-text-flow:has(> .modrow-heading-pair){
   width:calc(100vw - 32px);
 }
}
.modrow-original-page .modrow-section{border-bottom:none;}
.modrow-original-page:not(.modrow-test-page) .modrow-section{width:100%;max-width:none!important;margin:0!important;}
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section{padding:28px 0 31px;}

.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:first-child,
.modrow-original-page .wp-block-post-content > .modrow-section.intro:first-child,
body.modrow-components-active .modrow-components-page > .modrow-section:first-child,
body.modrow-eco-active .modrow-eco-heading,
:is(body.modrow-competences-active .modrow-competences-page,
    body.modrow-testberichte-active .modrow-testberichte-page),
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.story,.technical,.proof) > .modrow-text-flow > h2 + p.modrow-breath-before,
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.story,.technical,.proof) > .modrow-text-flow > h2 + p.modrow-breath-before + p,
body.modrow-components-active .modrow-components-page .modrow-x5-heading,
body.modrow-components-active .modrow-components-page .modrow-x5-restored {
  padding-top:0!important;
  margin-top:0!important;
}
/* flow-root gilt nur fuer die wirklichen Block-Intros; ECO/Linear nutzen
   jeweils ihren vorhandenen Flex-Ursprung im Netzteil-Bereich. */
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:first-child,
.modrow-original-page .wp-block-post-content > .modrow-section.intro:first-child,
body.modrow-components-active .modrow-components-page > .modrow-section:first-child,
:is(body.modrow-competences-active .modrow-competences-page,
    body.modrow-testberichte-active .modrow-testberichte-page){display:flow-root;}

.modrow-original-page:where(:not(.modrow-test-page)) .modrow-text-flow{max-width:none;width:100%;margin:0!important;}
/* Eine gemeinsame WIDE-Ursprungsgeometrie fuer alle Unterseiten-H1/H2.
   Die Testseite bleibt unveraendert: Dort beginnt der sichtbare Titelbereich
   5 px innerhalb des zentrierten Intro-Fensters. Enge TEXT-Container
   duerfen die WIDE-Titel nicht begrenzen. */
.modrow-page-structure:not(.modrow-test-page) .modrow-heading-pair{
  grid-column:1 / -1;
  width:var(--modrow-heading-visible-width,var(--modrow-intro-layout-width));
  max-width:none;
  margin-inline:0;
  padding-left:var(--modrow-heading-visible-inset,var(--modrow-intro-text-inset));
  position:relative;
  left:50%;
  transform:translateX(-50%);
}
/* Gemeinsamer Blockfluss fuer regulaere H1/H2-Titelpaare bei allen Breiten.
   HPA und Testseite behalten ihre eigenen Layouts. */
.modrow-original-page.modrow-page-structure:not(.modrow-test-page) .modrow-heading-pair:not(.modrow-hpa-wide-heading),
body.modrow-eco-active .modrow-page-structure .modrow-heading-pair{display:block;}
@media (max-width:600px){
  .modrow-page-structure:not(.modrow-test-page) .modrow-heading-pair{
    width:var(--modrow-heading-visible-width,calc(100vw - 40px));
  }
}

/* Die Testseite behaelt Header, Footer und Siegel direkt an den
   gemeinsamen Referenzbreiten; keine zweite Breitenberechnung. */
body:has(.modrow-test-page) {
  /* Gemeinsamer Kantenursprung fuer die optische Logo-Rechte und
     Einleitungstext-Rechte: beide enden an der linken SMAL-Kante.
     Von 1010px bis 2048px ist der Abstand zu WIDE stets 440px.
     Unterhalb 1010px folgt ein stetiger Uebergang; bei 600px und
     darunter gilt wieder exakt die bisherige 27,5%-Einleitungsbreite. */
  --modrow-test-leading-column-width:calc((var(--modrow-test-reference-wide) - var(--modrow-test-reference-smal)) / 2);
  /* Das Testsiegel behaelt Groesse und Abstand relativ zu WIDE, nicht FULL. */
  --modrow-bsfz-proportional-width:calc(var(--modrow-test-reference-wide) * 0.2);
  --modrow-bsfz-text-gap:calc(var(--modrow-test-reference-wide) * 0.0375);
  /* Ein WIDE-Ursprung fuer Footer und Copyright, einschliesslich
     der bestehenden Umschaltpunkte bei 1100px und 640px. */
  --modrow-footer-responsive-width:var(--modrow-test-reference-wide);
  /* Das vorhandene Raster besteht aus Adresse, Kontakt und Logo. */
  --modrow-footer-mid-columns:max-content minmax(0,1fr) 235px;
  --modrow-footer-mid-gap:0px;
  --modrow-footer-mid-address-column:1;
  --modrow-footer-mid-contact-column:2;
  --modrow-footer-mid-brand-column:3;
  /* Desktop und responsiver Footer beziehen sich auf dieselben WIDE-Kanten. */
  --modrow-footer-desktop-width:var(--modrow-footer-responsive-width);
  --modrow-footer-desktop-margin:calc((100vw - var(--modrow-test-reference-wide))/2);
  --modrow-footer-copyright-wide-shift:0px;
  --modrow-header-geometry-width:var(--modrow-test-reference-wide);
  --modrow-header-geometry-max:none;
  --modrow-header-geometry-padding:0px;
  --modrow-brand-margin-left:0px;
  /* Gemeinsamer Header-Logo-Ursprung: ab 1010px bleibt die optische
     rechte Kante an der linken SMAL-Kante (bisherige 526/540-Korrektur).
     Darunter wird die Wortmarke bis zur schmalen Ansicht behutsamer
     verkleinert, damit sie neben Hamburger und H1 sichtbar dominiert.
     Die Breite folgt bei 1010px exakt dem alten Wert, hat keinen Sprung
     bei 1009/1010 oder 600/601 und wird vom Platz neben dem Menue begrenzt.
     Nur unter 1010px darf die Logo-Rechte von SMAL abweichen. */
  --modrow-header-logo-flex:0 0 min(
    clamp(180px,calc(451.711026616px - (1010px - min(1010px,var(--modrow-test-reference-full))) * 0.47),451.711026616px),
    calc(var(--modrow-test-reference-wide) - 100px)
  );
  --modrow-header-logo-min-width:0;
  --modrow-logo-width:100%;
  --modrow-header-responsive-logo-width:100%;
  /* Links 7/540 transparente Pixel optisch am WIDE-Rand ausgleichen. */
  --modrow-logo-optical-transform:translateX(-1.2962962963%);
  /* Optische Grundlinie: Unterkante der kleinen Logo-Schrift (ohne
     Unterlaengen von g/p) und der Navigationsschrift gleich hoch.
     Der bestehende gemeinsame Flex-End-Ursprung bleibt erhalten; nur die
     wechselnde transparente/typografische Resthoehe wird skaliert. */
  --modrow-nav-optical-baseline-shift:clamp(0px,calc(7px - var(--modrow-test-reference-wide) * 0.0037),6px);
}
/* Testseite: H1/H2 und Einleitung beginnen an der linken WIDE-Kante.
   Die rechte Textkante und die sichtbare Logo-Rechte folgen weiterhin
   der geschuetzten linken SMAL-Kante (440px von WIDE). Nur das Dummy-Bild
   wird innerhalb seiner bestehenden Grundregel neu bemessen: je 40px
   Abstand rechts vom Text und links von der FULL-Rechtskante.
   Es darf WIDE nach rechts verlassen, bleibt jedoch 40px innerhalb FULL.
   FULL/WIDE/SMAL bleiben wie V892; TEXT folgt jetzt V893. */
.modrow-test-page > .modrow-section.intro > .modrow-text-flow {
  padding-inline-start:calc((100% - var(--modrow-test-reference-wide)) / 2);
}
.modrow-test-page .modrow-test-intro-copy {
  /* Rechter Textabschluss exakt an der linken SMAL-Kante. */
  --modrow-test-intro-text-width:var(--modrow-test-leading-column-width);
  --modrow-test-image-side-gap:40px;
  position:relative;
  width:var(--modrow-test-intro-text-width);
  max-width:100%;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}
.modrow-test-page .modrow-test-image-dummy {
  position:absolute;
  left:calc(100% + var(--modrow-test-image-side-gap));
  top:50%;
  transform:translateY(-50%);
  width:max(0px,calc((var(--modrow-test-reference-full) + var(--modrow-test-reference-wide)) / 2 - var(--modrow-test-intro-text-width) - 2 * var(--modrow-test-image-side-gap)));
  height:33.333333%;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  margin:0;
}
/* Die neutrale Platzhalteroptik gilt ausschliesslich fuer die Testseite.
   Service nutzt nur die gemeinsame Bildgeometrie, nicht deren Dummystil. */
.modrow-test-page:not(.modrow-service-page):not(.modrow-home-page) .modrow-test-image-dummy{
  background:#cdd7df;
  border:1px dashed #627b91;
  color:#3d586c;
  font:600 14px/1.3 Arial,sans-serif;
  text-align:center;
}
/* Home: Freigegebene Originalbildgroesse der bisherigen Homepage. Die alte
   Einleitungs-Grid-Regel bestimmt diese Breite aus FULL, Logo-/Textspalte
   und Grid-Spaltenabstand; bis 1070px. Kein neuer Groessenmassstab.
   In der rechten Freiflaeche zwischen TEXT-Einleitung und FULL-Aussenkante
   wird der verbleibende Platz links/rechts gleich geteilt. Damit wachsen
   die Abstaende proportional mit der Viewportbreite; die vertikale
   Position bleibt am Mittelpunkt des Einfuehrungstextblocks verankert.
   Die Regeln gelten jetzt fuer die freigegebene reguläre Startseite. */
.modrow-test-page.modrow-home-page .modrow-test-image-dummy{
  --modrow-home-original-image-width:min(1070px,calc(min(1600px,80vw) - max(186.336612px,calc(min(1600px,80vw) * 0.2823282)) - clamp(56px,4vw,78px)));
  --modrow-home-available-right:calc((var(--modrow-test-reference-full) + var(--modrow-test-reference-wide)) / 2 - var(--modrow-test-intro-text-width));
  left:calc(100% + (var(--modrow-home-available-right) - var(--modrow-home-original-image-width)) / 2);
  width:var(--modrow-home-original-image-width);
  height:auto;
  aspect-ratio:auto;
  display:block;
  pointer-events:auto;
}
.modrow-test-page.modrow-home-page .modrow-test-image-dummy img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
/* Home einspaltig: Wie bei der alten Homepage folgt die Bildbreite
   dem einstufigen WIDE-Ursprung, nicht dem breiteren Home-TEXT-Block.
   Das Bild wird in der WIDE-Spalte mittig platziert. */
@media (width < 1010px){
  .modrow-test-page.modrow-home-page .modrow-test-image-dummy{
    --modrow-home-original-image-width:min(calc(100vw - 40px),calc(560px + (100vw - 600px) * 0.136829268292683));
    width:var(--modrow-home-original-image-width);
    margin-inline-start:calc((100% - var(--modrow-home-original-image-width)) / 2);
    margin-inline-end:0;
  }
}
/* Service: geometrische Hoehe des bestehenden H3-/H4-Informationsblocks.
   Der Bildrahmen hat keine eigenen Platzhalterfarben oder -rahmen. */
.modrow-service-page .modrow-service-intro-image{
  margin:0;
  height:100%;
}
.modrow-service-page .modrow-service-intro-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Service: dezente Bildkennzeichnung ausserhalb des Motivs,
   unmittelbar unter der Bildkante; Bildgeometrie bleibt unveraendert. */
.modrow-service-page .modrow-service-intro-image figcaption{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  max-width:100%;
  padding:0;
  background:none;
  border:0;
  color:#64717a;
  font:italic 11px/1.35 Arial,sans-serif;
  white-space:normal;
  text-align:right;
}
/* Markierungen kurz oberhalb von H1 ohne Einfluss auf Referenzpositionen. */
.modrow-test-page > .modrow-section.intro { position:relative; }
.modrow-test-width-areas {
  position:absolute;
  inset-inline:0;
  top:-19px;
  height:0;
  pointer-events:none;
}
.modrow-test-width-areas > .modrow-test-width-area {
  position:relative;
  height:0;
  margin-inline:auto;
}
.modrow-test-width-area--full {width:var(--modrow-test-reference-full);color:#6557a1;}
.modrow-test-width-area--wide {width:var(--modrow-test-reference-wide);color:#2460b5;}
.modrow-test-width-area--text {width:var(--modrow-test-reference-text);color:#b13b34;}
.modrow-test-width-area--smal {width:var(--modrow-test-reference-smal);color:#287a59;}
/* Zwei vertikale Grenzen je Bereich, die rechte mit Bereichsname. */
.modrow-test-width-area::before,
.modrow-test-width-area::after {
  position:absolute;
  top:0;
  height:14px;
}
.modrow-test-width-area::before {
  content:"";
  left:0;
  border-left:2px solid currentColor;
}
.modrow-test-width-area::after {
  content:attr(data-bereich);
  right:0;
  border-right:2px solid currentColor;
  padding-right:4px;
  font:600 10px/14px Arial,sans-serif;
  white-space:nowrap;
}

/* Testseite: ein einziger geschuetzter TEXT-Ursprung fuer H3–H6,
   Fliesstext, Master-Button und den Markenabschluss. Kein seitlicher
   Einzug fuer das Siegel; der TEXT-Bereich bleibt unangetastet. */
.modrow-test-page > .modrow-section.story > .modrow-text-flow,
body:has(.modrow-test-page) .modrow-brand-statement-block {
  width:var(--modrow-test-reference-text);
  margin-inline:auto;
}

/* Vertrieb: der Inhaltsblock beginnt links an WIDE und endet rechts an
   TEXT. Beide Kanten stammen ausschliesslich aus der bestehenden
   Testseiten-Referenzgeometrie; keine zweite Breiten- oder Mobilregel. */
.modrow-vertrieb-page > .modrow-section.intro > .modrow-text-flow > .modrow-vertrieb-wide-content {
  width:calc((var(--modrow-test-reference-wide) + var(--modrow-test-reference-text)) / 2);
  margin-inline:0;
}

/* Kabel, Kompetenzen und Impressum: Inhalt ab H2 im bestehenden TEXT-Ursprung.
   Diese Unterseiten nutzen die gemeinsamen Testseiten-Referenzbreiten.
   Keine eigene Seitenbreite und keine zusaetzliche Abschnittsluecke. */
.modrow-kabel-page > .modrow-section.intro > .modrow-text-flow > .modrow-kabel-content,
.modrow-kompetenzen-page > .modrow-section.intro > .modrow-text-flow > .modrow-kompetenzen-content,
.modrow-impressum-page > .modrow-section.intro > .modrow-text-flow > .modrow-impressum-content{
  width:var(--modrow-test-reference-text);
  max-width:none;
  margin-inline-start:calc((var(--modrow-test-reference-wide) - var(--modrow-test-reference-text)) / 2);
}

/* Siegel nur in seinem vorhandenen Ursprung verschieben: die linke
   Aussenspalte ergibt sich aus der unveraenderten TEXT-Breite.
   Bei knapper Breite erst den Abstand auf 24px verkleinern, dann die
   CSS-Darstellungsbreite des Siegels. Links bleiben immer 24px frei.
   Keine neue Media Query, keine Aenderung an FULL/WIDE/TEXT/SMAL. */
.modrow-test-page .modrow-test-siegel-row{
  --modrow-test-siegel-left-rail:calc((100vw - var(--modrow-test-reference-text))/2);
  --modrow-test-siegel-gap:min(var(--modrow-bsfz-text-gap),max(24px,calc(var(--modrow-test-siegel-left-rail) - var(--modrow-bsfz-proportional-width) - 24px)));
  position:relative;
  width:100%;
  margin:0;
  padding:0;
}
.modrow-test-page .modrow-test-siegel-row .modrow-test-siegel{
  position:absolute;
  right:calc(100% + var(--modrow-test-siegel-gap));
  top:50%;
  transform:translateY(-50%);
  width:min(var(--modrow-bsfz-proportional-width,320px),max(0px,calc(var(--modrow-test-siegel-left-rail) - var(--modrow-test-siegel-gap) - 24px)));
  margin:0;
}
.modrow-test-page .modrow-test-siegel-row .modrow-test-siegel img{
  display:block;
  width:100%;
  height:auto;
}
/* V893: Wenn der vergroesserte TEXT-Bereich keinen sicheren linken
   Platz mehr fuer das BSFZ-Siegel laesst, wird es im bestehenden
   Text-/Siegelblock nach dem Absatz und vor H5 angeordnet. Dadurch
   bleibt das Siegel sichtbar und seine Breite unabhaengig von der
   schwindenden linken Seitenspalte. Eine einzige responsive Grundregel. */
@media (width < 1700px){
  .modrow-test-page .modrow-test-siegel-row{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }
  .modrow-test-page .modrow-test-siegel-row > p{order:1;}
  .modrow-test-page .modrow-test-siegel-row .modrow-test-siegel{
    order:2;
    position:static;
    transform:none;
    width:min(260px,60vw);
    max-width:none;
  }
}
@media (width < 1010px){
  /* Testseite einspaltig: TEXT-Inhaltsbereich folgt WIDE;
     die Referenz-SMAL-Linie und die bestehende stetige Logo-Skalierung
     bleiben dagegen unabhaengig und erhalten ihre V817-Werte. */
  /* Die vorhandene Intro-Spalte ist bereits links auf WIDE eingerueckt.
     Symmetrischer rechter Innenrand ergibt genau WIDE auch fuer H1/H2. */
  .modrow-test-page > .modrow-section.intro > .modrow-text-flow{
    padding-inline-end:calc((100% - var(--modrow-test-reference-wide)) / 2);
  }
  /* Das Testbild ist ein Kind des Einleitungstext-Containers. Unter 1010px
     folgt es ohne absolute Seitenspalte im normalen Blockfluss darunter. */
  .modrow-test-page .modrow-test-intro-copy{
    --modrow-test-intro-text-width:var(--modrow-test-reference-wide);
  }
  .modrow-test-page .modrow-test-image-dummy{
    position:static;
    transform:none;
    width:100%;
    height:auto;
    aspect-ratio:3 / 1;
    margin-top:calc(var(--modrow-test-reference-wide) * 0.053125);
  }
  /* Service: Der Bildhinweis bleibt auch in der einspaltigen Ansicht
     am Bild, ohne dessen Position im Textfluss zu veraendern. */
  .modrow-service-page .modrow-service-intro-image{
    position:relative;
    left:auto;
    top:auto;
  }
}
/* Testseite: nur vertikale Story-Abstaende. Horizontale Breiten und
   Ausrichtungen folgen ausschliesslich den Referenz- und Textcontainern. */
.modrow-test-page .modrow-section.story {
  padding-block:28px 31px;
}
@media (max-width:600px) {
  .modrow-test-page .modrow-section.story {
    padding-block:23px 26px;
  }
  .modrow-test-page .modrow-test-siegel-row {align-items:center;}
  .modrow-test-page .modrow-test-siegel-row > p {align-self:stretch;}
}
/* Gemeinsame WIDE-Absatzregel: explizite WIDE-Absätze aller Seiten sowie
   nicht eigens markierte Intro-Absätze der anderen Seiten; keine Layoutcontainer. */
:is(
  p.WIDE,
  p.modrow-width-wide,
  .WIDE > p,
  .modrow-width-wide > p,
  body:not(.home) .modrow-original-page:not(.modrow-test-page) .modrow-section.intro > .modrow-text-flow > p:not(.modrow-subtitle)
) {
  width:var(--modrow-wide-paragraph-width);
  max-width:none;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}
/* Die neue Startseite verwendet die gemeinsame Testseiten-Textstruktur
   ohne alte, separat zentrierte Einleitungsraster. */

.modrow-original-page:where(:not(.modrow-test-page)) .modrow-text-flow > :not(h1,h2,h3,h4,h5,h6){margin-block-start:0;}


/* Ein globaler Text-Ursprung fuer Homepage und Unterseiten.
   Die Selektoren und die Testseiten-Referenz behalten ihre bisherigen Werte. */
.modrow-original-page p,
:is(body.modrow-competences-active .modrow-competences-text p,
    body.modrow-cables-active .modrow-cables-product p,
    body.modrow-cables-active .modrow-cables-product li),
body.modrow-testberichte-active .modrow-testberichte-page{
  font-size:var(--modrow-effective-body-size);
  line-height:var(--modrow-global-body-leading);
}
/* Globaler Absatzabstand bleibt einmalig; nur der letzte Testseiten-Introabsatz
   wird an seiner eigenen Ursprungsregel abgehandelt. */
/* Ein gemeinsamer Absatzabstands-Ursprung auch fuer alternative
   Komponenten-WordPress-Vorlagen; Testseiten-Ausnahme unveraendert. */
.modrow-original-page p:where(:not(.modrow-test-page .modrow-section.intro .modrow-test-intro-copy > p:last-of-type)),
body.modrow-components-active main:not(.modrow-original-page) .wp-block-post-content p{
  margin-block:0 var(--modrow-global-paragraph-space-bottom)!important;
}
/* Alte Absatzbreiten-Aufhebung nur fuer Bestandsseiten, nicht die Testseite. */
.modrow-original-page:not(.modrow-test-page) p{
  max-width:none;
}
/* Gezielt eine zusätzliche Leerzeile vor den ausgewählten Aussagen. */
.modrow-original-page p.modrow-breath-before{padding-top:10px!important;}
.modrow-original-page p.modrow-subtitle{font-size:var(--modrow-global-h2);font-weight:700;line-height:1.25;margin-block:var(--modrow-global-h2-space-top) var(--modrow-global-h2-space-bottom)!important;}
/* Aussprache von Modrow: ein gemeinsamer, dezenter Link in H2 auf Home und
   Testseite. Keine Veraenderung an den H1-H6-Ursprungsregeln. */
.modrow-original-page .modrow-pronunciation-trigger {
  display:inline-block;
  width:var(--modrow-pronunciation-size);
  height:var(--modrow-pronunciation-size);
  margin-inline-start:8px;
  vertical-align:middle;
  transform:translateY(-2px);
  padding:0;
  border:0;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2353697e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H3v6h3l5 4V5Z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E") center/contain no-repeat;
  font-size:0;
  line-height:0;
  color:transparent;
  text-decoration:none!important;
  opacity:.76;
  cursor:pointer;
}
.modrow-original-page .modrow-pronunciation-trigger:hover,
.modrow-original-page .modrow-pronunciation-trigger.is-playing{opacity:1;}
.modrow-original-page .modrow-pronunciation-trigger:focus-visible{
  opacity:1;
  outline:2px solid var(--modrow-color-accent);
  outline-offset:3px;
  border-radius:2px;
}


/* Die HPA-Unterzeile war auf der alten Website leicht groesser als der Fliesstext. */
.modrow-original-page .hpa .modrow-text-flow > p.modrow-emphasis:first-of-type{font-size:20px;}
.modrow-original-page .modrow-product-image:not(.modrow-home-image){width:var(--modrow-product-image-width,100%)!important;max-width:none!important;margin:var(--modrow-product-image-margin,80px 0 84px)!important;background:transparent!important;}
.modrow-original-page .modrow-product-image img,
body.modrow-components-active .wp-block-post-content .modrow-components-image:not(figure) img{width:100%;display:block;}
/* Ein Flex-Ursprung fuer alle regulären Inhalts-Buttongruppen.
   Unterschiedliche Ausrichtung bleibt beim jeweiligen Container. */
.modrow-original-page .modrow-button-row,
body.modrow-components-active .wp-block-post-content .modrow-button-row,
body.modrow-eco-active .modrow-eco-section .modrow-button-row,
body.modrow-testberichte-active .modrow-testberichte-buttons{
  display:flex;
  flex-wrap:wrap;
  column-gap:var(--modrow-button-gap-horizontal);
  row-gap:var(--modrow-button-space-top);
}
.modrow-original-page .modrow-button-row,
body.modrow-components-active .wp-block-post-content .modrow-button-row,
body.modrow-testberichte-active .modrow-testberichte-buttons{align-items:center;}
.modrow-original-page .modrow-button-row,
body.modrow-components-active .wp-block-post-content .modrow-button-row{justify-content:flex-start;}
/* Inhalts-Buttons: EIN Ursprung fuer den Abstand zum vorausgehenden Inhalt.
   Der untere Aussenabstand sitzt weder am Button noch an der Buttongruppe. */
:is(
  .modrow-original-page .modrow-button-row,
  body.modrow-components-active .wp-block-post-content .modrow-button-row,
  body.modrow-components-active .modrow-x5-restored .modrow-x5-document-buttons,
  body.modrow-eco-active .modrow-eco-section .modrow-button-row,
  body.modrow-testberichte-active .modrow-testberichte-buttons,
  body.modrow-cables-active .modrow-cables-product .modrow-cables-review-row
){
  margin-block-start:var(--modrow-button-distance-effective,var(--modrow-button-space-top))!important;
  margin-block-end:0!important;
}

/* BUTTON-MASTER: Oberer Abstand nach vorausgehendem Textformat variabel
   nach Texttyp, nach Bildern und Tabellen 28 px. Der untere Aussenabstand
   eines unmittelbar vorangehenden Elements wird nicht mitgezaehlt.
   H1-H6- und Fliesstext-Zeilenhoehen bleiben unangetastet; die experimentelle
   Zeilenbox-Beschneidung gilt ausschliesslich auf der Testseite. */
:is(.modrow-original-page,.modrow-testberichte-page,
    .modrow-eco-section,
    .modrow-cables-product,.wp-block-post-content)
  :has(+ :is(.modrow-button-row,.modrow-x5-document-buttons,
              .modrow-testberichte-buttons,.modrow-cables-review-row)),
body:not(#modrow-override) :is(.modrow-original-page,.modrow-testberichte-page,
    .modrow-eco-section,
    .modrow-cables-product,.wp-block-post-content)
  :is(h1,h2,h3,h4,h5,h6):has(+ :is(.modrow-button-row,
    .modrow-x5-document-buttons,.modrow-testberichte-buttons,
    .modrow-cables-review-row)){
  margin-block-end:0!important;
}
/* Testseite und reguläre Inhaltsseiten verwenden getrennte Abstandsursprünge. */
/* Direkt vorhergehende Textzeile sowie letztes Textkind in verschachtelten
   Inhaltscontainern. Die Selektion folgt nur der tatsaechlich letzten Kette. */
.modrow-test-page
  :is(p,h1,h2,h3,h4,h5,h6,cite,figcaption):has(+ :is(.modrow-button-row,.modrow-x5-document-buttons,
              .modrow-testberichte-buttons,.modrow-cables-review-row)),
.modrow-test-page
  :has(+ :is(.modrow-button-row,.modrow-x5-document-buttons,
              .modrow-testberichte-buttons,.modrow-cables-review-row))
  > :is(p,h1,h2,h3,h4,h5,h6,cite,figcaption):last-child,
.modrow-test-page
  :has(+ :is(.modrow-button-row,.modrow-x5-document-buttons,
              .modrow-testberichte-buttons,.modrow-cables-review-row))
  > :last-child > :is(p,h1,h2,h3,h4,h5,h6,cite,figcaption):last-child,
.modrow-test-page
  :has(+ :is(.modrow-button-row,.modrow-x5-document-buttons,
              .modrow-testberichte-buttons,.modrow-cables-review-row))
  > :last-child > :last-child > :is(p,h1,h2,h3,h4,h5,h6,cite,figcaption):last-child{
  text-box-trim:trim-end;
  text-box-edge:text alphabetic;
}


/* Button-Master: Der sichtbare Abstand richtet sich nach dem unmittelbar
   vorangehenden Textformat, nicht nach dessen Aussenabstand oder Zeilenhoehe.
   Die Margin-Eigenschaft selbst wird ausschliesslich oben am Master gesetzt.
   Sonderfaelle ohne Textvorgaenger (Bilder, Tabellen) bleiben bei 28 px.
   Keine Regel fuer .modrow-test-page; deren bisherige Optik bleibt erhalten. */
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) p + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-text);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h1 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h1);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h2 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h2);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h3 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h3);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h4 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h4);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h5 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h5);}
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) h6 + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-h6);}
/* Fett formatierter Fliesstext bekommt sein eigenes Schriftbild-Korrektiv. */
:is(.modrow-original-page:not(.modrow-test-page),.wp-block-post-content,.modrow-eco-section,.modrow-cables-product,.modrow-testberichte-page) p:has(strong,b) + :is(.modrow-button-row,.modrow-x5-document-buttons,.modrow-testberichte-buttons,.modrow-cables-review-row){--modrow-button-distance-effective:var(--modrow-button-after-bold-text);}
/* Zitat-/Quellenblock: einheitliches optisches Mass der Homepage. */
.modrow-original-page:not(.modrow-test-page) .modrow-review-quote + .modrow-button-row{--modrow-button-distance-effective:var(--modrow-button-after-quote);}

/* Der vertikale Nullabstand gilt weiterhin gemeinsam. Die alte horizontale
   Nullsetzung bleibt ausschliesslich bei den Bestandsseiten. */
.modrow-original-page .modrow-button,
body.modrow-components-active .wp-block-post-content .modrow-button{margin-block:0;}
.modrow-original-page:not(.modrow-test-page) .modrow-button,
body.modrow-components-active .wp-block-post-content .modrow-button{margin-inline:0;}
/* Ein Grundregelblock fuer Typografie, Innenabstand und Darstellung aller
   tatsaechlichen Inhalts-Buttons. Abweichende Farben/Radien behalten
   ihre Typ-spezifischen Urspruenge; X5-Textinnenfelder erben Schriftwerte. */
.modrow-original-page .modrow-button .wp-block-button__link,
body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link,
body.modrow-components-active .modrow-x5-restored :is(.downloadbtn a,[id^="imObjectButton_"] :is(button,a)),
body.modrow-eco-active .modrow-eco-section .modrow-button-row .wp-block-button__link,
body.modrow-cables-active .modrow-cables-product .modrow-cables-review-button,
body.modrow-testberichte-active .modrow-testberichte-button{
  font-family:var(--modrow-font-main)!important;
  font-size:var(--modrow-control-font-size)!important;
  font-weight:600!important;
  line-height:var(--modrow-control-line-height)!important;
  display:inline-block!important;
  padding:var(--modrow-control-padding)!important;
}

/* Gemeinsame Grundflaeche aller regulaeren Inhaltsbuttons; kein Einfluss auf
   die eigenstaendig getoenten Testberichte-Buttons. */
.modrow-original-page .modrow-button .wp-block-button__link,
body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link,
body.modrow-components-active .modrow-x5-restored :is(.downloadbtn a,[id^="imObjectButton_"] :is(button,a)),
body.modrow-eco-active .modrow-eco-section .modrow-button-row .wp-block-button__link,
body.modrow-cables-active .modrow-cables-product .modrow-cables-review-button{
  background:var(--modrow-color-header)!important;
  border:0!important;
  border-radius:var(--modrow-control-radius)!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.modrow-original-page .modrow-button .wp-block-button__link,
body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link{
  color:#344f68!important;
  transition:background-color .16s ease,color .16s ease!important;
}
.modrow-original-page .modrow-review-quote{border:0;padding:0;margin:43px 0 0!important;font-size:18px;line-height:1.6;max-width:none;}
.modrow-original-page .modrow-review-quote p{font-size:22px;margin:0!important;white-space:normal;}
.modrow-original-page .modrow-review-quote cite{display:block;font-size:17px;margin-top:9px;color:#424a52;font-style:normal;}
/* Markenabschluss: ein gemeinsamer vertikaler Abstand fuer alle Inhaltsseiten.
   Horizontale Nullsetzungen gelten nur auf regulaeren Seiten; die Testseite
   behaelt ihre bestehende horizontale Anordnung. */
.modrow-brand-statement-block{
  padding-block:var(--modrow-brand-space-top) 0!important;
}
body:not(:has(.modrow-test-page)) .modrow-brand-statement-block{
  padding-inline:0!important;
}
/* Markenabschluss: horizontale Breite und Versatz nur auf regulaeren Seiten. */
body:not(:has(.modrow-test-page)) .modrow-brand-statement-block.TEXT{
  width:var(--modrow-home-below-width,min(var(--modrow-visible-text-width,var(--modrow-width-text)),100%));
  max-width:none;
  position:relative;
  left:var(--modrow-home-below-offset,0px);
  margin:0 auto!important;
}
/* Gemeinsame Schriftwerte und vertikale Nullabstaende des Markenabschlusses;
   horizontale Nullwerte gelten weiterhin nur fuer regulaere Seiten. */
.modrow-original-page p.modrow-brand-statement,
.modrow-brand-statement{
  font-size:var(--modrow-brand-size);
  line-height:var(--modrow-brand-leading);
  font-weight:700;
  margin-block:0!important;
  padding-block:0!important;
}
body:not(:has(.modrow-test-page)) .modrow-brand-statement{
  margin-inline:0!important;
  padding-inline:0!important;
}
body:has(.modrow-brand-statement) main.modrow-page-structure > :last-child,
body:has(.modrow-brand-statement) main.modrow-page-structure .wp-block-post-content > :last-child,
body:has(.modrow-brand-statement) main.modrow-page-structure .wp-block-post-content > :last-child > :last-child,
body:has(.modrow-brand-statement) main.modrow-page-structure .wp-block-post-content > :last-child > :last-child > :last-child,
body.home main.modrow-original-page > .modrow-section:last-of-type,
body:has(.modrow-brand-statement) main.modrow-test-page > .modrow-section.story:last-child,
body:has(.modrow-brand-statement) main.modrow-page-structure :is(
  .modrow-section.story:last-child .modrow-text-flow > p:last-child,
  .modrow-competences-page > .modrow-competences-text:last-child p:last-child,
  .modrow-test-page > .modrow-section:last-child
){margin-bottom:0!important;padding-bottom:0!important;}
/* Einheitlicher Abstand vom sichtbaren Markenabschluss bis zur grauen Footerflaeche:
   67 px Desktop, 56 px schmales Tablet, 46 px Smartphone.
   Der gesamte Leerraum liegt im Seitenhintergrund des aeusseren Footer-Parts.
   Die unterseitenbezogenen Inhaltsabstaende bleiben beim jeweiligen Inhalt. */
.wp-site-blocks > footer.wp-block-template-part{background:var(--modrow-color-page);padding-top:67px;}
.modrow-original-footer{background:var(--modrow-color-header);border-top:1px solid transparent!important;}
/* Footer-Fettung: ein gemeinsamer Ursprung fuer Adresse, Markenblock
   und Copyright. Positions-, Schriftgroessen- und Farbregeln bleiben getrennt. */
.modrow-footer-col,.modrow-footer-brand p,
.modrow-original-footer .modrow-footer-inner > .modrow-copyright{font-weight:700;}
.modrow-footer-col{font-size:16px;line-height:1.42;}
.modrow-footer-col a{text-decoration:none;}
.modrow-footer-col a:is(:hover,:focus-visible){color:var(--modrow-color-accent);text-decoration:underline;}
.modrow-footer-logo{display:block;height:auto;filter:grayscale(1) brightness(0);max-width:100%;}
/* Zeilenhoehe 1.45 fuer Markenzeile und Copyright zentral. */
.modrow-footer-brand p,
.modrow-original-footer .modrow-footer-inner > .modrow-copyright{line-height:1.45;}
.modrow-footer-brand p{font-size:14px;margin:2px 0 0;}
.modrow-footer-brand .modrow-copyright{font-size:16px;margin:0;}
.modrow-original-page p:is(.modrow-emphasis,.modrow-emphasis-large){font-weight:700;text-align:left;text-align-last:left;hyphens:none;}
.modrow-original-page p.modrow-emphasis-large{font-size:20px;line-height:1.5;margin:0 0 24px!important;}
.modrow-bsfz{margin:26px 0 27px!important;max-width:210px;}
.modrow-bsfz img{display:block;width:var(--modrow-bsfz-small-image-width);}

.modrow-original-footer a{color:var(--modrow-color-accent);}
/* Versteckter Zugang zur Testseite: "Deutschland" bleibt auch bei Maus-Hover
   und nach dem Besuch optisch unveraendert. Tastaturfokus bleibt erkennbar. */
.modrow-original-footer a.modrow-testseite-link:is(:link,:visited,:hover,:active){
  color:inherit;
  text-decoration:none;
  cursor:default;
}
.modrow-original-footer a.modrow-testseite-link:focus-visible{
  outline:2px solid currentColor;
  outline-offset:2px;
}
/* Bestehendes Breitenmodell fuer die allgemeinen WordPress-Fallback-Vorlagen.
   Nicht mit der geschuetzten Testseiten-Geometrie gleichsetzen. */
.modrow-regular-page,.modrow-blog{max-width:var(--modrow-width-wide);margin:0 auto;padding:52px var(--modrow-frame-gutter) 100px;}

@media(max-width:1200px){
 .modrow-header-inner{gap:18px;}
 .modrow-original-header .modrow-desktop-navigation{--modrow-nav-flex-gap:clamp(12px,calc(3vw - 21px),15px);}
 .modrow-original-header .modrow-desktop-navigation a{font-size:clamp(13.8px,calc(.7vw + 6.1px),14.5px);}
}
@media(max-width:600px){
  :root{
    --modrow-effective-body-size:var(--modrow-global-body-size-mobile);
    --modrow-section-page-gutter:16px;
    --modrow-brand-space-top:40px;
    --modrow-button-after-text:19px;
    --modrow-button-after-bold-text:19px;
    --modrow-button-after-h1:18px;
  }

 .modrow-original-page:not(.modrow-test-page){padding:0 20px var(--modrow-original-bottom-pad,20px)!important;}
 /* Die einspaltige Smartphone-Darstellung nutzt die volle Lesebreite,
    statt die proportionalen Desktop-Container klein zu erzwingen. */
 body.home .modrow-brand-statement-block.TEXT{width:100%;}
 .modrow-original-page:where(:not(.modrow-test-page)) .modrow-section{padding:23px 0 26px;}
 .modrow-original-page p.modrow-subtitle{font-size:var(--modrow-global-h2-mobile);}
 .modrow-original-page .hpa .modrow-text-flow > p.modrow-emphasis:first-of-type{font-size:18px;}
 .modrow-original-page .modrow-product-image:not(.modrow-home-image){margin:var(--modrow-product-image-mobile-margin,56px 0 60px)!important;}
 .modrow-original-page .modrow-button-row,
 body.modrow-components-active .wp-block-post-content .modrow-button-row{display:block;}
 /* Smartphone-Buttons: links an der Textkante, inhaltspassend statt
    ganzflaechig und zentriert. Die Zeilen bleiben untereinander. */
 .modrow-original-page .modrow-button,
 body.modrow-components-active .wp-block-post-content .modrow-button{
   display:block;
   width:fit-content;
   max-width:100%;
   text-align:left;
   margin:0;
 }
 /* Bei untereinanderstehenden Buttons liegt der Zwischenabstand nur oben. */
 .modrow-original-page .modrow-button-row > .modrow-button + .modrow-button,
 body.modrow-components-active .wp-block-post-content .modrow-button-row > .modrow-button + .modrow-button{
   margin-top:var(--modrow-button-space-top);
 }
 .modrow-original-page:not(.modrow-test-page) .modrow-button .wp-block-button__link,
 body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link{
   width:auto;
   max-width:100%;
   text-align:left;
 }
 .modrow-original-page .modrow-review-quote p{font-size:19px;}
 .modrow-original-page .modrow-review-quote cite{font-size:16px;}
}

@media (max-width:760px){
 .modrow-footer-col{font-size:15px;}
 :root{--modrow-brand-size:21px;}
}
@media (max-width:540px){
 body:not(:has(.modrow-test-page)) .modrow-brand-statement-block.TEXT{width:calc(100% - 40px);}
 :root{--modrow-brand-size:20px;}
 .modrow-original-page p.modrow-emphasis-large{font-size:18px;}
 .modrow-bsfz img{width:var(--modrow-bsfz-mobile-image-width);}
}

/* BSFZ: Originalaussagen einschließlich des zweiten Satzes, neben dem Siegel. */
.modrow-original-page .modrow-bsfz-row{display:flex;align-items:center;gap:34px;margin:44px 0 48px!important;}
.modrow-original-page .modrow-bsfz-row .modrow-bsfz{margin:0!important;flex:0 0 var(--modrow-bsfz-small-image-width);max-width:var(--modrow-bsfz-small-image-width);}
.modrow-original-page .modrow-bsfz-copy{flex:1;min-width:0;}

/* Mobile Siegelzentrierung: nur ein Breakpoint-Wert, angewendet in der
   bestehenden BSFZ-Grundregel fuer bis zu 1450 px. */
@media(max-width:600px){
 .modrow-original-page .modrow-bsfz-row{--modrow-bsfz-cross-align:center;}
}


.modrow-components-page .modrow-component-links,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading{margin-top:32px!important;}
@media(max-width:600px){
 .modrow-components-page .modrow-components-list{font-size:var(--modrow-effective-body-size);line-height:var(--modrow-global-body-leading);}
}


body.modrow-components-active .modrow-regular-page,
body.modrow-components-active main.wp-block-group:not(.modrow-original-page){
  max-width:var(--modrow-width-wide)!important;min-height:0;margin:0 auto!important;
  padding:0 24px 30px!important;
  /* Typografie aus dem globalen body-/Seitenursprung. */
}
body.modrow-components-active .modrow-regular-page .wp-block-post-title{
  display:none!important; /* Die Produktseite besitzt ihre eigene, exakte H1. */
}
body.modrow-components-active main:not(.modrow-original-page) .wp-block-post-content{
  padding:54px 0 0!important;
}

/* Die Produktspezifikationen, Fotos und hellblauen Buttons erhalten ihr eigenes
   Layout auch bei durch WordPress gespeicherten Standard-Seitenvorlagen. */
body.modrow-components-active .wp-block-post-content .modrow-components-image:not(figure){
  max-width:900px!important;margin:46px 0 55px!important;
}
body.modrow-components-active .wp-block-post-content .modrow-components-list{
  margin:10px 0 28px!important;padding-left:27px;
}
body.modrow-components-active .wp-block-post-content .modrow-components-list li{padding:3px 0;}


@media(max-width:600px){
 body.modrow-components-active .modrow-regular-page,
 body.modrow-components-active main.wp-block-group:not(.modrow-original-page){padding:0 20px 20px!important;}
 body.modrow-components-active main:not(.modrow-original-page) .wp-block-post-content{padding-top:45px!important;}

}


.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section.intro{padding-bottom:0!important;}

.modrow-original-page .modrow-section.hpa{padding-top:48px!important;}

.modrow-original-page .hpa h2 + p.modrow-breath-before{padding-top:0!important;}


/* Die verwaisten Layoutregeln der frueheren Homepage-Einleitung wurden
   bei der Freigabe der neuen Startseite entfernt. Home nutzt die Testseiten-Grundregeln. */



body.modrow-components-active .wp-block-post-content{
  font-size:var(--modrow-global-body-size);line-height:var(--modrow-global-body-leading);
  max-width:none!important;
}

@media(max-width:600px){

  body.modrow-components-active .wp-block-post-content :is(p,ul,ol,li),
  body.modrow-components-active .wp-block-post-content .modrow-spec-table td{
    font-size:var(--modrow-effective-body-size)!important;
  }

}


.modrow-brand-statement strong,
body.modrow-components-active .wp-block-post-content p.modrow-emphasis{
  font-weight:700!important;
}

/* EIN gemeinsamer Breitenursprung fuer ALLE vier Textbereiche nach dem HPA-Bild.
   Nur die Homepage von 601–1009px nutzt die Breite des Einleitungstextes;
   andernorts bleibt die ruhige TEXT-Lesebreite einschliesslich Testseite. */
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.hpa,.story,.technical,.proof) > .modrow-text-flow{
  width:var(--modrow-home-below-width,100%);
  max-width:var(--modrow-home-below-width,var(--modrow-width-text))!important;
  position:relative;
  left:var(--modrow-home-below-offset,0px);
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:600px){
  .modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.hpa,.story,.technical,.proof) > .modrow-text-flow{
    max-width:100%!important;
  }
}


@media (min-width:1010px){
 /* Breiter Einleitungscontainer der anderen Seiten.
    Die Testseite verwendet ausschliesslich ihre Ursprungsregel oben. */
 .modrow-original-page:not(.modrow-test-page) .modrow-section.intro > .modrow-text-flow{
   position:relative;left:50%;transform:translateX(-50%);
   width:var(--modrow-intro-layout-width);max-width:none!important;
   --modrow-intro-copy-width:var(--modrow-home-intro-copy-width,333px);
   display:grid;
   grid-template-columns:minmax(0,var(--modrow-intro-copy-width)) minmax(0,1fr);
   column-gap:clamp(56px,4vw,78px);
   align-items:start;
 }
 /* H1 bezieht text-align:left bereits aus der globalen H1-H6-Ursprungsregel;
    die p-Unterzeile ist kein H2-Element und benoetigt ihre eigene Ausrichtung. */
 .modrow-original-page:not(.modrow-test-page) .intro > .modrow-text-flow > p.modrow-subtitle{
   text-align:left!important;
 }
 .modrow-original-page:not(.modrow-test-page) .intro > .modrow-text-flow > p:not(.modrow-subtitle){
   text-align:justify!important;text-align-last:left!important;
   hyphens:auto;
 }
 
 
 
 
}
/* 601–1009px: Einleitung, Bild und nachfolgende Texte nutzen
   eine gemeinsame WIDE-Spalte. Die Originalbilder selbst bleiben
   unveraendert und folgen der Breite ihres vorhandenen Elternblocks. */
@media (601px <= width <= 1009px){
 /* Die sichtbare Einleitungsbreite ist auch der EINZIGE Ursprung fuer alle
    darunterliegenden Textabschnitte; Offset zentriert die breitere Spalte
    im bestehenden Seitencontainer (ohne Bild-/Header-Aenderung). */
 body.home:not(:has(.modrow-test-page)){
   --modrow-home-below-width:var(--modrow-heading-visible-width);
   --modrow-home-below-offset:calc((100% - var(--modrow-home-below-width)) / 2);
 }
 .modrow-original-page:not(.modrow-test-page) .modrow-section.intro > .modrow-text-flow{
   width:var(--modrow-heading-visible-width,var(--modrow-width-wide));
   position:relative;
   left:50%;
   transform:translateX(-50%);
 }
 
}
@media (max-width:1009px){
 
 /* Der Einleitungstext steht unterhalb des Schutzbereichs direkt in
    derselben WIDE-Spalte wie das darauffolgende Produktbild. */
 
 
 
}


/* Normalkopf: einreihig oder Hamburger, kein zweireihiger Zwischenmodus.
   Das Sticky-Portal bleibt unabhaengig davon einreihig/Hamburger. */
@media (width < 1280px){
 .modrow-header-inner{padding-block:var(--modrow-header-responsive-padding,8px);gap:12px;}
 .modrow-brand{min-width:0;flex:var(--modrow-header-logo-flex,0 1 auto);}
 .modrow-brand img{width:var(--modrow-header-responsive-logo-width,clamp(186px,31vw,333px));margin-left:0;}
}
/* Einheitliche Header-Geometrie für die kompakte normale Desktop-Navigation:
   Der linke Rand geht ohne Sprung von der 80vw-Referenz in den
   verfügbaren Viewport über. Letzte Textgrundlinie an Logounterkante. */
/* Geschuetzte Titel-Geometrie (1010–1279px) fortgefuehrt.
   Unter 1010px kommen die WIDE-Titelwerte ausschliesslich vom zentralen
   einspaltigen Inhaltsursprung; die Headergeometrie selbst bleibt wie V818. */
@media (1010px <= width < 1280px){
 body:not(:has(.modrow-test-page)){
   --modrow-heading-visible-width:calc(100vw - 2 * var(--modrow-header-gutter));
   --modrow-heading-visible-inset:clamp(0px,calc((100vw - 1082px) * .025252525),5px);
 }
}
@media (550px <= width < 1280px){
 body:not(:has(.modrow-test-page)) .modrow-original-header .modrow-header-inner{
   width:min(1600px,calc(100% - 2 * var(--modrow-header-gutter)));
   max-width:none; padding-inline:0; align-items:flex-end;
 }
}
/* Der Hamburger besitzt EINEN Darstellungs-Ursprung, unabhaengig davon,
   ob er im normalen kleinen Header oder im Sticky-Portal verwendet wird. */
.modrow-mobile-menu{display:none;position:relative;flex:0 0 auto;margin-left:auto;}
.modrow-mobile-menu summary::-webkit-details-marker{display:none;}
.modrow-mobile-menu summary{font-weight:bold;list-style:none;cursor:pointer;font-size:15px;white-space:nowrap;border:1px solid #b9c0c6;border-radius:var(--modrow-control-radius);padding:5px 9px;}
.modrow-mobile-menu summary span{margin-left:8px;}
.modrow-original-header .modrow-mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);display:flex;min-width:205px;max-width:min(90vw,320px);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;background:var(--modrow-color-header);border:1px solid var(--modrow-color-line);box-shadow:0 6px 15px #0001;padding:12px 18px;z-index:10;}
.modrow-original-header .modrow-mobile-menu nav a,
.modrow-original-header .modrow-mobile-components-label{font-size:14px;line-height:1.5;}
/* Ein Umschalt-Ursprung ohne zweireihige Zwischenstufe:
   Regulaere Seiten behalten ihren bisherigen Umschaltpunkt 915px.
   Testseite und Service verwenden denselben Header-WIDE-Ursprung.
   Im Chromium-Breitendiagnosetest passt die einreihige Navigation bis
   etwa 1083px. Ab 1100px bleibt mit Reserve die einreihige Navigation,
   darunter die vorhandene Hamburger-Navigation. Kein Zusatz-Override. */
@media (width < 915px){
 .modrow-original-header:not(.modrow-nav-portal) .modrow-desktop-navigation{display:none;}
 .modrow-original-header:not(.modrow-nav-portal) .modrow-mobile-menu{display:block;}
}
@media (width < 1100px){
 body:has(.modrow-test-page) .modrow-original-header:not(.modrow-nav-portal) .modrow-desktop-navigation{display:none;}
 body:has(.modrow-test-page) .modrow-original-header:not(.modrow-nav-portal) .modrow-mobile-menu{display:block;}
}
@media (width < 550px){
 body:not(:has(.modrow-test-page)) .modrow-header-inner{padding-inline:20px;}
}
@media (max-width:600px){
 .modrow-brand img{width:min(var(--modrow-header-responsive-logo-width,186.336612px),100%);}
}
/* Breite Inhalte verkleinern statt Viewport zu verbreitern; Zeilen
   dürfen bei Tablet und Smartphone stets lesbar umbrechen. */
.modrow-original-page:not(.modrow-test-page),
.modrow-regular-page,
.modrow-blog,
.modrow-original-page:not(.modrow-test-page) .modrow-section,
.modrow-original-page:not(.modrow-test-page) .modrow-text-flow,
.modrow-original-footer :is(.modrow-footer-address,.modrow-footer-contact,.modrow-footer-brand){min-width:0;}
.modrow-original-page img,.modrow-regular-page img{max-width:100%;height:auto;}
.modrow-original-page p,.modrow-original-page h1,.modrow-original-page h2,
.modrow-original-page h3,.modrow-original-page a,
body.modrow-components-active .wp-block-post-content{overflow-wrap:break-word;}
@media (min-width:1010px){
 .modrow-original-page:not(.modrow-test-page) .modrow-section.intro > .modrow-text-flow > h1,
 .modrow-original-page:not(.modrow-test-page) .modrow-section.intro > .modrow-text-flow > p.modrow-subtitle{
   grid-column:1 / -1;
 }
 
 
 
}


.modrow-original-page .intro p.modrow-subtitle{margin-bottom:26px!important;}


@media (min-width:1280px){
 body:not(:has(.modrow-test-page)) .modrow-original-header .modrow-header-inner{
   width:var(--modrow-intro-layout-width);max-width:none;padding-inline:0;
 }
}
@media (min-width:601px){
 .modrow-original-header .modrow-brand img{margin-left:0;}
}


/* Ein einziger Sticky-Navigations-Ursprung fuer ALLE Seiten:
   Beim Scrollen wird die bestehende Navigation durch sticky-nav.js
   ausserhalb potenziell transformierter WP-Container in dieses Portal gesetzt.
   Dadurch bleibt die Oberkante auch in verschachtelten Layouts bei 0 px.
   Der normale Header und die restlichen Seitencontainer bleiben unveraendert. */
.modrow-original-header.modrow-nav-portal{
  position:fixed!important;
  top:var(--modrow-sticky-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%;
  height:var(--modrow-pinned-height,40px);
  z-index:9998;
  border:0!important;
  pointer-events:none;
}
.modrow-original-header.modrow-nav-portal .modrow-desktop-navigation.modrow-nav-pinned,
.modrow-original-header.modrow-nav-portal .modrow-mobile-menu.modrow-nav-pinned{
  position:absolute!important;
  top:0!important;
  right:var(--modrow-pinned-right,0px)!important;
  left:auto!important;
  z-index:1!important;
  background:var(--modrow-color-header);
  margin:0!important;
  transform:none!important;
  pointer-events:auto;
}
/* Sticky-Header: die komplette Desktop-Navigation ist stets EINE Zeile.
   Das Dropdown sitzt darunter. */
.modrow-original-header.modrow-nav-portal .modrow-desktop-navigation.modrow-nav-pinned{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  width:max-content;
  height:auto;
  padding:5px 0 5px 12px!important;
  --modrow-dropdown-top:100%;
  --modrow-dropdown-bridge:8px;
}
/* Sticky-Hamburger weiterhin unter 600px, ohne Zweireihenmodus. */
.modrow-original-header.modrow-nav-portal .modrow-mobile-menu.modrow-nav-pinned{
  display:block;
  padding:4px 0 4px 10px!important;
}

.modrow-original-header .wp-block-navigation__submenu-container,
.modrow-original-header .wp-block-page-list .children,
.modrow-original-header .menu .sub-menu,
.modrow-original-header nav ul ul{
  background:var(--modrow-color-header)!important;
  border:1px solid #c6d0d7!important;
  box-shadow:0 6px 14px rgba(0,0,0,.06)!important;
  padding:8px 0!important;
  
  list-style:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:max-content!important;
  min-width:235px!important;
  max-width:min(90vw,320px)!important;
  margin:0!important;
  z-index:50!important;
}
.modrow-original-header .wp-block-navigation__submenu-container li,
.modrow-original-header .wp-block-page-list .children li,
.modrow-original-header .menu .sub-menu li,
.modrow-original-header nav ul ul li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.modrow-original-header .wp-block-navigation__submenu-container a,
.modrow-original-header .wp-block-page-list .children a,
.modrow-original-header .menu .sub-menu a,
.modrow-original-header nav ul ul a{
  display:block!important;
  
  color:var(--modrow-nav-text)!important;
  background:transparent!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  font-weight:600!important;
  
  text-decoration:none!important;
  white-space:nowrap!important;
  text-align:center!important;
  padding:7px 20px!important;
}
.modrow-original-header .wp-block-navigation__submenu-container a:is(:hover,:focus-visible),
.modrow-original-header .wp-block-page-list .children a:is(:hover,:focus-visible),
.modrow-original-header .menu .sub-menu a:is(:hover,:focus-visible),
.modrow-original-header nav ul ul a:is(:hover,:focus-visible){
  background:var(--modrow-nav-hover)!important;
  color:#fff!important;
  text-decoration:none!important;
}
.modrow-original-header .wp-block-navigation .wp-block-navigation-submenu__toggle{
  color:var(--modrow-nav-text)!important;
}
.modrow-original-header .wp-block-navigation .has-child,
.modrow-original-header .wp-block-navigation-item.has-child,
.modrow-original-header .menu-item-has-children,
.modrow-original-header .page_item_has_children{
  position:relative!important;
}


@media (min-width:550px){
 .modrow-original-header .modrow-desktop-navigation{overflow:visible!important;}
 .modrow-original-header .modrow-dropdown{position:relative;display:flex;align-items:center;}
 .modrow-original-header .modrow-dropdown-panel{
  position:absolute;left:50%;transform:translateX(-50%);
   display:flex;flex-direction:column;align-items:stretch;
   
   background:var(--modrow-color-header);
   
   visibility:hidden;opacity:0;pointer-events:none;
   transition:none;
   z-index:10002;white-space:nowrap;
  width:max-content!important;
   min-width:0!important;
   max-width:none!important;
   padding:5px 0!important;
  border:0!important;box-shadow:none!important;
  top:var(--modrow-dropdown-top,100%)!important;
}
 .modrow-original-header .modrow-dropdown:is(:hover,:focus-within,.modrow-dropdown-open) .modrow-dropdown-panel{
   visibility:visible;opacity:1;pointer-events:auto;
 }
 .modrow-original-header .modrow-dropdown-panel a{
  display:block;text-align:center!important;
   font-size:14.5px;line-height:1.45;
   text-decoration:none;color:var(--modrow-nav-text);background:transparent;
  padding:7px 13px!important;
}
 .modrow-original-header .modrow-dropdown-panel a:is(:hover,:focus-visible){
   color:#fff;background:var(--modrow-nav-hover);text-decoration:none;
 }
 .modrow-original-header .modrow-dropdown::after{
   content:"";position:absolute;left:0;right:0;top:100%;height:var(--modrow-dropdown-bridge,8px);
   pointer-events:var(--modrow-nav-bridge-pointer-events,auto);
 }
 .modrow-original-header .modrow-dropdown:is(:hover,:focus-within)::after{
   pointer-events:auto;
 }
}
/* EIN Flex-Ursprung fuer die beiden Ebenen des mobilen Komponenten-Menues. */
.modrow-original-header :is(.modrow-mobile-components,.modrow-mobile-components-links){display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
.modrow-original-header .modrow-mobile-components-links{padding-left:14px;}
.modrow-original-header .modrow-mobile-components-links a{white-space:normal;}


.modrow-original-page .modrow-button .wp-block-button__link:focus-visible,
body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link:focus-visible{
  outline:2px solid var(--modrow-nav-hover)!important;
  outline-offset:3px!important;
}
@media (prefers-reduced-motion:reduce){
 .modrow-original-page .modrow-button .wp-block-button__link,
 body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link{transition:none!important;}
}


body.modrow-components-active .modrow-components-page .wp-block-post-content > *,
body.modrow-components-active main:not(.modrow-original-page) .wp-block-post-content > *{
  max-width:100%!important;
}


/* EIN Ursprung fuer Komponentenbilder und ihre Proportionen; die aus den
   bisherigen Bildregeln benoetigten Werte sind hier zusammengefuehrt. */
body.modrow-components-active .wp-block-post-content figure.modrow-components-image,
body.modrow-components-active .wp-block-post-content figure.wp-block-image{
  width:100%!important;max-width:100%!important;min-width:0;
  margin:46px 0 48px!important;
}
body.modrow-components-active .wp-block-post-content figure.modrow-components-image img,
body.modrow-components-active .wp-block-post-content figure.wp-block-image img{
  display:block;width:100%!important;max-width:100%!important;
  height:auto!important;object-fit:contain;
}
@media(max-width:600px){

 /* Fuer wp-block-image ist die eigene zentrierte Ursprungsvorgabe
    unten zustaendig; Mischklassen ebenfalls dort behandeln. */
 /* Eine mobile Ursprungsregel fuer die drei Komponentenbild-Varianten:
    einfache DIV-Container, WordPress-Bildcontainer und alte X5-Figuren. */
 .modrow-components-page .modrow-components-image:not(figure),
 body.modrow-components-active .wp-block-post-content figure.modrow-components-image:not(.wp-block-image){margin:31px 0 40px!important;}
}


.modrow-original-header .modrow-dropdown-trigger,
.modrow-original-header .modrow-mobile-components-label{
  display:inline-block;color:var(--modrow-nav-text);
  font-size:14.5px;line-height:20px;font-weight:600;white-space:nowrap;
  cursor:default;text-decoration:none;
}
/* Gemeinsame Hover-Farbe fuer Menue-Trigger und verlinkte Produktnamen.
   Verschiedene Selektoren, ein Farb-Ursprung; kein Unterstrich. */
.modrow-original-header .modrow-dropdown:is(:hover,:focus-within,.modrow-dropdown-open) > .modrow-dropdown-trigger,
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table td:first-child a:is(:hover,:focus-visible){
  color:var(--modrow-nav-hover);
}


/* Produktseiten: dieselbe Grundfläche, Typografie, Textfarben und Satzsystematik.
   Für lange technische Texte 1050px Lesebreite wie die unteren Home-Abschnitte.
   Breite Medien skalieren ohne Verformung; keine starren Überschreibungen der Header. */
body.modrow-components-active .modrow-original-page.modrow-components-page{
  width:min(var(--modrow-intro-layout-width), calc(100% - 48px))!important;
  max-width:var(--modrow-intro-layout-width)!important;
  padding:0!important;
  background:transparent!important;
}
body.modrow-components-active .modrow-components-page > .modrow-section{
  padding-block:26px 0!important;
}

/* Nur die zusaetzliche Begrenzung regulaerer Komponenten-Seiten verbleibt.
   Gemeinsame Innenabstaende stammen aus dem WordPress-Blockfluss. */
body.modrow-components-active .modrow-regular-page .wp-block-post-content,
body.modrow-components-active main:not(.modrow-original-page) .wp-block-post-content{
  max-width:var(--modrow-width-text)!important;
  margin:0 auto!important;
}

/* Komponenten: gemeinsame Absatzgrundregel, getrennte Listen- und Sonderformate. */
/* In den originalen Seiten gilt bereits die globale Absatz-Ursprungsregel.
   Nur alternative WordPress-Produktvorlagen brauchen die eigene Zuweisung. */


body.modrow-components-active .wp-block-post-content p.modrow-subtitle{
  font-size:var(--modrow-global-h2)!important;line-height:1.25!important;
  font-weight:700!important;
  hyphens:manual;margin:var(--modrow-global-h2-space-top) 0 var(--modrow-global-h2-space-bottom)!important;
}
body.modrow-components-active .wp-block-post-content :is(ul,ol),
.modrow-hpa-product-page .modrow-hpa-equipment{padding-left:1.6em!important;}
/* Einziger Standard-Listenabstand ausserhalb der X5-Textinnenfelder. */
body.modrow-components-active .wp-block-post-content :is(ul,ol):not(.text-inner :is(ul,ol)){
  margin:0 0 18px!important;
}
/* Komponenten-Buttons beziehen Display und Grundgestaltung aus der gemeinsamen
   Button-Ursprungsregel; hier verbleiben nur die gemeinsamen Hover-Zustaende. */
.modrow-original-page .modrow-button .wp-block-button__link:is(:hover,:focus-visible),
body.modrow-components-active .wp-block-post-content .modrow-button .wp-block-button__link:is(:hover,:focus-visible),
body.modrow-components-active .modrow-x5-restored :is(.downloadbtn a:hover,.downloadbtn a:focus-visible,[id^="imObjectButton_"] :is(button,a):hover,[id^="imObjectButton_"] :is(button,a):focus-visible),
body.modrow-eco-active .modrow-eco-section .modrow-button-row .wp-block-button__link:is(:hover,:focus-visible),
body.modrow-cables-active .modrow-cables-product .modrow-cables-review-button:is(:hover,:focus-visible),
body.modrow-testberichte-active .modrow-testberichte-button:is(:hover,:focus-visible) {
  background:var(--modrow-nav-hover)!important;color:#fff!important;
}
@media(max-width:600px){
 body.modrow-components-active .modrow-original-page.modrow-components-page{padding:0 20px!important;}
 body.modrow-components-active .modrow-components-page > .modrow-section{padding-block:22px 12px!important;}

 body.modrow-components-active .wp-block-post-content p.modrow-subtitle{font-size:19px!important;line-height:1.35!important;}
 body.modrow-components-active .wp-block-post-content figure.wp-block-image{margin:31px auto 40px!important;}
}


body.modrow-components-active .wp-block-post-content p:not(.modrow-subtitle),
body.modrow-components-active .wp-block-post-content li {
  hyphens:manual!important;
}


body.modrow-components-active .modrow-x5-restored{max-width:var(--modrow-width-text);margin:0 auto!important;}
/* HPA-TEXT-Ursprung auf Smartphones: Der reine Textbereich nutzt die
   TEXT-Lesebreite mit 20px Fensterrand, unabhaengig von den getrennten
   Bild- und Tabellencontainern. Vertikale Folgepositionen duerfen sich
   durch den kuerzeren Textfluss natuerlich veraendern. */
@media (max-width:600px) {
  body.modrow-components-active .modrow-hpa-copy-region {
    position:relative;
    left:calc(-1 * var(--modrow-frame-gutter));
    width:calc(100% + 2 * var(--modrow-frame-gutter));
    max-width:var(--modrow-width-text);
  }
}


body.modrow-components-active .modrow-x5-restored .modrow-x5-cell{max-width:100%;min-width:0;}
body.modrow-components-active .modrow-x5-restored .modrow-x5-cell img{display:block;width:auto;margin:12px auto 34px;}

/* HPA-Produktseiten: Original-HPA-Bild mittig im bestehenden TEXT-Bereich.
   Die linke Ausrichtung ergibt sich aus (WIDE-TEXT)/2.
   Innenansicht: FULL auf Viewport-Breite abzueglich 24px je Seite.
   Beide Seiten benutzen allein die bestehende Testseiten-Referenzgeometrie. */
.modrow-hpa-product-page .modrow-hpa-product-hero{
  width:var(--modrow-test-reference-text)!important;
  max-width:100%!important;
  margin-inline-start:calc((var(--modrow-test-reference-wide) - var(--modrow-test-reference-text)) / 2)!important;
  margin-inline-end:0!important;
}
.modrow-hpa-product-page .modrow-hpa-product-hero img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}
.modrow-hpa-product-page .modrow-hpa-product-full-bleed{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:calc(100vw - 48px)!important;
  max-width:none!important;
  margin-inline:0!important;
}
.modrow-hpa-product-page .modrow-hpa-product-full-bleed img{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain;
}
body.modrow-components-active .modrow-x5-restored .text-inner .fs22lh1-5{font-size:var(--modrow-x5-feature-heading-size)!important;line-height:1.4!important;}


/* EIN gemeinsamer Ursprung fuer ALLE Datentabellen der Unterseiten.
   Keine umlaufenden Rahmen oder vertikalen Trennlinien; nur dezente
   horizontale Zeilentrennung. Die Testseite ist ausdruecklich ausgenommen.
   WordPress-Tabellenfiguren haben keine seitlichen Standard-Margins. */
/* Ein Breiten- und Rahmenursprung fuer Tabellen und Tabellenfiguren;
   nur aeussere Figuren haben zusaetzliche seitliche Abstandsregeln. */
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) :is(figure.wp-block-table,figure.modrow-spec-table,figure.modrow-linear-spec-table,figure.modrow-cables-table,table){
  width:100%;max-width:100%;border:0;
}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) :is(figure.wp-block-table,figure.modrow-spec-table,figure.modrow-linear-spec-table,figure.modrow-cables-table,table.modrow-eco-specs){
  margin-inline:0;padding-inline:0;
}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table{border-collapse:collapse;}
/* Die Tabellen-Grenzlinien werden einmalig auf allen Tabellenelementen
   zurueckgesetzt; Zellen erhalten nur ihre horizontale Unterkante. */
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table :is(thead,tbody,tr,td,th){border:0;}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table :is(td,th){
  border-bottom:var(--modrow-spec-divider);overflow-wrap:break-word;
  vertical-align:top;
}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table tr:last-child > :is(th,td){border-bottom:0;}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table :is(th,td):first-child{padding-inline-start:0;}
main:is(.modrow-page-structure:not(.modrow-test-page),.modrow-preise-page,.modrow-versandkosten-page,.modrow-hpa-product-page,.modrow-eco-netzteil-page,.modrow-linearnetzteil-page,.modrow-kabel-page) table :is(th,td):last-child{padding-inline-end:0;}

/* Preise: ruhige zweispaltige Liste. Produkt-/Zubehoerbezeichnungen links,
   Preise rechts. Grundlage bleibt dieselbe Tabellenregel wie bei Technikdaten. */
/* Preislisten-Links: im Normalzustand wie Fliesstext, ohne Unterstreichung;
   beim Ueberfahren oder Tastaturfokus nur in das globale Navigationsblau wechseln. */
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table td:first-child a{color:inherit;text-decoration:none;}
/* Beide Preisspalten: ein Ursprung fuer Schriftgrad, Zeilenhoehe,
   vertikale Ausrichtung und Zellabstand; nur Abweichungen pro Spalte. */
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table td{
  font-size:var(--modrow-effective-body-size);
  line-height:var(--modrow-global-body-leading);
  padding-block:12px;
}
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table td:first-child{font-weight:400;}
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table :is(th,td):first-child{
  width:66%;text-align:left;
}
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table :is(th,td):last-child{
  font-weight:700;text-align:right;font-variant-numeric:tabular-nums;
}
@media(max-width:600px){
  /* Textbreite der Testseite (Bildschirm minus 20 px pro Seite) auch fuer
     Tabellen, selbst wenn ein alter X5-Elterncontainer schmaler ist. */
  main.modrow-page-structure:not(.modrow-test-page) :is(figure.wp-block-table,figure.modrow-spec-table,figure.modrow-linear-spec-table,figure.modrow-cables-table,table.modrow-eco-specs){
    width:calc(100vw - 40px);max-width:none;position:relative;
    left:50%;transform:translateX(-50%);
  }
  main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table :is(th,td):first-child{width:57%;}
}


body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data {max-width:100%;margin-bottom:63px!important;}

/* Gemeinsamer Ueberlauf-Ursprung fuer HPA-Tabellenfiguren:
   keine getrennten identischen Margin-/Overflow-Deklarationen. */
body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data figure,
.modrow-hpa-product-page figure.modrow-spec-table{margin:0!important;overflow-x:auto;}
main:is(.modrow-page-structure,.modrow-preise-page,.modrow-versandkosten-page) .modrow-price-table table,
body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data table,
.modrow-hpa-product-page .modrow-spec-table table,
main.modrow-linearnetzteil-page .modrow-linear-spec-table table,
body.modrow-cables-active .modrow-cables-table table{table-layout:fixed;}

/* Zusammengehoerige Bezeichnung in technischen Daten ohne Zwischenumbruch. */
main.modrow-page-structure:not(.modrow-test-page) .modrow-spec-keep-together{white-space:nowrap;}
body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data td:first-child,
.modrow-hpa-product-page .modrow-spec-table td:first-child{width:64%;}
/* Technische Datentabellen der HPA-Komponentenseiten: nur erste Zeile oben buendig.
   Dieselbe Logik wie bei den Kabeltabellen; alle Folgezeilen unveraendert. */
.modrow-x5-tech-data > figure.modrow-spec-table table tbody tr:first-child > :is(td,th),
.modrow-hpa-product-page figure.modrow-spec-table table tbody tr:first-child > :is(td,th),
body.modrow-cables-active .modrow-cables-table tbody tr:first-child td{padding-top:0!important;}

@media(max-width:600px){body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data td:first-child, .modrow-hpa-product-page .modrow-spec-table td:first-child{width:62%;}}


body.modrow-components-active .modrow-x5-restored > .modrow-x5-cell#imCell_7 {
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  max-width:none!important;
}
body.modrow-components-active .modrow-x5-restored > .modrow-x5-cell#imCell_7 img {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:12px 0 34px!important;
  object-fit:contain!important;
}

/* Ein X5-Textursprung: Linksausrichtung, responsive Fliesstextgroesse
   und Zeilenhoehe gelten am Textcontainer, nicht in parallelen Regeln.
   Ueberschriften und technische Tabellen behalten ihre eigenen Formate. */
/* Ausstattung von Vor- und Kopfhörerverstärker: gemeinsame HPA-Grundregel
   mit den bisher freigegebenen Abständen, ohne globale Aenderung. */
body.modrow-components-active .modrow-x5-restored .text-inner,
.modrow-hpa-product-page .modrow-hpa-equipment{
  text-align:left!important;
  font-size:var(--modrow-effective-body-size)!important;
  line-height:var(--modrow-global-body-leading)!important;
}
body.modrow-components-active .modrow-x5-restored .text-inner .imHeading2:not(h1,h2,h3,h4,h5,h6) {
  font-size:var(--modrow-x5-feature-heading-size)!important;
  line-height:var(--modrow-content-heading-leading)!important;
  font-weight:700!important;
}


/* Textspans innerhalb von Überschriften behalten deren Überschriftengröße. */
body.modrow-components-active .modrow-x5-restored .text-inner :is(h2,.imHeading2) :is(span,b,strong){
  font-size:inherit!important;
}
/* Freigegebene Datentabelle darf nicht von der X5-Textformatierung beeinflusst werden. */
body.modrow-components-active .modrow-x5-restored .modrow-x5-tech-data td,
.modrow-hpa-product-page .modrow-spec-table td{font-size:var(--modrow-global-body-size)!important;line-height:var(--modrow-spec-cell-leading)!important;padding:var(--modrow-spec-cell-padding);
  text-align:left!important;
}
/* Alte X5-Download-Knöpfe und Link-Buttons im Homepage-Design. */
body.modrow-components-active .modrow-x5-restored :is(.downloadbtn a,[id^="imObjectButton_"] :is(button,a)){
  background-image:none!important;
  color:var(--modrow-nav-text)!important;
  text-shadow:none!important;
}
/* Verschachtelte X5-Buttontexte erben die gemeinsame Hover-Farbe des Links. */
body.modrow-components-active .modrow-x5-restored .downloadbtn a :is(.btn-tdiv,.btn-trdiv,.btn-tcdiv){
  background-image:none!important;
  color:inherit!important;
  text-shadow:none!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  min-height:0!important;
}
body.modrow-components-active .modrow-x5-restored .downloadbtn a,
body.modrow-components-active .modrow-x5-restored [id^="imObjectButton_"] :is(button,a){
  cursor:pointer;
}


body.modrow-components-active .modrow-x5-restored .modrow-x5-document-buttons{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:flex-start!important;flex-wrap:wrap!important;column-gap:var(--modrow-button-gap-horizontal)!important;row-gap:var(--modrow-button-space-top)!important;
 width:100%!important;
}
body.modrow-components-active .modrow-x5-restored .modrow-x5-document-buttons > .modrow-x5-cell{
 width:auto!important;flex:0 0 auto!important;
 margin:0!important;padding:0!important;
}
body.modrow-components-active .modrow-x5-restored .modrow-x5-document-buttons .download_button_wrapper{margin:0!important;}


body.modrow-components-active .modrow-x5-restored > .modrow-x5-cell#imCell_15 img {
  margin-top:75px!important;
}


body.modrow-components-active .modrow-x5-restored .text-inner :is(ul,ol),
.modrow-hpa-product-page .modrow-hpa-equipment,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading:has(> h2) + .modrow-hpa-concept-heading > h3{
  margin-top:0!important;
  margin-bottom:0!important;
}


.modrow-original-page .modrow-bsfz-copy p{font-weight:400!important;}


/* BSFZ: EIN Struktur-Ursprung fuer alle Breiten. Eigenschaften, die
   auf Desktop und Mobile gleich sind, werden genau hier definiert.
   Die Desktop-/Mobilregeln darunter enthalten nur Layoutunterschiede. */
.modrow-original-page .modrow-section.proof .modrow-bsfz-row{
   left:auto!important;transform:none!important;
   width:100%!important;max-width:100%!important;
}
.modrow-original-page .modrow-section.proof .modrow-bsfz-copy{
   width:100%!important;max-width:100%!important;
   min-width:0!important;flex:none!important;
}
.modrow-original-page .modrow-section.proof .modrow-bsfz-row .modrow-bsfz img{
   display:block!important;width:100%!important;
   max-width:100%!important;height:auto!important;
}
@media (min-width:1280px){
 .modrow-original-page .modrow-section.proof .modrow-bsfz-row{
   position:relative!important;display:block!important;
 }
 .modrow-original-page .modrow-section.proof .modrow-bsfz-row .modrow-bsfz{
   position:absolute!important;right:calc(100% + var(--modrow-bsfz-text-gap,60px))!important;
   left:auto!important;top:50%!important;transform:translateY(-50%)!important;
   width:min(var(--modrow-bsfz-proportional-width,320px),var(--modrow-bsfz-copy-height,320px))!important;
   max-width:none!important;flex:none!important;
   margin:0!important;align-self:auto!important;
 }
}
/* Tablet und Smartphone: Siegel oberhalb der Textspalte. */
@media (width < 1280px){
 .modrow-original-page .modrow-section.proof .modrow-bsfz-row{
   position:static!important;display:flex!important;flex-direction:column!important;
   align-items:var(--modrow-bsfz-cross-align,flex-start)!important;justify-content:flex-start!important;
   gap:24px!important;
 }
 .modrow-original-page .modrow-section.proof .modrow-bsfz-row .modrow-bsfz{
   position:static!important;transform:none!important;
   flex:none!important;align-self:var(--modrow-bsfz-cross-align,flex-start)!important;
   width:min(260px,60vw)!important;max-width:100%!important;margin:0!important;
 }
}


/* H1–H3: Textausrichtung ausschließlich über die globale Überschriften-Ursprungsregel. */


.modrow-regular-page .wp-block-post-content p {
  line-height:var(--modrow-global-body-leading)!important;margin-bottom:var(--modrow-global-paragraph-space-bottom)!important;
}
/* X5 setzt zahlreiche h2/h3 in unmittelbar benachbarte Wrapper.
   Das obere Margin gehoert deshalb an den Wrapper, nicht ins Heading. */

body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading + .modrow-hpa-concept-heading{
  margin-top:0!important;
}


body.modrow-components-active .modrow-x5-restored > #imCell_10{
  margin-top:16px!important;
}
body.modrow-components-active .modrow-x5-restored > #imCell_10 .modrow-x5-tech-data > h2.imHeading2{
  margin-top:0!important;
  margin-bottom:18px!important;
}
@media(max-width:600px){
 body.modrow-components-active .modrow-x5-restored > #imCell_10{margin-top:12px!important;}
 body.modrow-components-active .modrow-x5-restored > #imCell_10 .modrow-x5-tech-data > h2.imHeading2{margin-bottom:16px!important;}
}


/* Nur der direkt anschliessende Absatz hat den eigenen unteren Abstand. */
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.story,.technical,.proof) > .modrow-text-flow > h2 + p.modrow-breath-before,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading:has(> h2) + .modrow-hpa-concept-heading:has(> h3){
  margin-bottom:24px!important;
}
/* HPA-Abstaende behalten ihren gemeinsamen !important-Ursprung. Die
   ECO-Liste nutzt dagegen bewusst einen regulaeren Kaskadenwert. */
body.modrow-components-active .modrow-x5-restored .text-inner li,
.modrow-hpa-product-page .modrow-hpa-equipment > li,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-textline,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading:has(> h2){
  margin-bottom:16px!important;
}
/* Ein gemeinsamer Abschlussabstands-Ursprung: Text- und Produktschlusszeilen
   erhalten in jeder Seite exakt ihren bisherigen selektorspezifischen Wert. */
.modrow-original-page .modrow-bsfz-copy p:last-child,
.modrow-original-page:where(:not(.modrow-test-page)) .intro .modrow-text-flow > p:last-child,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading:has(> h2) > h2{
  margin-bottom:0!important;
}
/* Die 24-px-HPA-Folgeabstaende stehen beim gemeinsamen 24-px-Ursprung. */

@media(max-width:600px){
  .modrow-original-page:where(:not(.modrow-test-page)) .modrow-section:is(.story,.technical,.proof) > .modrow-text-flow > h2 + p.modrow-breath-before,
body.modrow-components-active .modrow-x5-restored .modrow-hpa-concept-heading:has(> h2) + .modrow-hpa-concept-heading:has(> h3) { margin-bottom:20px!important; }
}


/* Flex-Ursprung fuer die ECO-Titel und den Kompetenz-Textfluss. */
body.modrow-eco-active .modrow-eco-heading,
body.modrow-competences-active .modrow-competences-copy-flow{
  display:flex;
  flex-direction:column;
}
/* Der ECO-Container behaelt seine explizite Querachsen-Ausrichtung. */
body.modrow-eco-active .modrow-eco-heading{align-items:stretch;max-width:var(--modrow-width-wide);margin:0 auto!important;}
/* Linksbund-Ursprung fuer ECO-Titel, Kompetenzen-Textfluss und Datentabellen. */
body.modrow-eco-active .modrow-eco-heading,
body.modrow-competences-active .modrow-competences-copy-flow,
body.modrow-eco-active .modrow-eco-specs :is(th,td),
body.modrow-cables-active .modrow-cables-table td{
  text-align:left;
}


body.modrow-eco-active .modrow-eco-photo{margin:0 0 32px;} 
/* Ein Grundursprung fuer die Darstellung der weiteren Produktbilder.
   Die abweichende Breitenbegrenzung der Kompetenzbilder bleibt getrennt. */
body.modrow-eco-active .modrow-eco-photo img,
body.modrow-power-active .modrow-power-photo img,
body.modrow-cables-active .modrow-cables-photo img,
body.modrow-competences-active .modrow-competences-photo img{display:block;object-fit:contain;}
body.modrow-eco-active .modrow-eco-photo img,
body.modrow-power-active .modrow-power-photo img,
body.modrow-cables-active .modrow-cables-photo img{width:100%;}
body.modrow-eco-active .modrow-eco-section{margin-bottom:32px;}

body.modrow-eco-active .modrow-eco-items{list-style:disc;margin-block:0;padding-left:28px;}
body.modrow-eco-active .modrow-eco-items li{padding-left:4px;margin-bottom:16px;}

/* Tabellenzellen-Ausrichtung wird beim gemeinsamen Linksbund-Ursprung
   festgelegt. Innenabstaende und Spaltenbreiten bleiben lokal. */
body.modrow-eco-active .modrow-eco-specs :is(th,td){padding:8px 12px;}
body.modrow-eco-active .modrow-eco-specs th{width:50%;font-weight:normal;}
@media(max-width:600px){
 body.modrow-eco-active .modrow-eco-heading{margin:24px 0;}
 
 
 body.modrow-eco-active .modrow-eco-specs :is(th,td){padding:6px 4px;}
}

body.modrow-eco-active .modrow-eco-section .modrow-button-row .wp-block-button__link,
body.modrow-cables-active .modrow-cables-product .modrow-cables-review-button{
  width:auto;
  color:var(--modrow-nav-text)!important;
}

/* Gemeinsamer Unterseiten-Breitenursprung. Der Markenabschluss folgt
   auf der Kompetenzen-Seite als eigenes Template-Part. Kein zusaetzlicher
   80-px-Abstand, der den globalen Footer-Abstand verdoppeln wuerde. */
:is(body.modrow-competences-active .modrow-competences-page,
    body.modrow-testberichte-active .modrow-testberichte-page) {
  max-width:var(--modrow-width-text);
  margin-inline:auto;
}
:is(body.modrow-testberichte-active .modrow-testberichte-page) {
  margin-bottom:80px;
}

/* Schriftgrad und Zeilenhoehe aller Fliesstextseiten: zentraler
   Text-Ursprung bei den globalen Absatzregeln; keine Zweitdefinition hier. */
/* Unterseiten: gemeinsamer Standard-Absatzabstand. */
:is(body.modrow-competences-active .modrow-competences-text p,
    body.modrow-testberichte-active .modrow-testberichte-page p){
  margin:0 0 var(--modrow-global-paragraph-space-bottom);
}

/* Kabel-Tabelle: bestehende Tabellen-Zellen-Ursprungsregel. */
body.modrow-cables-active .modrow-cables-table td{font-size:var(--modrow-effective-body-size);line-height:var(--modrow-spec-cell-leading);padding:var(--modrow-spec-cell-padding);}

/* Gemeinsamer Ursprungscontainer der reinen Unterseiten: WordPress darf ihn
   nicht zusaetzlich auf die globale 810-px-Blockbreite begrenzen. Die
   individuellen TEXT-/Bild-Container im Seiteninhalt bleiben eigenstaendig. */
body.modrow-testberichte-active .modrow-testberichte-main{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding:0 var(--modrow-section-page-gutter);
}


body.modrow-power-active .modrow-power-photo{margin:0 0 36px;}

body.modrow-power-active .modrow-power-section{margin-block:42px 36px;}

body.modrow-power-active .modrow-power-section ul{margin:0;padding-left:27px;}
body.modrow-power-active .modrow-power-section li{margin:0 0 16px;}
@media(max-width:600px){
 body.modrow-testberichte-active .modrow-testberichte-main{padding:0 20px;}
 body.modrow-power-active .modrow-power-photo{margin-bottom:26px;}
}


body.modrow-cables-active .modrow-cables-product,
body.modrow-testberichte-active .modrow-testberichte-lp{margin-bottom:55px;}


body.modrow-cables-active .modrow-cables-product :is(p,li,ul){margin-block:0 16px;}
body.modrow-cables-active .modrow-cables-product ul{padding-left:26px;}
body.modrow-cables-active .modrow-cables-photo{margin:15px 0 32px;max-width:660px;}

body.modrow-cables-active .modrow-cables-table{margin:0 0 32px;overflow-x:auto;}

body.modrow-cables-active .modrow-cables-table td:first-child{width:61%;}
@media(max-width:600px){
  body.modrow-testberichte-active .modrow-testberichte-page{margin-bottom:60px;}
  body.modrow-cables-active .modrow-cables-table td:first-child{width:55%;}
}


body.modrow-competences-active .modrow-competences-text p:empty{display:none;}
/* Der letzte Kompetenzentextabschnitt erhaelt keinen zusaetzlichen
   Abschnittsabstand vor dem separat folgenden Markenabschluss. */
body.modrow-competences-active .modrow-competences-text:not(.modrow-competences-page > :last-child){margin-bottom:22px;}
body.modrow-competences-active .modrow-competences-photo{max-width:900px;margin:28px 0 24px;}
body.modrow-competences-active .modrow-competences-photo img{max-width:100%;}


.modrow-original-footer .modrow-footer-inner{
  display:grid;
  width:var(--modrow-footer-responsive-width,min(var(--modrow-intro-layout-width),calc(100% - 48px)));
  max-width:none;
  margin:0 auto;
  /* Letzte Schriftgrundlinien aller Footer-Spalten buendig; dieselbe
     aeussere Footerhoehe bleibt trotz unterschiedlicher Schriftgroessen erhalten. */
  padding:6px 0 6.578125px;
  row-gap:6px;
  align-items:last baseline;
}
.modrow-original-footer .modrow-footer-address{
  justify-self:start;
  /* Einziger horizontaler Positionsursprung des Adressblocks. */
  translate:calc(var(--modrow-footer-address-shift,0px) - var(--modrow-footer-grid-inset,0px) + var(--modrow-footer-address-mobile-gutter,0px)) 0;
}
.modrow-original-footer .modrow-footer-contact{justify-self:center;}
.modrow-original-footer .modrow-footer-brand{justify-self:end;width:235px;max-width:100%;}
.modrow-original-footer .modrow-footer-brand .modrow-footer-logo{width:100%;}
.modrow-original-footer .modrow-footer-brand > p{text-align:center;}
.modrow-original-footer .modrow-footer-inner > .modrow-copyright{
  justify-self:end;
  align-self:end;
  font-size:16px;
  margin:0;
  white-space:nowrap;
}
/* Footer: Ab 900px wird der Rasterursprung aus WIDE abgeleitet.
   Der reguläre Footer verwendet weiterhin seinen bisherigen Einzug. */
@media (min-width:900px){
  .modrow-original-footer .modrow-footer-inner{
    --modrow-footer-grid-inset:var(--modrow-footer-address-shift,0px);
    padding-left:var(--modrow-footer-grid-inset);
  }
}
/* Footer-Rastergrundregel: drei Zwischenraeume im Verhaeltnis 1 : 1 : 0.595.
   Der Copyright-Umbruch unterhalb 1100px bleibt erhalten. */
@media (min-width:1100px){
  .modrow-original-footer .modrow-footer-inner{
    width:var(--modrow-footer-desktop-width,min(1800px,calc(100% - (100% - var(--modrow-intro-layout-width))/2 - 24px)));
    margin-left:var(--modrow-footer-desktop-margin,calc((100% - var(--modrow-intro-layout-width))/2));
    margin-right:var(--modrow-footer-desktop-margin,24px);
    grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr) 235px minmax(0,0.595fr) max-content;
    column-gap:0;
  }
  .modrow-original-footer .modrow-footer-address{grid-column:1;}
  .modrow-original-footer .modrow-footer-contact{grid-column:3;}
  .modrow-original-footer .modrow-footer-brand{grid-column:5;}
  .modrow-original-footer .modrow-footer-inner > .modrow-copyright{
    grid-column:7;
    /* Einziger Copyright-Horizontalbezug; auf der Testseite an WIDE. */
    transform:translateX(var(--modrow-footer-copyright-wide-shift,max(0px,calc((100vw - 2048px)/2))));
  }
}
@media (min-width:900px) and (width < 1100px){
  .modrow-original-footer .modrow-footer-inner{
    grid-template-columns:var(--modrow-footer-mid-columns,max-content minmax(max-content,1fr) 235px);
    column-gap:var(--modrow-footer-mid-gap,clamp(10px,min(2vw,calc(7vw - 55px)),28px));
    align-items:last baseline;
  }
  /* Feste erste Rasterzeile fuer alle drei Footer-Bloecke (auch Firefox).
     Die zweite Rasterzeile bleibt ausschliesslich dem Copyright vorbehalten. */
  .modrow-original-footer .modrow-footer-address{grid-column:var(--modrow-footer-mid-address-column,auto);grid-row:1;}
  .modrow-original-footer .modrow-footer-contact{grid-column:var(--modrow-footer-mid-contact-column,auto);grid-row:1;}
  .modrow-original-footer .modrow-footer-brand{grid-column:var(--modrow-footer-mid-brand-column,auto);grid-row:1;}
  .modrow-original-footer .modrow-footer-inner > .modrow-copyright{
    grid-column:var(--modrow-footer-mid-copyright-column,3);
    grid-row:2;
    justify-self:end;
    transform:var(--modrow-footer-copyright-edge-offset,none);
  }
}
@media (width < 900px){
  .modrow-original-footer .modrow-footer-inner{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px 24px;
    padding:10px 0 12px;
    align-items:start;
  }
  .modrow-original-footer .modrow-footer-contact{justify-self:end;}
  .modrow-original-footer .modrow-footer-brand{grid-column:1;justify-self:start;}
  .modrow-original-footer .modrow-footer-inner > .modrow-copyright{
    grid-column:2;
    grid-row:2;
    transform:var(--modrow-footer-copyright-edge-offset,none);
  }
}
@media(max-width:640px){
  .wp-site-blocks > footer.wp-block-template-part{padding-top:56px;}
  .modrow-original-footer .modrow-footer-inner{
    /* Unter 641px rueckt das Footer-Raster von 24px auf 16px Einzug. */
    --modrow-footer-address-mobile-gutter:var(--modrow-footer-test-mobile-gutter,0px);
    width:var(--modrow-footer-responsive-width,calc(100% - 32px));
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .modrow-original-footer .modrow-footer-contact{justify-self:start;}
  .modrow-original-footer .modrow-footer-brand{width:min(235px,100%);}
  .modrow-original-footer .modrow-footer-inner > .modrow-copyright{
    grid-column:1;grid-row:auto;justify-self:start;align-self:start;
    transform:var(--modrow-footer-copyright-mobile-start-offset,none);
  }
}
/* Smartphone-Wert der gleichen Footer-Abstandszustaendigkeit. */
@media(max-width:600px){
  .wp-site-blocks > footer.wp-block-template-part{padding-top:46px;}
}


body.modrow-testberichte-active .testberichte-spacer{height:10px;}
body.modrow-testberichte-active .modrow-testberichte-button{background:#d1dce4;border-radius:6px;color:#123c63;text-decoration:none;}

body.modrow-testberichte-active .modrow-testberichte-rezension a:not(.modrow-testberichte-button){overflow-wrap:anywhere;}
:where(body) :is(h1,h2,h3,h4,h5,h6) {
  font-family:var(--modrow-font-main) !important;
  font-style:normal !important;
  font-weight:700 !important;
  color:var(--modrow-color-ink) !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  padding-block:0 !important;
}
body:not(#modrow-override) :is(h1,h2,h3,h4,h5,h6) {line-height:1.25!important;}

/* H1-H6-Abstaende verwenden direkt die globalen --modrow-global-h*-space-Variablen. */
body:not(#modrow-override) h1 {font-size:var(--modrow-global-h1)!important;margin-top:var(--modrow-global-h1-space-top)!important;margin-bottom:var(--modrow-global-h1-space-bottom)!important;}
body:not(#modrow-override) h2 {font-size:var(--modrow-global-h2)!important;margin-top:var(--modrow-global-h2-space-top)!important;margin-bottom:var(--modrow-global-h2-space-bottom)!important;}
body:not(#modrow-override) h3 {font-size:var(--modrow-global-h3)!important;margin-top:var(--modrow-global-h3-space-top)!important;margin-bottom:var(--modrow-global-h3-space-bottom)!important;}
body:not(#modrow-override) h4 {font-size:var(--modrow-global-h4)!important;margin-top:var(--modrow-global-h4-space-top)!important;margin-bottom:var(--modrow-global-h4-space-bottom)!important;}
/* Einziger globaler Ursprung fuer 5 px Leerraum, wenn unmittelbar nach Fliesstext H4 folgt.
   Vorhandene 5-px-Spacer (z. B. Service) bleiben unveraendert und werden nicht verdoppelt.
   Der H4-Grundabstand (12px oben, 24px unten) bleibt unveraendert. */
p + h4::before {content:"";display:block;height:5px;}
body:not(#modrow-override) h5 {font-size:var(--modrow-global-h5)!important;margin-top:var(--modrow-global-h5-space-top)!important;margin-bottom:var(--modrow-global-h5-space-bottom)!important;}
body:not(#modrow-override) h6 {font-size:var(--modrow-global-h6)!important;margin-top:var(--modrow-global-h6-space-top)!important;margin-bottom:var(--modrow-global-h6-space-bottom)!important;}
@media(max-width:600px){
  body:not(#modrow-override) h1 {font-size:var(--modrow-global-h1-mobile)!important;}
  body:not(#modrow-override) h2 {font-size:var(--modrow-global-h2-mobile)!important;}
  body:not(#modrow-override) h3 {font-size:var(--modrow-global-h3-mobile)!important;}
  body:not(#modrow-override) h4 {font-size:var(--modrow-global-h4-mobile)!important;}
  body:not(#modrow-override) h5 {font-size:var(--modrow-global-h5-mobile)!important;}
  body:not(#modrow-override) h6 {font-size:var(--modrow-global-h6-mobile)!important;}
}


/* Gemeinsame Grid-Position einmal definiert; nur der Zeilenumbruch ist responsiv. */
.modrow-original-page:where(:not(.modrow-test-page)) .modrow-section.intro > .modrow-text-flow > h2.modrow-subtitle {
  grid-column: 1 / -1;
}
@media (min-width: 1050px) {
  .modrow-original-page:where(:not(.modrow-test-page)) .modrow-section.intro > .modrow-text-flow > h2.modrow-subtitle {
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
  }
}
@media (max-width: 1049px) {
  .modrow-original-page:where(:not(.modrow-test-page)) .modrow-section.intro > .modrow-text-flow > h2.modrow-subtitle {
    white-space: normal;
    overflow-wrap: normal;
  }
}


/* X5: gemeinsame Titelbreite, bei direktem H1/H2-Kind ohne
   Positionskorrekturen an den Eltern- oder Bildcontainern. */
body.modrow-components-active .modrow-x5-restored > .modrow-x5-heading,
body.modrow-components-active .modrow-x5-restored > .modrow-x5-heading > :is(h1,h2){
  width:100%;
  max-width:100%;
  margin-inline:0!important;
  padding-inline:0!important;
}
/* HPA-Titel verwenden denselben horizontalen Nullabstand wie X5,
   behalten jedoch ihre eigenen Breiten und Darstellungsregeln. */
body.modrow-components-active .modrow-hpa-wide-heading > h1,
body.modrow-components-active .modrow-components-page .modrow-hpa-wide-heading > h2,
body.modrow-components-active .modrow-components-page .wp-block-post-content > h2.wp-block-heading:first-of-type{
  margin-inline:0!important;
  padding-inline:0!important;
}
body.modrow-components-active .modrow-x5-restored > .modrow-x5-heading > :is(h1,h2){
  position:static;
  transform:none;
}


/* Einheitlicher Smartphone-Innenrand fuer ausschliesslich texttragende
   Abschnitte, ohne Bild-/Tabellen- oder Titelcontainer zu vergroessern.
   Die Klasse wird nur dort eingesetzt, wo danach kein Bild mehr folgt. */
@media (max-width:600px) {
  .modrow-mobile-text-inset,
  body.modrow-power-active .modrow-power-section { margin-inline:4px; }
}

/* Zentrale, getrennte Inhaltsbreiten-Ursprungsregeln fuer TEXT und WIDE. */
body:not(:has(.modrow-test-page)) :is(.TEXT, .modrow-width-text){
  width:100%;
  max-width:var(--modrow-visible-text-width,var(--modrow-width-text));
  margin-inline:auto;
}
body:not(:has(.modrow-test-page)) :is(.WIDE, .modrow-width-wide):not(p){
  width:100%;
  max-width:var(--modrow-visible-wide-width,var(--modrow-width-wide));
  margin-inline:auto;
}


/* HPA-Box: horizontale Ausrichtung und Flex-Grundwerte aus einer Ursprungsregel. */
body.modrow-components-active .modrow-hpa-wide-heading{
  text-align:left!important;
  display:flex!important;
  flex-direction:column;
  align-items:stretch;
}
/* Horizontale HPA-Titelboxkanten werden ausschliesslich beim gemeinsamen
   X5/HPA-Titelursprung gepflegt. */
/* H2: individuelle Groesse und Positionierung. */
body.modrow-components-active .modrow-components-page .modrow-hpa-wide-heading > h2,
body.modrow-components-active .modrow-components-page .wp-block-post-content > h2.wp-block-heading:first-of-type{
  width:100%!important;
  max-width:none!important;
  display:block!important;
  position:static!important;
  transform:none!important;
  float:none!important;
}
body.modrow-components-active .modrow-components-page .wp-block-post-content .modrow-hpa-wide-heading > h2{
  min-width:0!important;
  align-self:start!important;
}


