/* ==========================================================================
   Seitenfamilie „Wissen“ (wissen/_tpl/wp.php): Guide, Glossar, Editorial, Presse; am Ende Block ab- für Über uns.
   Dossier statt Blogpost: Kopf mit Kennzahl oder Produkt-Nachbau, Answer-first-Karte,
   mitlaufendes Inhaltsverzeichnis, Bausteine für Schritte, Checklisten, Vergleiche.
   Nur Design-System-Tokens; Breakpoints aus der Skala (980, 760, 560).
   ========================================================================== */

.wp { --wp-measure: 70ch; color: var(--ds-text-primary); }

/* ---------- Kopf ---------- */
/* Kopf ohne eigenen Grund: der Verlauf liegt auf <main> und reicht hinter Kopfzeile und Brotkruemel
   (Regel main:has(> .wp > .wp-head) in main.css, wie page-hero und fp-hero). Kein harter Schnitt oben. */
.wp-head {
  padding: var(--ds-space-8) 0 var(--ds-space-10);
  background: transparent;
  border-bottom: 1px solid var(--ds-border-subtle);
}
main:has(> .wp > .wp-head)::after {
  background:
    radial-gradient(48rem 26rem at 0% 0%, var(--ds-surface-brand), transparent 70%),
    radial-gradient(circle at 88% 38%, rgba(84, 94, 211, 0.04), rgba(84, 94, 211, 0) 26%),
    radial-gradient(circle at 45% 78%, rgba(29, 227, 210, 0.03), rgba(29, 227, 210, 0) 22%);
}
.wp-head-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-10); align-items: center; }
@media (min-width: 981px) {
  .wp-head-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: var(--ds-space-16); }
  .wp-head-grid.is-solo { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
}
.wp-eyebrow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2); margin-bottom: var(--ds-space-5);
  font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family);
  letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.wp-eyebrow b { padding: 4px 10px; border-radius: var(--ds-radius-pill); background: var(--ds-surface-brand); color: var(--ds-text-brand); font-weight: inherit; }
.wp-eyebrow i { font-style: normal; color: var(--ds-text-secondary); }
.wp-head h1 { margin: 0 0 var(--ds-space-5);
  font: var(--ds-type-display-l-weight) var(--ds-type-display-l-size) / var(--ds-type-display-l-line-height) var(--ds-type-display-l-family);
  letter-spacing: var(--ds-type-display-l-tracking); text-wrap: balance; }
.wp-head h1 em { font-style: normal; color: var(--ds-text-brand); }
.wp-lead { max-width: 60ch; margin: 0 0 var(--ds-space-8);
  font: var(--ds-type-body-lg-weight) var(--ds-type-body-lg-size) / var(--ds-type-body-lg-line-height) var(--ds-type-body-lg-family);
  color: var(--ds-text-secondary); }
.wp-meta { display: flex; flex-wrap: wrap; gap: var(--ds-space-3) 0; margin: 0; padding-top: var(--ds-space-5); border-top: 1px solid var(--ds-border-default); }
.wp-meta div { display: grid; gap: 2px; padding: 0 var(--ds-space-6) 0 0; margin-right: var(--ds-space-6); border-right: 1px solid var(--ds-border-subtle); }
.wp-meta div:last-child { border-right: 0; }
.wp-meta dt { font: var(--ds-type-meta-weight) var(--ds-type-meta-size) / var(--ds-type-meta-line-height) var(--ds-type-meta-family); letter-spacing: var(--ds-type-meta-tracking); color: var(--ds-text-secondary); text-transform: uppercase; }
.wp-meta dd { margin: 0; font-size: var(--ds-font-size-sm); font-weight: 600; color: var(--ds-text-primary); }
.wp-head-fig { min-width: 0; }

/* Kennzahl als Kopf-Abbildung */
.wp-fig-num { display: grid; gap: var(--ds-space-2); padding: var(--ds-space-8); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-xl); background: var(--ds-surface-default); box-shadow: var(--ds-shadow-md); }
.wp-fig-num b { font: var(--ds-type-display-xl-weight) var(--ds-type-display-xl-size) / 1 var(--ds-type-display-xl-family); letter-spacing: var(--ds-type-display-xl-tracking); color: var(--ds-text-brand); font-variant-numeric: tabular-nums; }
.wp-fig-num span { font-size: var(--ds-font-size-lg); font-weight: 600; color: var(--ds-text-primary); }
.wp-fig-num small { font: var(--ds-type-caption-weight) var(--ds-type-caption-size) / var(--ds-type-caption-line-height) var(--ds-type-caption-family); color: var(--ds-text-secondary); }

/* ---------- Answer-first ---------- */
.wp-answer-wrap { padding: var(--ds-space-10) 0 0; }
.wp-answer { position: relative; max-width: 980px; padding: var(--ds-space-8) var(--ds-space-8) var(--ds-space-8) var(--ds-space-10);
  border: 1px solid var(--ds-border-brand); border-radius: var(--ds-radius-xl);
  background: linear-gradient(180deg, var(--ds-surface-brand), var(--ds-surface-default)); }
.wp-answer::before { content: ""; position: absolute; left: 0; top: var(--ds-space-8); bottom: var(--ds-space-8); width: 4px; border-radius: 0 4px 4px 0; background: var(--ds-action-brand); }
.wp-answer-label { display: inline-flex; align-items: center; gap: var(--ds-space-2); margin-bottom: var(--ds-space-3);
  font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-brand); }
.wp-answer-body p { margin: 0 0 var(--ds-space-3); font: var(--ds-type-body-lg-weight) var(--ds-type-body-lg-size) / var(--ds-type-body-lg-line-height) var(--ds-type-body-lg-family); color: var(--ds-text-primary); }
.wp-answer-body p:last-child { margin-bottom: 0; }
.wp-answer-body strong { color: var(--ds-text-primary); }

/* ---------- Textkörper mit Inhaltsverzeichnis ---------- */
.wp-body { padding: var(--ds-space-12) 0 var(--ds-space-16); }
.wp-body-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-8); }
@media (min-width: 981px) {
  .wp-body-grid { grid-template-columns: 220px minmax(0, 1fr); gap: var(--ds-space-16); align-items: start; }
  .wp-body-grid.is-solo { grid-template-columns: minmax(0, 1fr); }
  .wp-toc { position: sticky; top: calc(var(--nav-h, 76px) + var(--ds-space-6)); }
  .wp-toc-m { display: none; }
}
@media (max-width: 980px) { .wp-toc-d { display: none; } }
.wp-toc ol { list-style: none; margin: 0; padding: 0; }
.wp-toc a { display: flex; gap: var(--ds-space-3); padding: var(--ds-space-2) 0 var(--ds-space-2) var(--ds-space-3); border-left: 2px solid var(--ds-border-subtle);
  font-size: var(--ds-font-size-sm); line-height: 1.4; color: var(--ds-text-secondary); text-decoration: none; }
