```css
/* Gallery tabs */

.gallery-tabs .nav-link {
  color: var(--default-color, #444);
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 4px 8px;
  padding: 8px 22px;
  font-weight: 500;
  border-radius: 30px;
  transition: all 0.25s ease-in-out;
}

.gallery-tabs .nav-link.active,
.gallery-tabs .nav-link:hover {
  color: #fff;
  background: var(--accent-color, #f96f59);
  border-color: var(--accent-color, #f96f59);
}


/* Gallery grid */

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  background: #f4f4f4;
}

.gallery-item a.glightbox {
  display: block;
  position: relative;
  overflow: hidden;
}

.gallery-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.gallery-item:hover img {
  transform: scale(1.06);
}


/* Responsive tweaks */

@media (max-width: 767.98px) {
  .gallery-item img {
    height: 170px;
  }
}

@media (max-width: 480px) {
  .gallery-item img {
    height: 140px;
  }

  .gallery-tabs .nav-link {
    padding: 6px 16px;
    font-size: 0.9rem;
  }
}


/* Lightbox */

@media (max-width: 768px) {
  .glightbox-container .gslide-image img {
    max-height: 90vh !important;
  }
}


/* Ensure gallery items are tappable on mobile */

.gallery-item a {
  display: block;
  position: relative;
  min-height: 200px;
}
```
