.em-show{position:relative;overflow:hidden;background:#fff;padding:clamp(48px,7vw,96px) 0;font-family:inherit;--gap:clamp(16px,2vw,24px);}
/* Kachelbreite: 3 sichtbar (mobil 2). Präzise setzt sie das Skript per --tile-w aus
   der tatsächlichen Section-Breite (funktioniert auch in boxed Elementor-Containern);
   ohne JS greift der vw-Fallback. Bewusst KEINE Container-Queries: container-type
   bricht die Höhenberechnung in Elementors Flex-Containern. */
.em-show *{box-sizing:border-box;}

/* Laufende Reihen */
.em-show__rows{display:flex;flex-direction:column;gap:var(--gap);}
.em-show__rowbox{position:relative;touch-action:pan-y;} /* horizontal ziehen, vertikal normal scrollen */
/* Weicher Rand links/rechts — pro Reihe maskiert (iOS-Safari-sicher, Masken auf
   sehr hohen Elementen werden dort sonst nur teilweise gerendert) */
.em-show__rowmask{overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);}
.em-show__row{display:flex;width:max-content;animation:em-marq var(--d,240s) linear infinite;cursor:grab;}
.em-show__row.em-dragging{cursor:grabbing;}
.em-show__row--rev{animation-direction:reverse;}
.em-show__rowbox:hover .em-show__row{animation-play-state:paused;}

/* Schiebe-Pfeile pro Reihe */
.em-show__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(11,11,15,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 6px 20px rgba(24,67,65,.18);color:#FD3870;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 3px;opacity:0;transition:opacity .25s ease,transform .2s ease,background .2s ease;}
.em-show__nav--prev{left:14px;}
.em-show__nav--next{right:14px;}
.em-show__rowbox:hover .em-show__nav{opacity:1;}
.em-show__nav:hover{transform:translateY(-50%) scale(1.1);background:#fff;}
.em-show__nav:active{transform:translateY(-50%) scale(.95);}
@media (hover:none){.em-show__nav{opacity:1;background:#fff;border:1px solid rgba(253,56,112,.35);box-shadow:0 6px 24px rgba(11,11,15,.28);width:42px;height:42px;font-size:22px;}}
@media (max-width:640px){.em-show__nav{display:none;}} /* Mobil: nur Swipe, keine Pfeile */
.em-show__track{display:flex;gap:var(--gap);padding-right:var(--gap);}
@keyframes em-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Karten */
.em-show__item{position:relative;display:block;width:var(--tile-w,calc((100vw - 2*var(--gap))/3));aspect-ratio:1/1;border-radius:18px;overflow:hidden;box-shadow:0 10px 32px rgba(24,67,65,.12);flex:none;cursor:inherit;}
.em-show__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1);user-select:none;-webkit-user-drag:none;}
.em-show__item:hover img{transform:scale(1.06);}
.em-show__cap{position:absolute;inset:auto 0 0 0;padding:40px 18px 14px;background:linear-gradient(to top,rgba(11,11,15,.72),transparent);color:#fff;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;}
.em-show__item:hover .em-show__cap{opacity:1;transform:translateY(0);}
.em-show__cap strong{display:block;font-size:1rem;font-weight:700;}
.em-show__cap small{display:block;margin-top:2px;font-size:.78rem;opacity:.85;}
@media (max-width:640px){.em-show__item{width:var(--tile-w,calc((100vw - var(--gap))/2));}}

/* Touch-Geräte: Caption erst bei Tap, Reihe pausiert solange */
@media (hover:none){
  .em-show__item.em-tapped .em-show__cap{opacity:1;transform:none}
  .em-show__row:has(.em-tapped){animation-play-state:paused}
}


/* Lazy Start: Reihen laufen erst, wenn sie ins Bild gescrollt werden (per JS aktiviert) */
.em-js .em-show__row{animation-play-state:paused}
.em-js .em-show__row.em-live{animation-play-state:running}
.em-js .em-show__row.em-live:hover{animation-play-state:paused}

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion:reduce){
  .em-show__row{animation:none}
  .em-show__rowmask{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .em-show__nav{display:none}
}