.wp-toc a em { flex: none; font-style: normal; font-family: var(--ds-type-meta-family); font-size: var(--ds-font-size-2xs); font-weight: 600; color: var(--ds-text-secondary); padding-top: 2px; }
.wp-toc a:hover, .wp-toc a.is-on { color: var(--ds-text-primary); border-left-color: var(--ds-action-brand); }
.wp-toc a.is-on em { color: var(--ds-text-brand); }
.wp-toc-cap { display: block; margin-bottom: var(--ds-space-3); font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.wp-toc-m { border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); background: var(--ds-surface-default); }
.wp-toc-m summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 0 var(--ds-space-4); font-weight: 600; cursor: pointer; list-style: none; }
.wp-toc-m summary::-webkit-details-marker { display: none; }
.wp-toc-m summary::after { content: "+"; font-size: var(--ds-font-size-xl); color: var(--ds-text-brand); }
.wp-toc-m[open] summary::after { content: "−"; }
.wp-toc-m ol { padding: 0 var(--ds-space-4) var(--ds-space-4); }

/* Fließtext */
.wp-prose { min-width: 0; max-width: var(--wp-measure); }
.wp-sec + .wp-sec { margin-top: var(--ds-space-12); padding-top: var(--ds-space-12); border-top: 1px solid var(--ds-border-subtle); }
.wp-sec { scroll-margin-top: calc(var(--nav-h, 76px) + var(--ds-space-6)); }
.wp-sec-kicker { display: block; margin-bottom: var(--ds-space-2); font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-brand); }
.wp-prose h2 { margin: 0 0 var(--ds-space-5); font: var(--ds-type-h2-weight) var(--ds-type-h2-size) / var(--ds-type-h2-line-height) var(--ds-type-h2-family); letter-spacing: var(--ds-type-h2-tracking); text-wrap: balance; }
.wp-prose h3 { margin: var(--ds-space-8) 0 var(--ds-space-3); font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / var(--ds-type-h3-line-height) var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); }
.wp-prose p, .wp-prose li { font: var(--ds-type-body-weight) var(--ds-font-size-lg) / 1.7 var(--ds-type-body-family); color: var(--ds-text-secondary); }
.wp-prose p { margin: 0 0 var(--ds-space-4); }
.wp-prose ul:not([class]) { margin: 0 0 var(--ds-space-4); padding-left: var(--ds-space-5); }
.wp-prose strong, .wp-prose b { color: var(--ds-text-primary); }
.wp-prose a:not([class]) { color: var(--ds-text-brand); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* ---------- Schritte ---------- */
.wp-steps { list-style: none; margin: var(--ds-space-6) 0; padding: 0; display: grid; gap: var(--ds-space-3); counter-reset: none; }
.wp-steps li { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: var(--ds-space-4); align-items: start; padding: var(--ds-space-5) var(--ds-space-6);
  border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); background: var(--ds-surface-default); }
.wp-step-n { font: var(--ds-type-num-weight) var(--ds-font-size-xl) / 1.2 var(--ds-type-num-family); color: var(--ds-text-brand); font-variant-numeric: tabular-nums; }
.wp-steps i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--ds-radius-md); background: var(--ds-surface-brand); color: var(--ds-text-brand); }
.wp-steps b { display: block; margin-bottom: 2px; font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); }
.wp-steps p { margin: 0; font-size: var(--ds-font-size-base); line-height: 1.6; }
@media (max-width: 560px) { .wp-steps li { grid-template-columns: auto minmax(0, 1fr); } .wp-steps i { display: none; } }

/* ---------- Checkliste ---------- */
.wp-check { margin: var(--ds-space-6) 0; padding: var(--ds-space-6); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-xl); background: var(--ds-surface-subtle); }
.wp-check legend { padding: 0 var(--ds-space-2); font-weight: 700; font-size: var(--ds-font-size-lg); }
.wp-check ul { list-style: none; margin: 0 0 var(--ds-space-4); padding: 0; display: grid; gap: var(--ds-space-2); }
.wp-check li { display: flex; gap: var(--ds-space-3); align-items: flex-start; padding: var(--ds-space-3) 0; border-bottom: 1px solid var(--ds-border-subtle); }
.wp-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ds-action-brand); }
.wp-check label { display: grid; gap: 2px; cursor: pointer; }
.wp-check label b { font-size: var(--ds-font-size-base); color: var(--ds-text-primary); }
.wp-check label span { font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.wp-check input:checked + label b { text-decoration: line-through; color: var(--ds-text-secondary); }
.wp-check-print { display: inline-flex; align-items: center; gap: var(--ds-space-2); min-height: 40px; padding: 0 var(--ds-space-4); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-pill); background: var(--ds-surface-default); color: var(--ds-text-primary); font: inherit; font-size: var(--ds-font-size-sm); font-weight: 600; cursor: pointer; }
.wp-check-print:hover { border-color: var(--ds-border-brand); color: var(--ds-text-brand); }

/* ---------- Vergleich ---------- */
.wp-table { margin: var(--ds-space-6) 0; overflow-x: auto; border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); }
.wp-table table { width: 100%; border-collapse: collapse; font-size: var(--ds-font-size-sm); }
.wp-table caption { padding: var(--ds-space-3) var(--ds-space-4); text-align: left; font-weight: 700; color: var(--ds-text-primary); border-bottom: 1px solid var(--ds-border-default); }
.wp-table th, .wp-table td { padding: var(--ds-space-3) var(--ds-space-4); text-align: left; vertical-align: top; border-bottom: 1px solid var(--ds-border-subtle); }
.wp-table thead th { background: var(--ds-surface-subtle); font-size: var(--ds-font-size-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--ds-text-secondary); }
.wp-table tbody th { position: sticky; left: 0; background: var(--ds-surface-default); color: var(--ds-text-primary); font-weight: 600; }
.wp-table td { color: var(--ds-text-secondary); }
@media (max-width: 560px) {
  .wp-table { overflow: visible; border: 0; }
  .wp-table thead { display: none; }
  .wp-table tr { display: block; margin-bottom: var(--ds-space-3); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); }
  .wp-table tbody th { display: block; position: static; }
  .wp-table td { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--ds-space-3); }
  .wp-table td::before { content: attr(data-label); font-weight: 600; color: var(--ds-text-primary); }
}

