/*==================================================
GANGA SWEETS
PRODUCT LISTING PAGE
assets/css/products.css
==================================================*/

:root{

--primary1:#8B1E1E;
--primary1-dark:#6D1515;

--gold:#D8A028;
--gold-dark:#B98512;

--cream:#FFF9F3;

--light:#FFFDF9;

--border:#ECECEC;

--text:#555;

--title:#2E2E2E;

--shadow:0 15px 40px rgba(0,0,0,.08);

--radius:18px;

--transition:.35s;

}



img{

max-width:100%;

display:block;

}

a{

text-decoration:none;

transition:.3s;

}

ul{

list-style:none;

padding:0;

margin:0;

}

section{

position:relative;

}

/*=====================================
HERO
=====================================*/

.products-hero{

padding:40px 0;

background:

linear-gradient(

rgba(30,10,10,.65),

rgba(30,10,10,.65)

),

url("../images/contactbg.jpg")

center center

no-repeat;

background-size:cover;

text-align:center;

color:#fff;

}

.hero-content{

max-width:900px;

margin:auto;

}

.hero-content h1{

font-size:52px;

font-weight:700;

margin-bottom:15px;

}

.hero-content p{

font-size:18px;

opacity:.95;

margin-bottom:30px;

}

.breadcrumb{

justify-content:center;

margin:0;

}

.breadcrumb-item{

font-size:15px;

}

.breadcrumb-item a{

color:#FFD67A;

}

.breadcrumb-item.active{

color:#fff;

}

.breadcrumb-item + .breadcrumb-item::before{

color:#fff;

}

/*=====================================
PRODUCT SECTION
=====================================*/

.products-section{

padding:30px 0;

background:#fafafa;

}

/*=====================================
FILTER SIDEBAR
=====================================*/

.filter-card{

background:#fff;

border-radius:18px;

padding:30px;

box-shadow:var(--shadow);

position:sticky;

top:100px;

}

.filter-card h5{

font-size:22px;

font-weight:700;

color:var(--primary1);

margin-bottom:15px;

display:flex;

align-items:center;

gap:10px;

}

.filter-card hr{

margin:20px 0;

}

.filter-title{

display:block;

font-weight:600;

margin-bottom:12px;

color:var(--title);

}

/*=====================================
SEARCH
=====================================*/

.input-group{

overflow:hidden;

border-radius:10px;

}

.form-control{

height:52px;

border:1px solid var(--border);

box-shadow:none;

}

.form-control:focus{

border-color:var(--gold);

box-shadow:none;

}

.btn-search{

background:var(--gold);

color:#fff;

padding:0 22px;

border:none;

}

.btn-search:hover{

background:var(--gold-dark);

color:#fff;

}

/*=====================================
CHECKBOXES
=====================================*/

.form-check{

margin-bottom:12px;

}

.form-check-input{

cursor:pointer;

}

.form-check-input:checked{

background:var(--primary1);

border-color:var(--primary1);

}

.form-check-label{

cursor:pointer;

font-size:15px;

}

/*=====================================
PRICE RANGE
=====================================*/

.form-range{

margin-top:10px;

}

.form-range::-webkit-slider-thumb{

background:var(--gold);

}

.form-range::-moz-range-thumb{

background:var(--gold);

}

/*=====================================
SELECT
=====================================*/

.form-select{

height:50px;

border:1px solid var(--border);

box-shadow:none;

}

.form-select:focus{

border-color:var(--gold);

box-shadow:none;

}

/*=====================================
BUTTON
=====================================*/

.btn-theme{

background:var(--primary1);

color:#fff;

height:52px;

border:none;

border-radius:10px;

font-weight:600;

transition:.3s;

}

.btn-theme:hover{

background:var(--primary1-dark);

color:#fff;

transform:translateY(-2px);

}

/*=====================================
PRODUCT TOOLBAR
=====================================*/

.products-toolbar{

background:#fbe9e9;

padding:10px 25px;

border-radius:18px;

box-shadow:var(--shadow);

margin-bottom:30px;

}

.products-toolbar h4{

font-size:22px;

font-weight:600;

margin:0;

color:var(--title);

}

