/* Viva Blocks – [viva_naechster_schritt]  Nummerierte Schritte mit Verbindungspfeilen. */
.vk-steps__list { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 32px; margin: 48px 0 0 !important; padding: 0 !important; list-style: none !important; }
.vk-step { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 34px 30px 30px !important; border-radius: var(--vb-radius); background: var(--vb-bg); box-shadow: var(--vb-shadow); list-style: none !important; overflow: hidden; transition: transform .3s var(--vb-ease); }
.vk-step:hover { transform: translateY(-6px); }
.vk-step:not(:last-child)::after { content: ''; position: absolute; z-index: 2; top: 50%; right: -26px; width: 20px; height: 20px; border-top: 3px solid var(--vb-primary); border-right: 3px solid var(--vb-primary); transform: translateY(-50%) rotate(45deg); }
.vk-steps__list { overflow: visible; }
.vk-step { overflow: visible; }
.vk-step__num { position: absolute; top: 14px; right: 22px; font-family: var(--vb-font-heading); font-size: 3.4rem; font-weight: 700; line-height: 1; color: rgba(var(--vb-primary-rgb), .35); }
.vk-step__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--vb-primary-soft); color: var(--vb-accent); }
.vk-step__icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vb-block h3.vk-step__title { margin: 8px 0 0 !important; font-family: var(--vb-font-heading) !important; font-size: calc(var(--vb-fs) * 1.35) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--vb-text) !important; }
.vk-step__text { margin: 0 !important; color: var(--vb-muted); line-height: 1.6; }
.vk-step__link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 8px; font-weight: 700; color: var(--vb-accent) !important; text-decoration: none !important; }
.vk-step__link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--vb-ease); }
.vk-step:hover .vk-step__link svg { transform: translateX(4px); }
@media (max-width: 900px) {
	.vk-steps__list { grid-template-columns: 1fr; gap: 30px; max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
	.vk-step:not(:last-child)::after { top: auto; right: auto; bottom: -24px; left: 50%; transform: translateX(-50%) rotate(135deg); }
}
/* Kompakt: Icon links, Text rechts – wenig Höhe (Desktop & mobil) */
.vk-steps__list { gap: 28px; margin-top: 32px !important; }
.vk-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-content: start; align-items: start; padding: 20px 22px !important; background: var(--vb-bg-warm); box-shadow: none; border: 1px solid rgba(var(--vb-primary-rgb), .3); }
.vk-step:hover { transform: translateY(-3px); box-shadow: var(--vb-shadow); }
.vk-step__num { display: none; }
.vk-step__icon { grid-column: 1; grid-row: 1 / span 3; width: 44px; height: 44px; border-radius: 12px; background: var(--vb-bg); }
.vk-step__icon svg { width: 22px; height: 22px; }
.vb-block h3.vk-step__title { grid-column: 2; margin: 0 !important; font-size: calc(var(--vb-fs) * 1.15) !important; line-height: 1.3 !important; }
.vk-step__text { grid-column: 2; font-size: var(--vb-fs-small); line-height: 1.5; }
.vk-step__link { grid-column: 2; padding-top: 2px; font-size: var(--vb-fs-small); }
.vk-step:not(:last-child)::after { right: -22px; width: 14px; height: 14px; }
@media (max-width: 900px) {
	.vk-steps__list { gap: 22px; }
	.vk-step { padding: 16px 18px !important; }
	.vk-step:not(:last-child)::after { bottom: -18px; width: 12px; height: 12px; }
}/* Auf beigem Abschnitt: Karten weiss, Symbol-Kachel beige */
.vb-section--warm .vk-step { background: var(--vb-bg); }
.vb-section--warm .vk-step__icon { background: var(--vb-bg-warm); }