:root{color-scheme:light dark;--vb-bg:#f5f5f7;--vb-text:#1d1d1f;--vb-muted:#6e6e73;--vb-line:#e5e5ea;--vb-blue:#006ee6;--vb-paper:#fff;--vb-card-radius:32px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--vb-bg);color:var(--vb-text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-text-size-adjust:100%}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--vb-blue);outline-offset:4px}.vb-page{padding:clamp(36px,6vw,74px) 0 40px;overflow:hidden}.vb-container{width:min(100% - 48px,1330px);margin:0 auto}.vb-heading{margin-bottom:30px}.vb-kicker{color:#d84c43!important;letter-spacing:.12em;font-size:.76rem;font-weight:750;margin:0 0 11px}.vb-heading h1{font-size:clamp(2.55rem,5vw,4.3rem);font-weight:730;letter-spacing:-.06em;line-height:1.03;margin:0 0 10px}.vb-heading>p:last-child{font-size:clamp(.96rem,1.7vw,1.17rem);color:var(--vb-muted);margin:0}.vb-carousel{display:flex;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 1px 15px;scroll-behavior:smooth}.vb-carousel::-webkit-scrollbar{display:none}.vb-card{position:relative;isolation:isolate;overflow:hidden;flex:0 0 min(74vw,540px);height:clamp(560px,52vw,650px);scroll-snap-align:start;border-radius:var(--vb-card-radius);background:var(--vb-paper);box-shadow:0 15px 34px rgba(12,20,35,.075)}.vb-card-cover,.vb-card-cover img,.vb-cover-fallback{position:absolute;inset:0;width:100%;height:100%}.vb-card-cover img{object-fit:cover;object-position:center;display:block}.vb-cover-fallback{display:none;background:linear-gradient(145deg,#37688f,#192d45)}.vb-card--photo::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.87) 100%)}.vb-card-content{position:relative;z-index:2;padding:34px;display:flex;flex-direction:column;align-items:flex-start}.vb-card-content--bottom{height:100%;justify-content:flex-end;color:white}.vb-card-content--top{height:auto}.vb-eyebrow{font-size:.73rem;letter-spacing:.11em;font-weight:800;margin-bottom:10px}.vb-card h2{font-size:clamp(1.7rem,2.7vw,2.35rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 11px;max-width:17ch}.vb-card p{font-size:clamp(.91rem,1.2vw,1.03rem);line-height:1.42;max-width:38ch;margin:0 0 20px;color:inherit;opacity:.9}.vb-actions{display:flex;flex-wrap:wrap;gap:9px}.vb-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:11px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.95);color:#1d1d1f;text-decoration:none;font-weight:650;font-size:.84rem;min-height:42px;padding:8px 14px;border-radius:999px;transition:transform .15s,background .15s}.vb-actions a:hover{transform:translateY(-2px);background:#fff}.vb-actions span{opacity:.55}.vb-card--device{background:#111215;color:#f5f5f7}.vb-card--device .vb-eyebrow{color:#abd4ff}.vb-card--device .vb-card-content{padding-bottom:4px}.vb-card--device .vb-actions a{background:#25272d;color:#fff;border-color:#3b3e45}.vb-art{position:absolute;display:block;pointer-events:none;z-index:1}.vb-art--device{width:100%;height:auto;bottom:0;left:0;mix-blend-mode:normal}.vb-card--test{background:#dcecfb;color:#17283d}.vb-card--test .vb-eyebrow{color:#276fbb}.vb-art--test{width:100%;bottom:0;left:0}.vb-carousel-controls{display:flex;align-items:center;justify-content:center;position:relative;margin-top:6px;min-height:44px}.vb-dots{display:flex;gap:7px}.vb-dots button{width:8px;height:8px;padding:0;border:0;background:#c4c8cf;border-radius:10px;cursor:pointer}.vb-dots button.is-current{width:20px;background:var(--vb-blue)}.vb-arrows{display:flex;gap:10px;position:absolute;right:0}.vb-arrows button{background:var(--vb-paper);border:1px solid var(--vb-line);border-radius:50%;width:42px;height:42px;cursor:pointer;color:var(--vb-text);font-size:1.15rem}.vb-arrows button:disabled{opacity:.35;cursor:default}.vb-back{display:table;margin:22px auto 0;color:var(--vb-muted);text-decoration:none;font-size:.88rem;padding:10px}.vb-back:hover{text-decoration:underline}.vb-social{background:#fff;text-align:center;padding:clamp(52px,6vw,90px) 16px}.vb-social-inner h2{font-size:clamp(1.65rem,3.2vw,2.8rem);letter-spacing:-.05em;margin:0 0 9px}.vb-social-inner p{color:#77777d;margin:0 0 28px;font-size:1rem}.vb-social-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.vb-social-links a{display:grid;place-items:center;min-width:142px;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:650}.vb-social-primary{background:#0071e3;color:white}.vb-social-outline{color:#0071e3;border:1px solid #75afff}.footer.vb-footer{padding:32px 16px 42px!important;text-align:center!important;border-top:1px solid var(--vb-line)!important;background:var(--vb-bg)!important;min-height:0!important}.vb-footer .footer-social-media{display:none!important}.vb-footer p{margin:0 0 10px!important;color:var(--vb-muted)!important;font-size:.87rem}.vb-footer a{color:var(--vb-muted)!important;text-decoration:none;margin:0 11px}.vb-footer a:hover{text-decoration:underline}.vb-footer .vb-copyright{color:#a1a1a6!important;font-size:.78rem}#cookie-banner{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9999;width:min(560px,calc(100% - 24px));padding:16px;border:1px solid var(--vb-line);border-radius:18px;background:var(--vb-paper);box-shadow:0 12px 40px #0002;display:none}#cookie-banner p{font-size:.82rem;line-height:1.5;color:var(--vb-muted);margin:0}#cookie-banner a{color:var(--vb-blue)}.cookie-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.cookie-buttons button{min-height:42px;border-radius:12px;padding:9px 14px;border:1px solid var(--vb-line);background:var(--vb-bg);color:var(--vb-text);font-weight:650;cursor:pointer}#accept-cookies{background:var(--vb-blue);color:white}
@media(max-width:700px){.vb-page{padding:30px 0 15px}.vb-container{width:calc(100% - 32px)}.vb-heading{margin-bottom:22px}.vb-heading h1{font-size:clamp(2.1rem,9vw,3rem)}.vb-carousel{gap:13px;margin-right:-16px;padding-right:16px}.vb-card{flex-basis:min(86vw,410px);height:min(69dvh,620px);min-height:530px;border-radius:25px}.vb-card-content{padding:25px}.vb-card h2{font-size:clamp(1.65rem,7vw,2rem)}.vb-card p{font-size:.93rem}.vb-actions{gap:8px}.vb-actions a{min-height:45px;font-size:.8rem;padding:9px 12px}.vb-art--device{width:108%;left:-4%}.vb-arrows{display:none}.vb-carousel-controls{margin-top:0}.vb-social{padding:47px 16px}.vb-social-links a{min-width:130px}.vb-footer a{margin:0 6px}}
@media(max-width:375px){.vb-card{height:560px}.vb-card-content{padding:19px}.vb-actions a{font-size:.76rem;padding:8px 10px}.vb-art--device{width:115%;left:-7.5%}}
@media(prefers-color-scheme:dark){:root{--vb-bg:#101113;--vb-text:#f5f5f7;--vb-muted:#a1a1a6;--vb-line:#34363a;--vb-paper:#1c1d20;--vb-blue:#81a9d0}.vb-card--test{background:#192d42;color:#f5f5f7}.vb-card--test .vb-eyebrow{color:#9fc5f5}.vb-social{background:#1c1d20}.vb-social-inner p{color:#a1a1a6}.vb-social-primary{background:#6c9ecf;color:#0e1823}.vb-social-outline{color:#99c6f4;border-color:#456787}.vb-dots button{background:#5e6067}.vb-dots button.is-current{background:#81a9d0}.vb-card--device{background:#151a22}.vb-card--device .vb-actions a{background:#2a303a;border-color:#414a56}#cookie-banner{box-shadow:0 12px 40px #0008}#accept-cookies{background:#527fa8;color:white}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Carousel Master 1.3 – sanfter Fotoauslauf, maßvolle Artworks, responsive */
/* Dekorative Flächen dürfen die Modul-Links nicht überdecken. */
.vb-card-cover, .vb-card-cover *, .vb-card--photo::after,
.vb-art, .vb-cover-fallback { pointer-events:none !important; }
.vb-card-content {position:relative;z-index:5;}
.vb-actions {position:relative;z-index:8;}
.vb-actions a {position:relative;z-index:9;pointer-events:auto!important;cursor:pointer;}

/* Card 1: Unbeschnittenes 800x500-Querformat; ab dem unteren Bilddrittel
   wird das Foto weich unscharf und geht stufenlos in den Hintergrund über. */
.vb-card--photo, .vb-card--photo .vb-card-cover {background:#0a0f15;}
.vb-card--photo .vb-cover-image {
  display:block;width:100%;height:auto;max-width:100%;
  object-fit:contain;object-position:top center;
}
.vb-card--photo::after {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,
    transparent 23%,rgba(10,15,21,.02) 34%,rgba(10,15,21,.20) 43%,
    rgba(10,15,21,.62) 53%,rgba(10,15,21,.94) 62%,#0a0f15 71%);
}
.vb-card--photo .vb-card-cover::after {
  content:"";position:absolute;pointer-events:none;z-index:1;
  left:0;right:0;top:37%;height:30%;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 64%,transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 64%,transparent);
}

/* Cards 2/3: zentriert und kleiner, damit das Motiv keine Buttons berührt. */
.vb-card--device .vb-art--device {
  width:108%;max-width:none;height:auto;
  left:50%;right:auto;bottom:0;
  transform:translateX(-50%);
  object-fit:contain;object-position:center bottom;
  mix-blend-mode:normal!important;
}
.vb-card--test .vb-art--test {
  width:88%;max-width:none;height:auto;
  left:50%;right:auto;bottom:34px;
  transform:translateX(-50%);
  object-fit:contain;object-position:center;
}
@media (max-width:700px) {
  .vb-card--device .vb-art--device {width:94%;left:50%;bottom:0;transform:translateX(-50%);}
  .vb-card--test .vb-art--test {width:76%;left:50%;bottom:26px;transform:translateX(-50%);}
  .vb-card--photo::after {background:linear-gradient(to bottom,
    transparent 21%,rgba(10,15,21,.12) 38%,rgba(10,15,21,.62) 52%,
    #0a0f15 68%);}
}
@media (max-width:375px) {
  .vb-card--device .vb-art--device {width:90%;left:50%;}
  .vb-card--test .vb-art--test {width:72%;bottom:22px;}
}
@media (prefers-color-scheme:dark) {
  .vb-card--device {background:#151a22;}
  .vb-card--device .vb-actions a {background:#303b49;border-color:#48576a;}
}


/* Cookie-Einwilligung: kompaktes Overlay, ohne die Anzeige-Logik von cookies.js zu ändern.
   Hohe Spezifität neutralisiert alte globale Höhen-/Flex-Regeln aus menu.css.
   WICHTIG: display wird bewusst NICHT überschrieben; das regelt cookies.js. */
html body #cookie-banner {
  box-sizing: border-box !important;
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(520px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: 520px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(80dvh, 480px) !important;
  overflow-y: auto !important;
  padding: 24px !important;
  margin: 0 !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 22px !important;
  background: var(--vb-paper) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.18) !important;
  z-index: 99999 !important;
  text-align: left !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}
html body #cookie-banner p {
  font: inherit !important;
  font-size: .94rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  color: var(--vb-text) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html body #cookie-banner p a {
  display: inline !important;
  color: var(--vb-blue) !important;
  font: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
html body #cookie-banner .cookie-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}
html body #cookie-banner .cookie-buttons button {
  appearance: none;
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 125px !important;
  max-width: none !important;
  height: auto !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 12px !important;
  font: inherit !important;
  font-size: .94rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  cursor: pointer;
  background: var(--vb-bg) !important;
  color: var(--vb-text) !important;
}
html body #cookie-banner .cookie-buttons #accept-cookies {
  background: #0071e3 !important;
  color: #fff !important;
  border-color: #0071e3 !important;
}
@media (max-width: 480px) {
  html body #cookie-banner {
    width: calc(100vw - 24px) !important;
    padding: 20px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    border-radius: 18px !important;
  }
  html body #cookie-banner p {font-size: .88rem !important;}
  html body #cookie-banner .cookie-buttons {justify-content: stretch !important;}
  html body #cookie-banner .cookie-buttons button {flex: 1 1 0 !important; min-width: 0 !important;}
}
@media (prefers-color-scheme: dark) {
  html body #cookie-banner {box-shadow: 0 18px 60px rgba(0,0,0,.5) !important;}
  html body #cookie-banner .cookie-buttons #accept-cookies {
    background: #80acd8 !important;
    border-color: #80acd8 !important;
    color: #101113 !important;
  }
}

/* Mobile viewport containment: the carousel scrolls, never the entire page.
   This prevents iOS Safari shifting the headline and first slide offscreen. */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}
.vb-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}
.vb-container,
.vb-carousel-area,
.vb-heading {
  min-width: 0;
  max-width: 100%;
}
.vb-heading h1,
.vb-heading p {
  overflow-wrap: break-word;
}
.vb-carousel-area {overflow: hidden;}
.vb-carousel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}
@media (max-width: 700px) {
  .vb-page {padding-inline: 0;}
  .vb-container {
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    margin-inline: auto;
  }
  .vb-carousel {
    /* No negative margin: it made the scroll track extend outside the page. */
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
  }
  .vb-card {
    flex: 0 0 min(86vw, 410px);
    max-width: 100%;
  }
}


