:root{
    --cl-bg-ink: #0B2740;           /* sehr dunkel, nur punktuell */
    --cl-bg-deep: #0E3F6B;          /* dunkles Blau */
    --cl-bg-smoke: #F7F9FC;         /* sehr hell */
    --cl-bg-paper: #FFFFFF;         /* weiß */
}

/* Sektion-Hintergründe */
.bg--ink     { background: var(--cl-bg-ink);     color:#fff; }
.bg--deep    { background: var(--cl-bg-deep);    color:#fff; }
.bg--smoke   { background: var(--cl-bg-smoke); }
.bg--paper   { background: var(--cl-bg-paper); }

/* zarter Innen-Schatten an Oberkante (optischer "Step") */
.section-seam {
    position: relative;
    z-index: 0;
}
.section-seam::before{
    content:"";
    position:absolute; inset: -12px 0 auto 0; height:12px;
    background: linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,0));
    pointer-events:none; z-index:-1;
}

/* Diagonal-Separator oben */
.sep-angled-top {
    position: relative; isolation:isolate;
}
.sep-angled-top::before{
    content:"";
    position:absolute; left:0; right:0; top:-48px; height:48px;
    background: linear-gradient( to bottom right, transparent 49%, rgba(0,0,0,.06) 50% );
    mix-blend-mode: multiply;
    pointer-events:none;
}
/* Version unten (optional) */
.sep-angled-bottom {
    position: relative; isolation:isolate;
}
.sep-angled-bottom::after{
    content:"";
    position:absolute; left:0; right:0; bottom:-48px; height:48px;
    background: linear-gradient( to top right, transparent 49%, rgba(0,0,0,.06) 50% );
    mix-blend-mode: multiply;
    pointer-events:none;
}

/* Sekundär-CTA-Link unter Hauptbutton */
.cta-secondary {
    display: inline-block;
    margin-top: 0.6rem;
    font-size: 0.98rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);        /* hell, gut lesbar */
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    text-decoration-color: rgba(255, 255, 255, 0.4);
    transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

.cta-secondary:hover {
    color: #fff !important; /* erzwingt Weiß */
    text-decoration-color: #22c55e !important;
}

/* Mobil: zentriert unter CTA */
@media (max-width: 576px) {
    .cta-secondary {
        display: block;
        text-align: center;
    }
}

/* Iframe und Poster decken die Fläche vollständig ab */
.embed-cover,
.hero-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    border-radius: 12px;
    object-fit: cover;
}

/* Poster ausblenden, sobald Video geladen */
.hero-poster {
    z-index: 2;
    opacity: 1;
    transition: opacity .6s ease;
    pointer-events: none;
}
.hero-poster.fade-out { opacity: 0; }

/* Vimeo-Overlay unten: bleibt ok */
.hero-video-wrapper iframe { z-index: 1; }

.hero-video-wrapper .ratio { --bs-aspect-ratio: 56.25%; }

.hero-video-wrapper {
    position: relative;
    overflow: hidden;
}

.hero-video-wrapper { --hc-bg: rgba(15,23,42,.65); --hc-bg-hover: rgba(15,23,42,.85); }
.hero-poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .3s ease; }
.hero-video-wrapper.is-playing .hero-poster{ opacity:0; pointer-events:none; }

.hero-controls {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: flex;
    gap: 10px;
    z-index: 3;
    backdrop-filter: blur(6px);
}

.hc-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(0,0,0,0.35);
    color: #fff;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, transform .15s ease;
}

.hc-btn:hover {
    background: rgba(0,0,0,0.55);
    border-color: #22c55e;
    transform: translateY(-1px);
}

.hc-btn svg {
    width: 20px;
    height: 20px;
    stroke-width: 2.2;
    stroke: #fff;
}

/* Aktiver Zustand (Ton an / Pause) */
.hc-btn[aria-pressed="true"] svg {
    stroke: #22c55e;
}
.hc-btn:active{ transform: scale(.98); }
.hc-btn[aria-pressed="true"]{ outline:2px solid rgba(34,197,94,.65); }
@media (max-width: 576px){ .hc-btn{ padding:8px; font-size:18px; } }

.hero-video-wrapper video {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
    border-radius: 12px;
    filter: brightness(1.05) contrast(1.05);
}

.hero-video-wrapper::after {
    content: "";
    position: absolute;
    inset: auto -8% -8% -8%;
    height: 32%;
    background: radial-gradient(50% 60% at 50% 50%, rgba(255,255,255,.18) 0%, rgba(12,102,194,.18) 35%, rgba(12,102,194,0) 80%);
    filter: blur(14px);
    z-index: -1;
}

