/* Integrationen: Anpassungen für WordPress, Pencilino (Quick Editor), WPML, Formulare und Rechtstexte. */
/* =====================================================================
   Theme-Ergänzungen (WordPress, Pencilino, WPML)
   ===================================================================== */
/* Pencilino-Richtext: der Wrapper ist ein <div>, Absätze darin übernehmen die Typo der Klasse */
.pencil-richtext > * + * {
  margin-top: 0.75em;
}
.pencil-richtext a {
  color: inherit;
}
.pencil-richtext ul,
.pencil-richtext ol {
  padding-left: 1.2em;
}
/* Ring-Liste und Wortband aus Richtext-Listen */
.ring-list-rt ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.ring-list-rt li {
  position: relative;
  padding-left: calc(22px + var(--space-3));
}
.ring-list-rt li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.38em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 3.5px solid var(--on-ring);
  box-sizing: content-box;
}
.wordband-rt ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  column-gap: var(--space-5);
  row-gap: var(--space-3);
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  text-transform: uppercase;
  font-size: var(--type-statement);
  line-height: var(--leading-statement);
  letter-spacing: var(--tracking-statement);
}
@media (max-width: 900px) {
  .wordband-rt ul {
    grid-template-columns: repeat(2, max-content);
  }
}
@media (max-width: 560px) {
  .wordband-rt ul {
    grid-template-columns: 1fr;
  }
}
.wordband-rt li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.wordband-rt li::before {
  content: "";
  flex: none;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  border: 0.13em solid var(--on-ring);
}
/* Inline-Bereiche (verwaltete Texte) dürfen das Layout nicht verändern */
span.pencil-managed-region {
  display: inline;
}
/* Hero: Desktop-Bild hoch, Mobil-Bild quer */
.hero-plane .plane {
  position: absolute;
  inset: 0;
  height: 100%;
}
@media (max-width: 900px) {
  .hero-plane .plane {
    /* stylelint-disable-next-line declaration-no-important -- überschreibt den Bildausschnitt aus dem Inline-Style des Desktop-Bilds */
    object-position: var(--hero-pos-mobile, 50% 50%) !important;
  }
}
/* Bildrahmen: Größe kommt immer vom Layout, nie vom Bild */
.split-plane .plane,
.steps .plane,
.gallery .plane,
.ref-plane .plane,
.career-plane .plane,
.lead-plane .plane,
.more .gp .plane {
  display: block;
  width: 100%;
}
/* Sprachumschalter */
.lang a {
  text-decoration: none;
  color: inherit;
}
.lang a:hover,
.lang .is-current {
  color: var(--on-text);
}
/* Formular-Rückmeldung */
.form-msg {
  padding: var(--space-4) var(--space-5);
  background: var(--clary-sage-100);
  font-size: var(--type-small);
}
.form-msg--error {
  background: var(--clary-coral-50);
  color: var(--clary-coral-ink);
}
.form .hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.screen-reader-only {
  /* stylelint-disable-next-line declaration-no-important -- Bildschirmleser-Klasse muss immer greifen */
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Pencilino-Bearbeitungsleiste nicht unter dem Sticky-Header */
.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 0;
  }
}
.lead-plane > .pencil-managed-region,
.split-plane > .pencil-managed-region {
  height: 100%;
}
/* Kontaktliste: Telefon, E-Mail und LinkedIn in einem Stil, Unterstreichung erst beim Hover.
   Icon und Text mit Abstand, auch im Quick Editor, wo der Link in einem Bearbeitungsbereich steckt. */
.clist a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  font-weight: var(--weight-emphasis);
  text-decoration: none;
}
.clist a:hover {
  text-decoration: underline;
}
.person > .pencil-managed-region {
  display: block;
  flex: none;
  line-height: 0;
}
/* Rechtliche Seiten (Impressum, Datenschutz) */
.legal-text {
  -webkit-hyphens: auto;
  hyphens: auto;
}
.legal-text > * + * {
  margin-top: var(--space-4);
}
.legal-text h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  text-transform: uppercase;
  font-size: var(--type-statement);
  line-height: var(--leading-statement);
  letter-spacing: var(--tracking-statement);
  margin-top: var(--space-7);
}
.legal-text h3 {
  font-size: var(--type-body);
  font-weight: var(--weight-emphasis);
  line-height: var(--leading-body);
  margin-top: var(--space-6);
}
.legal-text h2 + *,
.legal-text h3 + * {
  margin-top: var(--space-3);
}
.legal-text ul {
  list-style: disc;
  padding-left: 1.25em;
}
.legal-text li + li {
  margin-top: var(--space-2);
}
.legal-text a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  overflow-wrap: anywhere;
}
.legal-text .legal-note {
  padding: var(--space-4) var(--space-5);
  background: var(--clary-sage-100);
  font-size: var(--type-small);
}
