/* NowoczesneWesele — Galeria Portfolio */
.nw-g{--nw-g-cols:var(--nw-g-cols-d,4);--nw-g-row:6px;font-family:Manrope,Arial,sans-serif;color:#433740;width:100%}
@media (max-width:1024px){.nw-g{--nw-g-cols:var(--nw-g-cols-t,3)}}
@media (max-width:767px){.nw-g{--nw-g-cols:var(--nw-g-cols-m,2)}}

/* Filtry */
.nw-g__filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px}
.nw-g .nw-g__filter{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid #EBDCE3;border-radius:999px;background:#fff;color:#433740;font:600 14px/1.2 Manrope,Arial,sans-serif;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s;white-space:nowrap}
.nw-g .nw-g__filter:hover{background:#C2185B;border-color:#C2185B;color:#fff}
.nw-g .nw-g__filter:hover .nw-g__ico{color:#fff}
.nw-g .nw-g__filter:hover .nw-g__count{background:rgba(255,255,255,.22);color:#fff}
.nw-g .nw-g__filter.is-active:hover{background:#A8114C;border-color:#A8114C}
.nw-g .nw-g__filter:focus-visible{outline:3px solid #E82F7B;outline-offset:2px}
.nw-g .nw-g__filter .nw-g__ico{flex:0 0 18px;color:#C2185B;transition:color .2s}
.nw-g__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:999px;background:#F8E8EF;color:#C2185B;font-size:12px;font-weight:800}
.nw-g .nw-g__filter.is-active{background:#C2185B;border-color:#C2185B;color:#fff}
.nw-g .nw-g__filter.is-active .nw-g__ico{color:#fff}
.nw-g .nw-g__filter.is-active .nw-g__count{background:rgba(255,255,255,.22);color:#fff}
@media (max-width:767px){.nw-g__filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;margin-bottom:20px;scrollbar-width:none}.nw-g__filters::-webkit-scrollbar{display:none}.nw-g .nw-g__filter{flex:0 0 auto;scroll-snap-align:start}}

/* Siatka / masonry */
.nw-g__grid{display:grid;grid-template-columns:repeat(var(--nw-g-cols),minmax(0,1fr));gap:var(--nw-g-gap,12px);transition:opacity .25s}
.nw-g__grid.is-masonry{grid-auto-rows:var(--nw-g-row);row-gap:var(--nw-g-gap,12px)}
.nw-g__grid.is-busy{opacity:.45}
.nw-g__item{margin:0;position:relative;overflow:hidden;border-radius:var(--nw-g-radius,12px);background:#F8E8EF}
.nw-g--tiles .nw-g__item{aspect-ratio:var(--nw-g-ratio,4 / 3)!important}
/* szerokość: cała szerokość ekranu (bez JS: klasyczny wyjazd poza kontener; JS dopasowuje dokładnie) albo ramka o max. szerokości */
.nw-g--full{width:var(--nw-g-vw,100vw);max-width:none;margin-left:var(--nw-g-shift,calc(50% - 50vw));padding-left:var(--nw-g-pad,24px);padding-right:var(--nw-g-pad,24px);box-sizing:border-box}
.nw-g--boxed{max-width:var(--nw-g-max,1200px);margin-left:auto;margin-right:auto}
.nw-g__grid.is-masonry .nw-g__item{aspect-ratio:auto!important}
.nw-g__link{display:block;width:100%;height:100%;cursor:zoom-in}
.nw-g__link:focus-visible{outline:3px solid #E82F7B;outline-offset:-3px}
.nw-g__item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .45s ease,filter .3s}
.nw-g--hover-zoom .nw-g__item:hover img{transform:scale(1.04)}
.nw-g--hover-lift .nw-g__item{transition:transform .25s,box-shadow .25s}
.nw-g--hover-lift .nw-g__item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(47,21,39,.14)}
.nw-g__empty{margin:24px 0;text-align:center;font-size:16px;color:#665761}
.nw-g__more-wrap{display:flex;justify-content:center;margin-top:32px}
.nw-g .nw-g__more{min-height:50px;padding:14px 30px;border:1px solid #C2185B;border-radius:999px;background:#fff;color:#C2185B;font:800 15px/1.2 Manrope,Arial,sans-serif;cursor:pointer;transition:background-color .2s,color .2s}
.nw-g .nw-g__more:hover{background:#C2185B;color:#fff}
.nw-g .nw-g__more:focus-visible{outline:3px solid #E82F7B;outline-offset:3px}
.nw-g .nw-g__more[disabled]{opacity:.6;cursor:wait}
.nw-g [hidden]{display:none!important}

/* Lightbox */
.nw-glb{position:fixed;inset:0;z-index:99999;background:rgba(18,10,16,.95);display:flex;align-items:center;justify-content:center;font-family:Manrope,Arial,sans-serif}
.nw-glb[hidden]{display:none}
.nw-glb__stage{position:absolute;inset:68px 76px 56px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.nw-glb__img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center;transition:transform .2s ease;border-radius:6px}
.nw-glb.can-zoom .nw-glb__img{cursor:zoom-in}
.nw-glb .nw-glb__img.is-zoomed{cursor:grab}
.nw-glb .nw-glb__img.is-drag{cursor:grabbing;transition:none}
.nw-glb__top{position:absolute;top:12px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.nw-glb__count{color:rgba(255,255,255,.82);font-size:14px;font-weight:600}
.nw-glb__tools{display:flex;gap:8px}
.nw-glb .nw-glb__btn{all:unset;box-sizing:border-box;width:48px!important;height:48px!important;padding:0!important;border:0!important;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;color:#fff!important;background:rgba(255,255,255,.14)!important;cursor:pointer;transition:background .2s}
.nw-glb .nw-glb__btn:hover{background:#C2185B!important}
.nw-glb .nw-glb__btn:focus-visible{outline:3px solid #E82F7B;outline-offset:3px}
.nw-glb .nw-glb__btn[disabled]{opacity:.35;cursor:default}
.nw-glb .nw-glb__btn svg{width:22px;height:22px;flex:0 0 22px;display:block;stroke:#fff;fill:none}
.nw-glb .nw-glb__prev,.nw-glb .nw-glb__next{position:absolute;top:50%;transform:translateY(-50%);width:56px!important;height:56px!important}
.nw-glb .nw-glb__prev{left:14px}.nw-glb .nw-glb__next{right:14px}
@media (max-width:767px){.nw-glb__stage{inset:68px 8px 104px}.nw-glb .nw-glb__prev,.nw-glb .nw-glb__next{top:auto;bottom:28px;transform:none}.nw-glb .nw-glb__prev{left:calc(50% - 72px)}.nw-glb .nw-glb__next{right:calc(50% - 72px)}.nw-glb__tools .nw-glb__reset{display:none}}
@media (prefers-reduced-motion:reduce){.nw-g__grid,.nw-g__item img,.nw-g .nw-g__filter,.nw-glb__img{transition:none!important}}