/* ---------- Hero Upgrades (Cleverloyal clean) ---------- */
:root{
    --cl-blue-800:#0C66C2;   /* Markenblau */
    --cl-blue-900:#064A8C;
    --cl-blue-950:#043A70;
    --cl-white:#fff;
    --cl-light:#8EC3FF;      /* zartes Hellblau für Text-Schimmer */
    --cl-light-2:#C2E3FF;
}

/* 0) Hintergrund: Center-Fade statt Verlauf mit sichtbarer Kante */
#hero-10.hero-section{
    background: radial-gradient(120% 85% at 30% 40%,
    var(--cl-blue-800) 0%,
    var(--cl-blue-900) 62%,
    var(--cl-blue-950) 100%);
}

/* 1) Headline */
/* Basis: klar weiß, gute Lesbarkeit */
.hero-10-txt h2.s-42{
    color: var(--cl-white);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.015em;
    margin-bottom: .6rem;
}

/* Optionaler Schimmer NUR für markierte Wörter:
   umschließe die betonte Passage mit <span class="shine">…</span> */
.hero-10-txt h2.s-42 .shine{
    background: linear-gradient(90deg, #ffffff 0%, var(--cl-light) 52%, var(--cl-light-2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

/* 2) Subheadline: ruhiger, luftiger */
.hero-10-txt h4.s-28{
    color: rgba(255,255,255,.96);
    line-height: 1.35;
    margin-top: .25rem;
}

/* 3) CTA-Priorisierung */
.btn--white{
    background: var(--cl-white);
    color: var(--cl-blue-900);
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.08);
    transform: translateZ(0);
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.btn--white:hover{ transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.14), 0 6px 12px rgba(0,0,0,.09); }

.btn--tra-white{
    border: 2px solid var(--cl-white);
    color: var(--cl-white);
    font-weight: 600;
    opacity: .9;
    transition: opacity .12s ease, transform .12s ease;
}
.btn--tra-white:hover{ opacity: 1; transform: translateY(-1px); }

/* 4) Button-Gruppe Spacing */
.btns-group .btn{ margin-right:.6rem }
@media (max-width:576px){ .btns-group .btn{ width:100%; margin-right:0 }}

/* 5) Micro-Trust-Zeile */
.hero-trust-row{
    display:flex; align-items:center; gap:18px;
    color: rgba(255,255,255,.85);
    font-size:.95rem; line-height:1.4; margin-top:.75rem;
}
.hero-trust-row .dot{ opacity:.45 }

/* 6) Subtiles Spotlight unter dem Geräte-Bild (ohne Glow) */
.hero-10-img{ position:relative; isolation:isolate; }
.hero-10-img::after{
    content:"";
    position:absolute; inset:auto -8% -10% -8%;
    height:30%;
    background: radial-gradient(55% 70% at 50% 40%,
    rgba(255,255,255,.16) 0%,
    rgba(12,102,194,.16) 40%,
    rgba(12,102,194,0) 85%);
    filter: blur(14px);
    z-index:-1;
}

/* 7) Sehr leichte Float-Animation (dezent) */
.hero-10-img img{
    animation: cl-float 7s ease-in-out infinite;
    will-change: transform;
}
@keyframes cl-float{
    0% { transform: translateY(0) rotate(.05deg) }
    50%{ transform: translateY(-6px) rotate(.35deg) }
    100%{ transform: translateY(0) rotate(.05deg) }
}

/* 8) Accessibility: sichtbarer Fokus */
.btn:focus-visible{
    outline: 3px solid #A7D1FF; outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(167,209,255,.45);
}

/* Pulsierender Effekt beim Start (z. B. für Unmute-Button) */
.hc-btn.pulse {
    position: relative;
}

.hc-btn.pulse::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    animation: pulseAnim 1.8s ease-out infinite;
    opacity: 0;
}

@keyframes pulseAnim {
    0% { transform: scale(0.8); opacity: 0.8; }
    70% { transform: scale(1.4); opacity: 0; }
    100% { opacity: 0; }
}

