.mtool-hidden {
	display: none !important;
}

/* HEADER */
/*
#header [data-items] {
    justify-content: center;
}*/

.kb-row-layout-id31_b80c43-ea mark.kt-highlight {
    color: var(--theme-palette-color-3, #96bfd1) !important;
}


/** --------- STCKY EFFECT MARCEL -------- */
/* --------------------------------------- */

/* Vars (Headerhöhe/Abstände feinjustieren) */
:root{
  --sticky-top: 120px;           /* Abstand oben (z.B. unter Fixed-Header) */
  --sticky-bottom: 0px;        /* kleiner Bodenabstand */
  --gap: clamp(1rem, 3vw, 3rem);
  --nav-bg: #fff;
  --nav-br: 12px;
  --nav-shadow: 0 10px 30px rgba(0,0,0,.06);
  --accent: #082078;
}

/* Grundlayout */
.section-sticky{
  /*min-height: 100vh;*/
  display: block;               /* wichtig: kein overflow verstecken */
  scroll-behavior: smooth;      /* sanftes Scrollen für #anker */
}
.section-sticky__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;     /* 50/50 */
  gap: var(--gap);
  align-items: stretch;
}

/* Linke Spalte: sticky */
.section-sticky__media{
  position: sticky;
  top: var(--sticky-top);
  height: calc(100vh - var(--sticky-top) - var(--sticky-bottom));
  display: flex;
  align-items: flex-end;        /* Bild am unteren Rand “andocken” */
  justify-content: center;
}
.section-sticky__img{
  max-height: 100%;
  width: auto;
  object-fit: contain;          /* nicht beschneiden */
  object-position: bottom center; /* Fokus unten (Füße sichtbar) */
  display: block;
}

/* Alternative, falls du lieber ein Cover willst (Ausschnitt unten):
.section-sticky__img{ width:100%; height:100%; object-fit:cover; object-position:bottom center; }
*/

/* Rechte Spalte */
.section-sticky__content{
  position: relative;
  min-height: 100vh;
}

.section-sticky__nav .kt-inside-inner-col { position: relative; /* NICHT sticky */ }

.kt-inside-inner-col .section-sticky__nav_1,
.kt-inside-inner-col .section-sticky__nav_2,
.kt-inside-inner-col .section-sticky__nav_3,
.kt-inside-inner-col .section-sticky__nav_4 {
  position: sticky;
  z-index: 3;
}

.section-sticky__nav_1 { top: var(--sticky-top); }
.section-sticky__nav_2 { top: calc(var(--sticky-top) + 64px); }
.section-sticky__nav_3 { top: calc(var(--sticky-top) + 128px); }
/*.section-sticky__nav_4 { top: calc(var(--sticky-top) + 184px); }*/

