/* ===== GALLERY PAGE STYLES ===== */
.gallery-hero { padding:140px 20px 70px; text-align:center; position:relative; overflow:hidden; }
.gallery-hero h1 { font-size:2.8rem; margin-bottom:12px; font-weight:700; letter-spacing:-0.5px; }
.gallery-hero p { font-size:1.15rem; opacity:0.92; }

.gallery-filters { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:30px; }
.filter-btn { padding:10px 24px; border-radius:25px; border:2px solid var(--sky); background:transparent; color:var(--sky); font-weight:600; cursor:pointer; transition:all .3s; font-family:'Nunito'; font-size:.95rem; }
.filter-btn.active,.filter-btn:hover { background:var(--sky); color:#fff; }

.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; padding-bottom:40px; }
.gallery-item { border-radius:16px; overflow:hidden; cursor:pointer; position:relative; aspect-ratio:4/3; box-shadow:var(--shadow); transition:all .4s; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.gallery-item:hover img { transform:scale(1.08); }
.gallery-overlay { position:absolute; inset:0; background:linear-gradient(transparent 40%,rgba(0,0,0,.6)); opacity:0; transition:opacity .3s; display:flex; align-items:flex-end; padding:20px; color:#fff; font-weight:700; font-size:1.05rem; }
.gallery-item:hover .gallery-overlay { opacity:1; }

/* LIGHTBOX */
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:2000; align-items:center; justify-content:center; padding:20px; }
.lightbox.active { display:flex; }
.lightbox-content { max-width:800px; width:100%; position:relative; }
.lightbox-content img { width:100%; border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.5); }
.lightbox-caption { color:#fff; text-align:center; margin-top:16px; font-size:1.1rem; font-weight:600; }
.lightbox-close { position:fixed; top:20px; right:30px; font-size:2.5rem; color:#fff; cursor:pointer; background:none; border:none; z-index:2001; transition:transform .3s; }
.lightbox-close:hover { transform:rotate(90deg); }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); font-size:2rem; color:#fff; background:rgba(255,255,255,.2); border:none; cursor:pointer; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .3s; }
.lightbox-nav:hover { background:rgba(255,255,255,.4); }
.lightbox-prev { left:-70px; }
.lightbox-next { right:-70px; }

@media(max-width:768px) {
  .gallery-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .gallery-hero h1 { font-size:1.8rem; }
  .lightbox-prev { left:10px; }
  .lightbox-next { right:10px; }
}
@media(max-width:480px) { .gallery-grid { grid-template-columns:1fr; } }
