body.woocommerce-shop {
	padding-top: calc( var(--header-height,5.5em) );
}

body.woocommerce-shop.has-floating-bars {
	padding-top: calc( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) );
}

body.filters-menu-toggled {
	overflow: hidden;
}

.site {
	overflow: initial;
}

.storefront-full-width-content .woocommerce-products-header {
	padding: 0 0 2em;
}

.storefront-full-width-content .woocommerce-products-header:has(.woocommerce-products-header__title.screen-reader-text) {
	padding: 0;
}

.filter-menu {
    position: fixed;
	bottom: 0;
	z-index: 998;
	background-color: var(--background-color,#fff);
	margin: 0 -1.41575em;
	display: grid;
	grid-template-rows: 0 1fr;
	overflow: hidden;
	width: 100%;
	max-height: calc(100vh - var(--header-height,5.5em));
	-ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.filter-menu.toggled {
	grid-template-rows: auto 1fr;
	top: var(--header-height,5.5em);
	height: 100%;
}
	
body.has-floating-bars .filter-menu.toggled {
	top: calc( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) );
}

body.admin-bar .filter-menu.toggled {
	top: calc( var(--header-height,5.5em) + var(--wp-admin--admin-bar--height,32px) );
}

body.admin-bar.has-floating-bars .filter-menu.toggled {
	top: calc( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) + var(--wp-admin--admin-bar--height,32px) );
}

button.filters-toggle {
	background: var(--Niuti-gradient,radial-gradient(50% 50% at 44% 83%, hsl(338 91% 75% / 1), hsl(338 91% 75% / 0)), radial-gradient(50% 50% at 98% 4%, hsl(272 63% 68% / 1), hsl(272 63% 68% / 0)), radial-gradient(50% 50% at 10% 97%, hsl(300 92% 79% / 1), hsl(300 92% 79% / 0)), radial-gradient(50% 50% at 44% 47%, hsl(292 90% 85% / 1), hsl(292 90% 85% / 0)), radial-gradient(hsl(324 79% 46% / 1), hsl(324 79% 46% / 1)));
	border: none;
    color: #FFF;
	grid-row: 2 / span 1;
	min-height: 3em;
}

button.filters-toggle .close {
	display: none;
}

.filter-menu.toggled button.filters-toggle {
	position: fixed;
	bottom: 0;
	z-index: 998;
	width: 100%;
}

.filter-menu.toggled button.filters-toggle .close {
	display: inline;
}

.filters-wrapper {
	padding: 2em 0 20vh;
	max-width: 100%;
	overflow-x: hidden;
	grid-row: 1 / span 1;
	display: none;
}

.filters-wrapper::-webkit-scrollbar {
  display: none;
}

.filter-menu.toggled .filters-wrapper {
	display: block;
}

form.woocommerce-ordering {
	display: flex;
	justify-content: center;
	margin: 0 0.8em;
}

.shop-filters {
	overflow: hidden;
	/*padding-bottom: 5em;*/
}
	
