.vzke-engine{
  --vzke-accent:#0b6e91;
  --vzke-ink:#173649;
  --vzke-card-w:112px;
  max-width:1180px;
  margin:28px auto 36px;
  font-family:inherit;
  color:var(--vzke-ink)
}
.vzke-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 2px 13px;
  transition:opacity .24s ease,visibility .24s ease
}
.vzke-engine.is-message-open .vzke-toolbar{
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
.vzke-count{font-size:1rem;font-weight:600}
.vzke-redeal{
  border:0;
  background:transparent;
  color:var(--vzke-accent);
  font:inherit;
  font-weight:600;
  padding:6px 2px;
  cursor:pointer;
  text-decoration:none
}
.vzke-redeal:hover,.vzke-redeal:focus-visible{
  color:var(--vzke-accent);
  background:transparent;
  text-decoration:underline;
  text-underline-offset:3px
}
.vzke-redeal:disabled{opacity:.45;cursor:default;text-decoration:none}

.vzke-stage{
  --vzke-current-bg:var(--vzke-bg-desktop);
  position:relative;
  isolation:isolate;
  width:100%;
  aspect-ratio:4/3;
  background-image:linear-gradient(rgba(4,25,66,.035),rgba(4,25,66,.035)),var(--vzke-current-bg);
  background-size:cover;
  background-position:center;
  border:3px solid #77B4CA;
  border-radius:22px;
  box-sizing:border-box;
  overflow:hidden;
  box-shadow:none
}
.vzke-grid{position:absolute;inset:0;z-index:10}
.vzke-card{
  position:absolute;
  left:var(--vzke-x,50%);
  top:var(--vzke-y,50%);
  width:var(--vzke-card-w);
  aspect-ratio:2/3;
  border:0;
  padding:0;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  cursor:pointer;
  perspective:900px;
  transform:translate(-50%,-50%) translate(var(--vzke-dx,0),var(--vzke-dy,0)) rotate(var(--vzke-rot,0deg));
  transition:transform .28s ease,filter .35s ease,opacity .35s ease;
  z-index:1;
  animation:vzke-card-in .36s ease both;
  animation-delay:var(--vzke-delay,0ms)
}

.vzke-card:hover,.vzke-card:focus,.vzke-card:focus-visible,.vzke-card:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:none!important
}
.vzke-card::before,.vzke-card::after{content:none!important;display:none!important}

.vzke-card:hover,.vzke-card:focus-visible{
  transform:translate(-50%,-50%) translate(var(--vzke-dx,0),calc(var(--vzke-dy,0) - 5px)) rotate(var(--vzke-rot,0deg)) scale(1.025);
  z-index:4
}
.vzke-card:focus-visible{outline:2px solid #fff;outline-offset:5px}
.vzke-card-inner{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transition:transform .72s cubic-bezier(.2,.75,.25,1)
}
.vzke-card-face{
  position:absolute;
  inset:0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border-radius:var(--vzke-card-radius,9px);
  overflow:hidden;
  box-shadow:0 8px 17px rgba(0,15,45,.28),0 0 0 1px rgba(255,255,255,.13)
}
.vzke-card-face img{display:block;width:100%;height:100%;object-fit:cover}
.vzke-card-back img{image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.vzke-card-front{transform:rotateY(180deg);background:#fff}
.vzke-card.is-selected{
  z-index:20;
  transform:translate(-50%,-50%) translate(var(--vzke-dx,0),var(--vzke-dy,0)) rotate(var(--vzke-rot,0deg));
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.20))
}
.vzke-card.is-selected .vzke-card-inner{transform:rotateY(180deg)}
.vzke-card.is-dimmed{opacity:.38;filter:saturate(.65) brightness(.82);pointer-events:none}
.vzke-card.is-locked{pointer-events:none}

.vzke-rest{
  position:absolute;
  left:var(--vzke-rest-x,88%);
  top:var(--vzke-rest-y,11%);
  width:var(--vzke-card-w);
  aspect-ratio:2/3;
  transform:translate(-50%,-50%);
  z-index:24;
  margin:0;
  padding:0;
  border:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer
}
.vzke-rest:hover,.vzke-rest:focus,.vzke-rest:active{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important
}
.vzke-rest:focus-visible{outline:2px solid #fff;outline-offset:5px;border-radius:10px}
.vzke-stack{display:block;position:relative;width:100%;height:100%;aspect-ratio:2/3}
.vzke-stack-card{
  position:absolute;
  inset:0;
  border-radius:var(--vzke-card-radius,9px);
  background-image:var(--vzke-card-back);
  background-size:cover;
  background-position:center;
  box-shadow:0 6px 13px rgba(0,15,45,.28);
  border:1px solid rgba(255,255,255,.16)
}
.vzke-stack-card:nth-child(1){transform:translate(-8px,6px) rotate(-2deg)}
.vzke-stack-card:nth-child(2){transform:translate(-4px,3px) rotate(-1deg)}
.vzke-stack-card:nth-child(3){transform:translate(0,0)}
.vzke-stack-card:nth-child(4){transform:translate(4px,-3px) rotate(1deg)}
.vzke-stack-card:nth-child(5){transform:translate(8px,-6px) rotate(2deg)}

.vzke-helper-panel{
  position:absolute;
  left:var(--vzke-helper-x,22%);
  top:var(--vzke-helper-y,9%);
  transform:translate(-50%,-50%);
  z-index:30;
  text-align:center
}
.vzke-helper-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.vzke-helper-button{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:38px;
  gap:4px;
  border:1px solid #b8dce8!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border-radius:999px;
  padding:4px 12px 4px 43px;
  color:var(--vzke-ink)!important;
  font:inherit;
  font-size:.84rem;
  line-height:1.15;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(15,53,75,.10);
  transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
  text-decoration:none!important;
  overflow:visible!important
}
.vzke-helper-button:hover,.vzke-helper-button:focus-visible{
  transform:none!important;
  border-color:#8bc8dd!important;
  background:#def2fa!important;
  background-color:#def2fa!important;
  background-image:none!important;
  color:var(--vzke-ink)!important;
  box-shadow:0 5px 13px rgba(15,53,75,.13);
  text-decoration:none!important
}
.vzke-helper-button img{
  position:absolute;
  display:block;
  left:-9px;
  top:50%;
  width:54px;
  height:54px;
  object-fit:contain;
  transform:translateY(-50%)!important;
  filter:drop-shadow(0 2px 3px rgba(12,47,71,.16));
  pointer-events:none
}
.vzke-helper-button:disabled{opacity:.5;cursor:default;transform:none!important}
.vzke-helper-flight{position:absolute;inset:0;z-index:50;pointer-events:none;overflow:hidden}
.vzke-helper-flyer{
  position:absolute;
  width:96px;
  height:auto;
  left:0;
  top:0;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.22));
  will-change:transform,opacity
}

