/*-------------------------------
***** PRODUCTS STYLES DESKTOP *****
--------------------------------*/

/*----- GENERAL -----*/
/* Hide sidebar on shop pages */
.single-product .site-content .col-full > .content-area { 
    width: 100%; 
}
.single-product .site-content .col-full > .widget-area { 
    display: none; 
}

/*----- PRODUCT LIST -----*/
ul.products.columns-4,
ul.products.columns-3 {
    display: flex;
    flex-wrap: wrap;
}
ul.products.columns-4 li {
    background-color: var(--grey10);
    width: calc(25% - 18px) !important;
    margin-right: 24px !important;
    float: none !important;
}
ul.products.columns-3 li {
    background-color: var(--grey10);
    width: calc(33% - 18px) !important;
    margin-right: 24px !important;
    float: none !important;
}
ul.products li img {
    border: 1px solid #DEDEDE;
    border-bottom: none;
    width: 100%;
    height: 250px;
    object-fit: contain;
    background-color: #ffffff;
}
ul.products li .woocommerce-loop-product__title {
    padding: 0px 20px;
    margin-bottom: 15px !important;
    text-align: left;
    min-height: 40px;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
ul.products li .loop-product-attributes {
    min-height: 42px;
    color: var(--black60);
    padding: 0px 20px;
    text-align: left;
}
ul.products li .onsale {
    display: none !important;
}
ul.products li .price {
    padding: 0px 20px;
    text-align: left;
    color: var(--black);
    font-size: 20px !important;
    font-family: var(--titleFont);
    margin: 0px 0px 15px 0px !important;
}
ul.products li .price del {
    font-size: 16px !important;
}
ul.products li .price ins {
    color: #FF0505; 
    margin: 0 !important;
}
ul.products li .add_to_cart_button,
ul.products li .product_type_simple {
    width: calc(100% - 40px) !important;
    border-radius: 10px !important;
    font-weight: 400 !important;
    margin-bottom: 30px !important;
    margin: 0 auto; 
}
ul.products li .added_to_cart {
    background-color: transparent !important;
    border-color: transparent !important;
    margin-bottom: 30px;
    margin-top: -30px; 
}
ul.products li .added_to_cart:hover {
    color: var(--lightGreen);
}

/*----- SHOP SIDEBAR - FILTER -----*/
.shop-sidebar .sidebar-title {
    font-weight: 600 !important;
    padding-bottom: 15px;
}
.shop-sidebar .sidebar-title .close-icon {
    text-align: right;
    display: none;
    font-size: 18px;
    cursor: pointer;
}
.wpc-filters-widget-wrapper:first-child {
    border-top: 1px solid var(--grey);
    padding-top: 5px;
}
.wpc-filters-section {
    border-bottom: 1px solid var(--grey);
    margin-bottom: 5px !important;
}
.widget-title.wpc-filter-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    border-bottom: none !important;
    margin-bottom: 0px !important;
    padding-bottom: 5px !important;
}
.wpc-filter-header {
    position: relative;
    padding-right: 22px;
    cursor: pointer;
}
.wpc-filter-header::after{
    content: "\f078"; 
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
    font-size: 14px;
    padding-bottom: 5px;
}
.wpc-filter-header.is-open::after{
    transform: translateY(-50%) rotate(180deg);
}
.wpc-filter-content {
    display: none;
}
.wpc-filter-content ul {
    margin-bottom: 0px !important;
}
body .wpc-filter-chips-list li.wpc-filter-chip:not(.wpc-chip-reset-all) a {
    background-color: var(--darkGreen);
    color: #ffffff;
    border: none;
}
.wpc-filter-chips-list a:hover .wpc-chip-remove-icon, 
.wpc-filter-search-wrapper button.wpc-search-clear:hover, 
.wpc-search-field-wrapper a.wpc-search-clear-icon:hover {
    color: #ffffff !important;
}
body .wpc-filter-chips-list li.wpc-chip-reset-all a {
    background-color: #ffffff;
    color: var(--darkGreen) !important;
    border: 1px solid var(--darkGreen) !important;
}