.storefront-sorting select {
	--outline-width: 0.1rem;
	padding: 0.345em;
	border: hsla(0, 0%, 80%, 1) var(--outline-width,0.1rem) solid;
	font-variation-settings: "wght" 400;
	width: calc(100% - 2em);
	background-color: var(--background-color,#fff);
}

.wp-block-heading {
	font-size: 1em;
	margin-left: 1.7em;
}

.wc-block-components-price-slider {
	margin: 0 1.7em;
}

.wc-block-components-price-slider__range-input-progress {
	--range-color: var(--bg-hsla,hsl(324 79% 46% / 1));
}

.wc-block-attribute-filter__actions .wc-block-filter-submit-button.wc-block-components-filter-submit-button.wc-block-attribute-filter__button ,
.wc-block-components-price-slider__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button,
.wc-block-components-price-slider__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button:not(.has-background),
.wc-block-stock-filter__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button,
.wp-block-button__link:not(.has-background) {
	background: var(--Niuti-gradient,radial-gradient(50% 50% at 44% 83%, hsl(338 91% 75% / 1), hsl(338 91% 75% / 0)), radial-gradient(50% 50% at 98% 4%, hsl(272 63% 68% / 1), hsl(272 63% 68% / 0)), radial-gradient(50% 50% at 10% 97%, hsl(300 92% 79% / 1), hsl(300 92% 79% / 0)), radial-gradient(50% 50% at 44% 47%, hsl(292 90% 85% / 1), hsl(292 90% 85% / 0)), radial-gradient(hsl(324 79% 46% / 1), hsl(324 79% 46% / 1)));
    border: none;
    color: #FFF;
    padding:calc(0.75em + var(--border-value,2px)) calc(1em + var(--border-value,2px));
	border-radius: 0;
}

.wc-block-attribute-filter__actions .wc-block-filter-submit-button.wc-block-components-filter-submit-button.wc-block-attribute-filter__button:disabled ,
.wc-block-components-price-slider__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button:disabled,
.wc-block-components-price-slider__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button:not(.has-background):disabled,
.wc-block-stock-filter__actions button[type=submit]:not(.wp-block-search__button).wc-block-components-filter-submit-button:disabled,
.wp-block-button__link:not(.has-background):disabled {
    filter: grayscale(.5);
    animation-play-state: paused;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
	--outline-width: 0.1rem;
	border: hsla(0, 0%, 80%, 1) var(--outline-width,0.1rem) solid;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus:not(:focus-visible) {
	outline: none;
}

.wc-block-stock-filter {
	margin-bottom: 0;
}

.wc-block-components-checkbox-list {
    display: flex;
    flex-direction: row;
	gap: 1.7em;
	padding: 0 1.7em;
	overflow-x: scroll;
	-ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.wc-block-components-checkbox-list::-webkit-scrollbar {
	display: none;
}

/* Manual order of size attributes list */

.wc-block-attribute-filter-list:has(input#s) li:has(input#xs) {
	order: 1;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#s) {
	order: 2;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#sm) {
	order: 3;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#m) {
	order: 4;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#ml) {
	order: 5;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#l) {
	order: 6;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#lxl) {
	order: 7;
}

.wc-block-attribute-filter-list:has(input#s) li:has(input#xl) {
	order: 8;
}

.wc-block-components-price-slider__amount--max {
	text-align: right;
}

.products {
	margin-top: 2.2em;
}

@media screen and (max-width: 767px) {
	.widget {
		margin: 0 0 2em;
	}
	
	.storefront-sorting {
		margin-bottom: 2em;
	}
	
	.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
		position: absolute;
		opacity: 0;
		height: 0;
		width: 0;
	}
	
	.wc-block-components-checkbox label {
		--outline-width: 0.1rem;
		outline: hsla(0, 0%, 80%, 1) var(--outline-width,0.1rem) solid;
		font-variation-settings: "wght" 400;
		padding: 0.25em 0.5em;
		display: flex;
		justify-content: center;
		min-width: 2.5em;
		max-width: fit-content;
	}
	
	.wc-block-components-checkbox label:has(:checked) {
		--outline-width: 0.15rem;
		outline: var(--text-color) var(--outline-width,0.1rem) solid;
		font-variation-settings: 'wght' 600;
	}
	
	.wc-block-components-checkbox .wc-block-components-checkbox__mark {
		display: none;
	}
	
	.wc-block-attribute-filter__actions,
	.wc-block-stock-filter__actions {
		justify-content: flex-start;
		margin: 1.5em 1.7em 0;
	}
	
	.wc-block-components-price-slider__actions {
		justify-content: flex-start;
	}
}

@media screen and (min-width: 768px) {
	.filter-menu {
		display: block;
		position: sticky;
		top: var(--header-height,5.5em);
		bottom: initial;
		padding: 2em 0;
		margin: 0;
		overflow: unset;
		width: auto;
	}
	
	body.has-floating-bars .filter-menu {
		top: calc( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) );
		max-height: calc(100vh - ( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) ) );
	}

	body.admin-bar .filter-menu {
		top: calc( var(--header-height,5.5em) + var(--wp-admin--admin-bar--height,32px) );
		max-height: calc(100vh - ( var(--header-height,5.5em) + var(--wp-admin--admin-bar--height,32px) ) );
	}

	body.admin-bar.has-floating-bars .filter-menu {
		top: calc( var(--header-height,5.5em) + var(--floating-bar-height,2.3em) + var(--wp-admin--admin-bar--height,32px) );
		max-height: calc(100vh - ( var(--header-height,5.5em) + var(--wp-admin--admin-bar--height,32px)  + var(--wp-admin--admin-bar--height,32px) ) );
	}
	
	button.filters-toggle {
		display: none;
	}
	
	.filters-wrapper {
		display: flex;
		gap: 1em;
		justify-content: space-between;
		padding: 0;
		overflow: initial;
	}
	
	form.woocommerce-ordering {
		margin: 0;
	}
	
	.storefront-sorting select {
		width: initial;
	}
	
	.shop-filters {
		display: flex;
		gap: 3em;
		align-items: center;
		overflow: initial;
		/*padding: 0;*/
	}
	
	.wc-blocks-filter-wrapper {
		position: relative;
	}
	
	.widget_block:not(:hover):not(:focus-within) .wc-blocks-filter-wrapper > div {
		clip: rect(1px,1px,1px,1px);
		height: 1px;
		width: 1px;
		overflow: hidden;
		word-wrap: normal!important;
		transform: translateY(-1em);
	}
	
	@supports selector(:has(*)) {
		.widget_block:not(:hover):not(:has(:focus-visible)) .wc-blocks-filter-wrapper > div {
			clip: rect(1px,1px,1px,1px);
			height: 1px;
			width: 1px;
			overflow: hidden;
			word-wrap: normal!important;
			transform: translateY(-1em);
		}
	
		.widget_block:not(:hover):not(:has(:focus-visible)) .wc-blocks-filter-wrapper > div:has(.is-loading),
		.widget_block:not(:hover):not(:has(:focus-visible)) .wc-blocks-filter-wrapper > div:has(.wc-block-filter-title-placeholder) {
			display: none;
		}
	}
	
	.wc-blocks-filter-wrapper > div {
		position: absolute;
		top: 2.25em;
		padding: 0.1rem 1em 1em;
		background-color: var(--background-color,#FFF);
		min-width: max-content;
		box-shadow: 0 0 15px 7px hsla(0,0%,46%,0.2);
	}
	
	.widget_block:last-of-type .wc-blocks-filter-wrapper > div {
		right: 0;
	}
	
	.wp-block-heading {
		--outline-width: 0.1rem;
		border: hsla(0, 0%, 80%, 1) var(--outline-width,0.1rem) solid;
		font-variation-settings: "wght" 400;
		padding: 0.25em 0.5em;
		margin-bottom: 0;
		margin-left: 0;
		cursor: default;
		user-select: none;
		background-color: var(--background-color,#FFF);
	}
	
	.widget_block:hover .wc-blocks-filter-wrapper > .wp-block-heading,
	.widget_block:focus-within .wc-blocks-filter-wrapper > .wp-block-heading,
	.storefront-sorting select:hover,
	.storefront-sorting select:focus {
		--outline-width: 0.15rem;
		border: var(--text-color) var(--outline-width,0.1rem) solid;
		font-variation-settings: 'wght' 600;
	}
	
	.wc-block-components-checkbox-list {
		display: flex;
		gap: 0;
		flex-direction: column;
		max-height: 30.6em;
		margin-bottom: 0;
		padding-left: 0;
		overflow-y: scroll;
		-ms-overflow-style: auto;  /* IE and Edge */
		scrollbar-width: 0.5em;  /* Firefox */
	}

	.wc-block-components-checkbox-list::-webkit-scrollbar {
		display: block;
		width: 0.5em;
		background-color: var(--background-color,#fff);
	}
  
	.wc-block-components-checkbox-list::-webkit-scrollbar-thumb {
		background-color: hsla(0, 0%, 80%, 1);
		border-radius: 25px;
	}
	
	.wc-block-components-checkbox-list:has(:nth-child(12)) {
		margin-right: 1em;
	}
	
	.wc-block-components-checkbox-list li:first-of-type {
		margin-left: 0;
	}
	
	.wc-block-components-checkbox {
		margin-left: 0.2em;
	}
	
	.style-list {
		margin-bottom: 0;
	}
	
	.storefront-sorting,
	.widget {
		margin-bottom: 0;
	}
	
	.wc-block-components-price-slider {
		margin: 0;
		min-width: 9em;
	}
	
	.wc-block-attribute-filter__actions,
	.wc-block-stock-filter__actions,
	.wc-block-components-price-slider__actions {
		margin-top: 0;
	}
	
	.wc-block-attribute-filter__actions:has(.is-loading),
	.wc-block-stock-filter__actions:has(.is-loading),
	.wc-block-components-price-slider__actions:has(.is-loading) {
		margin-top: 1em;
	}
	
	.products {
		margin-top: 0;
	}
}

@media (prefers-reduced-motion: no-preference) {
	
	.wc-block-attribute-filter__actions .wc-block-filter-submit-button.wc-block-components-filter-submit-button.wc-block-attribute-filter__button,
	button.filters-toggle {
	  animation: niuti-gradient-animation var(--gradient-animation-duration,20s) linear infinite;
	}
	
	@media screen and (max-width: 767px) {
		.filter-menu {
			transition: transform .5s linear;
		}
		
		.wc-block-components-checkbox label {
			transition: font-variation-settings 0.1s linear, outline 0.05s linear;
		}
	}
	
	@media screen and (min-width: 768px) {
		.wp-block-heading,
		.storefront-sorting select {
			transition: 0.1s linear;
		}
		
		.widget_block:hover .wc-blocks-filter-wrapper > .wp-block-heading,
		.widget_block:focus-within .wc-blocks-filter-wrapper > .wp-block-heading {
			transition: font-variation-settings 0.1s linear, border 0.05s linear;
		}
			
		.wc-blocks-filter-wrapper > div {
			transition: transform 0.1s ease-out;
		}
	}
	
}