/* Styling AddOn */
.compare-table th.c-crit { width: 28%; }
.compare-table .c-col { width: 18%; }
.cmp-card .cmp-tag { background:#16a34a; color:#fff; padding:.25rem .5rem; border-radius:.5rem; font-weight:600; }

/* ---------- Shared Table Styles (Desktop) ---------- */
#ad-compare .compare-table{ max-width:1040px; border-radius:14px; overflow:hidden; }
#ad-compare thead th{ padding:0 12px 14px; vertical-align:bottom; }
#ad-compare .c-crit{ width:28%; font-weight:600; color:#243647; white-space:nowrap; }
#ad-compare .c-col{ width:24%; }
#ad-compare tbody tr{ border-top:1px solid rgba(8,40,60,.08); }
#ad-compare tbody td, #ad-compare tbody th{ padding:14px 16px; font-size:15px; color:#334556; }
#ad-compare td.c-yes{
    font-weight:700; color:#0B64A4;
    background: linear-gradient(90deg, rgba(12,102,194,.06), rgba(12,102,194,0));
    border-left:3px solid rgba(12,102,194,.35);
}
#ad-compare td.c-no{
    color:#9a2e2e;
    background: linear-gradient(90deg, rgba(215,80,80,.08), rgba(215,80,80,0));
    border-left:3px solid rgba(215,80,80,.28);
}
#ad-compare .c-clever-head{
    background: linear-gradient(180deg, rgba(12,102,194,.14), rgba(12,102,194,.06));
    box-shadow: inset 0 -1px 0 rgba(12,102,194,.25), 0 10px 22px rgba(12,102,194,.08);
    outline:1px solid rgba(12,102,194,.22);
    border-radius:12px; padding:14px 16px 12px; position:relative;
}
#ad-compare .c-clever-head::after{
    content:""; position:absolute; left:0; right:0; top:0; height:3px;
    background: linear-gradient(90deg, rgba(12,102,194,0), rgba(12,102,194,.65), rgba(12,102,194,0));
}
#ad-compare .c-logo{ height:22px; width:auto; display:block; }

/* ---------- Mobile Stack (No Horizontal Scroll) ---------- */
#ad-compare .compare-stack{ display:grid; gap:14px; }
#ad-compare .cmp-card{
    background:#fff; border-radius:14px; padding:14px; box-shadow:0 8px 28px rgba(8,40,60,.08);
}
#ad-compare .cmp-head{ display:grid; gap:8px; }
#ad-compare .cmp-crit{ font-size:16px; font-weight:700; margin:0; color:#243647; }

#ad-compare .cmp-cl{
    border:1px solid rgba(12,102,194,.25);
    background: linear-gradient(180deg, rgba(12,102,194,.08), rgba(12,102,194,.03));
    border-radius:12px; padding:10px 12px;
}
#ad-compare .cmp-tag{
    display:inline-block; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
    color:#0B64A4; background:rgba(12,102,194,.10); border:1px solid rgba(12,102,194,.25);
    border-radius:999px; padding:4px 10px; margin-bottom:6px; font-weight:700;
}
#ad-compare .cmp-cl-text{ font-weight:700; color:#0B64A4; line-height:1.35; }

#ad-compare .cmp-more{ margin-top:8px; }
#ad-compare .cmp-summary{
    cursor:pointer; font-weight:600; color:#334556; padding:8px 0;
    list-style:none; position:relative;
}
#ad-compare .cmp-summary::-webkit-details-marker{ display:none; }
#ad-compare .cmp-summary::after{
    content:"▾"; position:absolute; right:0; top:8px; font-size:14px; opacity:.6;
}
#ad-compare .cmp-more[open] .cmp-summary::after{ content:"▴"; }

#ad-compare .cmp-rows{ display:grid; gap:10px; padding-top:6px; }
#ad-compare .cmp-row{
    border:1px solid rgba(8,40,60,.12); border-radius:10px; padding:10px 12px; background:#fbfcfe;
}
#ad-compare .cmp-label{ font-size:12px; font-weight:600; color:#516579; margin-bottom:4px; }
#ad-compare .cmp-text{ color:#334556; line-height:1.4; }

.section-divide{
    height:1px; border:0; margin: clamp(28px,4vw,44px) 0;
}
.hr-gradient{
    background: linear-gradient(90deg, transparent, rgba(8,40,60,.16), transparent);
}

/* Sicherstellen, dass alles bündig sitzt */
.comparison-table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    width: 100%;
    table-layout: fixed;
}