/* ---------- Kennzahlen, Zitat, Hinweis ---------- */
.wp-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--ds-space-3); margin: var(--ds-space-6) 0; }
.wp-kpis div { display: grid; gap: 4px; padding: var(--ds-space-5); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); background: var(--ds-surface-default); }
.wp-kpis b { font: var(--ds-type-num-weight) var(--ds-type-num-size) / 1.1 var(--ds-type-num-family); color: var(--ds-text-primary); font-variant-numeric: tabular-nums; }
.wp-kpis span { font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.wp-kpis small { font-size: var(--ds-font-size-xs); color: var(--ds-text-secondary); }
.wp-quote { margin: var(--ds-space-8) 0; padding-left: var(--ds-space-6); border-left: 3px solid var(--ds-border-brand); }
.wp-quote blockquote { margin: 0; }
.wp-quote p { margin: 0; font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / 1.35 var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); color: var(--ds-text-primary); }
.wp-quote figcaption { margin-top: var(--ds-space-3); font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.wp-note { display: flex; gap: var(--ds-space-3); margin: var(--ds-space-6) 0; padding: var(--ds-space-4) var(--ds-space-5); border-radius: var(--ds-radius-lg); background: var(--ds-surface-subtle); color: var(--ds-text-brand); }
.wp-note svg { flex: none; margin-top: 3px; }
.wp-note b { display: block; color: var(--ds-text-primary); }
.wp-note p { margin: 2px 0 0; font-size: var(--ds-font-size-base); }

/* ---------- Brücke zur Angebotsseite ---------- */
.wp-bridge { margin-top: var(--ds-space-16); padding: var(--ds-space-10); border-radius: var(--ds-radius-xl); background: var(--ds-surface-inverse); color: var(--ds-text-inverse); }
.wp-bridge-kicker { display: block; margin-bottom: var(--ds-space-3); font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: inherit; opacity: .75; }
.wp-bridge h2 { margin: 0 0 var(--ds-space-3); color: inherit; font: var(--ds-type-h2-weight) var(--ds-type-h2-size) / var(--ds-type-h2-line-height) var(--ds-type-h2-family); letter-spacing: var(--ds-type-h2-tracking); }
.wp-prose .wp-bridge p, .wp-prose .wp-bridge li { color: inherit; }
.wp-bridge ul { list-style: none; margin: var(--ds-space-5) 0; padding: 0; display: grid; gap: var(--ds-space-2); }
.wp-bridge li { display: flex; gap: var(--ds-space-3); align-items: flex-start; }
.wp-bridge li svg { flex: none; margin-top: 6px; }
.wp-bridge-link { display: inline-flex; align-items: center; gap: var(--ds-space-2); min-height: 44px; padding: 0 var(--ds-space-5); border-radius: var(--ds-radius-pill); background: var(--ds-surface-default); color: var(--ds-text-primary); font-weight: 600; text-decoration: none; }
.wp-bridge-link:hover { background: var(--ds-surface-brand); color: var(--ds-text-brand); }

/* ---------- Verwandte Begriffe ---------- */
.wp-related { margin-top: var(--ds-space-10); }
.wp-related > span { display: block; margin-bottom: var(--ds-space-3); font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.wp-related ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ds-space-2); }
.wp-related a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 var(--ds-space-4); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-pill); font-size: var(--ds-font-size-sm); color: var(--ds-text-primary); text-decoration: none; }
.wp-related a:hover { border-color: var(--ds-border-brand); color: var(--ds-text-brand); }

/* ---------- Glossar ---------- */
.wp-def { margin: 0 0 var(--ds-space-6); padding-bottom: var(--ds-space-6); border-bottom: 1px solid var(--ds-border-subtle);
  font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / 1.4 var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); color: var(--ds-text-primary); }
.wp-gl-search { display: flex; align-items: center; gap: var(--ds-space-3); max-width: 520px; min-height: 48px; padding: 0 var(--ds-space-4); border: 1px solid var(--ds-border-strong); border-radius: var(--ds-radius-pill); background: var(--ds-surface-default); color: var(--ds-text-secondary); }
.wp-gl-search input { flex: 1; min-width: 0; border: 0; background: none; font: inherit; font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); outline: none; }
.wp-gl-search:focus-within { border-color: var(--ds-border-focus); box-shadow: 0 0 0 3px var(--ds-surface-brand); }
.wp-gl-letters { display: flex; flex-wrap: wrap; gap: var(--ds-space-1); margin: var(--ds-space-5) 0 0; padding: 0; list-style: none; }
.wp-gl-letters a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--ds-radius-sm); font-weight: 600; color: var(--ds-text-brand); text-decoration: none; }
.wp-gl-letters a:hover { background: var(--ds-surface-brand); }
.wp-gl-group { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--ds-space-6); padding: var(--ds-space-6) 0; border-top: 1px solid var(--ds-border-subtle); scroll-margin-top: calc(var(--nav-h, 76px) + var(--ds-space-6)); }
.wp-gl-group > h2 { margin: 0; font: var(--ds-type-display-l-weight) var(--ds-type-h1-size) / 1 var(--ds-type-display-l-family); color: var(--ds-text-brand); }
.wp-gl-list { list-style: none; margin: 0; padding: 0; display: grid; }
.wp-gl-list li { padding: var(--ds-space-4) 0; border-top: 1px solid var(--ds-border-subtle); }
.wp-gl-list li:first-child { border-top: 0; padding-top: 0; }
.wp-gl-list > li > a { font-weight: 700; font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); text-decoration: none; }
.wp-gl-list > li > a:hover { color: var(--ds-text-brand); }
.wp-gl-list .wp-gl-def { margin: var(--ds-space-2) 0 0; font-size: var(--ds-font-size-sm); line-height: 1.55; color: var(--ds-text-secondary); }
.wp-gl-list .is-soon { color: var(--ds-text-primary); font-weight: 700; font-size: var(--ds-font-size-lg); }
@media (max-width: 560px) { .wp-gl-group { grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-3); } }

/* ---------- Zeitstrahl (Presse) ---------- */
.wp-timeline { list-style: none; margin: var(--ds-space-6) 0 0; padding: 0; }
.wp-tl-year { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--ds-space-6); padding: var(--ds-space-6) 0; border-top: 1px solid var(--ds-border-subtle); }
.wp-tl-year h3 { margin: 0; font: var(--ds-type-num-weight) var(--ds-font-size-3xl) / 1 var(--ds-type-num-family); color: var(--ds-text-brand); font-variant-numeric: tabular-nums; scroll-margin-top: calc(var(--nav-h, 76px) + var(--ds-space-6)); }
.wp-tl-year > ol { list-style: none; margin: 0; padding: 0 0 0 var(--ds-space-6); border-left: 2px solid var(--ds-border-default); display: grid; gap: var(--ds-space-5); }
.wp-tl-item { position: relative; }
.wp-tl-item::before { content: ""; position: absolute; left: calc(-1 * var(--ds-space-6) - 6px); top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--ds-action-brand); box-shadow: 0 0 0 4px var(--ds-surface-default); }
.wp-tl-item time { display: block; font: var(--ds-type-meta-weight) var(--ds-type-meta-size) / var(--ds-type-meta-line-height) var(--ds-type-meta-family); color: var(--ds-text-secondary); }
.wp-tl-item b { display: block; margin: 2px 0; font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); }
.wp-tl-item b a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.wp-prose .wp-tl-item p { margin: 0; font-size: var(--ds-font-size-base); }
.wp-prose .wp-tl-more { margin-top: var(--ds-space-8); padding-top: var(--ds-space-6); border-top: 1px solid var(--ds-border-subtle); }
@media (max-width: 560px) { .wp-tl-year { grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-3); } }

