/* ==================================
SHOP HERO
================================== */

.shop-hero{
    padding:120px 0;
    background:#faf7f2;
    text-align:center;
}

.shop-hero-content h1{
    font-size:60px;
    margin:15px 0;
}

.shop-subtitle{
    text-transform:uppercase;
    letter-spacing:2px;
    color:#b88a2f;
    font-weight:600;
}

.shop-hero-content p{
    max-width:700px;
    margin:auto;
    color:#666;
}

/* ==================================
SHOP SECTION
================================== */

.shop-section{
    padding:80px 0;
}

.shop-section .container{
    max-width:1400px;
    margin:auto;
    padding:0 30px;
}

/* ==================================
TOOLBAR
================================== */

.shop-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px;
    padding-bottom:20px;
    border-bottom:1px solid #eee;
}

/* ==================================
PRODUCT GRID
================================== */

.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:30px;
}

/* ==================================
PRODUCT CARD
================================== */

.product-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
    transition:all .3s ease;

    display:flex;
    flex-direction:column;
}

.product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 25px rgba(0,0,0,.12);
}

/* ==================================
PRODUCT IMAGE
================================== */

.product-image{
    position:relative;
    overflow:hidden;
    height:420px;
    background:#f8f8f8;
}

.product-image a{
    display:block;
    width:100%;
    height:100%;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s ease;
}

.product-card:hover .primary-image{
    transform:scale(1.05);
}

/* Hover Image */

.hover-image{
    position:absolute;
    top:0;
    left:0;
    opacity:0;
}

.product-card:hover .hover-image{
    opacity:1;
}

/* ==================================
SALE BADGE
================================== */

.sale-badge{
    position:absolute;
    top:15px;
    left:15px;
    z-index:10;

    background:#111;
    color:#fff;

    padding:7px 14px;
    border-radius:30px;

    font-size:11px;
    font-weight:600;
    letter-spacing:.5px;
}

/* ==================================
PRODUCT INFO
================================== */

.product-info{
    padding:18px;
    display:flex;
    flex-direction:column;
    flex:1;
}

/* ==================================
BRAND NAME
================================== */

.product-brand{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#888;
    margin-bottom:6px;
    font-weight:600;
}

/* ==================================
PRODUCT TITLE
================================== */

.product-title{
    height:52px;
    overflow:hidden;
    margin-bottom:12px;
    line-height:1.5;
}