.vzke-error{padding:12px 14px;border-left:4px solid #d63638;background:#fff}
.vzke-draw-notice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin:0 0 28px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f4fbfd,#fff);
  border:1px solid rgba(11,110,145,.25);
  border-left:4px solid var(--vzke-accent,#0b6e91);
  border-radius:10px;
  box-shadow:0 5px 18px rgba(15,53,75,.07)
}
.vzke-draw-notice img{
  display:block;
  width:86px;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:6px;
  box-shadow:0 5px 12px rgba(0,0,0,.16)
}
.vzke-draw-notice-label{
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#527283;
  margin-bottom:2px
}
.vzke-draw-notice-title{
  font-family:"Life Savers","LifeSavers",cursive;
  font-size:1.35rem;
  font-weight:700;
  color:#173649
}
.vzke-draw-notice-quote{margin-top:5px;font-size:1rem;line-height:1.55;color:#284a5e}
.vzke-engine[data-vzke-busy="1"] .vzke-redeal,.vzke-engine[data-vzke-busy="1"] .vzke-helper-button{pointer-events:none;opacity:.5}

@media(max-width:1023px){
  .vzke-engine{--vzke-card-w:96px}
  .vzke-stage{--vzke-current-bg:var(--vzke-bg-tablet);aspect-ratio:2/3;background-position:center}
  .vzke-stack{width:100%}
  .vzke-helper-flyer{width:84px}
}
@media(max-width:781px){
  .vzke-engine{--vzke-card-w:min(23vw,82px);margin:22px auto 30px}
  .vzke-toolbar{align-items:flex-start;gap:8px;flex-direction:column}
  .vzke-redeal{padding-left:0}
  .vzke-stage{--vzke-current-bg:var(--vzke-bg-mobile);aspect-ratio:2/3;border-radius:16px}
  .vzke-card-face{border-radius:var(--vzke-card-radius,9px)}
  .vzke-card.is-selected{transform:translate(-50%,-50%) translate(var(--vzke-dx,0),var(--vzke-dy,0)) rotate(var(--vzke-rot,0deg))}
  .vzke-stack{width:100%}
  .vzke-helper-button{min-height:34px;padding:3px 10px 3px 38px;font-size:.78rem}
  .vzke-helper-button img{left:-8px;width:48px;height:48px}
  .vzke-helper-flyer{width:74px}
  .vzke-draw-notice{grid-template-columns:64px minmax(0,1fr);gap:13px;padding:14px}
  .vzke-draw-notice img{width:64px}
}
@media(prefers-reduced-motion:reduce){
  .vzke-card,.vzke-card-inner,.vzke-helper-button{transition-duration:.01ms!important}
  .vzke-card:hover,.vzke-card:focus-visible{transform:translate(-50%,-50%) translate(var(--vzke-dx,0),var(--vzke-dy,0)) rotate(var(--vzke-rot,0deg))}
  .vzke-helper-flyer{animation:none!important}
  .vzke-card{animation:none!important;opacity:1!important}
}
@keyframes vzke-card-in{from{opacity:0}to{opacity:1}}

/* Helfer blendet nach Auswahl weich aus. */
.vzke-helper-panel{
  transition:opacity .85s ease;
}
.vzke-helper-panel.is-fading{
  opacity:0;
  pointer-events:none;
}

/* Kartenbotschaft fuer Karten ohne Zielseite: exakt auf Deckgroesse. */
.vzke-message-overlay{
  position:absolute;
  inset:0;
  z-index:80;
  display:block;
  padding:0;
  border-radius:inherit;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.vzke-message-overlay[hidden]{display:none!important}
.vzke-message-overlay.is-visible{
  opacity:1;
  visibility:visible;
}
.vzke-message-dialog{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:block;
  padding:clamp(28px,4vw,48px);
  padding-right:clamp(54px,5vw,68px);
  border:0;
  border-radius:inherit;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(242,250,253,.99));
  box-shadow:none;
  color:#173649;
  transform:translateY(7px) scale(.992);
  transition:transform .3s ease;
}
.vzke-message-overlay.is-visible .vzke-message-dialog{
  transform:translateY(0) scale(1);
}
.vzke-message-close{
  position:absolute;
  z-index:4;
  top:auto;
  right:16px;
  bottom:16px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0!important;
  border:1px solid rgba(73,109,126,.32)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  background-image:none!important;
  color:#355565!important;
  font:700 23px/1 Arial,sans-serif!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease;
}
.vzke-message-close:hover,.vzke-message-close:focus-visible{
  background:#def2fa!important;
  border-color:#8bc8dd!important;
  color:#173649!important;
  transform:none!important;
}
.vzke-message-close span{display:block;transform:translateY(1px);line-height:1}
.vzke-message-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vzke-message-image-column{
  float:left;
  width:min(32%,300px);
  min-width:0;
  margin:0 clamp(22px,3.5vw,40px) 40px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.vzke-message-image-wrap{
  width:100%;
  align-self:flex-start;
}
.vzke-message-image{
  display:block;
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:10px;
  box-shadow:0 7px 18px rgba(0,20,54,.16);
}
.vzke-message-quote{
  width:100%;
  margin-top:12px;
  text-align:center;
  font-size:.88rem;
  line-height:1.48;
  color:#707b82;
}
.vzke-message-quote[hidden]{display:none!important}
.vzke-message-content{
  position:relative;
  min-width:0;
  min-height:0;
  height:auto;
  display:block;
  overflow:visible;
  padding-top:2px;
}
.vzke-message-title{
  flex:0 0 auto;
  margin:0 0 40px;
  padding-right:6px;
  font-family:"Life Savers","LifeSavers",cursive;
  font-size:clamp(1.45rem,2.2vw,1.95rem);
  line-height:1.2;
  font-weight:700;
  color:#173649;
}
.vzke-message-text-scroll{
  min-height:0;
  overflow:visible;
  padding:0;
  margin:0;
  scrollbar-width:thin;
  scrollbar-color:#9eafb9 rgba(222,238,244,.48);
  scrollbar-gutter:stable;
}
.vzke-message-text-scroll::-webkit-scrollbar{width:10px}
.vzke-message-text-scroll::-webkit-scrollbar-track{
  margin-block:12px;
  border-radius:999px;
  background:rgba(222,238,244,.52);
}
.vzke-message-text-scroll::-webkit-scrollbar-thumb{
  min-height:34px;
  border:2px solid transparent;
  border-radius:999px;
  background:#9eafb9;
  background-clip:padding-box;
}
.vzke-message-text-scroll::-webkit-scrollbar-button{
  width:0;
  height:8px;
  background:transparent;
}
.vzke-message-scrollbar{
  display:none;
  position:absolute;
  z-index:3;
  right:0;
  width:5px;
  border-radius:999px;
  background:rgba(158,175,185,.28);
  pointer-events:none;
  overflow:hidden;
}
.vzke-message-scrollbar-thumb{
  display:block;
  width:100%;
  min-height:30px;
  border-radius:999px;
  background:#8d9fa9;
  box-shadow:0 0 0 1px rgba(255,255,255,.5) inset;
  transform:translateY(0);
}
.vzke-message-text{
  font-size:calc(.91rem - 1px);
  line-height:1.56;
  color:#284a5e;
}
.vzke-message-text h2,
.vzke-message-text h3,
.vzke-message-text h4,
.vzke-message-text h5,
.vzke-message-text h6,
.vzke-message-text blockquote,
.vzke-message-text hr,
.vzke-message-text .tarot-link-rahmen,
.vzke-message-text .vzke-clear-below-card,
.vzke-pdf-downloads,
.vzke-message-detail-cta{
  clear:both;
}
.vzke-message-text blockquote,
.vzke-message-text blockquote p{
  font-family:"Life Savers","LifeSavers",cursive!important;
  font-style:normal!important;
  font-weight:700!important;
}
.vzke-message-text p{margin:0 0 .82em;break-inside:avoid}
.vzke-message-text p:last-child{margin-bottom:0}
.vzke-pdf-downloads{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:clamp(28px,3.5vw,38px) 0 44px;
}
.vzke-pdf-downloads[hidden]{display:none!important}
.vzke-pdf-download{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  max-width:100%;
  box-sizing:border-box;
  padding:9px 15px 9px 11px;
  border:1px solid #d7e2e7;
  border-radius:11px;
  background:#f8fbfc;
  color:#005E80!important;
  text-decoration:none!important;
  font-weight:700;
  line-height:1.3;
  box-shadow:0 2px 7px rgba(22,66,85,.07);
  transition:background-color .15s ease,border-color .15s ease;
}
.vzke-pdf-download:hover,
.vzke-pdf-download:focus{
  background:#eef7fa;
  border-color:#9fc5d3;
  color:#005E80!important;
}
.vzke-pdf-download-icon{
  position:relative;
  flex:0 0 32px;
  width:32px;
  height:38px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  box-sizing:border-box;
  padding:0 3px 5px;
  border:1px solid #cad7dc;
  border-radius:5px;
  background:#fff;
  color:#ae1516;
  font:800 9px/1 "Open Sans",Arial,sans-serif;
  letter-spacing:.04em;
}
.vzke-pdf-download-icon::before{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:10px;
  height:10px;
  box-sizing:border-box;
  border-left:1px solid #cad7dc;
  border-bottom:1px solid #cad7dc;
  border-radius:0 4px 0 3px;
  background:#edf4f6;
}
.vzke-pdf-download-label{
  min-width:0;
}
.vzke-message-detail-cta{
  margin:clamp(30px,4vw,44px) 0 8px;
  text-align:left;
}
.vzke-message-pdf-downloads + .vzke-message-detail-cta{
  margin-top:56px;
}
.vzke-message-detail-cta.has-image{
  margin-top:calc(clamp(30px,4vw,44px) + 30px);
  padding-left:36px;
}
.vzke-message-new{
  clear:both;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:20px;
  border:1px solid #87c7dc!important;
  border-radius:999px;
  padding:6px 12px;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  color:#173649!important;
  font:inherit;
  font-size:.8rem;
  line-height:1.3;
  font-weight:700;
  cursor:pointer;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:background-color .18s ease,border-color .18s ease;
}
.vzke-message-new:hover,.vzke-message-new:focus-visible{
  background:#def2fa!important;
  background-color:#def2fa!important;
  background-image:none!important;
  border-color:#6ab8d2!important;
  color:#173649!important;
  box-shadow:none!important;
  transform:none!important;
}
.vzke-message-new:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Nur fuer eingeloggte Nutzer: Kontrollansicht aller Karten. */
.vzke-login-tools{
  margin:12px 2px 0;
}
.vzke-reveal-all-option{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.9rem;
  color:#3f5968;
  cursor:pointer;
  user-select:none;
}
.vzke-reveal-all-option input{
  width:16px;
  height:16px;
  margin:0;
}
.vzke-all-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(105px,1fr));
  gap:20px 16px;
  margin-top:20px;
  padding:16px 2px 4px;
}
.vzke-all-cards[hidden]{display:none!important}
.vzke-all-card{
  position:relative;
  min-width:0;
  margin:0;
  text-align:center;
}
.vzke-all-card-image{
  position:relative;
  width:min(100%,135px);
  margin:0 auto;
}
.vzke-all-card-image img{
  display:block;
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 5px 13px rgba(0,20,54,.16);
}
.vzke-all-card-no-target{
  position:absolute;
  z-index:3;
  left:50%;
  top:-9px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#c62828;
  box-shadow:0 0 0 2px #fff;
  transform:translateX(-50%);
}
.vzke-all-card figcaption{
  margin-top:7px;
  font-size:.78rem;
  line-height:1.3;
  color:#405968;
}


/* 1.0.3: Auf Tablet hoch darf eine kurze Botschaft die Deckhoehe verkleinern.
   Die konkrete Hoehe wird nach dem Inhalt in JavaScript berechnet. */
@media(min-width:782px) and (max-width:1023px){
  .vzke-engine.is-tablet-message-fit .vzke-stage{
    min-height:320px;
  }
}

@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-toolbar{display:none}
  .vzke-message-dialog{
    grid-template-columns:minmax(90px,30%) minmax(0,1fr);
    gap:12px;
    padding:20px 12px 18px;
  }
  .vzke-message-close{top:10px;right:10px;width:30px;height:30px;min-width:30px;font-size:20px!important}
  .vzke-message-image-wrap{width:min(116px,100%)}
  .vzke-message-quote{width:min(116px,100%);margin-top:8px;font-size:.74rem;line-height:1.4}
  .vzke-message-title{font-size:1.25rem;margin-bottom:7px;padding-right:36px}
  .vzke-message-text{font-size:calc(.82rem - 1px);line-height:1.48}
  .vzke-message-text-scroll{
    padding-right:9px;
    margin-right:0;
    overflow-y:scroll;
    scrollbar-width:none;
    scrollbar-gutter:auto;
  }
  .vzke-message-text-scroll::-webkit-scrollbar{width:0;height:0}
  .vzke-message-scrollbar.is-needed{display:block}
  .vzke-message-detail-cta.has-image{padding-left:32px}
  .vzke-message-new{margin-top:9px;padding:5px 8px;font-size:.68rem;white-space:normal;text-align:left}
  .vzke-all-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}
  .vzke-all-card figcaption{font-size:.7rem}
}

