@import "bootstrap-icons.css";
[v-cloak] {
    display: none !important;
}
.products-list-with-filter .products-filter-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
}
.products-list-with-filter .products-filter-wrapper .filters {
    width: 270px;
    margin-right: 2.065em;
    /* background: var(--color-1, #F5F7FF); */
    padding: 15px 21px 15px 19px;
    height: max-content;
}
.products-list-with-filter .filter h2.filter-title {
    color: #000;
    font-size: 1em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.37;
    /* margin-bottom: 20px; */
}
.products-list-with-filter .filter.category-filter {
    border-top: 0;
}
/* .products-list-with-filter .filter + .filter {
    padding-top: 15px;
    padding-bottom: 30px;
    border-top: 1px solid #CCCCCC;
} */
.products-list-with-filter .products-filter-wrapper .products-list {
    width: calc(100% - 270px - 6.065em);
}
.loader {
    display: flex !important;
    /*width: 48px;*/
    /*height: 48px;*/
    /*border: 5px solid #FFF;*/
    /*border-bottom-color: #FF3D00;*/
    /*border-radius: 50%;*/
    /*display: inline-block;*/
    /*box-sizing: border-box;*/
    /*position: absolute;*/
    /*top: 0;*/
    /*left: 50%;*/
    /*animation: rotation 1s linear infinite;*/
    /*}*/

    /*@keyframes rotation {*/
    /*0% {*/
    /*    transform: rotate(0deg);*/
    /*}*/
    /*100% {*/
    /*    transform: rotate(360deg);*/
    /*}*/

}
.not-loading{
    display: none !important;
}
.page-link-btn{
    display: inline-block;
    color: #d00013;
    border: 1px solid #d00013;
    margin-left: 2px;
    position: relative;
    padding: .5rem .75rem;
    line-height: 1.25;
    background-color: #fff;
    border: 1px solid #dee2e6;
}
.item-navigation{
    float: right;
}

