.nkg-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.nkg-chip { font: 500 0.92rem "Hanken Grotesk", system-ui, sans-serif; padding: 9px 16px; border-radius: 999px; border: 1px solid #D9D6CC; background: transparent; color: #2C2E29; cursor: pointer; transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.nkg-chip:hover, .nkg-chip:focus { border-color: #2C2E29; background: transparent; color: #2C2E29; }
.nkg-chip[aria-pressed="true"] { background: #2C2E29; color: #F5F4EF; border-color: #2C2E29; }
.nkg-spalten { columns: 3 300px; column-gap: 14px; }
.nkg-spalten figure { margin: 0 0 14px; break-inside: avoid; border-radius: 14px; overflow: hidden; position: relative; cursor: zoom-in; background: #D8CFBF; }
.nkg-spalten figure[hidden] { display: none; }
.nkg-spalten img { display: block; width: 100%; height: auto; transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1); }
.nkg-spalten figure:hover img { transform: scale(1.04); }
.nkg-spalten figcaption { position: absolute; left: 10px; bottom: 10px; font: 500 0.72rem "Hanken Grotesk", system-ui, sans-serif; background: rgba(255, 255, 255, 0.3); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #FFFFFF; text-shadow: 0 1px 3px rgba(28, 29, 25, 0.45); padding: 3px 10px; border-radius: 999px; }
.nkg-box { position: fixed; inset: 0; z-index: 9999; background: rgba(20, 21, 18, 0.92); display: grid; place-items: center; align-content: center; padding: 16px; }
.nkg-box[hidden] { display: none; }
.nkg-box img { max-width: min(1200px, 100%); max-height: 82vh; border-radius: 10px; width: auto; height: auto; }
.nkg-box p { color: #E9E7E0; margin: 12px 0 0; text-align: center; font: 400 0.92rem "Hanken Grotesk", system-ui, sans-serif; }
.nkg-box button { position: absolute; border: 0; padding: 0; background: rgba(255, 255, 255, 0.14); color: #FFFFFF; width: 48px; height: 48px; border-radius: 50%; font-size: 22px; cursor: pointer; }
.nkg-zu { top: max(16px, env(safe-area-inset-top, 0px)); right: 16px; }
.nkg-vor { left: 16px; top: 50%; transform: translateY(-50%); }
.nkg-nach { right: 16px; top: 50%; transform: translateY(-50%); }