@media(max-width:440px){
  .vzke-message-dialog{
    grid-template-columns:88px minmax(0,1fr);
    gap:10px;
    padding:16px 10px 14px;
  }
  .vzke-message-image-wrap,.vzke-message-quote{width:88px}
  .vzke-message-title{font-size:1.12rem;padding-right:34px}
  .vzke-message-text{font-size:calc(.78rem - 1px);line-height:1.44}
  .vzke-message-text-scroll{padding-right:8px}
  .vzke-message-new{font-size:.64rem;padding:5px 7px}
}

@media(prefers-reduced-motion:reduce){
  .vzke-helper-panel,.vzke-message-overlay,.vzke-message-dialog{transition-duration:.01ms!important}
}

/* 0.1.7: neue Karten bleiben bis zum Start der Austeilanimation unsichtbar.
   Damit ist zwischen Mischen und Austeilen keine fertige Zwischen-Auslage zu sehen. */
.vzke-card.is-predeal{
  opacity:0!important;
  animation:none!important;
  transition:none!important;
  pointer-events:none!important
}
.vzke-card.has-dealt{animation:none!important}

/* 0.1.6: echtes Mischen - Karten zum Stapel sammeln, gemeinsam mischen, neu austeilen. */
.vzke-card.is-shuffling-gather,
.vzke-card.is-shuffling-gather:hover,
.vzke-card.is-shuffling-gather:focus-visible{
  z-index:28!important;
  pointer-events:none!important;
  opacity:.96;
  transform:translate(-50%,-50%)
    translate(
      calc(var(--vzke-dx,0px) + var(--vzke-shuffle-x,0px)),
      calc(var(--vzke-dy,0px) + var(--vzke-shuffle-y,0px))
    )
    rotate(var(--vzke-shuffle-rot,0deg))
    scale(.94)!important;
  transition:transform .72s cubic-bezier(.22,.78,.24,1),opacity .35s ease!important;
  transition-delay:var(--vzke-shuffle-delay,0ms)!important;
}
.vzke-card.is-shuffling-gather.is-shuffling-mix,
.vzke-card.is-shuffling-gather.is-shuffling-mix:hover,
.vzke-card.is-shuffling-gather.is-shuffling-mix:focus-visible{
  transform:translate(-50%,-50%)
    translate(
      calc(var(--vzke-dx,0px) + var(--vzke-shuffle-x,0px) + var(--vzke-mix-x,0px)),
      calc(var(--vzke-dy,0px) + var(--vzke-shuffle-y,0px) + var(--vzke-mix-y,0px))
    )
    rotate(var(--vzke-mix-rot,0deg))
    scale(.94)!important;
  transition:transform .22s ease-in-out!important;
  transition-delay:0ms!important;
}
.vzke-rest.is-shuffling{
  display:block!important;
  opacity:1!important;
  z-index:29;
  animation:vzke-stack-shuffle .26s ease-in-out 6;
}
.vzke-rest.is-shuffling .vzke-stack-card:nth-child(1){animation:vzke-stack-layer-a .26s ease-in-out 6}
.vzke-rest.is-shuffling .vzke-stack-card:nth-child(2){animation:vzke-stack-layer-b .26s ease-in-out 6}
.vzke-rest.is-shuffling .vzke-stack-card:nth-child(4){animation:vzke-stack-layer-b .26s ease-in-out 6 reverse}
.vzke-rest.is-shuffling .vzke-stack-card:nth-child(5){animation:vzke-stack-layer-a .26s ease-in-out 6 reverse}

