/* ==========================================================================
   OPTIONALE BAUSTEIN-VARIANTEN (17.09.2026)
   Alles hier greift nur, wenn eine Variante im Baustein gewählt ist bzw. der
   Inhalt sie auslöst. Standarddarstellung der Bausteine bleibt unverändert.
   Erstmals eingesetzt auf /cloud/vmware-alternativen-migration.
   ========================================================================== */

/* ---- Zwei Textspalten: rechte Spalte als Kasten (`spalte_2: kasten`) ------
   Kurze Kernpunkte neben dem Fließtext. Ruhige Fläche wie eine Karte,
   Aufzählung mit Häkchen statt Neon-Kante. */
.k-cols--kasten > div:last-child {
  align-self: start;
  padding: var(--s5) var(--s4);
  border-radius: var(--r-3);
  background-color: var(--kyb-stage);
  background-image: var(--g-karte);
  box-shadow: 0 0 0 1px var(--kyb-line), var(--kante-oben);
}
.k-cols--kasten > div:last-child ul { gap: 0; }
.k-cols--kasten > div:last-child ul > li {
  position: relative;
  border-left: 0;
  padding: 11px 0 11px 30px;
  color: var(--kyb-text);
}
.k-cols--kasten > div:last-child ul > li + li { border-top: 1px solid var(--kyb-line); }
.k-cols--kasten > div:last-child ul > li:first-child { padding-top: 0; }
.k-cols--kasten > div:last-child ul > li:last-child { padding-bottom: 0; }
.k-cols--kasten > div:last-child ul > li::before {
  content: "";
  position: absolute; left: 0; top: calc(11px + .2em);
  width: 18px; height: 18px; border-radius: 50%;
  background: rgba(15, 255, 155, .12);
  box-shadow: inset 0 0 0 1px rgba(15, 255, 155, .35);
}
.k-cols--kasten > div:last-child ul > li:first-child::before { top: .2em; }
.k-cols--kasten > div:last-child ul > li::after {
  content: "";
  position: absolute; left: 6px; top: calc(11px + .2em + 5px);
  width: 6px; height: 4px;
  border-left: 1.5px solid var(--kyb-neon); border-bottom: 1.5px solid var(--kyb-neon);
  transform: rotate(-45deg);
}
.k-cols--kasten > div:last-child ul > li:first-child::after { top: calc(.2em + 5px); }
@media (min-width: 860px) {
  .k-cols--kasten.k-cols--66_33 { column-gap: var(--s7); }
}

/* ---- Vergleichstabelle: „statt"-Marke --------------------------------------
   Merkmale wie „Storage (statt vSAN)": das Merkmal steht lesbar in der
   Grundschrift, der abgelöste Begriff darunter als kleine gedämpfte Marke.
   Die Merkmalspalte wird dafür etwas breiter. */
.k-vgl--statt .k-vgl__ecke { width: 25%; }
.k-set.k-vgl--statt .k-vgl__t tbody tr th.k-vgl__merkmal {
  font-family: var(--font); font-size: .98rem; font-weight: 500;
  letter-spacing: 0; text-transform: none; color: var(--kyb-text);
}
.k-vgl__statt {
  display: table; margin-top: 6px;
  font-family: var(--mono); font-size: .68rem; font-weight: 400; letter-spacing: .02em;
  text-transform: none; color: var(--kyb-text-3);
}
.k-vgl__statt-wort { opacity: .6; }
/* Telefon-Karten: Merkmal und Marke in einer Zeile */
.k-vgl--statt .k-vgl__paar dt {
  font-family: var(--font); font-size: .82rem; letter-spacing: 0; text-transform: none;
  color: var(--kyb-text-3);
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
}
.k-vgl__paar dt .k-vgl__statt { display: inline-block; margin-top: 0; font-size: .64rem; }

/* ---- Ablauf als Linie (`steps`, `darstellung: ablauf`) ---------------------
   Offene Schritte statt Kacheln. Nummer im feinen Ring, Linie zum nächsten
   Schritt; der letzte Schritt trägt den gefüllten Neon-Punkt.
   Ab 1000 px waagerecht, darunter senkrecht mit Linie links. Keine Bewegung. */
.k-steps.k-steps--ablauf {
  list-style: none; padding: 0; margin-left: 0;
  gap: 0; background: transparent;
  grid-template-columns: 1fr;
}
.k-set > .kyb-lead + .k-steps--ablauf { margin-top: var(--s5); }
.k-steps--ablauf > .k-steps__item {
  position: relative;
  background: none; background-image: none; box-shadow: none; border-radius: 0;
  padding: 0 0 var(--s5) 56px;
}
.k-steps--ablauf > .k-steps__item:last-child { padding-bottom: 0; }
.k-steps--ablauf .k-steps__n {
  position: absolute; left: 0; top: -4px;
  display: grid; place-items: center;
  width: 36px; height: 36px; border-radius: 50%;
  font-size: .78rem; letter-spacing: 0; font-variant-numeric: tabular-nums;
  color: var(--kyb-neon);
  background: var(--kyb-stage);
  box-shadow: inset 0 0 0 1px rgba(15, 255, 155, .45);
  z-index: 1;
}
/* Verbindungslinie (senkrecht) */
.k-steps--ablauf > .k-steps__item:not(:last-child)::before {
  content: "";
  position: absolute; left: 17.5px; top: 36px; bottom: -2px;
  width: 1px;
  background: linear-gradient(to bottom, rgba(15, 255, 155, .45), var(--kyb-line-strong));
}
.k-steps--ablauf .k-steps__item h3 { margin-top: 0; }
.k-steps--ablauf .k-steps__item p { font-size: .95rem; }
/* Letzter Schritt: gefüllter Punkt */
.k-steps--ablauf > .k-steps__item:last-child .k-steps__n {
  color: var(--kyb-stage); font-weight: 600;
  background: var(--kyb-grad);
  box-shadow: 0 0 0 4px rgba(15, 255, 155, .12);
}

@media (min-width: 1000px) {
  .k-steps.k-steps--ablauf {
    grid-template-columns: none;
    grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
    column-gap: var(--s4);
  }
  .k-steps--ablauf > .k-steps__item { padding: 60px 0 0; }
  .k-steps--ablauf .k-steps__n { top: 0; }
  /* Verbindungslinie (waagerecht): vom Ring bis zum nächsten Ring */
  .k-steps--ablauf > .k-steps__item:not(:last-child)::before {
    left: 44px; right: calc(var(--s4) * -1 + 8px); top: 17.5px; bottom: auto;
    width: auto; height: 1px;
    background: linear-gradient(to right, rgba(15, 255, 155, .45), var(--kyb-line-strong));
  }
  .k-steps--ablauf > .k-steps__item:not(:last-child)::after {
    content: "";
    position: absolute; top: 15px; right: calc(var(--s4) * -1 + 8px);
    width: 5px; height: 5px;
    border-top: 1px solid var(--kyb-line-strong); border-right: 1px solid var(--kyb-line-strong);
    transform: rotate(45deg);
  }
  .k-steps--ablauf .k-steps__item h3 { padding-right: var(--s2); }
}
