.products-grid {
    display: flex;
    justify-content: space-around;
    flex-direction: row;
    flex-wrap: wrap;
}
.product-item {
    width: 320px;
}
.product-item a {
    display: block;
}
.product-item a .product-img-container {
    position: relative;
}
.product-item a .product-img-container img {    
    width: 100%;
    top: 0;
    transition: opacity 0.5s ease-in-out;
    display: block;
}
.product-item a .product-img-container img.main-img {
    position: absolute;
    opacity: 1;    
}
.product-item a .product-img-container img.hover-img {
    opacity: 0;
    position: relative;
}
.product-item a:hover .product-img-container img.main-img {
    position: relative;
    opacity: 0;
}
.product-item a:hover .product-img-container img.hover-img {
    position: absolute;
    opacity: 1;
}

/* если нет галереи то нет второй картинки*/
.product-item a .product-img-container img.main-img + img.main-img {
    position: relative;
    opacity: 1;
}

.product-item a:hover .product-img-container img.main-img + img.main-img {
    position: absolute;
    opacity: 1;
}
/* END если нет галереи то нет второй картинки*/


/* loader */
.products-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px 0;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.products-loader.hidden {
    opacity: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
}

/* Спиннер */
.spinner {
    width: 32px;
    height: 32px;
    border: 4px solid #ddd;
    border-top-color: #444;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-bottom: 8px;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
/* END loader */