.vzke-card.is-dealing{
  animation:vzke-card-deal .72s cubic-bezier(.18,.78,.22,1) both!important;
  animation-delay:var(--vzke-deal-delay,0ms)!important;
  pointer-events:none!important;
}

@keyframes vzke-stack-shuffle{
  0%,100%{transform:translate(-50%,-50%) rotate(0deg)}
  35%{transform:translate(calc(-50% - 5px),calc(-50% + 2px)) rotate(-1.4deg)}
  70%{transform:translate(calc(-50% + 6px),calc(-50% - 2px)) rotate(1.6deg)}
}
@keyframes vzke-stack-layer-a{
  0%,100%{margin-left:0;margin-top:0}
  50%{margin-left:-10px;margin-top:3px}
}
@keyframes vzke-stack-layer-b{
  0%,100%{margin-left:0;margin-top:0}
  50%{margin-left:10px;margin-top:-3px}
}
@keyframes vzke-card-deal{
  from{
    opacity:.9;
    transform:translate(-50%,-50%)
      translate(
        calc(var(--vzke-dx,0px) + var(--vzke-deal-x,0px)),
        calc(var(--vzke-dy,0px) + var(--vzke-deal-y,0px))
      )
      rotate(var(--vzke-deal-rot,0deg))
      scale(.94);
  }
  to{
    opacity:1;
    transform:translate(-50%,-50%)
      translate(var(--vzke-dx,0px),var(--vzke-dy,0px))
      rotate(var(--vzke-rot,0deg))
      scale(1);
  }
}

/* 0.1.6: die innere Botschaftsflaeche folgt dem Innenradius des 3-px-Rahmens. */
.vzke-stage{--vzke-stage-radius:22px;border-radius:var(--vzke-stage-radius)}
.vzke-engine.is-message-open .vzke-stage{
  background-image:none;
  background-color:#f7fbfd;
}
.vzke-message-overlay{
  border-radius:calc(var(--vzke-stage-radius) - 3px);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(242,250,253,.99));
}
.vzke-message-dialog{border-radius:inherit}

@media (max-width:781px){
  .vzke-stage{--vzke-stage-radius:16px;border-radius:var(--vzke-stage-radius)}
}

@media (prefers-reduced-motion:reduce){
  .vzke-rest.is-shuffling,.vzke-rest.is-shuffling .vzke-stack-card{animation:none!important}
  .vzke-card.is-dealing,.vzke-card.is-shuffling-gather{animation:none!important;transition-duration:.01ms!important}
}


/* 1.0.4: Botschaftslayout und schaerfere Kartenrueckseiten.
   Seit 1.1.3 laeuft der Text auf Desktop wie auf der virtuellen Karte um das Bild. */

/* Keine dauerhafte Scrollbar-Reserve: nur anzeigen, wenn wirklich Ueberlauf besteht. */
.vzke-message-text-scroll{
  scrollbar-gutter:auto;
}
.vzke-message-text-scroll:not(.is-scrollable){
  overflow-y:hidden;
  scrollbar-width:none;
}
.vzke-message-text-scroll:not(.is-scrollable)::-webkit-scrollbar{
  width:0;
  height:0;
}

/* Die ruhende Rueckseite wird direkt wie beim Kartenstapel gerendert.
   3D-Perspektive erst beim Aufdecken, damit der Browser die kleinen Karten
   vorher nicht unnoetig als weiche 3D-Textur rastert. */