/* Header-Zellen komplett verbinden */
.comparison-table thead tr {
    background: linear-gradient(145deg, #0C66C2 0%, #084F97 100%) !important;
}

.comparison-table thead th {
    background: none !important; /* Verhindert Lücken zwischen Zellen */
    color: #fff !important;
    border: none !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: 1rem .8rem;
}

/* Erste & letzte Header-Zelle leicht abrunden */
.comparison-table thead th:first-child {
    border-top-left-radius: 8px;
}
.comparison-table thead th:last-child {
    border-top-right-radius: 8px;
}

/* Body bleibt optisch ruhig */
.comparison-table tbody td {
    border-top: 1px solid #e6ebf0;
    vertical-align: middle;
}

/* Subtiler Übergang zur Cleverloyal-Spalte */
.comparison-table tbody tr td:nth-child(5) {
    background: linear-gradient(145deg, #EAF4FF 0%, #D4E7FF 100%);
    border-left: 3px solid #0C66C2;
    color: #0C66C2;
    font-weight: 700;
}


/* --- Mobile cards grid --- */
.loy-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.loy-item{ border:1px solid #eef0f3; border-radius:10px; padding:12px 12px; background:#fff; }
.loy-item .loy-label{ font-weight:500; display:flex; gap:8px; align-items:center; margin-bottom:4px;}
.loy-item .loy-label i{ width:18px; height:18px; }
.loy-text{ color:#4d5b6a; }
.loy-item.clv{ background:#F0F7FF; border-color:#CDE5FF; box-shadow:0 0 0 2px #E6F1FF inset; }
.loy-item.clv .loy-label{ color:#0653B6; }

/* 2 columns on larger phones */
@media (min-width: 480px){
    .loy-grid{ grid-template-columns:1fr 1fr; }
}
/* --- Strike visual --- */
.strike-row{ background:#0b1220; color:#fff; box-shadow:0 20px 60px rgba(0,0,0,.25); position:relative; }
.strike-item{ position:relative; width:110px; height:92px; border-radius:12px; background:rgba(255,255,255,.06);
    display:flex; flex-direction:column; align-items:center; justify-content:center; isolation:isolate; }
.strike-item .ic i{ width:26px; height:26px; color:#9fb3c8; }
.strike-item .lbl{ font-size:.9rem; color:#cbd6e2; margin-top:6px; }
.strike-item::after{ content:""; position:absolute; inset:auto 8px 44px 8px; height:2px; background:#ff4d4d;
    transform:rotate(-18deg); transform-origin:center; box-shadow:0 0 12px rgba(255,77,77,.6); }
.sep{ width:26px; height:26px; opacity:.35; background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); border-radius:99px; }

/* --- Verbesserter "stattdessen"-Text --- */
.kb-divider.label {
    margin: 0 18px;
    color: #DCE6F5;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.9;
    position: relative;
    top: 1px;
    user-select: none;
    transition: opacity .25s ease, transform .25s ease;
}

.kb-divider.label:hover {
    opacity: 1;
    transform: translateY(-1px);
}

/* --- Cleverloyal-Logo-Karte --- */
.kb-new-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 60% 50%, #121821 0%, #0A0E14 100%);
    border-radius: 14px;
    padding: 10px 28px;
    box-shadow:
        0 10px 28px rgba(0,0,0,.35),
        inset 0 0 0 1px rgba(255,255,255,.05),
        inset 0 1px 2px rgba(255,255,255,.08);
    transition: all .25s ease;
}

.kb-new-logo:hover {
    transform: translateY(-2px);
    box-shadow:
        0 14px 34px rgba(0,0,0,.45),
        inset 0 0 0 1px rgba(255,255,255,.08);
}

.kb-new-logo img {
    height: 36px;
    filter: drop-shadow(0 0 10px rgba(255,255,255,.15));
    opacity: 0.95;
    transition: opacity .25s ease, transform .25s ease;
}

.kb-new-logo:hover img {
    opacity: 1;
    transform: scale(1.03);
}

.kb-new-logo::after {
    content: "";
    position: absolute;
    inset: auto 10% -8% 10%;
    height: 12px;
    background: radial-gradient(50% 80% at 50% 100%, rgba(12,102,194,.25), transparent 80%);
    filter: blur(10px);
    z-index: -1;
}


/* spacing tweak */
.mt-6{ margin-top:3.5rem; }

/* ---------- FEATURES (Lucide Version) ---------- */
.features-pillars {
    background: #fff;
    border-bottom: 1px solid rgba(8,40,60,.06); /* sanfter Trenner */
    position: relative;
    z-index: 1;
}


.feat-chip {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(12,102,194,.08);
    border: 1px solid rgba(12,102,194,.18);
    font-weight: 700;
    font-size: 12px;
    color: #0B64A4;
    letter-spacing: .01em;
}

/* Pillar Card */
.pillar {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(8,40,60,.08);
    transition: transform .18s ease, box-shadow .18s ease;
    border: 1px solid rgba(8,40,60,.06);
}
.pillar:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(8,40,60,.12);
}

.pillar-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.pillar-ico {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, rgba(12,102,194,.14), rgba(12,102,194,.06));
    border: 1px solid rgba(12,102,194,.22);
    box-shadow: inset 0 -1px 0 rgba(12,102,194,.25);
    color: #0B64A4;
}
.pillar-ico i {
    width: 22px;
    height: 22px;
    stroke-width: 2.2;
}

.pillar-title {
    font-size: 18px;
    font-weight: 800;
    margin: 0;
    letter-spacing: -.01em;
    color: #243647;
}

.pillar-text {
    color: #334556;
    margin: 10px 0 12px;
    line-height: 1.45;
}

.pillar-foot {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.micro-check {
    font-size: 12px;
    font-weight: 700;
    color: #2d5e89;
    background: #edf6ff;
    border: 1px solid rgba(12,102,194,.22);
    border-radius: 8px;
    padding: 4px 8px;
}

/* Mobile */
@media (max-width: 575.98px) {
    .feat-chip { font-size: 11px; }
    .pillar { padding: 16px; }
    .pillar-ico { width: 40px; height: 40px; }
    .pillar-ico i { width: 20px; height: 20px; }
    .pillar-title { font-size: 17px; }
}

/* Testimonials */
.t-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(8,40,60,.08); transition:transform .2s ease, box-shadow .2s ease; }
.t-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(8,40,60,.14); }
.t-media{ position:relative; border-bottom:1px solid rgba(0,0,0,.06); }
.t-play{ position:absolute; inset:auto auto 12px 12px; background:rgba(11,100,164,.92); color:#fff; border-radius:999px; width:44px; height:44px; display:grid; place-items:center; font-size:18px; box-shadow:0 6px 18px rgba(11,100,164,.45); }
.t-body{ padding:16px 16px 18px; }
.t-stars{ color:#FFB800; letter-spacing:2px; font-size:18px; margin-bottom:6px; }
.t-title{ font-weight:800; font-size:18px; margin:0 0 6px; }
.t-quote{ margin:0 0 12px; color:#425466; }
.t-meta{ display:flex; align-items:center; gap:10px; }
.t-avatar{ width:40px; height:40px; border-radius:50%; object-fit:cover; }
.t-name{ font-weight:700; line-height:1.1; }
.t-role{ font-size:12px; color:#6b7a8c; }

/* Problem list styling */
.problem-list .p-item{
    display:flex; gap:14px; align-items:flex-start;
    padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06);
}
.problem-list .p-item:last-child{ border-bottom:none; }
.problem-list .p-ico{
    flex:0 0 28px; width:28px; height:28px; border-radius:50%;
    display:grid; place-items:center; background:#ffe8e8; color:#c73636;
    font-weight:700; line-height:1;
}
.problem-list .p-copy{ color:#2b3a4a; }

/* Optional: Visual */
.problem-visual{ overflow:hidden; }

/* Comparison Table */
.comparison-table {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.comparison-table th, .comparison-table td {
    padding: 16px 18px;
    vertical-align: middle;
    font-size: 15px;
}
.comparison-table th {
    font-weight: 700;
    text-align: center;
    background: #f9fafb;
}
.comparison-table td.highlight {
    background: #e8f7f0;
    font-weight: 700;
    color: #0b64a4;
}
.comparison-table td:first-child {
    background: #f3f6fa;
    font-weight: 600;
    color: #2b3a4a;
}
.table-success {
    background-color: #e8f7f0 !important;
}

#case-studies .case-list li { margin-bottom: .35rem; }
#case-studies .badge { border-radius: 999px; font-weight: 600; }

:root{ --header-h:84px; }

/* 1) Voll-Reset: kein smooth, globaler Offset über scroll-padding */
html, body{
    scroll-behavior: auto !important;
    scroll-padding-top: var(--header-h) !important;
}

/* 2) Jede evtl. vorhandene Regel killen */
section[id]{ scroll-margin-top: 0 !important; }

/* 3) Nur beim echten Hash-Ziel offsetten (Ankerklicks, nicht Initial-Load) */
:target{ scroll-margin-top: var(--header-h) !important; }

/* 4) Verhindert „Re-Anchoring“-Sprünge bei nachladenden Inhalten */
body{ overflow-anchor: none; }

/* ===== Safe Patch: Testimonials-Modal nur über #tVideoModal ===== */

/* ===== Video im Testimonials-Modal groß & responsiv ===== */
#tVideoModal .modal-dialog {
    max-width: min(1280px, 96vw);
    margin: 2rem auto;
}

#tVideoModal .modal-content {
    padding: 0;
    background: #000;
    border: none;
    border-radius: 12px;
    overflow: hidden;
}

/* Bootstrap-Ratio-Reset: entfernt das padding-top-Tricklayout */
#tVideoModal .ratio {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
}

#tVideoModal .ratio::before {
    content: none !important;
}

#tVideoModal iframe {
    position: relative !important;
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 60vh !important; /* sorgt für große Darstellung */
    max-height: 85vh !important;
    border: none !important;
}

/* Eigener Close-Button – 100% eigenständig, keine Bootstrap-Icons nötig */
#tVideoModal .btn-close{
    position: absolute;
    top: 10px; right: 10px;
    width: 36px; height: 36px;
    border: none; border-radius: 999px;
    background: rgba(0,0,0,.55) !important;
    background-image: none !important;  /* killt Theme-Resets */
    opacity: 1 !important;
    z-index: 5;                         /* über dem iframe */
    cursor: pointer;
}
#tVideoModal .btn-close::before{
    content: "×";
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-size: 22px; line-height: 1; font-weight: 700;
    color: #fff;
}
#tVideoModal .btn-close:hover,
#tVideoModal .btn-close:focus{ background: rgba(0,0,0,.75) !important; outline: none; }

/* Optional: Modal-Backdrop etwas dunkler für Kontrast */
.modal-backdrop.show{ background-color: rgba(0,0,0,.6); }

/* hält das Vimeo-Video sauber im Container */
.hero-video-wrapper iframe { max-width:none !important; }

.unmute-btn {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 5;
    border: none;
    border-radius: 999px;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 18px;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(4px);
    transition: background 0.3s ease, transform 0.2s ease;
}

.unmute-btn:hover {
    background: rgba(0, 0, 0, 0.75);
    transform: scale(1.05);
}

/* 🔊 Pulse-Effekt */
.unmute-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    animation: pulse-ring 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes pulse-ring {
    0% {
        transform: scale(1);
        opacity: 0.9;
    }
    70% {
        transform: scale(1.7);
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

/* Optional: Icon leicht bewegen */
.unmute-icon {
    animation: pulse-icon 2s ease-in-out infinite;
}

@keyframes pulse-icon {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}

.hero-video-wrapper{ position:relative; isolation:isolate; }

/* --- Hero Benefits --- */
.hero-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 1rem;
}

.benefit {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 8px 14px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    transition: background 0.3s ease, transform 0.2s ease;
}

.benefit:hover {
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-1px);
}

.benefit-icon {
    font-size: 18px;
    line-height: 1;
    opacity: 0.95;
    text-shadow: 0 0 6px rgba(255,255,255,0.5);
}

.benefit-text {
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    white-space: nowrap;
}

/* Mobile Layout */
@media (max-width: 576px) {
    .hero-benefits {
        flex-direction: column;
        align-items: flex-start;
    }
    .benefit {
        width: 100%;
        justify-content: flex-start;
    }
}


/* ===== TRUST BOTTOM ===== */
#trust-bottom {
    background: #f9fafc;
    color: #6c757d;
    text-align: center;
    position: relative;
}

/* Glow-Hintergrund (subtiler als Hero, aber ähnlich) */
.trust-glow-bg {
    background: radial-gradient(
        70% 70% at 50% 10%,
        rgba(12, 102, 194, 0.18) 0%,
        rgba(12, 102, 194, 0.08) 45%,
        rgba(12, 102, 194, 0) 100%
    );
    filter: blur(80px);
    z-index: 0;
}

/* "Made in Austria" Trust-Tag */
.made-in-at {
    display: inline-block;
    margin-top: 6px;
    font-weight: 600;
    color: #6c757d;
    background: rgba(12,102,194,0.08);
    padding: 3px 10px;
    border-radius: 50px;
    font-size: 0.9rem;
}

/* Sterne */
#trust-bottom .stars {
    color: #FFB800;
    font-size: 1.5rem;
    letter-spacing: 1.5px;
}