.products-toolbar span{

color:var(--primary1);

}

.toolbar-right{

display:flex;

justify-content:flex-end;

}

.toolbar-right .form-select{

max-width:240px;

}


/*==================================================
PRODUCT GRID
==================================================*/

#productGrid{
    margin-top:20px;
}

/*==================================================
PRODUCT CARD
==================================================*/

.product-card{

    position:relative;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 8px 30px rgba(0,0,0,.08);

    transition:all .35s ease;

    height:100%;

}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(0,0,0,.15);

}

/*==================================================
PRODUCT IMAGE
==================================================*/

.product-thumb{

    position:relative;

    overflow:hidden;

    background:#FFF8F1;

}

.product-thumb img{

    width:100%;

    height:280px;

    object-fit:cover;

    transition:.5s;

}

.product-card:hover .product-thumb img{

    transform:scale(1.08);

}

/*==================================================
BADGES
==================================================*/

.product-badge{

    position:absolute;

    top:18px;

    left:18px;

    z-index:5;

    color:#fff;

    font-size:12px;

    font-weight:700;

    letter-spacing:.5px;

    padding:7px 14px;

    border-radius:50px;

    text-transform:uppercase;

}

.bg-danger{
    background:#D62828!important;
}

.bg-success{
    background:#2A9D8F!important;
}

.bg-warning{
    background:#E9A209!important;
    color:#fff!important;
}

/*==================================================
ACTION BUTTONS
==================================================*/

.product-actions{

    position:absolute;

    right:18px;

    top:18px;

    display:flex;

    flex-direction:column;

    gap:10px;

    opacity:0;

    visibility:hidden;

    transform:translateX(15px);

    transition:.35s;

}

.product-card:hover .product-actions{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}

.action-btn{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:#fff;

    color:var(--primary1);

    box-shadow:0 5px 15px rgba(0,0,0,.12);

    transition:.3s;

    cursor:pointer;

}

.action-btn i{

    font-size:17px;

}

.action-btn:hover{

    background:var(--primary1);

    color:#fff;

    transform:rotate(360deg);

}

/*==================================================
PRODUCT CONTENT
==================================================*/

.product-content{

    padding:8px;

}

.product-content h5{

    font-size:16px;

    color:var(--title);

    font-weight:500;

    margin-bottom:12px;

    transition:.3s;
    text-align:left;

}

.product-card:hover h5{

    color:var(--primary1);

}

/*==================================================
RATING
==================================================*/

.rating{

    display:flex;

    align-items:center;

    gap:3px;

    margin-bottom:14px;

    color:#F5B301;

    font-size:14px;

}

.rating span{

    color:#777;

    margin-left:6px;

    font-size:14px;

}

/*==================================================
PRICE
==================================================*/

.price{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:20px;

}

.new-price{

    color:var(--primary1);

    font-size:18px;

    font-weight:700;

}

.old-price{

    color:#999;

    text-decoration:line-through;

    font-size:16px;

}

/*==================================================
ADD TO CART BUTTON
==================================================*/

.btn-cart{

    display:flex;
    cursor: pointer;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:100%;

    height:45px;

    border:none;

    border-radius:12px;

    background:linear-gradient(
        135deg,
        var(--primary1),
        #B32020
    );

    color:#fff;

    font-weight:600;

    transition:.35s;

}

.btn-cart i{

    font-size:18px;

}

.btn-cart:hover{

    color:#fff;

    transform:translateY(-2px);

    background:linear-gradient(
        135deg,
        #6D1515,
        var(--primary1)
    );

}

/*==================================================
IMAGE OVERLAY
==================================================*/

.product-thumb::after{

    content:"";

    /*position:absolute;*/

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.08),
        transparent
    );

    opacity:0;

    transition:.35s;

}

.product-card:hover .product-thumb::after{

    opacity:1;

}

/*==================================================
CARD ANIMATION
==================================================*/

