.filter-menu,
.filter-items {
    margin: 0;
    padding: 0;
}

.filter-menu {
    margin-bottom: 20px;
    list-style: none;
}

.filter-menu li {
    display: inline-block;
    padding: var(--btn-space);
    background-color: var(--m4-color);
    color: var(--m1-color);
    border-bottom-left-radius: var(--l-radius);
    font-size: large;
    margin-right: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.filter-menu li:hover,
.filter-menu li.current {
    background: var(--m2-color);
    color: var(--m4-color);
}

.filter-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}

.filter-items li {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    opacity: 1;
    transition: opacity 0.5s ease;
    list-style-type: none;
    padding: 0;
    margin: 0;
    border-bottom-left-radius: var(--xl-radius);
    cursor: pointer;
}

.filter-items li.fade-out {
    opacity: 0;
}

.filter-items li.hidden {
    display: none;
}

.filter-items img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease;
    filter: grayscale(1);
}

.filter-items li:hover img {
    transform: scale(1.1);
    filter: grayscale(0);
}

@media screen and (min-width: 768px) {
    .filter-items {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (min-width: 1280px) {
    .filter-items {
        grid-template-columns: repeat(5, 1fr);
    }
}