.mns-product-card{

    background:#fff;

    border:1px solid #ececec;

    border-radius:16px;

    overflow:hidden;

    transition:.25s;

}

.product-card:hover{

    transform:translateY(-5px);

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.mns-product-image-wrapper{

    position:relative;

    aspect-ratio:1 / 1;

    overflow:hidden;

    background:#f8f9fa;

}

.mns-product-image{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.3s;

}

.mns-image-main{

    opacity:1;

    transition:opacity .3s ease;

}

.mns-image-hover{

    position:absolute;

    inset:0;

    opacity:0;

    transition:opacity .3s ease;

}

.mns-product-card:hover .mns-image-main{

    opacity:0;

}

.mns-product-card:hover .mns-image-hover{

    opacity:1;

}

.mns-product-card:hover .mns-product-image{

    transform:scale(1.05);

}

.discount-badge{

    position:absolute;

    top:12px;
    left:12px;

    background:#ff5722;
    color:#fff;

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

    padding:6px 10px;

    border-radius:8px;

    z-index:2;

}

.mns-favourite-button{

    position:absolute;

    top:12px;
    right:12px;

    width:auto;
    height:auto;

    padding:0;

    border:none;
    background:transparent;

    color:#ffffff;

    font-size:24px;

    line-height:1;

    cursor:pointer;
  
  	outline: none;
	appearance: none;

    z-index:10;

    transition:.2s;

    text-shadow:
        0 2px 8px rgba(0,0,0,.45);

}

.mns-favourite-button:hover{

    background:transparent !important;

    border:none !important;

    transform:scale(1.18);

}

.mns-favourite-button:focus,
.mns-favourite-button:active{

    background:transparent !important;

    border:none !important;

    color:#ff4d6d;

}

.mns-favourite-button i{

    line-height:1;

}

.mns-favourite-button.active{

    color:#ff4d6d;

}

@keyframes mns-heart-pop{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.30);
    }

    100%{
        transform:scale(1);
    }

}

.mns-favourite-button.animate{

    animation:mns-heart-pop .25s ease;

}

.mns-product-body{

    padding:16px;

}

.mns-product-name{

    font-size:15px;

    font-weight:600;

    color:#333;

    line-height:1.5;

    height:45px;

    overflow:hidden;

}

.mns-product-price{

    display:flex;

    align-items:end;

    gap:8px;

    margin-top:12px;

}

.mns-sale-price{

    font-size:22px;

    font-weight:700;

    color:#00A86B;

}

.mns-old-price{

    font-size:14px;

    color:#999;

    text-decoration:line-through;

}

.shipping-badge{

    background:#E8FFF5;

    color:#00A86B;

    font-size:13px;

    font-weight:600;

    text-align:center;

    padding:8px;

    border-top:1px solid #f2f2f2;

    border-bottom:1px solid #f2f2f2;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:6px;
  	white-space: nowrap;

}


.mns-product-progress{

    margin-top:14px;

}

.mns-product-progress .mns-progress{

    height:8px;

    background:#eeeeee;

    border-radius:20px;

    overflow:hidden;

}

.mns-product-progress .mns-progress-bar{

    background:#00A86B;

    border-radius:20px;

}

.sold-text{

    margin-top:6px;

    font-size:12px;

    color:#777;

}

.mns-product-link{

    display:block;

    color:inherit;

    text-decoration:none;

}

.mns-product-link:hover{

    color:inherit;

    text-decoration:none;

}

@media (max-width:767px){

    .mns-product-name{
        font-size:16px;
    }

    .shipping-badge{
        font-size:12px;
        padding:8px 6px;
    }
  
  	/* Toolbar */
	.mns-filter-btn{
    	font-size:14px;
    	padding:8px 12px;
	}

	/* Nama Produk */
	.mns-product-name{
    	font-size:14px;
    	line-height:1.4;
    	height:40px;
	}

	/* Harga */
	.mns-sale-price{
    	font-size:18px;
	}

	.mns-old-price{
    	font-size:12px;
	}
 
}

/* Product Price - Prevent price from breaking */
.mns-product-price .mns-sale-price,
.mns-product-price .mns-sale-price .woocommerce-Price-amount,
.mns-product-price .mns-sale-price bdi{
    white-space:nowrap;
}

/* Product Price - Prevent old price from breaking */
.mns-product-price .mns-old-price,
.mns-product-price .mns-old-price .woocommerce-Price-amount,
.mns-product-price .mns-old-price bdi{
    white-space:nowrap;
}

/* Shipping Badge - Responsive */
.mns-product-card .shipping-badge{
    white-space:nowrap;
}

@media (max-width:767px){
    .mns-product-card .shipping-badge{
        white-space:normal;
        line-height:1.25;
        text-align:center;
        overflow-wrap:break-word;
    }
}