.product-card{

    animation:fadeUp .6s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==================================================
PAGINATION
==================================================*/

.custom-pagination{

    margin-top:20px;

}

.custom-pagination .page-link{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    margin:0 6px;

    border-radius:50%;

    color:var(--primary1);

    background:#fff;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

    transition:.35s;

}

.custom-pagination .page-link:hover{

    background:var(--gold);

    color:#fff;

    transform:translateY(-3px);

}

.custom-pagination .page-item.active .page-link{

    background:var(--primary1);

    color:#fff;

    box-shadow:0 10px 25px rgba(139,30,30,.35);

}

.custom-pagination .page-item.disabled .page-link{

    background:#f5f5f5;

    color:#bbb;

    box-shadow:none;

}

/*==================================================
NEWSLETTER
==================================================*/

.newsletter-section{

    padding:80px 0;

    background:linear-gradient(
        135deg,
        var(--primary1),
        #A61F1F
    );

    color:#fff;

}

.newsletter-section h2{

    font-size:32px;

    font-weight:700;

    margin-bottom:15px;

}

.newsletter-section p{

    font-size:17px;

    opacity:.95;

    margin-bottom:0;

}

.newsletter-form{

    margin-top:10px;

}

.newsletter-form .input-group{

    overflow:hidden;

    border-radius:60px;

    background:#fff;

    padding:6px;

}

.newsletter-form .form-control{

    border:none;

    height:56px;

    padding-left:22px;

}

.newsletter-form .form-control:focus{

    box-shadow:none;

}

.newsletter-form .btn-theme{

    height:56px;

    padding:0 30px;

    border-radius:50px;

}

/*==================================================
QUICK VIEW MODAL
==================================================*/

.modal-content{

    border:none;

    border-radius:22px;

    overflow:hidden;

}

.modal-header{

    background:var(--primary1);

    color:#fff;

    border:none;

    padding:18px 25px;

}

.modal-header .btn-close{

    filter:invert(1);

}

.modal-body{

    padding:35px;

}

.modal-body img{

    border-radius:18px;

    background:#fafafa;

}

.modal-body h3{

    font-weight:700;

    color:var(--title);

    margin-bottom:15px;

}

.modal-body p{

    color:#666;

    line-height:1.8;

}

.modal-body input[type=number]{

    height:50px;

    border-radius:10px;

}

.modal-body .btn-theme{

    min-width:180px;

}

/*==================================================
ANIMATIONS
==================================================*/

.fade-up{

    animation:fadeUp .6s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.9);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

.modal.show .modal-dialog{

    animation:zoomIn .35s ease;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:1199px){

.product-thumb img{

    height:240px;

}

.hero-content h1{

    font-size:46px;

}

}

@media(max-width:991px){

.products-hero{

    padding:80px 0;

}

.hero-content h1{

    font-size:38px;

}

.hero-content p{

    font-size:16px;

}

.filter-card{

    position:relative;

    top:0;

    margin-bottom:30px;

}

.products-toolbar{

    margin-top:15px;

}

.toolbar-right{

    justify-content:flex-start;

    margin-top:15px;

}

.newsletter-section{

    text-align:center;

}

.newsletter-form{

    margin-top:25px;

}

.modal-body{

    padding:25px;

}

}

@media(max-width:767px){

.products-section{

    padding:5px 0;

}

.products-hero{

    padding:70px 0;

}

.hero-content h1{

    font-size:32px;

}

.hero-content p{

    font-size:15px;

}

.filter-card{

    padding:20px;

}

.products-toolbar{

    padding:10px;

}


.header-icons .count {
    position: absolute;
    top: 24px;
    right: 24%;
    
}
    

.products-toolbar h4{

    font-size:20px;

}

.product-thumb img{

    height:220px;

}

.product-content{

    padding:18px;

}

.product-content h5{

    font-size:20px;

}

.new-price{

    font-size:18px;

}

.newsletter-section{

    padding:60px 0;

}

.newsletter-section h2{

    font-size:30px;

}

.newsletter-form .input-group{

    display:block;

    background:none;

    padding:0;

}

.newsletter-form .form-control{

    border-radius:12px;

    margin-bottom:12px;

    border:1px solid rgba(255,255,255,.25);

}

.newsletter-form .btn-theme{

    width:100%;

    border-radius:12px;

}

.custom-pagination .page-link{

    width:40px;

    height:40px;

    margin:0 4px;

}

}

@media(max-width:575px){

.hero-content h1{

    font-size:28px;

}

.hero-content p{

    font-size:14px;

}

.product-thumb img{

    height:200px;

}

.action-btn{

    width:38px;

    height:38px;

}

.product-actions{

    right:12px;

    top:12px;

}

.product-badge{

    left:12px;

    top:12px;

    font-size:11px;

    padding:6px 12px;

}

.modal-body{

    padding:18px;

}

.modal-body .d-flex{

    flex-direction:column;

}

.modal-body .btn-theme{

    width:100%;

}

.modal-body input[type=number]{

    width:100%!important;

    margin-bottom:15px;

}

}

/*==================================================
UTILITY CLASSES
==================================================*/

.shadow-hover{

    transition:.35s;

}

.shadow-hover:hover{

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.rounded-xl{

    border-radius:20px;

}

.text-primary-theme{

    color:var(--primary1);

}

.bg-cream{

    background:var(--cream);

}


/*==================================================
COMPARE BAR
==================================================*/

#compareBar{

position:fixed;

bottom:-120px;

left:50%;

transform:translateX(-50%);

width:min(900px,95%);

background:#fff;

border-radius:18px;

box-shadow:0 20px 50px rgba(0,0,0,.18);

padding:18px 25px;

transition:.4s;

z-index:9999;

}

#compareBar.show{

bottom:20px;

}