/* Avatar-Gruppe */
.avatar-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    z-index: 2;
}

.avatar-group .avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
    transition: transform 0.2s ease;
}
.avatar-group .avatar:hover { transform: scale(1.08); }

/* "+ viele mehr" Fix */
.avatar-group .avatar-more {
    background: rgba(12,102,194,0.1);
    color: #0C66C2;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border: 2px solid rgba(12,102,194,0.2);
    font-size: 0.75rem;
    line-height: 1.1;
    text-align: center;
    padding: 0 3px;
}

/* CTA Button */
#trust-bottom .btn--theme {
    background-color: #0C66C2;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(12,102,194,.3);
    transition: all .2s ease;
}
#trust-bottom .btn--theme:hover {
    background-color: #084A91;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(12,102,194,.35);
}

/* Reset bullets for this list */
.simple-list{
    list-style: none;         /* remove native bullets */
    margin: 0;
    padding: 0;
}
.simple-list li {
    position: relative;
    padding-left: 26px;   /* vorher 30px */
    margin-bottom: 10px;
    line-height: 1.55;
}

/* Extra safety: some browsers still render markers */
.simple-list li::marker{ content: ""; }  /* Safari/WebKit guard */

.simple-list .flaticon-check {
    position: absolute;
    left: 0;
    top: 0.25em;
    font-size: 1.05rem;
    color: #0C66C2;
    line-height: 1;
}


