.products article .wishlist-button-add,
.products article .product-list-reviews,
#page .wishlist-button-add{
	display: none;
}

#products{
	--flag-discount: #e84c3d;
	--flag-new: #f2c40f;
	--flag-week: #2ecd71;
}

.flags-info{
	gap: 1rem;
	font-size: 0.8rem;
	flex-wrap: nowrap;
}
.flags-info > *{
	display: flex;
	gap: 5px;
	align-items: center;
}
.flags-info > *::before{
	content: '';
	display: block;
	width: 1rem;
	height: 6px;
	border-radius: 10rem;
}


.pagination{
	font-size: 0.8rem;
	justify-content: space-between;
}
#main .pagination ul{
	display: flex;
	align-items: center;
	padding: 0 1rem 0 0;
	gap: .5rem;
	font-weight: 500;
}
.pagination :where(li:not(.current) a){
	color: var(--color);
}

.pagination li a{
	background: var(--accent);
	padding: .5rem .5rem;
	border-radius: 6px;
	text-decoration: none;
	min-width: 34px;
	text-align: center;
	display: inline-block;
}
.pagination li a:hover{
	background: var(--accent-alt);
}
.pagination li.current a{
	color: #fff;
	pointer-events: none;
	background: var(--primary-green);
}
.pagination a.btn{
	display: flex;
	padding: 0.3rem 1.2rem;
	gap: .3rem;
}

span.reset-selection{
	cursor: pointer;
	font-size: 0.75rem;
}
span.reset-selection:hover{
	text-decoration: underline;
}

button#add-all-to-cart{
	gap: 10px;
}
button#add-all-to-cart[disabled]{
	cursor: default;
	background: #a3b3ad;
}
button#add-all-to-cart[disabled],
#wrapper .product-quantity button.single-add-to-cart[disabled]{
	cursor: default;
	background: #c8c7c6;
}

button#add-all-to-cart svg.fa-spinner,
button#add-all-to-cart.working svg[class*="basket"]{
	display: none;
}
button#add-all-to-cart.working svg.fa-spinner{
	display: block;
}

.products-selection{
	gap: 1rem;
	font-size: 0.85rem;
}
.sort-by.flex{
	gap: 10px;
}


.list-display-switch{
	margin-left: auto;
	font-size: 1.2rem;
	border-radius: 10rem;
	border: 1px solid var(--primary-green);
	overflow: hidden;
}
.list-display-switch > *{
	cursor: pointer;
	padding: 0.45rem 1rem;
	min-height: 33px;
	color: var(--primary-green);
}
.list-display-switch > *:nth-child(1) svg{
	translate: 2px 0;
}
.list-display-switch > *:nth-child(2) svg{
	translate: -2px 0;
}
.list-display-switch .active{
	background: var(--primary-green);
	color: #fff;
}
.list-display-switch > *:hover{
	background: #e5f1ec;
}
.list-display-switch > *.active:hover{
	background: var(--primaryhover);
}

.products > div.js-product{ 
	background: var(--accent);
	border-radius: 0.5rem;
}
.products > div.js-product a.thumbnail{ 
	border: 1px solid #c8ded6;
	border-radius: 6px;
	overflow: hidden;
}
.products > div.js-product a.thumbnail:hover{ 
	border-color: var(--primary-green);
}
.products > div.js-product:hover{ 
	background: #e5f1ec;
}
.products > div.js-product img{
	margin: 0 auto;
}


.price-container{
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	border-radius: 5px;
}
body:not(#cart) .price-container{
	border: 1px solid var(--accent-alt);
	padding: 10px;
}
span:is(.price, .current-price-value){
	font-size: 0.9rem;
	font-weight: 700;
}
.product-price-and-shipping .packing,
.product-price-and-shipping .unit-quantity{
	font-size: 0.75rem;
}

article.product-miniature .product-title{
	display: flex;
	margin-bottom: 0;
	align-self: flex-start;
}
article.product-miniature .product-title a{
	font-weight: 700;
    color: var(--color);
	line-height: 1.3;
	font-size: clamp(0.675rem, 2.5vw ,0.8rem);
    text-decoration: none;
}
article.product-miniature .product-title a:hover{
    color: var(--primary-green);
}

#cart-subtotal-shipping{
	display: none;
}