.compare-content{

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

flex-wrap:wrap;

}

.compare-title{

font-size:18px;

font-weight:700;

color:var(--primary1);

}

#compareCount{

display:inline-flex;

align-items:center;

justify-content:center;

width:30px;

height:30px;

margin-left:8px;

border-radius:50%;

background:var(--gold);

color:#fff;

font-size:14px;

}

.compare-items{

display:flex;

flex-wrap:wrap;

gap:10px;

flex:1;

}

.compare-item{

background:#FFF6E9;

padding:8px 14px;

border-radius:50px;

font-size:14px;

display:flex;

align-items:center;

}

.remove-compare{

cursor:pointer;

color:#C62828;

font-size:16px;

}

@media(max-width:768px){

.compare-content{

flex-direction:column;

align-items:stretch;

}

.compare-btn{

width:100%;

}

}


/* =========================================
   PRODUCT SELECTION MODAL
========================================= */

.product-modal-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(20, 20, 20, 0.68);

    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 20px;

    z-index: 99999;

    opacity: 0;
    visibility: hidden;

    transition: all 0.25s ease;
}

.product-modal-overlay.show {
    opacity: 1;
    visibility: visible;
}


/* Modal */

.product-modal {
    width: 100%;
    max-width: 505px;

    background: #ffffff;

    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.30);

    transform: translateY(20px) scale(0.97);

    transition: all 0.25s ease;
}

.product-modal-overlay.show .product-modal {
    transform: translateY(0) scale(1);
}


/* =========================================
   HEADER
========================================= */

.product-modal-header {
    min-height: 128px;

    padding: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #eeeeee;
}

.product-modal-product {
    display: flex;
    align-items: center;
    gap: 18px;
}

.product-modal-image {
    width: 82px;
    height: 82px;

    flex: 0 0 82px;

    border-radius: 13px;

    background: #fff5e7;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;
}

.product-modal-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}

.product-modal-title h3 {
    margin: 0 0 8px;

    font-size: 20px;
    line-height: 1.25;

    font-weight: 700;

    color: #29251f;

    text-transform: uppercase;
}

.product-modal-title p {
    margin: 0;

    color: #9b8974;

    font-size: 13px;

    font-weight: 500;
}


/* Close */

.product-modal-close {
    width: 38px;
    height: 38px;

    border: 0;

    border-radius: 50%;

    background: #fff3df;

    color: #94724b;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    flex-shrink: 0;

    transition: all 0.2s ease;
}

.product-modal-close:hover {
    background: #f7dfbd;

    transform: rotate(90deg);
}

