/*** WC Notices ***/
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top: none !important;
	color: var(--black) !important;
	&::before {
		color: var(--black) !important;
	}
	
	a.button {
		font-weight: 500 !important;
		border: none !important;
		color: var(--black) !important;
		padding: 0 !important;
		text-decoration: underline !important;
		font-size: 1rem !important;
		float: none !important;
		&:hover {
			text-decoration: none !important;
		}
	}
	
	a.restore-item {
		font-weight: 500 !important;
		color: var(--black) !important;
		font-size: 1rem !important;
		text-decoration: underline !important;
		&:hover {
			text-decoration: none !important;
		}
	}
}
.woocommerce-message {
	background: var(--green) !important;
}
.woocommerce-info {
	background: var(--blue) !important;
}
.woocommerce-error {
	background: var(--red) !important;
}


/*** Breadcrumb ***/
.elementor-element.elementor-widget-woocommerce-breadcrumb {
	nav.woocommerce-breadcrumb {
		margin: 0 0 1.5625rem 0;
		color: var(--black);
		font-size: 0.75rem;
		a {
			color: inherit;
			&:hover {
				text-decoration: underline;
			}
		}
		span.breadcrumb-sep {
			font-size: 10px;
			padding: 0 5px 0 3px;
		}
	}
}
.elementor-element.elementor-widget-breadcrumbs {
	p#breadcrumbs {
		margin: 0 0 1.5625rem 0;
		color: var(--black);
		font-size: 0.75rem;
		span {
			a {
				margin: 0;
				&:hover {
					text-decoration: underline;
				}
			}
			i {
				font-size: 10px;
				padding: 0 5px 0 3px;
			}
		}
	}
}
/*** Filter ***/
.elementor-element.elementor-widget-woofilters {
	.wfpDescription {
		font-weight: 600;
		font-size: 1rem;
	}
	label {
		font-size: 1rem;
	}
	select {
		border-radius: 0 !important;
		&:hover {
			border: 0.0625rem solid var(--white);
		}
		&:focus {
			border-color: var(--black);
		}
	}
	.wpfFilterWrapper {
		padding: 0;
		margin: 0 0 1rem 0;
	}
	/** Preis **/
	#wpfBlock_8 {
		.wfpDescription {
			left: -0.625rem;
			position: relative;
		}
	}
	#wpfSliderRange {
		span.ui-slider-handle {
			&:hover, &:focus-visible {
				border-color: var(--black) !important;
				background: var(--black);
			}
		}
	}
	/** Checkboxen **/
	.wpfCheckboxHier {
		label.wpfLiLabel {
			padding: 0.1875rem;
		}
		.wpfCheckbox {
			label {
				width: 0 !important;
				height: 0 !important;
				&::before {
					content: none !important;
				}
				span {
					padding: 0;
				}
			}
			input[type="checkbox"] {
				appearance: none !important;
				display: inline-block !important;
				opacity: 1 !important;
				width: 1.25rem !important;
				height: 1.25rem !important;
				border: 0.0625rem solid var(--black) !important;
				padding: 0 !important;
				border-radius: 0 !important;
				position: relative;
				margin: 0 0.625rem 0 0;
				transform: scale(1);
				&:checked {
					background: var(--black);
					color: var(--white);
					&::after {
						content: "\f00c";
						font-family: "Font Awesome 6 Pro";
						position: absolute;
						top: 0px;
						left: 0px;
						width: 100%;
						height: 100%;
						display: flex;
						justify-content: center;
						align-items: center;
						line-height: 1;
					}
				}
				&:focus-visible {
					outline: none;
					outline-offset: none;
					border-radius: 0;
					border: 0.0625rem solid var(--black) !important;
					background: var(--black);
				}
			}
		}
		.wpfDisplay {
			padding: 0 !important;
			display: inline-block;
			vertical-align: middle;
			.wpfValue {
				padding: 0.125rem 0 0 0 !important;
			}
		}
	}
	.wpfFilterButtons.wpfFilterButtonsBottom {
		margin-top: 2rem;
		.wpfFilterButton.wpfButton {
			font-family: "Proxima Nova", sans-serif;
			width: 100%;
			font-weight: 600;
			font-size: 1rem;
			border-radius: 0;
			text-transform: none;
			min-height: 2.875rem;
			padding: 0.875rem 1.5rem 0.875rem 1.5rem;
			line-height: 1.25em;
			margin: 0.3125rem 0;
			background: none;
			border: 0.0625rem solid var(--black);
			color: var(--black);
			position: relative;
			display: flex;
			justify-content: center;
			&::after {
				font-family: "Font Awesome 6 Pro";
				content: "\f054";
				position: absolute;
				font-size: 0.5625rem;
				opacity: 0;
				top: 0.75rem;
				right: -1.25rem;
				color: var(--white);
				transition: all 0.3s;
			}
			&:hover, &:focus {
				color: var(--white);
				background: var(--black);
				padding-left: 1.25rem;
				padding-right: 1.75rem;
				&::after {
					right: 0.875rem;
					opacity: 1;
				}
			}
		}
		.wpfClearButton.wpfButton {
			font-family: "Proxima Nova", sans-serif;
			width: 100%;
			font-weight: 600;
			font-size: 1rem;
			border-radius: 0;
			text-transform: none;
			min-height: 100%;
			padding: 0.75rem 1.5rem 0.875rem 1.5rem;
			border: none;
			color: var(--black);
			line-height: 1.3em;
			margin: 0.3125rem 0;
			background: none;
			position: relative;
			display: flex;
			justify-content: center;
			transition: none !important;
			/*
			&::before {
				font-family: "Font Awesome 6 Pro";
				content: "\f057";
				font-size: 0.5625rem;
				top: 0.75rem;
				left: 0;
				color: var(--black);
				font-size: 1.5rem;
				font-weight: 300;
				margin: 0 10px 0 0;
			}
			*/
			&:hover, &:focus {
				color: var(--error);
				outline: revert;
				outline-offset: revert;
				box-shadow: revert;
				&::before {
					color: var(--error);
				}
			}
		}
	}
}
/** Filter - OffCanvas **/
#open-filter-btn {
	padding: 0.5625rem 1.5rem 0.5625rem 1.5rem;
	min-width: 13.75rem;
	align-content: center;
	.elementor-button-content-wrapper {
		span.elementor-button-text {
			display: flex;
			align-items: center;
			&::before {
				content: '\f0b0';
				font-family: "Font Awesome 6 Pro";
				display: inline-block;
				font-size: 1.5rem;
				font-weight: 300;
				margin: 0 10px 0 0;
				opacity: 1;
			}
		}
	}
	&::after {
		content: none !important;
	}
}
#filter-off-canvas {
	.header {
		> .e-con-inner {
			padding-left: 0;
			padding-right: 0;
		}
		.elementor-element.elementor-widget-text-editor {}
		.elementor-element.elementor-widget-button {
			#close-filter {
				background: none;
				color: var(--black);
				padding: 0;
				width: 3.125rem;
				height: 3.125rem;
				border: none;
				display: flex;
				justify-content: center;
				align-items: center;
				.elementor-button-content-wrapper {
					span.elementor-button-icon {
						&::after {
							content: none;
						}
					}
					span.elementor-button-text {
						font-size: 0;
						&::before {
							content: '\f00d';
							font-family: "Font Awesome 6 Pro";
							font-size: 1.5rem;
							color: var(--black);
							font-weight: 300;
							display: inline-block;
						}
					}
				}
				&::after {
					content: none !important;
				}
				&:hover, &:focus {
					background: var(--white);
				}
			}
		}
	}
	#wpfBlock_1 {
		margin: 0 0 1rem 0;
		.wpfFilterContent {
			width: 100%;
			flex-wrap: wrap;
			.wfpDescription {
				width: 100%;
			}
			select {
				width: 100%;
			}
		}
	}
}
/*** Products List ***/
.product-list-container {
	.filter-col {
		@media (max-width: 1280px) {
			display: none;
		}
	}
	.products-col {
		@media (max-width: 1280px) {
			width: 100%;
		}
	}
}
/** Filter Mobile **/
.filter-container-mbl {
	display: none;
	@media (max-width: 1280px) {
		display: block;
	}
	#wpfBlock_1 {
		padding: 0 !important;
		margin: 0;
		.wpfFilterContent {
			width: 300px;
			display: flex;
			align-items: center;
			.wfpDescription {
				width: 70px;
			}
			select {
				width: 230px;
			}
		}
	}
}
.product-list {
	.elementor-loop-container.elementor-grid {
		grid-column-gap: 1.25rem;
		grid-row-gap: 1.25rem;
	}
	@media (max-width: 1024px) {
		.elementor-loop-container.elementor-grid {
			grid-column-gap: 0.625rem;
			grid-row-gap: 0.625rem;
			.product_item {
				margin-bottom: 0.625rem;
			}
		}
	}
	@media (max-width: 480px) {
		.elementor-loop-container.elementor-grid {
			display: block !important;
			.product_item {
				margin-bottom: 1rem;
			}
		}
	}
}
.elementor-widget-loop-carousel.e-widget-swiper {
	.e-loop-item.product.type-product {
		height: auto;
	}
}
/* gleiche Höhe */
.elementor-loop-container.elementor-grid {
	.e-loop-item.product.type-product {
		.product_item {
			height: 100%;
		}
	}
}
.combine-it-with-loop-en.product-list, .combine-it-with-loop-de.product-list {
	.product_item {
		h2.product_title {
			font-size: 1.25rem;
		}
		.price {
			font-size: 1.25rem !important;
		}
		.description_cropped {
			display: none;
		}
		a.elementor-button {
			margin-top: 0.625rem;
		}
		@media (max-width: 767px) {
			a.elementor-button {}
		}
	}
}
/* Product Item */
.product_item {
	> .e-con-inner {
		padding-left: 0;
		padding-right: 0;
	}
	.wishlist-btn {
		button.alg-wc-wl-btn {
			padding: 0;
			width: 3.75rem;
			height: 3.75rem;
			margin: 0;
			padding: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 0;
			margin: 0;
			background: none;
			transition: none;
			i {
				margin: 0;
				font-size: 1.5rem;
				font-weight: 300;
				color: var(--black);
				opacity: 1;
			}
			&:hover i {
				transform: none;
			}
			.alg-wc-wl-btn-text {
				display: none;
			}
			.alg-wc-wl-view-state-add {
				opacity: 1;
			}
			.alg-wc-wl-view-state-remove {
				opacity: 1;
				i {
					font-weight: 700;
				}
			}
			&:focus {
				outline: revert;
				outline-offset: revert;
				box-shadow: revert;
			}
		}
	}
	.product-labels {
		position: absolute;
		top: 0.625rem;
		left: 0;
		width: 7.8rem;
		z-index: 10;
		span {
			line-height: 1;
			font-weight: 600;
			text-transform: uppercase;
			font-size: 0.75rem;
			margin: 0 0 0.3125rem 0;
			padding: 0.5rem 0.75rem;
			display: inline-block;
			letter-spacing: 0.015rem;
		}
		.prod-badge.new-product {
			background: linear-gradient(82deg, #FFEE57 0%, #F8B9A7 100%);
		}
		.prod-badge.topseller-product {
			background: linear-gradient(82deg, var(--violet) 0%, var(--blue) 100%);
		}
		.prod-badge.sale-product {
			background: linear-gradient(45deg, #D2FFF3 0%, #F2F383 100%);
		}
	}
	.price {
		del {
			opacity: 0.5 !important;
			color: var(--black);
			font-weight: 500;
		}
		ins {
			text-decoration: none;
			color: var(--black) !important;
		}
	}
	.description_cropped {
		font-size: 0.875rem;
		line-height: 1.5;
		text-align: center;
	}
	a.elementor-button {
		width: 100%;
		max-width: 12.5rem;
	}
	@media (max-width: 1024px) {
		.description_cropped {
			font-size: 0.75rem;
		}
		a.elementor-button {
			min-height: 2.5rem;
			line-height: 1;
			&::after {
				margin-top: -0.25rem;
			}
		}
	}
}
/** Pagination **/
.elementor-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 3.125rem 0 0 0;
	.page-numbers {
		font-family: "Proxima Nova", sans-serif;
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 0 0.0625rem !important;
		margin: 0 !important;
		font-weight: 400;
		font-size: 0.875rem;
		border: 0.0625rem solid var(--white);
		background: var(--white);
		position: relative;
		&::before {
			content: '';
			position: absolute;
			top: -0.125rem;
			left: -0.25rem;
			width: calc(100% + 0.25rem);
			height: calc(100% + 0.25rem);
			background: var(--white);
			z-index: -1;
		}
		&.current {
			font-weight: 600;
			border-color: var(--black);
		}
		&.next {
			width: 6.25rem;
			&::after {
				content: "\f054";
				font-family: "Font Awesome 6 Pro";
				font-size: 0.75rem;
				position: absolute;
				top: 0.625rem;
				right: 0.75rem;
			}
		}
		&.prev {
			width: 6.25rem;
			&::after {
				content: "\f053";
				font-family: "Font Awesome 6 Pro";
				font-size: 0.75rem;
				position: absolute;
				top: 0.625rem;
				left: 0.75rem;
			}
		}
	}
	a:hover {
		background: var(--black);
		border-color: var(--black);
		color: var(--white);
	}
}
/*** Product Archiv (Search Results) ***/
main.elementor-location-archive.product {
	padding-top: 3.125rem;
	overflow-y: hidden;
	@media (max-width: 767px) {
		padding-top: 1.5625rem;
	}
	/** Shapes **/
	.elementor-element.elementor-widget-loop-grid, .elementor-element.elementor-widget-wc-archive-products {
		/*
		&::before {
			content: '';
			position: absolute;
			top: -100px;
			right: -250px;
			background: url(/wp-content/uploads/2025/11/shape-blurred-1.svg) no-repeat center/contain;
			width: 62.5rem;
			height: 62.5rem;
			z-index: -1;
		}
		&::after {
			content: '';
			position: absolute;
			top: 62.5rem;
			left: 0;
			background: url(/wp-content/uploads/2025/11/shape-blurred-2.svg) no-repeat center/contain;
			width: 62.5rem;
			height: 62.5rem;
			z-index: -1;
			transform: rotate(90deg);
			opacity: 0.7;
			@media (max-width: 1024px) {
				top: 1300px;
			}
			@media (max-width: 1024px) {
				top: 1600px;
			}
			@media (max-width: 480px) {
				top: 1900px;
			}
		}
	}
		*/
	}
	.elementor-element.elementor-widget-wc-archive-products {
		.woocommerce {
			width: 100%;
			position: relative;
			.products {
				width: 100%;
				position: relative;
				display: flex;
				flex-wrap: wrap;
				column-gap: 1.25rem;
				.custom-loop-item {
					width: calc(100%/3 - 0.875rem);
					margin: 0 0 1.25rem 0;
					background: #fff;
					position: relative;
					display: flex;
					flex-wrap: wrap;
					border: 0.0625rem solid var(--white);
					padding-bottom: 4.375rem;
					button.alg-wc-wl-btn {
						position: absolute;
						top: 0;
						right: 0;
						z-index: 3;
						padding: 0;
						width: 3.75rem;
						height: 3.75rem;
						margin: 0;
						padding: 0;
						display: flex;
						align-items: center;
						justify-content: center;
						border-radius: 0;
						margin: 0;
						background: none;
						transition: none;
						i {
							margin: 0;
							font-size: 1.5rem;
							font-weight: 300;
							color: var(--black);
							opacity: 1;
						}
						&:hover i {
							transform: none;
						}
						.alg-wc-wl-btn-text {
							display: none;
						}
						.alg-wc-wl-view-state-add {
							opacity: 1;
						}
						.alg-wc-wl-view-state-remove {
							opacity: 1;
							i {
								font-weight: 700;
							}
						}
						&:focus {
							outline: revert;
							outline-offset: revert;
							box-shadow: revert;
						}
					}
					.product-labels {
						position: absolute;
						top: 0.625rem;
						left: 0;
						width: 7.8rem;
						span {
							line-height: 1;
							font-weight: 600;
							font-size: 0.75rem;
							margin: 0 0 0.3125rem 0;
							padding: 0.5rem 0.75rem;
							text-transform: uppercase;
							display: inline-block;
							letter-spacing: 0.015rem;
						}
						.prod-badge.new-product {
							background: linear-gradient(82deg, #FFEE57 0%, #F8B9A7 100%);
						}
						.prod-badge.topseller-product {
							background: linear-gradient(82deg, var(--violet) 0%, var(--blue) 100%);
						}
						.prod-badge.sale-product {
							background: linear-gradient(45deg, #D2FFF3 0%, #F2F383 100%);
						}
					}
					.img {
						width: 100%;
						padding: 1.5625rem;
						display: flex;
						justify-content: center;
						align-items: center;
						background: rgba(255, 240, 66, 0.035);
					}
					.txt {
						width: 100%;
						padding: 1.5625rem 1.5625rem 0 1.5625rem;
						text-align: center;
						.title {
							font-size: 1.5rem;
							font-weight: 500;
							margin: 0 0 0.8rem 0;
							display: block;
							line-height: 1.2em;
						}
						.price {
							font-size: 1.5rem;
							font-weight: 700;
							margin: 0 0 0.8rem 0;
							line-height: 1.2em;
							del {
								font-weight: 500;
								opacity: 0.5;
							}
							ins {
								color: var(--black);
								text-decoration: none;
							}
						}
						.description {
							font-size: 0.875rem;
							margin: 0 0 1.5625rem 0;
							line-height: 1.5;
						}
					}
					.btn.outline {
						position: absolute;
						left: 50%;
						bottom: 25px;
						margin-left: -6.25rem;
						width: 12.5rem;
						text-align: center;
					}
				}
				@media (max-width: 1024px) {
					column-gap: 0.625rem;
					.custom-loop-item {
						width: calc(100%/3 - 0.4375rem);
						margin: 0 0 10px 0;
						padding-bottom: 4.0625rem;
						.txt {
							.title {
								font-size: 1.25rem;
							}
							.price {
								font-size: 1.25rem;
							}
							.description {
								font-size: 0.75rem;
							}
						}
						.btn.outline {
							font-size: 0.875rem;
						}
					}
				}
				@media (max-width: 767px) {
					.custom-loop-item {
						width: calc(100%/2 - 0.4375rem);
						.product-labels {
							span {
								font-size: 0.625rem;
								padding: 0.375rem 0.625rem;
							}
						}
						.img {
							padding: 1.25rem;
						}
						.txt {
							padding: 1.25rem 1.25rem 0 1.25rem;
							.title {
								font-size: 1.25rem;
								margin: 0 0 0.5rem 0;
								padding: 0;
							}
							.price {
								font-size: 1.125rem;
								margin: 0 0 0.8rem 0;
							}
							.description {}
						}
						.btn.outline {
							bottom: 1.25rem;
						}
					}
				}
				@media (max-width: 480px) {
					.custom-loop-item {
						width: 100%;
						.img {
							img {
								max-height: 15.625rem;
								object-fit: contain;
							}
						}
						.txt {
							.description {
								/*font-size: 0.75rem;*/
								line-height: 1.4;
							}
							.button-container {
								.btn.black {
									text-align: center;
									width: calc(100% - 3.375rem);
								}
							}
						}
					}
				}
			}
		}
	}
}
/*** Neuheiten ***/
body.page-id-13675, body.page-id-13669 {
	main {
		overflow-y: hidden;
	}
	.elementor-element.elementor-widget-loop-grid {
		&::before {
			content: '';
			position: absolute;
			top: -100px;
			right: -250px;
			background: url(/wp-content/uploads/2025/11/shape-blurred-1.svg) no-repeat center/contain;
			width: 62.5rem;
			height: 62.5rem;
		}
		&::after {
			content: '';
			position: absolute;
			top: 62.5rem;
			left: 0;
			background: url(/wp-content/uploads/2025/11/shape-blurred-2.svg) no-repeat center/contain;
			width: 62.5rem;
			height: 62.5rem;
			z-index: -1;
			transform: rotate(90deg);
			opacity: 0.7;
			@media (max-width: 1024px) {
				top: 1300px;
			}
			@media (max-width: 1024px) {
				top: 1600px;
			}
			@media (max-width: 480px) {
				top: 1900px;
			}
		}
	}
}
/*** Product Single ***/
main.elementor-location-single.product {
	padding-top: 3.125rem;
	@media (max-width: 767px) {
		padding-top: 1.5625rem;
	}
	/*** Linke Spalte ***/
	.col-images {
		/** Bilder **/
		.woocommerce-product-gallery__wrapper {
			display: flex;
			flex-wrap: wrap;
			width: 100%;
			position: relative;
			.woocommerce-product-gallery__image {
				background: var(--product-bg);
				margin: 5px;
				width: calc(25% - 10px);
				img {
					display: block;
					margin: 0 auto;
				}
			}
			.woocommerce-product-gallery__image:nth-child(1), .woocommerce-product-gallery__image:nth-child(4) {
				width: calc(100% - 5px);
			}
			.woocommerce-product-gallery__image:nth-child(2), .woocommerce-product-gallery__image:nth-child(3) {
				width: calc(50% - 10px);
			}
			@media (max-width: 767px) {
				max-width: 100%;
				.woocommerce-product-gallery__image:nth-child(4), .woocommerce-product-gallery__image:nth-child(2), .woocommerce-product-gallery__image:nth-child(3) {
					width: calc(25% - 10px);
				}
			}
		}
	}
	/*** Rechte Spalte ***/
	.col-product-informations {
		.product-labels-large {
			display: block;
			span {
				line-height: 1;
				font-weight: 600;
				text-transform: uppercase;
				font-size: 1rem;
				padding: 12px 16px;
				display: inline-block;
				margin: 0 0 0.5rem 0;
				letter-spacing: 0.015rem;
				@media (max-width: 767px) {
					font-size: 0.875rem;
					padding: 10px 14px;
				}
				@media (max-width: 480px) {
					font-size: 0.75rem;
					padding: 8px 12px;
				}
			}
			.prod-badge.new-product {
				background: linear-gradient(82deg, #FFEE57 0%, #F8B9A7 100%);
			}
			.prod-badge.topseller-product {
				background: linear-gradient(82deg, var(--violet) 0%, var(--blue) 100%);
			}
			.prod-badge.sale-product {
				background: linear-gradient(45deg, #D2FFF3 0%, #F2F383 100%);
			}
		}
		h1 {
			margin-bottom: 2rem;
			@media (max-width: 767px) {
				margin-bottom: 1rem;
			}
		}
		.price {
			display: block;
			del {
				color: var(--black);
				opacity: 0.5;
				font-weight: 500;
			}
			ins {
				text-decoration: none;
				color: var(--black);
			}
		}
		/** Price Information **/
		.price_information {
			font-size: 0.75rem;
			display: flex;
			align-items: center;
			p.wc-gzd-additional-info {
				font-size: 0.75rem;
				@media (max-width: 480px) {
					font-size: 0.625rem;
				}
			}
			del {
				display: none;
			}
			.elementor-widget-woocommerce-gzd-units {}
			.elementor-widget-woocommerce-gzd-unit-price {
				p.price.price-unit {
					font-size: 0.75rem;
					margin: 0;
					.amount {
						&::before {
							content: '(';
							display: inline-block;
							margin-right: 0.0625rem;
						}
					}
					.unit {
						&::after {
							content: ')';
							display: inline-block;
							margin-left: 0.0625rem;
						}
					}
					@media (max-width: 480px) {
						font-size: 0.625rem;
					}
				}
			}
			@media (max-width: 480px) {
				font-size: 0.625rem;
			}
		}
		/** inkl. Mwst. **/
		.product-vat {
			@media (max-width: 480px) {
				font-size: 0.625rem;
			}
		}
		/** Button Container **/
		.button-container-large {
			position: relative;
			width: 100%;
			/* Warenkorb */
			.elementor-element.elementor-widget-woocommerce-product-add-to-cart {
				width: calc(100% - 4.875rem);
				.elementor-add-to-cart {
					form.cart {
						flex-wrap: wrap;
						@media (max-width: 480px) {
							.single_add_to_cart_button {
								width: 100%;
								margin: 1rem 0 0 0 !important;
							}
						}
					}
				}
			}
			.woocommerce-variation-add-to-cart {
				@media (max-width: 480px) {
					flex-wrap: wrap !important;
				}
			}
			/* Wunschliste */
			.elementor-widget-shortcode.wishlist-btn {
				width: 4.875rem;
				padding-left: 1rem;
				align-content: flex-end;
				.elementor-shortcode {
					.alg-wc-wl-btn-wrapper {
						button.alg-wc-wl-btn {
							padding: 0;
							width: 2.875rem;
							height: 2.875rem;
							margin-right: 0.8rem;
							display: flex;
							align-items: center;
							justify-content: center;
							border-radius: 0;
							margin: 0;
							background: none;
							transition: none;
							i {
								margin: 0;
								font-size: 1.5rem;
								font-weight: 300;
								color: var(--black);
								opacity: 1;
							}
							&:hover i {
								transform: none;
							}
							.alg-wc-wl-btn-text {
								display: none;
							}
							.alg-wc-wl-view-state-add {
								opacity: 1;
							}
							.alg-wc-wl-view-state-remove {
								opacity: 1;
								i {
									font-weight: 700;
								}
							}
							&:focus {
								outline: revert;
								outline-offset: revert;
								box-shadow: revert;
							}
						}
					}
				}
			}
		}
		/** Variations **/
		table.variations {
			background: none;
			border: none;
			tbody {
				tr {
					th, td {
						border: none;
						background: none;
						padding: 0;
						text-align: left;
						display: block;
						label {
							margin-bottom: 1rem;
							@media (max-width: 480px) {
								font-size: 0.875rem !important;
								margin-bottom: 0.5rem;
							}
						}
					}
				}
			}
			/* Select */
			#pa_content {
				appearance: auto;
				font-family: "Proxima Nova", sans-serif;
				font-weight: 400;
				padding: 1rem;
				font-size: 1rem;
				background: none;
				border: 0.0625rem solid var(--black);
				color: var(--black);
				transition: none;
				border-radius: 0;
				width: 6rem;
				min-width: auto;
				max-width: auto;
				margin: 0 0 0.5rem 0;
				@media (max-width: 480px) {
					font-size: 0.875rem;
				}
			}
			.reset_variations {
				display: none !important;
			}
			@media (max-width: 480px) {
				width: auto;
			}
		}
		table.woocommerce-product-attributes.shop_attributes {
			border: none;
			tbody {
				tr {
					display: block;
					th {
						border: none;
						background: none;
						font-size: 1rem;
						font-weight: 600;
						padding: 0 0 1rem 0;
						line-height: 1.2;
						text-align: left;
						width: 100%;
					}
					td {
						display: inline-block;
						border: 0.0625rem solid var(--black);
						background: none;
						font-style: normal;
						font-size: 1rem;
						padding: 1rem 1.375rem;
						line-height: 1.2;
						text-align: left;
						p {
							padding: 0;
						}
					}
				}
			}
			@media (max-width: 480px) {
				tbody {
					tr {
						th {
							font-size: 0.875rem;
							padding: 0 0 0.5rem 0;
						}
						td {
							font-size: 0.875rem;
						}
					}
				}
			}
		}
		/** Quantity **/
		p.stock {
			display: none;
		}
		/** Warenkorb Button **/
		.single_add_to_cart_button {
			width: calc(100% - 11rem);
			padding: 12px 24px 14px 24px !important;
			line-height: 1.25;
			margin-left: 1rem !important;
			&::after {
				font-family: "Font Awesome 6 Pro";
				content: "\f054";
				position: absolute;
				font-size: 0.5625rem;
				opacity: 0;
				top: 1.0625rem;
				right: -1.25rem;
				transition: all 0.3s;
			}
			&:hover, &:focus {
				padding-left: 1.25rem !important;
				padding-right: 1.75rem !important;
				&::after {
					right: 0.875rem;
					opacity: 1;
				}
			}
		}
		/* Button Container mobile anpassen Single/Varianten-Produkte */
		@media (max-width: 480px) {
			/* Single */
			table.woocommerce-product-attributes.shop_attributes {
				margin-bottom: -50px;
				position: relative;
				z-index: 5;
				width: auto;
			}
			/* Variante */
			table.variations {
				margin-bottom: -58px;
				position: relative;
				z-index: 5;
			}
		}
		@media (max-width: 370px) {
			/* Single */
			table.woocommerce-product-attributes.shop_attributes {
				margin-bottom: 0;
				position: relative;
			}
			/* Variante */
			table.variations {
				margin-bottom: 0;
			}
		}
		/** Product information **/
		.elementor-widget-woocommerce-product-content {
			ul {
				margin-bottom: 1rem;
			}
		}
		/** Akkordeon Product Info **/
		.product-info-accordeon.accordeon-container {
			border-top: 0.0625rem solid var(--black);
			.accorden {
				.acc-body {
					padding-bottom: 1.5rem;
					ul {
						margin-bottom: 1rem;
					}
					a {
						text-decoration-color: var(--violet);
						text-decoration-thickness: 0.375rem;
						text-decoration-line: underline;
						text-underline-offset: -0.1875rem;
						-webkit-text-decoration-skip-ink: none;
						text-decoration-skip-ink: none;
						text-underline-offset: -0.1875rem;
						&:hover {
							text-decoration-color: var(--red);
						}
					}
				}
			}
		}
		/** Bewertungen **/
		.woocommerce-Reviews {
			h2 {
				display: none;
			}
			#comments {
				.commentlist {
					padding-left: 0 !important;
				}
				.comment_container {
					.avatar {
						border-radius: 100%;
					}
				}
			}
			.comment-form {
				padding: 1rem 0 0 0;
				.comment-form-rating {
					margin: 0 0 1rem 0;
					label {
						font-weight: 500;
						margin: 0 0 0.625rem 0;
					}
					.stars {
						a {
							color: var(--violet);
						}
					}
				}
				.comment-form-comment {
					position: relative;
					margin: 0 0 1rem 0 !important;
					label {
						position: absolute;
						left: 0.75rem;
						top: 1.0625rem;
						font-weight: 400;
						font-size: 1rem;
						background: none;
						line-height: 1;
						padding: 0.1875rem 0.3125rem 0.3125rem 0.3125rem !important;
						z-index: 2;
						transition: all 0.3s;
					}
				}
				.comment-form-comment:focus-within label, .comment-form-comment.filled label {
					top: -0.75rem;
					background: #fff;
				}
				.form-submit {
					margin: 0 !important;
					position: relative;
					width: 100%;
					&::after {
						font-family: "Font Awesome 6 Pro";
						content: "\f054";
						position: absolute;
						font-size: 0.5625rem;
						opacity: 0;
						top: 0.9375rem;
						right: -1.25rem;
						color: var(--white);
						font-weight: 600;
						transition: all 0.3s;
					}
					#submit {
						font-family: "Proxima Nova", sans-serif;
						background: var(--black) !important;
						color: var(--white) !important;
						font-size: 1rem !important;
						font-weight: 600 !important;
						border-radius: 0 !important;
						border: 0.125rem solid var(--black) !important;
						padding: 0.75rem 1.5rem 0.875rem 1.5rem !important;
						width: 100%;
						transition: all 0.3s !important;
					}
					&:hover {
						&::after {
							right: 0.9375rem;
							opacity: 1;
						}
						#submit {
							padding-left: 1.25rem !important;
							padding-right: 1.75rem !important;
						}
					}
				}
			}
		}
		/** Kombiniere es mit **/
		.combine-it-with-loop-en {
			.elementor-loop-container.elementor-grid {
				padding-top: 3.75rem;
				position: relative;
				&::before {
					content: 'Combine it with';
					cursor: text;
					display: block;
					width: 100%;
					font-weight: 600;
					padding: 1rem;
					position: absolute;
					top: 0;
					left: 0;
					color: var(--black);
					font-size: 1rem;
				}
			}
		}
		.combine-it-with-loop-de {
			.elementor-loop-container.elementor-grid {
				padding-top: 3.75rem;
				position: relative;
				&::before {
					content: 'Kaufe es zusammen mit';
					cursor: text;
					display: block;
					width: 100%;
					font-weight: 600;
					padding: 1rem;
					position: absolute;
					top: 0;
					left: 0;
					color: var(--black);
					font-size: 1rem;
				}
			}
		}
		/** Icons **/
		.product-picto-gallery {
			display: flex;
			flex-wrap: wrap;
			margin: 2rem 0 0 0;
			.picto-item {
				width: auto;
				margin: 0 1.25rem 1.25rem 0;
				img {
					display: block;
					height: 7.5rem;
					width: auto;
					margin: 0 auto;
				}
				p {
					text-transform: uppercase;
					font-size: 0.75rem;
					text-align: center;
					margin: 0 auto;
					margin-top: 0.625rem;
					max-width: 11.25rem;
					line-height: 1.2;
				}
			}
			@media (max-width: 767px) {
				.picto-item {
					margin: 0 1rem 1rem 0;
					img {
						height: 5.625rem;
					}
					p {
						font-size: 0.625rem;
						max-width: 8rem;
					}
				}
			}
		}
	}
	/** Akkordeon FAQs **/
	.product-faqs {
		width: 100%;
		.accordeon {
			width: 100%;
			border-bottom: 0.0625rem solid var(--black);
			.acc-head {
				cursor: pointer;
				position: relative;
				padding: 1rem 2.5rem 1rem 1rem;
				font-weight: 600;
				&::after {
					content: "\2b";
					font-family: 'Font Awesome 6 Pro';
					font-size: 0.75rem;
					position: absolute;
					top: 1.25rem;
					right: 1rem;
					font-weight: 400;
				}
				&.open {
					&::after {
						content: "\f068";
					}
				}
			}
			.acc-body {
				display: none;
				padding: 0 1rem 1rem 1rem;
			}
		}
		.btn-container {
			display: flex;
			justify-content: center;
			padding: 1.5rem 0 0 0;
		}
	}
	/** Slider (Similar Products) **/
	.elementor-swiper-button.elementor-swiper-button-prev, .elementor-swiper-button.elementor-swiper-button-next {
		width: 3.125rem;
		height: 3.125rem;
		top: 35%;
		background: none;
		color: var(--black);
		svg {
			display: none;
		}
		&::after {
			content: '\f053';
			font-family: "Font Awesome 6 Pro";
			font-size: 1.5rem;
			font-weight: 300;
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
		}
		&:hover, &:focus {
			background: var(--white);
			color: var(--black);
		}
	}
	.elementor-swiper-button.elementor-swiper-button-prev {
		left: 0;
	}
	.elementor-swiper-button.elementor-swiper-button-next {
		right: 0;
		&::after {
			content: '\f054';
		}
	}
	.swiper-pagination-progressbar {
		position: relative;
		transform: none;
		background: var(--white);
		height: 0.375rem !important;
		margin: 25px 0 0 0;
		span.swiper-pagination-progressbar-fill {
			background: linear-gradient(to left, var(--red) 0%, var(--yellow) 100%);
			&:hover {
				background: linear-gradient(to left, var(--red) 0%, var(--yellow) 100%);
			}
		}
	}
	@media (max-width: 767px) {
		.elementor-widget.elementor-widget-loop-carousel {
			max-width: 480px;
			margin: 0 auto;
		}
	}
}
/*** Pagination ***/
nav.woocommerce-pagination {
	ul {
		border: none !important;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		li {
			border: none !important;
			display: inline-block;
			a, .page-numbers {
				width: 2.5rem;
				height: 2.5rem;
				padding: 0;
				display: flex !important;
				justify-content: center !important;
				align-items: center !important;
				background: var(--white) !important;
				color: var(--black) !important;
				border: 0.0625rem solid var(--white) !important;
				font-size: 0.875rem !important;
				font-weight: 400 !important;
				&.current {
					font-weight: 600 !important;
					border-color: var(--black) !important;
				}
			}
			a:hover {
				background: var(--black) !important;
				border-color: var(--black) !important;
				color: var(--white) !important;
			}
			a:focus {
				background: var(--black) !important;
				border-color: var(--black) !important;
				color: var(--white) !important;
			}
			/*
			a:focus {
				outline: revert !important;
				outline-offset: revert !important;
				box-shadow: revert !important;
			}
			*/
		}
	}
}
/*** Login ***/
#customer_login h2 {
	font-size: 1.75rem;
	margin-bottom: 0;
	@media (max-width: 1024px) {
		font-size: 1.5rem;
	}
	@media (max-width: 767px) {
		font-size: 1.25rem;
	}
}
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login .button, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register .button, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-ResetPassword .button {
	background: var(--black);
	color: var(--white);
	font-weight: 600;
	border-radius: 0;
	padding: 0.8125rem 1.5rem;
	display: block;
	float: none;
	margin: 0;
	width: 100%;
	font-size: 1rem;
	&::after {
		font-family: "Font Awesome 6 Pro";
		content: "\f054";
		position: absolute;
		font-size: 0.5625rem;
		opacity: 0;
		top: 1.0625rem;
		right: -1.25rem;
		transition: all 0.3s;
	}
	&:hover, &:focus {
		color: var(--white);
		padding-left: 1.25rem;
		padding-right: 1.75rem;
		&::after {
			right: 0.875rem;
			opacity: 1;
		}
	}
}
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login, .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register {
	border: 0.125rem solid #eee;
	padding: 1.5625rem;
	border-radius: 0;
	form.woocommerce-form {
		.woocommerce-form-row {
			margin: 0 0 1rem 0 !important;
		}
	}
	.input-text {
		font-family: "Proxima Nova", sans-serif;
		font-weight: 400;
		padding: 1rem;
		font-size: 1rem;
		background: var(--white);
		border: 0.0625rem solid var(--white);
		outline: none;
		color: var(--black);
		transition: none;
		&:focus, &:active, &:hover {
			border-color: var(--black);
			color: var(--black);
			background: var(--white);
		}
	}
	label {
		font-size: 1rem;
		color: var(--black);
		font-weight: 400;
		display: block;
	}
	.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
		position: relative;
		padding: 0 0 0 1.75rem !important;
		top: auto;
		left: auto;
		background: none;
		span {
			color: var(--black);
		}
		#rememberme {
			position: absolute;
			left: 0;
			top: -0.125rem;
		}
	}
	p {
		color: var(--black) !important;
		font-size: 0.75rem !important;
	}
	p.form-row {
		label.woocommerce-form-login__rememberme {
			margin: 0 0 1rem 0;
		}
	}
	p.woocommerce-LostPassword.lost_password {
		a {
			color: var(--black);
			font-size: 0.875rem;
			text-decoration-color: var(--violet);
			text-decoration-thickness: 0.375rem;
			text-decoration-line: underline;
			text-underline-offset: -0.1875rem;
			-webkit-text-decoration-skip-ink: none;
			text-decoration-skip-ink: none;
			text-underline-offset: -0.1875rem;
			&:hover {
				text-decoration-color: var(--red);
			}
		}
	}
	p.mailchimp-newsletter {
		label {
			position: relative;
			padding: 0 0 0 1.75rem !important;
			top: auto;
			left: auto;
			background: none;
			span {
				color: var(--black);
				font-size: 1rem;
			}
			input[type="checkbox"] {
				top: -0.125rem;
			}
		}
		margin-bottom: 1rem !important;
	}
	@media (max-width: 480px) {
		padding: 0.9375rem;
	}
}
form.woocommerce-form.woocommerce-form-register.register {
	p.woocommerce-form-row.form-row:last-child {
		padding-top: 39px !important;
	}
	@media (max-width: 767px) {
		height: auto !important;
		p.woocommerce-form-row.form-row:last-child {
			padding-top: 0 !important;
		}
	}
}
/*** Accordeons ***/
.accordeon-container {
	.accorden {
		border-bottom: 0.0625rem solid var(--black);
		.acc-head {
			font-weight: 600;
			position: relative;
			padding: 1rem;
			cursor: pointer;
			&::after {
				content: "\2b";
				font-family: 'Font Awesome 6 Pro';
				position: absolute;
				top: 1.25rem;
				right: 1rem;
				font-weight: 400;
				font-size: 0.75rem;
			}
			&.open {
				&::after {
					content: "\f068";
				}
			}
		}
		.acc-body {
			display: none;
			padding: 0 1rem 1rem 1rem;
		}
	}
}
/*** Warenkorb ***/
@-webkit-keyframes coupon {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
@-moz-keyframes coupon {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
@keyframes coupon {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}


.elementor-widget-woocommerce-cart {
	.e-cart__container {
		display: flex;
		flex-wrap: wrap;
		grid-column-gap: 0;
		grid-row-gap: 0;
		.e-cart__column.e-cart__column-start {
			width: 65%;
			padding: 0 2.5rem 0 0;
			@media (max-width: 767px) {
				width: 100%;
				padding: 0;
			}
		}
		.e-cart__column.e-cart__column-end {
			width: 35%;
			@media (max-width: 767px) {
				width: 100%;
			}
		}
		.coupon.e-cart-section.shop_table {
			border: none !important;
			padding: 1.5625rem;
			background: linear-gradient(270deg, var(--skin), var(--violet), var(--blue));
			background-size: 400% 400%;
			border-radius: 0;
			-webkit-animation: coupon 30s ease infinite;
			-moz-animation: coupon 30s ease infinite;
			animation: coupon 30s ease infinite;
			@media (max-width: 767px) {
				margin-bottom: 1.5625rem;
			}
			@media (max-width: 480px) {
				padding: 0.9375rem;
			}
		}
	}
	form.woocommerce-cart-form {
		.e-cart-section {
			/*
			border: 0.125rem solid #eee;
			padding: 1.5625rem;
			border-radius: 0;
			*/
			border: none;
			padding: 0;
			margin-bottom: 1rem;
			table {
				font-family: "Proxima Nova", sans-serif;
				font-size: 1rem;
				color: var(--black);
				thead {
					tr {
						th {
							padding: 0;
						}
					}
				}
				tbody {
					tr {
						td {
							border: none !important;
							border-bottom: 0.125rem solid var(--white) !important;
							padding: 1rem 0;
							vertical-align: top;
						}
					}
				}
			}
			.shop_table.cart {
				td.product-thumbnail {
					width: 10rem;
					a {
						display: flex;
						align-items: center;
						justify-content: center;
						height: 100%;
						width: 100%;
						background: var(--product-bg);
						min-height: 200px;
						.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
							width: auto;
						}
					}
				}
				td.product-name {
					padding-left: 2rem;
					position: relative;
					a {
						color: var(--black) !important;
						font-size: 1.5rem;
						font-weight: 700;
						margin: 0 0 1rem 0;
						display: block;
						padding: 0 2.5rem 0 0;
						&:hover {
							color: var(--black) !important;
						}
					}
					.product-price {
						display: flex;
						flex-wrap: wrap;
						width: 100%;
						span {
							font-size: 1.25rem;
							font-weight: 700;
						}
						.woocommerce-Price-amount.amount {
							display: block;
							width: 100%;
						}
						> .woocommerce-Price-amount.amount {
							margin: 0 0 0.25rem 0;
						}
						/* Einheiten */
						p.wc-gzd-cart-info.units-info {
							font-size: 0.75rem;
							font-weight: 400;
							margin: 0;
							padding-right: 5px;
						}
						p.wc-gzd-cart-info.units-info span {
							font-size: 0.75rem;
							font-weight: 400;
						}
						/* Grundpreis */
						.wc-gzd-cart-info.unit-price.unit-price-cart {
							font-size: 0.75rem;
							font-weight: 400;
							margin: 0;
							display: flex;
							&::before {
								content: '(';
								display: inline-block;
							}
							&::after {
								content: ')';
								display: inline-block;
							}
						}
						.wc-gzd-cart-info.unit-price.unit-price-cart span {
							font-size: 0.75rem;
							font-weight: 400;
						}
					}
					.product-quantity {
						margin: 1rem 0;
						position: relative;
						display: block;
						width: 100%;
					}
					.wc-gzd-cart-info.units-info {
						font-size: 0.75rem;
					}
					.cart-variation-details {
						font-size: 0.75rem;
						.cart-variation-summary {
							text-decoration: underline;
							position: relative;
							span {
								position: relative;
								font-size: 0.75rem;
								cursor: pointer;
								&::after {
									content: "+";
									float: right;
									font-size: 18px;
									font-weight: 400;
									line-height: 1;
									transition: transform 0.2s;
									position: absolute;
									right: -1rem;
									top: 50%;
									transform: translateY(-50%);
								}
							}
						}
						.cart-variation-summary::marker {
							content: '';
							margin-top: -0.0625rem;
						}
						.cart-variation-inner {
							.variation {
								margin: 0.3125rem 0 0 0;
								font-size: 0.75rem;
								line-height: 1.3;
								color: var(--black);
								dt {
									font-weight: 600;
								}
							}
						}
					}
					.cart-variation-details[open] .cart-variation-summary span::after {
						content: "–";
					}
					a.remove {
						position: absolute;
						top: 0.8rem;
						right: 0;
						font-size: 1.5rem;
						padding: 0.3125rem;
						width: 2rem;
						height: 2rem;
						margin: 0;
						border-radius: 0;
						&:hover, &:focus {
							color: var(--black) !important;
							background: var(--white);
						}
					}
				}
				td.actions {
					padding: 1rem 0;
					text-align: right !important;
					button {
						border: 0.0625rem solid var(--black);
						padding: 0.8125rem 1.5rem;
						border-radius: 0;
						color: var(--black);
						font-size: 1rem;
						font-weight: 600;
						&:hover {
							background: var(--black);
							color: var(--white);
						}
					}
				}
				@media (max-width: 767px) {
					tr {
						padding: 0 !important;
					}
					td.product-thumbnail {
						display: inline-block !important;
						border-bottom: none !important;
						&::before {
							content: none;
						}
					}
					td.product-name {
						display: inline-block !important;
						text-align: left !important;
						width: calc(100% - 10.3rem);
						padding-left: 1rem;
						border-bottom: none !important;
						&::before {
							content: none;
						}
						a {
							font-size: 1.25rem;
						}
						.product-price {
							span {
								font-size: 1.125rem;
							}
						}
					}
				}
				@media (max-width: 420px) {
					tr {
						padding: 0 !important;
					}
					td.product-thumbnail {
						width: 6.25rem;
						a {
							min-height: 100%;
							padding: 1rem 0;
						}
					}
					td.product-name {
						width: calc(100% - 6.6rem);
						a {
							font-size: 1.25rem;
						}
						.product-price {
							span {
								font-size: 1.125rem;
							}
						}
					}
				}
			}
		}
	}
	.form-row.coupon-col {
		margin-bottom: 0 !important;
		.coupon-col-start {
			input#coupon_code {
				font-size: 1rem;
			}
			input#coupon_code::placeholder {
				color: #777;
				opacity: 1;
				font-size: 1rem;
				font-weight: 400;
			}
			input#coupon_code:focus::placeholder {
				color: #777;
				opacity: 1;
				font-size: 1rem;
				font-weight: 400;
			}
		}
		.coupon-col-end {
			align-content: center;
			button.button.e-apply-coupon {
				font-family: "Proxima Nova", Sans-serif;
				font-size: 1rem;
				font-weight: 600;
				text-decoration: none;
				color: var(--white);
				border-radius: 0;
				padding: 0.8125rem 1.5rem;
				display: inline-block;
				position: relative;
				line-height: 1.25;
				background-color: none;
				position: relative;
				border: none;
				background: var(--black);
				transition: all 0.3s;
				&::after {
					font-family: "Font Awesome 6 Pro";
					content: "\f054";
					position: absolute;
					font-size: 0.5625rem;
					opacity: 0;
					top: 50%;
					margin-top: -0.3125rem;
					right: -1.25rem;
					transition: all 0.3s;
				}
				&:hover {
					padding-left: 1.25rem;
					padding-right: 1.75rem;
					&::after {
						right: 0.875rem;
						opacity: 1;
					}
				}
			}
		}
	}
	.coupon-error-notice {
		font-size: 0.875rem;
		padding: 1rem 0 0 0;
	}
	.e-cart-totals.e-cart-section {
		border: 0.125rem solid #eee;
		padding: 1.5625rem;
		border-radius: 0;
		h2 {
			font-size: 1.75rem;
			font-weight: 400;
			margin: 0 0 1rem 0;
			padding: 0;
			@media (max-width: 1024px) {
				font-size: 1.5rem;
			}
			@media (max-width: 767px) {
				font-size: 1.25rem;
			}
		}
		table.shop_table {
			font-family: "Proxima Nova", Sans-serif;
			font-size: 1rem;
			tr {
				td {
					color: var(--black);
					padding: 0.625rem 0;
					&::before {
						color: inherit;
						font-weight: 600;
					}
					ul.woocommerce-shipping-methods {
						li {
							label {
								color: var(--black) !important;
							}
						}
						span {
							color: var(--black) !important;
						}
					}
				}
			}
			tr.cart-discount {
				span {
					color: var(--black) !important;
				}
				a.woocommerce-remove-coupon {
					color: var(--black);
					font-weight: 400;
					display: block;
					font-size: 0.875rem;
					&:hover {
						color: var(--black);
					}
				}
			}
			tr.order-total {
				td {
					padding-bottom: 0.3125rem;
					font-size: 1.25rem;
					font-weight: 700;
					&::before {
						font-weight: 700;
					}
				}
			}
			.cart-subtotal, .order-total, .order-tax {
				color: var(--black);
				.woocommerce-Price-amount.amount {
					color: var(--black);
					font-weight: 700;
				}
			}
			.order-tax td {
				padding-top: 0;
				padding-bottom: 0;
			}
			.order-tax td, .order-tax td::before, .order-tax td .woocommerce-Price-amount.amount {
				font-weight: 400;
				font-size: 0.875rem;
			}
		}
		.woocommerce-shipping-totals.shipping {
			span {
				color: var(--black);
			}
		}
		form.woocommerce-shipping-calculator {
			.e-cart-content {
				color: var(--black);
			}
			a.shipping-calculator-button {
				color: var(--black) !important;
				font-weight: 600;
				text-decoration-color: var(--violet);
				text-decoration-thickness: 0.375rem;
				text-decoration-line: underline;
				text-underline-offset: -0.1875rem;
				-webkit-text-decoration-skip-ink: none;
				text-decoration-skip-ink: none;
				text-underline-offset: -0.1875rem;
				&:hover {
					text-decoration-color: var(--red);
				}
			}
			button {
				background-color: transparent;
				font-family: "Proxima Nova", Sans-serif;
				font-size: 1rem;
				font-weight: 600;
				text-decoration: none;
				color: var(--black);
				border-radius: 0;
				padding: 0.8125rem 1.5rem;
				display: inline-block;
				position: relative;
				line-height: 1;
				border: 0.0625rem solid var(--black);
				transition: all 0.3s;
				&:hover, &:focus {
					background: var(--black);
					color: var(--white);
				}
			}
		}
		.wc-proceed-to-checkout {
			a.checkout-button {
				background-color: var(--black);
				font-family: "Proxima Nova", Sans-serif;
				font-size: 1rem;
				font-weight: 600 !important;
				text-decoration: none;
				color: var(--white);
				border-radius: 0;
				padding: 0.8125rem 1.5rem;
				display: inline-block;
				position: relative;
				line-height: 1.25;
				color: var(--white);
				margin-bottom: 0.9375rem;
				transition: all 0.3s;
				&::after {
					font-family: "Font Awesome 6 Pro";
					content: "\f054";
					position: absolute;
					font-size: 0.5625rem;
					opacity: 0;
					top: 1.0625rem;
					right: -1.25rem;
					transition: all 0.3s;
				}
				&:hover, &:focus {
					padding-left: 1.25rem;
					padding-right: 1.75rem;
					&::after {
						right: 0.875rem;
						opacity: 1;
					}
				}
			}
		}
		#ppcp-recaptcha-v2-container {
			margin: 0 !important;
		}
		@media (max-width: 480px) {
			padding: 0.9375rem;
		}
	}
}

