.neca-gallery{--neca-green:#075b40;--neca-ink:#18362d;max-width:1200px;margin:2rem auto;color:var(--neca-ink);font-family:inherit}.neca-gallery *{box-sizing:border-box}.neca-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;background:#f0f6f3;border-radius:12px;padding:22px;margin-bottom:28px}.neca-filters label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px;font-size:.9rem;font-weight:600}.neca-filters input,.neca-filters select{width:100%;padding:11px;border:1px solid #a9bfb5;border-radius:6px;background:#fff;color:#18362d;font:inherit}.neca-gallery button{background:var(--neca-green);color:#fff;border:0;border-radius:6px;padding:12px 18px;cursor:pointer;font:inherit}.neca-gallery a{color:var(--neca-green)}.neca-gallery :focus-visible{outline:3px solid #ba7400;outline-offset:4px}.neca-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.neca-card,.neca-photo{margin:0;overflow:hidden;border:1px solid #d5e2da;border-radius:12px;background:#fff}.neca-grid img,.neca-placeholder{display:block;width:100%;height:240px;object-fit:cover}.neca-card h2{font-size:1.25rem;margin:18px 20px 10px}.neca-card a{text-decoration:none}.neca-card p,.neca-photo figcaption{padding:0 20px 18px}.neca-photo figcaption{padding-top:16px}.neca-photo p{margin:.5em 0 0;white-space:pre-line}.neca-placeholder{display:grid;place-items:center;background:#e7f1eb;font-size:2rem;letter-spacing:.2em}.neca-view-controls,.neca-slide-controls{display:flex;gap:12px;align-items:center;margin:20px 0}.neca-view-controls [aria-pressed=false]{background:#e7f1eb;color:var(--neca-ink)}.neca-grid[data-mode=slideshow]{grid-template-columns:1fr}.neca-grid[data-mode=slideshow] img{height:min(65vh,600px);object-fit:contain;background:#142b23}.neca-pagination{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.neca-pagination a{padding:8px 14px;border:1px solid #a9bfb5;border-radius:5px}.neca-pagination [aria-current]{background:var(--neca-green);color:white}.neca-lightbox{max-width:95vw;max-height:95vh;border:0;border-radius:12px;padding:16px;background:#142b23}.neca-lightbox::backdrop{background:#000c}.neca-lightbox img{display:block;max-width:85vw;max-height:78vh;object-fit:contain;margin-top:12px}.neca-gallery [hidden]{display:none!important}@media(max-width:900px){.neca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.neca-grid{grid-template-columns:1fr}.neca-filters{padding:16px}.neca-filters label{min-width:100%}}
