.archive-index {
  padding-block: clamp(2rem, 5vw, 3.5rem) var(--spacing-xxl);
}

@media (max-width: 47.99rem) {
  .archive-index {
    padding-inline: 1.5rem;
  }
}

.archive-index h1 {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--spacing-md);
  max-width: 56rem;
  margin: 0 auto;
}

.category-card {
  background-color: var(--bg-primary);
  padding: 1.5rem 1.25rem;
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--border-card);
  text-align: center;
  font-family: var(--font-family-primary);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.category-grid > a:hover .category-card,
.category-grid > a:focus-visible .category-card {
  border-color: var(--color-secondary);
  box-shadow: var(--shadow-md);
}

.category-card img {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: cover;
  border-radius: var(--radius-md);
  margin-bottom: 0.85rem;
}

.category-card h2 {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  margin-bottom: 0;
  color: var(--text-header);
}

.category-card a {
  color: inherit;
  text-decoration: none;
}
