/* Product category container */
.product_category_container{
    padding: 80px 100px;
}

/* Category title */
.category_title{
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Category title */
.category_title .h2{
    width: fit-content;
    border-bottom: 2px solid var(--purple1);
    border-image: linear-gradient(to right, transparent 25%, var(--purple1) 25%, var(--purple1) 75%, transparent 75%) 100% 1;
    padding-bottom: 10px;
}

/* List of categories */
.category_list{
    display: flex;
    flex-wrap: wrap;
    --cols: 5;
    --gap: 20px;
    gap: var(--gap);
    margin: 40px 0px;
}

/* Category item */
.category_item{
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    width: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
    border: 1px solid transparent;
    box-shadow: none;
    transition: box-shadow 0.3s ease; 
}

/* Category title */
.sub_category_item span{
    font-size: 16px;
    font-weight: 500;
}

/* Shops */
.shops{
    width: 100%;
}

/* Shops container title */
.shops > .caption1{
    color: var(--grey1);
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}


/* All categories (hidden on mobile) */
.desktop_categories{
    display: flex;
}

/* All categories (hidden on desktop/tablet) */
.mobile_categories{
    display: none;
}

.category_link{
    width: 100%;
    height: 170px;
    overflow: hidden;
}

.show_all_categories_btn{
    display: none;
}

/* Sub category link */
.category_link img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.category_item h3{
    padding-bottom: 15px;
    font-weight: 500;
    font-size: 16px;
    text-align: center;
}

.category_link_text{
    width: 100%;
    text-align: center;
}

.category_item:hover{
    border: 1px solid var(--grey2);
    box-shadow: 0px 0px 10px 0px rgba(23, 28, 36, 0.2);
    border-radius: 5px;
    transition: box-shadow 0.3s ease; 
}

@media screen and (max-width: 1200px){

    /* List of categories */
    .category_list{
        --cols: 4;
    }
}

@media screen and (max-width: 1100px){
    /* Product category container */
    .product_category_container{
        padding: 80px 50px;
    }
}

@media screen and (max-width: 1000px){
    
    /* List of categories */
    .category_list{
        --cols: 3;
    }
}

@media screen and (max-width: 900px){
    
    /* List of categories */
    .category_list{
        --cols: 2;
    }

    /* Sub category link */
    .category_link{
        height: 290px;
    }
}

@media screen and (max-width: 767px){
    
    /* List of categories */
    .category_list{
        --cols: 1;
        gap:35px;
        margin: 30px 0px 0px 0px;
    }

    /* Product category container */
    .product_category_container{
        padding: 50px 20px;
    }

    /* "show more" button */
    .show_all_categories_btn{
        display: flex;
        justify-content: center;
    }

    /* "show more" button text */
    .show_all_categories_btn a{
        width: 80%;
        display: flex;
        justify-content: center;
        margin-top: 30px;
    }

    /* "show more" button */
    .show_more_mobile{
        opacity: 0;
        visibility: hidden;
        height: 0px;
        width: 0px;
        transition: opacity 1s ease;
    }

    /* "show more" button (active) */
    .show_more_mobile.active_show_more{
        opacity: 1;
        visibility: visible;
        width: calc(100% / var(--cols) - var(--gap) / var(--cols) * (var(--cols) - 1));
        height: auto;
    }

    /* All shops div */
    .shops{
        margin-top: 30px;
    }

    /* All categories (hidden on mobile) */
    .desktop_categories{
        display: none;
    }

    /* All categories (hidden on desktop/tablet) */
    .mobile_categories{
        display: flex;
        justify-content: center;
    }

    .show_all_categories_btn{
        display: flex;
    }

    /* Category title */
    .category_title .h2{
        font-size: 18px;
        line-height: 20px;
    }

    /* Category item */
    .category_item{
        opacity: 1;
        transition: opacity 0.5s ease;
        width: 80%;
        border: none;
    }

    .category_item:hover{
        border: none;
        box-shadow: none;
        border-radius: 0px;
        transition: none;
    }

    .category_item h3{
        padding-bottom: 0px
    }

    .category_link{
        height: 240px;
    }

    /* Hidden category item */
    .hidden_category, .hidden_category *{
        /* opacity: 0;
        pointer-events: none;
        visibility: hidden;
        max-height: 0px;
        transform: translateX(-100%);
        overflow: hidden;
        margin-bottom: -9999; */
        display: none;
    }
    
}

@media screen and (max-width: 479px){


    /* "show more" button text */
    .show_all_categories_btn a{
        width: 100%;
    }

    /* Sub category link */
    .category_link{
        height: 150px;
    }

    .category_item{
        width: 100%;
    }

}