/* V KOTE FOODS — Gallery Page */
.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: var(--space-xl);
}
.gallery-filter-btn {
  font-family: var(--ff-button);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  padding: 10px 24px;
  border-radius: var(--radius-pill);
  border: 2px solid var(--clr-border);
  background: white;
  color: var(--clr-text-light);
  cursor: pointer;
  transition: all var(--transition-base);
}
.gallery-filter-btn:hover,
.gallery-filter-btn.active {
  background: var(--clr-primary);
  color: white;
  border-color: var(--clr-primary);
}
.gallery-masonry {
  columns: 4;
  column-gap: 16px;
}
.gallery-item {
  break-inside: avoid;
  margin-bottom: 16px;
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition: all var(--transition-base);
  background: linear-gradient(90deg, #f0ebe0 25%, #e8dcc6 50%, #f0ebe0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.8s infinite linear;
}
.gallery-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}
.gallery-item img {
  width: 100%;
  display: block;
  transition: transform var(--transition-smooth);
}
.gallery-item:hover img { transform: scale(1.05); }
.gallery-item-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.6) 100%);
  display: flex;
  align-items: flex-end;
  padding: var(--space-md);
  opacity: 0;
  transition: opacity var(--transition-base);
}
.gallery-item:hover .gallery-item-overlay { opacity: 1; }
.gallery-item-overlay span {
  color: white;
  font-family: var(--ff-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-small);
}

@media (max-width: 991px) { .gallery-masonry { columns: 3; } }
@media (max-width: 768px) { .gallery-masonry { columns: 2; } }
@media (max-width: 480px) { .gallery-masonry { columns: 1; } }