/* If any global styles re-introduce bullets, overrule them hard */
.txt-block .simple-list{ list-style: none !important; }


.section-id {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    background: rgba(12,102,194,0.1);
    color: #0C66C2;
    padding: 6px 14px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 1.2rem;

    display: inline-block !important;
    width: auto !important;
    max-width: max-content;         /* fallback: weglassen, wenn alte Browser */
    flex: 0 0 auto;                 /* verhindert Stretch in Flex-Parent */
    align-self: flex-start;         /* falls Parent display:flex ist */
}

/* Icon-Box sauber ausrichten */
.fbox-12 .fbox-ico {
    display: flex;
    align-items: center;
}

.fbox-12 .shape-ico{
    width: 72px;                 /* fixe Box, verhindert „Linksdrift“ */
    height: 72px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    position: relative;
    isolation: isolate;
    /* optional: dezenter Hintergrund-Chip */
    background: radial-gradient(120% 120% at 30% 30%, rgba(12,102,194,.10), rgba(12,102,194,.04) 70%, transparent 100%);
}

/* Lucide Icon immer zentriert in der Box */
.fbox-12 .shape-ico .cl-icon{
    width: 42px;
    height: 42px;
    stroke-width: 2.1;
    color: #0C66C2;
    z-index: 2;
}

