/* Underskin — Portfolio */

.portfolio-filters {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin: var(--space-lg) 0;
    padding: var(--space-md) 0;
    border-block: 1px solid rgba(42, 30, 20, 0.15);
}

.portfolio-filters__group {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

@media (min-width: 1024px) {
    .portfolio-filters__group {
        flex-direction: row;
        align-items: center;
        gap: var(--space-md);
    }
}

.portfolio-filters__label {
    font-family: var(--font-signature);
    font-size: var(--font-size-sm);
    color: var(--accent);
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    min-width: 60px;
}

.portfolio-filters__chips {
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.portfolio-filters__chip {
    padding: var(--space-xxs) var(--space-sm);
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--ink);
    background: transparent;
    border: 1px solid rgba(42, 30, 20, 0.3);
    border-radius: 50px;
    text-decoration: none;
    transition:
        background-color var(--duration-fast) var(--ease-default),
        color var(--duration-fast) var(--ease-default),
        border-color var(--duration-fast) var(--ease-default);
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: inherit;
}

.portfolio-filters__chip:hover,
.portfolio-filters__chip:focus-visible {
    border-color: var(--accent);
    color: var(--accent);
}

.portfolio-filters__chip.is-active {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--bg);
}

.portfolio-grid {
    columns: 1;
    column-gap: var(--grid-gutter-mobile);
    margin-top: var(--space-lg);
}

@media (min-width: 768px) {
    .portfolio-grid {
        columns: 2;
        column-gap: var(--grid-gutter-desktop);
    }
}

@media (min-width: 1024px) {
    .portfolio-grid {
        columns: 3;
    }
}

@media (min-width: 1440px) {
    .portfolio-grid {
        columns: 4;
    }
}

.portfolio-item {
    break-inside: avoid;
    margin: 0 0 var(--grid-gutter-mobile);
    background: var(--surface);
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.portfolio-item img {
    width: 100%;
    display: block;
    transition: transform var(--duration-slow) var(--ease-default);
}

.portfolio-item:hover img {
    transform: scale(1.03);
}

.portfolio-item__caption {
    position: absolute;
    inset: auto 0 0 0;
    padding: var(--space-md) var(--space-sm) var(--space-sm);
    background: linear-gradient(to top, rgba(15, 14, 12, 0.9), transparent);
    color: var(--ink);
    opacity: 0;
    transition: opacity var(--duration-medium) var(--ease-default);
}

.portfolio-item:hover .portfolio-item__caption {
    opacity: 1;
}

.portfolio-item__artist {
    display: block;
    font-weight: 700;
    font-size: var(--font-size-sm);
}

.portfolio-item__style {
    font-size: var(--font-size-xs);
    opacity: 0.8;
}

.portfolio-empty {
    text-align: center;
    padding: var(--space-xl) 0;
    opacity: 0.7;
}