.section-sticky__nav_1.is-stuck .kt-inside-inner-col { transform: scale(0.965); background: #fff; padding-top: var(--global-kb-spacing-xs, 1rem); padding-bottom: var(--global-kb-spacing-xs, 1rem); box-shadow: 0 10px 30px rgba(0, 0, 0, .06); }
.section-sticky__nav_2.is-stuck .kt-inside-inner-col { transform: scale(0.985); background: #fff; padding-top: var(--global-kb-spacing-xs, 1rem); padding-bottom: var(--global-kb-spacing-xs, 1rem); box-shadow: 0 10px 30px rgba(0, 0, 0, .06); }
.section-sticky__nav_3.is-stuck .kt-inside-inner-col { transform: scale(1); background: #e1e8ed; padding-top: var(--global-kb-spacing-xs, 1rem); padding-bottom: var(--global-kb-spacing-xs, 1rem); box-shadow: 0 10px 30px rgba(0, 0, 0, .06); }

.section-sticky__nav_1.is-stuck .kt-inside-inner-col, .section-sticky__nav_1.is-stuck .kt-inside-inner-col h2 { color: #ccc;}
.section-sticky__nav_2.is-stuck .kt-inside-inner-col, .section-sticky__nav_2.is-stuck .kt-inside-inner-col h2 { color: #ccc;}

/* Sticky-Nav oben rechts */
/*
.section-sticky__nav{
  position: sticky;
  top: var(--sticky-top);
  z-index: 3;
  display: flex;
  /*gap: .5rem;
  padding: .75rem;
  background: var(--nav-bg);
  border-radius: var(--nav-br);
  box-shadow: var(--nav-shadow);
  margin-bottom: 1rem;*//*
}
.section-sticky__nav_1{
  position: sticky;
  top: 200px;
  z-index: 3;
  display: flex;
}
.section-sticky__nav_2{
  position: sticky;
  top: 250px;
  z-index: 3;
  display: flex;
}
.section-sticky__nav_3{
  position: sticky;
  top: 300px;
  z-index: 3;
  display: flex;
}*/
.section-sticky__nav a{
  display: inline-block;
  padding: .5rem .9rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid rgba(0,0,0,.08);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.section-sticky__nav a:is(:hover,:focus-visible){
  background: rgba(8,32,120,.06);
  border-color: rgba(8,32,120,.2);
}
.section-sticky__nav a.is-active{
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

/* Panels/Abschnitte rechts */
.section-sticky__panel{
  background:#fff;
  border-radius: 1rem;
  box-shadow: var(--nav-shadow);
  padding: clamp(1.25rem, 2vw, 2rem);
  margin-bottom: 1rem;
}

/* Anker-Ziele mit Offset, damit Sticky-Nav nichts überdeckt */
.scroll-target{
  scroll-margin-top: calc(var(--sticky-top) + 12px);
}

/* Responsive: stacken auf Mobile */
@media (max-width: 900px){
  .section-sticky__grid{ grid-template-columns: 1fr; }
  .section-sticky__media{
    position: relative;
    top: 0;
    height: auto;
    align-items: center;
    margin-top: .5rem;
  }
  .section-sticky__img{ max-width: min(520px, 100%); height: auto; }
}


/** --------- STCKY EFFECT MARCEL -------- */
/* --------------------------------------- */


/** --------- STICKY EFFECT MARCEL (v5.2) -------- */
.kb-row-layout-id31_6312e9-c1 { position: relative; z-index: 0; }
.kb-row-layout-id31_6312e9-c1.is-pinned {
  position: fixed; inset: 0; /*height: 100vh;*/ width: 100%; z-index: 3;
}
.kb-row-layout-id31_6312e9-c1 + .pin-spacer { display:block; height:0; }

/* Box 600px */
.kb-row-layout-id31_d08072-55 { height: 600px; overflow: visible; margin: 0 auto; }

/* Nur Top-Level-Spalten stretchen */
.kb-row-layout-id31_d08072-55 > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100% !important; min-height: 0;
}

/* Linke Spalte: Bild unten */
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 > .kt-inside-inner-col {
  height:100% !important; display:flex; align-items:flex-end;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 figure {
  height:100% !important; display:flex; align-items:flex-end; margin:0; width:100%;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 img {
  display:block; max-height:100% !important; width:auto; height:auto; object-fit:contain;
}

/* Rechte Spalte */
.kb-row-layout-id31_d08072-55 .kadence-column31_6a81ac-50 > .kt-inside-inner-col {
  display:flex; flex-direction:column; height:100%; min-height:0;
}

/* Buttons bleiben oben sticky */
.kb-row-layout-id31_d08072-55 .kadence-column31_8903d5-68 {
  position: sticky;
  top: var(--marcel-sticky-top, 0px);
  z-index: 20;
  flex:0 0 auto;
  background: transparent;
}

/* Slot: Sichtfenster für den virtuellen Scroller */
.kb-row-layout-id31_d08072-55 .js-step-slot {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;      /* wichtig: clippen */
  z-index: 1;
  display:block;
}

/* Virtueller Scroller (wandert vertikal) */
.js-step-slot .vscroller {
  position: absolute; inset: 0 auto auto 0; right: 0;
  transform: translateY(var(--vscroll, 0px));
  will-change: transform;
}

/* Panels (Title + Steps), alle gleich hoch */
.js-step-slot .vstep {
  height: var(--stack-height, 300px); /* Boxhöhe minus Buttons */
  display: flex; flex-direction: column; justify-content: flex-start;
}

/* Original Steps ausblenden (Inhalt wird kopiert) */
#step1, #step2, #step3 { display:none !important; }

/* Unsichtbarer Track für Scrollstrecke */
.step-track { display:block; visibility:hidden; pointer-events:none; background:transparent; height:0; }

.kb-row-layout-id31_6312e9-c1, .kb-row-layout-id31_6312e9-c1 * { box-sizing: border-box; }
/** --------- ENDE v5.2 -------- */


/** --------- STICKY EFFECT MARCEL (v5 virtual scroller) -------- *//*
.kb-row-layout-id31_6312e9-c1 { position: relative; z-index: 0; }
.kb-row-layout-id31_6312e9-c1.is-pinned {
  position: fixed; inset: 0; height: 100vh; width: 100%; z-index: 3;
}
.kb-row-layout-id31_6312e9-c1 + .pin-spacer { display:block; height:0; }

/* 600px Box – overflow sichtbar ok, Slot clippt selbst *//*
.kb-row-layout-id31_d08072-55 { height: 600px; overflow: visible; margin: 0 auto; }

/* Nur die zwei Top-Level-Spalten stretchen *//*
.kb-row-layout-id31_d08072-55 > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100% !important; min-height: 0;
}

/* Linke Spalte: Bild unten *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 > .kt-inside-inner-col {
  height:100% !important; display:flex; align-items:flex-end;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 figure {
  height:100% !important; display:flex; align-items:flex-end; margin:0; width:100%;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 img {
  display:block; max-height:100% !important; width:auto; height:auto; object-fit:contain;
}

/* Rechte Spalte Grundlayout *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6a81ac-50 > .kt-inside-inner-col {
  display:flex; flex-direction:column; height:100%; min-height:0;
}

/* Titel: weich “wegscrollen” (0..1 aus JS) *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6458a0-48 {
  --titleHide: 0;
  flex:0 0 auto;
  transform: translateY(calc(-28px * var(--titleHide)));
  opacity: calc(1 - var(--titleHide));
  transition: transform .12s linear, opacity .12s linear;
}
.kb-row-layout-id31_d08072-55 .title-collapsed .kadence-column31_6458a0-48 {
  opacity:0; transform:translateY(-28px);
  height:0; max-height:0; margin:0; padding:0; pointer-events:none;
}

/* Buttons: können sticky bleiben (schadet nicht) *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_8903d5-68 {
  position: sticky;
  top: var(--marcel-sticky-top, 0px);
  z-index: 20;
  flex:0 0 auto;
  background: transparent;
}

/* Slot: zeigt den virtuellen Scroller an (clippt den Inhalt) *//*
.kb-row-layout-id31_d08072-55 .js-step-slot {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;      /* WICHTIG: hier clippen wir *//*
  z-index: 1;
  display:block;
}

/* Virtueller Scroller: wird per JS verschoben *//*
.js-step-slot .vscroller {
  position: absolute; inset: 0 auto auto 0; right: 0;
  transform: translateY(var(--vscroll, 0px));
  will-change: transform;
}

/* Jeder Step ist eine “Seite” hoch *//*
.js-step-slot .vstep {
  height: var(--stack-height, 300px); /* = Boxhöhe minus Buttons *//*
  display: flex; flex-direction: column;
  justify-content: flex-start;
}

/* Original Steps verstecken – Inhalt kommt in vscroller *//*
#step1, #step2, #step3 { display:none !important; }

/* Unsichtbarer Track für Scrollstrecke *//*
.step-track { display:block; visibility:hidden; pointer-events:none; background:transparent; height:0; }

.kb-row-layout-id31_6312e9-c1, .kb-row-layout-id31_6312e9-c1 * { box-sizing: border-box; }
*/
/** --------- ENDE v5 -------- */


/** --------- STICKY EFFECT MARCEL (v4.1) -------- *//*
.kb-row-layout-id31_6312e9-c1 { position: relative; z-index: 0; }
.kb-row-layout-id31_6312e9-c1.is-pinned {
  position: fixed; inset: 0; height: 100vh; width: 100%; z-index: 3;
}
.kb-row-layout-id31_6312e9-c1 + .pin-spacer { display:block; height:0; }

/* Box 600px – WICHTIG: overflow VISIBLE für sticky-Kinder *//*
.kb-row-layout-id31_d08072-55 { height: 600px; overflow: visible; margin: 0 auto; }

/* Nur Top-Level-Spalten stretchen *//*
.kb-row-layout-id31_d08072-55 > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100% !important; min-height: 0;
}

/* Linke Spalte: Bild unten *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 > .kt-inside-inner-col {
  height:100% !important; display:flex; align-items:flex-end;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 figure {
  height:100% !important; display:flex; align-items:flex-end; margin:0; width:100%;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 img {
  display:block; max-height:100% !important; width:auto; height:auto; object-fit:contain;
}

/* Rechte Spalte Grundlayout *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6a81ac-50 > .kt-inside-inner-col {
  display:flex; flex-direction:column; height:100%; min-height:0;
}

/* Titel: progress-basiert ausblenden (0..1) *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6458a0-48 {
  --titleHide: 0; /* JS setzt 0..1 *//*
  flex:0 0 auto;
  transform: translateY(calc(-28px * var(--titleHide)));
  opacity: calc(1 - var(--titleHide));
  transition: transform .12s linear, opacity .12s linear;
}
.kb-row-layout-id31_d08072-55 .title-collapsed .kadence-column31_6458a0-48 {
  opacity:0; transform:translateY(-28px);
  height:0; max-height:0; margin:0; padding:0; pointer-events:none;
}

/* Buttons sticky oben *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_8903d5-68 {
  position: sticky;
  top: var(--marcel-sticky-top, 0px);
  z-index: 20;
  flex:0 0 auto;
  background: transparent;
}

/* Slot: enthält den Sticky-Stack *//*
.kb-row-layout-id31_d08072-55 .js-step-slot {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
  z-index: 1;
  display:block;
}

/* Sticky-Stack: jedes Pane ist sticky unterhalb der Buttons *//*
.js-step-slot .step-pane {
  position: sticky;
  top: var(--stack-top, 0px);          /* = Buttons-Unterkante *//*
  min-height: var(--stack-height, 300px); /* = Boxhöhe - Buttons-Höhe *//*
  padding: 0; margin: 0;
  background: transparent;
  z-index: 0; /* JS staffelt *//*
}
.js-step-slot .step-pane .pane-inner {
  transform: translateY(var(--pane-shift, 0px)); /* kleine Parallax optional *//*
  transition: transform .12s linear;
}

/* Original Steps verstecken (Inhalt wird in Panes kopiert) *//*
#step1, #step2, #step3 { display:none !important; }

/* Unsichtbarer Track für Scrollstrecke *//*
.step-track { display:block; visibility:hidden; pointer-events:none; background:transparent; height:0; }

.kb-row-layout-id31_6312e9-c1, .kb-row-layout-id31_6312e9-c1 * { box-sizing: border-box; }
*/
/** --------- ENDE v4.1 -------- */





/** --------- STICKY EFFECT MARCEL (v3 smooth) -------- *//*
.kb-row-layout-id31_6312e9-c1 { position: relative; z-index: 0; }
.kb-row-layout-id31_6312e9-c1.is-pinned {
  position: fixed; inset: 0; height: 100vh; width: 100%; z-index: 3;
}
.kb-row-layout-id31_6312e9-c1 + .pin-spacer { display:block; height:0; }

/* Box 600px *//*
.kb-row-layout-id31_d08072-55 { height: 600px; overflow: visible; margin: 0 auto; }

/* Nur Top-Level-Spalten stretchen *//*
.kb-row-layout-id31_d08072-55 > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100% !important; min-height: 0;
}

/* Linke Spalte: Bild unten *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 > .kt-inside-inner-col {
  height:100% !important; display:flex; align-items:flex-end;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 figure {
  height:100% !important; display:flex; align-items:flex-end; margin:0; width:100%;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 img {
  display:block; max-height:100% !important; width:auto; height:auto; object-fit:contain;
}

/* Rechte Spalte *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6a81ac-50 > .kt-inside-inner-col {
  display:flex; flex-direction:column; height:100%; min-height:0;
}

/* Titel "scrollt weg": wir steuern es über Variablen (0..1) *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6458a0-48 {
  --titleHide: 0; /* JS setzt 0..1 *//*
  flex:0 0 auto;
  transform: translateY(calc(-24px * var(--titleHide)));
  opacity: calc(1 - var(--titleHide));
  transition: transform .12s linear, opacity .12s linear;
}

/* Sobald wir den Cut erreichen, Platz einklappen (für mehr Raum im Slot) *//*
.kb-row-layout-id31_d08072-55 .title-collapsed .kadence-column31_6458a0-48 {
  opacity:0; transform:translateY(-24px);
  height:0; max-height:0; margin:0; padding:0; pointer-events:none;
}

/* Buttons sticky *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_8903d5-68 {
  position: sticky; top: var(--marcel-sticky-top, 0px); z-index: 10; flex:0 0 auto;
  background: transparent;
}

/* Step-Slot: wir rendern Layer übereinander und blenden *//*
.kb-row-layout-id31_d08072-55 .js-step-slot {
  position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; z-index: 1;
  display:block;
}
.js-step-slot .step-layer {
  position:absolute; inset:0;
  opacity:0; transform: translateY(8px);
  transition: opacity .18s linear, transform .18s linear;
  will-change: opacity, transform;
}
.js-step-slot .step-layer.is-active {
  opacity:1; transform: translateY(0);
}

/* Original-Steps nicht anzeigen *//*
#step1, #step2, #step3 { display:none !important; }

/* Unsichtbarer Track für Scroll-Strecke *//*
.step-track { display:block; visibility:hidden; pointer-events:none; background:transparent; height:0; }

.kb-row-layout-id31_6312e9-c1, .kb-row-layout-id31_6312e9-c1 * { box-sizing: border-box; }
*/
/** --------- ENDE v3 -------- */

/** --------- v2 step -------- */

/* Section: Basis + Pin-Zustand *//*
.kb-row-layout-id31_6312e9-c1 { position: relative; z-index: 0; }
.kb-row-layout-id31_6312e9-c1.is-pinned {
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100%;
  z-index: 3;
}

/* Spacer: wird nur per JS befüllt *//*
.kb-row-layout-id31_6312e9-c1 + .pin-spacer { display:block; height:0; }

/* ----- Weiße Box: 600px, KEIN overflow hier ----- *//*
.kb-row-layout-id31_d08072-55 {
  height: 600px;
  overflow: visible;        /* wichtig: sticky-Buttons funktionieren *//*
  margin: 0 auto;
}

/* Nur die ZWEI Top-Level-Spalten auf Boxhöhe ziehen (links/rechts) *//*
.kb-row-layout-id31_d08072-55 > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100% !important;
  min-height: 0;
}

/* Linke Spalte: Bild unten andocken *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 > .kt-inside-inner-col {
  height:100% !important;
  display:flex;
  align-items:flex-end;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 figure {
  height:100% !important;
  display:flex;
  align-items:flex-end;
  margin:0;
  width:100%;
}
.kb-row-layout-id31_d08072-55 .kadence-column31_773ee0-78 img {
  display:block;
  max-height:100% !important;
  width:auto;
  height:auto;
  object-fit:contain;
}
.kb-row-layout-id31_d08072-55 .wp-block-kadence-image img { display:block; } /* safety */

/* Rechte Spalte: Struktur *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6a81ac-50 > .kt-inside-inner-col {
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
}

/* Titel: einklappbar nach Aktivierung *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_6458a0-48 {
  flex:0 0 auto;
  transition:
    opacity .25s ease,
    transform .25s ease,
    height .25s ease,
    max-height .25s ease,
    margin .25s ease,
    padding .25s ease;
  will-change: opacity, transform, height, margin, padding;
}
.kb-row-layout-id31_d08072-55
.kadence-column31_6a81ac-50 > .kt-inside-inner-col.title-hidden
.kadence-column31_6458a0-48 {
  opacity:0;
  transform:translateY(-8px);
  height:0;
  max-height:0;
  margin:0;
  padding:0;
  pointer-events:none;
}

/* Buttons sticky oben, über dem Slot *//*
.kb-row-layout-id31_d08072-55 .kadence-column31_8903d5-68 {
  position: sticky;
  top: var(--marcel-sticky-top, 0px); /* per JS gesetzt (Adminbar) *//*
  z-index: 10;
  flex:0 0 auto;
  background: transparent;
}

/* Slot für Step-Inhalte *//*
.kb-row-layout-id31_d08072-55 .js-step-slot {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
  display:block;
}

/* ORIGINAL-Step-Artikel komplett aus Layout nehmen *//*
#step1, #step2, #step3 {
  display:none !important;
}

/* Unsichtbarer Scroll-Track hinter der Section (liefert die Scrollstrecke) *//*
.step-track {
  display:block;
  visibility: hidden;   /* unsichtbar, aber nimmt Platz ein *//*
  pointer-events: none;
  background: transparent;
  height: 0;            /* wird per JS gesetzt *//*
}

/* Kein ungewolltes Stretchen von inneren Columns *//*
.kb-row-layout-id31_d08072-55 .wp-block-kadence-column { min-height: auto; }

/* Safety gegen Layout-Shifts *//*
.kb-row-layout-id31_6312e9-c1,
.kb-row-layout-id31_6312e9-c1 * { box-sizing: border-box; }
*/
/** --------- ENDE STCKY EFFECT MARCEL -------- */
/* -------------------------------------------- */



/* Section selbst als "Zentrier-Container" */
/* Äußere Section sticky fixieren */
/*
.kb-row-layout-id31_6312e9-c1 {
  position: sticky !important;
  top: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}*/

/* Innere Box: begrenzen und ausrichten */
/*
.kb-row-layout-id31_d08072-55 {
  max-height: 600px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}*/

/* Scroll-Verhalten fixen: kein internes Scrollen */
/*
.kb-row-layout-id31_d08072-55 .kt-inside-inner-col {
  overflow: visible !important;
}*/




/* Versprechen Zahlen */
.versprechen {
  width: 70px;              /* oder 3rem, clamp() etc. */
  aspect-ratio: 1 / 1;      /* macht aus width automatisch gleiche Höhe */
  border-radius: 50%;
  display: grid;            /* einfache Zentrierung */
  place-items: center;      /* vertikal + horizontal */
  /*background: #082078;
  color: #fff;
  font-weight: 700;*/
}

/* Kunden Logos */
.kunde-svg img {
    opacity: .8;
    filter: grayscale(100%);
	width: 100%;
}
.kunde-svg img:hover {
    opacity: 1;
    filter: none;
}

/* Fix: Swiper-Slider korrekt darstellen */
.my-projects-slider {
    width: 100%;
    margin: 0 auto;
}
.my-projects-slider .swiper-wrapper {
    display: flex;
	padding: 0 50px;
}
.my-projects-slider .swiper-slide {
    flex-shrink: 0;
    /*width: auto !important;*/
	width: 28% !important;
    min-width: unset !important;
    box-sizing: border-box;
}

/* Optional: Bildgrößen begrenzen */
.my-projects-slider img {
    width: 100%;
    height: auto;
    display: block;
}
.swiper-slide {
    text-align: center;
}
.swiper-slide h3 {
    margin-top: 10px;
    font-size: 1.1em;
}
.swiper-button-prev, .swiper-button-next {
    color: #ddd !important;
}

/** SHOP PREISE SALE**/
.wc-block-components-product-price {
	line-height: 1em;
}
.sale-price ins {
	color: var(--wp--preset--color--vivid-red);
	line-height: 1em;
}
.sale-price del {
    order: 2;
    font-size: 60% !important;
	margin-left: 1em;
	font-weight: 400;
}
.price-note {
	display: block;
    font-size: 12px;
	color: #777;
    font-weight: 400;
    line-height: 1em;
	margin: .5em 0;
}

/** WOO STREICHPREIS */

/* Schräge Linie */
/*
.woocommerce del {
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.woocommerce del::after {
	content: "";
	position: absolute;
	left: -.3em;
	top: 50%;
	width: calc(100% + .6em);
	height: 2px;
	background: var(--wp--preset--color--vivid-red);
	transform: rotate(-10deg);
	transform-origin: center;
}
*/


/* Kreuz */
.woocommerce del {
	position: relative;
	display: inline-block;
	text-decoration: none;
}

.woocommerce del::before,
.woocommerce del::after {
	content: "";
	position: absolute;
	left: -.3em;
	top: 50%;
	width: calc(100% + .6em);
	height: 2px;
	background: crimson;
}

.woocommerce del::before {
  	transform: rotate(15deg);
	transition: width .4s ease;
}

.woocommerce del::after {
  	transform: rotate(-15deg);
	transition: width .4s ease;
}


/** MENU DESCRIPTION */
.menu-item {
	position: relative;
}
.menu-item .menu-item-description {
	position: absolute;
	top: calc(50% - 3em);
    left: 60%;
	background-color: var(--theme-palette-color-2);
    color: var(--theme-text-color);
    font-size: .7em;
	letter-spacing: 0;
    padding: .2em .5em;
	border-radius: .5em;
	line-height: 1em;
}
.menu-item.menu-item-has-children .menu-item-description {
    left: 50%;
}
.et_mobile_menu .menu-item .menu-item-description {
    left: 5em;
	top: -.5em;
}
.menu-item-description:before {
	content: "";
	position: absolute;
	bottom: -.4em;
    left: .8em;
	width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    border-style: solid;
    border-width: .5em .5em 0 .5em;
    border-color: var(--theme-palette-color-2) transparent transparent transparent;
}
/** ENDE MENU DESCRIPTION */

/*
.fadeIn {
  opacity: 0;
  transform: translateY(20px); /* Start leicht nach unten */ /*
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fadeIn.visible {
  opacity: 1;
  transform: translateY(0);
}
*/

/* ---------------------------------*/
/* -------- ANIMATIONEN ----------- */
/* ---------------------------------*/

/* ----- BEISPIELE ------ */
/*
<div class="fadeIn d600 t1200">...</div>
<div class="slideIn-right d300">...</div>
<div class="typingText d300 t4000">...</div>

<p class="typingText">Nur einmal tippen…</p>
<p class="typingText typingRepeat d300 t4000 p1500">Und in Schleife…</p>
d300 = Start-Verzögerung 300 ms
t4000 = Tipp-/Löschdauer 4000 ms
p1500 = Pause am Ende 1500 ms
*/

/* Basis */
.fadeIn, .zoomIn, .slideIn-left, .slideIn-right {
  opacity: 0;
  will-change: opacity, transform;
  /* Standard-Timing per CSS-Variablen (überschreibbar) */
  --a-delay: 0ms;
  --a-dur: 800ms;
  transition:
    opacity var(--a-dur) ease-out var(--a-delay),
    transform var(--a-dur) ease-out var(--a-delay);
}

/* Varianten: Startzustände */
.fadeIn { transform: translateY(20px); }
.zoomIn { transform: scale(0.95); }
.slideIn-left { transform: translateX(-24px); }
.slideIn-right { transform: translateX(24px); }

/* Sichtbar-Zustand */
.fadeIn.visible,
.zoomIn.visible,
.slideIn-left.visible,
.slideIn-right.visible {
  opacity: 1;
  transform: none;
}

/* Motion-Preference: Animationen reduzieren */
@media (prefers-reduced-motion: reduce) {
  .fadeIn, .zoomIn, .slideIn-left, .slideIn-right {
    transition: none;
  }
}

/* Startzustand: unsichtbar + leicht nach unten/klein */
#isotope .kb-gallery-ul .kadence-blocks-gallery-item {
  opacity: 0;
  transform: translateY(16px) scale(0.98);
  transition: opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1);
  will-change: opacity, transform;
}

/* Wenn im Viewport und Bild geladen: sichtbar */
#isotope .kb-gallery-ul .kadence-blocks-gallery-item.is-revealed {
  opacity: 1;
  transform: none;
}

/* dezentes Staggering pro Zeile */
#isotope .kb-gallery-ul .kadence-blocks-gallery-item:nth-child(2n)   { transition-delay: .10s; }
#isotope .kb-gallery-ul .kadence-blocks-gallery-item:nth-child(3n)   { transition-delay: .15s; }
#isotope .kb-gallery-ul .kadence-blocks-gallery-item:nth-child(4n)   { transition-delay: .30s; }
/* Animation nett, aber NICHT unsichtbar starten */
#isotope .kb-gallery-ul .kadence-blocks-gallery-item {
  transition: transform .35s ease, opacity .25s ease;
}

/* === SCI Year Filter UI === */
.sci-yearfilter{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
.sci-yearfilter__btn{border:1px solid currentColor;padding:.35rem .7rem;border-radius:999px;font:inherit;cursor:pointer;opacity:.75;transition:transform .15s ease,opacity .15s ease}
.sci-yearfilter__btn:hover{opacity:1;transform:translateY(-1px)}
.sci-yearfilter__btn.is-active{opacity:1;font-weight:600}
.sci-yearfilter__empty{opacity:.8;font-style:italic}
.kb-gallery-ul .is-hidden{display:none !important;}


/* Basis */
.typingText {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid #082078;
  will-change: width;
  /* Variablen */
  --a-delay: 0ms;
  --a-dur: 3000ms;
  --a-steps: 30;
  --a-pause: 1200ms;
  --a-ch: calc(var(--a-steps) * 1ch);
  width: 0ch;
}

/* Einmalig (wenn nicht Repeat) */
.typingText:not(.typingRepeat) {
  animation:
    typing var(--a-dur) steps(var(--a-steps), end) var(--a-delay) forwards,
    blink .75s step-end infinite;
}

/* Repeat-Grundzustand: keine Basis-Animation */
.typingText.typingRepeat { animation: none; }

/* WICHTIG: höhere Spezifität gegen .typingRepeat */
.typingText.typingRepeat.is-typing {
  animation:
    typing var(--a-dur) steps(var(--a-steps), end) 0ms both,
    blink .75s step-end infinite;
}
.typingText.typingRepeat.is-erasing {
  animation:
    typing var(--a-dur) steps(var(--a-steps), end) 0ms reverse both,
    blink .75s step-end infinite;
}

/* Keyframes */
@keyframes typing { from { width: 0ch } to { width: var(--a-ch) } }
@keyframes blink { 50% { border-color: transparent } }

/* Falls irgendwo global transitions gesetzt sind: */
.typingText { transition: none !important; }

@media (prefers-reduced-motion: reduce) {
  .typingText, .typingText.typingRepeat,
  .typingText.typingRepeat.is-typing,
  .typingText.typingRepeat.is-erasing {
    animation: none !important;
    width: auto !important;
    border-right: 0;
  }
}

/* Schwebender Effekt */
.float {
  /* separate Float-Variablen (kollidieren nicht mit --a-dur deiner Transitions) */
  --f-amp: 8px;            /* Amplitude (Pixel) */
  --f-rot: 1.5deg;         /* max. Kippwinkel */
  --f-dur: 3200ms;         /* Dauer einer Auf/Ab-Bewegung */
  --a-delay: 0ms;          /* nutzt dein bekanntes Delay-Flag d### */

  will-change: transform;
  animation: floatY var(--f-dur) ease-in-out var(--a-delay) infinite;
  animation-play-state: paused; /* erst mit .visible starten */
  transform: translate3d(0, 0, 0) rotate(0);
}

/* Start, wenn im Viewport (dein IO setzt .visible) */
.float.visible { animation-play-state: running; }

/* Vertikales Bobbing + sanfter Tilt */
@keyframes floatY {
  0%   { transform: translate3d(0, 0, 0)         rotate(calc(var(--f-rot) * -1)); }
  50%  { transform: translate3d(0, calc(var(--f-amp) * -1), 0) rotate(0); }
  100% { transform: translate3d(0, 0, 0)         rotate(var(--f-rot)); }
}

/* Optionale Schatten-Atmung (zart) */
.floatShadow {
  --fs-dur: 3200ms;
  animation: floatShadow var(--fs-dur) ease-in-out var(--a-delay) infinite;
  animation-play-state: paused;
}
.floatShadow.visible { animation-play-state: running; }

@keyframes floatShadow {
  0%,100% { filter: drop-shadow(0 6px 8px rgba(0,0,0,.06)); }
  50%     { filter: drop-shadow(0 12px 16px rgba(0,0,0,.08)); }
}

/* Motion-Preference */
@media (prefers-reduced-motion: reduce) {
  .float, .floatShadow { animation: none !important; }
}

/* Kreise/„Bahnen“ */
.btn-atom{
  --size: 56px;
  --ring: 2px;
  --speed: 3s;
  --c: #082078;
  position: relative;
  display: inline-grid;
  place-items: center;
  width: var(--size);
  aspect-ratio: 1;
  border-radius: 999px;
  color: var(--c);
  isolation: isolate;
}

.btn-atom__icon{ font-size: calc(var(--size)*.42) }

/* Kreise/„Bahnen“ */
.btn-atom__orbit{
  position: absolute; inset: 0;
  border: var(--ring) solid currentColor;
  border-radius: 50%;
  opacity: .35;
  animation: atom-spin var(--speed) linear infinite;
}
.btn-atom__orbit--a{
  transform: rotate(0deg) skewX(12deg);
}
.btn-atom__orbit--b{
  transform: rotate(60deg) skewX(12deg);
  animation-direction: reverse;
  opacity: .25;
}

/* Elektron als kleiner Punkt, der mit der Bahn rotiert */
.btn-atom__orbit::before{
  content:"";
  position: absolute;
  top: -4px; left: 50%;
  width: 8px; height: 8px;
  transform: translateX(-50%);
  background: currentColor;
  border-radius: 50%;
}

@keyframes atom-spin { to { transform: rotate(360deg) } }

/* optionales Hover-Feedback */
.btn-atom:hover .btn-atom__icon { transform: scale(1.06); transition: .2s }
.bde-pulse{
  --dotsize: 60px;
  --iconsize: 25px;
  --dotcolor: var(--theme-palette-color-2, #96bfd1);
  --dotradius: 50%;
  --dotdur: 2s;          /* Dauer eines Pings */
  --dotscale: 1.7;         /* wie weit die Welle „wächst“ */
	position: fixed;
    width: var(--dotsize);
    height: var(--dotsize);
	top: 50%;
    right: calc( var(--dotsize) - 52px );
	transform: translatey(-50%);
}
.bde-pulse-dot{
  position: relative;
  display: inline-flex;
  width: var(--dotsize);
  height: var(--dotsize);
}

.btn-atom-icon{
	font-size: var(--iconsize);
    position: absolute;
    top: calc((var(--dotsize) - var(--iconsize)) / 2);
    left: calc((var(--dotsize) - var(--iconsize)) / 2);
    z-index: 2;
    color: #fff;
	
	display: inline-flex;
    justify-content: center;
    align-items: center;
    border-width: 0;
}
.btn-atom-icon svg{
	width: 1em;
    height: 1em;
}

/* fester Punkt oben */
.bde-pulse-dot__core{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: var(--dotradius);
  background: var(--theme-palette-color-2, #96bfd1);
}

/* die Welle darunter */
.bde-pulse-dot__ping{
  position: absolute;
  inset: 0;
  border-radius: var(--dotradius);
  background: var(--theme-palette-color-2, #96bfd1);
  opacity: .6;
  transform: scale(1);
  will-change: transform, opacity;
  animation: bde_pulse_dot_ping var(--bdePulseDotPingDuration, var(--dotdur)) ease-out infinite;
}

/* Keyframes: größer + transparenter */
@keyframes bde_pulse_dot_ping{
  0%   { transform: scale(1);                opacity: .6; }
  70%  { transform: scale(var(--dotscale));  opacity: 0;  }
  100% { transform: scale(var(--dotscale));  opacity: 0;  }
}

/* Optional: NUR EINMAL abspielen */
.bde-pulse-dot--once .bde-pulse-dot__ping{
  animation-iteration-count: 1;
}

/* Optional: doppelte Welle (zweiter Ping zeitversetzt) */
.bde-pulse-dot--double .bde-pulse-dot__ping::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--theme-palette-color-2, #96bfd1);
  opacity: .45;
  animation: bde_pulse_dot_ping var(--bdePulseDotPingDuration, var(--dur)) ease-out infinite;
  animation-delay: calc((var(--bdePulseDotPingDuration, var(--dur))) / 2);
}

/* Motion-Preference respektieren */
@media (prefers-reduced-motion: reduce){
  .bde-pulse-dot__ping,
  .bde-pulse-dot--double .bde-pulse-dot__ping::after{
    animation: none !important;
  }
}

.lauftext{
  --gap:.25em; --duration:60s; --loop:0px;
  overflow-x:hidden; overflow-y:visible; display:block;
  line-height:1.1; padding-block:.1em;
  font-weight: 800;
}
.lauftext .track{
  display:inline-flex; gap:var(--gap); width:max-content; white-space:nowrap;
  will-change:transform; animation:lauftext-marquee var(--duration) linear infinite;
  backface-visibility:hidden; transform:translateZ(0);
}
.lauftext .chunk{ display:inline-flex; align-items:center; gap:var(--gap); font-weight: 800; }

@keyframes lauftext-marquee{
  from{ transform:translateX(0); }
  to  { transform:translateX(var(--loop)); } /* z.B. -480px */
}

/* Richtung & Geschwindigkeiten */
.lauftext-left  .track{ animation-direction:normal; }
.lauftext-right .track{ animation-direction:reverse; }
.lauftext-120{--duration:12s} .lauftext-200{--duration:20s}
.lauftext-300{--duration:30s} .lauftext-450{--duration:45s}
.lauftext-600{--duration:60s} .lauftext-900{--duration:90s}

@media (prefers-reduced-motion: reduce){ .lauftext .track{ animation:none; } }



/* Grundlayout */
.linkbox { position: relative; }
.linkbox .linkbox__a {
  position: absolute;
  inset: 0;                 /* füllt die ganze Box */
  z-index: 5;
  display: block;
  text-indent: -9999px;     /* Text visuell ausblenden */
  overflow: hidden;
  border-radius: inherit;   /* übernimmt Rundungen der Box */
}

/* Pointer + Hover-Effekt optional */
.linkbox { cursor: pointer; }
.linkbox:hover { filter: brightness(0.98); }

/* Damit echte innere Links/Buttons weiterhin klickbar bleiben */
.linkbox a:not(.linkbox__a),
.linkbox button,
.linkbox [role="button"] {
  position: relative;
  z-index: 6;
}






/*
.lauftext {
  --gap: .15em;
  --duration: 60s;
  --loop: 0px;
  overflow-x: hidden;
  overflow-y: visible;
  line-height: 1.1;
  display: block;
}
.lauftext .track {
  display: inline-flex;gap: var(--gap); width: max-content; white-space: nowrap;
  will-change: transform; animation: lauftext-marquee var(--duration) linear infinite;
}
@keyframes lauftext-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(var(--loop)); } /* z.B. -480px *//*
}

/* Richtung (reverse kehrt die Laufrichtung um) *//*
.lauftext-left  .track { animation-direction: normal; }
.lauftext-right .track { animation-direction: reverse; }

/* Geschwindigkeiten *//*
.lauftext-120 { --duration: 12s; } .lauftext-200 { --duration: 20s; }
.lauftext-300 { --duration: 30s; } .lauftext-450 { --duration: 45s; }
.lauftext-600 { --duration: 60s; } .lauftext-900 { --duration: 90s; }

@media (prefers-reduced-motion: reduce) { .lauftext .track { animation: none; } }
*/



/* SLIDER REZESIONEN */
/*
.mt-reviews-slider {
  width: 100%;
  --mt-gap: 28px;
  --mt-text:rgba(255,255,255,1); /* #111; */ /*
  --mt-muted: rgba(236, 234, 235, 0.5); /* #666; */ /*
  --mt-accent:#ffb400;
  --mt-bg:transparent; /* rgba(255,255,255,1); */ /*
}
.mt-reviews-slider .swiper { width:100%; }
.mt-reviews-slider .swiper-slide { display:flex; justify-content:center; }
.mt-review-card {
  width:min(820px, 92vw);
  background:var(--mt-bg);
  border-radius:1em;
  padding:0 2em;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  min-height: var(--mt-card-h, auto);
}

.mt-reviews-slider .swiper { min-height: var(--mt-card-h, auto);padding: 5px 0px; }

element.style {
}
.mt-reviews-slider .swiper-pagination-bullet {
    background: var(--mt-muted); /* var(--swiper-pagination-bullet-inactive-color, #000);*/ /*
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .8);
}

.mt-reviews-slider .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--theme-palette-color-2);
}

.mt-review-top { display:flex; align-items:center; gap:12px; margin-bottom:10px; }

/* --- STARS: robust, ohne <i>, kein Umbruch --- */ /*
.mt-review-stars {
  position: relative;
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 2px;
  white-space: nowrap;
  font-style: normal;
  color: var(--mt-accent);
}
.mt-review-stars::before { content:'★★★★★'; opacity:.25; }
.mt-stars-fill {
  position:absolute; top:0; left:0; height:100%;
  width: var(--fill, 0%);
  overflow:hidden; white-space:nowrap; font-style:normal;
}
.mt-stars-fill::before { content:'★★★★★'; opacity:1; }

.mt-review-rating { font-weight:600; color:var(--mt-text); margin-left:8px; }
.mt-review-content {
  text-align:left;
  color:var(--mt-text);
  font-size:0.85rem;
  line-height:1.55;
  margin:10px 0 16px;
}

.mt-review-meta {
  color:var(--mt-muted); font-size:.95rem; display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.mt-review-title { font-weight:700; color:var(--mt-text); }
.mt-review-sep { opacity:.3; }

/* --- Quelle + Badge (nur Bild klickbar) --- */ /*
.mt-review-source-wrap { margin-left:auto; display:inline-flex; align-items:center; gap:4px; }
.mt-review-source-label { font-size:.75rem; color:var(--mt-muted); }
.mt-review-source {
  display:inline-flex; align-items:center;
  padding:6px 10px; border-radius:4px; background:#fff;
  text-decoration:none; transition:transform .15s ease, background .2s ease; color:var(--mt-text);
}
.mt-review-source:hover { transform: translateY(-1px); background: rgba(255,255,255,.8); }
.mt-review-source img { display:block; height:16px; width:auto; }

.mt-reviews-slider .swiper-pagination { position:relative; margin-bottom:16px; }

/* --- CTA unter dem Slider --- */ /*
.mt-reviews-cta { margin-top:14px; display:flex; justify-content:center; }
.mt-reviews-cta-btn {
  display:inline-block; padding:10px 16px; border-radius:10px;
  background:#f5f7ff; color:#0b1a5e; text-decoration:none; font-weight:600;
  transition: transform .15s ease, background .2s ease;
}
.mt-reviews-cta-btn:hover { transform: translateY(-1px); background:#eef2ff; }

/* Screenreader-Text (optional) */ /*
.mt-sr-only {
  position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

@media (max-width:480px){ .mt-review-source-label{display:none;} }
*/



/*
.mt-reviews-slider { --mt-gap: 28px; --mt-text:#111; --mt-muted:#666; --mt-accent:#ffb400; --mt-bg:#fff; }
.mt-reviews-slider .swiper { width:100%; }
.mt-reviews-slider .swiper-slide { display:flex; justify-content:center; }
.mt-review-card {
  width:min(820px, 92vw);
  background:var(--mt-bg);
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.mt-review-top { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.mt-review-stars {
  position: relative;
  display: inline-block;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 2px;
  white-space: nowrap;   /* verhindert 4+1 Umbruch *//*
  font-style: normal;    /* kein Kursiv *//*
  color: var(--mt-accent);
}
.mt-review-stars::before {
  content: '★★★★★';
  opacity: .25;          /* helle Ebene *//*
}
.mt-stars-fill {
  position: absolute;
  top: 0; left: 0;
  height: 100%;
  width: var(--fill, 0%); /* 0–100% *//*
  overflow: hidden;       /* „abschneiden“ *//*
  white-space: nowrap;
  font-style: normal;
}
.mt-stars-fill::before {
  content: '★★★★★';
  opacity: 1;             /* volle Deckkraft *//*
}
.mt-review-stars > i {
  position:absolute; inset:0 0 auto 0; overflow:hidden; display:block;
}
.mt-review-stars > i::before { content:'★★★★★'; letter-spacing:2px; color:var(--mt-accent); }
.mt-review-rating { font-weight:600; color:var(--mt-text); margin-left:8px; }
.mt-review-content { text-align:left; color:var(--mt-text); font-size:1.05rem; line-height:1.55; margin:10px 0 16px; }
.mt-review-meta { color:var(--mt-muted); font-size:.95rem; display:flex; gap:10px; flex-wrap:wrap; }
.mt-review-title { font-weight:700; color:var(--mt-text); }
.mt-review-sep { opacity:.3; }
.mt-review-from { font-style:italic; }
.mt-reviews-slider .swiper-pagination { position:relative; margin-top:16px; }

/* kleines, rechts ausgerichtetes Source-Badge (nur Bild klickbar) *//*
.mt-review-meta { align-items: center; }
.mt-review-source {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 8px;
  background: rgba(0,0,0,.03);
  text-decoration: none;
  transition: transform .15s ease, background .2s ease;
  color: var(--mt-text);
}
.mt-review-source:hover { transform: translateY(-1px); background: rgba(0,0,0,.06); }
.mt-review-source img {
  display: block;
  height: 24px;   /* passe bei Bedarf an *//*
  width: auto;
  border-radius: 4px;
}

/* Screenreader-Text, falls du ihn verwenden möchtest *//*
.mt-sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
*/