/* v1.6: Card 1 – echten Fotoauslauf erzeugen, ohne Bildkante */
.vb-card--photo .vb-card-cover .vb-cover-image {
  -webkit-mask-image: linear-gradient(to bottom,
    #000 0%, #000 58%, rgba(0,0,0,.96) 67%,
    rgba(0,0,0,.67) 76%, rgba(0,0,0,.25) 88%, transparent 100%);
  mask-image: linear-gradient(to bottom,
    #000 0%, #000 58%, rgba(0,0,0,.96) 67%,
    rgba(0,0,0,.67) 76%, rgba(0,0,0,.25) 88%, transparent 100%);
}
/* Das Overlay bleibt subtil; das Maskieren des Fotos beseitigt die harte Kante. */
.vb-card--photo::after {
  background:linear-gradient(to bottom,
    transparent 22%,rgba(10,15,21,.03) 38%,
    rgba(10,15,21,.25) 52%,rgba(10,15,21,.72) 67%,
    #0a0f15 85%);
}
.vb-card--photo .vb-card-cover::after {
  top: 22%; height: 42%;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 30%,#000 67%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 30%,#000 67%,transparent 100%);
}

/* Mobile: zweite Card als Swipe-Hinweis sichtbar, aber ohne Seitenüberlauf. */
@media(max-width:700px){
  .vb-carousel-area {
    width:calc(100% + 16px);
    max-width:calc(100% + 16px);
    overflow:hidden;
  }
  .vb-carousel {
    width:100%;max-width:100%;
    padding-inline:0 16px;
    margin:0;
    gap:12px;
    scroll-padding-left:0;
    scroll-snap-type:x mandatory;
  }
  .vb-card {
    flex:0 0 min(82vw,390px);
    max-width:calc(100vw - 50px);
  }
}


/* ===== V1.8: Full-bleed Social Section / Compact Mobile Carousel ===== */
/* Must remain outside the narrow card/content container. */
html body section.vb-social {
  box-sizing: border-box !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(48px, 6vw, 78px) max(16px, env(safe-area-inset-left)) !important;
  background: #fff !important;
  border: 0 !important;
}
html body section.vb-social > .vb-social-inner {
  width: min(100%, 1100px) !important;
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding-inline: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
html body footer.vb-footer {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  background: #f5f5f7 !important;
  border-top: 1px solid #e5e5ea !important;
}
@media(prefers-color-scheme: dark) {
  html body section.vb-social {background: #1c1d20 !important;}
  html body footer.vb-footer {background: #101113 !important;border-top-color:#34363a !important;}
}
@media (max-width: 700px) {
  /* Compact cards: less empty space, keeping buttons comfortably tappable. */
  .vb-card {
    height: clamp(465px, 61dvh, 535px) !important;
    min-height: 0 !important;
    flex: 0 0 min(78vw, 380px) !important;
    max-width: calc(100vw - 64px) !important;
  }
  /* A peek of the preceding card on the left when viewing cards 2/3. */
  .vb-carousel {
    scroll-padding-left: 18px !important;
    padding-left: 18px !important;
    padding-right: 28px !important;
    gap: 13px !important;
    scroll-snap-type: x mandatory !important;
  }
  .vb-card {scroll-snap-align: start !important;}
  .vb-carousel-area {
    width: calc(100% + 16px) !important;
    max-width: calc(100% + 16px) !important;
    overflow: hidden !important;
  }
  .vb-card-content {padding: 21px !important;}
  .vb-card h2 {font-size: clamp(1.5rem, 6.4vw, 1.9rem) !important;}
  .vb-card p {font-size: .88rem !important;line-height: 1.38 !important;margin-bottom: 14px !important;}
  .vb-actions {gap: 7px !important;}
  .vb-actions a {min-height: 44px !important;padding: 8px 12px !important;}
  /* Keep the visual below the action cluster on cards 2/3. */
  .vb-card--device .vb-art--device {width: 88% !important;bottom: 0 !important;left: 50% !important;transform:translateX(-50%) !important;}
  .vb-card--test .vb-art--test {width: 78% !important;bottom: 10px !important;left: 50% !important;transform:translateX(-50%) !important;}
  html body section.vb-social {padding-block: 46px !important;}
}
@media(max-width: 375px) {
  .vb-card {height: 490px !important;}
  .vb-card-content {padding: 18px !important;}
  .vb-card--device .vb-art--device {width: 84% !important;}
  .vb-card--test .vb-art--test {width: 74% !important;}
}


/* ================================================================
   V1.9 – Mobile: aktive Karte mittig, beide Nachbarn angedeutet.
   Kein globaler Seitenüberlauf, keine Änderungen am Desktop-Raster.
   ================================================================ */
@media (max-width: 700px) {
  .vb-carousel-area {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .vb-carousel {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    gap: 12px !important;
    padding: 4px 28px 15px !important;
    scroll-padding-inline: 28px !important;
    scroll-snap-type: x mandatory !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
  .vb-card {
    flex: 0 0 calc(100vw - 88px) !important;
    width: calc(100vw - 88px) !important;
    max-width: none !important;
    height: clamp(470px, 59dvh, 510px) !important;
    min-height: 0 !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: normal;
  }
  /* Das Bild soll bei beiden Motivkarten horizontal zur KARTE,
     nicht zu einer inneren Textspalte, ausgerichtet sein. */
  .vb-card--device .vb-art--device {
    left: 50% !important;
    bottom: 0 !important;
    width: 87% !important;
    transform: translateX(-50%) !important;
  }
  .vb-card--test .vb-art--test {
    left: 50% !important;
    bottom: 48px !important;
    width: 78% !important;
    transform: translateX(-50%) !important;
  }
}
@media (max-width: 375px) {
  .vb-carousel {
    padding-inline: 24px !important;
    scroll-padding-inline: 24px !important;
  }
  .vb-card {
    flex-basis: calc(100vw - 80px) !important;
    width: calc(100vw - 80px) !important;
    height: 485px !important;
  }
  .vb-card--device .vb-art--device {width: 84% !important;}
  .vb-card--test .vb-art--test {width: 76% !important;bottom: 40px !important;}
}

/* Dezent weiche Bildflächen auf ALLEN drei Karten.
   Wörter und Link-Buttons bleiben bewusst gestochen scharf. */
.vb-card--photo .vb-card-cover::after {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.vb-card--device::before,
.vb-card--test::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  left: 12%; right: 12%; bottom: 12%; height: 40%;
  background: radial-gradient(ellipse at center,
    rgba(139, 171, 205, .13) 0%, rgba(139, 171, 205, 0) 70%);
  filter: blur(22px);
}
.vb-card--test::before {
  background: radial-gradient(ellipse at center,
    rgba(92, 140, 206, .17) 0%, rgba(92, 140, 206, 0) 72%);
}
.vb-card--test .vb-art--test {
  -webkit-mask-image: radial-gradient(ellipse 80% 78% at 50% 50%,
    #000 68%, rgba(0,0,0,.87) 83%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 78% at 50% 50%,
    #000 68%, rgba(0,0,0,.87) 83%, transparent 100%);
}


/* V2.0 finaler Mobile-Feinschliff: Card 3 wie Card 2 horizontal
   zentriert und im unteren visuellen Bereich verankert. */
@media (max-width: 700px) {
  .vb-card--device .vb-art--device,
  .vb-card--test .vb-art--test {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
  .vb-card--test .vb-art--test {
    bottom: 10px !important;
    width: 78% !important;
  }
}
@media (max-width: 375px) {
  .vb-card--test .vb-art--test {
    bottom: 8px !important;
    width: 76% !important;
  }
}
/* Subtile Weichheit an den Illustrationen, keine unscharfen
   Texte, Buttons oder Bedienflächen. */
.vb-card--device .vb-art--device {
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.12));
}
.vb-card--test .vb-art--test {
  filter: drop-shadow(0 12px 26px rgba(55,95,160,.10));
}

/* V2.1 – Mobile-Swipe-Hinweis: die nächste Karte bleibt rechts sichtbar. */
@media (max-width: 700px) {
  .vb-carousel-area {
    width: calc(100% + 16px) !important;
    max-width: calc(100% + 16px) !important;
  }
  .vb-card {
    flex: 0 0 min(75vw, 380px) !important;
    width: min(75vw, 380px) !important;
  }
}

/* V2.2 – Card 3 höher und mittig ausrichten; Instagram im Dark Mode weiß. */
@media (max-width: 700px) {
  .vb-card--test .vb-art--test {
    left: 50% !important;
    right: auto !important;
    bottom: 48px !important;
    width: 87% !important;
    transform: translateX(-50%) !important;
  }
}
@media (max-width: 375px) {
  .vb-card--test .vb-art--test {
    bottom: 42px !important;
    width: 84% !important;
  }
}
@media (prefers-color-scheme: dark) {
  .vb-social-links a[href*="instagram"] {
    color: #fff !important;
  }
}

/* Tablet: Cards etwas kompakter */
@media (min-width: 701px) and (max-width: 1200px) {
  .vb-card {
    flex-basis: min(68vw, 490px);
    height: clamp(520px, 47vw, 590px);
  }

  .vb-carousel {
    gap: 18px;
  }

  .vb-card-content {
    padding: 30px;
  }
}