body {
  background: #f7f8fa;
  color: #1e293b;
}

.gallery-card {
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.gallery-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.14) !important;
}

.image-link {
  display: block;
  overflow: hidden;
  background: #e2e8f0;
}

.gallery-image {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.gallery-card:hover .gallery-image {
  transform: scale(1.03);
}

.photo-detail {
  max-width: 800px;
}

.detail-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}

.detail-figure {
  margin: 0 0 1.5rem;
  overflow: hidden;
  border-radius: 1rem;
}


.description {
  white-space: pre-line;
}

.empty-state {
  background: #ffffff;
  border: 1px dashed #cbd5e1;
}

.admin-thumb {
  width: 96px;
  height: 64px;
  object-fit: cover;
  background: #e2e8f0;
}

.edit-preview {
  width: 250px;
  max-height: 190px;
  object-fit: cover;
  background: #e2e8f0;
}