/* ===== GALLERY SECTION ===== */
.gallery-section {
  overflow: hidden;
  padding-top: var(--padding-box-xl);
  padding-bottom: var(--padding-box-xl);
}

.gallery-heading {
  text-align: center;
}

.gallery-heading p {
  max-width: 712px;
}

.gallery-filter {
  display: flex;
  gap: var(--gap-sm-4);
  justify-content: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 4px 8px;
  background-color: var(--primary-50);
  border-radius: var(--radius-small-box-3);
}

.gallery-filter-item {
  white-space: nowrap;
  height: 36px;
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  padding-left: var(--padding-box-small-3);
  padding-right: var(--padding-box-small-3);
  border-radius: var(--radius-small-box-3);
  background-color: var(--primary-50);
  transition: all 0.3s ease;
}

.gallery-filter-item:hover {
  background-color: var(--surface-white);
}

.gallery-filter-item.active {
  background-color: var(--surface-white);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-sm);
}

.gallery-item {
  overflow: hidden;
  border-radius: var(--radius-small-box-2);
  border: 1px solid var(--surface-border);
}

.gallery-item-image {
  position: relative;
  width: 377px;
  height: 262px;
}

.gallery-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-item-widget {
  position: absolute;
  background-color: #33415C;
  padding: 8px 12px;
  z-index: 2;
  min-width: 175px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom-left-radius: var(--radius-small-box-3);
}

.gallery-item-content {
  padding: var(--padding-box-small-4) var(--padding-box-small-3);
}

/* ===== MEDIA QUERIES ===== */
@media (max-width: 767.98px) {
  .gallery-section {
    padding-top: var(--padding-mobile-box-xl);
    padding-bottom: var(--padding-mobile-box-xl);
  }

  .gallery-filter {
    gap: var(--gap-mobile-sm);
    border-radius: var(--radius-mobile-small-box-3);
  }

  .gallery-filter-item {
    padding-left: var(--padding-mobile-box-small-3);
    padding-right: var(--padding-mobile-box-small-3);
    border-radius: var(--radius-mobile-small-box-3);
  }

  .gallery-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--gap-mobile-sm);
  }

  .gallery-item {
    border-radius: var(--radius-mobile-small-box-2);
  }

  .gallery-item-widget {
    border-bottom-left-radius: var(--radius-mobile-small-box-3);
  }

  .gallery-item-content {
    padding: var(--padding-mobile-box-small-4) var(--padding-mobile-box-small-3);
  }
}