/* ========================================
   WONDERLAND PRODUCT GRID
======================================== */

.woocommerce ul.products {
    gap: 24px;
}


/* ========================================
   PRODUCT CARD
======================================== */

.woocommerce ul.products li.product {
    position: relative;

    overflow: hidden;

    margin-bottom: 28px;

    padding: 12px 12px 18px;

    background: #fff;

    border: 1px solid var(--wl-border);
    border-radius: 22px;

    box-shadow:
        0 4px 16px rgba(45, 30, 70, .05);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);

    border-color: var(--wl-purple-light);

    box-shadow:
        0 18px 40px rgba(45, 30, 70, .12);
}


/* ========================================
   IMAGE
======================================== */

.woocommerce ul.products li.product
.woocommerce-loop-product__link {
    text-decoration: none;
}

.woocommerce ul.products li.product img {
    width: 100%;

    aspect-ratio: 1 / 1;

    margin: 0 0 14px !important;

    object-fit: contain;

    background: #fafafa;

    border-radius: 17px;
}


/* ========================================
   TITLE
======================================== */

.woocommerce ul.products li.product
.woocommerce-loop-product__title {
    min-height: 44px;

    margin: 0 4px 8px;

    padding: 0;

    color: var(--wl-text);

    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;

    transition: color .15s ease;
}

.woocommerce ul.products li.product:hover
.woocommerce-loop-product__title {
    color: var(--wl-purple);
}


/* ========================================
   PRICE
======================================== */

.woocommerce ul.products li.product .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;

    margin: 8px 4px 4px;

    color: var(--wl-purple-dark);

    font-size: 19px;
    font-weight: 800;
}

.woocommerce ul.products li.product .price del {
    order: 2;

    color: var(--wl-text-soft);

    font-size: 14px;
    font-weight: 500;

    opacity: .7;
}

.woocommerce ul.products li.product .price ins {
    order: 1;

    color: var(--wl-purple-dark);

    text-decoration: none;
}


/* ========================================
   SALE BADGE
======================================== */

.woocommerce ul.products li.product .onsale {
    position: absolute;

    top: 20px;
    left: 20px;
    right: auto;

    z-index: 3;

    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 7px 11px;

    background: var(--wl-pink);
    color: #fff;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;

    box-shadow:
        0 5px 14px rgba(255, 117, 181, .25);
}


/* ========================================
   STOCK
======================================== */

.wl-product-stock {
    display: flex;
    align-items: center;
    gap: 6px;

    margin: 7px 4px;

    color: #4b9d6a;

    font-size: 12px;
    font-weight: 700;
}

.wl-product-stock::before {
    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    background: #65c788;

    border-radius: 50%;
}

.wl-product-stock--out {
    color: #a59faa;
}

.wl-product-stock--out::before {
    background: #bcb7c1;
}


/* ========================================
   ADD TO CART
======================================== */

.woocommerce ul.products li.product
.button {
    width: calc(100% - 8px);

    margin: 12px 4px 0;
    padding: 13px 16px;

    text-align: center;

    background: var(--wl-purple);
    color: #fff;

    border-radius: 999px;

    font-size: 14px;
    font-weight: 800;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.woocommerce ul.products li.product
.button:hover {
    background: var(--wl-purple-dark);
    color: #fff;

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px rgba(123, 76, 226, .20);
}


/* AJAX added */

.woocommerce ul.products li.product
.added_to_cart {
    display: block;

    margin-top: 8px;

    text-align: center;

    color: var(--wl-purple);

    font-size: 13px;
    font-weight: 700;
}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .woocommerce ul.products li.product {
        padding: 8px 8px 14px;

        border-radius: 17px;
    }

    .woocommerce ul.products li.product img {
        border-radius: 13px;
    }

    .woocommerce ul.products li.product
    .woocommerce-loop-product__title {
        min-height: 38px;

        margin-left: 2px;
        margin-right: 2px;

        font-size: 14px;
    }

    .woocommerce ul.products li.product .price {
        margin-left: 2px;
        margin-right: 2px;

        font-size: 17px;
    }

    .woocommerce ul.products li.product .button {
        width: calc(100% - 4px);

        margin-left: 2px;
        margin-right: 2px;

        padding: 11px 10px;

        font-size: 13px;
    }

}
