/* styles-2k25.css
   Utility-Klassen + Scheme-Container mit Kaskaden-Variablen.
   Schemes werden nur innerhalb von .s2k25 angewendet und lassen sich durch
   verschachtelte .scheme-<role>-<variant>-Container überschreiben.
*/

/* ==========================
   Token-Utilities (generisch)
   ========================== */

/* Generische Helfer: nur innerhalb eines Scheme-Containers */
.s2k25 .scheme-scope [class$="-headings"],
.s2k25 [class*="scheme-"] [class$="-headings"]   { color: var(--role-regular-headings); }
.s2k25 .scheme-scope [class$="-background"],
.s2k25 [class*="scheme-"] [class$="-background"] { background-color: var(--role-regular-background); }
.s2k25 .scheme-scope [class$="-text"],
.s2k25 [class*="scheme-"] [class$="-text"]       { color: var(--role-regular-text); }

/* ==========================
   Defaults für Container ohne explizites Scheme
   ========================== */
.s2k25 {
  --scheme-background: var(--salto-regular-background);
  --scheme-highlight: var(--salto-regular-headings);
  --scheme-text: var(--salto-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--salto-secondary-border);

  --scheme-btn-primary-bg: var(--salto-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--salto-regular-headings);

  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--salto-regular-headings);
  --scheme-btn-secondary-border: var(--salto-regular-headings);
}

/* ==========================
   SCHEME-SCOPE (Variante B)
   ========================== */

/* Alles, was ein "scheme-" im Klassennamen trägt, plus .scheme-scope */
.s2k25 .scheme-scope,
.s2k25 [class*="scheme-"],
.s2k25[class*="scheme-"] {
  --role-regular-headings: var(--scheme-highlight);
  --role-regular-background: var(--scheme-background);
  --role-regular-text: var(--scheme-text);

  --role-btn-primary-bg: var(--scheme-btn-primary-bg);
  --role-btn-primary-color: var(--scheme-btn-primary-text);
  --role-btn-primary-border: var(--scheme-btn-primary-border);
  --role-btn-primary-hover-bg: var(--scheme-hover);
  --role-btn-primary-active-bg: var(--scheme-active);

  --role-btn-secondary-bg: var(--scheme-btn-secondary-bg);
  --role-btn-secondary-color: var(--scheme-btn-secondary-text);
  --role-btn-secondary-border: var(--scheme-btn-secondary-border);
  --role-btn-secondary-hover-border: var(--scheme-hover);
  --role-btn-secondary-active-border: var(--scheme-active);

  background: var(--scheme-background);
  color: var(--scheme-text);
}

.s2k25 .scheme-scope .heading,
.s2k25 [class*="scheme-"] .heading,
.s2k25[class*="scheme-"] .heading {
  color: var(--scheme-highlight) !important;
}

.s2k25 .scheme-scope .text,
.s2k25 [class*="scheme-"] .text,
.s2k25[class*="scheme-"] .text {
  color: var(--scheme-text) !important;
}

.s2k25 .scheme-scope .background,
.s2k25 [class*="scheme-"] .background,
.s2k25[class*="scheme-"] .background {
  background-color: var(--scheme-background) !important;
  color: var(--scheme-text) !important;
}

/* Default HR styling inside schemes */
.s2k25 .scheme-scope hr,
.s2k25 [class*="scheme-"] hr,
.s2k25[class*="scheme-"] hr {
  width: 50px;
  opacity: 1;
  border-color: var(--scheme-highlight) !important;
}

/* Links im Scheme */
.s2k25 .scheme-scope a,
.s2k25 [class*="scheme-"] a,
.s2k25[class*="scheme-"] a {
  color: var(--scheme-highlight);
  text-decoration: underline;
}
.s2k25 .scheme-scope a:hover,
.s2k25 .scheme-scope a:focus,
.s2k25 [class*="scheme-"] a:hover,
.s2k25 [class*="scheme-"] a:focus,
.s2k25[class*="scheme-"] a:hover,
.s2k25[class*="scheme-"] a:focus {
  color: var(--scheme-hover);
}
.s2k25 [class*="scheme-"] a.heading,
.s2k25[class*="scheme-"] a.heading {
  color: var(--scheme-highlight);
  text-decoration: none;
}
.s2k25 [class*="scheme-"] a.heading:hover,
.s2k25 [class*="scheme-"] a.heading:focus,
.s2k25[class*="scheme-"] a.heading:hover,
.s2k25[class*="scheme-"] a.heading:focus {
  color: var(--scheme-hover);
  text-decoration: underline;
}

/* Headings im Scheme = Headings-Farbe der Rolle */
.s2k25 .scheme-scope :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
.s2k25 [class*="scheme-"] :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
.s2k25[class*="scheme-"] :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
  color: var(--scheme-highlight);
}

/* Default Buttons innerhalb eines Schemas (falls nur .btn genutzt wird) */
.s2k25 .scheme-scope .btn,
.s2k25 [class*="scheme-"] .btn,
.s2k25 [class*="scheme-"].btn,
.s2k25[class*="scheme-"] .btn,
.s2k25[class*="scheme-"].btn {
  --bs-btn-bg: var(--role-btn-primary-bg);
  --bs-btn-border-color: var(--role-btn-primary-border);
  --bs-btn-color: var(--role-btn-primary-color);

  --bs-btn-hover-bg: var(--role-btn-primary-hover-bg);
  --bs-btn-hover-border-color: var(--role-btn-primary-hover-bg);
  --bs-btn-active-bg: var(--role-btn-primary-active-bg);
  --bs-btn-active-border-color: var(--role-btn-primary-active-bg);
}

/* Bootstrap Buttons innerhalb eines Schemas */
.s2k25 .scheme-scope .btn-primary,
.s2k25 [class*="scheme-"] .btn-primary,
.s2k25 [class*="scheme-"].btn-primary,
.s2k25[class*="scheme-"] .btn-primary,
.s2k25[class*="scheme-"].btn-primary {
  --bs-btn-bg: var(--role-btn-primary-bg);
  --bs-btn-border-color: var(--role-btn-primary-border);
  --bs-btn-color: var(--role-btn-primary-color);

  --bs-btn-hover-bg: var(--role-btn-primary-hover-bg);
  --bs-btn-hover-border-color: var(--role-btn-primary-hover-bg);
  --bs-btn-active-bg: var(--role-btn-primary-active-bg);
  --bs-btn-active-border-color: var(--role-btn-primary-active-bg);

  background-color: var(--role-btn-primary-bg) !important;
  border-color: var(--role-btn-primary-border) !important;
  color: var(--role-btn-primary-color) !important;
}

.s2k25 .scheme-scope .btn-secondary,
.s2k25 [class*="scheme-"] .btn-secondary,
.s2k25 [class*="scheme-"].btn-secondary,
.s2k25[class*="scheme-"] .btn-secondary,
.s2k25[class*="scheme-"].btn-secondary {
  --bs-btn-bg: var(--role-btn-secondary-bg);
  --bs-btn-border-color: var(--role-btn-secondary-border);
  --bs-btn-color: var(--role-btn-secondary-color);

  --bs-btn-hover-bg: var(--role-btn-secondary-bg);
  --bs-btn-hover-border-color: var(--role-btn-secondary-hover-border);
  --bs-btn-active-bg: var(--role-btn-secondary-bg);
  --bs-btn-active-border-color: var(--role-btn-secondary-active-border);

  background-color: var(--role-btn-secondary-bg) !important;
  border-color: var(--role-btn-secondary-border) !important;
  color: var(--role-btn-secondary-color) !important;
}

