* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Блок со ссылками */

.sofa-categories-block {
    padding: 20px 0;
}

.sofa-categories-block li {
    margin: 0;
}

.sofa-categories-block ul {
    list-style: none;
}

.sofa-categories-block > nav > ul > li {
    position: relative;
}

.sofa-categories-block > p {
    font-size: 20px;
    margin-bottom: 20px;
}

.sofa-categories-block > nav > ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    column-gap: 15px;
    grid-auto-rows: 1fr;
    align-items: center;
}

.sofa-categories-block > nav > ul > * {
    position: relative;
}

.sofa-categories-block > nav > ul > li > a {
    position: relative;
    min-width: 0;
    display: inline-flex;
    color: black;
    align-items: center;
    padding: 5px 15px 5px 0;
}

.sofa-categories-block > nav > ul > li > a:after {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    right: 0;
    background: url('down-arrow.svg') center / contain no-repeat;
    transition: .3s;
}

.sofa-categories-block__category--expanded:after {
    transform: rotate(180deg);
}

@media (hover: hover) {
    .sofa-categories-block > nav > ul > li > a {
        transition: .2s;
    }

    .sofa-categories-block > nav > ul > li > a:hover {
        color: grey;
    }
}

.sofa-categories-block > nav > ul > li > ul {
    display: none;
    position: absolute;
    width: 100%;
    background-color: #f6f6f6;
    border: 1px solid grey;
    z-index: 10;
    transition: .3s;
    padding: 10px;
    border-radius: 5px;
}

.sofa-categories-block__list-sub--expanded {
    display: block !important;
    animation: block-category-fade-in .3s forwards;
}

.sofa-categories-block > nav > ul > li > ul a {
    transition: .2s;
}

@media (hover: hover) {
    .sofa-categories-block > nav > ul > li > ul a:hover {
        color: #ff8702;
    }
}

/* Animation */

@keyframes block-category-fade-in {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}