#checkout #delivery-address{
	margin: 0;
}
#checkout #delivery-address .form-fields,
.address-form .form-fields{
	display: flex;
	flex-direction: column;
}
.product-add-to-cart,
.bootstrap-touchspin{
	--radius: 6px;
	--height: 40px;
	flex-shrink: 0;
}
#product .product-add-to-cart{
	display: flex;
}
.product-add-to-cart .product-quantity{
	gap: 5px;
}
.product-add-to-cart input[type="number"],
.js-cart-line-product-quantity{
	border: 0;
	border-radius: var(--radius) 0 0 var(--radius);
	background: var(--accent-alt);
	height: var(--height);
	outline: none;
	padding-left: 10px;
	width: 35px;
	font-weight: 700;
}
#product .product-add-to-cart input[type="number"]{
	width: 55px;
}
.input-group-btn-vertical{
	display: flex;
	flex-direction: column;
}
.product-add-to-cart .qty{
	align-items: stretch;
}
.qty button{
	background: var(--accent-alt);
	width: 24px;
	height: 50%;
	border: 0;
	cursor: pointer;
}
.qty button:hover{
	background: #c2d3cd;
}

.product-add-to-cart button.single-add-to-cart{
	background: var(--copper);
	height: var(--height);
	border-radius: var(--radius);
	color: #fff;
	font-weight: 700;
	width: 30px;
	justify-content: center;
}
.product-add-to-cart button.single-add-to-cart:disabled{
	cursor: default;
	background: #acacac;
}
.product-add-to-cart button.single-add-to-cart span{
	display: none;
}

.product-add-to-cart button.single-add-to-cart:not(:disabled):hover{
	background: var(--copperhover);
}
.qty button.bootstrap-touchspin-up{
	border-radius: 0 var(--radius) 0 0;
}
.qty button.bootstrap-touchspin-down{
	border-radius: 0 0 var(--radius) 0;
}


#product .product-add-to-cart button.single-add-to-cart{
	width: auto;
	padding-inline: 1rem;
}
#product .product-add-to-cart button.single-add-to-cart svg,
#blockcart-modal .modal-body .summary svg,
.card-block.checkout .btn-primary svg{
	font-size: 1rem;
}
#product .product-information button.single-add-to-cart span{
	display: block;
}

#product .product-container{
	margin-bottom: 2rem;
}

/** GRID PRODUCTS **/
.products[data-display="grid"],
ul.subcategories-list{
    --_columns: 3;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(var(--_columns), 1fr);
}
#index .featured-products .products{
    --_columns: 5;
}
@media(max-width: 1140px){
	#index .featured-products .products{
		--_columns: 3;
	}
}
@media(max-width: 986px){
	.products[data-display="grid"],
	#index .featured-products .products,
	ul.subcategories-list {
		--_columns: 2;
	}
}
@media(max-width: 630px){
	.products[data-display="grid"],
	#index .featured-products .products,
	ul.subcategories-list {
		--_columns: 1;
	}
	article.product-miniature, .thumbnail-top{
		justify-content: center;
	}
}
.products[data-display="grid"] > .product,
ul.subcategories-list > li{
	border-radius: 8px;	
	overflow: hidden;
}
ul.subcategories-list > li{
	text-align: center;
	padding: 1rem;
}
ul.subcategories-list a.subcategory-name{
	text-transform: uppercase;
	font-size: 0.9rem;
	font-weight: 600;
}
.products[data-display="grid"] article{
	flex-direction: column;
	gap: 10px;
	height: 100%;
	padding: 1rem;
}
.products[data-display="grid"] a.thumbnail{
	background: #fff;
	width: 100%;
}
.products[data-display="grid"] article.product-miniature .product-title a{
	font-size: clamp(0.775rem, 2.5vw ,0.8rem);
}
.products[data-display="grid"] article .align-right{
	margin-top: auto;
}

dl{
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	align-self: flex-start;
	margin: 0;
}
dl dd{
	margin: 0;
}
article dl{
	font-size: 0.725rem;
}
#product dl{
	row-gap: .5rem;
}
/** --- **/