.vzke-card{perspective:none;animation-fill-mode:none}
.vzke-card-inner{transform-style:flat}
.vzke-card.is-selected{perspective:900px}
.vzke-card.is-selected .vzke-card-inner{transform-style:preserve-3d}
.vzke-card-back{
  background-image:var(--vzke-card-back);
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}

@media(max-width:781px){
  .vzke-message-dialog{
    grid-template-columns:1fr;
    grid-template-areas:
      "visual"
      "content"
      "action";
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:9px;
    padding:15px 13px 14px;
  }
  .vzke-message-close{
    top:8px;
    right:10px;
  }
  .vzke-message-image-column{
    float:none;
    width:100%;
    margin:0;
    align-items:center;
  }
  .vzke-message-image-wrap{
    width:min(150px,42vw);
    align-self:center;
  }
  .vzke-message-quote{
    width:min(100%,420px);
    align-self:center;
    margin-top:8px;
    font-size:.78rem;
    line-height:1.42;
  }
  .vzke-message-content{
    height:auto;
    min-height:0;
    padding-top:0;
  }
  .vzke-message-title{
    font-size:1.18rem;
    margin-bottom:6px;
    padding-right:35px;
  }
  .vzke-message-text{
    font-size:.84rem;
    line-height:1.5;
  }
  .vzke-message-text-scroll{
    min-height:0;
    overflow-y:auto;
    padding-right:9px;
    margin-right:0;
    scrollbar-width:none;
    scrollbar-gutter:auto;
  }
  .vzke-message-text-scroll::-webkit-scrollbar{
    width:0;
    height:0;
  }
  .vzke-message-scrollbar{
    right:1px;
  }
  .vzke-message-new{
    justify-self:start;
    align-self:end;
    margin-top:2px;
    padding:5px 9px;
    font-size:.69rem;
    line-height:1.35;
  }
}

@media(max-width:440px){
  .vzke-message-dialog{
    grid-template-columns:1fr;
    padding:13px 10px 12px;
  }
  .vzke-message-image-wrap{width:min(142px,42vw)}
  .vzke-message-quote{width:100%;font-size:.76rem}
  .vzke-message-title{font-size:1.1rem;padding-right:34px}
  .vzke-message-text{font-size:.82rem;line-height:1.48}
  .vzke-message-text-scroll{padding-right:8px}
  .vzke-message-new{font-size:.67rem;padding:5px 8px}
}


/* 1.0.5: Website-Breakpoint mobil bis 781 px. Mobile Botschaft als echter
   scrollbarer Inhaltsfluss; der Button liegt hinter dem vollstaendigen Text. */
@media(max-width:781px){
  .vzke-message-dialog{
    display:flex;
    flex-direction:column;
    gap:9px;
    height:100%;
    min-height:0;
    overflow:hidden;
    padding:15px 13px 14px;
  }
  .vzke-message-close{
    top:6px;
    right:10px;
  }
  .vzke-message-image-column{
    flex:0 0 auto;
    width:100%;
    min-height:0;
    align-items:center;
  }
  .vzke-message-image-wrap{
    width:min(150px,42vw);
    align-self:center;
  }
  .vzke-message-quote{
    width:min(100%,420px);
    align-self:center;
    margin:8px auto 0;
    text-align:center;
    font-size:.78rem;
    line-height:1.42;
  }
  .vzke-message-content{
    position:relative;
    flex:1 1 auto;
    width:100%;
    height:auto;
    min-height:0;
    overflow:hidden;
    padding-top:0;
  }
  .vzke-message-title{
    flex:0 0 auto;
    font-size:1.18rem;
    margin-bottom:6px;
    padding-right:35px;
  }
  .vzke-message-text-scroll{
    flex:1 1 auto;
    min-height:0;
    max-height:100%;
    overflow-y:auto!important;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    padding-right:9px;
    padding-bottom:4px;
    margin-right:0;
    scrollbar-width:none;
    scrollbar-gutter:auto;
  }
  .vzke-message-text-scroll::-webkit-scrollbar{
    width:0;
    height:0;
  }
  .vzke-message-text{
    font-size:.84rem;
    line-height:1.5;
  }
  .vzke-message-scrollbar{right:1px}
  .vzke-message-new{
    display:flex!important;
    width:max-content;
    max-width:100%;
    margin:16px auto 4px;
    padding:5px 9px;
    font-size:.69rem;
    line-height:1.35;
    text-align:center;
    white-space:normal;
  }
}

@media(max-width:440px){
  .vzke-message-dialog{padding:13px 10px 12px}
  .vzke-message-image-wrap{width:min(142px,42vw)}
  .vzke-message-quote{width:100%;font-size:.76rem}
  .vzke-message-title{font-size:1.1rem;padding-right:34px}
  .vzke-message-text{font-size:.82rem;line-height:1.48}
  .vzke-message-text-scroll{padding-right:8px}
  .vzke-message-new{font-size:.67rem;padding:5px 8px}
}


