/* ============================================================
   TunaGrow CBO — Gallery Page Styles
   File: css/gallery.css
   ============================================================ */

.gallery-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}

.gallery-item {
  position: relative;
  border-radius: 16px; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 3.5rem; font-weight: 700;
  color: rgba(255,255,255,0.8);
  transition: transform 0.3s; cursor: pointer; min-height: 160px;
}
.gallery-item:hover { transform: scale(1.02); }
.gallery-item.large { grid-column: span 2; min-height: 280px; font-size: 5rem; }

/* ── Palette classes ── */
.g1 { background: linear-gradient(135deg,#4a7c3f,#7db567); }
.g2 { background: linear-gradient(135deg,#c97d2e,#f2b84b); }
.g3 { background: linear-gradient(135deg,#6b4226,#c97d2e); }
.g4 { background: linear-gradient(135deg,#7db567,#4a7c3f); }
.g5 { background: linear-gradient(135deg,#f2b84b,#c97d2e); }
.g6 { background: linear-gradient(135deg,#3b2a1a,#6b4226); }

/* ── Gallery Photo Hover Zoom Overlays ── */
.gallery-hover-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(59, 42, 26, 0.65); /* Warm earth tint overlay */
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 12px;
  opacity: 0; transition: opacity 0.3s ease;
  padding: 16px; text-align: center;
  z-index: 2;
}

.gallery-item:hover .gallery-hover-overlay {
  opacity: 1;
}

.gallery-zoom-icon {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.45);
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.25rem;
  transition: transform 0.3s ease, background 0.3s ease;
}

.gallery-hover-overlay:hover .gallery-zoom-icon {
  transform: scale(1.12);
  background: rgba(255, 255, 255, 0.35);
}

.gallery-caption {
  color: #fff; font-size: 0.88rem; font-weight: 500;
  font-family: 'DM Sans', sans-serif;
  text-shadow: 0 2px 4px rgba(0,0,0,0.35);
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-item.large { grid-column: span 2; }
}

@media (min-width: 1440px) {
  .gallery-grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
}
@media (min-width: 1920px) {
  .gallery-grid { grid-template-columns: repeat(6, 1fr); }
}

@media (min-width: 2560px) {
  .gallery-grid { grid-template-columns: repeat(7, 1fr); gap: 20px; }
}
@media (min-width: 3840px) {
  .gallery-grid { grid-template-columns: repeat(9, 1fr); gap: 24px; }
}