/** INLINE PRODUCTS **/
.products[data-display="inline"]{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.products[data-display="inline"] article.product-miniature{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
	padding: .6rem;
	gap: 1rem;
	width: 100%;
}
.products[data-display="inline"] .title{
	flex-direction: column;
	gap: 5px;
	flex: 1;
	align-items: flex-start;
}
.products[data-display="inline"] :is(.reference, .features, .manufacturer){
	font-size: .75rem;
}
.products .features{
	display: flex;
	flex-direction: column;
	font-size: .785rem;
}
.products[data-display="inline"] article a.thumbnail{
	display: block;
	overflow: hidden;
	height: 4rem;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
}
article a.thumbnail img{
	max-width: 100%;
	object-fit: contain;
}
.reference{
	font-family: "Cascadia Mono", "Segoe UI Mono", "Liberation Mono", Menlo, Monaco, Consolas, monospace;
}

article .flags{
	display: flex;
	align-self: flex-start;
	align-items: center;
	gap: 2px;
}
article .flags > *{
	width: 1rem;
	height: 6px;
	border-radius: 10rem;
	background: #444444;

}
article .flags .discount,
article .flags .on-sale,
.flags-info > .discount::before{
	background: var(--flag-discount);
}
article .flags .new,
.flags-info > .new::before{
	background: var(--flag-new);
}
article .flags .week,
.flags-info > .week::before{
	background: var(--flag-week);
}
/** --- **/

article .align-right{
	gap: 1rem;
	justify-content: end;
}

div.sticky-footer{
	position: sticky;
	bottom: -1px;
	background: #f8fffc;
	padding-block: 1rem;
	align-items: center;
	justify-content: space-between;
}

@media( max-width: 400px){
	div.sticky-footer button#add-all-to-cart{
		font-size: .7rem;
		width: 100%;
		padding-inline: 1rem;
		margin-left: auto;
	}
}


.product-miniature .thumbnail-container .product-thumbnail img{
	transition: scale 0.2s;
}
.product-miniature .thumbnail-container .product-thumbnail img:hover{
	scale: 1.03;
}

#product-modal .modal-dialog{
	max-width: fit-content;
}
#product-modal figure{
	margin: 0;
}
#blockcart-modal :is(.summary, .cart-content-btn){
	gap: 1rem;
}
aside#thumbnails{
	display: none;
}

ul.js-qv-product-images{
	display: flex;
}

.product-information hr{
	margin-block: 2rem;
}
.product-actions .add-to-cart[disabled]{
	opacity: .8;
	display: flex;
	pointer-events: none;
	cursor: default;
}

#products .sort-by-row button{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font: inherit;
	font-size: 0.8rem;
	padding: 0 0.7rem;
}

.preorder{
	background: #ffffd2;
	padding: .8rem 1.5rem;
	border-radius: 8px;
	color: #a47400;
}
.preorder.min{
	display: inline-flex;
	padding: 6px 10px 5px;
	font-weight: 500;
	font-size: .7em;
	line-height: 1;
}

/* PRODUCT DETAILS */
#product .product-container{
	display: flow-root;
}
#product h1{
	margin-bottom: 1rem;
}
#product span.current-price-value{
	font-size: 1.4rem;
}
#product .product-prices{
	gap: 5px;
}
#product .product-cover img{
	border-radius: 8px;
	border: 1px solid var(--accent);
}
/*---*/


/*CART*/
.product-line-info {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

#cart ul.cart-items{
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.product-line-grid-body .label,
.product-line-grid-body span{
	font-size: .9em;
}

.card.cart-container{
	margin-bottom: 1rem;
}
.product-line-grid,
.product-line-grid-right{
	gap: 1rem;
}

.cart-summary-line.cart-total{
	margin-top: 10px;
}

.franco{
    text-align: center;
    display: flex;
    justify-content: center;
    background: var(--accent);
    padding: 10px;
    border-radius: 6px;
    margin-top: 10px;
}

#promo-code{
	margin-bottom: 1rem;
}
#promo-code.collapsing[aria-expanded="true"]{
	display: block;
}
#promo-code.collapsing[aria-expanded="false"],
#promo-code:not(.in){
	display: none;
}

.product-line-grid-right span.price{
	min-width: 5rem;
}
.delivery-options-list .delivery-options{
	margin-bottom: 1rem;
}


#order-confirmation .order-confirmation-table{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#order-confirmation .order-confirmation-table .order-line{
	display: flex;
	align-items: center;
	gap: 1rem;
}
#order-confirmation .order-confirmation-table .details{
	font-weight: 700;
}
#order-confirmation .order-confirmation-table .qty{
	margin-left: auto;
}
#order-confirmation .order-confirmation-table .order-line img{
	max-width: 80px;
	margin-bottom: 0;
}

#checkout section.checkout-step .delivery-options .delivery-option label {
	display: flex;
	align-items: center;
	gap: 1rem;
    border-radius: 10px;
    margin-bottom: 5px;
    min-height: 50px;
    border-right: 0;
    cursor: pointer;
}
#checkout section.checkout-step .delivery-options .delivery-option:has(.custom-radio > input:checked) label,
#checkout section.checkout-step .delivery-options .delivery-option label:hover{
	background: var(--accent);
}
#checkout section.checkout-step .delivery-options .delivery-option .logo{
	width: 3rem;
}
#checkout section.checkout-step .delivery-options .delivery-option .price{
	margin-left: auto;
}