/* 1.0.6: Mobile Botschaft etwas hoeher; X-Zeichen im Kreis optisch mittig. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-stage{
    aspect-ratio:3/5;
  }
  .vzke-message-close span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    transform:none;
    line-height:1;
  }
}

/* 1.0.8: Mobil keine innere Scrollflaeche mehr. Die Botschaft waechst mit
   ihrem kompletten Inhalt und wird ueber den normalen Seiten-Scroll bewegt. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-stage{
    aspect-ratio:auto!important;
    height:auto!important;
    min-height:0;
    overflow:hidden;
  }
  .vzke-engine.is-message-open .vzke-message-overlay{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
    overflow:hidden;
  }
  .vzke-engine.is-message-open .vzke-message-dialog{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
    overflow:visible;
    display:flex;
    flex-direction:column;
    gap:11px;
    padding:17px 14px 18px;
  }
  .vzke-engine.is-message-open .vzke-message-content{
    flex:none;
    width:100%;
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .vzke-engine.is-message-open .vzke-message-text-scroll{
    flex:none;
    width:100%;
    height:auto;
    min-height:0;
    max-height:none!important;
    overflow:visible!important;
    padding-right:0;
    padding-bottom:0;
    margin-right:0;
    touch-action:auto;
    overscroll-behavior:auto;
  }
  .vzke-engine.is-message-open .vzke-message-scrollbar{
    display:none!important;
  }
  .vzke-message-image-wrap{
    width:min(192px,54vw);
  }
  .vzke-message-quote{
    width:min(100%,440px);
    font-size:.84rem;
    line-height:1.48;
  }
  .vzke-message-title{
    font-size:1.24rem;
    line-height:1.3;
    margin-bottom:8px;
  }
  .vzke-message-text{
    font-size:.93rem;
    line-height:1.56;
  }
  .vzke-message-new{
    width:min(270px,92%);
    max-width:92%;
    justify-content:center;
    margin:20px auto 5px;
    padding:8px 14px;
    font-size:.82rem;
    line-height:1.42;
    text-align:center;
  }
}

@media(max-width:440px){
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding:15px 11px 17px;
  }
  .vzke-message-image-wrap{width:min(185px,55vw)}
  .vzke-message-quote{font-size:.83rem;line-height:1.48}
  .vzke-message-title{font-size:1.2rem;line-height:1.3}
  .vzke-message-text{font-size:.92rem;line-height:1.55}
  .vzke-message-new{width:min(260px,94%);max-width:94%;font-size:.81rem;padding:8px 13px}
}


/* 1.0.10: mobile Botschaft mit vollbreitem Engelbild; X mittig darueber. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding-top:14px;
  }
  .vzke-engine.is-message-open .vzke-message-close{
    top:8px;
    left:50%;
    right:auto;
    transform:translateX(-50%)!important;
  }
  .vzke-engine.is-message-open .vzke-message-close:hover,
  .vzke-engine.is-message-open .vzke-message-close:focus-visible{
    transform:translateX(-50%)!important;
  }
  .vzke-engine.is-message-open .vzke-message-image-column{
    width:100%;
    padding-top:32px;
  }
  .vzke-engine.is-message-open .vzke-message-image-wrap{
    width:100%;
    max-width:none;
  }
  .vzke-engine.is-message-open .vzke-message-quote{
    width:100%;
    max-width:none;
  }
}


/* 1.0.11: mobil X wieder rechts ausserhalb; Engelbild randbuendig ohne Schatten. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-stage{
    overflow:visible;
  }
  .vzke-engine.is-message-open .vzke-message-overlay{
    overflow:visible;
  }
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding:0 14px 18px;
    overflow:visible;
  }
  .vzke-engine.is-message-open .vzke-message-close{
    top:-15px;
    right:10px;
    left:auto;
    transform:none!important;
    z-index:6;
  }
  .vzke-engine.is-message-open .vzke-message-close:hover,
  .vzke-engine.is-message-open .vzke-message-close:focus-visible{
    transform:none!important;
  }
  .vzke-engine.is-message-open .vzke-message-image-column{
    width:100%;
    padding-top:0;
    align-items:stretch;
  }
  .vzke-engine.is-message-open .vzke-message-image-wrap{
    width:calc(100% + 28px);
    max-width:none;
    margin:0 -14px 0;
    align-self:stretch;
  }
  .vzke-engine.is-message-open .vzke-message-image{
    width:100%;
    border-radius:15px 15px 0 0;
    box-shadow:none!important;
  }
  .vzke-engine.is-message-open .vzke-message-quote{
    width:100%;
    max-width:none;
    margin-top:12px;
  }
}

@media(max-width:440px){
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding:0 11px 17px;
  }
  .vzke-engine.is-message-open .vzke-message-image-wrap{
    width:calc(100% + 22px);
    margin:0 -11px 0;
  }
  .vzke-engine.is-message-open .vzke-message-close{
    right:8px;
  }
}


/* 1.0.12: mobil Bild sauber in die Innenrundung; X oben rechts entfernt. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-stage{
    overflow:hidden;
  }
  .vzke-engine.is-message-open .vzke-message-overlay{
    overflow:hidden;
  }
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding:0 0 18px;
    overflow:hidden;
    border-radius:inherit;
  }
  .vzke-engine.is-message-open .vzke-message-close{
    display:none!important;
  }
  .vzke-engine.is-message-open .vzke-message-image-column{
    width:100%;
    padding-top:0;
    align-items:stretch;
  }
  .vzke-engine.is-message-open .vzke-message-image-wrap{
    width:100%;
    max-width:none;
    margin:0;
    align-self:stretch;
    overflow:hidden;
    border-radius:calc(var(--vzke-stage-radius) - 3px) calc(var(--vzke-stage-radius) - 3px) 0 0;
  }
  .vzke-engine.is-message-open .vzke-message-image{
    width:100%;
    display:block;
    border-radius:inherit;
    box-shadow:none!important;
  }
  .vzke-engine.is-message-open .vzke-message-quote{
    width:100%;
    max-width:none;
    margin-top:12px;
    padding:0 14px;
    box-sizing:border-box;
  }
  .vzke-engine.is-message-open .vzke-message-content{
    padding:0 14px;
    box-sizing:border-box;
  }
  .vzke-engine.is-message-open .vzke-message-new{
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:440px){
  .vzke-engine.is-message-open .vzke-message-dialog{
    padding:0 0 17px;
  }
  .vzke-engine.is-message-open .vzke-message-quote,
  .vzke-engine.is-message-open .vzke-message-content{
    padding-left:11px;
    padding-right:11px;
  }
}


/* 1.0.13: mobil Engel-Bezeichnung zentriert und etwas mehr Abstand zum Spruch. */
@media(max-width:781px){
  .vzke-engine.is-message-open .vzke-message-title{
    text-align:center;
    margin:5px 14px 8px;
  }
}
@media(max-width:440px){
  .vzke-engine.is-message-open .vzke-message-title{
    margin-left:11px;
    margin-right:11px;
  }
}


/* 1.0.15: Radien pro Deck auch beim Aufdecken; frei definierbarer Legedeck-Radius. */
.vzke-card,
.vzke-card-inner,
.vzke-card-face{
  border-radius:var(--vzke-card-radius,9px);
}
.vzke-card-front img{
  border-radius:inherit;
}
.vzke-all-card-image img{
  border-radius:var(--vzke-card-radius,9px);
}
.vzke-stage{
  --vzke-stage-radius:var(--vzke-stage-radius-desktop,22px);
  border-radius:var(--vzke-stage-radius);
}
.vzke-message-overlay{
  border-radius:max(0px,calc(var(--vzke-stage-radius) - 3px));
}
@media(max-width:781px){
  .vzke-stage{
    --vzke-stage-radius:var(--vzke-stage-radius-mobile,16px);
    border-radius:var(--vzke-stage-radius);
  }
  .vzke-engine.is-message-open .vzke-message-image-wrap{
    border-radius:max(0px,calc(var(--vzke-stage-radius) - 3px)) max(0px,calc(var(--vzke-stage-radius) - 3px)) 0 0;
  }
}


/* 1.0.16: Kartenformat pro Deck automatisch aus der ersten Vorderseite. */
.vzke-card,
.vzke-rest,
.vzke-stack{
  aspect-ratio:var(--vzke-card-aspect,0.666667);
}
.vzke-message-image,
.vzke-all-card-image img{
  aspect-ratio:var(--vzke-card-aspect,0.666667);
}
.vzke-card-face img,
.vzke-message-image,
.vzke-all-card-image img{
  object-fit:contain;
}
.vzke-stack-card,
.vzke-card-back{
  background-size:100% 100%;
}
/* Auf der Zielseite gibt es keinen Engine-Root; dort deshalb die Originalproportionen des Bildes verwenden. */
.vzke-draw-notice img{
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}