/* Spezieller role-primary-Button (falls im Einsatz) */
.s2k25 .scheme-scope .btn-role-primary,
.s2k25 [class*="scheme-"] .btn-role-primary {
  --bs-btn-bg: var(--scheme-highlight);
  --bs-btn-border-color: var(--scheme-highlight);
  --bs-btn-color: #fff;
  --_btn-accent: var(--scheme-highlight);
  --bs-btn-hover-bg: color-mix(in srgb, var(--_btn-accent) 88%, #000 12%);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--_btn-accent) 88%, #000 12%);
  --bs-btn-active-bg: color-mix(in srgb, var(--_btn-accent) 82%, #000 18%);
  --bs-btn-active-border-color: color-mix(in srgb, var(--_btn-accent) 82%, #000 18%);
}

/* ==========================
   Plyr-Player einfärben nach Scheme
   ========================== */

/* Hauptfarbe von Plyr = Headings-Farbe der Rolle */
.s2k25 .scheme-scope .plyr--full-ui,
.s2k25 [class*="scheme-"] .plyr--full-ui {
  --plyr-color-main: var(--scheme-highlight);
  --plyr-tooltip-background: var(--scheme-highlight);
  --plyr-tooltip-color: var(--color-light-text);
}

/* Play/Pause-Button etc. */
.s2k25 .scheme-scope .plyr__controls__item.plyr__control,
.s2k25 [class*="scheme-"] .plyr__controls__item.plyr__control {
  color: var(--scheme-highlight);
}

/* Play/Pause-Button Hover: BG = Headings, Icon/Text = salto-light */
.s2k25 .scheme-scope .plyr__controls__item.plyr__control:hover,
.s2k25 .scheme-scope .plyr__controls__item.plyr__control:focus,
.s2k25 [class*="scheme-"] .plyr__controls__item.plyr__control:hover,
.s2k25 [class*="scheme-"] .plyr__controls__item.plyr__control:focus {
  background-color: var(--scheme-highlight);
  color: var(--color-light-text); /* = „salto-light“ Text */
}

/* sicherstellen, dass das Icon die Textfarbe übernimmt */
.s2k25 .scheme-scope .plyr__controls__item.plyr__control svg,
.s2k25 [class*="scheme-"] .plyr__controls__item.plyr__control svg {
  fill: currentColor;
}

/* Tooltip: BG = Headings-Farbe, Text = „salto-light“ */
.s2k25 .scheme-scope .plyr__tooltip,
.s2k25 [class*="scheme-"] .plyr__tooltip {
  background-color: var(--scheme-highlight);
  color: var(--color-light-text);
}

/* Slider (Seek + Volume) – Farbe = Headings */
.s2k25 .scheme-scope input[type="range"][data-plyr],
.s2k25 [class*="scheme-"] input[type="range"][data-plyr] {
  color: var(--scheme-highlight);
}

/* Podcast-Player als „Pille“ (nur Audio) */
.podcast-player .plyr--full-ui.plyr--audio {
  border-radius: 9999px;        /* vorne & hinten komplett rund */
  overflow: hidden;             /* Ecken der inneren Elemente abschneiden */
}

/* falls nötig, damit die Controls die Rundung übernehmen */
.podcast-player .plyr--full-ui.plyr--audio .plyr__controls {
  border-radius: inherit;
}

/* ==========================
   SCHEME-DEFINITIONEN – SALTO (Brand)
   ========================== */
.s2k25 :is(.scheme-salto-regular, .salto-regular-scheme) {
  --scheme-background: var(--salto-regular-background);
  --scheme-highlight: var(--salto-regular-headings);
  --scheme-text: var(--salto-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--salto-secondary-border);

  --scheme-btn-primary-bg: var(--salto-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--salto-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--salto-regular-headings);
  --scheme-btn-secondary-border: var(--salto-regular-headings);
}

.s2k25 :is(.scheme-salto-reverse-1, .salto-reverse-scheme) {
  --scheme-background: var(--salto-reverse-1-background);
  --scheme-highlight: var(--salto-reverse-1-headings);
  --scheme-text: var(--salto-reverse-1-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--salto-reverse-1-background);

  --scheme-btn-primary-bg: var(--salto-reverse-1-background);
  --scheme-btn-primary-text: var(--salto-reverse-1-text);
  --scheme-btn-primary-border: var(--salto-reverse-1-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--salto-reverse-1-text);
  --scheme-btn-secondary-border: var(--salto-reverse-1-background);
}

.s2k25 :is(.scheme-salto-reverse-2, .salto-light-scheme) {
  --scheme-background: var(--salto-reverse-2-background);
  --scheme-highlight: var(--salto-reverse-2-headings);
  --scheme-text: var(--salto-reverse-2-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--salto-reverse-2-headings);

  --scheme-btn-primary-bg: var(--salto-reverse-2-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--salto-reverse-2-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--salto-reverse-2-headings);
  --scheme-btn-secondary-border: var(--salto-reverse-2-headings);
}

.s2k25 .scheme-salto-reverse-3 {
  --scheme-background: var(--salto-reverse-3-background);
  --scheme-highlight: var(--salto-reverse-3-headings);
  --scheme-text: var(--salto-reverse-3-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--salto-secondary-border);

  --scheme-btn-primary-bg: var(--salto-reverse-3-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--salto-reverse-3-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--salto-reverse-3-text);
  --scheme-btn-secondary-border: var(--salto-reverse-3-headings);
}

/* ==========================
   SCHEME-DEFINITIONEN – COMMUNITY (Brand)
   ========================== */
.s2k25 :is(.scheme-community-regular, .community-regular-scheme) {
  --scheme-background: var(--community-regular-background);
  --scheme-highlight: var(--community-regular-headings);
  --scheme-text: var(--community-regular-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-regular-headings);

  --scheme-btn-primary-bg: var(--community-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-regular-headings);
  --scheme-btn-secondary-border: var(--community-regular-headings);
}

.s2k25 :is(.scheme-community-reverse-1, .community-reverse-scheme) {
  --scheme-background: var(--community-reverse-1-background);
  --scheme-highlight: var(--community-reverse-1-headings);
  --scheme-text: var(--community-reverse-1-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-reverse-1-background);

  --scheme-btn-primary-bg: var(--community-reverse-1-background);
  --scheme-btn-primary-text: var(--community-reverse-1-text);
  --scheme-btn-primary-border: var(--community-reverse-1-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-reverse-1-text);
  --scheme-btn-secondary-border: var(--community-reverse-1-background);
}

.s2k25 :is(.scheme-community-reverse-2, .community-light-scheme) {
  --scheme-background: var(--community-reverse-2-background);
  --scheme-highlight: var(--community-reverse-2-headings);
  --scheme-text: var(--community-reverse-2-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-reverse-2-headings);

  --scheme-btn-primary-bg: var(--community-reverse-2-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-reverse-2-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-reverse-2-headings);
  --scheme-btn-secondary-border: var(--community-reverse-2-headings);
}

.s2k25 .scheme-community-reverse-3 {
  --scheme-background: var(--community-reverse-3-background);
  --scheme-highlight: var(--community-reverse-3-headings);
  --scheme-text: var(--community-reverse-3-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-reverse-3-headings);

  --scheme-btn-primary-bg: var(--community-reverse-3-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-reverse-3-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-reverse-3-headings);
  --scheme-btn-secondary-border: var(--community-reverse-3-headings);
}

/* ==========================
   SCHEME-DEFINITIONEN – PARTNER (Brand)
   ========================== */
.s2k25 :is(.scheme-partner-regular, .partner-regular-scheme) {
  --scheme-background: var(--partner-regular-background);
  --scheme-highlight: var(--partner-regular-headings);
  --scheme-text: var(--partner-regular-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-regular-headings);

  --scheme-btn-primary-bg: var(--partner-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-regular-headings);
  --scheme-btn-secondary-border: var(--partner-regular-headings);
}

.s2k25 :is(.scheme-partner-reverse-1, .partner-reverse-scheme) {
  --scheme-background: var(--partner-reverse-1-background);
  --scheme-highlight: var(--partner-reverse-1-headings);
  --scheme-text: var(--partner-reverse-1-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-reverse-1-background);

  --scheme-btn-primary-bg: var(--partner-reverse-1-background);
  --scheme-btn-primary-text: var(--partner-reverse-1-text);
  --scheme-btn-primary-border: var(--partner-reverse-1-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-reverse-1-text);
  --scheme-btn-secondary-border: var(--partner-reverse-1-background);
}

.s2k25 :is(.scheme-partner-reverse-2, .partner-light-scheme) {
  --scheme-background: var(--partner-reverse-2-background);
  --scheme-highlight: var(--partner-reverse-2-headings);
  --scheme-text: var(--partner-reverse-2-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-reverse-2-headings);

  --scheme-btn-primary-bg: var(--partner-reverse-2-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-reverse-2-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-reverse-2-headings);
  --scheme-btn-secondary-border: var(--partner-reverse-2-headings);
}

.s2k25 .scheme-partner-reverse-3 {
  --scheme-background: var(--partner-reverse-3-background);
  --scheme-highlight: var(--partner-reverse-3-headings);
  --scheme-text: var(--partner-reverse-3-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-reverse-3-headings);

  --scheme-btn-primary-bg: var(--partner-reverse-3-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-reverse-3-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-reverse-3-headings);
  --scheme-btn-secondary-border: var(--partner-reverse-3-headings);
}

/* ==========================
   Beispiel: DOSSIER-Scheme (verkürzt)
   ========================== */
.s2k25 .scheme-dossier-regular,
.s2k25 .dossier-regular-scheme {
  --scheme-background: var(--dossier-regular-background);
  --scheme-highlight: var(--dossier-regular-headings);
  --scheme-text: var(--dossier-regular-text);
  --scheme-hover: var(--dossier-hover-bg);
  --scheme-active: var(--dossier-active-bg);
  --scheme-border: var(--dossier-regular-headings);

  --scheme-btn-primary-bg: var(--dossier-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--dossier-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--dossier-regular-headings);
  --scheme-btn-secondary-border: var(--dossier-regular-headings);
}

/* ==========================
   ARTICLE ROLE Schemes
   ========================== */

/* editor */
.s2k25 :is(.scheme-editor-regular, .scheme-editor-regular.s2k25),
.s2k25.scheme-editor-regular {
  --scheme-background: var(--editor-regular-background);
  --scheme-highlight: var(--editor-regular-headings);
  --scheme-text: var(--editor-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--editor-regular-headings);

  --scheme-btn-primary-bg: var(--editor-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--editor-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--editor-regular-headings);
  --scheme-btn-secondary-border: var(--editor-regular-headings);
}
.s2k25 :is(.scheme-editor-reverse-1, .scheme-editor-reverse-1.s2k25),
.s2k25.scheme-editor-reverse-1 {
  --scheme-background: var(--editor-reverse-background);
  --scheme-highlight: var(--editor-reverse-headings);
  --scheme-text: var(--editor-reverse-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--editor-reverse-background);

  --scheme-btn-primary-bg: var(--editor-reverse-background);
  --scheme-btn-primary-text: var(--editor-reverse-text);
  --scheme-btn-primary-border: var(--editor-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--editor-reverse-text);
  --scheme-btn-secondary-border: var(--editor-reverse-background);
}
.s2k25 :is(.scheme-editor-reverse-2, .scheme-editor-reverse-2.s2k25),
.s2k25.scheme-editor-reverse-2 {
  --scheme-background: var(--editor-light-background);
  --scheme-highlight: var(--editor-light-headings);
  --scheme-text: var(--editor-light-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--editor-light-headings);

  --scheme-btn-primary-bg: var(--editor-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--editor-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--editor-light-headings);
  --scheme-btn-secondary-border: var(--editor-light-headings);
}
.s2k25 :is(.scheme-editor-reverse-3, .scheme-editor-reverse-3.s2k25),
.s2k25.scheme-editor-reverse-3 {
  --scheme-background: var(--editor-regular-background);
  --scheme-highlight: var(--editor-regular-headings);
  --scheme-text: var(--editor-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--editor-regular-headings);

  --scheme-btn-primary-bg: var(--editor-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--editor-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--editor-regular-headings);
  --scheme-btn-secondary-border: var(--editor-regular-headings);
}

/* columnist */
.s2k25 .scheme-columnist-regular {
  --scheme-background: var(--columnist-regular-background);
  --scheme-highlight: var(--columnist-regular-headings);
  --scheme-text: var(--columnist-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--columnist-regular-headings);

  --scheme-btn-primary-bg: var(--columnist-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--columnist-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--columnist-regular-headings);
  --scheme-btn-secondary-border: var(--columnist-regular-headings);
}
.s2k25 .scheme-columnist-reverse-1 {
  --scheme-background: var(--columnist-reverse-background);
  --scheme-highlight: var(--columnist-reverse-headings);
  --scheme-text: var(--columnist-reverse-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--columnist-reverse-background);

  --scheme-btn-primary-bg: var(--columnist-reverse-background);
  --scheme-btn-primary-text: var(--columnist-reverse-text);
  --scheme-btn-primary-border: var(--columnist-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--columnist-reverse-text);
  --scheme-btn-secondary-border: var(--columnist-reverse-background);
}
.s2k25 .scheme-columnist-reverse-2 {
  --scheme-background: var(--columnist-light-background);
  --scheme-highlight: var(--columnist-light-headings);
  --scheme-text: var(--columnist-light-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--columnist-light-headings);

  --scheme-btn-primary-bg: var(--columnist-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--columnist-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--columnist-light-headings);
  --scheme-btn-secondary-border: var(--columnist-light-headings);
}
.s2k25 .scheme-columnist-reverse-3 {
  --scheme-background: var(--columnist-regular-background);
  --scheme-highlight: var(--columnist-regular-headings);
  --scheme-text: var(--columnist-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--columnist-regular-headings);

  --scheme-btn-primary-bg: var(--columnist-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--columnist-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--columnist-regular-headings);
  --scheme-btn-secondary-border: var(--columnist-regular-headings);
}

/* community (Artikelrolle) */
.s2k25 .scheme-community-regular-article {
  --scheme-background: var(--community-article-regular-background);
  --scheme-highlight: var(--community-article-regular-headings);
  --scheme-text: var(--community-article-regular-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-regular-headings);

  --scheme-btn-primary-bg: var(--community-article-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-regular-headings);
  --scheme-btn-secondary-border: var(--community-article-regular-headings);
}
.s2k25 .scheme-community-reverse-1-article {
  --scheme-background: var(--community-article-reverse-1-background);
  --scheme-highlight: var(--community-article-reverse-1-headings);
  --scheme-text: var(--community-article-reverse-1-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-1-background);

  --scheme-btn-primary-bg: var(--community-article-reverse-1-background);
  --scheme-btn-primary-text: var(--community-article-reverse-1-text);
  --scheme-btn-primary-border: var(--community-article-reverse-1-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-1-text);
  --scheme-btn-secondary-border: var(--community-article-reverse-1-background);
}
.s2k25 .scheme-community-reverse-2-article {
  --scheme-background: var(--community-article-reverse-2-background);
  --scheme-highlight: var(--community-article-reverse-2-headings);
  --scheme-text: var(--community-article-reverse-2-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-2-headings);

  --scheme-btn-primary-bg: var(--community-article-reverse-2-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-reverse-2-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-2-headings);
  --scheme-btn-secondary-border: var(--community-article-reverse-2-headings);
}
.s2k25 .scheme-community-reverse-3-article {
  --scheme-background: var(--community-article-reverse-3-background);
  --scheme-highlight: var(--community-article-reverse-3-headings);
  --scheme-text: var(--community-article-reverse-3-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-3-headings);

  --scheme-btn-primary-bg: var(--community-article-reverse-3-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-reverse-3-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-3-headings);
  --scheme-btn-secondary-border: var(--community-article-reverse-3-headings);
}

/* community salto selection */
.s2k25 .scheme-community-salto-selection-regular {
  --scheme-background: var(--community-article-regular-background);
  --scheme-highlight: var(--community-article-regular-headings);
  --scheme-text: var(--community-article-regular-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-regular-headings);

  --scheme-btn-primary-bg: var(--community-article-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-regular-headings);
  --scheme-btn-secondary-border: var(--community-article-regular-headings);
}
.s2k25 .scheme-community-salto-selection-reverse-1 {
  --scheme-background: var(--community-article-reverse-1-background);
  --scheme-highlight: var(--community-article-reverse-1-headings);
  --scheme-text: var(--community-article-reverse-1-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-1-background);

  --scheme-btn-primary-bg: var(--community-article-reverse-1-background);
  --scheme-btn-primary-text: var(--community-article-reverse-1-text);
  --scheme-btn-primary-border: var(--community-article-reverse-1-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-1-text);
  --scheme-btn-secondary-border: var(--community-article-reverse-1-background);
}
.s2k25 .scheme-community-salto-selection-reverse-2 {
  --scheme-background: var(--community-article-reverse-2-background);
  --scheme-highlight: var(--community-article-reverse-2-headings);
  --scheme-text: var(--community-article-reverse-2-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-2-headings);

  --scheme-btn-primary-bg: var(--community-article-reverse-2-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-reverse-2-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-2-headings);
  --scheme-btn-secondary-border: var(--community-article-reverse-2-headings);
}
.s2k25 .scheme-community-salto-selection-reverse-3 {
  --scheme-background: var(--community-article-reverse-3-background);
  --scheme-highlight: var(--community-article-reverse-3-headings);
  --scheme-text: var(--community-article-reverse-3-text);
  --scheme-hover: var(--community-hover-bg);
  --scheme-active: var(--community-active-bg);
  --scheme-border: var(--community-article-reverse-3-headings);

  --scheme-btn-primary-bg: var(--community-article-reverse-3-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--community-article-reverse-3-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--community-article-reverse-3-headings);
  --scheme-btn-secondary-border: var(--community-article-reverse-3-headings);
}

/* external */
.s2k25 .scheme-external-regular {
  --scheme-background: var(--external-regular-background);
  --scheme-highlight: var(--external-regular-headings);
  --scheme-text: var(--external-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--external-regular-headings);

  --scheme-btn-primary-bg: var(--external-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--external-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--external-regular-headings);
  --scheme-btn-secondary-border: var(--external-regular-headings);
}
.s2k25 .scheme-external-reverse-1 {
  --scheme-background: var(--external-reverse-background);
  --scheme-highlight: var(--external-reverse-headings);
  --scheme-text: var(--external-reverse-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--external-reverse-background);

  --scheme-btn-primary-bg: var(--external-reverse-background);
  --scheme-btn-primary-text: var(--external-reverse-text);
  --scheme-btn-primary-border: var(--external-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--external-reverse-text);
  --scheme-btn-secondary-border: var(--external-reverse-background);
}
.s2k25 .scheme-external-reverse-2 {
  --scheme-background: var(--external-light-background);
  --scheme-highlight: var(--external-light-headings);
  --scheme-text: var(--external-light-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--external-light-headings);

  --scheme-btn-primary-bg: var(--external-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--external-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--external-light-headings);
  --scheme-btn-secondary-border: var(--external-light-headings);
}
.s2k25 .scheme-external-reverse-3 {
  --scheme-background: var(--external-regular-background);
  --scheme-highlight: var(--external-regular-headings);
  --scheme-text: var(--external-regular-text);
  --scheme-hover: var(--salto-hover-bg);
  --scheme-active: var(--salto-active-bg);
  --scheme-border: var(--external-regular-headings);

  --scheme-btn-primary-bg: var(--external-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--external-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--external-regular-headings);
  --scheme-btn-secondary-border: var(--external-regular-headings);
}

/* partner-content */
.s2k25 :is(.scheme-partner-content-regular, .scheme-partner-content-regular.s2k25),
.s2k25.scheme-partner-content-regular {
  --scheme-background: var(--partner-content-regular-background);
  --scheme-highlight: var(--partner-content-regular-headings);
  --scheme-text: var(--partner-content-regular-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-content-regular-headings);

  --scheme-btn-primary-bg: var(--partner-content-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-content-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-content-regular-headings);
  --scheme-btn-secondary-border: var(--partner-content-regular-headings);
}
.s2k25 :is(.scheme-partner-content-reverse-1, .scheme-partner-content-reverse-1.s2k25),
.s2k25.scheme-partner-content-reverse-1 {
  --scheme-background: var(--partner-content-reverse-background);
  --scheme-highlight: var(--partner-content-reverse-headings);
  --scheme-text: var(--partner-content-reverse-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-content-reverse-background);

  --scheme-btn-primary-bg: var(--partner-content-reverse-background);
  --scheme-btn-primary-text: var(--partner-content-reverse-text);
  --scheme-btn-primary-border: var(--partner-content-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-content-reverse-text);
  --scheme-btn-secondary-border: var(--partner-content-reverse-background);
}
.s2k25 :is(.scheme-partner-content-reverse-2, .scheme-partner-content-reverse-2.s2k25),
.s2k25.scheme-partner-content-reverse-2 {
  --scheme-background: var(--partner-content-light-background);
  --scheme-highlight: var(--partner-content-light-headings);
  --scheme-text: var(--partner-content-light-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-content-light-headings);

  --scheme-btn-primary-bg: var(--partner-content-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-content-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-content-light-headings);
  --scheme-btn-secondary-border: var(--partner-content-light-headings);
}
.s2k25 :is(.scheme-partner-content-reverse-3, .scheme-partner-content-reverse-3.s2k25),
.s2k25.scheme-partner-content-reverse-3 {
  --scheme-background: var(--partner-content-regular-background);
  --scheme-highlight: var(--partner-content-regular-headings);
  --scheme-text: var(--partner-content-regular-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-content-regular-headings);

  --scheme-btn-primary-bg: var(--partner-content-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-content-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-content-regular-headings);
  --scheme-btn-secondary-border: var(--partner-content-regular-headings);
}

/* partner-plus-content */
.s2k25 .scheme-partner-plus-content-regular {
  --scheme-background: var(--partner-plus-content-regular-background);
  --scheme-highlight: var(--partner-plus-content-regular-headings);
  --scheme-text: var(--partner-plus-content-regular-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-plus-content-regular-headings);

  --scheme-btn-primary-bg: var(--partner-plus-content-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-plus-content-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-plus-content-regular-headings);
  --scheme-btn-secondary-border: var(--partner-plus-content-regular-headings);
}
.s2k25 .scheme-partner-plus-content-reverse-1 {
  --scheme-background: var(--partner-plus-content-reverse-background);
  --scheme-highlight: var(--partner-plus-content-reverse-headings);
  --scheme-text: var(--partner-plus-content-reverse-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-plus-content-reverse-background);

  --scheme-btn-primary-bg: var(--partner-plus-content-reverse-background);
  --scheme-btn-primary-text: var(--partner-plus-content-reverse-text);
  --scheme-btn-primary-border: var(--partner-plus-content-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-plus-content-reverse-text);
  --scheme-btn-secondary-border: var(--partner-plus-content-reverse-background);
}
.s2k25 .scheme-partner-plus-content-reverse-2 {
  --scheme-background: var(--partner-plus-content-light-background);
  --scheme-highlight: var(--partner-plus-content-light-headings);
  --scheme-text: var(--partner-plus-content-light-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-plus-content-light-headings);

  --scheme-btn-primary-bg: var(--partner-plus-content-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-plus-content-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-plus-content-light-headings);
  --scheme-btn-secondary-border: var(--partner-plus-content-light-headings);
}
.s2k25 .scheme-partner-plus-content-reverse-3 {
  --scheme-background: var(--partner-plus-content-regular-background);
  --scheme-highlight: var(--partner-plus-content-regular-headings);
  --scheme-text: var(--partner-plus-content-regular-text);
  --scheme-hover: var(--partner-hover-bg);
  --scheme-active: var(--partner-active-bg);
  --scheme-border: var(--partner-plus-content-regular-headings);

  --scheme-btn-primary-bg: var(--partner-plus-content-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--partner-plus-content-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--partner-plus-content-regular-headings);
  --scheme-btn-secondary-border: var(--partner-plus-content-regular-headings);
}

/* advertorial */
.s2k25 .scheme-advertorial-regular {
  --scheme-background: var(--advertorial-regular-background);
  --scheme-highlight: var(--advertorial-regular-headings);
  --scheme-text: var(--advertorial-regular-text);
  --scheme-hover: var(--ads-hover-bg);
  --scheme-active: var(--ads-active-bg);
  --scheme-border: var(--advertorial-regular-headings);

  --scheme-btn-primary-bg: var(--advertorial-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--advertorial-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--advertorial-regular-headings);
  --scheme-btn-secondary-border: var(--advertorial-regular-headings);
}
.s2k25 .scheme-advertorial-reverse-1 {
  --scheme-background: var(--advertorial-reverse-background);
  --scheme-highlight: var(--advertorial-reverse-headings);
  --scheme-text: var(--advertorial-reverse-text);
  --scheme-hover: var(--ads-hover-bg);
  --scheme-active: var(--ads-active-bg);
  --scheme-border: var(--advertorial-reverse-background);

  --scheme-btn-primary-bg: var(--advertorial-reverse-background);
  --scheme-btn-primary-text: var(--advertorial-reverse-text);
  --scheme-btn-primary-border: var(--advertorial-reverse-background);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--advertorial-reverse-text);
  --scheme-btn-secondary-border: var(--advertorial-reverse-background);
}
.s2k25 .scheme-advertorial-reverse-2 {
  --scheme-background: var(--advertorial-light-background);
  --scheme-highlight: var(--advertorial-light-headings);
  --scheme-text: var(--advertorial-light-text);
  --scheme-hover: var(--ads-hover-bg);
  --scheme-active: var(--ads-active-bg);
  --scheme-border: var(--advertorial-light-headings);

  --scheme-btn-primary-bg: var(--advertorial-light-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--advertorial-light-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--advertorial-light-headings);
  --scheme-btn-secondary-border: var(--advertorial-light-headings);
}
.s2k25 .scheme-advertorial-reverse-3 {
  --scheme-background: var(--advertorial-regular-background);
  --scheme-highlight: var(--advertorial-regular-headings);
  --scheme-text: var(--advertorial-regular-text);
  --scheme-hover: var(--ads-hover-bg);
  --scheme-active: var(--ads-active-bg);
  --scheme-border: var(--advertorial-regular-headings);

  --scheme-btn-primary-bg: var(--advertorial-regular-headings);
  --scheme-btn-primary-text: var(--color-light-text);
  --scheme-btn-primary-border: var(--advertorial-regular-headings);
  --scheme-btn-secondary-bg: transparent;
  --scheme-btn-secondary-text: var(--advertorial-regular-headings);
  --scheme-btn-secondary-border: var(--advertorial-regular-headings);
}
/* Global Heading Reset innerhalb s2k25 */
body.s2k25 {
  /* Guard against Bootstrap resetting heading font-weight via CSS vars */
  --bs-heading-font-weight: 700 !important;
}

.s2k25 h1,
.s2k25 h2,
.s2k25 h3,
.s2k25 h4,
.s2k25 h5,
.s2k25 h6,
.s2k25 .h1,
.s2k25 .h2,
.s2k25 .h3,
.s2k25 .h4,
.s2k25 .h5,
.s2k25 .h6 {
  font-weight: 700 !important;
}


/* ==========================
   Body-Background je Artikelrolle (wie original)
   ========================== */
body.node--type-article.s2k25[class*="article-role-"] #main-wrapper {
  background: transparent !important;
}
body.node--type-article.s2k25.article-role-editor #main-wrapper {
  background-color: var(--editor-light-background) !important;
}
body.node--type-article.s2k25.article-role-columnist #main-wrapper {
  background-color: var(--columnist-light-background) !important;
}
body.node--type-article.s2k25.article-role-community #main-wrapper,
body.node--type-article.s2k25.article-role-community-salto-selection #main-wrapper {
  background-color: var(--community-light-background) !important;
}
body.node--type-article.s2k25.article-role-advertorial #main-wrapper {
  background-color: var(--advertorial-light-background) !important;
}
body.node--type-article.s2k25.article-role-external #main-wrapper {
  background-color: var(--external-light-background) !important;
}
body.node--type-article.s2k25.article-role-partner-content #main-wrapper {
  background-color: var(--partner-content-light-background) !important;
}
body.node--type-article.s2k25.article-role-partner-plus-content #main-wrapper {
  background-color: var(--partner-plus-content-light-background) !important;
}