/* .accordion-item {
    border: 1px solid gainsboro;
    margin: 32px 0;
} */
.accordion-button{
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    padding: 20px;
    padding-right: 80px;
    background-color: transparent;
    font-size: 20px;
    border: 0;
    cursor: pointer;
    color: #000 !important;
}
.accordion-button-no{
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    padding: 20px;
    padding-right: 80px;
    background-color: transparent;
    font-size: 20px;
    border: 0;
    cursor: pointer;
    color: #000 !important;
    line-height: 1.37;
}
.accordion-button i{
    display: inline-block;
    position: absolute;
    right: 16px;
    top: 22px;
    line-height: 1.37;
    transition: all .3s ease-in-out;
    background: #000000;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    pointer-events: none;
}
.accordion-button i::before {
    font-weight: 700 !important;
}
.accordion-button.active i{
    transform: rotate(180deg);
}
.mobile-filter-toggle-title {
    display: flex;
    align-items: center;
    gap: 8px;
}
.accordion-button .mobile-filter-toggle-icon,
.accordion-button-no .mobile-filter-toggle-icon {
    position: static !important;
    right: auto !important;
    top: auto !important;
    line-height: 1;
    flex: 0 0 auto;
    order: 0;
}
.accordion-button .mobile-filter-toggle-icon::before,
.accordion-button-no .mobile-filter-toggle-icon::before {
    font-weight: 700 !important;
}
.accordion-button.active .mobile-filter-toggle-icon {
    transform: none;
}
.mobile-filter-toggle-title .mobile-filter-toggle-chevron {
    order: 2;
    margin-left: auto;
}
.hide{
    display: none;
}
.accordion-content{
    padding: 20px;
}
.accordion-wrapper{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.accordion{
  width: 100%;
}

.page-link-btn.active {
    color: #fff;
    background-color: #d00013;
    text-decoration: none;
}
.accordion-button-no .reset-button {
    display: inline-block;
    position: absolute;
    right: 16px;
    top: 22px;
    line-height: 1;
    transition: all .3s ease-in-out;
    background: #F40000;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}
.reset-button{
    color:#F40000 !important;
}

.reset-button-mobile{
    display: none;
}

.products-list-with-filter .results-count {
    font-size: 1.1em;
    font-weight: 700;
}

/* Sort Filter Bottom Sheet - Hidden on Desktop */
.sort-filter-backdrop,
.sort-filter-bottom-sheet {
    display: none;
}

@media screen and (min-width: 821px) {
    .woocommerce-page ul.products li.product {
        width: 23.25% !important;
    }
    .sidebar{
        display: none;
    }
    .mobile-filter{
        display: none;
    }
  }
@media only screen and (max-width: 1441px) {
    .col-med-3 {width: 23.33%;max-width: 23.33% !important;-ms-flex: 0 0 23.33% !important;flex: 0 0 23.33% !important}
}
@media only screen and (max-width: 1280px) {
    .col-med-4 {width: 31.33%;max-width: 31.33% !important;-ms-flex: 0 0 31.33% !important;flex: 0 0 31.33% !important}
}
@media only screen and (max-width: 821px) {
    .desktop-filter{
        display:none;
    }
    .reset-button-mobile {
        display: flex;
        justify-content: end;
    }

    /* For tablets: */
    .col-s-1 {width: 8.33%;}
    .col-s-2 {width: 16.66%;}
    .col-s-3 {width: 25%;}
    .col-s-4 {width: 33.33%;max-width: 33.33% !important;-ms-flex: 0 0 33.33% !important;flex: 0 0 33.33% !important}
    .col-s-5 {width: 41.66%;}
    .col-s-6 {
        width: 46% !important;
        -ms-flex: 0 0 46% !important;
        flex: 0 0 46% !important;
        max-width: 46% !important;
    }
    .col-s-7 {width: 58.33%;}
    .col-s-8 {width: 66.66%;}
    .col-s-9 {width: 75%;}
    .col-s-10 {width: 83.33%;}
    .col-s-11 {width: 91.66%;}
    .col-s-12 {width: 100% !important;}

    .m-s-0{margin:0;}

    /*.toggle span {*/
    /*    width:100%;*/
    /*    height:3px;*/
    /*    background:#555;*/
    /*    display:block;*/
    /*    position:relative;*/
    /*    coursor:pointer;*/
    /*}*/

    /*.toggle span:before,*/
    /*.toggle span:after {*/
    /*    content:'';*/
    /*    position:absolute;*/
    /*    left:0;*/
    /*    width:100%;*/
    /*    height:100%;*/
    /*    background:#555;*/
    /*    transition: all 0.3s ease-out;*/
    /*}*/

    /*.toggle span:before {*/
    /*    top:-8px;*/
    /*}*/

    /*.toggle span:after {*/
    /*    top:8px;*/
    /*}*/

    /*.toggle span.toggle {*/
    /*    background:transparent;*/
    /*}*/

    /*.toggle span.toggle:before {*/
    /*    top:0;*/
    /*    transform:rotate(-45deg);*/
    /*    background:#4CAF50;*/

    /*}*/

    /*.toggle span.toggle:after {*/
    /*    top:0;*/
    /*    transform:rotate(45deg);*/
    /*    background:#4CAF50;*/
    /*}*/

    .sidebar {
        display: block;
        background:#fff;
        width:100%;
        position:fixed;
        bottom:0;
        left:0;
        height:90% !important;
        transition: transform 0.3s ease-in-out;
        z-index:9999;
        transform: translateY(100%);
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        display: flex;
        flex-direction: column;
    }

    .sidebar.sidebar-open {
        transform: translateY(0);
    }

    .sidebar-header {
        display: flex;
        justify-content: space-between;
        align-items: center;                
        flex-shrink: 0;
        padding: 0px 0px 15px 0px;
    }

    .sidebar-title {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: #000;
        line-height: 1.37;
    }

    .sidebar-close-btn {
        background: none;
        border: none;
        font-size: 32px;
        cursor: pointer;
        padding: 0;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        transition: all 0.2s ease;
    }

    .sidebar-close-btn:hover,
    .sidebar-close-btn:focus {
        opacity: 0.7;
    }

    .filter-sidebar-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 9998;
        animation: backdropFadeIn 0.3s ease-in-out;
    }


    #custom-shop-page #sidebar .filters {
        height: auto;
        overflow-y: auto;
        flex: 1;
    }
    #custom-shop-page #sidebar .filter-action-buttons {
        width: 100%;
        display: flex;
        /* justify-content: space-evenly; */
        /* padding: 20px; */
        gap: 10px;
        flex-shrink: 0;
        position: relative;
    }
    .filter-action-buttons:before {
        content: "";
        position: absolute;
        top: -20px;
        left: 0;
        right: 0;
        height: 20px;
        background: linear-gradient(to bottom, transparent, white);
        pointer-events: none;
    }
    #custom-shop-page #sidebar .filter-action-buttons .clear-button {
        flex: 1;
        border: 1px solid #000;
        background: #000;
        color: #fff;
        border-radius: 30px;
        padding: 12px 16px;
    }
    #custom-shop-page #sidebar .filter-action-buttons .apply-button {
        flex: 1;
        border: 1px solid #A80006;
        background: #A80006;
        color: #fff;
        border-radius: 30px;
        padding: 12px 16px;
    }

    .sidebar ul {
        list-style:none;
    }

    .sidebar ul li {
        display:block;
    }

    .sidebar ul li a {
        padding:8px 15px;
        font-size:16px;
        color:#222;
        font-family:arial;
        text-decoration:none;
        display:block;
        position:relative;
        z-index:1;
        transition:all 0.3s ease-out;
        font-weight:500;
    }

    .sidebar ul li a:before {
        content:'';
        position:absolute;
        bottom:0;
        left:50%;
        right:50%;
        transform:translate(-50%,-50%);
        width:0;
        height:1px;
        background:#4CAF50;
        z-index:-1;
        transition:all 0.3s ease-out;
    }

    .sidebar ul li a:hover:before {
        width:100%;
    }

    .sidebar ul li a:hover {
        color:#4CAF50;
    }

    .sidebarshow {
        right:0;
        display: block;
    }
    /* .products-list-with-filter .sidebar .clear-button {
        position: absolute;
        top: 24px;
        right: 109px;
        padding: 8px 12px !important;
        line-height: 1;
        color: #00407A;
        border-color: #00407A;
        border: 2px solid;
        font-weight: 600;
        border-radius: 8px;
    }
    .products-list-with-filter .sidebar .clear-button:focus, .products-list-with-filter .sidebar .clear-button:hover {
        background-color: #00407A;
        color: #fff;
        border-color: #00407A !important;
    } */

    /* Sort Filter Bottom Sheet Styles */
    .sort-filter-backdrop {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 9998;
        animation: backdropFadeIn 0.3s ease-in-out;
    }

    .sort-filter-bottom-sheet {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 60vh;
        background-color: #fff;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 9999;
        display: flex;
        flex-direction: column;
        transform: translateY(100%);
        transition: transform 0.3s ease-in-out;
    }

    .sort-filter-bottom-sheet.open {
        transform: translateY(0);
    }

    .sort-filter-sheet-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 20px 0px 20px;        
        flex-shrink: 0;
    }

    .sort-filter-sheet-title {
        margin: 0;
        font-size: 18px;
        font-weight: 700;
        color: #000;
        line-height: 1.37;
    }

    .sort-filter-close-btn {
        background: none;
        border: none;
        font-size: 32px;
        cursor: pointer;
        padding: 0;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #000;
        transition: all 0.2s ease;
    }

    .sort-filter-close-btn:hover,
    .sort-filter-close-btn:focus {
        opacity: 0.7;
    }

    .sort-filter-sheet-content {
        flex: 1;
        overflow-y: auto;
        padding: 20px;
    }

    .sort-filter-sheet-content .cat-filter-lv {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .sort-filter-sheet-content .cat-filter-lv > div {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .sort-filter-sheet-content input[type="radio"] {
        cursor: pointer;
        width: 18px;
        height: 18px;
    }

    .sort-filter-sheet-content label {
        cursor: pointer;
        font-size: 16px;
        color: #000;
        margin: 0;
        flex: 1;
    }

    @keyframes backdropFadeIn {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }

}


.placeholder-content {
    height: 205px;
    overflow: hidden;
    background: #000;
    position: relative;
    animation-duration: 1.7s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-name: placeholderAnimate;
    background: #f6f7f8;
    background: linear-gradient(to right, #eee 2%, #ddd 18%, #eee 33%);
    background-size: 1300px;
}
@keyframes placeholderAnimate {
    0% {
        background-position: -650px 0;
    }
    100% {
        background-position: 650px 0;
    }
}
.place-holder-loading{
    width: 35%;
    height: 400px;
    background-color: #fff;
    /*border: 1px solid #f5f5f5;*/
    display: flex;
    justify-content: center;
    /*padding: 2px;*/
    margin-left: 10px !important;
    /*margin-right: 15px !important;*/
}
.bar-img{
    /*width: 90%;*/
    height: 65%;
    background-color: #f5f5f5;
}
.bar-title{
    /*width: 90%;*/
    height: 10%;
    background-color: #f5f5f5;
}
.bar-label{
    width: 100%;
    height: 26px;
    background-color: #f5f5f5;
    display: block;
}
.bar-btn{
    /*width: 90%;*/
    height: 10%;
    background-color: #f5f5f5;
}

.add_to_cart_loader {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 3px solid rgb(254 93 93 / 59%);
    border-radius: 50%;
    border-top-color: #cd0303;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
}
.width-20-flex-md{-ms-flex: 0 0 18%;flex: 0 0 18%;max-width: 18%;height:260px !important;margin-right:0 !important;}

@keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}

/* Custom Checkbox Styling */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1.5px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
    background-color: #fff;
    transition: all 0.2s ease;
}

input[type="checkbox"]:hover {
    border-color: #999;
}

input[type="checkbox"]:checked {
    background-color: #2C2C2C;
    border-color: #2C2C2C;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M15.3334 6L8.00008 13.3333L4.66675 10" stroke="%23F5F5F5" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}