/* ---------- Druck (Checklisten) ---------- */
@media print {
  .wp-head { background: none; padding: 0 0 12px; border: 0; }
  .wp-head-fig, .wp-toc, .wp-check-print, .wp-bridge, .wp-related, .wp-answer-wrap { display: none !important; }
  .wp-body { padding: 0; }
  .wp-body-grid { display: block; }
  .wp-prose { max-width: none; }
  .wp-check { break-inside: avoid; border-color: var(--ds-border-strong); background: none; }
  .wp-check input { -webkit-appearance: auto; appearance: auto; }
}
.wp-gl-none { margin: var(--ds-space-6) 0 0; color: var(--ds-text-secondary); }
.wp-gl-search .wp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wp-ed-list time, .wp-ed-list .wp-ed-topic { display: block; margin-bottom: var(--ds-space-1); font: var(--ds-type-meta-weight) var(--ds-type-meta-size) / var(--ds-type-meta-line-height) var(--ds-type-meta-family); color: var(--ds-text-secondary); }
.wp-head-fig.fp { --fp-faint: var(--fp-muted); }
.wp-prose .wp-bridge p a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.wp-gl-list h3.is-soon { margin: 0; }
.wp-gl-list li { scroll-margin-top: calc(var(--nav-h, 76px) + var(--ds-space-6)); }
.wp-gl-body { margin-top: var(--ds-space-3); }
.wp-prose .wp-gl-body p { margin: var(--ds-space-2) 0 0; font-size: var(--ds-font-size-sm); line-height: 1.6; color: var(--ds-text-secondary); }

/* ==========================================================================
   Über uns (/unternehmen/ueber-airlst/, /en/company/about/): Kennzahlen, Köpfe,
   Zeitstrahl in Kapiteln, Haltung. Bewegung nur als CSS-Scroll-Animation ab 761 px
   ohne reduzierte Bewegung; ohne Unterstützung steht alles fertig da.
   ========================================================================== */
/* Verlauf über den globalen Hero-Layer (main::after aus main.css): beginnt am oberen Seitenrand hinter
   Kopfzeile und Brotkrumen und läuft weich aus, ohne Kante unter den Brotkrumen. */
main:has(> .ab-hero)::after {
  height: 1300px;
  background:
    radial-gradient(52rem 34rem at 12% 22%, var(--ds-surface-brand), transparent 70%),
    radial-gradient(46rem 30rem at 90% 30%, color-mix(in srgb, var(--ds-brand-marketing-bright-purple) 14%, transparent), transparent 70%);
}
.ab-hero > .container > h1 { max-width: 22ch; }
.ab-sec { padding-block: var(--section-y-sm); }
.ab-stats {
  list-style: none; margin: var(--ds-space-12) auto 0; padding: 0; max-width: 980px;
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ds-space-3);
}
.ab-stats li {
  display: flex; flex-direction: column; gap: var(--ds-space-1); padding: var(--ds-space-5) var(--ds-space-3);
  background: var(--ds-surface-elevated); border: 1px solid var(--ds-border-card); border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-sm);
}
.ab-stats b { font-family: var(--font-display); font-size: var(--ds-font-size-4xl); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; color: var(--ds-text-primary); }   /* fetter und schwarz (Martin 08.10.2026) */
.ab-stats span { font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.ab-stats-note { max-width: 62ch; margin: var(--ds-space-5) auto 0; font-size: var(--ds-font-size-sm); color: var(--ds-text-muted); }

.ab-heads-sec .section-sub { max-width: 70ch; }
.ab-heads {
  list-style: none; margin: var(--ds-space-10) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ds-space-6);
}
.ab-heads li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--ds-space-1); }
.ab-heads picture {
  display: block; width: min(192px, 100%); aspect-ratio: 1; margin-bottom: var(--ds-space-3); border-radius: 50%;
  background: linear-gradient(140deg, var(--ds-surface-brand), color-mix(in srgb, var(--ds-brand-marketing-bright-purple) 22%, var(--ds-surface-elevated)));
  padding: 6px; box-shadow: var(--ds-shadow-md);
}
.ab-heads img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.ab-heads b { font-size: var(--ds-font-size-lg); }
.ab-heads span { font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }

/* Zeitstrahl: Mittellinie, Jahreskugeln auf der Linie, Karten abwechselnd links und rechts */
.ab-tl, .ab-tl ol { list-style: none; margin: 0; padding: 0; }
.ab-tl { position: relative; margin-top: var(--ds-space-12); --ab-spine: 50%; }
.ab-tl::before, .ab-tl::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: var(--ab-spine); width: 3px; margin-left: -1.5px; border-radius: 3px;
}
.ab-tl::before { background: var(--ds-border-subtle); }
.ab-tl::after {
  background: linear-gradient(var(--ds-action-brand), var(--ds-brand-marketing-bright-purple));
  transform-origin: top;
}
.ab-tl-ch { position: relative; z-index: 1; }
.ab-tl-ch + .ab-tl-ch { margin-top: var(--ds-space-12); }
.ab-tl-chead {
  display: flex; flex-direction: column; align-items: center; gap: 2px; width: fit-content; max-width: 100%;
  margin: 0 auto var(--ds-space-8); padding: var(--ds-space-3) var(--ds-space-6); text-align: center;
  background: var(--ds-surface-inverse); color: var(--ds-text-inverse); border-radius: var(--ds-radius-pill);
}
.ab-tl-chead span { font-size: var(--ds-font-size-xs); letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.ab-tl-chead b { font-size: var(--ds-font-size-lg); }
.ab-tl-item {
  display: grid; grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr); align-items: center;
}
.ab-tl-item + .ab-tl-item { margin-top: var(--ds-space-6); }
.ab-tl-year {
  grid-column: 2; grid-row: 1; justify-self: center; display: grid; place-items: center; width: 64px; height: 64px;
  border-radius: 50%; background: var(--ds-surface-elevated); border: 3px solid var(--ds-action-brand);
  font-weight: 700; font-size: var(--ds-font-size-sm); color: var(--ds-text-primary); box-shadow: var(--ds-shadow-md);
}
.ab-tl-card {
  grid-row: 1; position: relative; padding: var(--ds-space-6); background: var(--ds-surface-elevated);
  border: 1px solid var(--ds-border-card); border-radius: var(--ds-radius-card); box-shadow: var(--ds-shadow-card);
}
.ab-tl-item:nth-child(odd) .ab-tl-card { grid-column: 1; }
.ab-tl-item:nth-child(even) .ab-tl-card { grid-column: 3; }
/* Große Jahreszahl in der freien Spalte gegenüber der Karte (Schmuck, aria-hidden) */
.ab-tl-big {
  grid-row: 1; font-size: clamp(56px, 7vw, 104px); font-weight: 800; line-height: 1; letter-spacing: -0.04em;
  background: linear-gradient(120deg, var(--ds-action-brand), var(--ds-brand-marketing-bright-purple));
  -webkit-background-clip: text; background-clip: text; color: transparent; opacity: .22; user-select: none;
}
.ab-tl-item:nth-child(odd) .ab-tl-big { grid-column: 3; justify-self: start; padding-left: var(--ds-space-4); }
.ab-tl-item:nth-child(even) .ab-tl-big { grid-column: 1; justify-self: end; padding-right: var(--ds-space-4); }
.ab-tl-ic { float: right; margin: 0 0 var(--ds-space-2) var(--ds-space-3); }
.ab-tl-card h3 { margin: 0 0 var(--ds-space-2); font-size: var(--ds-font-size-xl); }
.ab-tl-card p { margin: 0; color: var(--ds-text-secondary); }
.ab-tl-now .ab-tl-card {
  max-width: 640px; margin: 0 auto; text-align: center; background: var(--ds-surface-dark); color: var(--ds-text-on-dark);
  border-color: transparent; box-shadow: var(--ds-shadow-brand);
}
.ab-tl-now .ab-tl-card p { color: var(--ds-text-on-dark); margin-bottom: var(--ds-space-5); }
.ab-tl-now .ab-tl-chead { background: linear-gradient(120deg, var(--ds-action-brand), var(--ds-brand-marketing-bright-purple)); }