/* Blob absolut in der Box zentrieren */
.fbox-12 .shape-ico .cl-blob{
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 88px;                 /* größer als Box = sanfter „Halo“ */
    height: auto;
    z-index: 1;
    opacity: .85;
    pointer-events: none;
    animation: cl-float 7.5s ease-in-out infinite;
}

/* kleine optische Korrektur, damit nichts an der Kartenkante klebt */
.fbox-12 { padding-left: 20px; padding-right: 20px; }
.fbox-12 .fbox-ico { margin-left: 2px; margin-bottom: 8px; }

@keyframes cl-float{
    0%{ transform: translate(-50%,-50%) scale(1); }
    50%{ transform: translate(calc(-50% + 1px), calc(-50% - 2px)) scale(1.03); }
    100%{ transform: translate(-50%,-50%) scale(1); }
}

@media (prefers-reduced-motion: reduce){
    .fbox-12 .shape-ico .cl-blob{ animation: none; }
}

/* DESKTOP table – cleaner look */
/* Abstand zur Containerkante */
.comp-table {
    border-collapse: separate !important;
    border-spacing: 0;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(8,40,60,.08);

    /* NEU – Abstand zu Container */
    margin-left: auto;
    margin-right: auto;
    max-width: 96%;
}

/* Optional mehr vertikalen Raum */
#comparison-cleverloyal .table-responsive {
    padding: 0 1rem;         /* Innenabstand links/rechts */
}

/* Überschrift- und Zellenlayout leicht entspannter */
.comp-table thead th {
    background: #F7F9FC;
    font-weight: 700;
    padding: 18px 20px;
}

.comp-table td, .comp-table th {
    padding: 18px 20px;
    vertical-align: middle;
}

.comp-table td:first-child {
    font-weight: 600;
    color: #223;
    background: #F1F5FB;
    white-space: nowrap;
}

/* Cleverloyal-Spalte */
.comp-table .is-best {
    background: #E8F3FF !important;
    color: #0C66C2;
    font-weight: 700;
}

/* Weiche Übergänge */
.comp-table tbody tr:hover td {
    background: #f9fbff;
}

