/* gallery.css */
.gallery-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:36px; }
.gfilter-btn { padding:10px 22px; border:1.5px solid var(--gray-light); border-radius:var(--radius-xl); font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-light); cursor:pointer; transition:var(--transition); background:var(--white); font-family:var(--font-body); }
.gfilter-btn:hover,.gfilter-btn.active { background:var(--navy); color:var(--white); border-color:var(--navy); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gallery-item { border-radius:var(--radius-md); overflow:hidden; position:relative; cursor:pointer; aspect-ratio:4/3; background:var(--gray-light); }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s var(--ease); display:block; }
.gallery-item:hover img { transform:scale(1.08); }
.gallery-item-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,22,35,0.8) 0%,transparent 60%); opacity:0; transition:var(--transition); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:18px; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-caption { font-size:0.82rem; font-weight:600; color:var(--white); line-height:1.4; margin-bottom:6px; }
.gallery-item-overlay i { color:var(--gold); font-size:1rem; align-self:flex-end; margin-top:-24px; }
.gallery-item.hidden { display:none; }
/* Lightbox */
.lightbox { position:fixed; inset:0; z-index:3000; background:rgba(5,12,20,0.95); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:var(--transition); }
.lightbox.open { opacity:1; visibility:visible; }
.lightbox-img-wrap { max-width:90vw; max-height:85vh; }
.lightbox-img-wrap img { max-width:100%; max-height:85vh; border-radius:var(--radius-md); object-fit:contain; }
.lightbox-close { position:absolute; top:20px; right:20px; width:44px; height:44px; background:rgba(255,255,255,0.1); border:none; border-radius:50%; color:var(--white); font-size:1rem; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; }
.lightbox-close:hover { background:var(--gold); color:var(--navy-deep); }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; background:rgba(255,255,255,0.1); border:none; border-radius:50%; color:var(--white); font-size:1.1rem; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; }
.lightbox-nav:hover { background:var(--gold); color:var(--navy-deep); }
.lightbox-nav.prev { left:20px; }
.lightbox-nav.next { right:20px; }
@media(max-width:900px){ .gallery-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .gallery-grid { grid-template-columns:1fr 1fr; gap:10px; } }
