/* ============================================================
   ARCHIVE — Category/archive listing pages, 404
   ============================================================ */

.archive-header {
  padding: var(--space-12) 0 var(--space-8);
  text-align: center;
}
.archive-title { font-family: var(--font-display); font-size: 2rem; font-weight: 800; letter-spacing: -0.02em; }
.archive-desc { color: var(--text-secondary); margin-top: var(--space-3); max-width: 600px; margin-left: auto; margin-right: auto; }

/* ---- Filter tabs ---- */
.filter-bar { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-8); }
.filter-btn {
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: 0.82rem;
  font-weight: 600;
  border: 1.5px solid var(--border-medium);
  color: var(--text-muted);
  transition: all var(--transition-fast);
  background: transparent;
}
.filter-btn:hover, .filter-btn.active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

/* ---- 404 ---- */
.page-404 {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-20) var(--space-6);
}
.page-404 .code { font-family: var(--font-display); font-size: 8rem; font-weight: 800; color: var(--bg-muted); line-height: 1; }
.page-404 h2 { font-family: var(--font-display); font-size: 1.5rem; margin-bottom: var(--space-3); }
.page-404 p { color: var(--text-secondary); margin-bottom: var(--space-8); }