.category-filter-section {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px
}

.category-main-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.5rem
}

.tabs-container {
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem
}

.category-tab {
    padding: .75rem 1.5rem;
    border: 2px solid var(--color-border, #e5e5e5);
    background: #fff0;
    color: var(--color-secondary-text, #666);
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.2s ease
}

.category-tab:hover {
    border-color: var(--color-primary, #ff6b35);
    color: var(--color-primary, #ff6b35);
    transform: translateY(-2px)
}

.category-tab.active {
    background: var(--color-primary, #ff6b35);
    border-color: var(--color-primary, #ff6b35);
    color: #fff
}

.post-card-wrapper {
    transition: opacity 0.3s ease, transform 0.3s ease
}

.post-card-wrapper.hidden {
    display: none
}

.no-posts-message {
    color: var(--color-secondary-text, #666);
    font-size: 1.1rem
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.load-more-btn {
  padding: 12px 32px;
  background: var(--color-primary, #3eb0ef);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
}

.load-more-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  background: var(--color-primary-hover, #2a9fd8);
}

.load-more-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.load-more-container {
  text-align: center;
  margin-top: 2rem;
}