.product-modal-close i {
    font-size: 14px;
}


/* =========================================
   BODY
========================================= */

.product-modal-body {
    padding: 25px;
}

.modal-field {
    margin-bottom: 25px;
}

.modal-field > label {
    display: block;

    margin-bottom: 9px;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.7px;

    color: #9b8063;
}


/* Price */

.modal-main-price {
    font-size: 30px;

    line-height: 1;

    font-weight: 700;

    color: #312a24;
}

.modal-main-price span {
    font-size: 30px;
}


/* =========================================
   WEIGHT OPTIONS
========================================= */

.weight-options {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}

.weight-option {
    min-width: 103px;

    padding: 12px 14px;

    border-radius: 13px;

    border: 2px solid #eee3d2;

    background: #fff;

    cursor: pointer;

    text-align: center;

    transition: all 0.2s ease;
}

.weight-option span {
    display: block;

    color: #3b342e;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 4px;
}

.weight-option small {
    display: block;

    color: #074c8c;

    font-size: 12px;

    font-weight: 700;
}

.weight-option:hover {
    border-color: #074c8c;
}

.weight-option.active {
    border-color: #074c8c;

    background: #fffaf1;

    box-shadow: 0 2px 0 rgba(239, 188, 85, 0.08);
}


/* =========================================
   QUANTITY
========================================= */

.quantity-row {
    display: flex;

    align-items: center;

    gap: 14px;

    flex-wrap: wrap;
}

.quantity-control {
    height: 40px;

    display: flex;

    align-items: center;

    border: 1px solid #e9e0d4;

    border-radius: 12px;

    overflow: hidden;

    background: #ffffff;
}

.quantity-control button {
    width: 40px;
    height: 40px;

    border: 0;

    background: transparent;

    color: #957c61;

    font-size: 21px;

    line-height: 1;

    cursor: pointer;

    transition: background 0.2s ease;
}

.quantity-control button:hover {
    background: #fff5e6;
}

.quantity-control span {
    width: 42px;

    text-align: center;

    color: #3c342c;

    font-size: 16px;

    font-weight: 600;
}

.quantity-total {
    color: #786452;

    font-size: 14px;

    font-weight: 500;
}

.quantity-total strong {
    color: #43372d;

    font-size: 15px;
}


/* =========================================
   ADD TO CART
========================================= */

.modal-add-cart {
    width: 100%;

    height: 54px;

    border: 0;

    border-radius: 13px;

    background: #ac2020;

    color: #fff;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    position: relative;

    overflow: hidden;

    transition: all 0.2s ease;

    box-shadow:
        inset 0 0 0 1px #c99536,
        0 3px 0 #b98a37;
}

.modal-add-cart:hover {
    background: #cc3232;

    transform: translateY(-1px);
}

.modal-add-cart:active {
    transform: translateY(1px);

    box-shadow:
        inset 0 0 0 1px #c99536;
}

.modal-add-cart span {
    position: relative;
    z-index: 2;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .product-modal-overlay {
        padding: 12px;
    }

    .product-modal {
        max-width: 100%;

        border-radius: 15px;
    }

    .product-modal-header {
        padding: 18px;

        min-height: 105px;
    }

    .product-modal-product {
        gap: 12px;
    }

    .product-modal-image {
        width: 65px;
        height: 65px;

        flex-basis: 65px;
    }

    .product-modal-title h3 {
        font-size: 16px;

        margin-bottom: 5px;
    }

    .product-modal-title p {
        font-size: 11px;
    }

    .product-modal-close {
        width: 34px;
        height: 34px;
    }

    .product-modal-body {
        padding: 20px;
    }

    .modal-main-price,
    .modal-main-price span {
        font-size: 27px;
    }

    .weight-options {
        gap: 8px;
    }

    .weight-option {
        min-width: calc(50% - 4px);

        padding: 10px;
    }

    .quantity-row {
        gap: 10px;
    }

    .modal-add-cart {
        height: 52px;

        font-size: 14px;
    }
}



/* =====================================================
   PRODUCTS FILTER
===================================================== */

