body.single-product .ricas-toolkit-avasta-veel .wc-block-product-template {
			align-items: stretch !important;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-product-collection .wc-block-product,
		body.home .wp-block-woocommerce-product-collection .wc-block-product,
		body.single-product .ricas-toolkit-avasta-veel .wc-block-product {
			align-self: stretch;
			display: flex !important;
			flex-direction: column;
			height: 100%;
			text-align: center;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-button,
		body.home .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-button,
		body.single-product .ricas-toolkit-avasta-veel .wp-block-woocommerce-product-button {
			align-items: center !important;
			justify-content: center !important;
			margin-top: auto !important;
			width: 100%;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
		body.home .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
		body.single-product .ricas-toolkit-avasta-veel .wp-block-woocommerce-product-button .wp-block-button__link {
			align-items: center;
			box-sizing: border-box;
			display: inline-flex;
			height: 51px !important;
			justify-content: center;
			line-height: 1.2 !important;
			min-height: 51px !important;
			padding: 0 18px !important;
			width: 117px !important;
		}

		body.archive.woocommerce-page .ricas-filter-toggle {
			display: none;
		}

		body.archive.woocommerce-page .ricas-filter-column {
			max-width: 220px;
		}

		@media (max-width: 768px) {
			body.archive.woocommerce-page .wp-site-blocks > .wp-block-group > .wp-block-columns:has(.wp-block-breadcrumbs) > .wp-block-column:has(.wp-block-breadcrumbs) {
				box-sizing: border-box;
				padding-left: 18px !important;
				padding-right: 18px !important;
				width: 100% !important;
			}
		}

		body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper {
			margin-block-start: 14px !important;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper:first-child {
			margin-block-start: 0 !important;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper:has(.wc-blocks-filter-wrapper[hidden]),
		body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper:has(.wp-block-woocommerce-attribute-filter:empty) {
			display: none !important;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper h3 {
			font-size: 15px !important;
			font-weight: 700 !important;
			letter-spacing: 0 !important;
			line-height: 1.2 !important;
			margin: 0 0 6px !important;
		}

		body.archive.woocommerce-page .wc-blocks-filter-wrapper,
		body.archive.woocommerce-page .wp-block-woocommerce-attribute-filter,
		body.archive.woocommerce-page .wc-block-attribute-filter.style-dropdown {
			margin: 0 !important;
		}

		body.archive.woocommerce-page .wc-block-attribute-filter.style-dropdown {
			max-width: 220px;
			position: relative;
		}

		body.archive.woocommerce-page .wc-block-attribute-filter.style-dropdown > svg {
			height: 24px;
			pointer-events: none;
			position: absolute;
			right: 10px;
			top: 50%;
			transform: translateY(-50%);
			width: 24px;
		}

		body.archive.woocommerce-page .components-form-token-field__label {
			clip: rect(1px, 1px, 1px, 1px);
			clip-path: inset(50%);
			height: 1px;
			overflow: hidden;
			position: absolute !important;
			white-space: nowrap;
			width: 1px;
		}

		body.archive.woocommerce-page .wc-blocks-components-form-token-field-wrapper {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			margin: 0 !important;
			padding: 0 !important;
			width: 100%;
		}

		body.archive.woocommerce-page .components-form-token-field {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			margin: 0 !important;
			padding: 0 !important;
			width: 100%;
		}

		body.archive.woocommerce-page .components-form-token-field__input-container {
			align-items: center;
			background: #fff;
			border: 1px solid #bdbdbd;
			border-radius: 12px;
			box-sizing: border-box;
			box-shadow: none;
			display: flex;
			flex-wrap: wrap;
			gap: 4px;
			height: auto !important;
			min-height: 40px;
			overflow: visible !important;
			padding: 4px 38px 4px 10px;
			transition: border-color .15s ease, box-shadow .15s ease;
			width: 100%;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-attribute-filter.is-loading .components-form-token-field__input-container,
		body.archive.woocommerce-page .wc-blocks-components-form-token-field-wrapper.is-loading .components-form-token-field__input-container {
			background: #fff !important;
			background-image: none !important;
			border-color: #bdbdbd !important;
		}

		body.archive.woocommerce-page .wp-block-woocommerce-attribute-filter.is-loading::before,
		body.archive.woocommerce-page .wp-block-woocommerce-attribute-filter.is-loading::after,
		body.archive.woocommerce-page .wc-blocks-components-form-token-field-wrapper.is-loading::before,
		body.archive.woocommerce-page .wc-blocks-components-form-token-field-wrapper.is-loading::after,
		body.archive.woocommerce-page .components-form-token-field__input-container.is-disabled::before,
		body.archive.woocommerce-page .components-form-token-field__input-container.is-disabled::after {
			display: none !important;
		}

		body.archive.woocommerce-page .components-form-token-field__input-container:has(.components-form-token-field__token) .components-form-token-field__input {
			flex: 0 1 34px !important;
			min-width: 28px;
			width: 34px !important;
		}

		body.archive.woocommerce-page .components-form-token-field__input-container:focus-within {
			border-color: #111;
			box-shadow: 0 0 0 2px rgba(184, 255, 46, .55);
			outline: none;
		}

		body.archive.woocommerce-page .components-form-token-field__input {
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			color: #111;
			flex: 1 1 80px !important;
			font-size: 14px;
			height: 28px !important;
			line-height: 1.25;
			margin: 0 !important;
			min-height: 28px !important;
			min-width: 0;
			outline: none !important;
			padding: 0 !important;
			width: 100% !important;
		}

		body.archive.woocommerce-page .components-form-token-field__input::placeholder {
			color: #2f2f2f;
			opacity: 1;
			text-overflow: ellipsis;
		}

		body.archive.woocommerce-page .components-form-token-field__token {
			align-items: center;
			background: #fff;
			border: 1px solid #111;
			border-radius: 999px;
			color: #111;
			display: inline-flex;
			font-size: 13px !important;
			gap: 3px;
			height: 26px;
			line-height: 1.2;
			margin: 0 4px 0 0 !important;
			max-width: 100%;
			min-height: 26px;
			padding: 0 4px 0 8px;
		}

		body.archive.woocommerce-page .components-form-token-field__token-text {
			border: 0 !important;
			box-shadow: none !important;
			max-width: 130px;
			overflow: hidden;
			padding: 0 !important;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		body.archive.woocommerce-page .components-form-token-field__token .components-visually-hidden {
			clip: rect(1px, 1px, 1px, 1px);
			clip-path: inset(50%);
			height: 1px;
			overflow: hidden;
			position: absolute !important;
			white-space: nowrap;
			width: 1px;
		}

		body.archive.woocommerce-page .components-form-token-field__remove-token,
		body.archive.woocommerce-page .components-form-token-field__remove-token.components-button {
			align-items: center !important;
			background: transparent !important;
			border: 0 !important;
			border-radius: 999px !important;
			box-shadow: none !important;
			color: #111 !important;
			display: inline-flex !important;
			flex: 0 0 18px;
			height: 18px !important;
			justify-content: center !important;
			margin: 0 !important;
			min-width: 18px !important;
			opacity: 1 !important;
			padding: 0 !important;
			position: static !important;
			width: 18px !important;
		}

		body.archive.woocommerce-page .components-form-token-field__remove-token svg {
			height: 12px !important;
			width: 12px !important;
		}

		body.archive.woocommerce-page .components-form-token-field__suggestions-list {
			background: #fff;
			border: 1px solid #d8d8d8;
			border-radius: 10px;
			box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
			box-sizing: border-box;
			list-style: none;
			margin-top: 5px;
			max-height: min(280px, 48vh);
			overflow-x: hidden !important;
			overflow-y: auto !important;
			overscroll-behavior: contain;
			padding: 5px !important;
			-webkit-overflow-scrolling: touch;
		}

		body.archive.woocommerce-page .components-form-token-field__suggestion {
			align-items: center;
			background: #fff;
			border: 1px solid #d8d8d8;
			border-radius: 8px;
			box-sizing: border-box;
			color: #111;
			display: flex !important;
			font-size: 14px !important;
			line-height: 1.2 !important;
			margin: 0 0 5px !important;
			min-height: 32px !important;
			padding: 6px 9px !important;
		}

		body.archive.woocommerce-page .components-form-token-field__suggestion:last-child {
			margin-bottom: 0 !important;
		}

		body.archive.woocommerce-page .components-form-token-field__suggestion.is-selected,
		body.archive.woocommerce-page .components-form-token-field__suggestion[aria-selected="true"] {
			background: #f3f3f3 !important;
			border-color: #bdbdbd !important;
		}

		body.archive.woocommerce-page .wc-block-attribute-filter__actions {
			font-size: 13px;
			margin-top: 6px;
		}

		body.archive.woocommerce-page .wc-block-attribute-filter__actions button,
		body.archive.woocommerce-page .wc-block-attribute-filter__actions a {
			color: #333;
		}

		@media (min-width: 1000px) {
			body.archive.woocommerce-page .wp-site-blocks > .wp-block-group > .wp-block-columns:has(.wp-block-query-title) {
				gap: 0 !important;
				justify-content: center;
			}

			body.archive.woocommerce-page .wp-site-blocks > .wp-block-group > .wp-block-columns:has(.wp-block-query-title) > .wp-block-column:first-child {
				display: none !important;
			}

			body.archive.woocommerce-page .wp-site-blocks > .wp-block-group > .wp-block-columns:has(.wp-block-query-title) > .wp-block-column:has(.wp-block-query-title) {
				flex-basis: auto !important;
				max-width: 1120px;
				width: min(1120px, calc(100vw - 64px));
			}

			body.archive.woocommerce-page .ricas-filter-layout {
				align-items: start;
				column-gap: 28px !important;
				display: grid !important;
				grid-template-columns: 180px minmax(0, 1fr);
			}

			body.archive.woocommerce-page .ricas-filter-layout > .wp-block-column {
				flex-basis: auto !important;
				min-width: 0;
				width: auto !important;
			}

			body.archive.woocommerce-page .ricas-filter-column {
				max-width: 180px;
				width: 180px !important;
			}

			body.archive.woocommerce-page .wc-block-attribute-filter.style-dropdown {
				max-width: 180px;
			}

			body.archive.woocommerce-page .wp-block-woocommerce-product-template.wc-block-product-template__responsive {
				grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
			}
		}

		@media (min-width: 1180px) {
			body.archive.woocommerce-page .wp-block-woocommerce-product-template.wc-block-product-template__responsive {
				grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
			}
		}

		@media (max-width: 700px) {
			body.archive.woocommerce-page .ricas-filter-toggle {
				align-items: center;
				background: #fff;
				border: 1px solid #bdbdbd;
				border-radius: 12px;
				box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
				color: #111;
				cursor: pointer;
				display: flex;
				font: inherit;
				font-size: 16px;
				justify-content: space-between;
				line-height: 1.2;
				margin: 10px 0 10px;
				min-height: 42px;
				padding: 9px 14px;
				width: min(360px, calc(100vw - 32px));
			}

			body.archive.woocommerce-page .ricas-filter-toggle:focus {
				border-color: #111;
				box-shadow: 0 0 0 2px rgba(184, 255, 46, .55);
				outline: none;
			}

			body.archive.woocommerce-page .ricas-filter-toggle__icon {
				border: 0;
				display: block;
				height: 18px;
				position: relative;
				width: 18px;
			}

			body.archive.woocommerce-page .ricas-filter-toggle__icon::before {
				border-bottom: 2px solid #111;
				border-right: 2px solid #111;
				content: "";
				height: 9px;
				left: 4px;
				position: absolute;
				top: 2px;
				transform: rotate(45deg);
				width: 9px;
			}

			body.archive.woocommerce-page.ricas-filters-open .ricas-filter-toggle__icon::before {
				top: 7px;
				transform: rotate(225deg);
			}

			body.archive.woocommerce-page .ricas-filter-layout {
				display: block !important;
			}

			body.archive.woocommerce-page .ricas-filter-column {
				display: none !important;
				max-width: none;
				width: 100% !important;
			}

			body.archive.woocommerce-page.ricas-filters-open .ricas-filter-column {
				display: block !important;
				margin: 0 0 18px !important;
			}

			body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper {
				margin-block-start: 12px !important;
			}

			body.archive.woocommerce-page .wp-block-woocommerce-filter-wrapper h3 {
				font-size: 17px !important;
				margin-bottom: 6px !important;
			}

			body.archive.woocommerce-page .wc-block-attribute-filter.style-dropdown {
				max-width: min(360px, calc(100vw - 32px));
			}

			body.archive.woocommerce-page .components-form-token-field__input-container {
				min-height: 40px;
				padding-bottom: 4px;
				padding-top: 4px;
			}

			body.archive.woocommerce-page .components-form-token-field__input {
				font-size: 16px;
				height: 28px !important;
				min-height: 28px !important;
			}

			body.archive.woocommerce-page .components-form-token-field__token {
				height: 26px;
				min-height: 26px;
			}

			body.archive.woocommerce-page .components-form-token-field__suggestions-list {
				border-color: #bdbdbd !important;
				border-radius: 12px !important;
				max-height: min(250px, 40vh);
				padding: 5px !important;
			}

			body.archive.woocommerce-page .components-form-token-field__suggestion {
				border-radius: 8px !important;
				font-size: 15px !important;
				min-height: 34px !important;
				padding: 6px 9px !important;
			}
		}

body.tax-product_cat .ricas-category-intro {
			color: #333;
			font-size: 1rem;
			line-height: 1.45;
			margin-block-start: 8px;
			max-width: 760px;
		}

		body.tax-product_cat .ricas-category-intro p {
			margin: 0;
		}

.mega-menu-toggle {
			cursor: pointer;
			touch-action: manipulation;
			user-select: none;
		}

		body.woocommerce-page .wp-block-woocommerce-catalog-sorting {
			width: min(100%, 360px) !important;
			max-width: 360px !important;
		}

		body.woocommerce-page .wp-block-woocommerce-catalog-sorting .woocommerce-ordering {
			position: relative !important;
			width: 100% !important;
		}

		body.woocommerce-page .wp-block-woocommerce-catalog-sorting .woocommerce-ordering::after {
			border-bottom: 2px solid #111;
			border-right: 2px solid #111;
			content: "";
			height: 9px;
			pointer-events: none;
			position: absolute;
			right: 17px;
			top: 50%;
			transform: translateY(-65%) rotate(45deg);
			width: 9px;
		}

		body.woocommerce-page .wp-block-woocommerce-catalog-sorting select.orderby {
			appearance: none !important;
			-webkit-appearance: none !important;
			background: #fff !important;
			border: 1px solid #bdbdbd !important;
			border-radius: 12px !important;
			box-shadow: 0 1px 0 rgba(0, 0, 0, .04) !important;
			color: #111 !important;
			font-size: 16px !important;
			height: auto !important;
			line-height: 1.25 !important;
			min-height: 42px !important;
			padding: 9px 44px 9px 14px !important;
			width: 100% !important;
		}

		body.woocommerce-page .wp-block-woocommerce-catalog-sorting select.orderby:focus {
			border-color: #111 !important;
			box-shadow: 0 0 0 2px rgba(184, 255, 46, .55) !important;
			outline: none !important;
		}

		@media (max-width: 700px) {
			body.woocommerce-page .wp-block-columns:has(.wp-block-woocommerce-catalog-sorting) {
				row-gap: 8px !important;
			}

			body.woocommerce-page .wp-block-group:has(.wp-block-woocommerce-catalog-sorting) {
				margin-top: 8px !important;
			}

			body.archive.woocommerce-page .wp-site-blocks .wp-block-column > div.wp-block-woocommerce-filter-wrapper:first-child {
				margin-top: -8px !important;
			}

			body.woocommerce-page .wp-block-woocommerce-catalog-sorting {
				margin: 4px 0 8px !important;
				max-width: min(320px, calc(100vw - 56px)) !important;
				width: min(320px, calc(100vw - 56px)) !important;
			}

			body.woocommerce-page .wp-block-woocommerce-catalog-sorting select.orderby {
				background-color: #fff !important;
				font-size: 16px !important;
				min-height: 42px !important;
				padding-bottom: 8px !important;
				padding-top: 8px !important;
			}
		}

body.ricas-category-shell .ricas-category-shell-menu {
			isolation: isolate !important;
			margin: 0 !important;
			max-width: none !important;
			position: relative !important;
			width: 100% !important;
			z-index: 10000 !important;
		}

		body.ricas-category-shell .ricas-category-shell-menu .ricas-proto-menu {
			position: relative !important;
			z-index: 10000 !important;
		}

		body.ricas-category-shell .ricas-category-shell-menu .ricas-proto-menu__submenu {
			z-index: 10001 !important;
		}

		body.ricas-category-shell .wp-block-search__label {
			border: 0 !important;
			clip: rect(0,0,0,0) !important;
			height: 1px !important;
			margin: -1px !important;
			overflow: hidden !important;
			padding: 0 !important;
			position: absolute !important;
			white-space: nowrap !important;
			width: 1px !important;
		}

		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-image,
		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-image {
			background: #fff !important;
			overflow: visible !important;
		}

		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-image > a,
		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-image > a {
			align-items: center !important;
			aspect-ratio: 1 / 1 !important;
			background: #fff !important;
			display: flex !important;
			justify-content: center !important;
			overflow: visible !important;
			width: 100% !important;
		}

		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-image img,
		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-image img,
		body.ricas-category-shell .wp-block-woocommerce-product-collection .wc-block-product img[data-testid="product-image"] {
			display: block !important;
			height: 100% !important;
			max-height: 100% !important;
			max-width: 100% !important;
			object-fit: contain !important;
			object-position: center !important;
			transform: none !important;
			width: 100% !important;
		}

body.post-type-archive-product.woocommerce-shop .wp-block-columns:not(.ricas-filter-layout):has(.ricas-filter-layout) {
	justify-content: center !important;
}

body.post-type-archive-product.woocommerce-shop .wp-block-columns:not(.ricas-filter-layout):has(.ricas-filter-layout) > .wp-block-column:first-child {
	display: none !important;
	flex-basis: 0 !important;
	width: 0 !important;
	max-width: 0 !important;
}

body.post-type-archive-product.woocommerce-shop .wp-block-columns:not(.ricas-filter-layout):has(.ricas-filter-layout) > .wp-block-column:nth-child(2) {
	flex-basis: 1120px !important;
	width: min(1120px, calc(100vw - 160px)) !important;
	max-width: 1120px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 900px) {
	body.post-type-archive-product.woocommerce-shop .wp-block-columns:not(.ricas-filter-layout):has(.ricas-filter-layout) > .wp-block-column:nth-child(2) {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}