/* kostenloser Versand Hinweis */

.free-shipping-notice {
	font-family: "Proxima Nova", Sans-serif;
	font-size: 0.875rem;
	padding: 0.625rem 1rem;
	line-height: 1.4;
}

/* Button - zurück zum Shop */

.elementor-widget-woocommerce-cart {
	p.return-to-shop {
		a.button.wc-backward {
			background: var(--black);
			color: var(--white);
			font-weight: 600;
			border-radius: 0;
			padding: 0.75rem 1.5rem 0.75rem 1.5rem;
			line-height: 1.25;
			transition: all 0.3s;
			&::after {
				font-family: "Font Awesome 6 Pro";
				content: "\f054";
				position: absolute;
				font-size: 0.5625rem;
				opacity: 0;
				top: 50%;
				margin-top: -0.28125rem;
				right: -1.25rem;
				transition: all 0.3s;
			}
			&:hover,  &:focus-visible {
				color: var(--white);
				padding-left: 1.25rem;
				padding-right: 1.75rem;
				&::after {
					right: 0.875rem;
					opacity: 1;
				}
			}
		}
	}
}

/*** Checkout ***/
.elementor-widget-woocommerce-checkout-page .woocommerce {
	.e-checkout__column {
		h3 {
			font-size: 1.75rem;
			font-weight: 300;
			@media (max-width: 1024px) {
				font-size: 1.5rem;
			}
			@media (max-width: 767px) {
				font-size: 1.25rem;
			}
		}
	}
	.e-checkout__container {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		position: relative;
		grid-column-gap: 0;
		grid-row-gap: 0;
		.e-checkout__column.e-checkout__column-start {
			width: 65%;
			padding: 0 2.5rem 0 0;
			/* Returning customer */
			.e-woocommerce-login-section {
				font-size: 1rem;
				padding: 0 0 2rem 0;
				margin: 0 0 2rem 0;
				border-bottom: 0.125rem solid #eee;
				a.e-show-login {
					color: var(--black);
					text-decoration-color: var(--violet);
					text-decoration-thickness: 0.375rem;
					text-decoration-line: underline;
					text-underline-offset: -0.1875rem;
					-webkit-text-decoration-skip-ink: none;
					text-decoration-skip-ink: none;
					text-underline-offset: -0.1875rem;
					&:hover {
						text-decoration-color: var(--red);
					}
				}
				.e-login-wrap {
					.e-login-wrap-start {}
					.e-login-wrap-end {
						.form-row {
							padding-left: 1rem !important;
							label.e-login-label {
								background: none;
								top: auto;
								left: auto;
								padding: 0;
								margin: 0;
							}
							button.woocommerce-button {
								width: 100%;
								font-size: 1rem;
								padding: 0.8125rem 1.5rem;
								&::after {
									font-family: "Font Awesome 6 Pro";
									content: "\f054";
									position: absolute;
									font-size: 0.5625rem;
									opacity: 0;
									top: 1.0625rem;
									right: -1.25rem;
									transition: all 0.3s;
								}
								&:hover, &:focus {
									color: var(--white);
									padding-left: 1.25rem;
									padding-right: 1.75rem;
									&::after {
										right: 0.875rem;
										opacity: 1;
									}
								}
							}
							@media (max-width: 1024px) {
								padding-left: 0 !important;
							}
						}
					}
				}
				.e-login-actions-wrap {
					.e-login-actions-wrap-start {
						#rememberme {
							padding: 0;
							width: 1.25rem;
							height: 1.25rem;
							border: 0.0625rem solid var(--black);
							position: relative;
							&:checked {
								background: var(--black);
								&::after {
									content: '\f00c';
									font-family: "Font Awesome 6 Pro";
									position: absolute;
									top: 0;
									left: 0;
									width: 100%;
									height: 100%;
									display: flex;
									justify-content: center;
									align-items: center;
									color: var(--white);
									line-height: 1;
								}
							}
							&:focus-visible {
								background: var(--black);
							}
						}
					}
					.e-login-actions-wrap-end {
						.lost_password {
							a {
								font-size: 0.875rem;
								color: var(--black);
								text-decoration-color: var(--violet);
								text-decoration-thickness: 0.375rem;
								text-decoration-line: underline;
								text-underline-offset: -0.1875rem;
								-webkit-text-decoration-skip-ink: none;
								text-decoration-skip-ink: none;
								text-underline-offset: -0.1875rem;
								&:hover {
									text-decoration-color: var(--red);
								}
							}
						}
					}
				}
			}
			/* Billing Details */
			.col-1 {
				padding: 0 !important;
				border: none !important;
				margin-bottom: 0 !important;
				.woocommerce-billing-fields__field-wrapper {
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;
				}
				#billing_postcode_field, #billing_phone_field, #billing_city_field, #billing_state_field {
					width: calc(50% - 0.5rem);
					@media (max-width: 1024px) {
						width: 100%;
					}
				}
				#billing_country_field, #billing_state_field {
					label {
						top: -0.75rem;
						background: #fff;
					}
				}
				#billing_address_1::placeholder {
					opacity: 0;
				}
			}
			/* Shipping adress */
			.col-2 {
				.shipping_address {
					padding: 2rem 0 0 0 !important;
					border: none !important;
				}
				.woocommerce-shipping-fields__field-wrapper {
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;
				}
				#shipping_city_field, #shipping_postcode_field {
					width: calc(50% - 0.5rem);
					@media (max-width: 1024px) {
						width: 100%;
					}
				}
				#shipping_country_field, #shipping_state_field {
					label {
						top: -0.75rem;
						background: #fff;
					}
				}
				#shipping_address_1::placeholder {
					opacity: 0;
				}
			}
			/* Zusatzfelder */
			.woocommerce-additional-fields {
				padding: 0;
				margin: 2em 0 0 0;
				#order_comments::placeholder {
					opacity: 0;
				}
			}
			@media (max-width: 767px) {
				width: 100%;
				padding: 0;
			}
		}
		.e-checkout__column.e-checkout__column-end {
			width: 35%;
			.e-checkout__order_review {
				border: 0.15rem solid #eee;
				padding: 1.625rem;
				.woocommerce-checkout-payment {
					margin: 0 !important;
					padding: 0 !important;
					ul {
						li {
							label {
								font-weight: 600;
								font-size: 1rem;
							}
							.payment_box {
								background: var(--white);
								font-size: 0.75rem;
								padding: 0.625rem;
								margin: 1rem 0 0 0 !important;
							}
							
							input[type="radio"] {
								padding: 0;
								border-radius: 100%;
								border: 0.0625rem solid var(--black);
								margin: 0 0.5rem 0 0 !important;
								position: relative;
								&:focus, &:checked {
									background: var(--black);
								}
								/*
								&:checked {
									&::after {
										content: '';
										width: 1.5rem;
										height: 1.5rem;
										border-radius: 100%;
										position: absolute;
										top: -0.3125rem;
										left: -0.3125rem;
										border: 0.0625rem solid var(--black);
									}
								}
								*/
							}
							
							/* Stripe */
							.payment_box.payment_method_stripe_cc.wc-stripe-no-methods {
								background: var(--lightgray);
								padding: 0.625rem;
								.wc-stripe-save-source {
									display: none;
								}
							}
						}
					}
				}
				@media (max-width: 480px) {
					padding: 0.9375rem;
				}
			}
			.e-coupon-box {
				padding: 1.5625rem;
				background: linear-gradient(270deg, var(--skin), var(--violet), var(--blue));
				background-size: 400% 400%;
				-webkit-animation: coupon 30s ease infinite;
				-moz-animation: coupon 30s ease infinite;
				animation: coupon 30s ease infinite;
				border-radius: 0;
				p {
					font-size: 1rem;
					a.e-show-coupon-form {
						font-size: inherit;
						color: var(--black);
						text-decoration-color: var(--white);
						text-decoration-thickness: 0.375rem;
						text-decoration-line: underline;
						text-underline-offset: -0.1875rem;
						-webkit-text-decoration-skip-ink: none;
						text-decoration-skip-ink: none;
						text-underline-offset: -0.1875rem;
						&:hover {
							text-decoration-color: var(--red);
						}
					}
				}
				.e-coupon-anchor-description {
					font-size: 0.875rem;
					margin: 0 0 1rem 0;
				}
				#coupon_code {
					height: 46px;
				}
				button {
					padding: 0.8125rem 1.5rem;
					&::after {
						font-family: "Font Awesome 6 Pro";
						content: "\f054";
						position: absolute;
						font-size: 9px;
						opacity: 0;
						top: 17px;
						right: -20px;
						transition: all 0.3s;
					}
					&:hover, &:focus {
						color: var(--white);
						padding-left: 20px;
						padding-right: 28px;
						&::after {
							right: 0.875rem;
							opacity: 1;
						}
					}
				}
				@media (max-width: 480px) {
					padding: 0.9375rem;
				}
			}
			.e-checkout__order_review-2 {
				border: 0.15rem solid #eee;
				padding: 1.625rem;
				border-radius: 0;
				.shop_table.woocommerce-checkout-review-order-table {
					font-size: 1rem;
					padding: 0;
					thead {
						tr {
							th {
								visibility: hidden;
								padding: 0;
								font-size: 0px;
							}
						}
					}
					tbody {
						tr {
							td {}
							td.product-name {
								padding: 0.3125rem 0;
								max-width: 100%;
								position: relative;
								.wc-gzd-cart-item-name-wrapper {
									font-family: "Proxima Nova", sans-serif;
									position: relative;
									display: block;
									padding: 0 5rem 0 6.25rem;
									min-height: 6.25rem;
									@media (max-width: 1024px) {
										padding: 0 5rem 0 0;
									}
									@media (max-width: 767px) {
										padding: 0 5rem 0 6.25rem;
									}
									@media (max-width: 400px) {
										padding: 0 5rem 0 0;
										min-height: auto;
									}
									.wc-gzd-cart-item-thumbnail {
										position: absolute;
										top: 0;
										left: 0;
										background: var(--product-bg);
										width: 5rem;
										height: 6.25rem;
										margin: 0;
										min-width: 5rem;
										max-width: 5rem;
										img {
											object-fit: contain;
											width: 100%;
											height: 100%;
										}
										@media (max-width: 1024px) {
											display: none;
										}
										@media (max-width: 767px) {
											display: block;
										}
										@media (max-width: 400px) {
											display: none;
										}
									}
									p.wc-gzd-cart-info.units-info {
										font-size: 0.75rem;
									}
									span.wc-gzd-cart-info.unit-price.unit-price-cart {
										font-size: 0.75rem;
										margin: 0;
									}
									.product-quantity {
										font-size: 0.75rem;
										display: block;
										line-height: 1;
									}
								}
								.variation {
									display: none;
								}
								span.woocommerce-Price-amount.amount {
									position: absolute;
									top: 0.3125rem;
									right: 0;
									font-weight: 700;
								}
							}
							td.product-total {
								padding: 0.3125rem 0 0.3125rem 0.3125rem;
								max-width: 6.25rem;
								text-align: right;
							}
							.actions {
								padding: 0 0 1rem 0;
								text-align: right;
								a.button {
									font-family: "Proxima Nova", Sans-serif;
									color: var(--black);
									text-decoration-color: var(--violet);
									text-decoration-thickness: 0.375rem;
									text-decoration-line: underline;
									text-underline-offset: -0.1875rem;
									-webkit-text-decoration-skip-ink: none;
									text-decoration-skip-ink: none;
									text-underline-offset: -0.1875rem;
									padding: 0;
									background: none;
									&:hover {
										text-decoration-color: var(--red);
									}
								}
							}
							.product-total {
								.woocommerce-Price-amount.amount {
									font-weight: 600;
								}
								.wc-gzd-cart-info.unit-price.unit-price-cart {
									font-size: 0.75rem;
									font-weight: 400;
									line-height: 1;
									span {
										font-size: 0.75rem;
										font-weight: 400;
									}
								}
							}
						}
					}
					tfoot {
						tr {
							th {
								font-weight: 600;
								padding: 10px 10px 10px 0;
								width: 50%;
							}
							td {
								padding: 10px 0 10px 10px;
								text-align: right;
								width: 50%;
							}
						}
						tr.cart-subtotal {
							td {
								font-weight: 600;
							}
						}
						tr.cart-discount {
							td {
								font-weight: 600;
								a.woocommerce-remove-coupon {
									font-weight: 400;
									font-size: 0.875rem;
									display: block;
									color: var(--black);
									&:hover {
										color: var(--black);
									}
								}
							}
						}
						tr.woocommerce-shipping-totals.shipping {
							th {}
							td {
								ul {
									li {
										margin: 0 !important;
									}
								}
							}
						}
						tr.order-total {
							th {
								padding: 10px 10px 5px 0;
								font-size: 1.25rem;
								font-weight: 700;
							}
							td {
								padding: 10px 0 5px 10px;
								font-size: 1.25rem;
								font-weight: 700;
							}
						}
						tr.order-tax {
							th {
								font-weight: 400;
								padding: 0 10px 0 0;
								font-size: 0.875rem;
							}
							td {
								font-weight: 400;
								padding: 0 0 0 10px;
								font-size: 0.875rem;
							}
						}
					}
				}
				.wc-gzd-order-submit {
					.form-row {
						padding: 1.0625rem 0 0 0 !important;
						margin: 0 !important;
						.wc-gzd-checkbox-placeholder {
							p {
								padding: 0 !important;
								margin: 0 !important;
								font-size: 0.875rem;
							}
							label {
								font-size: 0.875rem;
								left: auto;
								top: auto;
								position: relative;
								background: none;
								line-height: 1.4;
							}
						}
						#ppcp-recaptcha-v2-container {
							margin: 0 !important;
						}
						button#place_order {
							margin-top: 1.5rem;
							font-family: "Proxima Nova", Sans-serif;
							font-size: 1rem;
							padding: 0.8125rem 1.5rem;
							color: var(--white);
							background: var(--black);
							border: 0.0625rem solid var(--black);
							line-height: 1;
							transition: all 0.3s;
							&::after {
								font-family: "Font Awesome 6 Pro";
								content: "\f054";
								position: absolute;
								font-size: 0.5625rem;
								opacity: 0;
								top: 1.0625rem;
								right: -1.25rem;
								transition: all 0.3s;
							}
							&:hover, &:focus {
								color: var(--white);
								padding-left: 1.25rem;
								padding-right: 1.75rem;
								&::after {
									right: 0.875rem;
									opacity: 1;
								}
							}
						}
					}
				}
				@media (max-width: 480px) {
					padding: 0.9375rem;
				}
			}
			@media (max-width: 767px) {
				width: 100%;
			}
		}
	}
}
.woocommerce {
	form {
		color: var(--black);
		legend {
			display: block;
			font-weight: 600 !important;
			font-size: 1rem !important;
			padding: 1rem 0 !important;
			width: 100%;
			font-size: 1.0625rem !important;
		}
		.form-row {
			width: 100%;
			padding: 0 !important;
			margin: 0 0 1rem 0 !important;
			position: relative;
			label {
				font-family: "Proxima Nova", sans-serif !important;
				color: var(--black) !important;
				line-height: 1.25;
				font-size: 0.875rem;
				margin-bottom: 5px;
				.required {
					color: var(--black) !important;
				}
			}
			input, select, textarea {
				font-family: "Proxima Nova", sans-serif;
				padding: 1rem;
				background: var(--white);
				font-size: 1rem !important;
				color: var(--black) !important;
				border: 0.0625rem solid var(--white);
				font-weight: 400;
				position: relative;
				line-height: 1.4 !important;
				&::placeholder {
					color: #777;
					font-family: "Proxima Nova", sans-serif;
					opacity: 1;
					font-size: 1rem;
					font-weight: 400;
				}
				&:focus {
					border-color: var(--black) !important;
				}
			}
			input[type="checkbox"] {
				padding: 0;
				width: 1.25rem;
				height: 1.25rem;
				border: 0.0625rem solid var(--black);
				display: inline-block;
				&:checked {
					background: var(--black);
					&::after {
						content: '\f00c';
						font-family: "Font Awesome 6 Pro";
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						display: flex;
						justify-content: center;
						align-items: center;
						line-height: 1;
						color: var(--white);
					}
				}
				&:focus-visible {
					background: var(--black);
				}
			}
			input[type="radio"] {
				appearance: none;
				width: 1.25rem;
				height: 1.25rem;
				border-radius: 100%;
				border: 0.0625rem solid var(--black);
				display: inline-block;
				padding: 0;
				&:checked {
					background: var(--black);
					&::after {
						content: '\f00c';
						font-family: "Font Awesome 6 Pro";
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						display: flex;
						justify-content: center;
						align-items: center;
						line-height: 1;
						color: var(--white);
						font-size: 0.875rem;
					}
				}
				&:focus-visible, &:focus {
					background: var(--black);
				}
			}
		}
		.form-row.form-row-first, .form-row.form-row-last {
			width: calc(50% - 0.5rem);
			@media (max-width: 1024px) {
				width: 100%;
			}
		}
	}
	/** Checkout **/
	/* Newsletter */
	.form-row.form-row-wide.mailchimp-newsletter.mailchimp-newsletter {
		margin: 0 0 0.5rem 0 !important;
		.woocommerce-form__label.woocommerce-form__label-for-checkbox {
			margin: 0 !important;
			position: relative;
			padding: 0 0 0 1.75rem !important;
			top: auto;
			left: auto;
			background: none;
		}
		input[type="checkbox"] {
			padding: 0;
			border: 0.0625rem solid var(--black);
			position: absolute;
			top: 0.0625rem;
			margin: 0;
			left: 0;
		}
	}
	/* Create Account */
	.woocommerce-account-fields .form-row.form-row-wide.create-account {
		margin: 0 0 0.5rem 0 !important;
		label {
			position: relative;
			top: auto;
			left: auto;
			padding: 0 0 0 1.75rem !important;
			background: none;
			span {
				font-size: 1rem;
			}
			input[type="checkbox"] {
				position: absolute;
				left: 0;
				top: 0;
			}
		}
	}
	/* Shipping diffrent adress */
	#ship-to-different-address {
		font-family: "Proxima Nova", sans-serif;
		font-size: 1rem;
		font-weight: 400;
		margin: 0 0 1rem 0;
		padding: 0 0 0 1.75rem;
		position: relative;
		label span {
			font-family: "Proxima Nova", sans-serif;
			font-size: 1rem;
			font-weight: 400;
		}
		input[type="checkbox"] {
			padding: 0;
			border: 0.0625rem solid var(--black);
			position: absolute;
			top: 0.0625rem;
			margin: 0;
			left: 0;
			width: 1.25rem;
			height: 1.25rem;
			&:checked {
				background: var(--black);
				&::after {
					content: '\f00c';
					font-family: "Font Awesome 6 Pro";
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					display: flex;
					justify-content: center;
					align-items: center;
					line-height: 1;
					color: var(--white);
				}
			}
			&:focus-visible {
				background: var(--black);
			}
		}
	}
	.legal.form-row.checkbox-legal {
		position: relative;
		padding-left: 2rem !important;
		label {
			font-size: 1rem;
			display: inline-block;
			a {
				font-weight: 400;
				color: inherit;
				text-decoration: underline;
				&:hover {
					text-decoration: none;
				}
			}
		}
		#legal {
			position: absolute;
			top: 0.1875rem;
			left: 0;
			margin: 0;
		}
	}
	/* Länderauswahl */
	#billing_country_field, #billing_state_field, #shipping_country_field, #shipping_state_field {
		.woocommerce-input-wrapper {
			select {}
			.select2 {
				height: 56.4px;
				span.selection {
					color: #777;
					font-size: 1rem;
					height: 56.4px;
					span.select2-selection.select2-selection--single {
						span.select2-selection__rendered {
							padding: 1rem;
							line-height: 1.5;
						}
						span.select2-selection__arrow {
							height: 100% !important;
						}
					}
				}
			}
		}
	}
	/* Länder calc */
	#calc_shipping_country_field, #calc_shipping_state_field,
	#calc_shipping_city_field, #calc_shipping_postcode_field {
		label {
			top: -0.75rem;
			background: #fff;
		}
	}
	.woocommerce-shipping-calculator {
		.shipping-calculator-form {
			margin: 0 !important;
			padding: 2rem 0 0 0;
			.form-row {
				select.country_to_state.country_select {}
				span.select2 {
					span.selection {
						span.select2-selection.select2-selection--single {
							height: auto;
							span.select2-selection__rendered {
								padding: 1rem;
								line-height: 1.25;
								min-height: 3.25rem;
							}
							span.select2-selection__arrow {
								height: 100%;
							}
						}
					}
				}
			}
			.form-row.form-row-first, .form-row.form-row-last {
				width: 100%;
			}
		}
	}
}
.woocommerce {
	form {
		.form-row {
			label {
				position: absolute;
				left: 0.75rem;
				top: 1.0625rem;
				font-weight: 400;
				font-size: 1rem;
				background: none;
				line-height: 1;
				padding: 0.1875rem 0.3125rem 0.3125rem 0.3125rem !important;
				z-index: 2;
				transition: all 0.3s;
			}
		}
		.form-row:focus-within label, .form-row.filled label {
			top: -0.75rem;
			background: #fff;
		}
	}
}
.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection {
	border: 1px solid var(--white);
}
.select2-container.select2-container--default.select2-container--open.e-woo-select2-wrapper {
	span.select2-dropdown.select2-dropdown--below, span.select2-dropdown.select2-dropdown--above {
		border: 0.0625rem solid var(--black);
		background: #fff;
		border-radius: 0;
		span.select2-search.select2-search--dropdown {
			padding: 10px;
			input {
				padding: 1rem;
				font-size: 0.875rem;
				line-height: 1;
			}
		}
		span.select2-results {
			ul.select2-results__options {
				font-size: 0.875rem;
				li.select2-results__option {
					color: var(--black);
				}
				li.select2-results__option--highlighted {
					background: var(--violet);
					color: var(--black);
				}
				li.select2-results__option.select2-results__message {
					padding: 0 10px 10px 10px;
					font-weight: 500;
					font-size: 0.75rem;
				}
			}
		}
	}
}
/*** Plus Minus Button - Plugin ***/
form.cart, form.woocommerce-cart-form {
	.qib-button-wrapper {
		margin: 0 !important;
		border: 0.0625rem solid var(--black);
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		float: none;
		button {
			font-family: "Proxima Nova", sans-serif;
			font-size: 0 !important;
			color: var(--black) !important;
			background: #fff !important;
			border: none;
			margin: 0;
			padding: 0;
			position: relative;
			&::after {
				font-family: "Font Awesome 6 Pro";
				display: flex;
				justify-content: center;
				align-items: center;
				font-size: 0.875rem;
				font-weight: 400;
				position: absolute;
				top: 0;
				left: 0;
				height: 100%;
				width: 100%;
			}
			&.minus {
				&::after {
					content: '\f068';
				}
			}
			&.plus {
				&::after {
					content: '\2b';
				}
			}
		}
		.quantity.wqpmb_quantity {
			input.input-text {
				font-family: "Proxima Nova", sans-serif;
				font-size: 1rem;
				color: var(--black);
				background: #fff;
				font-weight: 400;
				border: none;
				padding: 0.5rem;
			}
		}
	}
}
form.cart {
	.qib-button-wrapper {
		width: 10rem;
		button {
			width: 46px;
			height: 100%;
		}
		.quantity.wqpmb_quantity {
			height: 100%;
			width: 58px;
			input.input-text {
				width: 100%;
				height: 100%;
			}
		}
		@media (max-width: 480px) {
			margin: -1px 0 0 90px !important;
			height: 50.8px;
			width: 8.8rem;
			button {
				&::after {
					font-size: 0.75rem;
				}
			}
			.quantity.wqpmb_quantity {
				width: 44px;
				input.input-text {
					font-size: 0.875rem;
				}
			}
		}
		@media (max-width: 370px) {
			margin: 1rem 0 0 0 !important;
		}
	}
}
form.variations_form.cart {
	.qib-button-wrapper {
		@media (max-width: 480px) {
			margin: -1px 0 0 105px !important;
			width: 8.8rem;
		}
		@media (max-width: 370px) {
			margin: 0.5rem 0 0 0 !important;
		}
	}
}
form.woocommerce-cart-form {
	.qib-button-wrapper {
		width: 7.5rem;
		height: 40px;
		button {
			width: 40px;
			height: 100%;
		}
		.quantity.wqpmb_quantity {
			height: 100%;
			width: 35px;
			input.input-text {
				width: 100%;
				height: 100%;
				min-height: 100%;
				max-height: 100%;
			}
		}
		@media (max-width: 480px) {
			button {
				&::after {
					font-size: 0.75rem;
				}
			}
			.quantity.wqpmb_quantity {
				input.input-text {
					font-size: 0.875rem;
				}
			}
		}
	}
}
/*** Bestellbestätigung ***/
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
	padding: 0 !important;
	thead {
		tr {
			th {
				padding: 0.625rem;
			}
		}
	}
	tbody {
		tr {
			td {
				padding: 0.625rem;
				.wc-gzd-cart-info.units-info {
					color: var(--black);
					font-size: 0.875rem;
				}
				.wc-gzd-cart-info.unit-price.unit-price-cart {
					color: var(--black);
					font-size: 0.875rem;
				}
			}
			td.product-name {
				a {
					color: var(--black);
					text-decoration-color: var(--violet);
					text-decoration-thickness: 0.375rem;
					text-decoration-line: underline;
					text-underline-offset: -0.1875rem;
					-webkit-text-decoration-skip-ink: none;
					text-decoration-skip-ink: none;
					text-underline-offset: -0.1875rem;
					font-weight: 600;
					&:hover {
						text-decoration-color: var(--red);
					}
				}
			}
		}
	}
	tfoot {
		tr {
			th {
				padding: 0.625rem;
			}
			td {
				padding: 0.625rem;
			}
		}
		a.woocommerce-button.order-actions-button {
			color: var(--black);
			text-decoration-color: var(--violet);
			text-decoration-thickness: 0.375rem;
			text-decoration-line: underline;
			text-underline-offset: -0.1875rem;
			-webkit-text-decoration-skip-ink: none;
			text-decoration-skip-ink: none;
			text-underline-offset: -0.1875rem;
			font-weight: 600;
			background: none;
			padding: 0;
			&:hover {
				text-decoration-color: var(--red);
			}
		}
	}
}