/* Ultra Lightbox (ohne externe Lib) */
.ultra-lb{position:fixed;inset:0;z-index:2000;display:none}
.ultra-lb.is-open{display:block}
.ultra-lb__back{position:absolute;inset:0;background:rgba(0,0,0,.9);opacity:0;transition:opacity .18s ease}
.ultra-lb.is-open .ultra-lb__back{opacity:1}

.ultra-lb__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ultra-lb__imgwrap{max-width:94vw;max-height:92vh;pointer-events:auto}
.ultra-lb__imgwrap img{display:block;max-width:100%;max-height:92vh}

.ultra-lb__close,
.ultra-lb__prev,
.ultra-lb__next{
  position:absolute;top:50%;transform:translateY(-50%);padding:10px 12px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:10px;backdrop-filter: blur(4px);
  cursor:pointer;user-select:none
}
.ultra-lb__close{top:16px;right:16px;transform:none}
.ultra-lb__prev{left:16px}
.ultra-lb__next{right:16px}

.ultra-lb__close:focus,
.ultra-lb__prev:focus,
.ultra-lb__next:focus{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}

/* BACKDROP */
.ultra-lb{position:fixed;inset:0;z-index:2000;display:none}
.ultra-lb.is-open{display:block}
.ultra-lb__back{position:absolute;inset:0;background:rgba(0,0,0,.9);opacity:0;transition:opacity .18s ease}
.ultra-lb.is-open .ultra-lb__back{opacity:1}

/* STAGE */
.ultra-lb__stage{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  /* WICHTIG: Pointer-Events erlauben (sonst Buttons tot) */
  pointer-events:auto;          /* <- geändert */
}

/* Bild + Fade */
.ultra-lb__imgwrap{max-width:94vw;max-height:92vh}
.ultra-lb__imgwrap img{
  display:block;max-width:100%;max-height:92vh;
  opacity:1; transition:opacity .2s ease;   /* <- neu: smoother switch */
}
.ultra-lb__imgwrap img.is-fading{ opacity:0; }  /* <- neu */

/* Controls */
.ultra-lb__close,
.ultra-lb__prev,
.ultra-lb__next{
  position:absolute;top:50%;transform:translateY(-50%);
  padding:10px 12px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:10px;
  backdrop-filter: blur(4px);cursor:pointer;user-select:none;
}
.ultra-lb__close{ top:16px; right:16px; transform:none }
.ultra-lb__prev{ left:16px }
.ultra-lb__next{ right:16px }

/* Bild smooth ein-/ausblenden und beim Close leicht herauszoomen */
.ultra-lb__imgwrap img{
  transition: opacity .2s ease, transform .18s ease; /* transform für Zoom-Out */
}
.ultra-lb__imgwrap img.is-fading{ opacity:0; }
.ultra-lb.is-closing .ultra-lb__imgwrap img{
  opacity:0;
  transform: scale(.96);
}