/* =========================================================
   SHOP / PRODUCT ARCHIVE
========================================================= */

section.shop{
    margin:40px 0;
    direction:rtl;
    text-align:right;
}

/* جابه‌جایی دکمه سبد و علاقه‌مندی در آرشیو */

section.shop .item .item-btn{
    direction:rtl;
}

section.shop .item .add-to-cart{
    order:1;
}

section.shop .item .add-to-heart{
    order:2;
}
/* =========================================================
   ARCHIVE TITLE
========================================================= */

section.shop .shop-title,
section.shop h1{
    position:relative;
    margin:0 0 28px;
    padding-right:16px;
    color:#222;
    font-size:20px;
    font-weight:800;
    line-height:1.7;
    text-align:right;
}

section.shop .shop-title::before,
section.shop h1::before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:4px;
    height:24px;
    border-radius:20px;
    background:#D32F2F;
    transform:translateY(-50%);
}


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

section.shop > .container > .row{
    align-items:flex-start;
}

section.shop .col-lg-9 > .row{
    align-items:stretch;
}

section.shop .col-6,
section.shop .col-md-4,
section.shop .col-xl-4{
    display:flex;
}


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

section.shop .col-6 > .item,
section.shop .col-md-4 > .item,
section.shop .col-xl-4 > .item{
    position:relative;
    display:flex;
    flex-direction:column;
    width:100%;
    height:430px;
    overflow:hidden;
    border:1px solid #ececec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

section.shop .col-6 > .item:hover,
section.shop .col-md-4 > .item:hover,
section.shop .col-xl-4 > .item:hover{
    border-color:#ddd;
    box-shadow:0 15px 35px rgba(0,0,0,.09);
    transform:translateY(-6px);
}


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

section.shop .product-image{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    height:245px;
    margin:0;
    padding:20px;
    overflow:hidden;
    border-bottom:1px solid #f2f2f2;
    background:#fafafa;
    text-decoration:none;
}

section.shop .product-image img{
    display:block;
    width:100%;
    height:100%;
    padding:0;
    object-fit:contain;
    transition:transform .4s ease;
}

section.shop .item:hover .product-image img{
    transform:scale(1.07);
}


/* =========================================================
   DISCOUNT
========================================================= */

section.shop .item span.offer{
    position:absolute;
    top:13px;
    right:13px;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:45px;
    height:28px;
    margin:0;
    padding:0 9px;
    border-radius:7px;
    background:#D32F2F;
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-shadow:0 4px 10px rgba(211,47,47,.25);
}


/* =========================================================
   PRODUCT DETAILS
========================================================= */

section.shop .item-details{
    position:relative;
    display:flex;
    flex:1;
    flex-direction:column;
    padding:15px;
}


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

section.shop .item a.product-title{
    order:1;
    display:-webkit-box;
    min-height:46px;
    margin:0 0 8px;
    padding:0;
    overflow:hidden;
    direction:rtl;
    color:#292929;
    font-size:13px;
    font-weight:700;
    line-height:23px;
    text-align:right;
    text-decoration:none;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    transition:color .25s ease;
}

section.shop .item:hover a.product-title{
    color:#D32F2F;
}


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

section.shop .price{
    order:2;
    display:flex;
    align-items:baseline;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:8px;
    width:100%;
    margin:0;
    padding:0;
    direction:rtl;
    text-align:right;
}

section.shop .price del{
    order:2;
    margin:0;
    padding:0;
    color:#aaa;
    font-size:11px;
    font-weight:500;
    text-decoration-color:#D32F2F;
}

section.shop .price del .woocommerce-Price-amount{
    color:#aaa;
    font-size:11px;
    font-weight:500;
}

section.shop .price .new-price{
    order:1;
    display:inline-block;
    margin:0;
    padding:0;
    color:#D32F2F;
    font-size:17px;
    font-weight:800;
    line-height:1.8;
}

section.shop .price .new-price .woocommerce-Price-amount{
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
}

section.shop .price .woocommerce-Price-currencySymbol{
    margin-right:3px;
    font-size:10px;
    font-weight:500;
}


/* =========================================================
   PRODUCT BUTTONS
========================================================= */

section.shop .item .item-btn{
    position:absolute;
    right:auto;
    bottom:14px;
    left:14px;
    display:flex;
    align-items:center;
    gap:7px;
}

section.shop .item a.add-to-cart,
section.shop .item a.add-to-heart{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:37px;
    height:37px;
    margin:0;
    padding:0;
    overflow:hidden;
    border:1px solid #e8e8e8;
    border-radius:9px;
    background:#f7f7f7;
    color:#333;
    font-size:16px;
    text-decoration:none;
    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease;
}

section.shop .item a.add-to-cart:hover{
    border-color:#D32F2F;
    background:#D32F2F;
    color:#fff;
    transform:translateY(-2px);
}

section.shop .item a.add-to-heart:hover{
    border-color:#D32F2F;
    background:#fff0f0;
    color:#D32F2F;
    transform:translateY(-2px);
}


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

section.shop .item a.add-to-cart.loading{
    border-color:#D32F2F;
    background:#D32F2F;
    color:#fff;
    pointer-events:none;
    transform:none;
}

section.shop .item a.add-to-cart i{
    opacity:1;
    transition:opacity .15s ease;
}

section.shop .item a.add-to-cart.loading i{
    opacity:0;
}
section.product-slider .item a.add-to-cart.added::after,
section.shop .item a.add-to-cart.added::after{
    content:none !important;
    display:none !important;
}
section.shop .item a.add-to-cart.loading::after{
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    right:auto !important;
    width:17px !important;
    height:17px !important;
    margin:0 !important;
    border:2px solid rgba(255,255,255,.4) !important;
    border-top-color:#fff !important;
    border-radius:50% !important;
    background:none !important;
    transform:translate(-50%,-50%);
    animation:shop-cart-loading .65s linear infinite !important;
}

@keyframes shop-cart-loading{
    from{
        transform:translate(-50%,-50%) rotate(0deg);
    }

    to{
        transform:translate(-50%,-50%) rotate(360deg);
    }
}


/* =========================================================
   ADDED TO CART
========================================================= */

section.shop .item a.add-to-cart.added{
    border-color:#4BB650;
    background:#4BB650;
    color:#fff;
}

section.shop .added_to_cart,
section.shop .added_to_cart.wc-forward{
    display:none !important;
}


/* =========================================================
   SIDEBAR
========================================================= */

section.shop .sidebar{
    direction:rtl;
}

section.shop .sidebar.sticky-top{
    top:25px;
    z-index:10;
}

section.shop .sidebar .item{
    height:auto;
    margin:0 0 20px;
    padding:18px;
    overflow:hidden;
    border:1px solid #ececec;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 18px rgba(0,0,0,.035);
}


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

section.shop .sidebar .sidebar-title{
    position:relative;
    display:block;
    margin:0 0 14px;
    padding:0 13px 13px 0;
    border-bottom:1px solid #eee;
    color:#222;
    font-size:14px !important;
    font-weight:800;
    line-height:1.8;
}

section.shop .sidebar .sidebar-title::before{
    content:"";
    position:absolute;
    top:7px;
    right:0;
    width:3px;
    height:17px;
    border-radius:10px;
    background:#E80545;
}


/* =========================================================
   SIDEBAR LIST
========================================================= */

section.shop .sidebar ul{
    margin:0;
    padding:0;
    direction:rtl;
    list-style:none;
}

section.shop .sidebar li{
    position:relative;
    margin:0;
    padding:0;
    border-bottom:1px solid #f3f3f3;
}

section.shop .sidebar li:last-child{
    border-bottom:0;
}

section.shop .sidebar li a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:41px;
    padding:7px 15px 7px 5px;
    color:#555;
    font-size:11px;
    font-weight:500;
    line-height:1.8;
    text-decoration:none;
    transition:
        color .2s ease,
        padding-right .2s ease,
        background .2s ease;
}

