.npa-gallery{--npa-gap:18px;--npa-thumb-width:260px;--npa-thumb-height:190px;--npa-fit:cover;--npa-cols-desktop:4;--npa-cols-tablet:3;--npa-cols-mobile:1;--npa-slider-width:520px;--npa-lightbox-width:94vw;--npa-lightbox-height:84vh;--npa-lightbox-fit:contain;margin:24px 0;position:relative}.npa-items{display:grid;gap:var(--npa-gap);align-items:start}.npa-layout-grid .npa-items{grid-template-columns:repeat(var(--npa-cols-desktop),minmax(0,1fr))}.npa-layout-masonry .npa-items{display:block;column-count:var(--npa-cols-desktop);column-gap:var(--npa-gap)}.npa-layout-masonry .npa-item{break-inside:avoid;margin:0 0 var(--npa-gap)}.npa-layout-slider{overflow:hidden}.npa-layout-slider .npa-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.npa-layout-slider .npa-item{min-width:min(82vw,var(--npa-slider-width));scroll-snap-align:start}.npa-layout-timeline .npa-items{display:block;border-left:3px solid #ddd;padding-left:22px}.npa-layout-timeline .npa-item{margin:0 0 28px;position:relative}.npa-layout-timeline .npa-item:before{content:"";position:absolute;left:-31px;top:18px;width:14px;height:14px;border-radius:50%;background:#777}.npa-item{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;height:auto;align-self:start}.npa-media-wrap{position:relative;display:block;background-color:#f3f3f3;background-size:var(--npa-fit);background-position:center;background-repeat:no-repeat;cursor:zoom-in;height:var(--npa-thumb-height);overflow:hidden}.npa-size-auto .npa-media-wrap{height:auto}.npa-img{position:relative;z-index:1;width:100%;height:100%!important;object-fit:var(--npa-fit)!important;display:block!important;visibility:visible!important;opacity:1!important;user-select:none;-webkit-user-drag:none;background:transparent}.npa-size-auto .npa-img{height:auto;object-fit:initial}.npa-dummy-overlay{position:absolute!important;inset:0!important;z-index:3!important;width:100%!important;height:100%!important;display:block!important;object-fit:fill!important;background:transparent!important;background-color:transparent!important;opacity:1!important;filter:none!important;user-select:none;-webkit-user-drag:none}.npa-watermark{position:absolute;right:10px;bottom:10px;z-index:4;color:#fff;background:rgba(0,0,0,.42);padding:4px 8px;border-radius:4px;font-size:12px;pointer-events:none}.npa-video-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font-size:26px;pointer-events:none}.npa-missing-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#777;background:#f3f3f3;font-size:13px}.npa-caption{padding:12px 14px}.npa-caption h3{margin:0 0 6px;font-size:18px}.npa-caption p{margin:0 0 8px}.npa-link{display:inline-block}.npa-load-more{display:block;margin:22px auto;padding:10px 18px;border:0;border-radius:4px;background:#222;color:#fff;cursor:pointer}.npa-load-more:disabled{opacity:.55;cursor:wait}.npa-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:36px}.npa-lightbox.is-open{display:flex}.npa-lightbox-content{max-width:var(--npa-lightbox-width);max-height:var(--npa-lightbox-height);position:relative}.npa-lightbox-content img,.npa-lightbox-content video,.npa-lightbox-content iframe{width:auto;height:auto;max-width:var(--npa-lightbox-width);max-height:var(--npa-lightbox-height);object-fit:var(--npa-lightbox-fit);display:block}.npa-lightbox-content img.npa-lightbox-cover{width:var(--npa-lightbox-width);height:var(--npa-lightbox-height)}.npa-lightbox-close{position:fixed;right:20px;top:14px;background:transparent;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer}.npa-lightbox-prev,.npa-lightbox-next{position:fixed;top:50%;transform:translateY(-50%);z-index:100000;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.35);color:#fff;width:54px;height:72px;font-size:46px;line-height:1;cursor:pointer;border-radius:6px}.npa-lightbox-prev{left:22px}.npa-lightbox-next{right:22px}.npa-lightbox-prev:hover,.npa-lightbox-next:hover{background:rgba(0,0,0,.65)}.npa-lightbox-title{position:fixed;left:0;right:0;bottom:18px;color:#fff;text-align:center}.npa-password-form{border:1px solid #ddd;padding:18px;max-width:420px}.npa-password-form input{padding:9px;width:100%;box-sizing:border-box;margin:8px 0}.npa-password-form button{padding:9px 14px}@media(max-width:900px){.npa-layout-grid .npa-items{grid-template-columns:repeat(var(--npa-cols-tablet),minmax(0,1fr))}.npa-layout-masonry .npa-items{column-count:var(--npa-cols-tablet)}}@media(max-width:560px){.npa-layout-grid .npa-items{grid-template-columns:repeat(var(--npa-cols-mobile),minmax(0,1fr))}.npa-layout-masonry .npa-items{column-count:var(--npa-cols-mobile)}.npa-lightbox{padding:18px}}
.npa-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.npa-filters button{border:1px solid #ddd;background:#fff;padding:8px 12px;border-radius:3px;cursor:pointer}.npa-filters button.is-active{background:#222;color:#fff;border-color:#222}.npa-watermark-img{position:absolute;right:10px;bottom:10px;z-index:4;max-width:28%;max-height:22%;pointer-events:none;opacity:.78}.npa-lightbox-content .npa-watermark-img{position:absolute;right:18px;bottom:18px;max-width:24%;max-height:18%}

@media(max-width:560px){.npa-lightbox-prev,.npa-lightbox-next{width:42px;height:58px;font-size:34px}.npa-lightbox-prev{left:8px}.npa-lightbox-next{right:8px}}

/* v3.5: Wasserzeichenpositionen und Grid-Stretch-Fix */
.npa-wm-bottom-right .npa-watermark,.npa-wm-bottom-right .npa-watermark-img{right:10px;bottom:10px;left:auto;top:auto;transform:none}
.npa-wm-bottom-left .npa-watermark,.npa-wm-bottom-left .npa-watermark-img{left:10px;bottom:10px;right:auto;top:auto;transform:none}
.npa-wm-top-right .npa-watermark,.npa-wm-top-right .npa-watermark-img{right:10px;top:10px;left:auto;bottom:auto;transform:none}
.npa-wm-top-left .npa-watermark,.npa-wm-top-left .npa-watermark-img{left:10px;top:10px;right:auto;bottom:auto;transform:none}
.npa-wm-center .npa-watermark,.npa-wm-center .npa-watermark-img{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}
.npa-lightbox.npa-wm-bottom-right .npa-watermark,.npa-lightbox.npa-wm-bottom-right .npa-watermark-img{right:18px;bottom:18px;left:auto;top:auto;transform:none}
.npa-lightbox.npa-wm-bottom-left .npa-watermark,.npa-lightbox.npa-wm-bottom-left .npa-watermark-img{left:18px;bottom:18px;right:auto;top:auto;transform:none}
.npa-lightbox.npa-wm-top-right .npa-watermark,.npa-lightbox.npa-wm-top-right .npa-watermark-img{right:18px;top:18px;left:auto;bottom:auto;transform:none}
.npa-lightbox.npa-wm-top-left .npa-watermark,.npa-lightbox.npa-wm-top-left .npa-watermark-img{left:18px;top:18px;right:auto;bottom:auto;transform:none}
.npa-lightbox.npa-wm-center .npa-watermark,.npa-lightbox.npa-wm-center .npa-watermark-img{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}


/* v3.6: transparent overlay hotfix - real thumbnails remain visible under the dummy GIF */
.npa-media-wrap > .npa-img{position:absolute!important;inset:0!important;z-index:1!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:var(--npa-fit)!important;display:block!important;opacity:1!important;visibility:visible!important}
.npa-size-auto .npa-media-wrap > .npa-img{position:relative!important;height:auto!important;max-width:100%!important;object-fit:initial!important}
.npa-media-wrap > .npa-dummy-overlay{mix-blend-mode:normal!important}


/* v3.7: stabiles Grid/Cover-Thumbnail-Layout
   Ziel: keine weißen Restflächen, gleiche Kachelhöhen, Overlay bleibt über dem echten Bild. */
.npa-gallery.npa-layout-grid.npa-size-fixed .npa-items{
    align-items:start!important;
    grid-auto-rows:auto!important;
}

.npa-gallery.npa-size-fixed .npa-item{
    height:auto!important;
    min-height:0!important;
    background:transparent!important;
    overflow:hidden!important;
}
.npa-gallery.npa-size-fixed .npa-media-wrap{
    width:100%!important;
    height:var(--npa-thumb-height)!important;
    min-height:var(--npa-thumb-height)!important;
    max-height:var(--npa-thumb-height)!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    background-color:transparent!important;
    background-size:var(--npa-fit)!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
}
.npa-gallery.npa-size-fixed .npa-media-wrap > img.npa-img{
    position:absolute!important;
    left:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:var(--npa-fit)!important;
    object-position:center center!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
.npa-gallery.npa-size-fixed .npa-media-wrap > img.npa-dummy-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:fill!important;
    opacity:1!important;
    z-index:3!important;
    background:transparent!important;
}
.npa-gallery.npa-size-fixed .npa-caption{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
}
.npa-gallery.npa-fit-cover,
.npa-gallery[style*="--npa-fit:cover"]{
    --npa-fit:cover;
}
.npa-gallery.npa-fit-cover .npa-media-wrap > img.npa-img,
.npa-gallery[style*="--npa-fit:cover"] .npa-media-wrap > img.npa-img{
    object-fit:cover!important;
}
.npa-gallery.npa-size-auto .npa-item{
    background:transparent!important;
}
.npa-gallery.npa-size-auto .npa-media-wrap{
    height:auto!important;
    min-height:0!important;
    background:transparent!important;
}
.npa-gallery.npa-size-auto .npa-media-wrap > img.npa-img{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    object-fit:contain!important;
}

/* v5 Struktur-Edition: Themen-/Albumübersichten */
.npa-structure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:24px 0;}
.npa-structure-card{display:block;position:relative;overflow:hidden;background:#111;color:#fff;text-decoration:none;min-height:180px;border:1px solid rgba(255,255,255,.16);box-shadow:0 4px 18px rgba(0,0,0,.25);}
.npa-structure-card:hover{transform:translateY(-1px);}
.npa-structure-image{display:block;height:190px;background:#222 center/cover no-repeat;filter:saturate(.95);}
.npa-structure-card:not(:has(.npa-structure-image[style])) .npa-structure-image{background:linear-gradient(135deg,#333,#111);}
.npa-structure-title{position:absolute;left:0;right:0;bottom:28px;padding:14px 16px;font-size:20px;font-weight:700;letter-spacing:.02em;background:linear-gradient(transparent,rgba(0,0,0,.82));}
.npa-structure-count{position:absolute;left:16px;bottom:10px;font-size:12px;opacity:.85;}
@media(max-width:680px){.npa-structure-grid{grid-template-columns:1fr 1fr;gap:12px}.npa-structure-image{height:150px}.npa-structure-title{font-size:16px}}
@media(max-width:430px){.npa-structure-grid{grid-template-columns:1fr}}

/* v7.0: Original-Seitenverhältnis sauber als reine Bildgalerie ausgeben.
   Keine Beitrags-/Theme-Inhalte unter den Bildern, Overlay bleibt aktiv. */
.npa-gallery.npa-size-auto .npa-items{
    align-items:start!important;
}
.npa-gallery.npa-size-auto .npa-item{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    break-inside:avoid!important;
}
.npa-gallery.npa-size-auto .npa-media-wrap{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    background:none!important;
    overflow:hidden!important;
}
.npa-gallery.npa-size-auto .npa-media-wrap > img.npa-img{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}
.npa-gallery.npa-size-auto .npa-media-wrap > img.npa-dummy-overlay{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:3!important;
    object-fit:fill!important;
    background:transparent!important;
}
.npa-gallery.npa-size-auto .npa-caption{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
}
.npa-gallery.npa-layout-masonry.npa-size-auto .npa-items{
    display:block!important;
    column-count:var(--npa-cols-desktop)!important;
    column-gap:var(--npa-gap)!important;
}
.npa-gallery.npa-layout-masonry.npa-size-auto .npa-item{
    margin:0 0 var(--npa-gap)!important;
}
@media(max-width:900px){.npa-gallery.npa-layout-masonry.npa-size-auto .npa-items{column-count:var(--npa-cols-tablet)!important}}
@media(max-width:560px){.npa-gallery.npa-layout-masonry.npa-size-auto .npa-items{column-count:var(--npa-cols-mobile)!important}}


/* v7.1 Layout Engine: moderne Darstellungsformen pro Album */
.npa-layout-creative .npa-items{display:grid;grid-template-columns:repeat(var(--npa-cols-desktop),minmax(0,1fr));grid-auto-flow:dense;gap:var(--npa-gap)}
.npa-layout-creative .npa-item:nth-child(6n+1){grid-column:span 2;grid-row:span 2}.npa-layout-creative .npa-item:nth-child(6n+1) .npa-media-wrap{height:calc(var(--npa-thumb-height)*2 + var(--npa-gap))!important}
.npa-layout-justified .npa-items{display:flex;flex-wrap:wrap;gap:var(--npa-gap)}.npa-layout-justified .npa-item{flex:1 1 260px}.npa-layout-justified .npa-media-wrap{height:220px!important}.npa-layout-justified .npa-img{object-fit:cover!important}
.npa-layout-carousel,.npa-layout-filmstrip{overflow:hidden}.npa-layout-carousel .npa-items,.npa-layout-filmstrip .npa-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--npa-gap);padding-bottom:12px}.npa-layout-carousel .npa-item{min-width:min(72vw,360px);scroll-snap-align:start}.npa-layout-filmstrip .npa-item{min-width:min(88vw,680px);scroll-snap-align:start}.npa-layout-filmstrip .npa-media-wrap{height:360px!important}
.npa-layout-polaroid .npa-items{display:grid;grid-template-columns:repeat(var(--npa-cols-desktop),minmax(0,1fr));gap:calc(var(--npa-gap)*1.4)}.npa-layout-polaroid .npa-item{background:#fff;padding:10px 10px 34px;box-shadow:0 8px 24px rgba(0,0,0,.16);transform:rotate(-1deg)}.npa-layout-polaroid .npa-item:nth-child(even){transform:rotate(1.5deg)}.npa-layout-polaroid .npa-media-wrap{height:var(--npa-thumb-height)!important}
.npa-layout-metro .npa-items{display:grid;grid-template-columns:repeat(var(--npa-cols-desktop),minmax(0,1fr));grid-auto-flow:dense;gap:var(--npa-gap)}.npa-layout-metro .npa-item:nth-child(5n+1){grid-column:span 2}.npa-layout-metro .npa-item:nth-child(7n+3){grid-row:span 2}.npa-layout-metro .npa-item:nth-child(7n+3) .npa-media-wrap{height:calc(var(--npa-thumb-height)*2 + var(--npa-gap))!important}
.npa-layout-magazine .npa-items{display:grid;grid-template-columns:repeat(var(--npa-cols-desktop),minmax(0,1fr));gap:var(--npa-gap)}.npa-layout-magazine .npa-item:first-child{grid-column:span 2;grid-row:span 2}.npa-layout-magazine .npa-item:first-child .npa-media-wrap{height:calc(var(--npa-thumb-height)*2 + var(--npa-gap))!important}.npa-layout-magazine .npa-item:first-child .npa-caption{display:block!important;height:auto!important;padding:12px 14px!important;background:#fff}
.npa-layout-pinterest .npa-items{display:block;column-count:var(--npa-cols-desktop);column-gap:var(--npa-gap)}.npa-layout-pinterest .npa-item{break-inside:avoid;margin:0 0 var(--npa-gap)}.npa-layout-pinterest .npa-media-wrap{height:auto!important}.npa-layout-pinterest .npa-img{position:relative!important;height:auto!important;object-fit:contain!important}
.npa-layout-fullscreen .npa-items{display:grid;grid-template-columns:1fr;gap:var(--npa-gap)}.npa-layout-fullscreen .npa-media-wrap{height:min(76vh,760px)!important}.npa-layout-fullscreen .npa-img{object-fit:contain!important;background:#111}
@media(max-width:900px){.npa-layout-creative .npa-items,.npa-layout-polaroid .npa-items,.npa-layout-metro .npa-items,.npa-layout-magazine .npa-items{grid-template-columns:repeat(var(--npa-cols-tablet),minmax(0,1fr))}.npa-layout-pinterest .npa-items{column-count:var(--npa-cols-tablet)}}
@media(max-width:560px){.npa-layout-creative .npa-items,.npa-layout-polaroid .npa-items,.npa-layout-metro .npa-items,.npa-layout-magazine .npa-items{grid-template-columns:repeat(var(--npa-cols-mobile),minmax(0,1fr))}.npa-layout-creative .npa-item,.npa-layout-metro .npa-item,.npa-layout-magazine .npa-item:first-child{grid-column:auto!important;grid-row:auto!important}.npa-layout-pinterest .npa-items{column-count:var(--npa-cols-mobile)}}


/* v7.6: Layout-Engine-Hardfix Frontend
   Album-Layout hat Vorrang vor globalen Grid-/Thumbnail-Regeln. */
.npa-gallery.npa-layout-masonry .npa-items,
.npa-gallery.npa-layout-pinterest .npa-items{
    display:block!important;
    column-count:var(--npa-cols-desktop)!important;
    column-gap:var(--npa-gap)!important;
    grid-template-columns:none!important;
}
.npa-gallery.npa-layout-masonry .npa-item,
.npa-gallery.npa-layout-pinterest .npa-item{
    display:inline-block!important;
    width:100%!important;
    margin:0 0 var(--npa-gap)!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    background:transparent!important;
    box-sizing:border-box!important;
}
.npa-gallery.npa-layout-masonry .npa-media-wrap,
.npa-gallery.npa-layout-pinterest .npa-media-wrap,
.npa-gallery.npa-layout-masonry.npa-size-fixed .npa-media-wrap,
.npa-gallery.npa-layout-pinterest.npa-size-fixed .npa-media-wrap{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    background:transparent!important;
    overflow:hidden!important;
}
.npa-gallery.npa-layout-masonry .npa-media-wrap > img.npa-img,
.npa-gallery.npa-layout-pinterest .npa-media-wrap > img.npa-img,
.npa-gallery.npa-layout-masonry.npa-size-fixed .npa-media-wrap > img.npa-img,
.npa-gallery.npa-layout-pinterest.npa-size-fixed .npa-media-wrap > img.npa-img{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    display:block!important;
}
.npa-gallery.npa-layout-masonry .npa-caption,
.npa-gallery.npa-layout-pinterest .npa-caption{
    display:none!important;
}
@media(max-width:900px){.npa-gallery.npa-layout-masonry .npa-items,.npa-gallery.npa-layout-pinterest .npa-items{column-count:var(--npa-cols-tablet)!important}}
@media(max-width:560px){.npa-gallery.npa-layout-masonry .npa-items,.npa-gallery.npa-layout-pinterest .npa-items{column-count:var(--npa-cols-mobile)!important}}

.npa-gallery.npa-layout-slider .npa-items,.npa-gallery.npa-layout-carousel .npa-items,.npa-gallery.npa-layout-filmstrip .npa-items{display:flex!important;overflow-x:auto!important;gap:var(--npa-gap)!important;scroll-snap-type:x mandatory!important;grid-template-columns:none!important}.npa-gallery.npa-layout-slider .npa-item{flex:0 0 min(82vw,var(--npa-slider-width))!important;scroll-snap-align:start!important}.npa-gallery.npa-layout-carousel .npa-item{flex:0 0 260px!important;scroll-snap-align:start!important}.npa-gallery.npa-layout-filmstrip .npa-item{flex:0 0 180px!important;scroll-snap-align:start!important}.npa-gallery.npa-layout-creative .npa-items{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:var(--npa-gap)!important}.npa-gallery.npa-layout-creative .npa-item{grid-column:span 2!important}.npa-gallery.npa-layout-creative .npa-item:nth-child(7n+1){grid-column:span 4!important;grid-row:span 2!important}.npa-gallery.npa-layout-justified .npa-items{display:flex!important;flex-wrap:wrap!important;gap:var(--npa-gap)!important}.npa-gallery.npa-layout-justified .npa-item{flex:1 1 260px!important}.npa-gallery.npa-layout-justified .npa-media-wrap{height:190px!important}.npa-gallery.npa-layout-metro .npa-items{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:var(--npa-gap)!important}.npa-gallery.npa-layout-metro .npa-item:nth-child(6n+1){grid-column:span 2!important;grid-row:span 2!important}.npa-gallery.npa-layout-magazine .npa-items{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;gap:var(--npa-gap)!important}.npa-gallery.npa-layout-magazine .npa-item:first-child{grid-row:span 2!important}.npa-gallery.npa-layout-polaroid .npa-items{display:flex!important;flex-wrap:wrap!important;gap:calc(var(--npa-gap) + 6px)!important}.npa-gallery.npa-layout-polaroid .npa-item{width:210px!important;transform:rotate(-1.5deg)!important;background:#fff!important;padding:10px 10px 26px!important;box-shadow:0 6px 18px rgba(0,0,0,.25)!important}.npa-gallery.npa-layout-polaroid .npa-item:nth-child(even){transform:rotate(1.5deg)!important}.npa-gallery.npa-layout-fullscreen .npa-items{display:block!important}.npa-gallery.npa-layout-fullscreen .npa-item{display:none!important}.npa-gallery.npa-layout-fullscreen .npa-item:first-child{display:block!important;max-width:1100px!important}.npa-gallery.npa-layout-fullscreen .npa-media-wrap{height:auto!important}.npa-gallery.npa-layout-fullscreen .npa-img{position:relative!important;height:auto!important;object-fit:contain!important}


/* v7.8 Layout-Differenzierung: deutlich unterschiedliche Looks für Admin-Vorschau und Frontend */
.npa-gallery.npa-layout-masonry .npa-items{
  display:block!important;
  column-count:var(--npa-cols-desktop)!important;
  column-gap:var(--npa-gap)!important;
}
.npa-gallery.npa-layout-masonry .npa-item{
  break-inside:avoid!important;
  margin:0 0 var(--npa-gap)!important;
  display:inline-block!important;
  width:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.npa-gallery.npa-layout-masonry .npa-media-wrap,
.npa-gallery.npa-layout-masonry .npa-img{height:auto!important;object-fit:contain!important;}
.npa-gallery.npa-layout-masonry .npa-caption{display:none!important;}

/* v8.3.3 Symmetrische Masonry / Petersburger-Hängung
   Reihenprinzip: 2 Querformate links, 1 Hochformat mittig, 2 Querformate rechts. */
.npa-gallery.npa-layout-symmetric_masonry .npa-items{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:minmax(118px, 10vw)!important;
  grid-auto-flow:dense!important;
  gap:var(--npa-gap)!important;
  align-items:stretch!important;
}
.npa-gallery.npa-layout-symmetric_masonry .npa-item{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+1),
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+2),
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+4),
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n){grid-column:span 2!important;grid-row:span 1!important;}
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+3){grid-column:span 1!important;grid-row:span 2!important;}
.npa-gallery.npa-layout-symmetric_masonry .npa-media-wrap,
.npa-gallery.npa-layout-symmetric_masonry .npa-img{height:100%!important;width:100%!important;object-fit:cover!important;}
.npa-gallery.npa-layout-symmetric_masonry .npa-caption{display:none!important;}
.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+3) .npa-img{object-fit:cover!important;}

.npa-gallery.npa-layout-pinterest .npa-items{
  display:block!important;
  column-count:calc(var(--npa-cols-desktop) + 1)!important;
  column-gap:14px!important;
}
.npa-gallery.npa-layout-pinterest .npa-item{
  break-inside:avoid!important;
  display:inline-block!important;
  width:100%!important;
  margin:0 0 14px!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:12px!important;
  box-shadow:0 3px 12px rgba(0,0,0,.10)!important;
  overflow:hidden!important;
}
.npa-gallery.npa-layout-pinterest .npa-media-wrap,
.npa-gallery.npa-layout-pinterest .npa-img{height:auto!important;object-fit:contain!important;}
.npa-gallery.npa-layout-pinterest .npa-caption{display:block!important;padding:8px 10px!important;font-size:12px!important;background:#fff!important;}
.npa-gallery.npa-layout-pinterest .npa-caption h3{font-size:13px!important;margin:0!important;}

.npa-gallery.npa-layout-creative .npa-items{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:calc(var(--npa-gap) * .85)!important;
  align-items:stretch!important;
}
.npa-gallery.npa-layout-creative .npa-item{grid-column:span 2!important;border:0!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important;}
.npa-gallery.npa-layout-creative .npa-item:nth-child(7n+1){grid-column:span 4!important;grid-row:span 2!important;}
.npa-gallery.npa-layout-creative .npa-item:nth-child(7n+4){grid-column:span 3!important;}
.npa-gallery.npa-layout-creative .npa-media-wrap{height:var(--npa-thumb-height)!important;}
.npa-gallery.npa-layout-creative .npa-item:nth-child(7n+1) .npa-media-wrap{height:calc(var(--npa-thumb-height) * 2 + var(--npa-gap))!important;}
.npa-gallery.npa-layout-creative .npa-caption{display:none!important;}

.npa-gallery.npa-layout-justified .npa-items{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important;}
.npa-gallery.npa-layout-justified .npa-item{flex:1 1 260px!important;min-width:180px!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.npa-gallery.npa-layout-justified .npa-media-wrap{height:210px!important;}
.npa-gallery.npa-layout-justified .npa-img{height:100%!important;object-fit:cover!important;}
.npa-gallery.npa-layout-justified .npa-caption{display:none!important;}

.npa-gallery.npa-layout-metro .npa-items{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:dense!important;gap:10px!important;}
.npa-gallery.npa-layout-metro .npa-item{border:0!important;box-shadow:none!important;background:transparent!important;}
.npa-gallery.npa-layout-metro .npa-item:nth-child(6n+1){grid-column:span 2!important;grid-row:span 2!important;}
.npa-gallery.npa-layout-metro .npa-item:nth-child(8n+4){grid-column:span 2!important;}
.npa-gallery.npa-layout-metro .npa-media-wrap{height:180px!important;}
.npa-gallery.npa-layout-metro .npa-item:nth-child(6n+1) .npa-media-wrap{height:370px!important;}
.npa-gallery.npa-layout-metro .npa-img{object-fit:cover!important;}
.npa-gallery.npa-layout-metro .npa-caption{display:none!important;}

.npa-gallery.npa-layout-magazine .npa-items{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;grid-auto-rows:auto!important;gap:16px!important;}
.npa-gallery.npa-layout-magazine .npa-item{border:0!important;background:rgba(255,255,255,.92)!important;box-shadow:0 4px 18px rgba(0,0,0,.12)!important;}
.npa-gallery.npa-layout-magazine .npa-item:first-child{grid-column:span 1!important;grid-row:span 2!important;}
.npa-gallery.npa-layout-magazine .npa-item:first-child .npa-media-wrap{height:430px!important;}
.npa-gallery.npa-layout-magazine .npa-media-wrap{height:200px!important;}
.npa-gallery.npa-layout-magazine .npa-caption{display:block!important;padding:10px 12px!important;}
.npa-gallery.npa-layout-magazine .npa-caption h3{font-size:17px!important;margin:0!important;}

.npa-gallery.npa-layout-slider .npa-items{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:18px!important;padding-bottom:16px!important;}
.npa-gallery.npa-layout-slider .npa-item{flex:0 0 min(88vw,720px)!important;scroll-snap-align:start!important;border:0!important;box-shadow:0 8px 28px rgba(0,0,0,.18)!important;}
.npa-gallery.npa-layout-slider .npa-media-wrap{height:420px!important;}
.npa-gallery.npa-layout-slider .npa-img{object-fit:contain!important;background:#111!important;}

.npa-gallery.npa-layout-carousel .npa-items{display:flex!important;overflow-x:auto!important;gap:14px!important;scroll-snap-type:x mandatory!important;padding-bottom:14px!important;}
.npa-gallery.npa-layout-carousel .npa-item{flex:0 0 280px!important;scroll-snap-align:start!important;border-radius:12px!important;box-shadow:0 5px 16px rgba(0,0,0,.14)!important;}
.npa-gallery.npa-layout-carousel .npa-media-wrap{height:210px!important;}
.npa-gallery.npa-layout-carousel .npa-caption{display:block!important;}

.npa-gallery.npa-layout-filmstrip .npa-items{display:flex!important;overflow-x:auto!important;gap:8px!important;background:#111!important;padding:14px!important;}
.npa-gallery.npa-layout-filmstrip .npa-item{flex:0 0 180px!important;background:#000!important;border:4px solid #222!important;box-shadow:none!important;}
.npa-gallery.npa-layout-filmstrip .npa-media-wrap{height:125px!important;background:#000!important;}
.npa-gallery.npa-layout-filmstrip .npa-img{object-fit:cover!important;}
.npa-gallery.npa-layout-filmstrip .npa-caption{display:none!important;}

.npa-gallery.npa-layout-polaroid .npa-items{display:flex!important;flex-wrap:wrap!important;gap:26px!important;align-items:flex-start!important;}
.npa-gallery.npa-layout-polaroid .npa-item{width:220px!important;background:#fff!important;padding:12px 12px 34px!important;box-shadow:0 10px 26px rgba(0,0,0,.22)!important;border:0!important;transform:rotate(-2deg)!important;}
.npa-gallery.npa-layout-polaroid .npa-item:nth-child(even){transform:rotate(2deg)!important;}
.npa-gallery.npa-layout-polaroid .npa-media-wrap{height:170px!important;}
.npa-gallery.npa-layout-polaroid .npa-caption{display:block!important;text-align:center!important;padding:8px 0 0!important;}

.npa-gallery.npa-layout-timeline .npa-items{display:block!important;border-left:3px solid #bbb!important;padding-left:28px!important;}
.npa-gallery.npa-layout-timeline .npa-item{position:relative!important;margin:0 0 28px!important;max-width:720px!important;box-shadow:0 5px 18px rgba(0,0,0,.14)!important;}
.npa-gallery.npa-layout-timeline .npa-item:before{content:""!important;position:absolute!important;left:-38px!important;top:28px!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#777!important;}
.npa-gallery.npa-layout-timeline .npa-media-wrap{height:260px!important;}

.npa-gallery.npa-layout-fullscreen .npa-items{display:block!important;}
.npa-gallery.npa-layout-fullscreen .npa-item{display:none!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.npa-gallery.npa-layout-fullscreen .npa-item:first-child{display:block!important;max-width:1180px!important;margin:auto!important;}
.npa-gallery.npa-layout-fullscreen .npa-media-wrap{height:min(78vh,780px)!important;background:#050505!important;}
.npa-gallery.npa-layout-fullscreen .npa-img{object-fit:contain!important;}
.npa-gallery.npa-layout-fullscreen .npa-caption{display:block!important;text-align:center!important;background:rgba(0,0,0,.6)!important;color:#fff!important;}

/* Admin-Vorschau etwas größer, damit die Unterschiede sichtbar werden */
#npa-admin-preview.npa-gallery{max-width:1000px!important;--npa-gap:14px!important;--npa-thumb-height:170px!important;--npa-cols-desktop:4!important;}
#npa-admin-preview.npa-layout-masonry .npa-items{column-count:4!important;}
#npa-admin-preview.npa-layout-symmetric_masonry .npa-items{grid-auto-rows:92px!important;}
#npa-admin-preview.npa-layout-pinterest .npa-items{column-count:5!important;}
#npa-admin-preview .npa-caption h3{font-size:12px!important;}

@media(max-width:900px){
 .npa-gallery.npa-layout-masonry .npa-items{column-count:var(--npa-cols-tablet)!important;}
 .npa-gallery.npa-layout-pinterest .npa-items{column-count:var(--npa-cols-tablet)!important;}
 .npa-gallery.npa-layout-creative .npa-items,.npa-gallery.npa-layout-metro .npa-items,.npa-gallery.npa-layout-magazine .npa-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-items{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:150px!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-item{grid-column:span 1!important;grid-row:span 1!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+3){grid-row:span 2!important;}
 .npa-gallery.npa-layout-magazine .npa-item:first-child,.npa-gallery.npa-layout-creative .npa-item,.npa-gallery.npa-layout-metro .npa-item{grid-column:auto!important;grid-row:auto!important;}
}
@media(max-width:560px){
 .npa-gallery.npa-layout-masonry .npa-items,.npa-gallery.npa-layout-pinterest .npa-items{column-count:1!important;}
 .npa-gallery.npa-layout-creative .npa-items,.npa-gallery.npa-layout-metro .npa-items,.npa-gallery.npa-layout-magazine .npa-items{grid-template-columns:1fr!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-items{grid-template-columns:1fr!important;grid-auto-rows:auto!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-item,.npa-gallery.npa-layout-symmetric_masonry .npa-item:nth-child(5n+3){grid-column:auto!important;grid-row:auto!important;}
 .npa-gallery.npa-layout-symmetric_masonry .npa-media-wrap,.npa-gallery.npa-layout-symmetric_masonry .npa-img{height:auto!important;}
 .npa-gallery.npa-layout-slider .npa-media-wrap{height:320px!important;}
}


/* v8.1: Magazine + Original-Seitenverhältnis Auto-Flex-Fallback
   Wenn Magazine mit Originalformaten genutzt wird, dürfen keine festen Kachel-Höhen
   oder weißen Caption-Balken erzwungen werden. Die Galerie bleibt editorial, aber
   die Bildcontainer wachsen natürlich mit dem Bild. */
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-items{
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr!important;
  grid-auto-rows:auto!important;
  align-items:start!important;
  gap:16px!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-item{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  align-self:start!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-item:first-child{
  grid-column:span 1!important;
  grid-row:auto!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-media-wrap,
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-item:first-child .npa-media-wrap{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  background-color:transparent!important;
  overflow:hidden!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-img,
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-media-wrap > img.npa-img{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-caption{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  padding:7px 10px!important;
  background:linear-gradient(to top,rgba(0,0,0,.58),rgba(0,0,0,.12),rgba(0,0,0,0))!important;
  color:#fff!important;
  min-height:0!important;
  pointer-events:none!important;
}
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-caption h3,
.npa-gallery.npa-layout-magazine.npa-size-auto .npa-caption p{
  color:#fff!important;
  margin:0!important;
  text-shadow:0 1px 2px rgba(0,0,0,.65)!important;
}
@media(max-width:900px){
  .npa-gallery.npa-layout-magazine.npa-size-auto .npa-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .npa-gallery.npa-layout-magazine.npa-size-auto .npa-items{grid-template-columns:1fr!important;}
}

/* v8.1: gleicher Fallback für die Admin-/Medienmanager-Vorschau */
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-items{
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr!important;
  gap:14px!important;
  align-items:start!important;
}
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-item,
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-item:first-child{
  grid-row:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-media-wrap,
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-item:first-child .npa-media-wrap{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
#npa-admin-preview.npa-layout-magazine.npa-size-auto .npa-img{height:auto!important;object-fit:contain!important;}








/* =========================================================
   Nordic Photoart Gallery v8.3.8
   Symmetric Masonry Frontend Repair
   Ziel:
   - keine verzerrten Bilder
   - Album-Spalten werden berücksichtigt
   - 2-Spalten-Modus: großes Hochformat + zwei Querformate daneben
   - 3+ Spalten: Querformate links / Hochformat Mitte / Querformate rechts
   ========================================================= */

.npa-gallery.npa-symmetric-masonry {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--npa-gallery-gap, 16px) !important;
    column-count: initial !important;
    columns: initial !important;
}

.npa-gallery.npa-symmetric-masonry > .npa-gallery-item {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Reihe */
.npa-sym-row {
    display: grid !important;
    width: 100% !important;
    gap: var(--npa-gallery-gap, 16px) !important;
    align-items: stretch !important;
    margin: 0 !important;
}

/* 2-Spalten / Portrait-Album: 1 Hochformat + 2 Querformate */
.npa-sym-row.npa-sym-row-3 {
    grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.1fr) !important;
}

.npa-sym-row.npa-sym-row-3.npa-sym-reverse {
    grid-template-columns: minmax(260px, 1.1fr) minmax(220px, 0.9fr) !important;
}

/* 3+ Spalten: Links 2 Quer, Mitte Hoch, Rechts 2 Quer */
.npa-sym-row.npa-sym-row-5 {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.78fr) minmax(0, 1fr) !important;
}

.npa-sym-stack {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: var(--npa-gallery-gap, 16px) !important;
    min-width: 0 !important;
}

.npa-sym-center {
    min-width: 0 !important;
}

/* Items */
.npa-sym-row .npa-gallery-item,
.npa-sym-row figure,
.npa-sym-row .gallery-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    break-inside: avoid !important;
    background: transparent !important;
}

/* Keine totalen Header-Bilder, aber auch keine Verzerrung */
.npa-sym-row .npa-gallery-item img,
.npa-sym-row figure img,
.npa-sym-row .gallery-item img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Visuelle Höhensteuerung über Container, Bild bleibt unverzerrt */
.npa-sym-center .npa-gallery-item,
.npa-sym-center figure,
.npa-sym-center .gallery-item {
    min-height: 360px !important;
}

.npa-sym-stack .npa-gallery-item,
.npa-sym-stack figure,
.npa-sym-stack .gallery-item {
    min-height: 172px !important;
}

/* Im 3er-Rhythmus soll das Hochformat optisch größer sein */
.npa-sym-row-3 .npa-sym-center .npa-gallery-item,
.npa-sym-row-3 .npa-sym-center figure,
.npa-sym-row-3 .npa-sym-center .gallery-item {
    min-height: 380px !important;
}

/* Reihen spiegeln */
.npa-sym-row.npa-sym-reverse .npa-sym-center {
    order: 2;
}
.npa-sym-row.npa-sym-reverse .npa-sym-stack {
    order: 1;
}

/* Falls Theme/alte Layouts absolute Breiten setzen */
.npa-gallery.npa-symmetric-masonry [style*="width"] {
    width: auto !important;
}

@media (max-width: 900px) {
    .npa-sym-row.npa-sym-row-5 {
        grid-template-columns: minmax(220px, 0.9fr) minmax(260px, 1.1fr) !important;
    }
    .npa-sym-row.npa-sym-row-5 .npa-sym-right {
        display: none !important;
    }
}

@media (max-width: 640px) {
    .npa-sym-row,
    .npa-sym-row.npa-sym-row-3,
    .npa-sym-row.npa-sym-row-5,
    .npa-sym-row.npa-sym-row-3.npa-sym-reverse,
    .npa-sym-row.npa-sym-row-5.npa-sym-reverse {
        display: block !important;
    }

    .npa-sym-stack {
        display: block !important;
    }

    .npa-sym-row .npa-gallery-item,
    .npa-sym-row figure,
    .npa-sym-row .gallery-item {
        margin-bottom: var(--npa-gallery-gap, 16px) !important;
        min-height: 0 !important;
    }
}

/* Admin-Vorschau aus v8.3.7 beibehalten */
.npa-layout-preview.npa-layout-preview-symmetric_masonry {
    display: grid !important;
    grid-template-columns: 1fr 0.74fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 4px !important;
}
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(2) { grid-column: 1 !important; grid-row: 2 !important; }
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(3) { grid-column: 2 !important; grid-row: 1 / span 2 !important; }
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(4) { grid-column: 3 !important; grid-row: 1 !important; }
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(5) { grid-column: 3 !important; grid-row: 2 !important; }
.npa-layout-preview.npa-layout-preview-symmetric_masonry i:nth-child(n+6) { display: none !important; }


/* =========================================================
   Nordic Photoart Gallery v8.3.9
   REAL Frontend Fix: layout is inside .npa-items, items are .npa-item.
   Previous fixes styled the outer .npa-gallery / wrong item class.
   ========================================================= */
.npa-gallery.npa-layout-symmetric_masonry .npa-items,
.npa-gallery[data-layout="symmetric_masonry"] .npa-items,
.npa-items.npa-psm-built {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--npa-gap, 16px) !important;
    column-count: unset !important;
    columns: unset !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
}

.npa-psm-row {
    display: grid !important;
    width: 100% !important;
    gap: var(--npa-gap, 16px) !important;
    align-items: stretch !important;
    margin: 0 !important;
}

/* 2 Album-Spalten: großes Hochformat + zwei Querformate daneben */
.npa-psm-row.npa-psm-row-3 {
    grid-template-columns: minmax(220px, .86fr) minmax(260px, 1.14fr) !important;
}
.npa-psm-row.npa-psm-row-3.npa-psm-reverse {
    grid-template-columns: minmax(260px, 1.14fr) minmax(220px, .86fr) !important;
}

/* 3+ Album-Spalten: zwei Querformate links, Hochformat Mitte, zwei Querformate rechts */
.npa-psm-row.npa-psm-row-5 {
    grid-template-columns: minmax(0, 1fr) minmax(220px, .76fr) minmax(0, 1fr) !important;
}

.npa-psm-stack {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: var(--npa-gap, 16px) !important;
    min-width: 0 !important;
}
.npa-psm-center { min-width: 0 !important; }

.npa-psm-row .npa-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    break-inside: avoid !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.npa-psm-row .npa-caption {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Die Kachel bekommt das Format, das Bild bleibt unverzerrt. */
.npa-psm-center .npa-media-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 4 !important;
    position: relative !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
.npa-psm-stack .npa-media-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    position: relative !important;
    overflow: hidden !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.npa-psm-row .npa-media-wrap > img.npa-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.npa-psm-row .npa-media-wrap > img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    z-index: 3 !important;
}
.npa-psm-row .npa-watermark,
.npa-psm-row .npa-watermark-img,
.npa-psm-row .npa-video-badge { z-index: 4 !important; }

/* Spiegelung: jedes zweite 3er-Paket wechselt die Seite */
.npa-psm-row-3.npa-psm-reverse .npa-psm-stack { order: 1 !important; }
.npa-psm-row-3.npa-psm-reverse .npa-psm-center { order: 2 !important; }

@media (max-width: 900px) {
    .npa-psm-row.npa-psm-row-5 {
        grid-template-columns: minmax(220px, .86fr) minmax(260px, 1.14fr) !important;
    }
    .npa-psm-row.npa-psm-row-5 .npa-psm-right { display: none !important; }
}
@media (max-width: 640px) {
    .npa-psm-row,
    .npa-psm-row.npa-psm-row-3,
    .npa-psm-row.npa-psm-row-5,
    .npa-psm-row.npa-psm-row-3.npa-psm-reverse {
        display: block !important;
    }
    .npa-psm-stack { display: block !important; }
    .npa-psm-row .npa-item { margin-bottom: var(--npa-gap, 16px) !important; }
    .npa-psm-row .npa-media-wrap {
        aspect-ratio: auto !important;
        height: auto !important;
    }
    .npa-psm-row .npa-media-wrap > img.npa-img {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.3.10
   Symmetric Masonry Ratio Tuning
   Feinschliff:
   - Hochformat größer/höher
   - Querformat-Stapel etwas schmaler und ruhiger
   - Höhe Hochformat ≈ Höhe von zwei Querformaten
   ========================================================= */

.npa-gallery.npa-symmetric-masonry,
.npa-symmetric-masonry {
    --npa-sym-gap: var(--npa-gallery-gap, 16px);
    --npa-sym-portrait-width: 360px;
    --npa-sym-landscape-width: 430px;
}

/* 2er-/Portrait-Rhythmus: Hochformat und Querformat-Stapel harmonischer */
.npa-sym-row.npa-sym-row-3 {
    grid-template-columns:
        minmax(300px, var(--npa-sym-portrait-width))
        minmax(320px, var(--npa-sym-landscape-width)) !important;
    justify-content: center !important;
    align-items: stretch !important;
}

.npa-sym-row.npa-sym-row-3.npa-sym-reverse {
    grid-template-columns:
        minmax(320px, var(--npa-sym-landscape-width))
        minmax(300px, var(--npa-sym-portrait-width)) !important;
}

/* 3+ Spalten / volle Petersburger-Hängung */
.npa-sym-row.npa-sym-row-5 {
    grid-template-columns:
        minmax(260px, 0.92fr)
        minmax(300px, 0.78fr)
        minmax(260px, 0.92fr) !important;
}

/* Hochformat optisch auf die Höhe von 2 Querformaten bringen */
.npa-sym-row-3 .npa-sym-center .npa-gallery-item,
.npa-sym-row-3 .npa-sym-center figure,
.npa-sym-row-3 .npa-sym-center .gallery-item {
    height: calc((var(--npa-sym-landscape-width) * 0.56 * 2) + var(--npa-sym-gap)) !important;
    min-height: 430px !important;
}

.npa-sym-row-3 .npa-sym-stack .npa-gallery-item,
.npa-sym-row-3 .npa-sym-stack figure,
.npa-sym-row-3 .npa-sym-stack .gallery-item {
    height: calc(var(--npa-sym-landscape-width) * 0.56) !important;
    min-height: 205px !important;
}

/* Bilder bleiben proportional, aber füllen die Kachel sauberer */
.npa-sym-row .npa-gallery-item img,
.npa-sym-row figure img,
.npa-sym-row .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Hochformat weniger breit, aber höher/präsenter */
.npa-sym-center .npa-gallery-item img,
.npa-sym-center figure img,
.npa-sym-center .gallery-item img {
    object-position: center center !important;
}

/* Querformate etwas kompakter, weniger Header-Wirkung */
.npa-sym-stack .npa-gallery-item img,
.npa-sym-stack figure img,
.npa-sym-stack .gallery-item img {
    object-position: center center !important;
}

/* Bei sehr breitem Content leicht skalieren */
@media (min-width: 1280px) {
    .npa-gallery.npa-symmetric-masonry,
    .npa-symmetric-masonry {
        --npa-sym-portrait-width: 380px;
        --npa-sym-landscape-width: 450px;
    }
}

/* Bei engeren Themes nicht sprengen */
@media (max-width: 980px) {
    .npa-gallery.npa-symmetric-masonry,
    .npa-symmetric-masonry {
        --npa-sym-portrait-width: 320px;
        --npa-sym-landscape-width: 380px;
    }

    .npa-sym-row.npa-sym-row-3,
    .npa-sym-row.npa-sym-row-3.npa-sym-reverse {
        grid-template-columns: minmax(260px, 0.92fr) minmax(300px, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .npa-sym-row-3 .npa-sym-center .npa-gallery-item,
    .npa-sym-row-3 .npa-sym-center figure,
    .npa-sym-row-3 .npa-sym-center .gallery-item,
    .npa-sym-row-3 .npa-sym-stack .npa-gallery-item,
    .npa-sym-row-3 .npa-sym-stack figure,
    .npa-sym-row-3 .npa-sym-stack .gallery-item {
        height: auto !important;
        min-height: 0 !important;
    }

    .npa-sym-row .npa-gallery-item img,
    .npa-sym-row figure img,
    .npa-sym-row .gallery-item img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic-Photoart Gallery v8.4.0
   Eigenes Template: Symmetric Masonry / Petersburger Hängung
   Kein CSS-/JS-Masonry-Fake mehr.
   ========================================================= */
.npa-layout-symmetric_masonry .npa-items {
    display: block !important;
    column-count: initial !important;
    columns: initial !important;
}

.npa-layout-symmetric_masonry .npa-psm-template {
    --npa-psm-gap: var(--npa-gap, 16px);
    --npa-psm-portrait-w: min(390px, 44vw);
    --npa-psm-landscape-w: min(390px, 44vw);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--npa-psm-gap) * 1.45);
}

.npa-layout-symmetric_masonry .npa-psm-template-row {
    display: grid !important;
    gap: var(--npa-psm-gap) !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100%;
    max-width: calc(var(--npa-psm-portrait-w) + var(--npa-psm-landscape-w) + var(--npa-psm-gap));
}

.npa-layout-symmetric_masonry .npa-psm-template-row-3 {
    grid-template-columns: var(--npa-psm-portrait-w) var(--npa-psm-landscape-w) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-row-5 {
    max-width: calc((var(--npa-psm-landscape-w) * 2) + var(--npa-psm-portrait-w) + (var(--npa-psm-gap) * 2));
    grid-template-columns: var(--npa-psm-landscape-w) var(--npa-psm-portrait-w) var(--npa-psm-landscape-w) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-stack {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: var(--npa-psm-gap) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-row .npa-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    background: transparent !important;
}

/* Verhältnis: Hochformat genau so hoch wie zwei kompaktere Querformate plus Abstand */
.npa-layout-symmetric_masonry .npa-psm-template-center .npa-item {
    height: calc((var(--npa-psm-landscape-w) * 0.66 * 2) + var(--npa-psm-gap)) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-stack .npa-item {
    height: calc(var(--npa-psm-landscape-w) * 0.66) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template .npa-media-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background-size: cover !important;
    background-position: center center !important;
}

.npa-layout-symmetric_masonry .npa-psm-template .npa-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.npa-layout-symmetric_masonry .npa-psm-template .npa-caption {
    display: none !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 {
    grid-template-columns: var(--npa-psm-landscape-w) var(--npa-psm-portrait-w) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 .npa-psm-template-side { order: 1; }
.npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 .npa-psm-template-center { order: 2; }

@media (min-width: 1280px) {
    .npa-layout-symmetric_masonry .npa-psm-template {
        --npa-psm-portrait-w: 410px;
        --npa-psm-landscape-w: 410px;
    }
}

@media (max-width: 980px) {
    .npa-layout-symmetric_masonry .npa-psm-template {
        --npa-psm-portrait-w: min(330px, 46vw);
        --npa-psm-landscape-w: min(330px, 46vw);
    }
}

@media (max-width: 680px) {
    .npa-layout-symmetric_masonry .npa-psm-template,
    .npa-layout-symmetric_masonry .npa-psm-template-row,
    .npa-layout-symmetric_masonry .npa-psm-template-row-3,
    .npa-layout-symmetric_masonry .npa-psm-template-row-5,
    .npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 {
        display: block !important;
        max-width: none !important;
    }

    .npa-layout-symmetric_masonry .npa-psm-template-stack {
        display: block !important;
    }

    .npa-layout-symmetric_masonry .npa-psm-template-row .npa-item,
    .npa-layout-symmetric_masonry .npa-psm-template-center .npa-item,
    .npa-layout-symmetric_masonry .npa-psm-template-stack .npa-item {
        height: auto !important;
        margin-bottom: var(--npa-psm-gap) !important;
    }

    .npa-layout-symmetric_masonry .npa-psm-template .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* Nordic Photoart Gallery v8.5.3 Frontend Engine */
.npa-load-more{position:relative;min-width:150px;transition:opacity .18s ease,transform .18s ease,background .18s ease}
.npa-load-more:hover{transform:translateY(-1px)}
.npa-load-more.is-loading{padding-left:42px;opacity:.82}
.npa-load-more.is-loading:before{content:"";position:absolute;left:17px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:npaSpin .75s linear infinite}
.npa-gallery.is-filtering .npa-items,.npa-gallery.is-loading-more .npa-items{transition:opacity .18s ease}
.npa-gallery.is-filtering .npa-items{opacity:.55}
.npa-ajax-fade{opacity:0;transform:translateY(10px);transition:opacity .36s ease,transform .36s ease}
.npa-ajax-fade.is-visible{opacity:1;transform:translateY(0)}
@keyframes npaSpin{to{transform:rotate(360deg)}}


/* =========================================================
   Nordic-Photoart Gallery v8.5.4
   Cinematic Width REAL FIX für Symmetric Masonry
   Ziel:
   - Galerie nicht mehr als schmaler Mittelblock
   - linke Kante bündig im verfügbaren Contentbereich
   - mehr Breite wie unter dem Titel
   - Hochformat + Querformat-Stapel bleiben harmonisch
   ========================================================= */

.npa-layout-symmetric_masonry .npa-items {
    width: 100% !important;
    max-width: none !important;
}

.npa-layout-symmetric_masonry .npa-psm-template {
    --npa-psm-gap: var(--npa-gap, 16px);
    --npa-psm-row-h: clamp(500px, 46vw, 680px);

    width: 100% !important;
    max-width: min(1400px, 100%) !important;
    margin-left: 0 !important;
    margin-right: auto !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;
}

/* Grundreihe: volle verfügbare Breite statt schmaler zentrierter Block */
.npa-layout-symmetric_masonry .npa-psm-template-row {
    width: 100% !important;
    max-width: min(1280px, 100%) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    justify-content: stretch !important;
    align-items: stretch !important;
}

/* 2-Spalten/Petersburger kompakt:
   Hochformat bekommt mehr Präsenz, Querformat-Stapel wird breiter nutzbar,
   aber nicht mehr als kleiner Mittelblock zentriert. */
.npa-layout-symmetric_masonry .npa-psm-template-row-3 {
    grid-template-columns: minmax(340px, 0.96fr) minmax(390px, 1.04fr) !important;
}

/* Gespiegelte Reihe behält die Breitenlogik */
.npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 {
    grid-template-columns: minmax(390px, 1.04fr) minmax(340px, 0.96fr) !important;
}

/* Volle 3er-Hängung */
.npa-layout-symmetric_masonry .npa-psm-template-row-5 {
    max-width: min(1400px, 100%) !important;
    grid-template-columns: minmax(300px, 1fr) minmax(320px, 0.82fr) minmax(300px, 1fr) !important;
}

/* Höhe sauber steuern, unabhängig von alten festen Breitenvariablen */
.npa-layout-symmetric_masonry .npa-psm-template-center .npa-item {
    height: var(--npa-psm-row-h) !important;
}

.npa-layout-symmetric_masonry .npa-psm-template-stack .npa-item {
    height: calc((var(--npa-psm-row-h) - var(--npa-psm-gap)) / 2) !important;
}

/* Bilder bleiben hochwertig gefüllt */
.npa-layout-symmetric_masonry .npa-psm-template .npa-media-wrap,
.npa-layout-symmetric_masonry .npa-psm-template .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-layout-symmetric_masonry .npa-psm-template .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* Bei sehr breiten Themes noch etwas großzügiger */
@media (min-width: 1500px) {
    .npa-layout-symmetric_masonry .npa-psm-template {
        --npa-psm-row-h: 700px;
    }

    .npa-layout-symmetric_masonry .npa-psm-template-row {
        max-width: min(1460px, 100%) !important;
    }
}

/* Tablet: weiterhin sauber, aber nicht sprengen */
@media (max-width: 980px) {
    .npa-layout-symmetric_masonry .npa-psm-template {
        --npa-psm-row-h: clamp(420px, 58vw, 560px);
    }

    .npa-layout-symmetric_masonry .npa-psm-template-row-3,
    .npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 {
        grid-template-columns: minmax(260px, 0.95fr) minmax(300px, 1.05fr) !important;
    }
}

/* Mobil bleibt einspaltig */
@media (max-width: 680px) {
    .npa-layout-symmetric_masonry .npa-psm-template,
    .npa-layout-symmetric_masonry .npa-psm-template-row,
    .npa-layout-symmetric_masonry .npa-psm-template-row-3,
    .npa-layout-symmetric_masonry .npa-psm-template-row-5,
    .npa-layout-symmetric_masonry .npa-psm-template-row.is-mirrored.npa-psm-template-row-3 {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
    }

    .npa-layout-symmetric_masonry .npa-psm-template-center .npa-item,
    .npa-layout-symmetric_masonry .npa-psm-template-stack .npa-item {
        height: auto !important;
    }

    .npa-layout-symmetric_masonry .npa-psm-template .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic-Photoart Gallery v8.5.6
   Nur Symmetric Masonry: automatische Komposition + Restreihe
   ========================================================= */
.npa-psm-template .npa-psm-template-row-rest{
    display:block!important;
}
.npa-psm-template .npa-psm-template-rest{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
    gap:var(--npa-gap,16px)!important;
    width:100%!important;
}
.npa-psm-template .npa-psm-template-rest .npa-item{
    height:auto!important;
    min-height:0!important;
}
.npa-psm-template .npa-psm-template-rest .npa-media-wrap,
.npa-psm-template .npa-psm-template-rest .npa-img{
    height:auto!important;
    width:100%!important;
    object-fit:contain!important;
}


/* =========================================================
   Nordic Photoart Gallery v8.5.7
   Symmetric Masonry Height Tuning
   - beide Kachelhöhen erhöht
   - weniger harter Beschnitt
   - Gaps wirken als Höhenpuffer
   ========================================================= */

.npa-psm-auto-composition {
    --npa-psm-gap: 18px;
    --npa-psm-portrait-height: clamp(760px, 78vw, 980px);
    --npa-psm-landscape-height: calc(
        (var(--npa-psm-portrait-height) - var(--npa-psm-gap)) / 2
    );
}

/* Hochformat größer/höher */
.npa-psm-auto-composition .npa-psm-template-center .npa-item,
.npa-psm-auto-composition .npa-psm-template-center .npa-gallery-item {
    height: var(--npa-psm-portrait-height) !important;
    min-height: 760px !important;
}

/* Querformat-Stapel ebenfalls höher */
.npa-psm-auto-composition .npa-psm-template-stack .npa-item,
.npa-psm-auto-composition .npa-psm-template-stack .npa-gallery-item {
    height: var(--npa-psm-landscape-height) !important;
    min-height: 370px !important;
}

/* Bildfüllung etwas sanfter */
.npa-psm-auto-composition .npa-img,
.npa-psm-auto-composition img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* Reihenabstände als optischer Puffer */
.npa-psm-auto-composition .npa-psm-template-row {
    margin-bottom: 22px !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .npa-psm-auto-composition {
        --npa-psm-portrait-height: clamp(620px, 72vw, 820px);
    }
}

/* Mobil */
@media (max-width: 680px) {
    .npa-psm-auto-composition .npa-psm-template-center .npa-item,
    .npa-psm-auto-composition .npa-psm-template-center .npa-gallery-item,
    .npa-psm-auto-composition .npa-psm-template-stack .npa-item,
    .npa-psm-auto-composition .npa-psm-template-stack .npa-gallery-item {
        height: auto !important;
        min-height: 0 !important;
    }

    .npa-psm-auto-composition .npa-img,
    .npa-psm-auto-composition img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.5.8
   Symmetric Masonry More Height Tuning
   Noch mehr Bildhöhe für weniger Beschnitt.
   Nur für .npa-psm-auto-composition.
   ========================================================= */

.npa-psm-auto-composition {
    --npa-psm-gap: 20px;
    --npa-psm-portrait-height: clamp(880px, 86vw, 1160px);
    --npa-psm-landscape-height: calc(
        (var(--npa-psm-portrait-height) - var(--npa-psm-gap)) / 2
    );
}

.npa-psm-auto-composition .npa-psm-template-center .npa-item,
.npa-psm-auto-composition .npa-psm-template-center .npa-gallery-item {
    height: var(--npa-psm-portrait-height) !important;
    min-height: 880px !important;
}

.npa-psm-auto-composition .npa-psm-template-stack .npa-item,
.npa-psm-auto-composition .npa-psm-template-stack .npa-gallery-item {
    height: var(--npa-psm-landscape-height) !important;
    min-height: 430px !important;
}

.npa-psm-auto-composition .npa-psm-template-row {
    margin-bottom: 26px !important;
}

/* Beschnitt etwas freundlicher: Kopf-/Gesichtsbereich bleibt eher sichtbar */
.npa-psm-auto-composition .npa-psm-template-center .npa-img,
.npa-psm-auto-composition .npa-psm-template-center img {
    object-position: center center !important;
}

.npa-psm-auto-composition .npa-psm-template-stack .npa-img,
.npa-psm-auto-composition .npa-psm-template-stack img {
    object-position: center center !important;
}

/* Größere Darstellung auf breiten Seiten */
@media (min-width: 1500px) {
    .npa-psm-auto-composition {
        --npa-psm-portrait-height: 1220px;
    }
}

/* Tablet bleibt kontrolliert */
@media (max-width: 1100px) {
    .npa-psm-auto-composition {
        --npa-psm-portrait-height: clamp(720px, 80vw, 940px);
    }

    .npa-psm-auto-composition .npa-psm-template-center .npa-item,
    .npa-psm-auto-composition .npa-psm-template-center .npa-gallery-item {
        min-height: 720px !important;
    }

    .npa-psm-auto-composition .npa-psm-template-stack .npa-item,
    .npa-psm-auto-composition .npa-psm-template-stack .npa-gallery-item {
        min-height: 350px !important;
    }
}

/* Mobil unverändert natürlich */
@media (max-width: 680px) {
    .npa-psm-auto-composition .npa-psm-template-center .npa-item,
    .npa-psm-auto-composition .npa-psm-template-center .npa-gallery-item,
    .npa-psm-auto-composition .npa-psm-template-stack .npa-item,
    .npa-psm-auto-composition .npa-psm-template-stack .npa-gallery-item {
        height: auto !important;
        min-height: 0 !important;
    }

    .npa-psm-auto-composition .npa-img,
    .npa-psm-auto-composition img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.5.9
   PNG-Wasserzeichen Fix für Symmetric Masonry
   Ursache:
   Ältere v8.5.7/8-Regeln zielten zu breit auf
   ".npa-psm-auto-composition img" und beeinflussten dadurch auch
   PNG-Wasserzeichen und Dummy-Overlay.
   ========================================================= */

/* Nur das eigentliche Galeriebild darf die Kachel füllen */
.npa-psm-auto-composition .npa-media-wrap > img.npa-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* PNG-Wasserzeichen wieder als eigenständiges Overlay behandeln */
.npa-psm-auto-composition .npa-media-wrap > img.npa-watermark-img,
.npa-layout-symmetric_masonry .npa-media-wrap > img.npa-watermark-img {
    position: absolute !important;
    z-index: 6 !important;
    width: auto !important;
    height: auto !important;
    max-width: 28% !important;
    max-height: 28% !important;
    object-fit: contain !important;
    pointer-events: none !important;
    opacity: 0.78 !important;
}

/* Overlay-GIF bleibt unsichtbarer Schutzlayer über dem Bild */
.npa-psm-auto-composition .npa-media-wrap > img.npa-dummy-overlay,
.npa-layout-symmetric_masonry .npa-media-wrap > img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 7 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
}

/* Text-Wasserzeichen bleibt weiterhin möglich */
.npa-psm-auto-composition .npa-watermark,
.npa-layout-symmetric_masonry .npa-watermark {
    position: absolute !important;
    z-index: 6 !important;
    pointer-events: none !important;
}

/* Positionen für PNG und Text */
.npa-wm-bottom-right .npa-watermark-img,
.npa-wm-bottom-right .npa-watermark {
    right: 14px !important;
    bottom: 14px !important;
}

.npa-wm-bottom-left .npa-watermark-img,
.npa-wm-bottom-left .npa-watermark {
    left: 14px !important;
    bottom: 14px !important;
}

.npa-wm-top-right .npa-watermark-img,
.npa-wm-top-right .npa-watermark {
    right: 14px !important;
    top: 14px !important;
}

.npa-wm-top-left .npa-watermark-img,
.npa-wm-top-left .npa-watermark {
    left: 14px !important;
    top: 14px !important;
}

.npa-wm-center .npa-watermark-img,
.npa-wm-center .npa-watermark {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
}

/* Mobile: Wasserzeichen-PNG nicht durch mobile img-Regeln auf volle Breite ziehen */
@media (max-width: 680px) {
    .npa-psm-auto-composition .npa-media-wrap > img.npa-watermark-img,
    .npa-layout-symmetric_masonry .npa-media-wrap > img.npa-watermark-img {
        width: auto !important;
        height: auto !important;
        max-width: 32% !important;
        max-height: 32% !important;
    }

    .npa-psm-auto-composition .npa-media-wrap > img.npa-dummy-overlay,
    .npa-layout-symmetric_masonry .npa-media-wrap > img.npa-dummy-overlay {
        width: 100% !important;
        height: 100% !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.6.0
   Watermark UI Fix
   ========================================================= */

.npa-watermark-ui label {
    color:#222;
}

.npa-watermark-ui input[readonly] {
    cursor:not-allowed;
}


/* =========================================================
   Nordic Photoart Gallery v8.6.1
   PNG-Wasserzeichen Größe REAL
   BILD-ID = welches PNG
   Größe = sichtbare Ausgabegröße in px
   ========================================================= */

.npa-gallery,
.npa-media-wrap {
    --npa-watermark-size: 220px;
}

.npa-watermark-img,
.npa-media-wrap > img.npa-watermark-img,
.npa-layout-symmetric_masonry .npa-media-wrap > img.npa-watermark-img,
.npa-psm-auto-composition .npa-media-wrap > img.npa-watermark-img {
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
}

/* Bei sehr kleinen Vorschaubildern nicht zu dominant werden */
@media (max-width: 680px) {
    .npa-watermark-img,
    .npa-media-wrap > img.npa-watermark-img,
    .npa-layout-symmetric_masonry .npa-media-wrap > img.npa-watermark-img,
    .npa-psm-auto-composition .npa-media-wrap > img.npa-watermark-img {
        width: min(var(--npa-watermark-size, 220px), 32vw) !important;
        max-width: 38% !important;
        max-height: 38% !important;
    }
}


/* v8.6.4 PNG-Wasserzeichen-Größe */
.npa-watermark-img,
.npa-media-wrap > img.npa-watermark-img {
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
}


/* =========================================================
   Nordic Photoart Gallery v8.6.5
   PNG-Wasserzeichen Ausgabegröße - harter Ausgabe-Fix
   ========================================================= */

/* CSS-Variable auf möglichst vielen Galerie-Ebenen verfügbar machen */
.npa-gallery,
.npa-gallery *,
.npa-media-wrap,
.npa-watermark-layer,
.npa-watermark-wrap {
    --npa-watermark-size: inherit;
}

/* Alle bekannten/typischen PNG-Wasserzeichenbilder */
img.npa-watermark-img,
img.npa-watermark-image,
img.npa-png-watermark,
.npa-watermark-img,
.npa-watermark-image,
.npa-png-watermark,
.npa-watermark-layer img,
.npa-watermark-wrap img,
.npa-media-wrap > img.npa-watermark-img,
.npa-media-wrap > img.npa-watermark-image,
.npa-media-wrap > img.npa-png-watermark {
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
}

/* Falls das Wasserzeichen als Background gerendert wird */
.npa-watermark-layer,
.npa-watermark-wrap {
    background-size: var(--npa-watermark-size, 220px) auto !important;
    background-repeat: no-repeat !important;
}


/* =========================================================
   Nordic Photoart Gallery v8.7.0
   Symmetric Masonry Ratio Engine + Portrait Overflow Rows
   Nur für Symmetric/Petersburger Masonry.
   ========================================================= */

.npa-psm-template-row-portrait_pair,
.npa-psm-template-row-landscape_pair {
    width: 100% !important;
    max-width: min(1400px, 100%) !important;
}

.npa-psm-template-pair {
    display: grid !important;
    gap: var(--npa-psm-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
}

.npa-psm-template-pair-portrait {
    grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
}

.npa-psm-template-pair-landscape {
    grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
}

.npa-psm-template-pair-portrait .npa-item,
.npa-psm-template-pair-portrait .npa-gallery-item {
    height: clamp(760px, 72vw, 1040px) !important;
}

.npa-psm-template-pair-landscape .npa-item,
.npa-psm-template-pair-landscape .npa-gallery-item {
    height: clamp(360px, 34vw, 520px) !important;
}

.npa-psm-template-pair .npa-media-wrap,
.npa-psm-template-pair .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-pair .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 680px) {
    .npa-psm-template-pair,
    .npa-psm-template-pair-portrait,
    .npa-psm-template-pair-landscape {
        display: block !important;
    }

    .npa-psm-template-pair-portrait .npa-item,
    .npa-psm-template-pair-portrait .npa-gallery-item,
    .npa-psm-template-pair-landscape .npa-item,
    .npa-psm-template-pair-landscape .npa-gallery-item {
        height: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-pair .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.7.1
   Symmetric Masonry Full Composition + Clean Overflow Walls
   Nur für Symmetric/Petersburger Masonry.
   ========================================================= */

.npa-psm-template-row-portrait_wall,
.npa-psm-template-row-landscape_wall {
    width: 100% !important;
    max-width: min(1400px, 100%) !important;
}

.npa-psm-template-wall {
    display: grid !important;
    gap: var(--npa-psm-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
}

/* Hochformat-Überhang: klare Portrait-Wand */
.npa-psm-template-wall-portrait {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

.npa-psm-template-wall-portrait .npa-item,
.npa-psm-template-wall-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1080px) !important;
}

/* Querformat-Überhang: klare Landscape-Wand */
.npa-psm-template-wall-landscape {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
}

.npa-psm-template-wall-landscape .npa-item,
.npa-psm-template-wall-landscape .npa-gallery-item {
    height: clamp(320px, 32vw, 520px) !important;
}

.npa-psm-template-wall .npa-media-wrap,
.npa-psm-template-wall .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-wall .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* Alte portrait_pair/landscape_pair optisch entschärfen, falls noch vorhanden */
.npa-psm-template-pair-portrait {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
}

@media (max-width: 680px) {
    .npa-psm-template-wall,
    .npa-psm-template-wall-portrait,
    .npa-psm-template-wall-landscape {
        display: block !important;
    }

    .npa-psm-template-wall-portrait .npa-item,
    .npa-psm-template-wall-portrait .npa-gallery-item,
    .npa-psm-template-wall-landscape .npa-item,
    .npa-psm-template-wall-landscape .npa-gallery-item {
        height: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-wall .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* v8.7.4 Symmetric Masonry lädt vollständig; kein Mehr-laden dort */
.npa-layout-symmetric_masonry .npa-load-more,
.npa-gallery[data-layout="symmetric_masonry"] .npa-load-more {
    display: none !important;
}


/* =========================================================
   Nordic Photoart Gallery v8.7.5
   Balanced Symmetric Composition
   Hochformat-Paare wirken als bewusste ruhige Reihen zwischen Petersburger-Kolonnen.
   ========================================================= */

.npa-psm-template-row-portrait_pair {
    width: 100% !important;
    max-width: min(1400px, 100%) !important;
}

.npa-psm-template-pair-portrait {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
    gap: var(--npa-psm-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
}

.npa-psm-template-pair-portrait .npa-item,
.npa-psm-template-pair-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1060px) !important;
}

.npa-psm-template-pair-portrait .npa-media-wrap,
.npa-psm-template-pair-portrait .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-pair-portrait .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* Einzelnes Hochformat am Ende nicht als riesige Vollbreite ziehen */
.npa-psm-template-pair-portrait .npa-item:only-child,
.npa-psm-template-pair-portrait .npa-gallery-item:only-child {
    max-width: 48% !important;
}

@media (max-width: 680px) {
    .npa-psm-template-pair-portrait {
        display: block !important;
    }

    .npa-psm-template-pair-portrait .npa-item,
    .npa-psm-template-pair-portrait .npa-gallery-item,
    .npa-psm-template-pair-portrait .npa-item:only-child,
    .npa-psm-template-pair-portrait .npa-gallery-item:only-child {
        max-width: none !important;
        height: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-pair-portrait .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.7.9
   Stable Symmetric Groups
   Portrait-Reste werden am Ende als echte Hochformat-Wand ausgegeben.
   ========================================================= */

.npa-psm-template-row-portrait_wall .npa-psm-template-wall-portrait,
.npa-psm-template-wall-portrait {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 440px)) !important;
    justify-content: start !important;
    gap: var(--npa-psm-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
}

.npa-psm-template-wall-portrait .npa-item,
.npa-psm-template-wall-portrait .npa-gallery-item {
    width: 100% !important;
    max-width: 440px !important;
    height: clamp(740px, 68vw, 1020px) !important;
}

.npa-psm-template-wall-landscape {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
    gap: var(--npa-psm-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
}

.npa-psm-template-wall-landscape .npa-item,
.npa-psm-template-wall-landscape .npa-gallery-item {
    height: clamp(430px, 38vw, 620px) !important;
}

.npa-psm-template-wall-portrait .npa-media-wrap,
.npa-psm-template-wall-portrait .npa-img,
.npa-psm-template-wall-landscape .npa-media-wrap,
.npa-psm-template-wall-landscape .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-wall-portrait .npa-img,
.npa-psm-template-wall-landscape .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 680px) {
    .npa-psm-template-wall-portrait,
    .npa-psm-template-wall-landscape {
        display: block !important;
    }

    .npa-psm-template-wall-portrait .npa-item,
    .npa-psm-template-wall-portrait .npa-gallery-item,
    .npa-psm-template-wall-landscape .npa-item,
    .npa-psm-template-wall-landscape .npa-gallery-item {
        height: auto !important;
        max-width: none !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-wall-portrait .npa-img,
    .npa-psm-template-wall-landscape .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v8.9.0
   Portrait Flow Engine
   ========================================================= */

/* Ruhiger Übergang von Petersburg zu Portrait-Wall */
.npa-psm-template-flow-portrait {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 440px)) !important;
    justify-content: center !important;
    gap: clamp(18px, 2vw, 28px) !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: clamp(40px, 5vw, 80px) auto 0 auto !important;
}

.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1080px) !important;
    max-width: 440px !important;
}

/* Einzelnes Portrait zentriert */
.npa-psm-template-single-portrait {
    display: grid !important;
    grid-template-columns: minmax(280px, 440px) !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: clamp(40px, 5vw, 80px) !important;
}

.npa-psm-template-single-portrait .npa-item,
.npa-psm-template-single-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1080px) !important;
    max-width: 440px !important;
}

/* Landscape Abschluss */
.npa-psm-template-single-landscape {
    display: grid !important;
    grid-template-columns: minmax(480px, 960px) !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: clamp(30px, 4vw, 60px) !important;
}

.npa-psm-template-single-landscape .npa-item,
.npa-psm-template-single-landscape .npa-gallery-item {
    height: clamp(430px, 38vw, 620px) !important;
}

/* Square wall */
.npa-psm-template-wall-square {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 340px)) !important;
    justify-content: center !important;
    gap: clamp(18px, 2vw, 28px) !important;
    width: 100% !important;
    margin-top: clamp(30px, 4vw, 60px) !important;
}

.npa-psm-template-wall-square .npa-item,
.npa-psm-template-wall-square .npa-gallery-item {
    aspect-ratio: 1 / 1 !important;
}

/* Medien */
.npa-psm-template-flow-portrait .npa-media-wrap,
.npa-psm-template-flow-portrait .npa-img,
.npa-psm-template-single-portrait .npa-media-wrap,
.npa-psm-template-single-portrait .npa-img,
.npa-psm-template-single-landscape .npa-media-wrap,
.npa-psm-template-single-landscape .npa-img,
.npa-psm-template-wall-square .npa-media-wrap,
.npa-psm-template-wall-square .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-flow-portrait .npa-img,
.npa-psm-template-single-portrait .npa-img,
.npa-psm-template-single-landscape .npa-img,
.npa-psm-template-wall-square .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 760px) {
    .npa-psm-template-flow-portrait,
    .npa-psm-template-single-portrait,
    .npa-psm-template-single-landscape,
    .npa-psm-template-wall-square {
        display: block !important;
    }

    .npa-psm-template-flow-portrait .npa-item,
    .npa-psm-template-single-portrait .npa-item,
    .npa-psm-template-single-landscape .npa-item,
    .npa-psm-template-wall-square .npa-item,
    .npa-psm-template-flow-portrait .npa-gallery-item,
    .npa-psm-template-single-portrait .npa-gallery-item,
    .npa-psm-template-single-landscape .npa-gallery-item,
    .npa-psm-template-wall-square .npa-gallery-item {
        height: auto !important;
        max-width: none !important;
        aspect-ratio: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-flow-portrait .npa-img,
    .npa-psm-template-single-portrait .npa-img,
    .npa-psm-template-single-landscape .npa-img,
    .npa-psm-template-wall-square .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   v8.9.1 Portrait Pair Real Fix
   Hochformate wirklich nebeneinander erzwingen
   ========================================================= */

.npa-psm-template-flow-portrait {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: clamp(18px, 2vw, 28px) !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item {
    flex: 0 0 calc(50% - 14px) !important;
    width: calc(50% - 14px) !important;
    max-width: 440px !important;
    min-width: 280px !important;
    height: clamp(760px, 70vw, 1080px) !important;
}

.npa-psm-template-flow-portrait .npa-media-wrap,
.npa-psm-template-flow-portrait .npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-psm-template-flow-portrait .npa-img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* Niemals umbrechen solange genug Platz */
@media (min-width: 761px) {
    .npa-psm-template-flow-portrait {
        overflow: visible !important;
    }
}

/* Mobil wieder untereinander */
@media (max-width: 760px) {
    .npa-psm-template-flow-portrait {
        display: block !important;
    }

    .npa-psm-template-flow-portrait .npa-item,
    .npa-psm-template-flow-portrait .npa-gallery-item {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-psm-template-flow-portrait .npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   v8.9.2 Watermark Overlay Fix
   Wasserzeichen dürfen nicht zwischen Flex-Kolonnen landen
   ========================================================= */

/* Jede Kachel wieder eigener Positioning-Context */
.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item,
.npa-psm-template-single-portrait .npa-item,
.npa-psm-template-single-landscape .npa-item,
.npa-psm-template-pair-landscape .npa-item {
    position: relative !important;
    overflow: hidden !important;
}

/* PNG-Wasserzeichen immer innerhalb der Bildkachel */
.npa-watermark-image,
.npa-watermark-image img,
.npa-watermark-overlay-image {
    position: absolute !important;
    z-index: 50 !important;
    pointer-events: none !important;
}

/* Verhindert Herauslaufen zwischen Portrait-Paaren */
.npa-psm-template-flow-portrait .npa-watermark-image,
.npa-psm-template-flow-portrait .npa-watermark-overlay-image {
    max-width: 85% !important;
    max-height: 85% !important;
}

/* Sicherheit gegen Flex-Ausdehnung */
.npa-psm-template-flow-portrait > * {
    min-width: 0 !important;
}


/* =========================================================
   v8.9.3 Watermark Real Class Fix
   Echte Klasse: .npa-watermark-img
   Wasserzeichen bleibt absolut innerhalb .npa-media-wrap
   ========================================================= */

/* Bildkachel und Medienrahmen sind der feste Overlay-Kontext */
.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item,
.npa-psm-template-flow-portrait .npa-media-wrap,
.npa-psm-template .npa-item,
.npa-psm-template .npa-gallery-item,
.npa-psm-template .npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

/* Das eigentliche Foto */
.npa-psm-template .npa-media-wrap > img.npa-img {
    position: relative !important;
    z-index: 1 !important;
}

/* PNG-Wasserzeichen: nie Flex-/Grid-Element, immer Overlay */
.npa-psm-template .npa-media-wrap > img.npa-watermark-img,
.npa-psm-template-flow-portrait .npa-media-wrap > img.npa-watermark-img,
.npa-media-wrap > img.npa-watermark-img {
    position: absolute !important;
    z-index: 20 !important;
    right: 14px !important;
    bottom: 14px !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
    pointer-events: none !important;
    display: block !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

/* Transparentes Schutz-GIF bleibt über Bild und Wasserzeichen */
.npa-psm-template .npa-media-wrap > img.npa-dummy-overlay,
.npa-media-wrap > img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 30 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
}

/* Text-Wasserzeichen ebenso innerhalb der Kachel */
.npa-psm-template .npa-media-wrap > .npa-watermark,
.npa-media-wrap > .npa-watermark {
    position: absolute !important;
    z-index: 20 !important;
    right: 14px !important;
    bottom: 14px !important;
    pointer-events: none !important;
}

/* Falls alte breite IMG-Regeln auf alle Bilder zielten: Wasserzeichen explizit ausschließen */
.npa-psm-template-flow-portrait img.npa-watermark-img {
    height: auto !important;
    min-height: 0 !important;
}


/* =========================================================
   v8.9.4 Watermark DOM Fix CSS Safety
   ========================================================= */

.npa-psm-template-flow-portrait > img.npa-watermark-img,
.npa-psm-template > img.npa-watermark-img {
    position: absolute !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    z-index: 20 !important;
    pointer-events: none !important;
}

.npa-psm-template .npa-media-wrap,
.npa-psm-template-flow-portrait .npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-psm-template .npa-media-wrap img.npa-watermark-img,
.npa-psm-template-flow-portrait .npa-media-wrap img.npa-watermark-img {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 20 !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
    pointer-events: none !important;
}


/* =========================================================
   v8.9.5 Watermark Render Fix
   Wasserzeichen wird im Markup als absolute Overlay-Hülle ausgegeben.
   ========================================================= */

.npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-watermark-layer {
    position: absolute !important;
    z-index: 40 !important;
    right: 14px !important;
    bottom: 14px !important;
    display: block !important;
    width: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    pointer-events: none !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.npa-watermark-layer .npa-watermark-img,
.npa-media-wrap .npa-watermark-layer img.npa-watermark-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    pointer-events: none !important;
}

.npa-watermark-text-layer {
    width: auto !important;
    line-height: 1.2 !important;
}

.npa-watermark-text-layer .npa-watermark {
    position: static !important;
    display: block !important;
}

/* Alte, direkt ausgegebene Wasserzeichen falls Cache/Altmarkup noch existiert */
.npa-media-wrap > img.npa-watermark-img {
    position: absolute !important;
    z-index: 40 !important;
    right: 14px !important;
    bottom: 14px !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   v8.9.9 Watermark Visible + Container Cleanup
   Korrekte Overlay-Wasserzeichen bleiben sichtbar.
   Nur echte Wasserzeichen-only-Container werden entfernt.
   ========================================================= */

/* Echte Bildkachel: Wasserzeichen sichtbar als Overlay */
.npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-media-wrap .npa-watermark-layer {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    z-index: 40 !important;
    right: 14px !important;
    bottom: 14px !important;
    width: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    pointer-events: none !important;
    line-height: 0 !important;
}

.npa-media-wrap .npa-watermark-layer img.npa-watermark-img,
.npa-media-wrap img.npa-watermark-img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    pointer-events: none !important;
}

/* Nur Container löschen/verstecken, die als Wasserzeichen-only markiert wurden */
.npa-watermark-only {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}


/* =========================================================
   v8.9.11 Overlay Structural Fix
   Nur .npa-img darf Layoutfläche erzeugen.
   Wasserzeichen und Schutz-GIF werden Overlays.
   ========================================================= */

.npa-psm-template .npa-item,
.npa-psm-template .npa-gallery-item,
.npa-psm-template article,
.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item,
.npa-psm-template-flow-portrait article,
.npa-psm-template .npa-media-wrap,
.npa-psm-template-flow-portrait .npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-psm-template .npa-media-wrap > img.npa-img,
.npa-psm-template-flow-portrait .npa-media-wrap > img.npa-img {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.npa-psm-template .npa-media-wrap > img:not(.npa-img),
.npa-psm-template-flow-portrait .npa-media-wrap > img:not(.npa-img),
.npa-psm-template .npa-item > img:not(.npa-img),
.npa-psm-template-flow-portrait .npa-item > img:not(.npa-img),
.npa-psm-template article > img:not(.npa-img),
.npa-psm-template-flow-portrait article > img:not(.npa-img) {
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.npa-psm-template img.npa-watermark-img,
.npa-psm-template-flow-portrait img.npa-watermark-img,
.npa-psm-template .npa-watermark-layer,
.npa-psm-template-flow-portrait .npa-watermark-layer {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
    pointer-events: none !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.npa-psm-template img.npa-dummy-overlay,
.npa-psm-template-flow-portrait img.npa-dummy-overlay,
.npa-psm-template .npa-media-wrap > img[src*="transparent-overlay"],
.npa-psm-template-flow-portrait .npa-media-wrap > img[src*="transparent-overlay"] {
    position: absolute !important;
    inset: 0 !important;
    z-index: 40 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
}

.npa-psm-template .npa-watermark-layer img,
.npa-psm-template-flow-portrait .npa-watermark-layer img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}


/* =========================================================
   v8.9.15 Item Structure Fix
   Saubere Kachelstruktur: nur .npa-img nimmt Layoutfläche ein.
   ========================================================= */

.npa-item .npa-media-wrap,
.npa-gallery-item .npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-item .npa-media-wrap > img.npa-img,
.npa-gallery-item .npa-media-wrap > img.npa-img {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Wasserzeichen-Layer garantiert Overlay */
.npa-item .npa-media-wrap > .npa-watermark-layer,
.npa-gallery-item .npa-media-wrap > .npa-watermark-layer {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    width: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    line-height: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.npa-item .npa-media-wrap > .npa-watermark-layer img.npa-watermark-img,
.npa-gallery-item .npa-media-wrap > .npa-watermark-layer img.npa-watermark-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Schutz-GIF garantiert Overlay */
.npa-item .npa-media-wrap > img.npa-dummy-overlay,
.npa-gallery-item .npa-media-wrap > img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 40 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Notbremse: Falls irgendwo ein Wasserzeichen-IMG außerhalb media-wrap auftaucht */
.npa-psm-template > img.npa-watermark-img,
.npa-psm-template-flow-portrait > img.npa-watermark-img {
    display: none !important;
}


/* =========================================================
   v8.9.16 Watermark Background Overlay
   PNG-Wasserzeichen wird nicht mehr als img gerendert,
   sondern als background-image in .npa-watermark-bg.
   ========================================================= */

.npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.npa-media-wrap > img.npa-watermark-img {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: auto !important;
    max-width: 45% !important;
    max-height: 45% !important;
    object-fit: contain !important;
    pointer-events: none !important;
}

.npa-psm-template > img.npa-watermark-img,
.npa-psm-template-flow-portrait > img.npa-watermark-img,
.npa-items > img.npa-watermark-img {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   v8.9.17 Filter Rendered Watermark
   Server wandelt img.npa-watermark-img in span.npa-watermark-bg um.
   ========================================================= */

.npa-watermark-layer.npa-watermark-bg {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    width: var(--npa-watermark-size, 220px) !important;
    height: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 0 !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

/* Falls Background-Wasserzeichen außerhalb media-wrap landet: keine Layoutfläche */
.npa-psm-template > .npa-watermark-bg,
.npa-psm-template-flow-portrait > .npa-watermark-bg,
.npa-items > .npa-watermark-bg {
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
}


/* =========================================================
   v8.9.18 Symmetric Template Structure Fix
   portrait_pair hat jetzt einen echten Template-Zweig.
   Diese Regeln stabilisieren die Ausgabe.
   ========================================================= */

.npa-psm-template-row-portrait_pair,
.npa-psm-template-row-portrait_flow,
.npa-psm-template-row-portrait_single {
    width: 100% !important;
}

.npa-psm-template-pair-portrait,
.npa-psm-template-flow-portrait {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 440px)) !important;
    justify-content: center !important;
    gap: clamp(18px, 2vw, 28px) !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.npa-psm-template-pair-portrait .npa-item,
.npa-psm-template-pair-portrait .npa-gallery-item,
.npa-psm-template-flow-portrait .npa-item,
.npa-psm-template-flow-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1080px) !important;
    max-width: 440px !important;
}

.npa-psm-template-single-portrait {
    display: grid !important;
    grid-template-columns: minmax(280px, 440px) !important;
    justify-content: center !important;
    width: 100% !important;
}

.npa-psm-template-single-portrait .npa-item,
.npa-psm-template-single-portrait .npa-gallery-item {
    height: clamp(760px, 70vw, 1080px) !important;
    max-width: 440px !important;
}

@media (max-width: 760px) {
    .npa-psm-template-pair-portrait,
    .npa-psm-template-flow-portrait,
    .npa-psm-template-single-portrait {
        display: block !important;
    }

    .npa-psm-template-pair-portrait .npa-item,
    .npa-psm-template-pair-portrait .npa-gallery-item,
    .npa-psm-template-flow-portrait .npa-item,
    .npa-psm-template-flow-portrait .npa-gallery-item,
    .npa-psm-template-single-portrait .npa-item,
    .npa-psm-template-single-portrait .npa-gallery-item {
        height: auto !important;
        max-width: none !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v9.0
   Symmetric Portraits Dual Columns
   Zwei symmetrische Spalten für Portrait-Galerien.
   Querformate werden bewusst als 4:3-Kacheln dargestellt.
   ========================================================= */

.npa-spdc-template {
    --npa-spdc-gap: clamp(16px, 1.8vw, 28px);
    --npa-spdc-col: minmax(280px, 520px);
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--npa-spdc-gap) !important;
    width: 100% !important;
    max-width: min(1120px, 100%) !important;
    margin: 0 auto !important;
}

.npa-spdc-row {
    display: grid !important;
    grid-template-columns: var(--npa-spdc-col) var(--npa-spdc-col) !important;
    gap: var(--npa-spdc-gap) !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100% !important;
}

.npa-spdc-row.is-single {
    grid-template-columns: var(--npa-spdc-col) !important;
}

.npa-spdc-cell {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
}

.npa-spdc-cell > .npa-item,
.npa-spdc-cell > .npa-gallery-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}

.npa-spdc-cell-portrait > .npa-item,
.npa-spdc-cell-portrait > .npa-gallery-item {
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
    min-height: 620px !important;
}

.npa-spdc-cell-landscape > .npa-item,
.npa-spdc-cell-landscape > .npa-gallery-item {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    min-height: 360px !important;
}

.npa-spdc-cell-square > .npa-item,
.npa-spdc-cell-square > .npa-gallery-item {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 420px !important;
}

.npa-spdc-cell .npa-media-wrap,
.npa-spdc-cell img.npa-img {
    width: 100% !important;
    height: 100% !important;
}

.npa-spdc-cell img.npa-img {
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.npa-spdc-cell .npa-media-wrap {
    position: relative !important;
    overflow: hidden !important;
}

.npa-spdc-cell .npa-watermark-layer,
.npa-spdc-cell .npa-watermark-bg,
.npa-spdc-cell img.npa-watermark-img {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 30 !important;
    pointer-events: none !important;
}

.npa-spdc-cell .npa-watermark-bg {
    width: var(--npa-watermark-size, 220px) !important;
    height: var(--npa-watermark-size, 220px) !important;
    max-width: 45% !important;
    max-height: 45% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.npa-spdc-cell img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 40 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    opacity: 0 !important;
    object-fit: fill !important;
}

@media (max-width: 760px) {
    .npa-spdc-template,
    .npa-spdc-row,
    .npa-spdc-row.is-single {
        display: block !important;
        max-width: none !important;
    }

    .npa-spdc-cell {
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-spdc-cell-portrait > .npa-item,
    .npa-spdc-cell-portrait > .npa-gallery-item,
    .npa-spdc-cell-landscape > .npa-item,
    .npa-spdc-cell-landscape > .npa-gallery-item,
    .npa-spdc-cell-square > .npa-item,
    .npa-spdc-cell-square > .npa-gallery-item {
        aspect-ratio: auto !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .npa-spdc-cell img.npa-img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v9.0.2
   Portrait Dual Columns Tuning
   Keine Mischzeilen, höhere Querformate, Wasserzeichen weiter im Bild.
   ========================================================= */

.npa-spdc-row.left-portrait.right-portrait {
    grid-template-columns: minmax(280px, 520px) minmax(280px, 520px) !important;
}

.npa-spdc-row.left-landscape.right-landscape {
    grid-template-columns: minmax(320px, 520px) minmax(320px, 520px) !important;
}

/* Querformate bewusst höher: 5:4 statt 16:9 oder flach */
.npa-spdc-cell-landscape > .npa-item,
.npa-spdc-cell-landscape > .npa-gallery-item {
    aspect-ratio: 5 / 4 !important;
    min-height: 440px !important;
}

/* Portraits bleiben stark portraitbetont */
.npa-spdc-cell-portrait > .npa-item,
.npa-spdc-cell-portrait > .npa-gallery-item {
    aspect-ratio: 2 / 3 !important;
    min-height: 680px !important;
}

/* Wasserzeichen etwas weiter rein, damit es nicht an der Bildkante hängt */
.npa-spdc-cell .npa-watermark-layer,
.npa-spdc-cell .npa-watermark-bg,
.npa-spdc-cell img.npa-watermark-img,
.npa-media-wrap > .npa-watermark-layer.npa-watermark-bg,
.npa-media-wrap > img.npa-watermark-img {
    right: 24px !important;
    bottom: 24px !important;
}

/* Einzelrest zentriert und nicht vollbreit */
.npa-spdc-row.is-single {
    justify-content: center !important;
}

.npa-spdc-row.is-single .npa-spdc-cell {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* v9.0.3 Watermark Inside Image */
.npa-spdc-cell > .npa-item,
.npa-spdc-cell > .npa-gallery-item{position:relative!important;overflow:hidden!important}
.npa-spdc-cell .npa-media-wrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background-size:cover!important;background-position:center center!important}
.npa-spdc-cell img.npa-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important}
.npa-spdc-cell .npa-watermark-layer,.npa-spdc-cell .npa-watermark-bg,.npa-spdc-cell img.npa-watermark-img{right:24px!important;bottom:24px!important;z-index:30!important}
.npa-spdc-cell-landscape > .npa-item,
.npa-spdc-cell-landscape > .npa-gallery-item{aspect-ratio:5/4!important;min-height:440px!important}
@media(max-width:760px){.npa-spdc-cell .npa-media-wrap{position:relative!important;inset:auto!important;height:auto!important}.npa-spdc-cell img.npa-img{position:relative!important;inset:auto!important;height:auto!important;object-fit:contain!important}}


/* =========================================================
   Nordic Photoart Gallery v9.0.4
   Landscape Watermark Safezone
   Nur Querformat-Kacheln: Wasserzeichen höher und weiter innen.
   Hochformate bleiben unverändert.
   ========================================================= */

.npa-spdc-cell-landscape .npa-media-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.npa-spdc-cell-landscape .npa-watermark-layer,
.npa-spdc-cell-landscape .npa-watermark-bg,
.npa-spdc-cell-landscape img.npa-watermark-img,
.npa-spdc-cell-landscape .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg,
.npa-spdc-cell-landscape .npa-media-wrap > img.npa-watermark-img {
    right: 32px !important;
    bottom: clamp(54px, 8%, 82px) !important;
    z-index: 35 !important;
    pointer-events: none !important;
}

.npa-spdc-cell-landscape .npa-watermark-bg {
    width: clamp(120px, 20%, 180px) !important;
    height: clamp(120px, 20%, 180px) !important;
    max-width: 34% !important;
    max-height: 34% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.npa-spdc-cell-landscape img.npa-watermark-img {
    width: clamp(120px, 20%, 180px) !important;
    height: auto !important;
    max-width: 34% !important;
    max-height: 34% !important;
    object-fit: contain !important;
}


/* =========================================================
   Nordic Photoart Gallery v9.1.0
   Nordic Protected Masonry
   Echte Bildhöhen + Wasserzeichen + transparentes GIF.
   ========================================================= */

.npa-nordic-template {
    width: 100% !important;
    max-width: min(1280px, 100%) !important;
    margin: 0 auto !important;
}

.npa-nordic-grid {
    column-count: 2 !important;
    column-gap: var(--npa-gap, 20px) !important;
    width: 100% !important;
}

.npa-nordic-cell {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    display: block !important;
    margin: 0 0 var(--npa-gap, 20px) 0 !important;
    width: 100% !important;
}

.npa-nordic-cell > .npa-item,
.npa-nordic-cell > .npa-gallery-item {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    float: none !important;
    aspect-ratio: auto !important;
}

.npa-nordic-cell .npa-image-wrap,
.npa-nordic-cell .npa-media-wrap,
.npa-nordic-cell .npa-protected-image-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: none !important;
    line-height: 0 !important;
    clip-path: inset(0) !important;
    contain: paint !important;
}

.npa-nordic-cell img.npa-img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

.npa-nordic-cell .npa-watermark-layer,
.npa-nordic-cell .npa-watermark-bg,
.npa-nordic-cell img.npa-watermark-img {
    position: absolute !important;
    right: 22px !important;
    bottom: 22px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 30 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.npa-nordic-cell .npa-watermark-bg {
    width: var(--npa-watermark-size, 170px) !important;
    height: var(--npa-watermark-size, 170px) !important;
    max-width: 32% !important;
    max-height: 32% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.npa-nordic-cell img.npa-watermark-img {
    width: var(--npa-watermark-size, 170px) !important;
    height: auto !important;
    max-width: 32% !important;
    max-height: 32% !important;
    object-fit: contain !important;
}

.npa-nordic-cell img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 40 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.npa-nordic-cell .npa-video-badge {
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    z-index: 35 !important;
}

@media (max-width: 900px) {
    .npa-nordic-grid {
        column-count: 2 !important;
    }
}

@media (max-width: 680px) {
    .npa-nordic-grid {
        column-count: 1 !important;
    }

    .npa-nordic-cell .npa-watermark-layer,
    .npa-nordic-cell .npa-watermark-bg,
    .npa-nordic-cell img.npa-watermark-img {
        right: 14px !important;
        bottom: 14px !important;
    }

    .npa-nordic-cell .npa-watermark-bg,
    .npa-nordic-cell img.npa-watermark-img {
        width: 110px !important;
        height: 110px !important;
        max-width: 30% !important;
        max-height: 30% !important;
    }
}


/* =========================================================
   Nordic Photoart Gallery v9.1.1
   Nordic Protected Justified
   Justified Rows + Wasserzeichen + transparentes GIF.
   ========================================================= */

.npa-fj-template {
    width: 100% !important;
    max-width: min(1180px, 100%) !important;
    margin: 0 auto !important;
}

.npa-fj-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: var(--npa-fj-gap, var(--npa-gap, 20px)) !important;
    width: 100% !important;
    margin: 0 0 var(--npa-fj-gap, var(--npa-gap, 20px)) 0 !important;
}

.npa-fj-cell {
    flex: 1 1 var(--npa-fj-basis, 320px) !important;
    min-width: 0 !important;
    height: var(--npa-fj-row-height, 430px) !important;
    position: relative !important;
}

.npa-fj-row.is-last .npa-fj-cell {
    flex-grow: 0 !important;
}

/* Item darf keine eigenen Layout-Hacks erzwingen */
.npa-fj-cell > .npa-item,
.npa-fj-cell > .npa-gallery-item {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    float: none !important;
    aspect-ratio: auto !important;
}

/* Bildwrapper ist der echte Schutzcontainer */
.npa-fj-cell .npa-image-wrap,
.npa-fj-cell .npa-media-wrap,
.npa-fj-cell .npa-protected-image-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: none !important;
    line-height: 0 !important;
    clip-path: inset(0) !important;
    contain: paint !important;
}

/* Justified braucht cover, damit die Reihe sauber gefüllt wird */
.npa-fj-cell img.npa-img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

/* Wasserzeichen innerhalb des Bildcontainers */
.npa-fj-cell .npa-watermark-layer,
.npa-fj-cell .npa-watermark-bg,
.npa-fj-cell img.npa-watermark-img {
    position: absolute !important;
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: 30 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.npa-fj-cell .npa-watermark-bg {
    width: var(--npa-watermark-size, 150px) !important;
    height: var(--npa-watermark-size, 150px) !important;
    max-width: 30% !important;
    max-height: 30% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.npa-fj-cell img.npa-watermark-img {
    width: var(--npa-watermark-size, 150px) !important;
    height: auto !important;
    max-width: 30% !important;
    max-height: 30% !important;
    object-fit: contain !important;
}

/* Transparenter Kopierschutz oben drüber */
.npa-fj-cell img.npa-dummy-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 40 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: fill !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.npa-fj-cell .npa-video-badge {
    position: absolute !important;
    left: 14px !important;
    top: 14px !important;
    z-index: 35 !important;
}

@media (max-width: 760px) {
    .npa-fj-row {
        display: block !important;
        margin-bottom: 0 !important;
    }

    .npa-fj-cell {
        height: auto !important;
        margin-bottom: var(--npa-gap, 16px) !important;
    }

    .npa-fj-cell > .npa-item,
    .npa-fj-cell > .npa-gallery-item,
    .npa-fj-cell .npa-image-wrap,
    .npa-fj-cell .npa-media-wrap,
    .npa-fj-cell .npa-protected-image-wrap {
        height: auto !important;
    }

    .npa-fj-cell img.npa-img {
        height: auto !important;
        object-fit: contain !important;
    }

    .npa-fj-cell .npa-watermark-layer,
    .npa-fj-cell .npa-watermark-bg,
    .npa-fj-cell img.npa-watermark-img {
        right: 14px !important;
        bottom: 14px !important;
    }

    .npa-fj-cell .npa-watermark-bg,
    .npa-fj-cell img.npa-watermark-img {
        width: 110px !important;
        height: 110px !important;
        max-width: 30% !important;
        max-height: 30% !important;
    }
}

/* =========================================================
   NPA v10.9 column control consolidation
   Album-specific columns from Box 4 must win over older
   fixed layout presets for every gallery layout.
   ========================================================= */

.npa-gallery {
    --npa-effective-cols: var(--npa-cols-desktop, 4);
    --npa-effective-col-width: var(--npa-col-width-desktop, 25%);
}

.npa-gallery.npa-layout-grid .npa-items,
.npa-gallery.npa-layout-creative .npa-items,
.npa-gallery.npa-layout-metro .npa-items,
.npa-gallery.npa-layout-magazine .npa-items,
.npa-gallery.npa-layout-timeline .npa-items,
.npa-gallery.npa-layout-fullscreen .npa-items {
    display: grid !important;
    grid-template-columns: repeat(var(--npa-effective-cols), minmax(0, 1fr)) !important;
    grid-auto-flow: row dense !important;
    gap: var(--npa-gap, 18px) !important;
    column-count: initial !important;
}

.npa-gallery.npa-layout-creative .npa-item,
.npa-gallery.npa-layout-metro .npa-item,
.npa-gallery.npa-layout-magazine .npa-item,
.npa-gallery.npa-layout-timeline .npa-item,
.npa-gallery.npa-layout-fullscreen .npa-item,
.npa-gallery.npa-layout-fullscreen .npa-item:first-child {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.npa-gallery.npa-layout-timeline .npa-items {
    border-left: 0 !important;
    padding-left: 0 !important;
}

.npa-gallery.npa-layout-timeline .npa-item:before {
    display: none !important;
}

.npa-gallery.npa-layout-masonry .npa-items,
.npa-gallery.npa-layout-pinterest .npa-items,
.npa-gallery .npa-nordic-grid {
    display: block !important;
    column-count: var(--npa-effective-cols) !important;
    column-gap: var(--npa-gap, 18px) !important;
    grid-template-columns: none !important;
}

.npa-gallery.npa-layout-slider .npa-items,
.npa-gallery.npa-layout-carousel .npa-items,
.npa-gallery.npa-layout-filmstrip .npa-items,
.npa-gallery.npa-layout-polaroid .npa-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: var(--npa-gap, 18px) !important;
    grid-template-columns: none !important;
    column-count: initial !important;
}

.npa-gallery.npa-layout-slider .npa-item,
.npa-gallery.npa-layout-carousel .npa-item,
.npa-gallery.npa-layout-filmstrip .npa-item,
.npa-gallery.npa-layout-polaroid .npa-item {
    flex: 0 0 calc(var(--npa-effective-col-width) - var(--npa-gap, 18px)) !important;
    width: auto !important;
    min-width: 180px !important;
    max-width: none !important;
}

.npa-gallery .npa-fj-row {
    flex-wrap: nowrap !important;
}

.npa-gallery .npa-fj-cell {
    flex: 1 1 var(--npa-fj-basis, 320px) !important;
    min-width: 0 !important;
}

.npa-gallery .npa-psm-template-wall,
.npa-gallery .npa-psm-template-pair,
.npa-gallery .npa-psm-template-rest {
    display: grid !important;
    grid-template-columns: repeat(var(--npa-effective-cols), minmax(0, 1fr)) !important;
    gap: var(--npa-gap, 18px) !important;
}

@media (max-width: 900px) {
    .npa-gallery {
        --npa-effective-cols: var(--npa-cols-tablet, 3);
        --npa-effective-col-width: var(--npa-col-width-tablet, 33.3333%);
    }
}

@media (max-width: 560px) {
    .npa-gallery {
        --npa-effective-cols: var(--npa-cols-mobile, 1);
        --npa-effective-col-width: var(--npa-col-width-mobile, 100%);
    }

    .npa-gallery.npa-layout-slider .npa-item,
    .npa-gallery.npa-layout-carousel .npa-item,
    .npa-gallery.npa-layout-filmstrip .npa-item,
    .npa-gallery.npa-layout-polaroid .npa-item {
        flex-basis: calc(var(--npa-effective-col-width) - var(--npa-gap, 18px)) !important;
        min-width: min(180px, 100%) !important;
    }
}

/* NPA v10.9 final album thumbnail mode priority */
.npa-gallery.npa-album-thumb-square .npa-media-wrap,
.npa-gallery.npa-album-thumb-square .npa-image-wrap,
.npa-gallery.npa-album-thumb-square .npa-protected-image-wrap,
.npa-gallery.npa-album-thumb-square .npa-nordic-cell .npa-media-wrap,
.npa-gallery.npa-album-thumb-square .npa-fj-cell .npa-media-wrap {
    height: var(--npa-thumb-height) !important;
    min-height: var(--npa-thumb-height) !important;
    max-height: var(--npa-thumb-height) !important;
}

.npa-gallery.npa-album-thumb-square .npa-media-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-square .npa-image-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-square .npa-protected-image-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-square .npa-nordic-cell img.npa-img,
.npa-gallery.npa-album-thumb-square .npa-fj-cell img.npa-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

.npa-gallery.npa-album-thumb-original .npa-media-wrap,
.npa-gallery.npa-album-thumb-original .npa-image-wrap,
.npa-gallery.npa-album-thumb-original .npa-protected-image-wrap,
.npa-gallery.npa-album-thumb-original .npa-nordic-cell .npa-media-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.npa-gallery.npa-album-thumb-original .npa-media-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-original .npa-image-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-original .npa-protected-image-wrap > img.npa-img,
.npa-gallery.npa-album-thumb-original .npa-nordic-cell img.npa-img {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}
.npa-gallery .npa-watermark-layer,
.npa-gallery .npa-watermark-img,
.npa-gallery .npa-watermark,
.npa-lightbox .npa-watermark-img,
.npa-lightbox .npa-watermark {
    opacity: var(--npa-watermark-opacity, .78) !important;
}

.npa-wm-bottom-center .npa-watermark,
.npa-wm-bottom-center .npa-watermark-img,
.npa-wm-bottom-center .npa-watermark-layer {
    left: 50% !important;
    right: auto !important;
    bottom: 10px !important;
    top: auto !important;
    transform: translateX(-50%) !important;
}

.npa-wm-top-center .npa-watermark,
.npa-wm-top-center .npa-watermark-img,
.npa-wm-top-center .npa-watermark-layer {
    left: 50% !important;
    right: auto !important;
    top: 10px !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
}

.npa-lightbox.npa-wm-bottom-center .npa-watermark,
.npa-lightbox.npa-wm-bottom-center .npa-watermark-img,
.npa-lightbox.npa-wm-bottom-center .npa-watermark-layer {
    left: 50% !important;
    right: auto !important;
    bottom: 18px !important;
    top: auto !important;
    transform: translateX(-50%) !important;
}

.npa-lightbox.npa-wm-top-center .npa-watermark,
.npa-lightbox.npa-wm-top-center .npa-watermark-img,
.npa-lightbox.npa-wm-top-center .npa-watermark-layer {
    left: 50% !important;
    right: auto !important;
    top: 18px !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
}

/* NPA v10.9 final: Nordic Protected Justified keeps its calculated row geometry */
.npa-gallery .npa-fj-template {
    width: 100% !important;
    max-width: min(1180px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.npa-gallery .npa-fj-template .npa-fj-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--npa-fj-gap, var(--npa-gap, 18px)) !important;
    width: 100% !important;
    margin: 0 0 var(--npa-fj-gap, var(--npa-gap, 18px)) 0 !important;
}

.npa-gallery .npa-fj-template .npa-fj-cell {
    flex: 1 1 var(--npa-fj-basis, 320px) !important;
    min-width: 0 !important;
    height: var(--npa-fj-row-height, 430px) !important;
    max-width: none !important;
}

.npa-gallery .npa-fj-template .npa-fj-row.is-last .npa-fj-cell {
    flex-grow: 0 !important;
}

.npa-gallery .npa-fj-template .npa-fj-cell > .npa-item,
.npa-gallery .npa-fj-template .npa-fj-cell > .npa-gallery-item,
.npa-gallery .npa-fj-template .npa-fj-cell .npa-media-wrap,
.npa-gallery .npa-fj-template .npa-fj-cell .npa-image-wrap,
.npa-gallery .npa-fj-template .npa-fj-cell .npa-protected-image-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}

.npa-gallery .npa-fj-template .npa-fj-cell img.npa-img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 760px) {
    .npa-gallery .npa-fj-template .npa-fj-row {
        display: block !important;
        margin-bottom: 0 !important;
    }

    .npa-gallery .npa-fj-template .npa-fj-cell {
        height: auto !important;
        margin-bottom: var(--npa-gap, 18px) !important;
    }

    .npa-gallery .npa-fj-template .npa-fj-cell > .npa-item,
    .npa-gallery .npa-fj-template .npa-fj-cell > .npa-gallery-item,
    .npa-gallery .npa-fj-template .npa-fj-cell .npa-media-wrap,
    .npa-gallery .npa-fj-template .npa-fj-cell .npa-image-wrap,
    .npa-gallery .npa-fj-template .npa-fj-cell .npa-protected-image-wrap,
    .npa-gallery .npa-fj-template .npa-fj-cell img.npa-img {
        height: auto !important;
    }
}

/* NPA v10.9.1: final watermark position override for all frontend layouts. */
.npa-gallery .npa-watermark,
.npa-gallery .npa-watermark-img,
.npa-gallery .npa-watermark-layer,
.npa-gallery .npa-watermark-bg,
.npa-lightbox .npa-watermark,
.npa-lightbox .npa-watermark-img,
.npa-lightbox .npa-watermark-layer,
.npa-lightbox .npa-watermark-bg {
    opacity: var(--npa-watermark-opacity, .78) !important;
}

.npa-wm-bottom-right .npa-watermark,
.npa-wm-bottom-right .npa-watermark-img,
.npa-wm-bottom-right .npa-watermark-layer,
.npa-wm-bottom-right .npa-watermark-bg {
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
}

.npa-wm-bottom-left .npa-watermark,
.npa-wm-bottom-left .npa-watermark-img,
.npa-wm-bottom-left .npa-watermark-layer,
.npa-wm-bottom-left .npa-watermark-bg {
    left: 18px !important;
    bottom: 18px !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
}

.npa-wm-bottom-center .npa-watermark,
.npa-wm-bottom-center .npa-watermark-img,
.npa-wm-bottom-center .npa-watermark-layer,
.npa-wm-bottom-center .npa-watermark-bg {
    left: 50% !important;
    bottom: 18px !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
}

.npa-wm-top-right .npa-watermark,
.npa-wm-top-right .npa-watermark-img,
.npa-wm-top-right .npa-watermark-layer,
.npa-wm-top-right .npa-watermark-bg {
    right: 18px !important;
    top: 18px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.npa-wm-top-left .npa-watermark,
.npa-wm-top-left .npa-watermark-img,
.npa-wm-top-left .npa-watermark-layer,
.npa-wm-top-left .npa-watermark-bg {
    left: 18px !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.npa-wm-top-center .npa-watermark,
.npa-wm-top-center .npa-watermark-img,
.npa-wm-top-center .npa-watermark-layer,
.npa-wm-top-center .npa-watermark-bg {
    left: 50% !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
}

.npa-wm-center .npa-watermark,
.npa-wm-center .npa-watermark-img,
.npa-wm-center .npa-watermark-layer,
.npa-wm-center .npa-watermark-bg {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
}

/* Higher specificity for old protected-layout selectors that hardcoded bottom/right. */
.npa-gallery .npa-media-wrap > .npa-watermark,
.npa-gallery .npa-media-wrap > img.npa-watermark-img,
.npa-gallery .npa-media-wrap > .npa-watermark-layer,
.npa-gallery .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    opacity: var(--npa-watermark-opacity, .78) !important;
}

.npa-gallery.npa-wm-bottom-right .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-bottom-right .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-bottom-right .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-bottom-right .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
}

.npa-gallery.npa-wm-bottom-left .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-bottom-left .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-bottom-left .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-bottom-left .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    left: 18px !important;
    bottom: 18px !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
}

.npa-gallery.npa-wm-bottom-center .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-bottom-center .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-bottom-center .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-bottom-center .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    left: 50% !important;
    bottom: 18px !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
}

.npa-gallery.npa-wm-top-right .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-top-right .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-top-right .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-top-right .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    right: 18px !important;
    top: 18px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.npa-gallery.npa-wm-top-left .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-top-left .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-top-left .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-top-left .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    left: 18px !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.npa-gallery.npa-wm-top-center .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-top-center .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-top-center .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-top-center .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    left: 50% !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
}

.npa-gallery.npa-wm-center .npa-media-wrap > .npa-watermark,
.npa-gallery.npa-wm-center .npa-media-wrap > img.npa-watermark-img,
.npa-gallery.npa-wm-center .npa-media-wrap > .npa-watermark-layer,
.npa-gallery.npa-wm-center .npa-media-wrap > .npa-watermark-layer.npa-watermark-bg {
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
}
