/* ===== GALLERY ===== */
#gallery {
  padding: 100px 0;
  background: var(--white);
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 240px);
  gap: 12px;
}
.gallery-item {
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.gallery-item img { height: 100%; transition: transform 0.5s; }
.gallery-item:hover img { transform: scale(1.08); }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-overlay {
  position: absolute;
  inset: 0;
  background: rgba(44,24,16,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: var(--transition);
  color: var(--white);
  font-size: 1.5rem;
}
.gallery-item.large { grid-column: span 2; grid-row: span 2; }
.gallery-item.tall  { grid-row: span 2; }

/* Lightbox */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 2000;
  align-items: center;
  justify-content: center;
}
.lightbox.open { display: flex; }
.lightbox-img { max-width: 90vw; max-height: 90vh; border-radius: var(--radius); }
.lightbox-close {
  position: absolute;
  top: 20px; right: 24px;
  color: var(--white);
  font-size: 2rem;
  cursor: pointer;
  opacity: 0.8;
}
.lightbox-close:hover { opacity: 1; }