/* 1.0.20: eingeloggte Testauswahl aus "Alle Karten aufdecken". */
.vzke-all-card[role="button"]{
  cursor:pointer;
  border-radius:10px;
  transition:transform .16s ease;
}
.vzke-all-card[role="button"]:hover{
  transform:translateY(-2px);
}
.vzke-all-card[role="button"]:focus-visible{
  outline:2px solid #0b6e91;
  outline-offset:4px;
}
.vzke-all-card[role="button"]:hover .vzke-all-card-image img,
.vzke-all-card[role="button"]:focus-visible .vzke-all-card-image img{
  box-shadow:0 7px 16px rgba(0,20,54,.24);
}
.vzke-card.is-admin-test-target,
.vzke-card.is-admin-test-target:hover,
.vzke-card.is-admin-test-target:focus,
.vzke-card.is-admin-test-target:focus-visible{
  outline:4px solid #f1cf62!important;
  outline-offset:5px;
  box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 20px rgba(241,207,98,.85)!important;
  z-index:26!important;
}

/* 1.0.21: Botschaft auf allen Geraeten vollstaendig anzeigen; nur die Seite scrollt. */
.vzke-engine.is-message-open .vzke-stage{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden;
}
.vzke-engine.is-message-open .vzke-message-overlay{
  position:relative;
  inset:auto;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
}
.vzke-engine.is-message-open .vzke-message-dialog{
  position:relative;
  inset:auto;
  width:100%;
  height:auto!important;
  min-height:0;
}
.vzke-engine.is-message-open .vzke-message-content{
  height:auto!important;
  min-height:0;
  overflow:visible;
}
.vzke-engine.is-message-open .vzke-message-text-scroll{
  height:auto!important;
  min-height:0;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0;
  margin-right:0;
  scrollbar-width:none;
}
.vzke-engine.is-message-open .vzke-message-text-scroll::-webkit-scrollbar{
  width:0;
  height:0;
}
.vzke-engine.is-message-open .vzke-message-scrollbar{
  display:none!important;
}