section.shop .sidebar li a::before{
    content:"";
    position:absolute;
    top:50%;
    right:2px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#ccc;
    transform:translateY(-50%);
    transition:.2s ease;
}

section.shop .sidebar li a:hover{
    padding-right:19px;
    background:#fafafa;
    color:#E80545;
}

section.shop .sidebar li a:hover::before{
    background:#E80545;
}


/* =========================================================
   NO PRODUCTS
========================================================= */

section.shop .woocommerce-info{
    margin:0;
    padding:18px;
    border:1px solid #eee;
    border-top:3px solid #E80545;
    border-radius:12px;
    background:#fff;
    color:#555;
    font-size:12px;
}


/* =========================================================
   PAGINATION
========================================================= */

section.shop .shop-pagination{
    width:100%;
    margin-top:45px;
    padding-top:25px;
    border-top:1px solid #eee;
}

section.shop .shop-pagination .woocommerce-pagination{
    width:100%;
    margin:0;
    padding:0;
}

section.shop .shop-pagination ul.page-numbers{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    width:100%;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    direction:rtl;
    list-style:none !important;
}

section.shop .shop-pagination ul.page-numbers li{
    display:block;
    float:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}

section.shop .shop-pagination .page-numbers{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid #eee;
    border-radius:10px;
    background:#fff;
    color:#555;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 2px 8px rgba(0,0,0,.025);
    transition:.2s ease;
}