.ab-values {
  list-style: none; margin: var(--ds-space-8) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-6);
}
.ab-values li {
  padding: var(--ds-space-8) var(--ds-space-6); background: var(--ds-surface-elevated);
  border: 1px solid var(--ds-border-card); border-radius: var(--ds-radius-card);
}
.ab-values h3 { margin: var(--ds-space-4) 0 var(--ds-space-2); font-size: var(--ds-font-size-xl); }
.ab-values p { margin: 0; color: var(--ds-text-secondary); }

@media (max-width: 980px) {
  .ab-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ab-values { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .ab-heads { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-space-8) var(--ds-space-4); }
  .ab-tl { --ab-spine: 27px; }
  .ab-tl-chead { margin-left: 0; align-items: flex-start; text-align: left; }
  .ab-tl-item { grid-template-columns: 56px minmax(0, 1fr); column-gap: var(--ds-space-3); align-items: start; }
  .ab-tl-year { grid-column: 1; width: 54px; height: 54px; font-size: var(--ds-font-size-xs); }
  .ab-tl-item:nth-child(odd) .ab-tl-card, .ab-tl-item:nth-child(even) .ab-tl-card { grid-column: 2; }
  .ab-tl-big { display: none; }
  .ab-tl-card { padding: var(--ds-space-5); }
  .ab-tl-ic { width: 40px; height: 40px; }
  .ab-tl-now .ab-tl-card { margin-left: 0; }
}
@media (max-width: 560px) {
  .ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-stats b { font-size: var(--ds-font-size-3xl); }
}
/* Desktop: Linie füllt sich beim Scrollen, Karten gleiten herein (nur wo der Browser Scroll-Animationen kann) */
@supports (animation-timeline: view()) {
  @media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
    .ab-tl::after { animation: ab-fill linear both; animation-timeline: view(); animation-range: entry 20% exit 60%; }
    .ab-tl-card { animation: ab-in ease-out both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
    .ab-tl-item:nth-child(odd) .ab-tl-card { --ab-from: -32px; }
    .ab-tl-item:nth-child(even) .ab-tl-card { --ab-from: 32px; }
    .ab-tl-big { animation: ab-big linear both; animation-timeline: view(); animation-range: cover; }
  }
}
@keyframes ab-big { from { transform: translateY(24px); } to { transform: translateY(-24px); } }
@keyframes ab-fill { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes ab-in { from { opacity: 0; transform: translateX(var(--ab-from, 0)); } to { opacity: 1; transform: none; } }

/* ---------- Webinare (wissen/_tpl/webinare.php): Player im Kopf, Bibliothek, persoenlicher Termin ---------- */
.wp--webinar .wp-prose { max-width: none; }
.wp--webinar .wp-head-grid { align-items: center; }
/* Player: Poster im Look der Titelfolien (heller Verlauf violett/tuerkis), Video erst nach Klick */
.wb-player { position: relative; display: flex; flex-direction: column; gap: var(--ds-space-3); }
.wb-poster { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--ds-radius-xl); }
.wb-poster { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; padding: clamp(20px, 4vw, 44px); text-align: left; cursor: pointer; color: #14161C; overflow: hidden;
  background: radial-gradient(70% 90% at 90% 100%, rgba(150,140,240,.55), transparent 60%), radial-gradient(60% 80% at 10% 100%, rgba(120,220,230,.45), transparent 60%), radial-gradient(80% 90% at 30% 0%, rgba(240,225,250,.95), transparent 70%), #E9E6FA;
  box-shadow: var(--ds-shadow-md); transition: transform .2s, box-shadow .2s; }
