/* ============================================================
   gallery.css — Sun Technologies
   Custom styles for the About page
   Linked via includes/head.php conditionally on about page
   ============================================================ */
/* ── Filter buttons ── */
.gallery-filters {
  padding: 0;
}

.gf-btn {
  cursor: pointer;
  padding: 7px 20px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  border: 2px solid var(--accent-color);
  color: var(--accent-color);
  background: transparent;
  transition: background 0.25s, color 0.25s;
  user-select: none;
}

.gf-btn:hover,
.gf-btn.active {
  background: var(--accent-color);
  color: #fff;
}

/* ── Gallery card ── */
.gallery-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
}

.gallery-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

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

/* ── Overlay ── */
.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 40%, rgba(0, 0, 0, 0.68));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gallery-card:hover .gallery-overlay {
  opacity: 1;
}

.gallery-label {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}

.gallery-cat-badge {
  display: inline-block;
  background: var(--accent-color);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 50px;
  margin-bottom: 6px;
  width: fit-content;
  text-transform: capitalize;
}

/* ── Show/hide animation ── */
.gallery-item {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.gallery-item.hidden {
  display: none;
}

/* ── CTA buttons ── */
.about-btn-primary {
  display: inline-block;
  background: #fb8600;
  color: #fff;
  padding: 10px 28px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #fb8600;
  transition: background 0.3s, color 0.3s;
}

.about-btn-primary:hover {
  background: #e07800;
  border-color: #e07800;
  color: #fff;
}

.about-btn-outline {
  display: inline-block;
  background: transparent;
  color: #fb8600;
  padding: 10px 28px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #fb8600;
  transition: background 0.3s, color 0.3s;
}

.about-btn-outline:hover {
  background: #fb8600;
  color: #fff;
}

/* ── Responsive ── */
@media (prefers-reduced-motion: reduce) {
  .uni-track {
    animation: none !important;
  }
}

@media (max-width: 576px) {
  .uni-circle {
    width: 90px;
    height: 90px;
  }

  .uni-item {
    width: 100px;
    gap: 7px;
  }

  .uni-track {
    gap: 24px;
  }
}