.products-filter {
    width: 100%;
    max-width: 240px;

    padding: 18px;

    background: #fff;

    border: 1px solid #eadfce;

    border-radius: 18px;

    box-shadow:
        0 8px 25px rgba(80, 55, 25, 0.06);

    position: relative;

    z-index: 20;
}


/* =====================================================
   HEADER
===================================================== */

.filter-header {
    display: flex;

    align-items: center;
    justify-content: space-between;
}


.filter-title-wrap {
    display: flex;

    align-items: center;

    gap: 15px;
}


.filter-icon {
    width: 46px;
    height: 46px;

    border-radius: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff8eb;

    color: #f0b84b;

    font-size: 21px;
}


.filter-header h3 {
    margin: 0 0 3px;

    color: #33291f;

    font-size: 21px;

    font-weight: 700;
}


.filter-header p {
    margin: 0;

    color: #927c67;

    font-size: 13px;
}


.filter-close {
    display: none;

    width: 36px;
    height: 36px;

    border: 0;

    border-radius: 50%;

    background: #fff5e5;

    color: #795a3d;

    cursor: pointer;
}


/* =====================================================
   DIVIDER
===================================================== */

.filter-divider {
    height: 1px;

    margin: 13px 0 28px;

    background: #eee6da;
}


/* =====================================================
   SECTION
===================================================== */

.filter-section {
    margin-bottom: 30px;
}


.filter-section-title {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 18px;
}


.filter-section-title h4 {
    margin: 0;

    color: #342a22;

    font-size: 17px;

    font-weight: 700;
}


.view-all-btn {
    padding: 6px 14px;

    border: 0;

    background: transparent;

    color: #eab24a;

    font-size: 12px;

    /*font-weight: 800;*/

    cursor: pointer;
}


.view-all-btn:hover {
    color: #000;
}


/* =====================================================
   CATEGORY
===================================================== */

.category-list {
    display: flex;

    flex-direction: column;

    gap: 3px;
}


.category-item {
    width: 100%;

    min-height: 30px;

    padding: 0 5px;

    border: 0;
    border-bottom: solid 1px #ccc;

    /*border-radius: 14px;*/

    background: transparent;

    color: #8b735e;

    text-align: left;

    font-size: 14px;

    cursor: pointer;

    transition: all .2s ease;
}


.category-item:hover {
    color: #3d3026;

    background: #fffaf2;
}


.category-item.active {
    background: #fff8ee;

    color: #34291f;

    box-shadow:
        0 2px 6px rgba(126, 91, 48, 0.08);

    font-weight: 600;
}


/* =====================================================
   PRICE INPUTS
===================================================== */

.price-inputs {
    display: flex;

    align-items: flex-end;

    gap: 10px;
}


.price-input-group {
    flex: 1;
}


.price-input-group label {
    display: block;

    margin-bottom: 7px;

    color: #927b65;

    font-size: 13px;
}


.price-input {
    height: 48px;

    display: flex;

    align-items: center;

    padding: 0 12px;

    border: 1px solid #e8dccb;

    border-radius: 13px;

    background: #fff;

    transition: border-color .2s ease;
}


.price-input:focus-within {
    border-color: #efb23d;
}


.price-input span {
    color: #826b54;

    font-size: 16px;

    margin-right: 8px;
}


.price-input input {
    width: 100%;

    border: 0;

    outline: 0;

    background: transparent;

    color: #44382e;

    font-size: 15px;

    font-weight: 500;
}


.price-input input::-webkit-inner-spin-button,
.price-input input::-webkit-outer-spin-button {
    -webkit-appearance: none;

    margin: 0;
}


.price-dash {
    color: #a28b74;

    font-size: 18px;

    padding-bottom: 13px;
}


/* =====================================================
   RANGE SLIDER
===================================================== */

.range-slider {
    position: relative;

    width: calc(100% - 8px);

    height: 45px;

    margin: 15px 4px 0;
}


.range-track {
    position: absolute;

    top: 20px;
    left: 0;
    right: 0;

    height: 6px;

    border-radius: 10px;

    background: #eee7dc;
}


