/* ================================================
   CATEGORY FILTER STYLES
   ================================================ */

/* Category Filter Styling */
.category-filter-section .card {
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.05);
}

.category-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  border: 2px solid #e9ecef;
  color: #495057;
  font-weight: 500;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: visible; /* allow decorative SVGs to overflow without clipping */
  user-select: none;
  padding: 0.35rem 0.6rem;
  min-height: 36px;
  border-radius: 999px;
}

.category-filter-btn:hover {
  background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
  border-color: #2196f3;
  color: #1976d2;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.12);
}

.category-filter-btn.active {
  background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
  border-color: #1976d2;
  color: white;
  box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3);
}

.category-filter-btn.active .category-count {
  background-color: rgba(255,255,255,0.9) !important;
  color: #1976d2 !important;
}

.category-filter-btn:active {
  transform: scale(0.985);
}

/* Category count badges */
.category-count {
  font-size: 0.72rem;
  padding: 0.08em 0.45em;
  border-radius: 999px;
  font-weight: 700;
  transition: all 0.18s ease;
  min-width: 1.6em;
  text-align: center;
  line-height: 1;
}

/* Hover effect with shimmer */
.category-filter-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 120%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: left 0.6s;
  z-index: 1;
  pointer-events: none;
}

.category-filter-btn:hover::before {
  left: 100%;
}

/* Ensure category button icons/text sit above decorative layers */
.category-filter-btn > * {
  position: relative;
  z-index: 2;
}

/* Container improvements */
.category-buttons {
  align-items: center;
}

/* Clear filters button animation */
#clearCategoryFilters {
  transition: all 0.3s ease;
}

#clearCategoryFilters:hover {
  transform: scale(1.05);
}