.filter-btn{padding:.5rem 1.5rem;border:2px solid #4a4a4a;border-radius:9999px;font-weight:600;color:#a0aec0;transition:all .3s ease;background-color:transparent}.filter-btn:hover{background-color:#2d2d2d;color:#fff}.filter-btn.active-filter{background-color:var(--primary-red);border-color:var(--primary-red);color:#fff;box-shadow:0 0 15px #ff003380}#gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.gallery-item{position:relative;overflow:hidden;border-radius:.75rem;cursor:pointer;box-shadow:0 10px 20px #0006;transition:opacity .4s ease,transform .4s ease;background:#1a1a1a}.gallery-item.hidden{opacity:0;transform:scale(.8);pointer-events:none;height:0!important;margin:0!important;padding:0!important;border:none!important}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.gallery-item .item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:1.5rem;opacity:0;transition:opacity .5s ease}.gallery-item:hover .item-overlay{opacity:1}.gallery-item:hover img{transform:scale(1.1)}.gallery-item[data-type=video]:hover .item-overlay{background:linear-gradient(to top,#000000e6 20%,#0000004d 70%)}.item-text{text-align:center;color:#fff;transform:translateY(20px);transition:transform .4s ease}.gallery-item:hover .item-text{transform:translateY(0)}.item-title{font-size:1.25rem;font-weight:700;margin:0}.item-description{font-size:.875rem;color:#a0aec0}#lightbox.hidden{display:none}#lightbox-content img,#lightbox-content iframe{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}#lightbox-content iframe{border:none}