.range-progress {
    position: absolute;

    top: 20px;

    height: 6px;

    border-radius: 10px;

    background: linear-gradient(
        90deg,
        #f4c257,
        #f4a91e
    );
}


/* Native ranges */

.range-slider input[type="range"] {
    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 45px;

    margin: 0;

    background: transparent;

    pointer-events: none;

    appearance: none;

    -webkit-appearance: none;
}


/* Chrome / Edge */

.range-slider input[type="range"]::-webkit-slider-thumb {
    width: 27px;
    height: 27px;

    border-radius: 50%;

    border: 2px solid #f1bb4e;

    background: #fff;

    box-shadow:
        0 3px 8px rgba(0,0,0,.12);

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    pointer-events: auto;
}


/* Firefox */

.range-slider input[type="range"]::-moz-range-thumb {
    width: 27px;
    height: 27px;

    border-radius: 50%;

    border: 2px solid #f1bb4e;

    background: #fff;

    box-shadow:
        0 3px 8px rgba(0,0,0,.12);

    cursor: pointer;

    pointer-events: auto;
}


/* =====================================================
   APPLY BUTTON
===================================================== */

.apply-filter-btn {
    width: 100%;

    height: 48px;

    border: 0;

    border-radius: 12px;

    background: #f5b93f;

    color: #34291f;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: all .2s ease;
}


.apply-filter-btn:hover {
    background: #edaa27;

    transform: translateY(-1px);
}


/* Clear */

.clear-filter-btn {
    width: 100%;

    margin-top: 10px;

    height: 40px;

    border: 0;

    background: transparent;

    color: #a07e5c;

    font-size: 13px;

    font-weight: 600;

    cursor: pointer;
}


.clear-filter-btn:hover {
    color: #6f4f31;
}


/* =====================================================
   MOBILE FILTER BUTTON
===================================================== */

.mobile-filter-btn {
    display: none;

    align-items: center;
    justify-content: center;

    gap: 8px;

    height: 44px;

    padding: 0 18px;

    border: 1px solid #eadbc5;

    border-radius: 11px;

    background: #fff;

    color: #5d4835;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;
}


.mobile-filter-btn i {
    color: #eeb346;
}


/* Overlay */

.filter-overlay {
    display: none;

    position: fixed;

    inset: 0;

    background: rgba(30, 24, 18, .55);

    backdrop-filter: blur(3px);

    z-index: 9998;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 991px) {

    .mobile-filter-btn {
        display: flex;
    }


    .filter-overlay {
        display: block;

        opacity: 0;

        visibility: hidden;

        transition: all .25s ease;
    }


    .filter-overlay.show {
        opacity: 1;

        visibility: visible;
    }


    .products-filter {
        position: fixed;

        top: 0;
        left: 0;

        width: min(370px, 90vw);

        height: 100vh;

        max-width: none;

        overflow-y: auto;

        border-radius: 0 20px 20px 0;

        transform: translateX(-105%);

        transition: transform .3s ease;

        z-index: 9999;
    }


    .products-filter.show {
        transform: translateX(0);
    }


    .filter-close {
        display: flex;

        align-items: center;
        justify-content: center;
    }

}



.products-layout {
    display: grid;

    grid-template-columns: 240px 1fr;

    gap: 35px;

    align-items: start;
}


.products-sidebar {
    position: sticky;

    top: 100px;
}


.products-content {
    min-width: 0;
}


.products-toolbar {
    min-height: 38px;

    margin-bottom: 15px;

    display: flex;

    align-items: center;
    justify-content: space-between;
}


.products-toolbar span {
    color: #927d68;

    font-size: 14px;
}


.products-toolbar strong {
    margin-left: 5px;

    color: #382d24;

    font-size: 15px;
}


.product-sort {
    height: 42px;

    padding: 0 14px;

    border: 1px solid #eadfce;

    border-radius: 10px;

    background: #fff;

    color: #5d4936;

    outline: none;
}


@media (max-width: 991px) {

    .products-layout {
        display: block;
    }


    .products-sidebar {
        display: none;
    }


    .products-toolbar {
        margin-top: 15px;
    }

}