/* ==========================
   Fonts on headings (Artikel)
   ========================== */
body.node--type-article.s2k25 h1,
body.node--type-article.s2k25 h2,
body.node--type-article.s2k25 h3,
body.node--type-article.s2k25 h4,
body.node--type-article.s2k25 h5,
body.node--type-article.s2k25 h6,
body.node--type-article.s2k25 .h1,
body.node--type-article.s2k25 .h2,
body.node--type-article.s2k25 .h3,
body.node--type-article.s2k25 .h4,
body.node--type-article.s2k25 .h5,
body.node--type-article.s2k25 .h6 {
  font-weight: 700;
}

.s2k25 .view,
.s2k25 .view-content {
  /* make views 100% high */
  height: 100%;
}

.s2k25 .horizontal-scroller {
  /* helper: enable horizontal snap scrolling on mobile rows */
  scroll-snap-type: x mandatory;
}

.s2k25 .horizontal-scroller > [class*="col-"] {
  /* snap alignment for horizontal scroller items */
  scroll-snap-align: start;
}

.s2k25 .heading-inline.h3 {
  /* helper: unify inline heading size (makes icons inherit the h3 size) */
  font-size: var(--bs-h3-font-size);
  font-weight: var(--bs-h3-font-weight, 700);
  line-height: var(--bs-heading-line-height);
}

