.section--gallery_header-wrap {
    margin-bottom: clamp(1.875rem, 1.307rem + 2.273vw, 3.125rem);
}
@layer cariations {
    .section--gallery_header-wrap .heading--section {
        margin-bottom: 0;
    }
}

.catalog-categories-wrap {
    position: relative;
}

.catalog-categories_filter {
    gap: clamp(1.125rem, 0.784rem + 1.364vw, 1.875rem);
    color: var(--white);
    background-color: var(--red);
    font-size: 18px;
    font-weight: 500;
    

    & li:not(:first-child) {
        text-transform: uppercase;
    }
}

.catalog-category_toggler {
    content: '';
    margin-left: 7px;
    display: inline-block;
    width: 11px;
    height: 7px;
    background: url(../assets/icons/chevron-white-down.svg) center/contain no-repeat;

    &.active {
        transform: rotate(180deg);
    }

    &.active + .catalog-subcategory-wrap {
        visibility: visible;
        opacity: 1;
        height: auto;
    }
}
.catalog-subcategory-wrap {
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s;
}
.catalog_search {
    position: relative;
    margin: 20px 0 25px;
    
    & > input[type="search"] {
        opacity: 0;
        padding-left: 40px;
    }
}
.catalog_search-icon {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;

    display: block;
    width: 23px;
    height: 23px;
    margin-top: -11.5px;

    background: url(../assets/icons/search.svg) center/contain no-repeat;
    cursor: pointer;

    &.active {
        right: unset;
        left: 10px;
        background-image: url(../assets/icons/cross.svg);
    }
    &.active + input[type="search"] {
        opacity: 1;
    }
}

@media (max-width: 992px) {
    .catalog-categories_filter {
        margin: 0 -30px;
        padding: 0 30px;
        overflow-x: scroll;
    }
    .catalog-category {
        padding: 20px 0;
    }
    .catalog-subcategory-list {
        position: absolute;
        top: 100%;
        left: -30px;
        z-index: 3;
    
        gap: 15px;
        width: 100vw;
        padding: 15px 30px;
    
        background-color: var(--black);
        transition: opacity .2s;
    }
}
@media(min-width:992px) {
    .catalog {
        gap: 20px;
    }
    .catalog-category {
        flex-wrap: wrap;
    }
    .catalog-categories_filter {
        width: 300px;
        height: 100%;
        padding: 45px;
        border-radius: 7px;
    }
    .catalog-subcategory-wrap {
        width: 100%;
        height: 0;
    }
    .catalog-subcategory-list {
        gap: 10px;
        padding: 10px;
    }
    .catalog-category_toggler{cursor: pointer;}
    .catalog-category_toggler.active + .catalog-subcategory-list {
        height: auto;
        visibility: visible;
        opacity: 1;
    }
}