@media (hover: hover) { .wb-poster:hover { transform: translateY(-2px); box-shadow: var(--ds-shadow-brand, 0 20px 40px -20px rgba(117,49,174,.5)); } }
.wb-poster:focus-visible { outline: 3px solid var(--ds-border-focus); outline-offset: 3px; }
.wb-poster-kick { font: 700 11px/1.4 var(--font-micro); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-brand); }
.wb-poster b { font-family: var(--font-display); font-size: clamp(20px, 2.4vw, 30px); line-height: 1.12; letter-spacing: -.02em; max-width: 18ch; }
.wb-poster-tag { max-width: 34ch; font-size: 14.5px; line-height: 1.5; color: #3A3F4C; }
.wb-play { position: absolute; right: clamp(16px, 3vw, 28px); bottom: clamp(16px, 3vw, 28px); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--ds-surface-brand, #7531AE); color: #fff; box-shadow: 0 12px 28px -10px rgba(117,49,174,.6); }
.wb-play .svgicon { margin-left: 3px; }
.wb-consent { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12px; line-height: 1.5; color: var(--ds-text-muted); }
.wb-consent .svgicon { flex: none; margin-top: 2px; }

/* Abschnitte */
.wb-sec { margin: 0 0 var(--ds-space-16); }
.wb-sec-head { max-width: 62ch; margin-bottom: var(--ds-space-8); }
.wb-kick { display: inline-block; margin-bottom: var(--ds-space-3); font: 700 11px/1.4 var(--font-micro); letter-spacing: .12em; text-transform: uppercase; color: var(--ds-text-brand); }
.wb-sec h2 { margin: 0 0 var(--ds-space-3); font-family: var(--font-display); font-size: clamp(26px, 3vw, 38px); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.wb-sec-head p, .wb-live-copy p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ds-text-secondary); }

/* Bibliothek */
.wb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-6); margin: 0; padding: 0; list-style: none; }
.wb-card { display: flex; flex-direction: column; border: 1px solid var(--ds-border-card, var(--ds-border-default)); border-radius: var(--ds-radius-card, 20px); background: var(--ds-surface-default); overflow: hidden; scroll-margin-top: 100px; }
.wb-thumb { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 6px; aspect-ratio: 16 / 9; padding: 22px 24px; color: #14161C; text-decoration: none;
  background: radial-gradient(70% 90% at 95% 100%, rgba(150,140,240,.5), transparent 60%), radial-gradient(60% 80% at 5% 100%, rgba(120,220,230,.4), transparent 60%), #EDEAFB; }
.wb-card:nth-child(even) .wb-thumb { background: radial-gradient(70% 90% at 5% 0%, rgba(150,140,240,.45), transparent 60%), radial-gradient(70% 90% at 95% 100%, rgba(120,220,230,.5), transparent 60%), #E6F4F8; }
.wb-thumb-n { position: absolute; left: 24px; top: 18px; font: 700 12px/1 ui-monospace, "SF Mono", Menlo, monospace; color: var(--ds-text-brand); }
.wb-thumb b { font-family: var(--font-display); font-size: 19px; line-height: 1.18; letter-spacing: -.01em; max-width: 16ch; }
.wb-thumb span { max-width: 30ch; font-size: 12.5px; line-height: 1.45; color: #3A3F4C; }
.wb-thumb .wb-play { width: 42px; height: 42px; right: 16px; bottom: 16px; }
.wb-thumb em { position: absolute; right: 16px; top: 16px; padding: 3px 8px; border-radius: var(--ds-radius-pill); background: rgba(255,255,255,.75); font: 600 11px/1.3 var(--font-micro); font-style: normal; color: #14161C; }
@media (hover: hover) { .wb-thumb:hover .wb-play { transform: scale(1.08); } .wb-thumb .wb-play { transition: transform .2s; } }
.wb-thumb:focus-visible { outline: 3px solid var(--ds-border-focus); outline-offset: -3px; }
.wb-card-body { display: flex; flex-direction: column; gap: var(--ds-space-3); flex: 1; padding: 20px 24px 22px; }
.wb-card-body small { font-size: 12px; color: var(--ds-text-secondary); }
.wb-card-body p { flex: 1; margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ds-text-secondary); }
.wb-rel { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ds-text-brand); text-decoration: none; }
.wb-rel:hover { text-decoration: underline; }

/* Persoenlich */
.wb-live { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--ds-space-10); align-items: center; padding: clamp(28px, 4vw, 48px); border-radius: var(--ds-radius-xl); background: var(--ds-surface-subtle); }
.wb-live-cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-space-4); }
.wb-live-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); background: var(--ds-surface-default); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
@media (hover: hover) { .wb-live-card:hover { border-color: var(--ds-border-brand); transform: translateY(-2px); } }
.wb-live-card i .illuicon { width: 34px; height: 34px; }
.wb-live-card b { font-size: 16px; }
.wb-live-card span { font-size: 14px; line-height: 1.55; color: var(--ds-text-secondary); }
.wb-live-card em { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 14px; font-weight: 600; color: var(--ds-text-brand); }

