.plp-empty-state{
    width:100%;
    min-height:500px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    grid-column:1/-1;
}

.empty-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    background:#f5f5f5;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
    margin: 0 auto;
}

.empty-icon i{
    font-size:42px;
    color:#999;
}

.plp-empty-state h3{
    font-size:32px;
    font-weight:700;
    margin-bottom:10px;
}

.plp-empty-state p{
    color:#777;
    max-width:450px;
    line-height:1.7;
}




.product-skeleton{
    background:#fff;
    border-radius:12px;
    padding:15px;
    border:1px solid #eee;
}

.skeleton{
    position:relative;
    overflow:hidden;
    background:#ececec;
    border-radius:6px;
}

.skeleton::after{
    content:'';
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.75),
        transparent
    );
    animation:shimmer 1.2s infinite;
}

@keyframes shimmer{
    100%{
        transform:translateX(100%);
    }
}

.skeleton-image{
    height:220px;
    margin-bottom:15px;
}

.skeleton-title{
    height:16px;
    margin-bottom:10px;
}

.skeleton-title.short{
    width:70%;
}

.skeleton-rating{
    width:45%;
    height:14px;
    margin-bottom:15px;
}

.skeleton-price{
    width:60%;
    height:22px;
    margin-bottom:20px;
}

.skeleton-button{
    height:42px;
}




.cart-skeleton{

    display:flex;

    gap:20px;

    padding:20px;

    border-bottom:1px solid #ececec;
    background: #ffffff;

}

.cart-skeleton-image{

    width:120px;

    height:120px;

    border-radius:12px;

    background:#ececec;

    flex-shrink:0;

}

.cart-skeleton-content{

    width:100%;

}

.skeleton-title{

    height:20px;

    width:80%;

    margin-bottom:18px;

}

.skeleton-price{

    width:140px;

    height:18px;

    margin-bottom:15px;

}

.skeleton-line{

    width:100%;

    height:14px;

    margin-bottom:12px;

}

.shimmer{

    position:relative;

    overflow:hidden;

    background:#ececec;

}

.shimmer::before{

    content:"";

    position:absolute;

    inset:0;

    transform:translateX(-100%);

    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.8),

        transparent

    );

    animation:skeleton 1.1s infinite;

}

@keyframes skeleton{

    100%{

        transform:translateX(100%);

    }

}








.swal2-popup{
    border-radius:22px !important;
    padding:2rem !important;
    box-shadow:0 20px 60px rgba(0,0,0,.15)!important;
}

.swal2-title{
    font-size:30px!important;
    font-weight:700!important;
}

.swal2-html-container{
    font-size:16px!important;
    color:#6b7280!important;
}

.swal2-confirm{

    background:#C61F3A!important;

    border-radius:12px!important;

    padding:12px 30px!important;

    font-weight:600!important;

    box-shadow:none!important;

}

.swal2-cancel{

    background:#f3f4f6!important;

    color:#111827!important;

    border-radius:12px!important;

    padding:12px 30px!important;

    box-shadow:none!important;

}

.swal2-icon{

    border-color:#C61F3A!important;

    color:#C61F3A!important;

}

.swal2-actions{

    gap:12px;

}






/*search result page*/
/* =========================
   PLP LIST SKELETON
========================= */

.plp-product-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.product-skeleton-list {
    width: 100%;
    min-height: 235px;

    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;

    padding: 16px;

    display: flex;
    gap: 28px;

    overflow: hidden;
}

/* Image */
.skeleton-list-image {
    width: 140px;
    height: 170px;

    flex: 0 0 140px;

    border-radius: 8px;
}

/* Content */
.skeleton-list-content {
    flex: 1;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Common skeleton */
.product-skeleton-list .skeleton {
    position: relative;
    overflow: hidden;

    background: #e9ecef;
    border-radius: 5px;
}

.product-skeleton-list .skeleton::after {
    content: "";

    position: absolute;
    top: 0;
    left: -150px;

    width: 150px;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.55),
        transparent
    );

    animation: skeleton-loading 1.4s infinite;
}

@keyframes skeleton-loading {

    0% {
        left: -150px;
    }

    100% {
        left: 100%;
    }

}

/* Title */
.skeleton-list-title {
    width: 55%;
    height: 18px;

    margin-bottom: 8px;
}

.skeleton-list-title.short {
    width: 35%;
    height: 15px;

    margin-bottom: 15px;
}

/* Rating */
.skeleton-list-rating {
    width: 120px;
    height: 15px;

    margin-bottom: 14px;
}

/* Discount */
.skeleton-list-discount {
    width: 65px;
    height: 22px;

    margin-bottom: 10px;
}

/* Price */
.skeleton-list-price {
    width: 180px;
    height: 22px;

    margin-bottom: 10px;
}

/* Small info */
.skeleton-list-small {
    width: 145px;
    height: 14px;

    margin-bottom: 8px;
}

/* Buttons */
.skeleton-list-buttons {
    display: flex;
    gap: 10px;

    margin-top: 10px;
}

.skeleton-list-button {
    width: 105px;
    height: 36px;

    border-radius: 5px !important;
}