/* Gallery page styles */
.gallery-wrap {
  padding-top: 8px;
}

.gallery-intro {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

.gallery-intro p {
  color: var(--gray);
  line-height: 1.75;
}

.gallery-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 auto 30px;
}

.gallery-highlight {
  background: linear-gradient(135deg, #f4f9f6, #ffffff);
  border: 1px solid #e5eee8;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: .86rem;
  color: var(--dark);
  box-shadow: 0 8px 22px rgba(26, 107, 60, .08);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.gallery-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}

.gallery-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 36px rgba(26, 107, 60, .15);
}

.gallery-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.gallery-card figcaption {
  padding: 14px 14px 16px;
}

.gallery-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .7rem;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #0d5b2f;
  background: #e8f5ee;
  border-radius: 999px;
  padding: 5px 10px;
  font-weight: 700;
  margin-bottom: 8px;
}

.gallery-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.08rem;
  line-height: 1.32;
  margin-bottom: 8px;
}

.gallery-card p {
  font-size: .88rem;
  color: var(--gray);
  line-height: 1.55;
}

.gallery-help {
  margin-top: 34px;
  background: linear-gradient(135deg, #0a3d1f, #1a6b3c);
  color: #fff;
  border-radius: 16px;
  padding: 20px;
}

.gallery-help h3 {
  font-family: 'Playfair Display', serif;
  margin-bottom: 8px;
}

.gallery-help p {
  color: rgba(255, 255, 255, .85);
  line-height: 1.7;
  font-size: .9rem;
}

@media (max-width: 1024px) {
  .gallery-highlights,
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .gallery-highlights,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .gallery-card img {
    aspect-ratio: 16 / 11;
  }
}