.s2k25 .border-dotted { border-style: dotted !important; }
.s2k25 .border-dashed { border-style: dashed !important; }

.s2k25 .border-start.border-dotted,
.s2k25 .border-start.border-dashed {
  border-style: none !important;
}
.s2k25 .border-start.border-dotted { border-left-style: dotted !important; }
.s2k25 .border-start.border-dashed { border-left-style: dashed !important; }

.s2k25 .border-end.border-dotted,
.s2k25 .border-end.border-dashed {
  border-style: none !important;
}
.s2k25 .border-end.border-dotted { border-right-style: dotted !important; }
.s2k25 .border-end.border-dashed { border-right-style: dashed !important; }

.s2k25 .border-top.border-dotted,
.s2k25 .border-top.border-dashed {
  border-style: none !important;
}
.s2k25 .border-top.border-dotted { border-top-style: dotted !important; }
.s2k25 .border-top.border-dashed { border-top-style: dashed !important; }

.s2k25 .border-bottom.border-dotted,
.s2k25 .border-bottom.border-dashed {
  border-style: none !important;
}
.s2k25 .border-bottom.border-dotted { border-bottom-style: dotted !important; }
.s2k25 .border-bottom.border-dashed { border-bottom-style: dashed !important; }

.font-salto-serif { font-family: var(--salto-font-serif) !important; }
.font-salto-sans  { font-family: var(--salto-font-sans) !important; }
.font-salto-music { font-family: var(--salto-font-music); }

