.woocommerce .product_wrapper {

    display: flex; flex-direction: column; min-height: 100%;
}
.archive.woocommerce h1 {
    margin-bottom: 1rem;
}
.archive.woocommerce #primary {
    padding:30px 0;
}
.archive.woocommerce .term-description {
    font-family: serif;
}
.archive .archive-product {
    margin-top: 60px;
}
.tax-product_cat .archive-product {
    margin-top: 20px;
}
.archive-product ul.products > li {
    list-style: none outside;
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0;
    margin-left: -1px;
    margin-right: -1px;
    margin-bottom: 0;
}
.woocommerce .woocommerce-result-count{
    float: left;
}
.woocommerce .woocommerce-ordering{
    float: right;
}
.woocommerce ul.products li.product a img{
    object-fit: contain;
    margin: 0; position: absolute; top:0; left: 0; width: 100%; height: 100%; transition: .3s
}
.woocommerce ul.products li.product .product-thumb a {
    display: block; position: relative; overflow: hidden;
}
.woocommerce ul.products li.product .product-thumb a:before {
    content:'';display: block; width: 100%; padding-bottom: 100%;
}
.woocommerce ul.products li.product .product-thumb a:hover img {
    transform: scale(1.05); transition: .5s;
}
.search ul.products li.product .product-thumb img {
    position: absolute; top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.search ul.products li.product .product-thumb a {
    position: relative;
    display: block;
}
.search ul.products li.product .product-thumb a:before {
    padding-bottom: 100%;
    content: '';
    display: block;
}
.single-product ul.products li.product{
    margin: 0 10px;
    background: white;
}
.woocommerce ul.products {
    display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px;
}
.woocommerce .archive-product ul.products{
    margin-left: -15px; margin-right: -15px;
}
.woocommerce ul.products > li {
    flex:0 0 25%; max-width: 25%; padding:0 15px; margin-bottom: 30px; text-align: center;
}
.woocommerce ul.products .woocommerce-loop-product__title {
    margin-top: 0; padding:.3em 5px 0; flex-grow: 1; text-align: center;
    font-weight: normal; color: #000; margin:0;
}
.single-product .related .woocommerce-loop-product__title {
    font-size: 1.3rem;
}
.woocommerce ul.products .woocommerce-loop-product__title a {

    color: inherit;
    line-height: 1.5;
    word-break: break-all;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: block;
    display: -webkit-box;
    text-overflow: ellipsis;
    overflow: hidden;
    min-height: 2.6em; word-break: break-word;
}
@media(max-width: 1024px){
    .woocommerce ul.product_list_widget span.product-title{
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
    }
    .archive.woocommerce h1 {
        text-align: left;
    }
}
@media (max-width: 650px) {
    .tax-product_cat #primary {
        padding:0 10px;
    }
    .archive-product ul.products {
        margin-left: -15px; margin-right: -15px;
    }
    .woocommerce .woocommerce-ordering {
        padding-right: 15px
    }
    .woocommerce ul.products > li {
        flex:0 0 50%; max-width: 50%
    } 
    .single .related.products ul.products li,.single .upsells.products ul.products li,
    .post-type-archive-product.woocommerce .archive-product ul.products li {
        padding:0 6px;
    }
    .single-product ul.products li.product{
        margin: 0;
        background: white;
    }
}
@media (max-width: 380px) {
    .woocommerce ul.products > li {
        flex:0 0 25%; max-width: 25%
    }
}