/* Galeria „Nasze Video” — zzz-nasze-wideo.php */
.nw-sekcja { margin: 0 0 3rem; }
.nw-naglowek { margin: 0 0 1.25rem; font-size: 1.75rem; line-height: 1.2; }
.nw-siatka { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
/* Motyw ma clearfix ul:before/ul:after { content: ""; display: table } — w siatce zająłby pierwszą komórkę. */
.nw-siatka::before, .nw-siatka::after { content: none; display: none; }
.nw-karta { margin: 0; padding: 0; }
.nw-karta::before { content: none; }

.nw-przycisk { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 6px; background: #1f2329; text-decoration: none; }
.nw-przycisk:focus-visible { outline: 3px solid #0277bd; outline-offset: 3px; }
.nw-tlo { position: absolute; inset: -24px; background-position: center; background-size: cover; filter: blur(18px) brightness(.55); }
.nw-kadr { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s ease; }
.nw-pion .nw-kadr { object-fit: contain; }
.nw-przycisk:hover .nw-kadr { transform: scale(1.03); }

.nw-play { position: absolute; top: 50%; left: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(0, 0, 0, .6); box-shadow: 0 0 0 2px #fff; transition: background .2s ease; }
.nw-play::after { content: ""; position: absolute; top: 20px; left: 26px; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent #fff; }
.nw-przycisk:hover .nw-play, .nw-przycisk:focus-visible .nw-play { background: #0277bd; }

.nw-czas { position: absolute; right: 8px; bottom: 8px; padding: 2px 7px; border-radius: 3px; background: rgba(0, 0, 0, .78); color: #fff; font-size: 13px; line-height: 1.5; }
.nw-podpis { margin: .5rem 0 0; font-size: 15px; line-height: 1.4; }

/* YouTube: kadr zamiast ramki do kliknięcia */
.nw-yt { max-width: 900px; margin: 0 auto 3rem; }
.nw-yt .nw-play { width: 76px; height: 76px; margin: -38px 0 0 -38px; }
.nw-yt .nw-play::after { top: 24px; left: 31px; border-width: 14px 0 14px 24px; }
.nw-yt-opis { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.5rem 1.25rem 1rem; background: linear-gradient(transparent, rgba(0, 0, 0, .85)); color: #fff; font-size: 18px; line-height: 1.35; text-align: left; }
.nw-yt-opis small { display: block; margin-top: .25rem; font-size: 13px; }
.nw-yt iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 6px; }

/* Odtwarzacz */
/* margin: auto centruje okno; motyw zeruje marginesy wszystkiego regułą * { margin: 0 }. */
.nw-okno { overflow: visible; max-width: none; max-height: none; margin: auto; padding: 0; border: 0; background: transparent; }
.nw-okno::backdrop { background: rgba(0, 0, 0, .88); }
.nw-okno video { display: block; width: auto; height: auto; max-width: min(94vw, 1200px); max-height: 86vh; background: #000; }
.nw-zamknij { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #1f2329; font-size: 28px; line-height: 40px; cursor: pointer; }
.nw-zamknij:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