/* Border color helpers scoped to partner content reverse */
.s2k25 .scheme-partner-content-reverse-1 {
  --bs-border-color: var(--partner-content-reverse-headings);
  --bs-border-color-translucent: var(--partner-content-reverse-headings);
}

/* Border color helpers scoped to partner content light */
.s2k25 .scheme-partner-content-reverse-2 {
  --bs-border-color: var(--partner-content-light-headings);
  --bs-border-color-translucent: var(--partner-content-light-headings);
}

.s2k25 .scheme-partner-content-reverse-2 a:hover { color: #a6008a !important; }
.s2k25 .scheme-partner-content-reverse-2 a:active { color: #5b004c !important; }
.s2k25 .scheme-partner-content-reverse-2 .partner-content-light-headings:hover,
.s2k25 .scheme-partner-content-reverse-2 .partner-content-light-headings:active,
.s2k25 .partner-content-light-headings:hover,
.s2k25 .partner-content-light-headings:active {
  color: #a6008a !important;
}
.s2k25 .scheme-partner-content-reverse-2 .partner-content-light-headings:active,
.s2k25 .partner-content-light-headings:active {
  color: #5b004c !important;
}

/* Helper: Endline color override for partner content light */
.s2k25 .salto-endline1.partner-content-light-headings {
  border-color: var(--partner-content-light-headings) !important;
  color: var(--partner-content-light-headings) !important;
}

/* DOSSIER Beispiel */
.dossier-regular-headings   { color: var(--dossier-regular-headings); opacity: 1; }
.dossier-regular-background { background-color: var(--dossier-regular-background); }
.dossier-regular-text       { color: var(--dossier-regular-text); }

/* usw. bei Bedarf für music/breaking/ads etc. */
.dossier-reverse-headings      { color: var(--dossier-reverse-headings); opacity: 1; }
.dossier-light-headings        { color: var(--dossier-light-headings); opacity: 1; }
.music-regular-headings        { color: var(--music-regular-headings); opacity: 1; }
.music-reverse-headings        { color: var(--music-reverse-headings); opacity: 1; }
.music-light-headings          { color: var(--music-light-headings); opacity: 1; }
.breaking-regular-headings     { color: var(--breaking-regular-headings); opacity: 1; }
.breaking-reverse-headings     { color: var(--breaking-reverse-headings); opacity: 1; }
.breaking-light-headings       { color: var(--breaking-light-headings); opacity: 1; }
.ads-regular-headings          { color: var(--ads-regular-headings); opacity: 1; }
.ads-light-headings            { color: var(--ads-light-headings); opacity: 1; }
.ads-reverse-headings          { color: var(--ads-reverse-headings); opacity: 1; }
.editor-regular-headings       { color: var(--editor-regular-headings); opacity: 1; }
.editor-reverse-headings       { color: var(--editor-reverse-headings); opacity: 1; }
.editor-light-headings         { color: var(--editor-light-headings); opacity: 1; }
.columnist-regular-headings    { color: var(--columnist-regular-headings); opacity: 1; }
.columnist-reverse-headings    { color: var(--columnist-reverse-headings); opacity: 1; }
.columnist-light-headings      { color: var(--columnist-light-headings); opacity: 1; }
.community-regular-headings-article { color: var(--community-article-regular-headings); opacity: 1; }
.community-light-headings-article   { color: var(--community-article-reverse-2-headings); opacity: 1; }
.community-reverse-headings-article { color: var(--community-article-reverse-1-headings); opacity: 1; }
.external-regular-headings     { color: var(--external-regular-headings); opacity: 1; }
.external-reverse-headings     { color: var(--external-reverse-headings); opacity: 1; }
.external-light-headings       { color: var(--external-light-headings); opacity: 1; }
.advertorial-regular-headings  { color: var(--advertorial-regular-headings); opacity: 1; }
.advertorial-reverse-headings  { color: var(--advertorial-reverse-headings); opacity: 1; }
.advertorial-light-headings    { color: var(--advertorial-light-headings); opacity: 1; }


/* =========================================================
   PODCAST-PLAYER (LOCK) – MUTED (Salto+)
   - graue, deaktivierte Optik
   - Icons/Zeiten/Volume/Settings in --lock-accent
   - progress & volume-Fill (links vom Thumb) in --lock-accent
   - keine Bedienung
   ========================================================= */

.podcast-player.is-locked {
  position: relative;

  /* tweakbare Lock-Farben */
  --lock-accent:    #bfc6cd; /* Grau für aktive/visuelle Elemente */
  --lock-ctrl-bg:   #f1f3f5; /* Controls-Hintergrund sehr hell */
  --lock-track:     #dee2e6; /* Track/Volume Linie hell */
  --lock-buffer:    #eaecef; /* Buffer noch heller */
  --lock-thumb:     #ffffff; /* Thumb weiß */
}

/* Bedienelemente komplett deaktivieren */
.podcast-player.is-locked .player-ui {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

/* Plyr-Akzentfarbe im Locked-Player auf Grau setzen */
.podcast-player.is-locked .player-ui .plyr {
  --plyr-color-main: var(--lock-accent) !important;
  --plyr-tooltip-background: var(--lock-accent) !important;
  --plyr-tooltip-color: #ffffff !important;
}

/* Controls-Hintergrund: helle „Pille“ */
.podcast-player.is-locked .plyr--audio .plyr__controls {
  background-color: var(--lock-ctrl-bg) !important;
  border-radius: 999px;
  box-shadow: none !important;
}

/* Play-Button: gefüllt in Accent, Icon weiß */
.podcast-player.is-locked .plyr--audio .plyr__controls [data-plyr="play"].plyr__control {
  background-color: var(--lock-accent) !important;
  color: #ffffff !important;
  border-radius: 50%;
}

/* Zeit-Anzeige in Grau (lock-accent) */
.podcast-player.is-locked .plyr--audio .plyr__time {
  color: var(--lock-accent) !important;
}

/* Lautsprecher-Button (Mute/Unmute) in Grau */
.podcast-player.is-locked .plyr--audio .plyr__volume .plyr__control {
  color: var(--lock-accent) !important;
}
.podcast-player.is-locked .plyr--audio .plyr__volume .plyr__control svg {
  fill: currentColor !important;
}

/* Settings-Zahnrad in Grau */
.podcast-player.is-locked .plyr--audio .plyr__controls [data-plyr="settings"].plyr__control {
  color: var(--lock-accent) !important;
}
.podcast-player.is-locked .plyr--audio .plyr__controls [data-plyr="settings"].plyr__control svg {
  fill: currentColor !important;
}

/* Progress- & Volume-Track: Linie hell, Fill (links) in Grau */
.podcast-player.is-locked .plyr--audio .plyr__progress input[type="range"][data-plyr],
.podcast-player.is-locked .plyr--audio .plyr__volume   input[type="range"][data-plyr] {
  color: var(--lock-accent) !important; /* für Plyr-Gradient-Berechnung */
  background-image: linear-gradient(
    to right,
    var(--lock-accent) 0,
    var(--lock-accent) var(--value, 0),
    var(--lock-track)  var(--value, 0),
    var(--lock-track)  100%
  ) !important;
}

/* Buffer-Linie dezent */
.podcast-player.is-locked .plyr--audio .plyr__progress__buffer {
  background-color: var(--lock-buffer) !important;
  height: 2px !important;
  border-radius: 999px;
}

/* Thumb (Knopf) weiß, rund */
.podcast-player.is-locked .plyr--audio input[type="range"] {
  --plyr-range-track-height: 2px !important;
  --plyr-range-thumb-height: 12px;
}
.podcast-player.is-locked .plyr--audio input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: var(--lock-thumb) !important;
  border: none !important;
}
.podcast-player.is-locked .plyr--audio input[type="range"]::-moz-range-thumb {
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: var(--lock-thumb) !important;
  border: none !important;
}
.podcast-player.is-locked .plyr--audio input[type="range"]::-ms-thumb {
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: var(--lock-thumb) !important;
  border: none !important;
}

/* Fallback für Track-Hintergrund (Browser ohne Gradient-Var) */
.podcast-player.is-locked .plyr--audio .plyr__progress input[type="range"]::-webkit-slider-runnable-track,
.podcast-player.is-locked .plyr--audio .plyr__volume   input[type="range"]::-webkit-slider-runnable-track {
  background-color: var(--lock-track) !important;
}
.podcast-player.is-locked .plyr--audio input[type="range"]::-moz-range-track {
  background-color: var(--lock-track) !important;
}
.podcast-player.is-locked .plyr--audio input[type="range"]::-ms-track {
  background-color: var(--lock-track) !important;
}

/* Tooltip: HG = Grau, Text weiß */
.podcast-player.is-locked .plyr--audio .plyr__tooltip {
  background: var(--lock-accent) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}
.podcast-player.is-locked .plyr--audio .plyr__tooltip:before {
  border-top-color: var(--lock-accent) !important;
  box-shadow: none !important;
}

/* Schloss-Badge bleibt farbig & klickunabhängig */
.podcast-player .player-lock-badge {
  position: absolute;
  top: -0.25rem;
  left: 1.25rem;
  height: 1.5rem;
  width: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-primary, #0d6efd);
  color: #fff;
  font-size: .8rem;
  pointer-events: none;
  border-radius: 50%;
}
.podcast-player .player-lock-badge .bi {
  line-height: 1;
}

/* Legacy additions */
/* Some global stuff */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--salto-font-sans);
  font-weight: 700;
}