/* VG-Wort: Der Pixel wird erst erzeugt, wenn dieser Punkt unter der Ueberschrift sichtbar ist. */
.vzke-vgwort-sentinel{
  display:block;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  pointer-events:none;
}
.vzke-vgwort-pixel{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Virtuelle Karten-Seite wie eine regulaere Theme-Seite.
   Der Theme-Hintergrund bleibt um den eigenen weissen Inhaltsbereich sichtbar. */
body.vzke-virtual-card-page .site-content,
body.vzke-virtual-card-page #primary,
body.vzke-virtual-card-page .content-area,
body.vzke-virtual-card-page .inside-article,
body.vzke-virtual-card-page .site-main,
body.vzke-virtual-card-page .vzke-virtual-primary{
  background:transparent!important;
}
body.vzke-virtual-card-page .site-content{
  padding-top:0!important;
}
.vzke-virtual-hero{
  display:block;
  width:100%;
  margin:0;
  box-sizing:border-box;
  background:linear-gradient(180deg,#175b73 0%,#5f3c52 50%,#b00d12 100%);
  color:#fff;
}
.vzke-virtual-hero-inner{
  display:grid;
  grid-template-columns:222px minmax(0,1fr);
  align-items:center;
  gap:42px;
  width:100%;
  max-width:1100px;
  min-height:204px;
  margin:0 auto;
  padding:20px 0;
  box-sizing:border-box;
}
.vzke-virtual-hero-visual{
  width:164px;
  height:164px;
  margin:0 0 0 58px;
  border:3px solid #6e9bb3;
  border-radius:50%;
  overflow:hidden;
  box-sizing:border-box;
  background:#fff;
}
.vzke-virtual-hero-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.vzke-virtual-hero-copy{
  min-width:0;
}
.vzke-virtual-hero-title{
  margin:0!important;
  color:#fff!important;
  font-family:"Life Savers","LifeSavers",cursive!important;
  font-size:36px!important;
  font-weight:700!important;
  line-height:1.12!important;
}
.vzke-virtual-hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 11px;
  margin-top:14px;
  color:#fff;
  font-family:"Open Sans",Arial,sans-serif;
  font-size:20px;
  font-weight:400;
  line-height:1.45;
}
.vzke-virtual-hero-meta a{
  display:inline-block;
  padding-bottom:1px;
  border-bottom:2px solid #83bdd0;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.vzke-virtual-hero-meta a:hover,
.vzke-virtual-hero-meta a:focus{
  color:#fff!important;
}
.vzke-virtual-hero-separator{
  color:#fff;
}
.vzke-virtual-primary{
  width:100%;
  padding-top:22px;
  box-sizing:border-box;
}
.vzke-virtual-card{
  max-width:1040px;
  margin:0 auto;
  padding:clamp(22px,3vw,34px) 66px clamp(30px,4vw,42px) calc(clamp(30px,4.4vw,48px) + 13px);
  box-sizing:border-box;
  border:1px solid #f0ebeb;
  border-radius:10px;
  background:#fff;
}
.vzke-virtual-breadcrumb{
  margin:0 0 clamp(28px,3.5vw,40px)!important;
}
.vzke-virtual-breadcrumb .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0!important;
  padding:0!important;
  font-family:"Open Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.35;
  font-weight:700!important;
}
.vzke-virtual-breadcrumb .breadcrumb li{
  display:inline-flex;
  align-items:center;
  margin:0!important;
  padding:0!important;
  font-family:"Open Sans",Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.35;
  color:#0c667f;
  font-weight:700!important;
}
.vzke-virtual-breadcrumb .breadcrumb li:not(:last-child)::after{
  position:relative;
  top:-2px;
  margin-left:9px!important;
  margin-right:7px!important;
  font-weight:400!important;
}
.vzke-virtual-breadcrumb .breadcrumb a{
  display:inline-block;
  padding:0 0 1px;
  border-bottom:2px solid #86b7ca;
  color:#0c667f!important;
  text-decoration:none!important;
  font-family:"Open Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.vzke-virtual-breadcrumb .breadcrumb a:hover,
.vzke-virtual-breadcrumb .breadcrumb a:focus{
  color:#0c667f!important;
  text-decoration:none!important;
}
.vzke-virtual-card-topnav{
  margin:0 0 clamp(24px,3vw,36px);
}
.vzke-virtual-back-button-label{
  position:relative;
  top:-1px;
}
.vzke-virtual-back-button,
.vzke-virtual-detail-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  box-sizing:border-box;
  padding:14px 24px;
  border:0;
  border-radius:10px;
  background:#005E80;
  color:#fff!important;
  text-decoration:none!important;
  font-size:clamp(17px,1.7vw,20px);
  font-weight:700;
  line-height:1.25;
  box-shadow:0 3px 0 rgba(0,0,0,.14);
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.vzke-virtual-back-button:hover,
.vzke-virtual-back-button:focus,
.vzke-virtual-detail-button:hover,
.vzke-virtual-detail-button:focus{
  background:#174f5d;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 5px 0 rgba(0,0,0,.12);
}
.vzke-virtual-card-layout{
  display:block;
  margin-top:42px;
}
.vzke-virtual-card-layout::after{
  content:"";
  display:block;
  clear:both;
}
.vzke-virtual-card-visual{
  float:left;
  width:min(32%,300px);
  margin:0 clamp(22px,3.5vw,40px) 40px 0;
}
.vzke-virtual-card-visual img,
.vzke-virtual-card-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
.vzke-virtual-card-content{
  display:block;
}
.vzke-virtual-card-content > :first-child{
  margin-top:0;
}
.vzke-virtual-card-content > :last-child{
  margin-bottom:0;
}
/* Ueberschriften, Affirmationen/Botschaften und strukturierende Elemente nie schmal neben der Karte. */
.vzke-virtual-card-content h2,
.vzke-virtual-card-content h3,
.vzke-virtual-card-content h4,
.vzke-virtual-card-content h5,
.vzke-virtual-card-content h6,
.vzke-virtual-card-content blockquote,
.vzke-virtual-card-content hr,
.vzke-virtual-card-content .tarot-link-rahmen,
.vzke-virtual-card-content .vzke-clear-below-card,
.vzke-virtual-pdf-downloads,
.vzke-virtual-detail-cta{
  clear:both;
}
.vzke-virtual-card-content blockquote,
.vzke-virtual-card-content blockquote p{
  font-family:"Life Savers","LifeSavers",cursive!important;
  font-style:normal!important;
  font-weight:700!important;
}
.vzke-virtual-card-content p{
  break-inside:avoid;
}
.vzke-virtual-pdf-downloads{
  margin-top:clamp(30px,4vw,42px);
}
.vzke-virtual-detail-cta{
  margin:clamp(30px,4vw,44px) 0 8px;
  text-align:center;
}
.vzke-virtual-pdf-downloads + .vzke-virtual-detail-cta{
  margin-top:56px;
}
.vzke-virtual-detail-button{
  width:min(100%,620px);
  min-height:58px;
  padding:16px 28px;
  font-size:clamp(18px,2vw,22px);
}
@media(max-width:781px){
  .vzke-virtual-hero-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    min-height:0;
    padding:44px 20px 41px;
    text-align:center;
  }
  .vzke-virtual-hero-visual{
    width:clamp(210px,54vw,260px);
    height:clamp(210px,54vw,260px);
    margin:0 auto 38px;
    border-width:3px;
  }
  .vzke-virtual-hero-copy{
    width:100%;
    text-align:center;
  }
  .vzke-virtual-hero-title{
    width:100%;
    margin:0 auto!important;
    font-size:30px!important;
    line-height:1.08!important;
    text-align:center;
  }
  .vzke-virtual-hero-meta{
    justify-content:center;
    width:100%;
    margin-top:27px;
    gap:0 8px;
    font-size:clamp(16px,4.1vw,20px);
    line-height:1.45;
    text-align:center;
  }
  .vzke-virtual-hero-issn-separator{
    display:none;
  }
  .vzke-virtual-hero-issn{
    flex:0 0 100%;
    margin-top:7px;
    text-align:center;
  }
  .vzke-virtual-primary{
    padding-top:18px;
  }
  .vzke-virtual-card{
    padding:20px 20px 28px;
    border:0;
    border-radius:0;
  }
  .vzke-virtual-card-topnav{
    margin-bottom:24px;
  }
  .vzke-virtual-back-button,
  .vzke-virtual-detail-button{
    width:100%;
  }
  .vzke-virtual-card-visual{
    float:none;
    width:min(100%,420px);
    margin:0 auto 40px;
  }
  .vzke-virtual-card-content h2,
  .vzke-virtual-card-content h3,
  .vzke-virtual-card-content h4,
  .vzke-virtual-card-content h5,
  .vzke-virtual-card-content h6,
  .vzke-virtual-card-content blockquote,
  .vzke-virtual-card-content hr,
  .vzke-virtual-card-content .tarot-link-rahmen,
  .vzke-virtual-card-content .vzke-clear-below-card,
  .vzke-virtual-detail-cta{
    clear:none;
  }
}


/* 1.0.25: Detail-CTA ohne Schatten, roter Hover und optionales rundes Bild. */
.vzke-virtual-detail-button{
  position:relative;
  border:0!important;
  background:#005E80!important;
  box-shadow:none!important;
  transition:background-color .15s ease,color .15s ease!important;
}
.vzke-virtual-detail-button:hover,
.vzke-virtual-detail-button:focus{
  background:#ae1516!important;
  border-color:#ae1516!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.vzke-virtual-detail-cta.has-image{
  padding-left:36px;
}
.vzke-virtual-detail-button.has-image{
  padding-left:68px;
}
.vzke-virtual-detail-button-image{
  position:absolute;
  left:-36px;
  top:50%;
  width:75px;
  height:75px;
  box-sizing:border-box;
  border:2px solid #4f86a6;
  border-radius:50%;
  background:#fff;
  overflow:hidden;
  transform:translateY(-50%);
}
.vzke-virtual-detail-button-image-src{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.vzke-virtual-detail-button-label{
  position:relative;
  top:-1px;
  z-index:1;
}
@media(max-width:781px){
  .vzke-virtual-detail-cta.has-image{padding-left:32px}
  .vzke-virtual-detail-button.has-image{padding-left:62px}
  .vzke-virtual-detail-button-image{left:-32px;width:66px;height:66px}
}


/* 1.0.27: Oberer Rueckkehr-Button ruhig, ohne Schatten; Hover rot. */
.vzke-virtual-back-button{
  border:0!important;
  background:#005E80!important;
  box-shadow:none!important;
  transition:none!important;
}
.vzke-virtual-back-button:hover,
.vzke-virtual-back-button:focus{
  background:#ae1516!important;
  border-color:#ae1516!important;
  color:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}


/* 1.1.1: Deck-Trenner nur als Grafik ohne Linien, mit grosszuegigerem Abstand. */
.vzke-virtual-divider{
  clear:both;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:clamp(46px,6vw,74px) 0 clamp(24px,4vw,40px);
  min-height:52px;
}
.vzke-virtual-divider-image{
  display:block;
  max-width:min(260px,56vw);
  line-height:0;
}
.vzke-virtual-divider-image-src{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:110px!important;
  margin:0 auto!important;
}