@media (max-width: 1000px) { .wb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wb-live { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .wb-grid, .wb-live-cards { grid-template-columns: minmax(0, 1fr); } .wb-play { width: 52px; height: 52px; } }
[data-theme="dark"] .wb-poster, [data-theme="dark"] .wb-thumb { color: #14161C; }
.wb-play { background: #7531AE; }
.wb-thumb b { max-width: 20ch; overflow-wrap: normal; word-break: normal; hyphens: manual; }

/* Clean statt Verlauf (Martin, 08.10.2026): helle Flaeche, feine Linie, illustratives Icon */
.wb-poster, .wb-thumb, .wb-card:nth-child(even) .wb-thumb { background: var(--ds-surface-subtle, #F7F7FA); }
.wb-poster { border: 1px solid var(--ds-border-default); box-shadow: none; }
.wb-thumb { border-bottom: 1px solid var(--ds-border-default); }
.wb-ic { display: block; line-height: 0; margin-bottom: 6px; }
.wb-poster .wb-ic .illuicon { width: 56px; height: 56px; }
.wb-thumb .wb-ic .illuicon { width: 44px; height: 44px; }
.wb-thumb { justify-content: flex-end; padding-top: 44px; }
.wb-thumb em { background: var(--ds-surface-default, #fff); border: 1px solid var(--ds-border-default); }
@media (hover: hover) { .wb-poster:hover { box-shadow: var(--ds-shadow-sm); border-color: var(--ds-border-strong); } }
[data-theme="dark"] .wb-poster, [data-theme="dark"] .wb-thumb { color: var(--ds-text-primary); }
[data-theme="dark"] .wb-poster-tag, [data-theme="dark"] .wb-thumb span { color: var(--ds-text-secondary); }
/* Leichter (Martin, 08.10.2026): weisse Flaechen, feine Linie, schmalere Schrift, kleinerer Abspielknopf */
.wb-poster, .wb-thumb, .wb-card:nth-child(even) .wb-thumb { background: var(--ds-surface-default, #fff); }
.wb-poster b { font-weight: 600; }
.wb-thumb b { font-weight: 600; font-size: 18px; }
.wb-poster .wb-play { width: 52px; height: 52px; box-shadow: none; }
.wb-thumb .wb-play { width: 36px; height: 36px; box-shadow: none; }
.wb-thumb { border-bottom-color: var(--ds-border-subtle, var(--ds-border-default)); }

/* Webinare (Martin, 08.10.2026): leichter Verlauf in Player und Karten, größere Abspielknöpfe, Video im Overlay */
.wb-poster, .wb-thumb, .wb-card:nth-child(even) .wb-thumb {
  background: radial-gradient(80% 110% at 0% 0%, color-mix(in srgb, var(--ds-color-violet-100) 70%, transparent), transparent 62%),
              radial-gradient(70% 100% at 100% 100%, color-mix(in srgb, var(--ds-color-teal-100) 60%, transparent), transparent 60%),
              var(--ds-surface-default, #fff);
}
[data-theme="dark"] .wb-poster, [data-theme="dark"] .wb-thumb, [data-theme="dark"] .wb-card:nth-child(even) .wb-thumb {
  background: radial-gradient(80% 110% at 0% 0%, color-mix(in srgb, var(--ds-color-violet-700) 30%, transparent), transparent 62%),
              radial-gradient(70% 100% at 100% 100%, color-mix(in srgb, var(--ds-color-teal-500) 14%, transparent), transparent 60%),
              var(--ds-surface-default);
}
.wb-poster .wb-play { width: 76px; height: 76px; box-shadow: var(--ds-shadow-brand); }
.wb-thumb .wb-play { width: 60px; height: 60px; box-shadow: var(--ds-shadow-brand); }
/* Gefülltes Dreieck statt des eingekreisten Sprite-Icons: im runden Knopf sonst Kreis im Kreis */
.wb-play .svgicon { display: none; }
.wb-play::before { content: ""; width: 32%; height: 36%; margin-left: 9%; background: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }

.wb-modal { margin: auto; width: min(1120px, 94vw); max-width: none; max-height: 92vh; max-height: 92dvh; padding: 0; border: 0; border-radius: var(--ds-radius-xl); background: #000; color: #fff; overflow: hidden; }
.wb-modal::backdrop { background: rgba(10, 8, 20, .78); backdrop-filter: blur(4px); }
.wb-modal-in { display: flex; flex-direction: column; }
.wb-modal-head { display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 20px; }
.wb-modal-head b { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wb-modal-x { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.wb-modal-x .svgicon { color: inherit; }
@media (hover: hover) { .wb-modal-x:hover { background: rgba(255,255,255,.22); } }
.wb-modal-x:focus-visible { outline: 3px solid var(--ds-border-focus); outline-offset: 2px; }
.wb-modal-frame { aspect-ratio: 16 / 9; max-height: calc(92dvh - 64px); }
.wb-modal-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
html:has(.wb-modal[open]) { overflow: hidden; }

[data-theme="dark"] .wb-thumb em { color: var(--ds-text-primary); }

/* ---------- Vorlage: Download-Block und Fragenkatalog (Seitentyp Vorlage, 08.10.2026) ---------- */
.wp-dl { display: flex; flex-wrap: wrap; gap: var(--ds-space-3); align-items: center; margin: 0 0 var(--ds-space-6); padding: var(--ds-space-5) var(--ds-space-6); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-xl); background: var(--ds-surface-subtle); }
.wp-dl a { display: inline-flex; align-items: center; gap: var(--ds-space-2); min-height: 44px; padding: 0 var(--ds-space-5); border-radius: var(--ds-radius-pill); background: var(--ds-action-brand); color: var(--ds-text-inverse); font-weight: 600; text-decoration: none; }
.wp-dl a.is-secondary { background: var(--ds-surface-default); color: var(--ds-text-primary); border: 1px solid var(--ds-border-default); }
.wp-dl a:hover { filter: brightness(1.05); }
.wp-dl a small { font-weight: 400; opacity: .8; }
.wp-dl > span { flex-basis: 100%; font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.wp-table-list { margin: 0; padding-left: 1.1em; }
.wp-form { margin: var(--ds-space-6) 0; border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-xl); background: var(--ds-surface-default); }
.wp-form-head { display: grid; gap: var(--ds-space-2); padding: var(--ds-space-5) var(--ds-space-6); border-bottom: 1px solid var(--ds-border-default); }
.wp-form-head b { font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); }
.wp-form-head p, .wp-form-head small { margin: 0; font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
.wp-form h3 { margin: 0; padding: var(--ds-space-4) var(--ds-space-6) var(--ds-space-2); font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.wp-form ol { list-style: none; margin: 0; padding: 0 var(--ds-space-6) var(--ds-space-3); counter-reset: none; }
.wp-form li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: var(--ds-space-3); align-items: center; padding: var(--ds-space-3) 0; border-bottom: 1px solid var(--ds-border-subtle); }
.wp-form li:last-child { border-bottom: 0; }
.wp-form li > em { font-style: normal; font-size: var(--ds-font-size-sm); font-weight: 600; color: var(--ds-text-secondary); }
.wp-form li > p { margin: 0; color: var(--ds-text-primary); }
.wp-form-scale { display: inline-flex; flex-wrap: wrap; gap: 4px; justify-self: end; }
.wp-form-scale i { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-sm); font: 600 var(--ds-font-size-xs) / 1 var(--ds-font-family-sans); font-style: normal; color: var(--ds-text-secondary); }
.wp-form-text { grid-column: 3; justify-self: end; font-size: var(--ds-font-size-xs); color: var(--ds-text-secondary); border: 1px dashed var(--ds-border-default); border-radius: var(--ds-radius-sm); padding: 2px 8px; }
.wp-form-note { margin: 0; padding: var(--ds-space-4) var(--ds-space-6); border-top: 1px solid var(--ds-border-default); font-size: var(--ds-font-size-sm); color: var(--ds-text-secondary); }
@media (max-width: 760px) {
  .wp-form li { grid-template-columns: 24px minmax(0, 1fr); }
  .wp-form-scale, .wp-form-text { grid-column: 2; justify-self: start; }
  .wp-form ol, .wp-form-head, .wp-form h3, .wp-form-note { padding-left: var(--ds-space-4); padding-right: var(--ds-space-4); }
  .wp-dl a { flex: 1 1 100%; justify-content: center; }
}

/* ---------- Rechtsseiten: Verarbeitungskarten, Kontaktkarte, Platzhalter (08.10.2026) ---------- */
.wp-proc { margin: var(--ds-space-5) 0; padding: var(--ds-space-5) var(--ds-space-6); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-xl); background: var(--ds-surface-default); }
.wp-proc h3 { margin: 0 0 var(--ds-space-2); font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / var(--ds-type-h3-line-height) var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); }
.wp-proc > p { margin: 0 0 var(--ds-space-4); }
.wp-proc dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--ds-space-3) var(--ds-space-5); margin: 0; }
.wp-proc dl > div { min-width: 0; padding-top: var(--ds-space-3); border-top: 1px solid var(--ds-border-subtle); }
.wp-proc dt { margin-bottom: 2px; font: var(--ds-type-eyebrow-weight) var(--ds-type-eyebrow-size) / var(--ds-type-eyebrow-line-height) var(--ds-type-eyebrow-family); letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.wp-proc dd { margin: 0; font-size: var(--ds-font-size-base); color: var(--ds-text-primary); overflow-wrap: anywhere; }
.wp-contact { display: grid; gap: var(--ds-space-2); padding: var(--ds-space-6); border-radius: var(--ds-radius-xl); background: var(--ds-surface-subtle); }
.wp-contact b { font-size: var(--ds-font-size-lg); color: var(--ds-text-primary); }
.wp-contact address { font-style: normal; color: var(--ds-text-secondary); line-height: 1.6; }
.wp-contact a { color: var(--ds-text-brand); }
.wp-prose .wp-address { margin: 0 0 var(--ds-space-5); font-style: normal; line-height: 1.6; color: var(--ds-text-primary); }
.wp-contact-actions { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); margin-top: var(--ds-space-2); }
.wp-contact-actions a { display: inline-flex; align-items: center; gap: var(--ds-space-2); min-height: 40px; padding: 0 var(--ds-space-4); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-pill); background: var(--ds-surface-default); color: var(--ds-text-primary); font-size: var(--ds-font-size-sm); font-weight: 600; text-decoration: none; }
.wp-todo { padding: 1px 6px; border-radius: var(--ds-radius-sm); background: var(--ds-surface-warning, var(--ds-surface-subtle)); color: var(--ds-text-warning); font-size: .92em; }
.wp-prose .wp-facts { list-style: none; margin: var(--ds-space-5) 0; padding: 0; display: grid; gap: var(--ds-space-2); }
.wp-prose .wp-facts li { display: flex; gap: var(--ds-space-3); align-items: flex-start; padding: var(--ds-space-3) var(--ds-space-4); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-lg); }
.wp-prose .wp-facts li svg { flex: none; margin-top: 4px; color: var(--ds-text-success); }
.wp-prose .wp-facts li.is-no svg { color: var(--ds-text-secondary); }

/* ---------- Opt-out-Schalter der Datenschutzerklaerung ---------- */
.wp-optout { display: grid; gap: var(--ds-space-3); margin: var(--ds-space-5) 0; padding: var(--ds-space-5) var(--ds-space-6); border: 1px solid var(--ds-border-brand); border-radius: var(--ds-radius-xl); background: var(--ds-surface-brand); }
.wp-optout p { margin: 0; }
.wp-optout b[data-optout-state] { color: var(--ds-text-primary); }
.wp-optout button { justify-self: start; display: inline-flex; align-items: center; gap: var(--ds-space-2); min-height: 44px; padding: 0 var(--ds-space-5); border: 1px solid var(--ds-border-default); border-radius: var(--ds-radius-pill); background: var(--ds-surface-default); color: var(--ds-text-primary); font: inherit; font-weight: 600; cursor: pointer; }
.wp-optout button:hover { border-color: var(--ds-border-brand); color: var(--ds-text-brand); }

/* ---------- Vertragstexte (wp_legal, wp_legal_summary): AGB und Teilnehmerbedingungen DE/EN ----------
   Abschnitte als Karten mit großer Nummer, Klauselnummer links neben dem Text, Kurzfassung oben.
   Martin 08.10.2026. */
.wp-prose:has(.wp-lsec) { max-width: 880px; }
.wp-lsum { margin: 0 0 var(--ds-space-10); padding: var(--ds-space-8); border-radius: var(--ds-radius-card); border: 1px solid var(--ds-border-default); background: var(--ds-surface-brand); }
.wp-prose .wp-lsum h2 { margin: 0 0 var(--ds-space-6); font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / var(--ds-type-h3-line-height) var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); }
.wp-prose .wp-lsum ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-space-4); }
.wp-lsum li { display: flex; flex-direction: column; gap: var(--ds-space-1); padding: var(--ds-space-5); border-radius: var(--ds-radius-lg); background: var(--ds-surface-default); border: 1px solid var(--ds-border-subtle); }
.wp-lsum-ref { align-self: flex-start; font: 600 var(--ds-font-size-2xs) / 1.4 var(--ds-type-meta-family); letter-spacing: .04em; color: var(--ds-text-brand); text-decoration: none; }
@media (hover: hover) { .wp-lsum-ref:hover { text-decoration: underline; } }
.wp-lsum li b { font-size: var(--ds-font-size-lg); line-height: 1.35; color: var(--ds-text-primary); }
.wp-prose .wp-lsum li p { margin: 0; font-size: var(--ds-font-size-base); line-height: 1.55; }
.wp-prose .wp-lsum-note { margin: var(--ds-space-5) 0 0; font-size: var(--ds-font-size-sm); }
.wp-lsec { scroll-margin-top: calc(var(--nav-h, 76px) + var(--ds-space-6)); padding: var(--ds-space-8) var(--ds-space-8) var(--ds-space-6); border-radius: var(--ds-radius-card); border: 1px solid var(--ds-border-default); background: var(--ds-surface-default); }
.wp-lsec + .wp-lsec { margin-top: var(--ds-space-5); }
.wp-prose .wp-lsec h2 { display: flex; align-items: center; gap: var(--ds-space-4); margin: 0 0 var(--ds-space-5); font: var(--ds-type-h3-weight) var(--ds-type-h3-size) / var(--ds-type-h3-line-height) var(--ds-type-h3-family); letter-spacing: var(--ds-type-h3-tracking); }
.wp-lsec-n { flex: none; display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 var(--ds-space-2); border-radius: var(--ds-radius-lg); background: var(--ds-surface-brand); color: var(--ds-text-brand); font: var(--ds-type-num-weight) var(--ds-font-size-xl) / 1 var(--ds-type-num-family); font-variant-numeric: tabular-nums; }
.wp-lsec-t strong { font-weight: inherit; }
.wp-cl { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--ds-space-4); padding: var(--ds-space-4) 0; border-top: 1px solid var(--ds-border-subtle); }
.wp-cl-n { padding-top: 3px; font: 600 var(--ds-font-size-sm) / 1.4 var(--ds-type-meta-family); color: var(--ds-text-brand); font-variant-numeric: tabular-nums; }
.wp-prose .wp-cl p { margin: 0; font-size: var(--ds-font-size-base); line-height: 1.7; }
.wp-lsec-body > p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .wp-lsum { padding: var(--ds-space-5); }
  .wp-prose .wp-lsum ul { grid-template-columns: minmax(0, 1fr); }
  .wp-lsec { padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-3); }
  .wp-lsec-n { min-width: 40px; height: 40px; font-size: var(--ds-font-size-lg); }
  .wp-cl { grid-template-columns: 40px minmax(0, 1fr); gap: var(--ds-space-3); }
}

/* Ueber AirLST, Hero: "Wir ♥ Events" mit illustrativem Herz statt des Worts (Martin 08.10.2026);
   das Wort bleibt fuer Screenreader und Suchmaschinen im Text */
.ab-love-line { white-space: nowrap; }
.ab-love { display: inline-block; position: relative; width: 1.3em; height: 1.1em; vertical-align: -.24em; margin: 0 .02em; }
.ab-love .illuicon { width: 100%; height: 100%; display: block; transform: scale(1.25); transform-origin: 50% 60%; animation: ab-beat 2.6s ease-in-out infinite; }
.ab-love-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
@keyframes ab-beat { 0%, 60%, 100% { transform: scale(1.25); } 10% { transform: scale(1.38); } 20% { transform: scale(1.22); } 30% { transform: scale(1.34); } }
@media (prefers-reduced-motion: reduce) { .ab-love .illuicon { animation: none; } }
