/* === Filters === */
.artlie-gallery-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 25px;
}

.artlie-gallery-filters .gallery-tab {
  background: linear-gradient(to right, #8e44ad, #6c3483);
  color: white;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.artlie-gallery-filters .gallery-tab.active,
.artlie-gallery-filters .gallery-tab:hover {
  background: #5e3370;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* === Load More Button === */
.artlie-load-more,
.ecg-load-more {
  display: inline-block;
  margin: 30px auto 0;
  padding: 14px 28px;
  font-size: 15px;
  color: #fff;
  border: none;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
}


.ecg-load-more-wrapper {
  display: flex;
  justify-content: center;
}

/* === Gallery Wrapper === */
.artlie-gallery {
  margin: 0 auto;
  gap: 15px;
}

/* === Gallery Items === */
.gallery-item {
  display: block;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
  break-inside: avoid;
}

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Animations */
.gallery-item.fade-in {
  opacity: 0;
  transform: translateY(20px);
}

.gallery-item.hidden {
  opacity: 0;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}

/* === Grid Layout === */
.artlie-gallery.layout-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 15px;
}

/* === Masonry Layout === */
.artlie-gallery.layout-masonry {
  column-count: 3;
  column-gap: 15px;
}

.artlie-gallery.layout-masonry .gallery-item {
  margin-bottom: 15px;
}

/* === Justified Layout === */
.artlie-gallery.layout-justified {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.artlie-gallery.layout-justified .gallery-item {
  overflow: hidden;
  height: auto;
}

.artlie-gallery.layout-justified .gallery-item img {
  width: 100%;
  height: auto;
}

/* Justified: Column Variants */
.artlie-gallery.layout-justified.columns-1 .gallery-item {
  flex: 1 1 calc(100% - 10px);
  max-width: calc(100% - 10px);
}
.artlie-gallery.layout-justified.columns-2 .gallery-item {
  flex: 1 1 calc(50% - 10px);
  max-width: calc(50% - 10px);
}
.artlie-gallery.layout-justified.columns-3 .gallery-item {
  flex: 1 1 calc(33.333% - 10px);
  max-width: calc(33.333% - 10px);
}
.artlie-gallery.layout-justified.columns-4 .gallery-item {
  flex: 1 1 calc(25% - 10px);
  max-width: calc(25% - 10px);
}
.artlie-gallery.layout-justified.columns-5 .gallery-item {
  flex: 1 1 calc(20% - 10px);
  max-width: calc(20% - 10px);
}

/* Grid & Masonry: Column Variants (fallback) */
.artlie-gallery:not(.layout-justified),
.artlie-gallery.tab-content:not(.layout-justified) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.artlie-gallery:not(.layout-justified).columns-1 .gallery-item,
.artlie-gallery.tab-content:not(.layout-justified).columns-1 .gallery-item {
  width: 100%;
}
.artlie-gallery:not(.layout-justified).columns-2 .gallery-item,
.artlie-gallery.tab-content:not(.layout-justified).columns-2 .gallery-item {
  width: calc(50% - 10px);
}
.artlie-gallery:not(.layout-justified).columns-3 .gallery-item,
.artlie-gallery.tab-content:not(.layout-justified).columns-3 .gallery-item {
  width: calc(33.333% - 10px);
}
.artlie-gallery:not(.layout-justified).columns-4 .gallery-item,
.artlie-gallery.tab-content:not(.layout-justified).columns-4 .gallery-item {
  width: calc(25% - 10px);
}
.artlie-gallery:not(.layout-justified).columns-5 .gallery-item,
.artlie-gallery.tab-content:not(.layout-justified).columns-5 .gallery-item {
  width: calc(20% - 10px);
}