/* SWS Lightbox - Bild- und Video-Lightbox CSS
   Version: 1.2.0 */
.sws-lb-overlay {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(0,0,0,.92);
    display: none; align-items: center; justify-content: center;
}
.sws-lb-overlay.sws-lb-active { display: flex; }
.sws-lb-wrap {
    position: relative; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    padding: 3rem 1rem 2rem;
}
.sws-lb-content { max-width: 90vw; max-height: 80vh; display: flex; align-items: center; justify-content: center; }
.sws-lb-img { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: .5rem; }
.sws-lb-video { width: min(90vw, 1280px); aspect-ratio: 16/9; border-radius: .5rem; border: 0; }
.sws-lb-close, .sws-lb-prev, .sws-lb-next {
    position: absolute; z-index: 10; background: none; border: none;
    color: rgba(255,255,255,.7); cursor: pointer; padding: .5rem;
    transition: color .2s;
}
.sws-lb-close:hover, .sws-lb-prev:hover, .sws-lb-next:hover { color: #fff; }
.sws-lb-close { top: 1rem; right: 1rem; }
.sws-lb-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.sws-lb-next { right: 1rem; top: 50%; transform: translateY(-50%); }
.sws-lb-caption {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 1rem 2rem; text-align: center;
    background: linear-gradient(transparent, rgba(0,0,0,.6));
    color: #fff; font-size: .95rem; font-weight: 500;
}
/* Video-Play-Overlay für YT-Vorschaubilder */
a.mfp-video, a.videoBox { position: relative; display: inline-block; }
a.mfp-video > span, a.videoBox > span {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.25); transition: background .2s;
}
a.mfp-video:hover > span, a.videoBox:hover > span { background: rgba(0,0,0,.4); }
a.mfp-video > span::after, a.videoBox > span::after {
    content: ""; display: block;
    width: 0; height: 0;
    border-style: solid; border-width: 1.5rem 0 1.5rem 2.5rem;
    border-color: transparent transparent transparent rgba(255,255,255,.9);
}
/* Blocked video (Cookie-Consent fehlt) */
a.blockedzoom { pointer-events: none; opacity: .5; }