section.shop .shop-pagination a.page-numbers:hover{
    border-color:#E80545;
    background:#fff3f6;
    color:#E80545;
    box-shadow:0 5px 15px rgba(232,5,69,.08);
    transform:translateY(-2px);
}

section.shop .shop-pagination .page-numbers.current{
    border-color:#E80545;
    background:#E80545;
    color:#fff;
    box-shadow:0 5px 15px rgba(232,5,69,.18);
}

section.shop .shop-pagination .page-numbers.dots{
    border-color:transparent;
    background:transparent;
    color:#999;
    box-shadow:none;
    pointer-events:none;
}

section.shop .shop-pagination .page-numbers.prev,
section.shop .shop-pagination .page-numbers.next{
    width:auto;
    min-width:40px;
    padding:0 13px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991.98px){

    section.shop{
        margin:32px 0;
    }

    section.shop .item{
        height:410px;
    }

    section.shop .product-image{
        height:225px;
    }

    section.shop .sidebar{
        margin-top:10px;
    }

    section.shop .sidebar.sticky-top{
        position:static !important;
        top:auto;
    }

}


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

@media(max-width:767.98px){

    section.shop{
        margin:28px 0;
    }


    /* Title */

    section.shop .shop-title,
    section.shop h1{
        margin-bottom:20px;
        padding-right:13px;
        font-size:17px;
    }

    section.shop .shop-title::before,
    section.shop h1::before{
        width:3px;
        height:19px;
    }


    /* Product */

    section.shop .item{
  		height: 390px !important;
   		border-radius: 11px !important;
    }

    section.shop .product-image{
        height:210px;
        padding:14px;
    }

    section.shop .item-details{
        padding:12px;
    }

    section.shop .item a.product-title{
        min-height:42px;
        margin-bottom:6px;
        font-size:11px;
        line-height:21px;
    }


    /* Price */

    section.shop .price{
        gap:5px;
    }

    section.shop .price .new-price{
        font-size:14px;
    }

    section.shop .price del,
    section.shop .price del .woocommerce-Price-amount{
        font-size:9px;
    }


    /* Discount */

    section.shop .item span.offer{
        top:9px;
        right:9px;
        min-width:39px;
        height:24px;
        padding:0 7px;
        font-size:9px;
    }


    /* Buttons */

    section.shop .item .item-btn{
        bottom:11px;
        left:11px;
        gap:5px;
    }

    section.shop .item a.add-to-cart,
    section.shop .item a.add-to-heart{
        width:31px;
        height:31px;
        border-radius:7px;
        font-size:13px;
    }

    section.shop .item a.add-to-cart.loading::after{
        width:14px !important;
        height:14px !important;
    }


    /* Sidebar */

    section.shop .sidebar{
        margin-top:5px;
    }

    section.shop .sidebar .item{
        height:auto;
        margin-bottom:14px;
        padding:14px;
        border-radius:11px;
    }

    section.shop .sidebar .sidebar-title{
        margin-bottom:10px;
        padding-bottom:10px;
        font-size:12px !important;
    }

    section.shop .sidebar li a{
        min-height:38px;
        font-size:10px;
    }


    /* Pagination */

    section.shop .shop-pagination{
        margin-top:30px;
        padding-top:20px;
    }

    section.shop .shop-pagination ul.page-numbers{
        gap:5px;
    }

    section.shop .shop-pagination .page-numbers{
        width:36px;
        height:36px;
        border-radius:8px;
        font-size:10px;
    }

    section.shop .shop-pagination .page-numbers.prev,
    section.shop .shop-pagination .page-numbers.next{
        min-width:36px;
        padding:0 9px;
    }

}


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

@media(max-width:575.98px){

    section.shop{
        margin:25px 0;
    }

    section.shop .shop-title,
    section.shop h1{
        margin-bottom:17px;
        font-size:16px;
    }

}