/*----- TERM HEADER -----*/
.woocommerce-products-header {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--grey10);
    margin-bottom: 30px;
}
.woocommerce-products-header h1,
.woocommerce-products-header .term-description-readmore {
    width: 100%;
}
.woocommerce-products-header .term-description {
    width: 100%;
    /*min-height: 52px;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;*/
    margin-bottom: 0px;
}
/*.woocommerce-products-header .term-image {
    width: 30%;
}*/
.woocommerce-products-header .term-description-readmore a {
    color: var(--lightGreen);
    font-weight: 600;
    display: inline-block;
    margin-bottom: 30px;
    text-decoration: underline;
}
/*----- SORT AND NAVIGATION -----*/
.sub-categories-title {
    font-size: 20px;
}
.sub-categories {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.sub-categories a {
    margin-right: 10px;
    margin-bottom: 10px;
    background: var(--darkGreen20);
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 13px;
}
.sub-categories a:hover {
    color: var(--lightGreen);
}
.woocommerce-ordering {
	float: right !important; 
    margin-bottom: 0px !important;
}
.woocommerce-ordering select {
    border: 1px solid var(--grey);
    border-radius: 10px;
    padding: 10px 12px;
}
.woocommerce-result-count,
.woocommerce-pagination {
	display: none;
}
.filter-sort-wrapper .filter-button {
    display: none;
}

/*----- PRODUCT PAGE -----*/
.woocommerce-product-gallery .flex-viewport {
    border: 1px solid #DEDEDE;
}
.woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs li img {
    border: 1px solid #DEDEDE;
}
.single-product div.product .woocommerce-product-gallery img {
    margin: 0 auto !important;
}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    background-color: transparent !important;
    color: #000000 !important;
}
.flex-control-nav.flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    margin-right: 10px !important;
    float: none !important;
    width: 18% !important;
}
.single-product div.product .onsale {
    display: none !important;
}
.product_title.entry-title {
    font-size: 36px;
    margin-bottom: 30px;
}
.woocommerce-product-details__short-description {
    font-size: 16px;
}
.woocommerce-product-details__short-description #read-more {
    color: var(--lightGreen);
    text-decoration: underline;
    cursor: pointer;
    display: inline;
}
.entry-summary .price {
    font-size: 32px !important;
    font-family: var(--titleFont);
    color: var(--black);
    margin: 40px 0px 10px 0px !important;
}
.entry-summary .price del {
    color: var(--black);
    font-size: 24px;
}
.entry-summary .price ins {
    color: #FF0505;
}
.stock.in-stock::before,
.stock.available-on-backorder::before {
    content: "\f00c" !important;
    font-family: "Font Awesome 6 Pro";
}
.stock.in-stock,
.stock.available-on-backorder {
    color: var(--lightGreen) !important;
    font-weight: 600;
    margin-bottom: 30px !important;
}
.stock.out-of-stock::before {
    content: "\f00d" !important;
    font-family: "Font Awesome 6 Pro";
}
.stock.out-of-stock {
    color: #FF0505 !important;
    font-weight: 600;
    margin-bottom: 30px !important;
}
.single_add_to_cart_button {
    border-radius: 10px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    font-family: var(--textFont);
    width: calc(85% - 14px);
}
.single_add_to_cart_button:focus,
.quantity input:focus {
    outline: none !important;
}
.single-product .quantity {
    width: 15%;
}
.quantity input {
    background-color: #ffffff !important;
    border-radius: 10px !important;
    border: 1px solid var(--grey) !important;
    width: 100% !important;
}
.single-product div.product form.cart {
    margin-bottom: 0px !important;
}
.delivery-text {
    font-weight: 600;
    margin-bottom: 15px;
}
.offert-text {
    color: var(--lightGreen);
    text-decoration: underline;
    margin-bottom: 30px;
    cursor: pointer;
}
.product_meta {
    background: var(--grey10);
    border-top: none !important;
    padding: 20px 25px !important;
}
table.woocommerce-product-attributes {
    margin: 0px !important;
}
.product_meta th {
    width: 150px !important;
}
.product_meta th,
.product_meta td {
    background: transparent !important;
    padding: 0px 0px 5px 0px !important
}
/* Accordions */
.custom-accordions {
	border-bottom: 1px solid #DEDEDE;
	margin-bottom: 100px; 
}
.custom-accordions .accordion {
	background-color: var(--grey10);
	color: #000000;
	padding: 15px 30px 0px 30px;
	width: 100%;
	border-top: 1px solid #DEDEDE;
	text-align: left;
	font-weight: 600;
    font-size: 24px;
}
.custom-accordions .accordion:hover,
.custom-accordions .accordion.active {
    background-color: var(--grey10);
}
.custom-accordions .accordion i::after {
	content: "\002B";
  	float: right;
	font-weight: 300;
    font-size: 40px; 
    margin-top: -10px; 
    font-style: normal;
}
.custom-accordions .accordion.active i:after {
	content: "\2212";
}
.custom-accordions .active, .accordion:hover {
  	background-color: #ffffff; 
	border-color: #DEDEDE; 
}
.custom-accordions .active, .accordion:focus {
	outline: none; 
}
.custom-accordions .panel {
  	display: none;
  	overflow: hidden;
	box-shadow: none; 
    padding: 0px 30px 0px 30px;
}
.custom-accordions .panel a {
	text-decoration: underline !important;
    color: var(--lightGreen)
}
.custom-accordions .panel h2:first-of-type {
	display: none; 
}
.custom-accordions .contact-form form {
    width: 50%;
}
.custom-accordions .related-info {
    display: flex;
}
.custom-accordions .related-info-left,
.custom-accordions .related-info-right {
    width: 50%;
}
.custom-accordions .related-info-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}
/*-------------------------------
***** PRODUCTS STYLES MOBILE *****
--------------------------------*/