.font-salto-serif {
  font-family: var(--salto-font-serif);
}
.font-salto-sans {
  font-family: var(--salto-font-sans);
}
.font-salto-music {
  font-family: var(--salto-font-music);
}

.salto-plus-icon {
  width: .7em;
  height: .7em;
  vertical-align: baseline;
}

a {
  text-decoration: underline;
}


/* Define Color Schemes */
/* Salto Main CI Colors */
.salto-regular {
  background-color: var(--salto-regular-background);
  color: var(--salto-regular-text);
}
.salto-regular h1,
.salto-regular h2,
.salto-regular h3,
.salto-regular h4,
.salto-regular h5,
.salto-regular h6 {
  font-family: var(--salto-font-sans);
  color: var(--salto-regular-headings);
}
.salto-regular a {
  color: var(--salto-regular-headings);
  text-decoration: none;
}
.salto-regular .community-chosen-icon {
  color: var(--salto-regular-headings);
}
.salto-regular .pretitle {
  color: var(--salto-regular-headings);
  font-family: var(--salto-font-serif);
}
.salto-regular .teaser {
  font-family: var(--salto-font-serif);
}

.salto-reverse {
  background-color: var(--salto-reverse-background);
  color: var(--salto-reverse-text);
}
.salto-reverse h1,
.salto-reverse h2,
.salto-reverse h3,
.salto-reverse h4,
.salto-reverse h5,
.salto-reverse h6 {
  font-family: var(--salto-font-sans);
  color: var(--salto-reverse-headings);
}
.salto-reverse a {
  color: var(--salto-reverse-headings);
  text-decoration: none;
}
.salto-reverse .community-chosen-icon {
  color: var(--salto-reverse-headings);
}