/* MOBILE cards */
.comp-mobile .cm-item{
    background:#fff; border:1px solid rgba(8,40,60,.08);
    border-radius:14px; padding:16px; margin-bottom:14px;
    box-shadow: 0 6px 18px rgba(8,40,60,.06);
}
.comp-mobile .cm-title{
    font-weight:800; font-size:1rem; margin:2px 0 10px;
}
.comp-mobile .cm-grid{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.comp-mobile .cm-grid li{
    border:1px solid rgba(8,40,60,.08);
    border-radius:10px; padding:10px 12px; background:#fff;
}
.comp-mobile .cm-grid li .cm-label{
    display:inline-block; font-weight:700; font-size:.9rem; margin-bottom:2px;
    color:#334;
}
.comp-mobile .cm-grid li p{ margin:0; color:#4b5563; font-size:.95rem; }
.comp-mobile .cm-grid li.is-best{
    border-color:#0C66C2; background: #E8F3FF;
    position:relative;
}
.comp-mobile .cm-grid li.is-best::after{
    content:"✓ Beste Wahl";
    position:absolute; top:8px; right:10px;
    font-weight:700; font-size:.8rem; color:#0C66C2;
    background:#fff; border:1px solid #0C66C2; border-radius:999px; padding:2px 8px;
}

/* Breite & Typo */
.case-title { margin-bottom: 14px; }
.col-lg-6 .case-card, .col-lg-6 .case-foot { max-width: 600px; }

.case-card{
    background:#fff; border:1px solid rgba(0,0,0,.06);
    border-radius:14px; padding:22px 24px;
    box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.case-row{ display:grid; grid-template-columns:140px 1fr; gap:12px; padding:12px 0; }
.case-row + .case-row{ border-top:1px solid #eef2f7; }
.case-label{ color:#475569; font-weight:700; }
.case-body{ color:#0f172a; line-height:1.55; }
.case-body .num{ color:#0ea5e9; font-weight:800; }


.case-foot{ color:#64748b; font-size:.92rem; margin-top:10px; }

/* Badges – einheitlich */
.badge{ border-radius:999px; padding:.45rem .75rem; font-weight:600; }

/* Abschnittsrhythmus */
.case-block { margin-bottom: 56px; }
@media (min-width: 992px){ .case-block { margin-bottom: 72px; } }

.case-divider{
    border:0; height:2px; margin:56px 0 40px;
    background: rgba(15, 23, 42, .14); /* deutlich sichtbar auf bg--smoke */
    border-radius:2px;
}

.case-sep{
    position: relative; height: 28px; margin: 56px 0 28px;
}
.case-sep::before{
    content:""; position:absolute; left:0; right:0; top:12px; height:1px;
    background: linear-gradient(to right, transparent, rgba(15,23,42,.16), transparent);
}





/* Textspalte auf ideale Zeilenlänge begrenzen */
.case-card, .case-foot { max-width: 600px; }

/* Badges: ein Look, gleiche Höhe */
.badge { border-radius: 999px; padding: .45rem .75rem; font-weight: 600; line-height: 1; }
.badge i { width: 16px; height: 16px; margin-right: .35rem; vertical-align: -2px; }

.case-video{ position:relative; border-radius:12px; overflow:hidden; background:#0b1220; }
.case-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.case-poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .25s ease; }

/* Overlay deckt wirklich nur bis zum Start – danach wird es entfernt */
.case-overlay{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background: radial-gradient(ellipse at center, rgba(0,0,0,.28) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,0) 80%);
    z-index:5; cursor:pointer;
}

.case-play {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.9);
    background: rgba(11, 100, 164, 0.92); /* identischer Farbton wie Testimonials */
    color: #fff;
    backdrop-filter: blur(4px);
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
    z-index: 5;
    box-shadow: 0 4px 12px rgba(11, 100, 164, 0.3);
}

.case-play:hover {
    transform: scale(1.08);
    background: rgba(11, 100, 164, 1);
    box-shadow: 0 6px 16px rgba(11, 100, 164, 0.4);
}

.case-play i {
    width: 28px;
    height: 28px;
}

/* Beim Abspielen: Poster aus, Overlay weg */
.case-video.is-playing .case-poster{ opacity:0; pointer-events:none; }


.case-poster {
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transition: opacity .25s ease;
}

.case-play:focus-visible{ outline: 2px solid #22c55e; outline-offset: 2px; }
/* Wenn Video spielt -> Button ausblenden */
.case-video.is-playing .case-play {
    opacity: 0;
    pointer-events: none;
}

/* Untertitel-Style (falls eingebrannt/Overlay nötig) */
.subtitle-box{
    position:absolute; left:50%; bottom:8%;
    transform: translateX(-50%);
    background: rgba(0,0,0,.45);
    color:#fff; padding:4px 10px; border-radius:6px;
    font: 600 16px/1.3 Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    max-width: 92%; text-align:center;
}


/* Fix: Play-Button nicht auf Full-Size strecken */
.t-media.ratio { position: relative; }

.t-media.ratio > .t-play{
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 12px !important;
    left: 12px !important;

    width: 44px !important;
    height: 44px !important;
    display: grid;
    place-items: center;

    z-index: 2;
    pointer-events: none; /* Click geht an die Figure (Modal) */
}