@media only screen and (max-width: 992px) {
    .shop-sidebar .sidebar-title .close-icon {
        display: block;
    }
    .filter-sort-wrapper {
        display: flex;
        gap: 10px;
        justify-content: space-between;
        align-items: center;
    }
    .filter-sort-wrapper .filter-button {
        display: block;
        background-color: #ffffff;
        color: var(--lightGreen);
        border: 1px solid var(--lightGreen);
        text-align: center;
        padding: 9px 15px;
        border-radius: 10px;
        font-size: 14px;
        cursor: pointer;
        width: 50%;
    }
    .filter-sort-wrapper .woocommerce-ordering {
        width: 50%;
    }
    ul.products.columns-4 li,
    ul.products.columns-3 li {
        width: calc(50% - 10px) !important;
        margin-left: 5px !important;
        margin-right: 5px !important;
    }
}
@media only screen and (max-width: 767px) {
    .term-description,
    .term-description-readmore,
    .term-description-below,
    .woocommerce-product-details__short-description,
    .custom-accordions .panel {
        font-size: 12px !important;
    }
    .woocommerce-products-header .term-description {
        min-height: 42px;
    }
    .sub-categories {
        flex-wrap: nowrap;
        overflow-x: scroll;
    }
    .sub-categories-title {
        font-size: 14px;
    }
    .sub-categories a {
        font-size: 10px;
        white-space: nowrap;
    }
    ul.products li img {
        height: 150px;
    }
    ul.products li .woocommerce-loop-product__title {
        font-size: 12px !important;
        padding: 0px 10px;
        min-height: 30px;
    }
    ul.products li .price {
        padding: 0px 10px;
        font-size: 15px !important;
    }
    ul.products li .price del {
        font-size: 12px !important;
    }
    ul.products li .add_to_cart_button,
    ul.products li .product_type_simple {
        font-size: 11px;
        width: calc(100% - 20px) !important;
        margin-bottom: 20px !important;
    }
    ul.products li .loop-product-attributes {
       font-size: 10px;
       padding: 0px 10px;
       min-height: 30px;
    }
    .entry-summary .price {
        font-size: 24px !important;
    }
    .entry-summary .price del {
        font-size: 16px;
    }
    .custom-accordions .accordion {
        font-size: 18px;
        padding: 15px 20px 0px 20px;
    }
    .custom-accordions .accordion i::after {
        font-size: 33px; 
    }
    .custom-accordions .panel {
        padding: 0px 20px 0px 20px;
    }
    .custom-accordions .contact-form form {
        width: 100%;
    }
    .custom-accordions .related-info {
        display: block;
    }
    .custom-accordions .related-info-left,
    .custom-accordions .related-info-right {
        width: 100%;
    }
    .custom-accordions .related-info-title {
        font-size: 14px;
        margin-bottom: 5px;
    }
}