.salto-reverse .pretitle {
  color: var(--salto-reverse-headings);
  font-family: var(--salto-font-serif);
}
.salto-reverse .teaser {
  font-family: var(--salto-font-serif);
}


.salto-light {
  background-color: var(--salto-light-background);
  color: var(--salto-light-text);
}
.salto-light h1,
.salto-light h2,
.salto-light h3,
.salto-light h4,
.salto-light h5,
.salto-light h6 {
  font-family: var(--salto-font-sans);
  color: var(--salto-light-headings);
}
.salto-light a {
  color: var(--salto-light-headings);
  text-decoration: none;
}
.salto-light .community-chosen-icon {
  color: var(--salto-light-headings);
}
.salto-light .pretitle {
  color: var(--salto-light-headings);
  font-family: var(--salto-font-serif);
}
.salto-light .teaser {
  font-family: var(--salto-font-serif);
}

/* Editors */
.editor-regular-background { background-color: var(--editor-regular-background); }
.editor-regular-headings { color: var(--editor-regular-headings) }
.editor-regular-text { color: var(--editor-regular-text); }

.editor-reverse-background { background-color: var(--editor-reverse-background); }
.editor-reverse-headings { color: var(--editor-reverse-headings); }
.editor-reverse-text { color: var(--editor-reverse-text);}

