/* GRAFITEX gallery v2 — compact, uniform and responsive */
.gallery-toolbar {
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 42px;
  border-bottom: 0;
  padding-bottom: 8px;
}
.gallery-toolbar button {
  min-width: 112px;
  border-radius: 2px;
  border-color: #ffffff38;
  padding: 11px 16px;
}
.gallery-toolbar button:hover,
.gallery-toolbar .filter-active {
  color: #fff;
  background: #b86b45;
  border-color: #b86b45;
}
.gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.45vw, 22px);
  margin-top: 28px;
}
.gallery-item,
.gallery-tall,
.gallery-wide,
.gallery-square {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  border-radius: 2px;
}
.gallery-item img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.gallery-chapter { top: 14px; left: 16px; }
.gallery-meta { bottom: 15px; left: 16px; right: 16px; }
.gallery-load-more {
  max-width: 420px;
  margin: 30px auto 0;
  border-radius: 2px;
  justify-content: center;
  gap: 18px;
}
.gallery-note { text-align: center; }
@media (max-width: 900px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .gallery-toolbar { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-inline: 2px; }
  .gallery-toolbar button { min-width: max-content; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gallery-item,
  .gallery-tall,
  .gallery-wide,
  .gallery-square { aspect-ratio: 1 / 1.12; }
  .gallery-item img { aspect-ratio: 1 / 1.12; }
  .gallery-meta { left: 10px; right: 10px; bottom: 10px; }
  .gallery-meta strong { font-size: 13px; }
  .gallery-chapter { top: 10px; left: 10px; }
}