#checkout #ddw-wrapper-dayview #ddw-days{
	display: flex;
	gap: 5px;
	height: auto;
}
#checkout #ddw-wrapper-dayview #ddw-days .day.selected{
	background-color: var(--primary-green);
}
#checkout #ddw-wrapper-dayview #ddw-days .day{
	border: 1px solid var(--primary-green);
	background: none;
	font-weight: 600;
	width: auto;
	padding: .8rem 1rem;
	border-radius: 6px;
	flex: 1;
}
#checkout #ddw-wrapper-dayview #ddw-days .day:hover{
	background: var(--accent);
}
#checkout #ddw-wrapper-dayview #ddw-days .day.selected:hover{
	background-color: var(--primaryhover);
}

#checkout #ddw-wrapper-dayview #ddw-days .day:nth-child(7) ~ .day{
/*	display: none;*/
}
#checkout #ddw-wrapper-dayview .timeslot-list .timeslot{
	box-shadow: none;
	background: none;
	border: 1px solid var(--primary-green);
	border-radius: 6px;
}
#checkout #ddw-wrapper-dayview .timeslot-list .timeslot:hover{
	background: var(--accent);
}
#checkout #ddw-wrapper-dayview .timeslot-list .timeslot.selected{
	background: var(--primary-green);
}
#checkout #ddw-wrapper-dayview .timeslot-list .timeslot.selected:hover{
	background: var(--primaryhover);
}
#ddw-summary{
	display: none !important;
}


.payment-options,
#checkout .payment-options .payment-option{
	display: none;
}
/*---*/




select.brands.sort.dropdown{
	width: 100%;
}
select.brands.sort.dropdown option[value]{
	text-transform: uppercase;
}

#search_filters .facet .facet-label .custom-checkbox, #search_filters .facet .facet-label .custom-radio{
	top: 0 !important;
}

#search_filters p.text-uppercase.h6{
	display: none;
}
#search_filters p.h6.facet-title{
	font-weight: bold;
}
#search_filters p.h6.facet-title::after{
	content: 's';
}

#page #search_filters .facet .facet-label .custom-checkbox,
#page #search_filters .facet .facet-label .custom-radio{
	top: -2px;
}
#search_filters .facet .facet-title{
	margin-top: 1rem;
}
#search_filters .facet .facet-label{
	margin-bottom: 0;
}
#search_filters .js-search-filters-clear-all{
	margin: 0;
    padding: 0.3rem 1rem;
    border-width: 1px;
    background: #fff !important;
}
#search_filters .js-search-filters-clear-all i{
	margin: 0;
}
#left-column > *{
	margin-bottom: 1rem;
}

body.category-id-2 h1{
	text-align: center;
}
body.category-id-2 #content-wrapper{
	/*width: 100%;*/
}
body.category-id-2 .category-top-menu{
	margin-inline: auto;
}

#search_filters,
body:not(.category-id-2) .block-categories,
#search_filters_brands{
    border-radius: .5rem;
    padding: 1rem;
    border: 1px solid var(--accent);
    background: #fff;
}
#search_filters .facet .facet-label a{
	color: var(--color);
	text-transform: lowercase;
	display: inline-block;
}
#search_filters .facet .facet-label a:first-letter{
	text-transform: uppercase;
}

/*
.block-categories .category-top-menu > li:first-child{
	border-top: 1px solid #efefef;
	margin-top: 1rem;
	padding-top: 2rem;
}
*/
.block-categories .collapse{
	display: none;
}
.block-categories .navbar-toggler{
	cursor: pointer;
	background: var(--accent);
	padding: 6px 7px;
	border-radius: 6px;
}
@media(min-width: 876px){
	.block-categories .navbar-toggler{
		padding: 3px 4px;
	}
}
.block-categories .navbar-toggler:hover{
	color: var(--primary-green);
}

