/* GALLERY PAGE CSS */
.gallery-hero { background: linear-gradient(135deg, var(--dark-olive) 0%, var(--olive-light) 50%, var(--primary) 100%); }

.gallery-page-section { padding: 80px 0; }
.gallery-filter { display: flex; justify-content: center; gap: 16px; margin-bottom: 48px; flex-wrap: wrap; }
.filter-btn { padding: 8px 24px; border-radius: 40px; background: var(--bg-light); color: var(--text-muted); font-weight: 600; font-size: 0.9rem; transition: var(--transition); border: 2px solid transparent; }
.filter-btn:hover, .filter-btn.active { background: var(--primary); color: var(--white); box-shadow: var(--shadow); }

/* Extra styling for full masonry gallery */
.full-gallery { grid-auto-rows: 280px; }
@media (max-width: 768px) {
  .full-gallery { grid-auto-rows: 200px; }
}
@media (max-width: 480px) {
  /* single-column on phones (from style.css) — shorter rows so a full-width tile
     isn't excessively tall and the gallery scrolls less */
  .full-gallery { grid-auto-rows: 160px; }
  .gallery-filter { gap: 8px; margin-bottom: 32px; }
}
