/* ==========================================================================
   Projects Archive
   ========================================================================== */

.projects-archive .container {
    padding-bottom: var(--space-4xl);
}

.archive-header {
    text-align: center;
    margin-bottom: var(--space-2xl);
}

.archive-header h1 {
    margin-bottom: var(--space-sm);
}

.archive-header__desc {
    color: var(--color-text-light);
    font-size: var(--font-size-lg);
}

/* --- Filters --- */
.projects-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
    margin-bottom: var(--space-2xl);
    padding: var(--space-lg);
    background: var(--color-bg-alt);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
}

.filter-group {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.filter-label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-muted);
    white-space: nowrap;
}

.filter-btn {
    padding: var(--space-xs) var(--space-md);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    color: var(--color-text-light);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.filter-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.filter-btn.is-active {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

/* --- Project card refinements --- */
.project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.project-card__image {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    overflow: hidden;
}

.project-card__image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform var(--transition-base);
}

.project-card:hover .project-card__image img {
    transform: scale(1.05);
}

.project-card__body {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.project-card__title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-sm);
}

.project-card__title a {
    color: var(--color-text);
    text-decoration: none;
}

.project-card__title a:hover {
    color: var(--color-primary);
}

.project-card__desc {
    color: var(--color-text-light);
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-md);
    line-height: var(--line-height-relaxed);
}

.project-card__meta {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
}

.project-card__version {
    background: var(--color-primary-light);
    color: var(--color-primary);
    padding: 2px 8px;
    border-radius: var(--radius-full);
    font-weight: var(--font-weight-semibold);
}

.project-card__size {
    background: var(--color-bg-alt);
    padding: 2px 8px;
    border-radius: var(--radius-full);
}

.project-card__actions {
    display: flex;
    gap: var(--space-sm);
    margin-top: auto;
}

/* --- No filter results --- */
.no-filter-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: var(--space-3xl);
    color: var(--color-text-muted);
}