.category-sub-menu li{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.category-sub-menu li[data-depth="0"]{
	gap: 5px;
}
.category-sub-menu li[data-depth="0"] + li{
	margin-top: 5px;
}
.category-sub-menu li[data-depth="0"] > a{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: .5rem;
	font-weight: 600;
	font-size: 0.8rem;
	text-decoration: none;
	border-radius: 8px;
	line-height: 1;
	flex: 1;
}
.category-sub-menu li[data-depth="0"] > a:is(:hover, .active){
	background: var(--accent);
	color: var(--primary-green);
}
.category-sub-menu li[data-depth="0"] ul a{
	font-weight: 500;
	font-size: 0.8rem;
}

.category-sub-menu img{
	max-height: 1.4rem;
}
.category-sub-menu.responsive-grid img{
	max-height: 3.5rem;
}

.category-sub-menu :where(a){
	color: var(--color);
}
.category-sub-menu a.current{
	color: var(--primary-green);
}
.category-sub-menu svg{
	transition: rorate 0.2s;
}
.category-sub-menu .category-sub-menu svg{
	font-size: .8em;
}
.category-sub-menu [aria-expanded="true"] > svg{
	rotate: -90deg;
}
.category-sub-menu [data-toggle="collapse"] > svg:hover{
	color: var(--primary-green);
	cursor: pointer;
}
.category-sub-menu :is(.collapse, .collapsing){
	width: 100%;
}
li[data-depth="0"] .category-sub-menu{
	padding-bottom: .6rem;
	padding-left: 29px;
}
li[data-depth="1"] .category-sub-menu{
	padding-block: .3rem;
	padding-left: 1rem;
}

#content-wrapper .block-categories ul{
	padding: 0;
	list-style: none;
}
#wrapper .category-sub-menu.responsive-grid{
	--grid-max-col-count: 5;
}
#wrapper .category-sub-menu.responsive-grid li{
	margin: 0;
	padding: 0;
}
#wrapper .category-sub-menu.responsive-grid a{
	padding-block: 2rem;
	justify-content: center;
	border: 1px solid var(--primary-green);
	flex-direction: column;
	text-align: center;
	gap: 1rem;
}
#wrapper .category-sub-menu.responsive-grid svg{
	font-size: 1.6rem;
}

.category-sub-menu.grid{}

.table-product-discounts{
	margin-bottom: 1.5rem;
}
.product-cart-container .current-price{
	font-size: 2rem;
}

@media(max-width: 768px){
	.breadcrumb{
		display: none;
	}
	.page-category #left-column{
		padding-top: 0 ;
	}
	#category #left-column #search_filters_wrapper{
		margin: 0;
	}
	.products-selection .col-md-6,
	.products-selection .col-sm-12{
		width: 100%;
	}

	.tabs .nav-tabs{
		flex-wrap: wrap;
	}
}

@media(max-width: 525px){
	#cart .product-line-grid-body{
		width: 100%;
		margin-bottom: 0;
		order: 1;
	}
	#cart .cart-item{
		padding-block: 10px;
	}
	#cart .cart-item + .cart-item{
		border-top: 1px solid var(--accent-alt);
	}
	#cart .product-line-grid-left{
		order: 2;
	}
	#cart .product-line-grid-right{
		order: 3;
	}

	#cart .checkout.cart-detailed-actions .text-sm-center{
		text-align: right;
	}

	article .align-right{
		gap: .5rem;
	}
	.flags-info{
		width: 100%;
		justify-content: space-between;
		font-size: 0.7rem;
	}
	.list-display-switch{
		margin-left: initial;
	}
}

.product-container .labels{
	padding-top: 1rem;
	gap: 5px;
}
.product-container .labels img{
	max-height: 50px;
}

.product-accessories .products.row{
	margin-inline: 0;
}




.full-page-loader{
	position: fixed;
	inset: 0;
	background: #00000021;
	backdrop-filter: blur(1px);
	display: grid;
	place-content: center;
	z-index: 999;
}
.full-page-loader .text{
	background: #fff;
	padding: 2rem 4rem;
	border-radius: 8px;
	text-align: center;
}
.full-page-loader h3{
	color: var(--primary-green);
}
.full-page-loader p{
	margin: 0;
}

#wrapper .wishlist-container-header{
	margin-bottom: 0;
}
#wrapper ul.wishlist-list{
	padding-block: 1rem;
}
#wrapper ul.wishlist-list li{
	list-style: none;
	padding-block: .5rem;
}
#wrapper .wishlist-list-item-default{
	border-bottom: 0;
}
#wrapper .wishlist-list-item-link{
	padding: 0;
}
#wrapper .wishlist-list-item-link p{
	margin: 0;
}
.wishlist-list-item-link:hover{
	text-decoration: none;
}
#wrapper .wishlist-list-item:hover .wishlist-list-item-title{
	color: var(--primaryhover);
}
.wishlist-list-empty{
	margin-inline: auto;
}

#wrapper .ets-wishlist-button-add{
	display: none;
}