.ib-compare-wrap {
    width: 100%;
    margin: clamp(32px, 5vw, 64px) 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
    border-radius: var(--ib-radius, 20px);
    background: #fff;
    box-shadow: var(--ib-shadow-sm, 0 4px 16px rgba(28, 24, 37, .09))
}

.ib-compare {
    width: 100%;
    min-width: 760px;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    font-family: inherit;
    font-size: var(--ib-text-base, 17px);
    line-height: 1.5
}

.ib-compare th,
.ib-compare td {
    padding: clamp(16px, 2vw, 24px);
    border: 0;
    border-bottom: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
    text-align: left;
    vertical-align: middle
}

.ib-compare thead th {
    background: var(--ib-c-night, #1C1825);
    color: #fff;
    font-size: var(--ib-text-sm, 14px);
    font-weight: 700;
    text-transform: lowercase;
    white-space: nowrap
}

.ib-compare thead th:first-child {
    border-radius: var(--ib-radius, 20px) 0 0 0
}

.ib-compare thead th:last-child {
    border-radius: 0 var(--ib-radius, 20px) 0 0
}

.ib-compare tbody th {
    min-width: 190px;
    background: var(--ib-grey-bg, #f8f8fa);
    color: var(--ib-c-night, #1C1825);
    font-size: var(--ib-text-sm, 14px);
    font-weight: 700;
    text-transform: lowercase
}

.ib-compare tbody td {
    min-width: 230px;
    color: var(--ib-c-night, #1C1825)
}

.ib-compare tbody tr:last-child th,
.ib-compare tbody tr:last-child td {
    border-bottom: 0
}

.ib-compare .col-ib {
    background: var(--ib-pink-10, #FFE0F3)
}

.ib-compare thead .col-ib {
    background: var(--ib-c-pink, #FF2DB0);
    color: #fff
}

.ib-compare .th-ib {
    display: inline-flex;
    align-items: center;
    font-weight: 800
}

.ib-compare .ib-ck {
    display: inline-block;
    font-weight: 700;
    color: var(--ib-c-night, #1C1825)
}

.ib-compare .ib-ck--muted {
    font-weight: 600;
    color: var(--ib-c-muted, rgba(28, 24, 37, .62))
}

.ib-compare .ib-na {
    color: var(--ib-text-subtle, #a09dab);
    font-weight: 500
}

.ib-compare-note {
    margin: 18px 0 0;
    color: var(--ib-c-muted, rgba(28, 24, 37, .62));
    font-size: var(--ib-text-sm, 14px);
    line-height: 1.6
}

.ib-vergleich-card-grid {
    align-items: stretch
}

.ib-cmp-card {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 230px;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
    border-radius: var(--ib-r-xl, 24px);
    background: #fff;
    box-shadow: 0 10px 34px rgba(28, 24, 37, .06);
    color: var(--ib-c-night, #1C1825);
    font: inherit;
    text-align: left;
    text-decoration: none !important;
    overflow: hidden;
    cursor: pointer;
    transition: transform var(--ib-trans, .22s ease), box-shadow var(--ib-trans, .22s ease), border-color var(--ib-trans, .22s ease), background-color var(--ib-trans, .22s ease)
}

.ib-cmp-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: var(--ib-c-pink, #FF2DB0)
}

.ib-cmp-card:nth-child(4n + 2)::before {
    background: var(--ib-c-teal, #2BA9C7)
}

.ib-cmp-card:nth-child(4n + 3)::before {
    background: var(--ib-c-violet, #7B2FBE)
}

.ib-cmp-card:nth-child(4n)::before {
    background: var(--ib-c-yellow, #FFFD19)
}

.ib-cmp-card:hover,
.ib-cmp-card.is-active {
    transform: translateY(-4px);
    box-shadow: 0 22px 64px rgba(28, 24, 37, .12);
    border-color: rgba(255, 45, 176, .28)
}

.ib-cmp-card.is-active {
    background: var(--ib-c-night, #1C1825);
    color: #fff
}

.ib-cmp-card:focus-visible {
    outline: 3px solid rgba(255, 45, 176, .35);
    outline-offset: 4px
}

.ib-cmp-card__vs {
    display: block;
    margin: 0 0 12px;
    color: var(--ib-c-muted, rgba(28, 24, 37, .62));
    font-size: var(--ib-text-xs, 12px);
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase
}

.ib-cmp-card.is-active .ib-cmp-card__vs {
    color: rgba(255, 255, 255, .62)
}

.ib-cmp-card__logo {
    display: block;
    margin: 0 0 12px;
    color: var(--ib-c-night, #1C1825);
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.045em;
    text-transform: lowercase
}

.ib-cmp-card.is-active .ib-cmp-card__logo {
    color: #fff
}

.ib-cmp-card p {
    margin: 0 0 24px;
    color: var(--ib-c-muted, rgba(28, 24, 37, .62));
    font-size: var(--ib-text-sm, 14px);
    line-height: 1.5
}

.ib-cmp-card.is-active p {
    color: rgba(255, 255, 255, .72)
}

.ib-cmp-card .ib-link {
    margin-top: auto;
    color: var(--ib-c-pink, #FF2DB0);
    font-size: var(--ib-text-sm, 14px);
    font-weight: 850;
    text-transform: lowercase
}

.ib-cmp-card.is-active .ib-link {
    color: var(--ib-c-yellow, #FFFD19)
}

.ib-cmp-modal[hidden] {
    display: none
}

.ib-cmp-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: clamp(14px, 3vw, 42px)
}

.ib-cmp-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(28, 24, 37, .78);
    cursor: pointer
}

.ib-cmp-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1320px, 100%);
    max-height: calc(100svh - 40px);
    overflow: auto;
    padding: clamp(20px, 3vw, 38px);
    border-radius: clamp(20px, 3vw, 34px);
    background: #fff;
    box-shadow: 0 34px 120px rgba(0, 0, 0, .38)
}

.ib-cmp-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px
}

.ib-cmp-modal__title {
    margin: 0 !important;
    font-size: clamp(24px, 3vw, 38px) !important;
    color: var(--ib-c-night, #1C1825) !important
}

.ib-cmp-modal__close {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: var(--ib-c-night, #1C1825);
    color: #fff;
    font: 700 30px/1 Arial, sans-serif;
    cursor: pointer
}

.ib-cmp-modal__close:hover {
    background: var(--ib-c-pink, #FF2DB0)
}

.ib-cmp-modal .ib-compare-wrap {
    margin: 0
}

.rw-vs-modal-open {
    overflow: hidden
}

.ib-compare-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
    border-radius: var(--ib-radius, 20px);
    background: var(--ib-grey-bg, #f8f8fa)
}

.ib-compare-controls__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
    font-size: var(--ib-text-sm, 14px);
    font-weight: 700;
    cursor: pointer;
    user-select: none
}

.ib-compare-controls__label:has(input:checked) {
    border-color: var(--ib-c-pink, #FF2DB0);
    background: var(--ib-pink-10, #FFE0F3)
}

.ib-compare-controls input {
    accent-color: var(--ib-c-pink, #FF2DB0)
}

.ib-compare--all {
    min-width: max(900px, calc(210px + var(--rw-vs-columns, 2) * 230px))
}

.ib-compare [hidden] {
    display: none !important
}

@media(max-width:768px) {
    .ib-compare-wrap {
        margin-block: 28px;
        border-radius: 16px
    }

    .ib-compare {
        font-size: var(--ib-text-sm, 14px)
    }

    .ib-compare th,
    .ib-compare td {
        padding: 14px 16px
    }

    .ib-cmp-card {
        min-height: auto
    }

    .ib-cmp-modal {
        padding: 8px
    }

    .ib-cmp-modal__dialog {
        max-height: calc(100svh - 16px);
        padding: 18px;
        border-radius: 20px
    }

    .ib-cmp-modal__close {
        width: 42px;
        height: 42px
    }
}

/* Horizontale Navigation für den Gesamtvergleich */
.ib-compare-scroll-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 16px}.ib-compare-scroll-nav__button{display:inline-grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:999px;background:var(--ib-c-night,#1C1825);color:#fff;font:700 24px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(28,24,37,.14);transition:transform .16s ease,background-color .16s ease,opacity .16s ease}.ib-compare-scroll-nav__button:hover{background:var(--ib-c-pink,#FF2DB0);transform:translateY(-2px)}.ib-compare-scroll-nav__button:focus-visible{outline:3px solid rgba(255,45,176,.35);outline-offset:4px}.ib-compare-scroll-nav__button:disabled{opacity:.28;cursor:default;transform:none;background:var(--ib-c-night,#1C1825)}.ib-compare-scroll-nav__hint{color:var(--ib-c-muted,rgba(28,24,37,.62));font-size:var(--ib-text-sm,14px);font-weight:700;text-transform:lowercase}
@media(max-width:560px){.ib-compare-scroll-nav{justify-content:space-between}.ib-compare-scroll-nav__hint{font-size:12px;text-align:center}.ib-compare-scroll-nav__button{width:42px;height:42px}}

/* ================================================================
   Vollbildvergleich – bewusst vollständig getrennte Klassen
   ================================================================ */
.ib-compare-fullscreen-launch{display:flex;justify-content:center;margin:0 0 18px}
.ib-compare-fullscreen-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border:2px solid var(--ib-c-night,#1C1825);border-radius:999px;background:#fff;color:var(--ib-c-night,#1C1825);font:700 var(--ib-text-sm,14px)/1.2 inherit;text-transform:lowercase;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.ib-compare-fullscreen-trigger:hover{background:var(--ib-c-night,#1C1825);color:#fff;transform:translateY(-2px)}
.ib-compare-fullscreen-trigger:focus-visible{outline:3px solid rgba(255,45,176,.35);outline-offset:4px}
.ib-compare-fullscreen[hidden]{display:none!important}
.ib-compare-fullscreen{position:fixed;inset:0;z-index:100100;background:#fff;color:var(--ib-c-night,#1C1825)}
.ib-compare-fullscreen__panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100svh;overflow:hidden;background:var(--ib-grey-bg,#f8f8fa)}
.ib-compare-fullscreen__head{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px clamp(22px,3vw,52px);background:var(--ib-c-night,#1C1825);color:#fff;box-shadow:0 8px 28px rgba(28,24,37,.18);z-index:10}
.ib-compare-fullscreen__head h2{margin:2px 0 0!important;color:#fff!important;font-size:clamp(24px,2.4vw,38px)!important;line-height:1.1!important}
.ib-compare-fullscreen__eyebrow{display:block;color:var(--ib-c-yellow,#FFFD19);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ib-compare-fullscreen__close{display:grid;place-items:center;flex:0 0 auto;width:50px;height:50px;padding:0;border:0;border-radius:999px;background:#fff;color:var(--ib-c-night,#1C1825);font:700 31px/1 Arial,sans-serif;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}
.ib-compare-fullscreen__close:hover{background:var(--ib-c-pink,#FF2DB0);color:#fff;transform:rotate(4deg)}
.ib-compare-fullscreen__close:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:4px}
.ib-compare-fullscreen__toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--ib-c-border,rgba(28,24,37,.10));background:#fff;color:var(--ib-c-muted,rgba(28,24,37,.62));font-size:var(--ib-text-sm,14px);font-weight:700;text-transform:lowercase;z-index:9}
.ib-compare-fullscreen__arrow{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:999px;background:var(--ib-c-night,#1C1825);color:#fff;font:700 23px/1 Arial,sans-serif;cursor:pointer;transition:background-color .16s ease,opacity .16s ease,transform .16s ease}
.ib-compare-fullscreen__arrow:hover{background:var(--ib-c-pink,#FF2DB0);transform:translateY(-1px)}
.ib-compare-fullscreen__arrow:disabled{opacity:.25;cursor:default;transform:none;background:var(--ib-c-night,#1C1825)}
.ib-compare-fullscreen__scroll{position:relative;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px clamp(22px,3vw,52px) 42px;scrollbar-gutter:stable;background:var(--ib-grey-bg,#f8f8fa)}
.ib-compare--fullscreen{--rw-vs-fs-criterion:220px;--rw-vs-fs-ibelsa:260px;width:max-content!important;min-width:100%!important;margin:0!important;border-radius:20px;box-shadow:0 16px 52px rgba(28,24,37,.12);overflow:visible}
.ib-compare--fullscreen th,.ib-compare--fullscreen td{box-sizing:border-box}
.ib-compare--fullscreen thead th{position:sticky;top:0;z-index:6}
.ib-compare--fullscreen th:first-child,.ib-compare--fullscreen td:first-child{position:sticky;left:0;width:var(--rw-vs-fs-criterion);min-width:var(--rw-vs-fs-criterion);max-width:var(--rw-vs-fs-criterion);z-index:5}
.ib-compare--fullscreen th:nth-child(2),.ib-compare--fullscreen td:nth-child(2){position:sticky;left:var(--rw-vs-fs-criterion);width:var(--rw-vs-fs-ibelsa);min-width:var(--rw-vs-fs-ibelsa);max-width:var(--rw-vs-fs-ibelsa);z-index:4;box-shadow:8px 0 18px rgba(28,24,37,.08)}
.ib-compare--fullscreen thead th:first-child{z-index:9;background:var(--ib-c-night,#1C1825)}
.ib-compare--fullscreen thead th:nth-child(2){z-index:8;background:var(--ib-c-pink,#FF2DB0)}
.ib-compare--fullscreen tbody th:first-child{background:var(--ib-grey-bg,#f8f8fa)}
.ib-compare--fullscreen tbody td:nth-child(2){background:var(--ib-pink-10,#FFE0F3)}
.ib-compare--fullscreen tbody tr:hover td:not(:nth-child(2)){background:#fafafd}
.rw-vs-fullscreen-open{overflow:hidden}
@media(max-width:768px){.ib-compare-fullscreen-launch{display:none!important}.ib-compare-fullscreen{display:none!important}}


/* ================================================================
   Vergleichskarten – Optik der Hotelsoftware-Feature-Cards
   ================================================================ */
.ib-vergleich-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ib-gap, 28px);
  width: 100%;
}

.ib-cmp-card {
  --ib-cmp-accent: var(--ib-c-pink, #FF2DB0);
  --ib-cmp-hover-text: #fff;
  min-height: 200px;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--ib-c-border, rgba(28, 24, 37, .10));
  border-radius: var(--ib-r-xl, 24px);
  background: #fff;
  box-shadow: var(--ib-shadow-xs, 0 2px 8px rgba(28, 24, 37, .06));
  transition:
    transform var(--ib-trans, .22s ease),
    box-shadow var(--ib-trans, .22s ease),
    background-color var(--ib-trans, .22s ease),
    border-color var(--ib-trans, .22s ease),
    color var(--ib-trans, .22s ease);
}

.ib-cmp-card::before {
  height: 7px;
  border-radius: var(--ib-r-xl, 24px) var(--ib-r-xl, 24px) 0 0;
  background: var(--ib-cmp-accent);
}

.ib-cmp-card:nth-child(4n + 1) { --ib-cmp-accent: var(--ib-c-pink, #FF2DB0); }
.ib-cmp-card:nth-child(4n + 2) { --ib-cmp-accent: var(--ib-c-teal, #2BA9C7); }
.ib-cmp-card:nth-child(4n + 3) { --ib-cmp-accent: var(--ib-c-violet, #7B2FBE); }
.ib-cmp-card:nth-child(4n) {
  --ib-cmp-accent: var(--ib-c-yellow, #FFFD19);
  --ib-cmp-hover-text: var(--ib-c-night, #1C1825);
}

.ib-cmp-card__vs {
  margin: 0 0 1.35rem;
  color: var(--ib-cmp-accent);
  font-size: var(--ib-text-xs, 12px);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.35;
  transition: color var(--ib-trans, .22s ease);
}

.ib-cmp-card__logo {
  margin: 0 0 .7rem;
  color: var(--ib-c-night, #1C1825);
  font-size: clamp(21px, 1.55vw, 27px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  transition: color var(--ib-trans, .22s ease);
}

.ib-cmp-card p {
  margin: 0 0 24px;
  color: var(--ib-c-muted, rgba(28, 24, 37, .62));
  font-size: var(--ib-text-sm, 14px);
  line-height: 1.62;
  transition: color var(--ib-trans, .22s ease);
}

.ib-cmp-card .ib-link {
  margin-top: auto;
  color: var(--ib-cmp-accent);
  font-size: var(--ib-text-sm, 14px);
  font-weight: 600;
  transition: color var(--ib-trans, .22s ease);
}

.ib-cmp-card:hover,
.ib-cmp-card:focus-within,
.ib-cmp-card.is-active {
  transform: translateY(-5px);
  border-color: var(--ib-cmp-accent);
  background: var(--ib-cmp-accent);
  color: var(--ib-cmp-hover-text);
  box-shadow: var(--ib-shadow-lg, 0 20px 56px rgba(28, 24, 37, .17));
}

.ib-cmp-card:hover :where(.ib-cmp-card__vs, .ib-cmp-card__logo, p, .ib-link),
.ib-cmp-card:focus-within :where(.ib-cmp-card__vs, .ib-cmp-card__logo, p, .ib-link),
.ib-cmp-card.is-active :where(.ib-cmp-card__vs, .ib-cmp-card__logo, p, .ib-link) {
  color: var(--ib-cmp-hover-text);
}

@media (max-width: 1180px) {
  .ib-vergleich-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ib-vergleich-card-grid {
    grid-template-columns: 1fr !important;
  }

  .ib-cmp-card {
    min-height: 0;
  }
   .ib-vergleich-card-grid > .ib-cmp-card {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
  }
}

/* ================================================================
   Vergleichstabellen – kompaktere, einheitliche Typografie
   ================================================================ */
.ib-compare,
.ib-compare th,
.ib-compare td,
.ib-compare .th-ib,
.ib-compare .ib-ck,
.ib-compare .ib-ck--muted,
.ib-compare .ib-na {
  font-size: var(--ib-text-sm, 14px) !important;
}

.ib-compare thead th,
.ib-compare tbody th,
.ib-compare .th-ib,
.ib-compare .ib-ck,
.ib-compare .ib-ck--muted {
  font-weight: 600 !important;
}

.ib-compare tbody td,
.ib-compare .ib-na {
  font-weight: 400;
}



/*FIX FÜR MOBIL*/

@media (max-width: 768px) {

  /* Personality-Slide auf Mobil ausblenden */
  .ib-rb-vs-slide--personality {
    display: none !important;
  }

  /* Modal auf volle Breite ziehen */
  .ib-cmp-modal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ib-cmp-modal__dialog {
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
  }

  /* Vergleichstabelle mobil sauber einspaltig */
  .ib-cmp-modal .ib-compare {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .ib-cmp-modal .ib-compare th,
  .ib-cmp-modal .ib-compare td {
    min-width: 0;
    width: auto;
    padding: 12px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .ib-cmp-modal .ib-compare-wrap {
    overflow-x: visible;
  }
}