.product-title a{
    text-decoration:none;
    color:#222;
    font-size:15px;
    font-weight:500;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.product-title a:hover{
    color:#c89b3c;
}

.product-category{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#999;
    margin-bottom:8px;
}

.wishlist-btn{
    position:absolute;
    top:15px;
    right:15px;

    width:40px;
    height:40px;

    background:#fff;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;
    cursor:pointer;

    box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.quick-view{
    position:absolute;
    bottom:-50px;
    left:50%;

    transform:translateX(-50%);

    background:#111;
    color:#fff;

    padding:10px 20px;
    border-radius:30px;

    transition:.3s;
}

.product-card:hover .quick-view{
    bottom:20px;
}
/* ==================================
PRICE
================================== */

.product-price{
    margin:12px 0;
}

.product-price del{
    color:#999;
    font-size:13px;
    margin-right:8px;
}

.product-price ins{
    text-decoration:none;
    color:#111;
    font-size:24px;
    font-weight:700;
}

.product-price > span{
    color:#111;
    font-size:24px;
    font-weight:700;
}

/* ==================================
RATING
================================== */

.product-rating{
    margin-bottom:15px;
}

/* ==================================
VIEW PRODUCT BUTTON
================================== */

.view-product-btn{
    display:block;
    width:100%;

    padding:14px;

    background:#111;
    color:#fff;

    text-align:center;
    text-decoration:none;

    border-radius:8px;

    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;

    transition:.3s ease;
}

.view-product-btn:hover{
    background:#c89b3c;
    color:#fff;
}

/* ==================================
ADD TO CART BUTTON
================================== */

.product-btn{
    margin-top:auto;
}

.product-btn .button,
.product-btn a.button,
.product-btn .add_to_cart_button,{
    width:100% !important;
    height:52px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:#111 !important;
    color:#fff !important;

    border:none !important;
    border-radius:8px !important;

    padding:0 20px !important;
    margin:0 !important;

    text-decoration:none !important;

    font-size:14px !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:1px !important;

    box-shadow:none !important;
    outline:none !important;

    transition:.3s ease !important;
}

.product-btn .button:hover,
.product-btn a.button:hover,
.product-btn .add_to_cart_button:hover,{
    background:#c89b3c !important;
    color:#fff !important;
}

/* Remove WooCommerce inner elements */

.product-btn .button::before,
.product-btn .button::after,
.product-btn a.button::before,
.product-btn a.button::after,
.product-btn .add_to_cart_button::before,
.product-btn .add_to_cart_button::after{
    display:none !important;
    content:none !important;
}

/* Remove inner span styling */

.product-btn .button span,
.product-btn a.button span,
.product-btn .add_to_cart_button span{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    color:#fff !important;
}

/* ==================================
WOOCOMMERCE RESET
================================== */

.woocommerce ul.products,
.woocommerce-page ul.products{
    margin:0;
    padding:0;
}

.woocommerce ul.products li.product{
    width:100%;
    margin:0;
}

/* ==================================
MOBILE
================================== */

@media(max-width:991px){

    .product-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .product-image{
        height:300px;
    }

    .product-title a{
        font-size:14px;
    }

    .product-price ins,
    .product-price > span{
        font-size:20px;
    }

    .view-product-btn,
    .product-btn .button{
        font-size:13px;
        padding:12px;
    }
}

@media(max-width:576px){

    .product-grid{
        grid-template-columns:1fr 1fr;
        gap:15px;
    }

    .product-image{
        height:240px;
    }

    .product-info{
        padding:14px;
    }
}

/* WooCommerce Button Reset */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
    box-shadow:none !important;
    background:transparent;
    border:none !important;
    padding:0 !important;
    margin:0 !important;
    color:#fff !important;
}

.woocommerce a.added_to_cart{
    display:none !important;
}

/* ==================================
SHOP WRAPPER
================================== */

.shop-wrapper{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:40px;
}

/* ==================================
SIDEBAR
================================== */

.shop-sidebar{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.shop-sidebar .filter-box{
    margin-bottom:0;
}

.filter-box{
    background:#fff;
    padding:30px;

    border-radius:16px;

    box-shadow:
    0 4px 15px rgba(0,0,0,.05);
}

filter-box:last-child{
    margin-bottom:0;
}

.filter-box h3{
    font-size:20px;
    font-weight:700;

    margin:0 0 20px;
    padding-bottom:15px;

    border-bottom:1px solid #eaeaea;
}

.category-list{
    list-style:none;
    padding:0;
    margin:0;
}

.category-list li{
    margin-bottom:15px;
    line-height:1.6;
}

.category-list li:last-child{
    margin-bottom:0;
}

.category-list a{
    color:#444;
    text-decoration:none;
    transition:.3s;
}

.category-list a:hover{
    color:#c89b3c;
    padding-left:5px;
}

.category-list .count{
    display:inline;
    margin-left:5px;
    color:#999;
    font-size:14px;
}

/* ==================================
PRODUCT AREA
================================== */

.shop-products{
    width:100%;
}

/* ==================================
RESPONSIVE
================================== */

@media(max-width:991px){

    .shop-wrapper{
        grid-template-columns:1fr;
    }

    .shop-sidebar{
    position:sticky;
    top:120px;

    display:flex;
    flex-direction:column;
    gap:25px;

    height:fit-content;
}

.price_slider_wrapper{
    margin-top:20px;
}

.ui-slider{
    height:4px;
    background:#ddd;
    border:none;
}

.ui-slider-range{
    background:#c89b3c;
}

.ui-slider-handle{
    width:18px;
    height:18px;

    border-radius:50%;

    background:#111 !important;
    border:none !important;

    top:-7px !important;
}

.price_slider_amount{
    display:flex;
    flex-direction:column;
    gap:15px;
    margin-top:20px;
}

.price_slider_amount button{
    background:#111 !important;
    color:#fff !important;

    border:none;
    padding:10px 18px;
    border-radius:8px;
}

/* ==================================
PRICE FILTER
================================== */

.price-filter-box .widget-title{
    font-size:20px;
    font-weight:700;

    margin:0 0 20px;
    padding-bottom:15px;

    border-bottom:1px solid #eaeaea;
}

.price_slider_wrapper{
    margin-top:20px;
}

.ui-slider{
    height:4px !important;
    background:#ddd !important;
    border:none !important;
}

.ui-slider-range{
    background:#c89b3c !important;
}

.ui-slider-handle{
    width:18px !important;
    height:18px !important;

    border-radius:50% !important;

    background:#111 !important;
    border:none !important;

    top:-7px !important;
}

.price_slider_amount{
    margin-top:20px;

    display:flex;
    flex-direction:column;
    gap:15px;
}

.price_slider_amount .button{
    background:#111 !important;
    color:#fff !important;

    border:none !important;
    border-radius:8px !important;

    padding:12px 20px !important;

    width:100%;
}

.price_slider_amount .button:hover{
    background:#c89b3c !important;
}

/* ==================================
SINGLE PRODUCT PAGE
================================== */

.single-product-page{
    padding:80px 0;
}

.single-product-page .container{
    max-width:1400px;
    margin:0 auto;
    padding:0 30px;
}