.editor-light-background { background-color: var(--editor-light-background); }
.editor-light-headings { color: var(--editor-light-headings); }
.editor-light-text { color: var(--editor-light-text); }

/* Columnists */
.columnist-regular-background { background-color: var(--columnist-regular-background); }
.columnist-regular-headings { color: var(--columnist-regular-headings) }
.columnist-regular-text { color: var(--columnist-regular-text); }

.columnist-reverse-background { background-color: var(--columnist-reverse-background); }
.columnist-reverse-headings { color: var(--columnist-reverse-headings); }
.columnist-reverse-text { color: var(--columnist-reverse-text);}

.columnist-light-background { background-color: var(--columnist-light-background); }
.columnist-light-headings { color: var(--columnist-light-headings); }
.columnist-light-text { color: var(--columnist-light-text); }

/* Externals */
.external-regular-background { background-color: var(--external-regular-background); }
.external-regular-headings { color: var(--external-regular-headings) }
.external-regular-text { color: var(--external-regular-text); }

.external-reverse-background { background-color: var(--external-reverse-background); }
.external-reverse-headings { color: var(--external-reverse-headings); }
.external-reverse-text { color: var(--external-reverse-text);}

.external-light-background { background-color: var(--external-light-background); }
.external-light-headings { color: var(--external-light-headings); }
.external-light-text { color: var(--external-light-text); }

/* Partner Content */
.partner-content-regular-background { background-color: var(--partner-content-regular-background); }
.partner-content-regular-headings { color: var(--partner-content-regular-headings) }
.partner-content-regular-text { color: var(--partner-content-regular-text); }

.partner-content-reverse-background { background-color: var(--partner-content-reverse-background); }
.partner-content-reverse-headings { color: var(--partner-content-reverse-headings); }
.partner-content-reverse-text { color: var(--partner-content-reverse-text);}

.partner-content-light-background { background-color: var(--partner-content-light-background); }
.partner-content-light-headings { color: var(--partner-content-light-headings); }
.partner-content-light-text { color: var(--partner-content-light-text); }

/* Partner Plus Content */
.partner-plus-content-regular-background { background-color: var(--partner-plus-content-regular-background); }
.partner-plus-content-regular-headings { color: var(--partner-plus-content-regular-headings) }
.partner-plus-content-regular-text { color: var(--partner-plus-content-regular-text); }

.partner-plus-content-reverse-background { background-color: var(--partner-plus-content-reverse-background); }
.partner-plus-content-reverse-headings { color: var(--partner-plus-content-reverse-headings); }
.partner-plus-content-reverse-text { color: var(--partner-plus-content-reverse-text);}

.partner-plus-content-light-background { background-color: var(--partner-plus-content-light-background); }
.partner-plus-content-light-headings { color: var(--partner-plus-content-light-headings); }
.partner-plus-content-light-text { color: var(--partner-plus-content-light-text); }


/* Community */
/* Partner Content */
.community-regular-background { background-color: var(--community-regular-background); }
.community-regular-headings { color: var(--community-regular-headings) }
.community-regular-text { color: var(--community-regular-text); }

.community-reverse-background { background-color: var(--community-reverse-background); }
.community-reverse-headings { color: var(--community-reverse-headings); }
.community-reverse-text { color: var(--community-reverse-text);}

.community-light-background { background-color: var(--community-light-background); }
.community-light-headings { color: var(--community-light-headings); }
.community-light-text { color: var(--community-light-text); }


/* Article templates: Comment Count With Bubble */
.cc-bubble {
  position: relative;
  top: .15em;
  display: inline-block;
  font-size: 1.2em;
  line-height: 1;
  vertical-align: baseline;
}

.cc-number {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.7em;
  font-weight: 600;
  min-width: 16px;
  text-align: center;
  top: .1em;
}

/* Article templates: Salto Plus Overlay */
.salto-plus-locked {
  position: relative;
  overflow: hidden;
}

.salto-plus-content {
  position: relative;
  z-index: 1;
}

.salto-plus-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  pointer-events: none;
}

.salto-plus-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.3) 40%,
      rgba(255, 255, 255, 0.8) 70%,
      rgba(255, 255, 255, 1) 100%);
}

.salto-plus-message {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.95);
  padding: 15px;
  border-radius: 5px;
  text-align: center;
  pointer-events: auto;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  color: #007bff;
  text-decoration: none;
}

.salto-plus-message a:hover {
  text-decoration: underline;
}

.salto-plus-badge {
  display: inline-block;
  margin-left: 10px;
}

.main-media {
  position: relative;
}

/* zentriertes Play-Icon */
.play-overlay {
  position: absolute;
  top: calc( 50% - 1rem);
  left: calc(50% - 1rem);
  font-size: 2rem;
  transform: translate(-50%, -50%);
  z-index: 10;

  /* Optik */
  color: #fff;
  opacity: .5;
  font-size: 3rem;
  /* Icon ca. 48 px */
  line-height: 1;

  /* Standardmäßig nicht klickbar – verhindert Ghost-Clicks */
  pointer-events: none;
}

/* Falls der Eltern-Container interaktiv sein soll */
.call-to-action .play-overlay {
  pointer-events: auto;
  /* Overlay wird klickbar */
  cursor: pointer;
}

/* Comment Counter; everywhere! */
.cc-bubble>i {
  color: var(--community-reverse-background) !important;
}
.cc-bubble>span {
  color: var(--community-reverse-headings) !important;
}

.hr-article {
  width: 3.5rem;
}

.hr-article-long {
  width: calc(63% + 60px);
}

/* Force full height for view containers in partner frontpage block */
.s2k25 .views-element-container {
  height: 100% !important;
}

/* ==========================
   Special overrides for mobile
   ========================== */
@media (max-width: 991.98px) {
  .s2k25 .mobile-extra-colors .teaser {
    background: #f7f3f7 !important;
  }

  .s2k25 .mobile-partner-reverse-3 {
    --scheme-background: var(--partner-reverse-3-background);
    --scheme-highlight: var(--partner-reverse-3-headings);
    --scheme-text: var(--partner-reverse-3-text);
    --scheme-hover: var(--partner-hover-bg);
    --scheme-active: var(--partner-active-bg);
    --scheme-border: var(--partner-reverse-3-headings);

    --scheme-btn-primary-bg: var(--partner-reverse-3-headings);
    --scheme-btn-primary-text: var(--color-light-text);
    --scheme-btn-primary-border: var(--partner-reverse-3-headings);
    --scheme-btn-secondary-bg: transparent;
    --scheme-btn-secondary-text: var(--partner-reverse-3-headings);
    --scheme-btn-secondary-border: var(--partner-reverse-3-headings);
    background: var(--partner-reverse-3-background);
    color: var(--partner-reverse-3-text);
  }
}
