/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.cws-toggle-filters-btn {
        display: none;
    }

.subcategories-list {
    margin-left: 15px;
}

.toggle-subcats {
    cursor: pointer;
    margin-left: 5px;
    font-weight: bold;
	vertical-align: middle;
    font-size: 16px;
	font-family: "Poppins" !important;
}

#price-slider {
    margin: 10px 0;
}

.price-values {
    font-weight: bold;
    margin-bottom: 10px;
}

.categories-list,
.categories-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cws-filters-wrapper{
	display: flex;
	flex-direction: row;
	gap: 50px;
}

.cws-form-wrapper{
	width: 40%;
}

#cws-filters-form{
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    color: #333;
}

.filter-section{
	margin-bottom: 30px;
}

.filter-section h4{
	font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}



#ajax-filter-results{
	width: 100%;
}

.cws-product-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.cws-product-grid .product {
	width: calc(33.333% - 20px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}

.cws-product-grid .product h2{
	font-size: 1em !important;
}

.cws-product-grid .product bdi{
	font-size: 0.857em !important;
}

.cws-product-grid .product .button{
	border-radius: 3px;
    padding: 10px 15px 10px 15px;
    color: #ffffff;
    background: #0e1a3c;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 16px;
}

.cws-product-grid .product img{
	min-width: 100%;
}

#reset-filters{
    background-color: #003865;
    color: #fff;
	border: 1px solid #003865;
    padding: 6px 10px;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}
#reset-filters:hover{
	background-color: #ffffff00;
	border: 1px solid #003865;
	color: #003865;
}
#ajax-filter-results.loading .product {
    pointer-events: none;
    opacity: 0.7;
}

#ajax-filter-results.loading .product {
    background-color: #6f6f6f;
    position: relative;
	width: 100%;
	height: 434px;
}

#ajax-filter-results.loading .cws-product-grid{
	max-width: 100%;
	display: grid;
    grid-template-columns: repeat(3, 1fr);
}


#ajax-filter-results.loading .product * {
    visibility: hidden;
}

#ajax-filter-results.loading .product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        #f0f0f0 0%,
        #e0e0e0 50%,
        #f0f0f0 100%
    );
    background-size: 200% 100%;
    animation: shimmer 1.2s infinite linear;
    z-index: 10;
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.woocommerce-pagination{
	margin-top: 30px;
}

.woocommerce-pagination ul{
	list-style: none;
    display: flex;
	justify-content: center;
}

.woocommerce-pagination li .page-numbers{
	border-radius: 0px;
    border: 1px solid #003865;
    color: #003865;
    background: #ffffff00;
    padding: 2px 7px 2px 7px;
}

.page-numbers.current{
	background: #003865 !important;
    color: #fdfdfd !important;
    font-weight: 600;
}

.cws-pagination .cws-page:hover{
	background: #003865;
	color: #ffffff;
}


@media (max-width: 1024px) {
	.cws-product-grid .product .button{
	font-size: 14px;
}
	.cws-form-wrapper label{
		font-size: 12px !important;
	}
}

@media (max-width: 768px) {
	.cws-product-grid .product {
	width: calc(50% - 20px);
}
}


@media (max-width: 576px) {
	.cws-product-grid .product {
		width: 100%;
	}
	.cws-filters-wrapper{
		flex-direction: column;
		gap: 20px;
	}
	.cws-form-wrapper{
	width: 100%;
}
	#ajax-filter-results.loading .cws-product-grid{
    grid-template-columns: 1fr;
	}
	.cws-form-wrapper {
        display: none;
        margin-top: 10px;
    }

    .cws-toggle-filters-btn {
		display: inline-block;
        border: none;
        cursor: pointer;
        margin-bottom: 20px;
		padding: 10px 24px 8px 26px !important;
    }

    .cws-form-wrapper.visible {
        display: block !important;
    }
}