.ik-vb-page {
    overflow: clip;
}

.ik-vb-section {
    padding-top: var(--ik-vb-pt, 88px);
    padding-bottom: var(--ik-vb-pb, 88px);
}

.ik-vb-bg-white { background: #fff; }
.ik-vb-bg-light { background: var(--ik-surface, #f5f7fa); }
.ik-vb-bg-blue { color: rgba(255,255,255,.86); background: var(--ik-blue, var(--ik-blue,#0d92cf)); }
.ik-vb-bg-dark { color: rgba(255,255,255,.84); background: var(--ik-dark, #20252b); }

.ik-vb-bg-blue h1,
.ik-vb-bg-blue h2,
.ik-vb-bg-blue h3,
.ik-vb-bg-dark h1,
.ik-vb-bg-dark h2,
.ik-vb-bg-dark h3 {
    color: #fff;
}

.ik-vb-bg-blue a:not(.ik-button),
.ik-vb-bg-dark a:not(.ik-button) {
    color: #fff;
}

.ik-vb-inner--standard {
    max-width: 900px;
}

.ik-vb-inner--full {
    width: 100%;
    max-width: none;
    padding-inline: clamp(20px, 4vw, 72px);
}

.ik-vb-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;
    color: var(--ik-blue,#0d92cf);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ik-vb-eyebrow::before {
    width: 25px;
    height: 2px;
    content: "";
    background: currentColor;
}

.ik-vb-bg-blue .ik-vb-eyebrow,
.ik-vb-bg-dark .ik-vb-eyebrow {
    color: #cfe0f8;
}

.ik-vb-heading {
    max-width: 800px;
    margin-bottom: clamp(34px, 5vw, 58px);
}

.ik-vb-heading h2,
.ik-vb-text h2,
.ik-vb-image-text h2,
.ik-vb-cta h2 {
    margin-bottom: .38em;
}

.ik-vb-intro,
.ik-vb-lead,
.ik-vb-richtext {
    font-size: 1.04em;
    line-height: 1.72;
}

.ik-vb-intro p:last-child,
.ik-vb-lead p:last-child,
.ik-vb-richtext p:last-child {
    margin-bottom: 0;
}

.ik-vb-hero-grid,
.ik-vb-image-text,
.ik-vb-cta-grid {
    display: grid;
    align-items: center;
    gap: clamp(36px, 6vw, 84px);
}

.ik-vb-hero-grid {
    grid-template-columns: minmax(0, 1.03fr) minmax(320px, .97fr);
}

.ik-vb-hero-content {
    max-width: 720px;
}

.ik-vb-hero h1 {
    max-width: 900px;
    margin-bottom: .35em;
}

.ik-vb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.ik-vb-media {
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 22px 60px rgba(32,37,43,.13);
}

.ik-vb-media img,
.ik-vb-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ik-vb-hero .ik-vb-media {
    min-height: 440px;
    aspect-ratio: 4 / 3;
}

.ik-vb-image-text.ik-vb-image-left {
    grid-template-columns: minmax(0, var(--ik-vb-image-desktop, 48fr)) minmax(0, var(--ik-vb-text-desktop, 52fr));
}

.ik-vb-image-text.ik-vb-image-right {
    grid-template-columns: minmax(0, var(--ik-vb-text-desktop, 52fr)) minmax(0, var(--ik-vb-image-desktop, 48fr));
}

.ik-vb-image-right .ik-vb-media {
    order: 2;
}

.ik-vb-image-right .ik-vb-hero-content,
.ik-vb-image-right .ik-vb-image-text__content {
    order: 1;
}

.ik-vb-image-text .ik-vb-media {
    min-height: 390px;
    aspect-ratio: 4 / 3;
}

.ik-vb-text {
    max-width: 900px;
}

.ik-vb-text--center {
    margin-inline: auto;
    text-align: center;
}

.ik-vb-text--center .ik-vb-eyebrow {
    justify-content: center;
}

.ik-vb-card-grid,
.ik-vb-step-grid {
    display: grid;
    gap: 22px;
}

.ik-vb-columns-1 { grid-template-columns: 1fr; }
.ik-vb-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ik-vb-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ik-vb-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ik-vb-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(32,37,43,.1);
    border-radius: 10px;
    box-shadow: 0 8px 26px rgba(32,37,43,.06);
}

.ik-vb-bg-blue .ik-vb-card,
.ik-vb-bg-dark .ik-vb-card {
    color: var(--ik-dark, #20252b);
}

.ik-vb-card__media {
    height: 210px;
    margin: 0;
    overflow: hidden;
}

.ik-vb-card__body {
    padding: 25px;
}

.ik-vb-card__body h3 {
    margin-bottom: .45em;
}

.ik-vb-step-grid {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ik-vb-step {
    position: relative;
    min-width: 0;
    padding: 28px 25px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(32,37,43,.1);
    border-radius: 9px;
}

.ik-vb-bg-white .ik-vb-step,
.ik-vb-bg-light .ik-vb-step {
    background: #fff;
}

.ik-vb-bg-blue .ik-vb-step,
.ik-vb-bg-dark .ik-vb-step {
    color: var(--ik-dark, #20252b);
}

.ik-vb-step__number {
    display: inline-grid;
    width: 43px;
    height: 43px;
    place-items: center;
    margin-bottom: 20px;
    color: #fff;
    background: var(--ik-blue, var(--ik-blue,#0d92cf));
    border-radius: 50%;
    font-size: .8rem;
    font-weight: 750;
}

.ik-vb-cta-grid {
    grid-template-columns: minmax(0, 1fr) auto;
}

.ik-vb-cta .ik-vb-actions {
    max-width: 370px;
    justify-content: flex-end;
    margin-top: 0;
}

.ik-vb-shortcode {
    max-width: 900px;
}

.ik-vb-spacer {
    height: var(--ik-vb-spacer, 64px);
}

.ik-vb-hide-desktop {
    display: none !important;
}

@media (max-width: 1024px) {
    .ik-vb-hide-desktop { display: block !important; }
    .ik-vb-hide-tablet { display: none !important; }

    .ik-vb-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }

    .ik-vb-image-text {
        gap: 36px;
    }

    .ik-vb-image-text.ik-vb-image-left {
        grid-template-columns: minmax(0, var(--ik-vb-image-tablet, 50fr)) minmax(0, var(--ik-vb-text-tablet, 50fr));
    }

    .ik-vb-image-text.ik-vb-image-right {
        grid-template-columns: minmax(0, var(--ik-vb-text-tablet, 50fr)) minmax(0, var(--ik-vb-image-tablet, 50fr));
    }

    .ik-vb-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 782px) {
    .ik-vb-section {
        padding-top: var(--ik-vb-pt-mobile, 52px);
        padding-bottom: var(--ik-vb-pb-mobile, 52px);
    }

    .ik-vb-hide-tablet { display: block !important; }
    .ik-vb-hide-mobile { display: none !important; }

    .ik-vb-hero-grid,
    .ik-vb-image-text,
    .ik-vb-cta-grid,
    .ik-vb-columns-2,
    .ik-vb-columns-3,
    .ik-vb-columns-4 {
        grid-template-columns: 1fr;
    }

    .ik-vb-image-right .ik-vb-media,
    .ik-vb-image-left .ik-vb-media {
        width: min(100%, var(--ik-vb-image-mobile, 100%));
        order: 2;
    }

    .ik-vb-image-left .ik-vb-media {
        justify-self: start;
    }

    .ik-vb-image-right .ik-vb-media {
        justify-self: end;
    }

    .ik-vb-image-right .ik-vb-hero-content,
    .ik-vb-image-right .ik-vb-image-text__content,
    .ik-vb-image-left .ik-vb-hero-content,
    .ik-vb-image-left .ik-vb-image-text__content {
        order: 1;
    }

    .ik-vb-hero .ik-vb-media,
    .ik-vb-image-text .ik-vb-media {
        min-height: 280px;
    }

    .ik-vb-cta .ik-vb-actions {
        max-width: none;
        justify-content: flex-start;
        margin-top: 8px;
    }

    .ik-vb-actions .ik-button {
        width: 100%;
    }

    .ik-vb-spacer {
        height: var(--ik-vb-spacer-mobile, 36px);
    }
}

.ik-vb-two-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.ik-vb-two-list > div {
    min-width: 0;
    padding: 24px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(32,37,43,.1);
    border-radius: 10px;
}

.ik-vb-bg-dark .ik-vb-two-list > div,
.ik-vb-bg-blue .ik-vb-two-list > div {
    color: var(--ik-dark, #20252b);
}

.ik-vb-two-list h3 {
    margin-top: 0;
    margin-bottom: 14px;
    font-size: 1.05em;
}

.ik-vb-two-list ul {
    margin: 0;
    padding-left: 1.15em;
}

.ik-vb-two-list li + li {
    margin-top: 8px;
}

@media (max-width: 782px) {
    .ik-vb-two-list {
        grid-template-columns: 1fr;
    }
}

/* Rich headings and editable eyebrow content */
.ik-vb-title > :first-child,
.ik-vb-item-title > :first-child,
.ik-vb-eyebrow > :first-child {
    margin-top: 0;
}

.ik-vb-title > :last-child,
.ik-vb-item-title > :last-child,
.ik-vb-eyebrow > :last-child {
    margin-bottom: 0;
}

.ik-vb-title h1,
.ik-vb-title h2,
.ik-vb-title h3,
.ik-vb-title h4,
.ik-vb-title h5,
.ik-vb-title h6,
.ik-vb-item-title h1,
.ik-vb-item-title h2,
.ik-vb-item-title h3,
.ik-vb-item-title h4,
.ik-vb-item-title h5,
.ik-vb-item-title h6 {
    margin-bottom: .38em;
}

.ik-vb-title--hero h1,
.ik-vb-title--hero h2,
.ik-vb-title--hero h3,
.ik-vb-title--hero h4,
.ik-vb-title--hero h5,
.ik-vb-title--hero h6 {
    max-width: 900px;
}

.ik-vb-eyebrow > * {
    color: inherit;
    line-height: inherit;
}

.ik-builder-module-heading__intro > :last-child {
    margin-bottom: 0;
}

.ik-vb-bg-blue h4,
.ik-vb-bg-blue h5,
.ik-vb-bg-blue h6,
.ik-vb-bg-dark h4,
.ik-vb-bg-dark h5,
.ik-vb-bg-dark h6 {
    color: #fff;
}

/* Startseitenmodule, aus der ursprünglichen Landingpage übernommen */
.ik-vb-media {
    position: relative;
}

.ik-vb-floating-note {
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: grid;
    max-width: 260px;
    gap: 6px;
    padding: 20px 22px;
    color: var(--ik-dark, #20252b);
    background: rgba(255,255,255,.96);
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(32,37,43,.18);
}

.ik-vb-floating-note strong {
    color: var(--ik-blue,#0d92cf);
    font-size: 1.02rem;
}

.ik-vb-floating-note span {
    color: var(--ik-gray, #60666d);
    font-size: .92rem;
    line-height: 1.55;
}

.ik-vb-card__label {
    margin-bottom: 10px;
    color: var(--ik-blue,#0d92cf);
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ik-vb-section-action {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.ik-vb-home-benefits .ik-vb-heading {
    display: none;
}

.ik-vb-home-benefits .ik-vb-card__body {
    min-height: 190px;
}

.ik-vb-home-audience .ik-vb-card {
    box-shadow: none;
}

.ik-vb-home-audience .ik-vb-card__body {
    min-height: 200px;
}

.ik-vb-home-inhouse .ik-vb-image-text {
    gap: clamp(30px, 5vw, 64px);
}

.ik-vb-home-inhouse .ik-vb-media {
    min-height: 430px;
}

.ik-vb-home-quality .ik-vb-richtext .ik-vb-stat-grid,
.ik-vb-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-top: 26px;
}

.ik-vb-stat-grid > div {
    display: grid;
    gap: 3px;
    padding: 18px;
    background: rgba(0,63,156,.06);
    border: 1px solid rgba(0,63,156,.12);
    border-radius: 10px;
}

.ik-vb-stat-grid strong {
    color: var(--ik-blue,#0d92cf);
}

.ik-vb-home-learning .ik-vb-richtext .ik-vb-check-grid,
.ik-vb-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-top: 26px;
}

.ik-vb-check-grid > div {
    padding: 18px;
    background: #fff;
    border: 1px solid rgba(32,37,43,.1);
    border-radius: 10px;
}

.ik-vb-check-grid strong,
.ik-vb-check-grid small {
    display: block;
}

.ik-vb-check-grid small {
    margin-top: 4px;
    color: var(--ik-gray, #60666d);
}

@media (max-width: 782px) {
    .ik-vb-floating-note {
        position: static;
        max-width: none;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .ik-vb-check-grid,
    .ik-vb-stat-grid {
        grid-template-columns: 1fr;
    }

    .ik-vb-home-inhouse .ik-vb-media {
        min-height: 280px;
    }
}

/* v1.5.10: Wiederhergestellte Markenelemente der ursprünglichen Startseite */
.ik-vb-eyebrow::before {
    background: #ef2b12;
}

.ik-vb-bg-blue .ik-vb-eyebrow::before,
.ik-vb-bg-dark .ik-vb-eyebrow::before {
    background: #ef2b12;
}

.ik-vb-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, #f6f9fd 0%, #ffffff 52%, #edf4fb 100%);
}

.ik-vb-home-hero::before {
    position: absolute;
    z-index: -1;
    top: 50%;
    right: -235px;
    width: 480px;
    height: 480px;
    content: "";
    background: rgba(0, 63, 156, .08);
    border-radius: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.ik-vb-home-hero::after {
    position: absolute;
    z-index: -1;
    top: 16%;
    right: 5%;
    width: 150px;
    height: 150px;
    content: "";
    border: 1px solid rgba(0, 63, 156, .08);
    border-radius: 50%;
    pointer-events: none;
}

.ik-vb-home-hero > .ik-vb-inner {
    position: relative;
    z-index: 1;
}

@media (max-width: 900px) {
    .ik-vb-home-hero::before {
        right: -280px;
        width: 430px;
        height: 430px;
        opacity: .75;
    }

    .ik-vb-home-hero::after {
        display: none;
    }
}

@media (max-width: 640px) {
    .ik-vb-home-hero::before {
        top: 30%;
        right: -250px;
        width: 360px;
        height: 360px;
        opacity: .55;
    }
}


/* Fachlexikon: Such- und Filterbereich über die vollständige Theme-Inhaltsbreite. */
.ik-vb-shortcode--lexicon > .ik-vb-inner {
    width: min(calc(100% - 48px), var(--ik-container));
    max-width: none;
}

.ik-vb-shortcode--lexicon .ik-vb-shortcode,
.ik-vb-shortcode--lexicon .ik-lexicon-filter,
.ik-vb-shortcode--lexicon .ik-alphabet,
.ik-vb-shortcode--lexicon .ik-filter-status,
.ik-vb-shortcode--lexicon .ik-lexicon-grid {
    width: 100%;
}

@media (max-width: 680px) {
    .ik-vb-shortcode--lexicon > .ik-vb-inner {
        width: min(calc(100% - 30px), var(--ik-container));
    }
}

/* v1.7.0: Flexible Zeilen, Medien- und Inhaltsmodule */
.ik-vb-row-grid {
    display: grid;
    grid-template-columns: var(--ik-vb-row-columns, repeat(2, minmax(0, 1fr)));
    align-items: var(--ik-vb-row-align, start);
    gap: var(--ik-vb-row-gap, 28px);
}

.ik-vb-row-column {
    min-width: 0;
}

.ik-vb-row-column--center {
    text-align: center;
}

.ik-vb-row-column--right {
    text-align: right;
}

.ik-vb-row-column--center .ik-vb-actions {
    justify-content: center;
}

.ik-vb-row-column--right .ik-vb-actions {
    justify-content: flex-end;
}

.ik-vb-row-column__media {
    margin: 0 0 24px;
    overflow: hidden;
    border-radius: 10px;
}

.ik-vb-row-column__media img {
    display: block;
    width: 100%;
    height: auto;
}

.ik-vb-button-wrap {
    display: flex;
}

.ik-vb-button-wrap.ik-vb-align-center {
    justify-content: center;
}

.ik-vb-button-wrap.ik-vb-align-right {
    justify-content: flex-end;
}

.ik-button--text {
    min-height: 0;
    padding: 0;
    color: var(--ik-blue,#0d92cf);
    background: transparent;
    border: 0;
    box-shadow: none;
}

.ik-button--text:hover {
    color: var(--ik-blue,#0d92cf);
    background: transparent;
}

.ik-vb-accordion {
    border-top: 1px solid rgba(32,37,43,.16);
}

.ik-vb-accordion__item {
    border-bottom: 1px solid rgba(32,37,43,.16);
}

.ik-vb-accordion__item summary {
    position: relative;
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 52px 18px 0;
    color: var(--ik-dark, #20252b);
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.ik-vb-accordion__item summary::-webkit-details-marker {
    display: none;
}

.ik-vb-accordion__item summary > span[aria-hidden]::before,
.ik-vb-accordion__item summary > span[aria-hidden]::after {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 20px;
    height: 2px;
    content: "";
    background: var(--ik-blue, var(--ik-blue,#0d92cf));
    transform: translateY(-50%);
}

.ik-vb-accordion__item summary > span[aria-hidden]::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s ease;
}

.ik-vb-accordion__item[open] summary > span[aria-hidden]::after {
    transform: translateY(-50%) rotate(0);
}

.ik-vb-accordion__content {
    padding: 0 52px 24px 0;
    color: var(--ik-gray, #60666d);
}

.ik-vb-toggle__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.ik-vb-toggle__buttons button {
    padding: 12px 18px;
    color: var(--ik-dark, #20252b);
    background: #fff;
    border: 1px solid rgba(32,37,43,.15);
    border-radius: 7px;
    font-weight: 700;
    cursor: pointer;
}

.ik-vb-toggle__buttons button:hover,
.ik-vb-toggle__buttons button.is-active {
    color: #fff;
    background: var(--ik-blue, var(--ik-blue,#0d92cf));
    border-color: var(--ik-blue,#0d92cf);
}

.ik-vb-toggle__panel {
    display: none;
    padding: clamp(24px, 4vw, 42px);
    background: #fff;
    border: 1px solid rgba(32,37,43,.11);
    border-radius: 10px;
}

.ik-vb-toggle__panel.is-active {
    display: block;
}

.ik-vb-gallery {
    display: grid;
    gap: 18px;
}

.ik-vb-gallery--1 { grid-template-columns: 1fr; }
.ik-vb-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ik-vb-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ik-vb-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ik-vb-gallery--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ik-vb-gallery--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.ik-vb-gallery__item {
    margin: 0;
    overflow: hidden;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 8px 24px rgba(32,37,43,.08);
}

.ik-vb-gallery__item a,
.ik-vb-gallery__item img {
    display: block;
    width: 100%;
}

.ik-vb-gallery__item img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .25s ease;
}

.ik-vb-gallery__item a:hover img {
    transform: scale(1.025);
}

.ik-vb-gallery__item figcaption {
    padding: 10px 12px;
    color: var(--ik-gray, #60666d);
    font-size: .88rem;
}

.ik-vb-video,
.ik-vb-video-embed,
.ik-vb-video iframe,
.ik-vb-video video {
    width: 100%;
}

.ik-vb-video {
    position: relative;
    overflow: hidden;
    background: #101318;
    border-radius: 12px;
    box-shadow: 0 16px 42px rgba(32,37,43,.16);
}

.ik-vb-video--16-9 { aspect-ratio: 16 / 9; }
.ik-vb-video--4-3 { aspect-ratio: 4 / 3; }
.ik-vb-video--1-1 { aspect-ratio: 1 / 1; }

.ik-vb-video-embed,
.ik-vb-video iframe,
.ik-vb-video video {
    display: block;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.ik-vb-audio-module .wp-audio-shortcode {
    width: 100% !important;
    margin-top: 22px;
}

.ik-vb-media-caption {
    margin-top: 10px;
    color: var(--ik-gray, #60666d);
    font-size: .9rem;
}

.ik-vb-media-placeholder {
    display: grid;
    min-height: 180px;
    place-items: center;
    padding: 28px;
    color: var(--ik-gray, #60666d);
    background: var(--ik-surface, #f5f7fa);
    border: 2px dashed rgba(32,37,43,.18);
    border-radius: 10px;
    text-align: center;
}

.ik-vb-map {
    height: var(--ik-vb-map-height, 420px);
    overflow: hidden;
    background: #e9eef3;
    border-radius: 12px;
}

.ik-vb-map iframe,
.ik-vb-map > div {
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

.ik-vb-pricing {
    display: grid;
    gap: 22px;
}

.ik-vb-price-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(25px, 4vw, 38px);
    background: #fff;
    border: 1px solid rgba(32,37,43,.12);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(32,37,43,.07);
}

.ik-vb-price-card.is-featured {
    border: 2px solid var(--ik-blue, var(--ik-blue,#0d92cf));
    transform: translateY(-8px);
}

.ik-vb-price-card__badge {
    display: inline-flex;
    align-self: flex-start;
    padding: 6px 10px;
    margin-bottom: 18px;
    color: #fff;
    background: var(--ik-blue, var(--ik-blue,#0d92cf));
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ik-vb-price-card__price {
    margin: 12px 0 22px;
    color: var(--ik-blue,#0d92cf);
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 750;
    line-height: 1;
}

.ik-vb-price-card__price small {
    margin-left: 6px;
    color: var(--ik-gray, #60666d);
    font-size: .9rem;
    font-weight: 500;
}

.ik-vb-price-card ul {
    padding: 0;
    margin: 22px 0 0;
    list-style: none;
}

.ik-vb-price-card li {
    position: relative;
    padding-left: 24px;
}

.ik-vb-price-card li + li {
    margin-top: 10px;
}

.ik-vb-price-card li::before {
    position: absolute;
    top: .35em;
    left: 0;
    content: "✓";
    color: var(--ik-blue,#0d92cf);
    font-weight: 750;
}

.ik-vb-price-card .ik-vb-actions {
    margin-top: auto;
    padding-top: 26px;
}

.ik-vb-social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ik-vb-social.ik-vb-align-center { justify-content: center; }
.ik-vb-social.ik-vb-align-right { justify-content: flex-end; }

.ik-vb-social__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    color: var(--ik-dark, #20252b) !important;
    background: #fff;
    border: 1px solid rgba(32,37,43,.13);
    border-radius: 8px;
    text-decoration: none;
}

.ik-vb-social__link:hover {
    color: var(--ik-blue,#0d92cf) !important;
    border-color: var(--ik-blue,#0d92cf);
}

.ik-vb-social__link > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #fff;
    background: var(--ik-blue, var(--ik-blue,#0d92cf));
    border-radius: 50%;
    font-size: .78rem;
    font-weight: 750;
}

.ik-vb-testimonial {
    max-width: 850px;
    margin: 0;
}

.ik-vb-testimonial--center {
    margin-inline: auto;
    text-align: center;
}

.ik-vb-testimonial__image img {
    width: 88px;
    height: 88px;
    margin-bottom: 20px;
    object-fit: cover;
    border-radius: 50%;
}

.ik-vb-testimonial--center .ik-vb-testimonial__image img {
    margin-inline: auto;
}

.ik-vb-testimonial blockquote {
    margin: 0 0 22px;
    font-size: clamp(1.3rem, 2.5vw, 2rem);
    font-weight: 600;
    line-height: 1.45;
}

.ik-vb-testimonial figcaption {
    display: grid;
    gap: 3px;
}

.ik-vb-testimonial figcaption span {
    color: var(--ik-gray, #60666d);
}

.ik-vb-code {
    min-width: 0;
}

.ik-vb-code iframe,
.ik-vb-code video,
.ik-vb-code img {
    max-width: 100%;
}

.ik-vb-divider {
    display: flex;
}

.ik-vb-divider.ik-vb-align-center { justify-content: center; }
.ik-vb-divider.ik-vb-align-right { justify-content: flex-end; }

.ik-vb-divider span {
    width: var(--ik-vb-divider-width, 100%);
    border-top: var(--ik-vb-divider-height, 2px) var(--ik-vb-divider-style, solid) var(--ik-vb-divider-color, var(--ik-blue,#0d92cf));
}

.ik-vb-lightbox {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 34px;
    background: rgba(8,12,18,.88);
}

.ik-vb-lightbox img {
    max-width: min(1200px, 92vw);
    max-height: 88vh;
    object-fit: contain;
}

.ik-vb-lightbox button {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 44px;
    height: 44px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 0;
    border-radius: 50%;
    font-size: 28px;
    cursor: pointer;
}

body.ik-vb-lightbox-open {
    overflow: hidden;
}

@media (max-width: 1024px) {
    .ik-vb-gallery--5,
    .ik-vb-gallery--6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 782px) {
    .ik-vb-row-grid {
        grid-template-columns: 1fr;
    }

    .ik-vb-row-grid--reverse-mobile .ik-vb-row-column {
        order: calc(var(--ik-column-count, 5) - var(--ik-column-index, 0));
    }

    .ik-vb-row-column--right {
        text-align: left;
    }

    .ik-vb-row-column--right .ik-vb-actions {
        justify-content: flex-start;
    }

    .ik-vb-gallery--3,
    .ik-vb-gallery--4,
    .ik-vb-gallery--5,
    .ik-vb-gallery--6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ik-vb-price-card.is-featured {
        transform: none;
    }
}

@media (max-width: 520px) {
    .ik-vb-gallery--2,
    .ik-vb-gallery--3,
    .ik-vb-gallery--4,
    .ik-vb-gallery--5,
    .ik-vb-gallery--6 {
        grid-template-columns: 1fr;
    }

    .ik-vb-toggle__buttons {
        display: grid;
    }

    .ik-vb-toggle__buttons button {
        width: 100%;
        text-align: left;
    }

    .ik-vb-map {
        height: min(var(--ik-vb-map-height, 420px), 360px);
    }
}

/* Visual Builder sortable wrappers */
.ik-vb-toggle__buttons{align-items:stretch}.ik-vb-toggle__tab-item{display:flex}.ik-vb-toggle__tab-item>button{height:100%}.ik-vb-social__item{display:inline-flex}.ik-vb-social__item>.ik-vb-social__link{width:100%}

/* Configurable image hover effects */
.ik-vb-section :is(
    .ik-vb-media,
    .ik-vb-card__media,
    .ik-vb-row-column__media,
    .ik-vb-gallery__item,
    .ik-vb-testimonial__image,
    .ik-builder-post-card__image
) {
    position: relative;
    transition: transform 320ms ease, box-shadow 320ms ease, filter 320ms ease;
    will-change: transform;
}

.ik-vb-section :is(
    .ik-vb-media img,
    .ik-vb-card__media img,
    .ik-vb-row-column__media img,
    .ik-vb-gallery__item img,
    .ik-vb-testimonial__image img,
    .ik-builder-post-card__image img
) {
    transition: transform 360ms cubic-bezier(.2,.72,.24,1), filter 320ms ease, opacity 320ms ease !important;
    transform-origin: center center;
    backface-visibility: hidden;
}

@media (hover: hover) and (pointer: fine) {
    .ik-vb-image-hover-none :is(
        .ik-vb-media img,
        .ik-vb-card__media img,
        .ik-vb-row-column__media img,
        .ik-vb-gallery__item img,
        .ik-vb-testimonial__image img,
        .ik-builder-post-card__image img
    ),
    .ik-vb-image-hover-none :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        filter: none !important;
        transform: none !important;
    }

    .ik-vb-image-hover-zoom :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        transform: scale(1.075) !important;
    }

    .ik-vb-image-hover-zoom_out :is(
        .ik-vb-media img,
        .ik-vb-card__media img,
        .ik-vb-row-column__media img,
        .ik-vb-gallery__item img,
        .ik-vb-testimonial__image img,
        .ik-builder-post-card__image img
    ) {
        transform: scale(1.075) !important;
    }

    .ik-vb-image-hover-zoom_out :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        transform: scale(1) !important;
    }

    .ik-vb-image-hover-lift :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover {
        box-shadow: 0 24px 54px rgba(18,51,83,.18);
        transform: translateY(-8px);
    }

    .ik-vb-image-hover-grayscale :is(
        .ik-vb-media img,
        .ik-vb-card__media img,
        .ik-vb-row-column__media img,
        .ik-vb-gallery__item img,
        .ik-vb-testimonial__image img,
        .ik-builder-post-card__image img
    ) {
        filter: grayscale(1) contrast(.94) !important;
    }

    .ik-vb-image-hover-grayscale :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        filter: grayscale(0) contrast(1) !important;
    }

    .ik-vb-image-hover-darken :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        filter: brightness(.72) saturate(.9) !important;
    }

    .ik-vb-image-hover-brighten :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        filter: brightness(1.13) saturate(1.06) !important;
    }

    .ik-vb-image-hover-tilt :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover img {
        transform: scale(1.065) rotate(1.15deg) !important;
    }

    .ik-vb-image-hover-shadow :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image
    ):hover {
        box-shadow: 0 28px 64px rgba(18,51,83,.22);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ik-vb-section :is(
        .ik-vb-media,
        .ik-vb-card__media,
        .ik-vb-row-column__media,
        .ik-vb-gallery__item,
        .ik-vb-testimonial__image,
        .ik-builder-post-card__image,
        .ik-vb-media img,
        .ik-vb-card__media img,
        .ik-vb-row-column__media img,
        .ik-vb-gallery__item img,
        .ik-vb-testimonial__image img,
        .ik-builder-post-card__image img
    ) {
        transition: none !important;
        transform: none !important;
    }
}


/* v1.8.4: Systemvorlage Fachlexikon auf maximal 1600 px. */
.ik-system-template--lexicon-archive .ik-vb-module > .ik-vb-inner,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon > .ik-vb-inner {
    width: min(calc(100% - 48px), 1600px);
    max-width: 1600px;
}

@media (min-width: 1280px) {
    .ik-system-template--lexicon-archive .ik-lexicon-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 921px) and (max-width: 1279px) {
    .ik-system-template--lexicon-archive .ik-lexicon-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ik-system-template--lexicon-archive .ik-vb-module > .ik-vb-inner,
    .ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon > .ik-vb-inner {
        width: min(calc(100% - 30px), 1600px);
    }
}

/* v1.8.5: Fachlexikon-Systemseite tatsächlich auf 1600 px erweitern. */
.ik-system-template--lexicon-archive > .ik-vb-section > .ik-vb-inner,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon > .ik-vb-inner {
    width: min(calc(100% - 48px), 1600px) !important;
    max-width: 1600px !important;
}

.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon .ik-vb-shortcode,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon .ik-lexicon-filter,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon .ik-alphabet,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon .ik-filter-status,
.ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon .ik-lexicon-grid {
    width: 100% !important;
    max-width: none !important;
}

@media (min-width: 1280px) {
    .ik-system-template--lexicon-archive .ik-lexicon-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 921px) and (max-width: 1279px) {
    .ik-system-template--lexicon-archive .ik-lexicon-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .ik-system-template--lexicon-archive > .ik-vb-section > .ik-vb-inner,
    .ik-system-template--lexicon-archive .ik-vb-shortcode--lexicon > .ik-vb-inner {
        width: min(calc(100% - 30px), 1600px) !important;
    }
}

/* v1.8.7: Abstand zwischen Fachlexikon-Subline und Filter verkleinern. */
.ik-system-template--lexicon-archive > .ik-vb-module-hero {
    padding-bottom: 28px !important;
}

.ik-system-template--lexicon-archive > .ik-vb-shortcode--lexicon,
.ik-system-template--lexicon-archive > .ik-vb-module-shortcode {
    padding-top: 28px !important;
}

@media (max-width: 680px) {
    .ik-system-template--lexicon-archive > .ik-vb-module-hero {
        padding-bottom: 20px !important;
    }

    .ik-system-template--lexicon-archive > .ik-vb-shortcode--lexicon,
    .ik-system-template--lexicon-archive > .ik-vb-module-shortcode {
        padding-top: 20px !important;
    }
}


/* v1.9.1: Sichtbar überarbeitete Veranstalterseite */
.ik-vb-organizer-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, #f6f9fd 0%, #ffffff 45%, #eef5fc 100%);
}

.ik-vb-organizer-hero::before {
    position: absolute;
    inset: auto -180px -160px auto;
    width: 420px;
    height: 420px;
    content: "";
    background: rgba(0,63,156,.07);
    border-radius: 50%;
}

.ik-vb-organizer-hero::after {
    position: absolute;
    top: 58px;
    right: 7%;
    width: 110px;
    height: 110px;
    content: "";
    border: 1px solid rgba(0,63,156,.12);
    border-radius: 50%;
}

.ik-vb-organizer-hero .ik-vb-hero-grid {
    align-items: center;
}

.ik-vb-organizer-hero .ik-vb-media {
    min-height: 500px;
    border-radius: 18px;
}

.ik-vb-organizer-overview .ik-vb-card,
.ik-vb-organizer-benefits .ik-vb-card,
.ik-vb-organizer-requirements .ik-vb-card,
.ik-vb-organizer-quality .ik-vb-card,
.ik-vb-organizer-participants .ik-vb-card {
    border-radius: 16px;
}

.ik-vb-organizer-overview .ik-vb-card {
    position: relative;
    overflow: hidden;
    border-color: rgba(0,63,156,.12);
}

.ik-vb-organizer-overview .ik-vb-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, #ef2b12 0%, var(--ik-blue,#0d92cf) 100%);
}

.ik-vb-organizer-overview .ik-vb-card__media {
    height: 170px;
}

.ik-vb-organizer-overview .ik-text-link,
.ik-vb-organizer-quality .ik-text-link,
.ik-vb-organizer-participants .ik-text-link {
    margin-top: 14px;
    font-weight: 700;
}

.ik-vb-organizer-audience .ik-vb-card__body,
.ik-vb-organizer-benefits .ik-vb-card__body {
    min-height: 220px;
}

.ik-vb-organizer-audience .ik-vb-card__label,
.ik-vb-organizer-benefits .ik-vb-card__label,
.ik-vb-organizer-requirements .ik-vb-card__label,
.ik-vb-organizer-participants .ik-vb-card__label {
    display: inline-flex;
    padding: 6px 10px;
    background: rgba(0,63,156,.07);
    border-radius: 999px;
}

.ik-vb-organizer-benefits {
    background: linear-gradient(180deg, #f5f8fb 0%, #ffffff 100%);
}

.ik-vb-organizer-benefits .ik-vb-card {
    border-color: rgba(0,63,156,.08);
    box-shadow: 0 14px 34px rgba(32,37,43,.06);
}

.ik-vb-organizer-courses .ik-vb-card,
.ik-vb-organizer-quality .ik-vb-card {
    box-shadow: 0 14px 36px rgba(32,37,43,.08);
}

.ik-vb-organizer-responsibilities .ik-vb-image-text {
    gap: clamp(34px, 5vw, 70px);
}

.ik-vb-organizer-responsibilities .ik-vb-two-list {
    gap: 18px;
}

.ik-vb-organizer-responsibilities .ik-vb-two-list > div {
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 18px 40px rgba(0,0,0,.08);
}

.ik-vb-organizer-process .ik-vb-step {
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(32,37,43,.06);
}

.ik-vb-organizer-process .ik-vb-step__number {
    width: 52px;
    height: 52px;
    font-size: .88rem;
}

.ik-vb-organizer-inhouse {
    background: linear-gradient(135deg, #20252b 0%, #283341 100%);
}

.ik-vb-organizer-inhouse .ik-vb-media {
    border-radius: 18px;
}

.ik-vb-organizer-requirements .ik-vb-card__media {
    height: 180px;
}

.ik-vb-organizer-participants .ik-vb-card {
    text-align: center;
}

.ik-vb-organizer-booking .ik-vb-richtext ul {
    padding-left: 1.15rem;
}

.ik-vb-organizer-booking .ik-vb-media {
    min-height: 360px;
    border-radius: 18px;
}

.ik-vb-organizer-quality .ik-vb-card__body {
    min-height: 220px;
}

.ik-vb-organizer-faq .ik-vb-accordion {
    border-top: 0;
    display: grid;
    gap: 12px;
}

.ik-vb-organizer-faq .ik-vb-accordion__item {
    overflow: clip;
    background: var(--ik-white, #ffffff);
    border: 1px solid rgba(32,37,43,.12);
    border-radius: 12px;
    box-shadow: none;
}

.ik-vb-organizer-faq .ik-vb-accordion__item summary {
    min-height: 62px;
    padding: 17px 21px;
    gap: 24px;
}

.ik-vb-organizer-faq .ik-vb-accordion__item summary > span[aria-hidden]::before,
.ik-vb-organizer-faq .ik-vb-accordion__item summary > span[aria-hidden]::after {
    right: 21px;
}

.ik-vb-organizer-faq .ik-vb-accordion__content {
    padding: 0 21px 20px 21px;
}

.ik-vb-organizer-faq .ik-vb-accordion__content > :last-child {
    margin-bottom: 0;
}

.ik-vb-organizer-final-cta {
    background: linear-gradient(120deg, var(--ik-blue,#0d92cf) 0%, #0056c7 100%);
}

.ik-vb-organizer-final-cta .ik-vb-cta-grid {
    gap: 28px;
}

@media (max-width: 900px) {
    .ik-vb-organizer-hero::after {
        display: none;
    }

    .ik-vb-organizer-hero .ik-vb-media {
        min-height: 340px;
    }

    .ik-vb-organizer-audience .ik-vb-card__body,
    .ik-vb-organizer-benefits .ik-vb-card__body,
    .ik-vb-organizer-quality .ik-vb-card__body {
        min-height: 0;
    }
}


/* v1.9.7: Schulungsübersicht auf 1600 px erweitern. */
.ik-system-template--course-archive > .ik-vb-section > .ik-vb-inner,
.ik-system-template--course-archive .ik-vb-module > .ik-vb-inner,
.ik-system-template--course-archive .ik-vb-module-shortcode > .ik-vb-inner {
    width: min(calc(100% - 48px), 1600px) !important;
    max-width: 1600px !important;
    margin-inline: auto !important;
}

.ik-system-template--course-archive .ik-vb-shortcode,
.ik-system-template--course-archive .ik-course-grid,
.ik-system-template--course-archive .navigation.pagination {
    width: 100%;
    max-width: none !important;
}

@media (max-width: 680px) {
    .ik-system-template--course-archive > .ik-vb-section > .ik-vb-inner,
    .ik-system-template--course-archive .ik-vb-module > .ik-vb-inner,
    .ik-system-template--course-archive .ik-vb-module-shortcode > .ik-vb-inner {
        width: min(calc(100% - 30px), 1600px) !important;
    }
}


/* v1.10.1: Aktuelles-Übersicht auf 1600 px erweitern. */
.ik-system-template--update-archive > .ik-vb-section > .ik-vb-inner,
.ik-system-template--update-archive .ik-vb-module > .ik-vb-inner,
.ik-system-template--update-archive .ik-vb-module-shortcode > .ik-vb-inner {
    width: min(calc(100% - 48px), 1600px) !important;
    max-width: 1600px !important;
    margin-inline: auto !important;
}

.ik-system-template--update-archive .ik-vb-shortcode,
.ik-system-template--update-archive .ik-post-grid,
.ik-system-template--update-archive .navigation.pagination {
    width: 100%;
    max-width: none !important;
}

@media (max-width: 680px) {
    .ik-system-template--update-archive > .ik-vb-section > .ik-vb-inner,
    .ik-system-template--update-archive .ik-vb-module > .ik-vb-inner,
    .ik-system-template--update-archive .ik-vb-module-shortcode > .ik-vb-inner {
        width: min(calc(100% - 30px), 1600px) !important;
    }
}


/* v1.10.2: Fachbeiträge dauerhaft auf 1600 px, auch bei älteren gespeicherten Vorlagen. */
.ik-system-template--article-archive > .ik-vb-section > .ik-vb-inner,
.ik-system-template--article-archive .ik-vb-module > .ik-vb-inner,
.ik-system-template--article-archive .ik-vb-module-shortcode > .ik-vb-inner,
.ik-vb-shortcode--article > .ik-vb-inner {
    width: min(calc(100% - 48px), 1600px) !important;
    max-width: 1600px !important;
    margin-inline: auto !important;
}

.ik-system-template--article-archive .ik-vb-shortcode,
.ik-vb-shortcode--article .ik-vb-shortcode,
.ik-system-template--article-archive .ik-post-grid,
.ik-vb-shortcode--article .ik-post-grid,
.ik-system-template--article-archive .navigation.pagination,
.ik-vb-shortcode--article .navigation.pagination {
    width: 100% !important;
    max-width: none !important;
}

@media (min-width: 1280px) {
    .ik-system-template--article-archive .ik-post-grid,
    .ik-vb-shortcode--article .ik-post-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ik-system-template--article-archive > .ik-vb-section > .ik-vb-inner,
    .ik-system-template--article-archive .ik-vb-module > .ik-vb-inner,
    .ik-system-template--article-archive .ik-vb-module-shortcode > .ik-vb-inner,
    .ik-vb-shortcode--article > .ik-vb-inner {
        width: min(calc(100% - 30px), 1600px) !important;
    }
}


/* v1.10.4: Zuständigkeitsbereiche mobil vollständig untereinander. */
@media (max-width: 782px) {
    .ik-vb-home-inhouse .ik-vb-image-text,
    .ik-vb-organizer-responsibilities .ik-vb-image-text {
        display: flex !important;
        width: 100%;
        flex-direction: column !important;
        gap: 24px !important;
    }

    .ik-vb-home-inhouse .ik-vb-media,
    .ik-vb-organizer-responsibilities .ik-vb-media {
        order: 1 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10;
        justify-self: stretch !important;
        border-radius: 18px;
    }

    .ik-vb-home-inhouse .ik-vb-image-text__content,
    .ik-vb-organizer-responsibilities .ik-vb-image-text__content {
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
    }

    .ik-vb-home-inhouse .ik-vb-two-list,
    .ik-vb-organizer-responsibilities .ik-vb-two-list {
        display: grid !important;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        margin-top: 22px;
    }

    .ik-vb-home-inhouse .ik-vb-two-list > div,
    .ik-vb-organizer-responsibilities .ik-vb-two-list > div {
        width: 100%;
        max-width: none;
        padding: 20px;
        border-radius: 16px;
    }

    .ik-vb-home-inhouse :is(h2, h3, p, li),
    .ik-vb-organizer-responsibilities :is(h2, h3, p, li) {
        overflow-wrap: normal !important;
        word-break: normal !important;
        -webkit-hyphens: auto;
        hyphens: auto;
    }

    .ik-vb-home-inhouse h2,
    .ik-vb-organizer-responsibilities h2,
    .ik-vb-home-inhouse h3,
    .ik-vb-organizer-responsibilities h3 {
        -webkit-hyphens: none;
        hyphens: none;
    }

    .ik-vb-home-inhouse .ik-vb-two-list ul,
    .ik-vb-organizer-responsibilities .ik-vb-two-list ul {
        padding-left: 1.25rem;
    }

    .ik-vb-home-inhouse .ik-vb-two-list li,
    .ik-vb-organizer-responsibilities .ik-vb-two-list li {
        padding-left: 2px;
        line-height: 1.55;
    }
}

@media (max-width: 479px) {
    .ik-vb-home-inhouse .ik-vb-image-text,
    .ik-vb-organizer-responsibilities .ik-vb-image-text {
        gap: 20px !important;
    }

    .ik-vb-home-inhouse .ik-vb-media,
    .ik-vb-organizer-responsibilities .ik-vb-media {
        aspect-ratio: 4 / 3;
    }

    .ik-vb-home-inhouse .ik-vb-two-list > div,
    .ik-vb-organizer-responsibilities .ik-vb-two-list > div {
        padding: 18px;
    }
}


/* v1.10.8: Home Lern- und Praxiskonzept mobil sauber gestapelt */
.ik-vb-home-learning .ik-vb-image-text--home-learning {
    display: grid;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    grid-template-areas:
        "intro media"
        "extras media";
    gap: 42px;
    align-items: start;
}

.ik-vb-home-learning .ik-vb-home-learning__intro {
    grid-area: intro;
}

.ik-vb-home-learning .ik-vb-media {
    grid-area: media;
}

.ik-vb-home-learning .ik-vb-home-learning__extras {
    grid-area: extras;
}

@media (max-width: 782px) {
    .ik-vb-home-learning .ik-vb-image-text--home-learning {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "intro"
            "media"
            "extras";
        gap: 22px !important;
    }

    .ik-vb-home-learning .ik-vb-home-learning__intro,
    .ik-vb-home-learning .ik-vb-home-learning__extras,
    .ik-vb-home-learning .ik-vb-media,
    .ik-vb-home-learning .ik-vb-media img,
    .ik-vb-home-learning .ik-vb-check-grid,
    .ik-vb-home-learning .ik-vb-check-grid > div,
    .ik-vb-home-learning .ik-vb-actions,
    .ik-vb-home-learning .ik-vb-actions .ik-button {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ik-vb-home-learning .ik-vb-media {
        min-height: 0 !important;
        justify-self: stretch !important;
    }

    .ik-vb-home-learning .ik-vb-media img {
        aspect-ratio: 4 / 3;
        min-height: 0 !important;
        object-fit: cover;
    }

    .ik-vb-home-learning .ik-vb-check-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 0 !important;
    }

    .ik-vb-home-learning .ik-vb-richtext {
        width: 100%;
    }

    .ik-vb-home-learning .ik-vb-home-learning__extras .ik-vb-actions {
        margin-top: 18px;
    }
}


/* v1.10.9: Qualitätsnachweise mobil wie Lernkonzept stapeln */
.ik-vb-home-quality .ik-vb-image-text--home-quality {
    display: grid;
    grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
    grid-template-areas:
        "intro media"
        "extras media";
    gap: 42px;
    align-items: start;
}

.ik-vb-home-quality .ik-vb-home-quality__intro {
    grid-area: intro;
}

.ik-vb-home-quality .ik-vb-media {
    grid-area: media;
}

.ik-vb-home-quality .ik-vb-home-quality__extras {
    grid-area: extras;
}

@media (max-width: 782px) {
    .ik-vb-home-quality .ik-vb-image-text--home-quality {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "intro"
            "media"
            "extras";
        gap: 22px !important;
    }

    .ik-vb-home-quality .ik-vb-home-quality__intro,
    .ik-vb-home-quality .ik-vb-home-quality__extras,
    .ik-vb-home-quality .ik-vb-media,
    .ik-vb-home-quality .ik-vb-media img,
    .ik-vb-home-quality .ik-vb-actions,
    .ik-vb-home-quality .ik-vb-actions .ik-button {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ik-vb-home-quality .ik-vb-media {
        min-height: 0 !important;
        justify-self: stretch !important;
    }

    .ik-vb-home-quality .ik-vb-media img {
        aspect-ratio: 4 / 3;
        min-height: 0 !important;
        object-fit: cover;
    }

    .ik-vb-home-quality .ik-vb-richtext ul,
    .ik-vb-home-quality .ik-vb-richtext ol {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-left: 22px !important;
    }

    .ik-vb-home-quality .ik-vb-home-quality__extras .ik-vb-actions {
        margin-top: 18px;
    }
}


/* v1.10.11: normale Bild-Text-Module mobil vollständig untereinander. */
@media (max-width: 900px) {
    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 20px !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) > .ik-vb-image-text__content {
        display: contents !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) > .ik-vb-media {
        order: 40 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3;
        justify-self: stretch !important;
        margin: 2px 0 4px !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) > .ik-vb-media img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-eyebrow {
        order: 10 !important;
        width: 100%;
        margin-bottom: 0;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-title {
        order: 20 !important;
        width: 100%;
        max-width: none !important;
        margin: 0 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        -webkit-hyphens: auto;
        hyphens: auto;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext {
        display: contents !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > p:first-child {
        order: 30 !important;
        width: 100%;
        max-width: none !important;
        margin: 0 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        -webkit-hyphens: auto;
        hyphens: auto;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > :not(p:first-child) {
        order: 50 !important;
        width: 100%;
        max-width: none !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > h2,
    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > h3 {
        margin-top: 4px;
        margin-bottom: 12px;
        overflow-wrap: normal !important;
        word-break: normal !important;
        -webkit-hyphens: auto;
        hyphens: auto;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > ul,
    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-richtext > ol {
        padding-left: 24px;
        margin-top: 0;
        margin-bottom: 0;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-actions {
        order: 60 !important;
        width: 100% !important;
        max-width: none !important;
        margin-top: 2px !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) .ik-vb-image-text__content > .ik-vb-actions .ik-button {
        width: 100% !important;
        justify-content: center;
    }
}

@media (max-width: 520px) {
    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) {
        gap: 17px !important;
    }

    .ik-vb-image-text:not(.ik-vb-image-text--home-learning):not(.ik-vb-image-text--home-quality) > .ik-vb-media {
        border-radius: 18px;
    }
}


/* v1.10.21: editable course cards and reliable step text selection */
.ik-vb-manual-course-grid {
    margin-top: 32px;
}

.ik-vb-manual-course-grid.ik-vb-columns-1 { grid-template-columns: 1fr; }
.ik-vb-manual-course-grid.ik-vb-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ik-vb-manual-course-grid.ik-vb-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ik-vb-manual-course-grid.ik-vb-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ik-vb-course-card__text {
    color: var(--ik-gray, #60666d);
    font-size: .94rem;
}

.ik-vb-course-card__text > :last-child,
.ik-vb-step__text > :last-child {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .ik-vb-manual-course-grid.ik-vb-columns-3,
    .ik-vb-manual-course-grid.ik-vb-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ik-vb-manual-course-grid,
    .ik-vb-manual-course-grid.ik-vb-columns-2,
    .ik-vb-manual-course-grid.ik-vb-columns-3,
    .ik-vb-manual-course-grid.ik-vb-columns-4 {
        grid-template-columns: 1fr;
    }
}


.ik-vb-manual-knowledge-grid.ik-vb-columns-1 { grid-template-columns: 1fr; }
.ik-vb-manual-knowledge-grid.ik-vb-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ik-vb-manual-knowledge-grid.ik-vb-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ik-vb-manual-knowledge-grid.ik-vb-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ik-vb-knowledge-card__text {
    color: var(--ik-gray, #60666d);
    font-size: .94rem;
}

.ik-vb-knowledge-card__text > :last-child {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .ik-vb-manual-knowledge-grid.ik-vb-columns-3,
    .ik-vb-manual-knowledge-grid.ik-vb-columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ik-vb-manual-knowledge-grid,
    .ik-vb-manual-knowledge-grid.ik-vb-columns-2,
    .ik-vb-manual-knowledge-grid.ik-vb-columns-3,
    .ik-vb-manual-knowledge-grid.ik-vb-columns-4 {
        grid-template-columns: 1fr;
    }
}


/* v1.10.29: editierbare Abstände zwischen Überschrift, Text und Folgeelementen */
.ik-vb-section .ik-vb-title,
.ik-vb-section .ik-vb-item-title {
    margin-bottom: var(--ik-vb-heading-gap, 24px);
}

.ik-vb-section .ik-vb-title > :last-child,
.ik-vb-section .ik-vb-item-title > :last-child {
    margin-bottom: 0 !important;
}

.ik-vb-section .ik-vb-heading > h1,
.ik-vb-section .ik-vb-heading > h2,
.ik-vb-section .ik-vb-heading > h3,
.ik-vb-section .ik-vb-hero-content > h1,
.ik-vb-section .ik-vb-image-text__content > h2,
.ik-vb-section .ik-vb-cta-grid h2 {
    margin-bottom: var(--ik-vb-heading-gap, 24px) !important;
}

.ik-vb-section :is(.ik-vb-richtext, .ik-vb-intro, .ik-vb-lead) + :is(
    .ik-vb-actions,
    .ik-vb-check-grid,
    .ik-vb-stat-grid,
    .ik-vb-grid,
    .ik-vb-card-grid,
    .ik-vb-two-list,
    .ik-vb-media,
    ul,
    ol
) {
    margin-top: var(--ik-vb-text-gap, 28px) !important;
}

@media (max-width: 782px) {
    .ik-vb-section .ik-vb-title,
    .ik-vb-section .ik-vb-item-title {
        margin-bottom: var(--ik-vb-heading-gap-mobile, 18px);
    }

    .ik-vb-section .ik-vb-heading > h1,
    .ik-vb-section .ik-vb-heading > h2,
    .ik-vb-section .ik-vb-heading > h3,
    .ik-vb-section .ik-vb-hero-content > h1,
    .ik-vb-section .ik-vb-image-text__content > h2,
    .ik-vb-section .ik-vb-cta-grid h2 {
        margin-bottom: var(--ik-vb-heading-gap-mobile, 18px) !important;
    }

    .ik-vb-section :is(.ik-vb-richtext, .ik-vb-intro, .ik-vb-lead) + :is(
        .ik-vb-actions,
        .ik-vb-check-grid,
        .ik-vb-stat-grid,
        .ik-vb-grid,
        .ik-vb-card-grid,
        .ik-vb-two-list,
        .ik-vb-media,
        ul,
        ol
    ) {
        margin-top: var(--ik-vb-text-gap-mobile, 20px) !important;
    }
}


/* v1.10.34: eingebettete Campus-Kursübersicht nutzt die volle 1600-px-Systembreite. */
.ik-system-template--course-archive .ikc-course-browser {
    width: 100%;
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
}


/* v1.10.35: Kursimport-Karten sauber in der 1600-px-Schulungsübersicht. */
.ik-system-template--course-archive .ikc-course-browser--karten {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.ik-system-template--course-archive .ikc-course-browser--karten .ikc-grid,
.ik-system-template--course-archive .ikc-course-browser--karten .ikc-card,
.ik-system-template--course-archive .ikc-course-browser--karten .ikc-card-body,
.ik-system-template--course-archive .ikc-course-browser--karten .ikc-meta,
.ik-system-template--course-archive .ikc-course-browser--karten .ikc-meta-row {
    min-width: 0 !important;
    max-width: none !important;
}

/* v1.10.57: Die Startseiten-Schulungen füllen bei drei Karten wieder drei volle Spalten.
   Es werden ausschließlich Layout-Regeln geändert. Gespeicherte Builder-Inhalte bleiben unverändert. */
@media (min-width: 1025px) {
    .ik-vb-home-courses .ik-vb-manual-course-grid,
    .ik-vb-home-courses .ik-builder-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* v1.10.61: Kartenmodule mit drei vorhandenen Karten dürfen keinen leeren vierten Slot behalten.
   Die Regel dient zusätzlich als Fallback für bereits zwischengespeichertes HTML mit ik-vb-columns-4. */
@media (min-width: 1025px) {
    .ik-vb-card-grid[data-ik-card-count="3"],
    .ik-vb-card-grid.ik-vb-columns-4:has(> .ik-vb-card:nth-child(3):last-child) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* v1.10.66: Praxisvideo in der Startseiten-Sektion Zusammenarbeit. */
.ik-vb-media.ik-vb-media--video {
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #000;
}

.ik-vb-home-inhouse__video {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #000;
}

@media (max-width: 782px) {
    .ik-vb-media.ik-vb-media--video {
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }
}


/* v1.10.67: Blauer Rahmen und Titel für das Praxisvideo der Zusammenarbeit-Sektion. */
.ik-vb-media.ik-vb-media--video {
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.ik-vb-home-inhouse__media-frame {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    background: #f3f5f8;
    border: 4px solid #2f66b4;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(32,37,43,.13);
}

.ik-vb-home-inhouse__media-title {
    padding: 18px 24px 16px;
    text-align: center;
    font-size: clamp(28px, 2.4vw, 38px);
    line-height: 1.15;
    font-weight: 700;
    color: var(--ik-blue,#0d92cf);
    background: #eef1f5;
}

.ik-vb-home-inhouse__media-body {
    background: #fff;
}

.ik-vb-home-inhouse__video {
    border-radius: 0;
}

@media (max-width: 782px) {
    .ik-vb-home-inhouse__media-frame {
        border-width: 3px;
        border-radius: 18px;
    }

    .ik-vb-home-inhouse__media-title {
        padding: 14px 16px;
        font-size: clamp(22px, 6vw, 30px);
    }
}


/* v1.10.69: Praxisvideo direkt am echten Medienrahmen ausrichten. */
@media (min-width: 1025px) {
    .ik-vb-media.ik-vb-media--video .ik-vb-home-inhouse__media-frame {
        position: relative;
        top: 54px;
    }
}

/* v1.11.44: einheitliche 30px-Abstände in Hero-/Intro-Blöcken
 * Kleine Überschrift -> Hauptüberschrift -> Einleitungstext.
 */
.ik-vb-section .ik-vb-hero-content > .ik-vb-eyebrow,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-eyebrow,
.ik-vb-section .ik-vb-heading > .ik-vb-eyebrow {
    margin-bottom: 30px !important;
}

.ik-vb-section .ik-vb-hero-content > .ik-vb-title,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-title,
.ik-vb-section .ik-vb-heading > .ik-vb-title {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

.ik-vb-section .ik-vb-hero-content > .ik-vb-title > :last-child,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-title > :last-child,
.ik-vb-section .ik-vb-heading > .ik-vb-title > :last-child {
    margin-bottom: 0 !important;
}

.ik-vb-section .ik-vb-hero-content > .ik-vb-title + .ik-vb-lead,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-title + :is(.ik-vb-intro,.ik-vb-richtext,.ik-vb-lead),
.ik-vb-section .ik-vb-heading > .ik-vb-title + :is(.ik-vb-intro,.ik-vb-richtext,.ik-vb-lead) {
    margin-top: 0 !important;
}

/* v1.11.50: Partnerarchiv nutzt die komplette Theme-Breite statt der
 * generellen 900px-Begrenzung von Shortcode-Modulen. */
.ik-system-template--partner-archive .ik-vb-shortcode {
    width: 100%;
    max-width: none;
}

/* v1.11.60: Typografie in Bild-&-Text-Modulen vereinheitlichen.
 * Richtext und Listen verwenden im Frontend exakt dieselben Werte wie im Editor.
 */
.ik-vb-section .ik-vb-image-text__content > .ik-vb-richtext,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-richtext p,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-richtext li,
.ik-vb-section .ik-vb-image-text__content > .ik-vb-richtext .ik-vb-two-list li {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.8 !important;
}

.ik-vb-section .ik-vb-image-text__content > .ik-vb-richtext .ik-vb-two-list h3 {
    font-family: Inter, Arial, sans-serif !important;
    font-weight: 700;
}

/* v1.11.62: Globale Fließtext-Typografie im IKUTECH Visual Builder.
 * Normale Textblöcke verwenden überall dieselbe Basis wie der freigegebene
 * Referenzabsatz: Inter, 16px, 400, line-height 1.8. Überschriften, Buttons,
 * Meta-Texte und spezielle UI-Elemente bleiben davon unberührt.
 */
.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0 !important;
    color: #2B3440 !important;
}

.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) :is(p, li) {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
}

/* Absatzabstände innerhalb normaler Textblöcke ebenfalls angleichen. */
.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) > p {
    margin-top: 0;
    margin-bottom: 18px;
}

.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) > p:last-child {
    margin-bottom: 0;
}

/* Fettungen bleiben Hervorhebungen, ohne die Schriftgröße zu verändern. */
.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) :is(strong, b) {
    font-size: inherit;
    line-height: inherit;
}

/* Alte Richtext-Inline-Größen aus dem Editor neutralisieren, damit einzelne
 * Wörter/Zeilen nicht wieder größer oder kleiner erscheinen. Farben und
 * Hervorhebungen bleiben dabei erhalten. */
.ik-vb-section :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) :is(p, li) span {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

/* Auf blauen/dunklen Abschnitten nur Typografie vereinheitlichen,
 * die vorhandene helle Textfarbe bleibt erhalten. */
.ik-vb-section.ik-vb-bg-blue :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
),
.ik-vb-section.ik-vb-bg-dark :is(
    .ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),
    .ik-vb-intro,
    .ik-vb-lead
) {
    color: inherit;
}


/* v1.11.75: Blaue Abschluss-CTAs auf allen Builder-Seiten einheitlich mit 32 px Überschrift. */
.ik-vb-module-cta.ik-vb-bg-blue .ik-vb-cta-grid h2 {
    font-size: 32px !important;
    line-height: 1.2 !important;
}


/* v1.11.76: Hauptüberschriften in ALLEN blauen Visual-Builder-Sektionen auf 32 px.
 * Die Regel hängt am blauen Sektionstyp, nicht an einem bestimmten CTA-Modul. */
.ik-vb-section.ik-vb-bg-blue .ik-vb-title > :is(h1, h2, h3, h4, h5, h6) {
    font-size: 32px !important;
    line-height: 1.2 !important;
}


/* v1.11.78: Alle Visual-Builder-Einordnungen mit Markenstrich auf 18 px. */
.ik-vb-eyebrow,
.ik-vb-eyebrow > * {
    font-size: 18px !important;
    line-height: 1.2 !important;
}


/* v1.11.79: Jede als H2 formatierte Überschrift innerhalb eines Richtext-/Textfeldes
 * erhält automatisch 20 px und IKUTECH-Blau. Das gilt auch für alte Inline-Größen. */
.ik-vb-section :is(
    .ik-vb-richtext,
    .ik-vb-intro,
    .ik-vb-lead,
    .ik-vb-step__text,
    .ik-vb-accordion__content,
    .ik-vb-toggle__panel
) h2 {
    color: var(--ik-blue,#0d92cf) !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
}

/* Auf blauem oder dunklem Hintergrund bleibt die H2 lesbar. */
.ik-vb-section:is(.ik-vb-bg-blue,.ik-vb-bg-dark) :is(
    .ik-vb-richtext,
    .ik-vb-intro,
    .ik-vb-lead,
    .ik-vb-step__text,
    .ik-vb-accordion__content,
    .ik-vb-toggle__panel
) h2 {
    color: #fff !important;
}

/* Meine Stadt Bad Kreuznach: CI- und Typografie-Anpassung des IKUTECH Builders */
.ik-vb-section :is(.ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),.ik-vb-intro,.ik-vb-lead){
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
    font-size:18px!important;
    line-height:1.7!important;
    color:#667380!important;
}
.ik-vb-section:is(.ik-vb-bg-blue,.ik-vb-bg-dark) :is(.ik-vb-richtext:not(.ik-vb-richtext--form-shortcode),.ik-vb-intro,.ik-vb-lead){color:inherit!important}
.ik-vb-eyebrow,.ik-vb-eyebrow>*{font-size:14px!important;line-height:1.25!important;color:var(--ik-blue,#0d92cf)}
.ik-vb-title--hero>h1,.ik-vb-hero .ik-vb-title>h1{font-size:clamp(42px,5.4vw,78px)!important;line-height:.98!important;letter-spacing:-.045em!important}
.ik-vb-section .ik-vb-title>h2,.ik-vb-module-cta .ik-vb-cta-grid h2{font-size:clamp(32px,4vw,54px)!important;line-height:1.05!important;letter-spacing:-.035em!important}
.ik-vb-section.ik-vb-bg-blue .ik-vb-title>:is(h1,h2,h3,h4,h5,h6){font-size:clamp(30px,3.5vw,48px)!important;line-height:1.1!important}
.ik-vb-section :is(.ik-vb-richtext,.ik-vb-intro,.ik-vb-lead,.ik-vb-step__text,.ik-vb-accordion__content,.ik-vb-toggle__panel) h2{
    color:var(--ik-blue,#0d92cf)!important;
    font-size:32px!important;
    line-height:1.15!important;
}
.ik-vb-section:is(.ik-vb-bg-blue,.ik-vb-bg-dark) :is(.ik-vb-richtext,.ik-vb-intro,.ik-vb-lead,.ik-vb-step__text,.ik-vb-accordion__content,.ik-vb-toggle__panel) h2{color:#fff!important}
.ik-vb-media,.ik-vb-image-text__media,.ik-vb-gallery__item{border-radius:22px}

/* Meine Stadt 2.1.1: Hero-Titel mobil zusammenhalten */
@media (max-width:760px){
  .ik-vb-title--hero>h1,
  .ik-vb-hero .ik-vb-title>h1{
    font-size:clamp(36px,10vw,44px)!important;
  }
  .ik-vb-title--hero>h1 mark,
  .ik-vb-hero .ik-vb-title>h1 mark{
    display:inline-block;
    white-space:nowrap!important;
  }
}


/* 2.1.5: Meine Stadt Builder Feinschliff */
.ik-vb-shortcode--msbk-events > .ik-vb-inner{
    width:min(calc(100% - 40px), var(--ik-container));
    max-width:none;
}
.ik-vb-shortcode--msbk-events .ik-vb-shortcode,
.ik-vb-shortcode--msbk-events .msbk-event-grid,
.ik-vb-shortcode--msbk-events .msbk-main-events-list,
.ik-vb-shortcode--msbk-events .msbk-actions{
    width:100%;
    max-width:none;
}
.ik-vb-shortcode--msbk-events .msbk-event-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.ik-vb-shortcode--msbk-events .msbk-main-event-block,
.ik-vb-shortcode--msbk-events .msbk-event-card{
    min-width:0;
}
.ik-vb-hero .ik-vb-media{
    background:transparent;
    border-radius:22px;
}
.ik-vb-hero .ik-vb-media img{
    width:100%;
    height:auto;
    max-height:620px;
    object-fit:contain;
    object-position:center;
    background:transparent;
    display:block;
}
@media (max-width:900px){
    .ik-vb-shortcode--msbk-events .msbk-event-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:782px){
    .ik-vb-shortcode--msbk-events > .ik-vb-inner{
        width:min(calc(100% - 28px), var(--ik-container));
    }
    .ik-vb-shortcode--msbk-events .msbk-event-grid{
        grid-template-columns:1fr;
    }
    .ik-vb-hero .ik-vb-media{
        min-height:0;
    }
    .ik-vb-hero .ik-vb-media img{
        max-height:none;
    }
}


/* 2.1.6: Flexible Bildhöhen ohne weiße Restflächen */
.ik-vb-hero .ik-vb-media,
.ik-vb-image-text .ik-vb-media{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:transparent !important;
    overflow:hidden;
}
.ik-vb-hero .ik-vb-media img,
.ik-vb-image-text .ik-vb-media img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent !important;
}
@media (max-width:1024px){
    .ik-vb-hero .ik-vb-media,
    .ik-vb-image-text .ik-vb-media{
        min-height:0 !important;
        aspect-ratio:auto !important;
    }
}
@media (max-width:782px){
    .ik-vb-hero .ik-vb-media,
    .ik-vb-image-text .ik-vb-media{
        min-height:0 !important;
        aspect-ratio:auto !important;
    }
}


/* 2.1.7: Sanfter Hover-Effekt für Bilder */
@media (hover:hover) and (pointer:fine){
  .msbk-hero-media,
  .msbk-editor-hero-image,
  .msbk-event-visual.is-single .msbk-event-visual-main,
  .ik-vb-hero .ik-vb-media,
  .ik-vb-image-text .ik-vb-media{
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
    transform:translateY(0);
    will-change:transform;
  }
  .msbk-hero-media img,
  .msbk-editor-hero-image img,
  .msbk-event-visual.is-single .msbk-event-visual-main img,
  .ik-vb-hero .ik-vb-media img,
  .ik-vb-image-text .ik-vb-media img{
    transition:transform .32s ease, filter .22s ease;
    will-change:transform;
  }
  .msbk-hero-media:hover,
  .msbk-editor-hero-image:hover,
  .msbk-event-visual.is-single .msbk-event-visual-main:hover,
  .ik-vb-hero .ik-vb-media:hover,
  .ik-vb-image-text .ik-vb-media:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 50px rgba(27,45,58,.18);
    filter:saturate(1.02);
  }
  .msbk-hero-media:hover img,
  .msbk-editor-hero-image:hover img,
  .msbk-event-visual.is-single .msbk-event-visual-main:hover img,
  .ik-vb-hero .ik-vb-media:hover img,
  .ik-vb-image-text .ik-vb-media:hover img{
    transform:scale(1.018);
  }
}
