:root {
	--contrast: #003770;
	--order: #8D0900;
}

/* --------------------------- Listenansicht ---- */
.wc-block-product-template {
	&.product-list {
		grid-template-columns: repeat(auto-fill,minmax(max(225px,calc(50% - .625em)),1fr));
	}
}
.wc-block-product {
	.wp-block-columns {
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2) !important;
		border-radius: 24px !important;
		overflow: hidden;
		margin-bottom: 0;
		height: 100%;
		position: relative;
		.wp-block-columns {
			box-shadow: none !important;
		}
		.wp-block-column:last-child {
			div:last-child {
				margin-top: 0;
				text-align: right !important;
				a.yith-wcqv-button {
					background: white;
					color: var(--contrast);
					border-radius: .33rem;
					font-family: inherit;
					font-size: var(--wp--preset--font-size--small);
					font-style: normal;
					font-weight: 500;
					letter-spacing: inherit;
					line-height: inherit;
					padding-top: 0.6rem;
					padding-right: 1rem;
					padding-bottom: 0.6rem;
					padding-left: 1rem;
					text-decoration: none;
					text-transform: inherit;
					display: inline-block;
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					z-index: 5;
					background: transparent;
					text-indent: -9999px;
					text-align: left;
					&:after {
						content: 'i';
						display: block;
						text-indent: 0;
						position: absolute;
						top: 10px;
						left: auto;
						right: 10px;
						width: 28px;
						height: 28px;
						font-size: 18px;
						line-height: 28px;
						border-radius: 50%;
						background: var(--contrast);
						color: white;
						font-weight: bold;
						text-align: center;
						@media (max-width: 767px) {
							top: auto;
							right: auto;
							bottom: 10px;
							left: 10px;
						}
					}
				}
			}
		}
	}
	.yith-wcqv-button {
		display: none;
	}
	.product-list & {
		.wp-block-woocommerce-product-button {
			display: none;
		}
		.wp-block-columns {
			padding: 10px !important;
			border-radius: 24px !important;
			position: relative;
			gap: 11px;
			background: white;
			box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
			.wc-block-components-product-image {
				height: auto;
				aspect-ratio: 1;
				border-radius: 14px;
				box-shadow: 2px 2px 9.9px 0 #C2C0F8;
			}
			.wp-block-column:first-child {
				@media(max-width: 991px) {
					flex-basis: 90px !important;
				}
			}
			.wp-block-column:last-child {
				display: flex;
				flex-wrap: wrap;
				flex-direction: column;
				.wp-block-post-title {
					font-size: 24px !important;
					font-weight: 600 !important;
					padding-right: 38px !important;
					@media(max-width: 991px) {
						font-size: 22px !important;
					}
					@media (max-width: 767px) {
						padding-right: 0 !important;
						font-size: 18px !important;	
					}
				}
				.wc-block-product-description {
					p {
						font-size: 16px;
						color: var(--contrast);
					}
					margin-top: 13px;
					margin-bottom: 15px;
				}
				.wp-block-table {
					margin-top: 0.75rem;
					padding-right: 1rem;
					margin-top: auto;
					p {
						margin: 6px 0 0;
						font-size: 14px;
						color: var(--contrast);
					}
					+ .wp-block-woocommerce-product-price {
						margin-top: 10px !important;	
					}
				}
				.wp-block-woocommerce-product-price {
					color: var(--contrast);
					.amount {
						font-size: 24px;
						font-weight: 700;
						margin-right: 12px;
						margin-bottom: 3px;
					}
				}
			}
		}
	}
	.product-list-inhouse & {
		.wp-block-columns {
			.wp-block-column:last-child {
				.wp-block-post-title {
					padding-right: 0 !important;
				}
			}
		}
	}
	.wc-block-product-template__responsive.columns-3 &,
	.product-list-compare & {
		padding: 10px !important;
		border-radius: 24px !important;
		position: relative;
		background: white;
		box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
		display: flex;
		flex-direction: column;
		color: var(--contrast);
		.wc-block-components-product-image {
			height: auto;
			aspect-ratio: 1;
			border-radius: 14px;
			box-shadow: 2px 2px 9.9px 0 #C2C0F8;
		}
		.wp-block-post-title {
			font-size: 18px !important;
			font-weight: 600 !important;
			a {
				color: var(--contrast);
			}
			@media(max-width: 991px) {
				font-size: 18px !important;
			}
			@media (max-width: 767px) {
				padding-right: 0 !important;
				font-size: 16px !important;	
			}
		}
		.wp-block-woocommerce-product-price {
			color: var(--contrast);
			font-weight: bold;
		}
		.wp-block-button {
			margin-top: auto;
			margin-bottom: 0;
			a.wp-block-button__link {
				margin-top: 20px;
				background: var(--contrast);
				color: white;
				width: 100%;
				border-radius: 14px !important;
			}
		}
		
		
		
		
		
	}
	
	.wc-block-product-template__responsive.columns-3 & {
		.dg-slider-attrs,
		.wc-block-product-description {
			display: none;
		}
		a {
			pointer-events: none;
		}
	}
	
	figure.wp-block-table {
		table {
			tr {
				th {
					display: none;
				}
				td {
					border: none;
					padding: 0;
					p {
						margin-bottom: 0;
						font-size: 12px;
						font-style: italic;
					}
				}
			}
		}
	}
}


/* --------------------------------------------------------------Quick view Detail Modal ------ */
body #yith-quick-view-modal {
	.yith-wcqv-main {
		background: white;
		border-radius: 24px !important;
		box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
		* {
			color: var(--contrast);
		}
		#yith-quick-view-content {
			&.woocommerce {
				div.product {
					div.images {
						padding: 20px;
						@media(max-width: 767px) {
							padding: 10px;
						}
						img {
							height: auto;
							object-fit: contain;
							border-radius: 6px;
							box-shadow: 2px 2px 9.9px 0 #C2C0F8;
							@media(max-width: 767px) {
								border-radius: 14px;
							}
						}
					}
					div.summary {
						padding: 20px 0 20px 20px;
						position: relative;
						@media(max-width: 767px) {
							padding: 10px 10px 10px;
						}
						.product_title {
							font-size: 24px;
							font-weight: bold;
							@media(max-width: 767px) {
								margin-bottom: 10px;
							}
						}
						.price {
							font-size: 20px;
							font-weight: bold;
							@media(max-width: 767px) {
								margin-top: 0;
								margin-bottom: 10px;
							}
						}
						.product_meta {
							display: none;
						}
						button.single_add_to_cart_button {
							position: absolute;
							top: auto;
							left: auto;
							right: 0;
							bottom: 20px;
							margin: 0;
						}
						div.quantity {
							position: absolute;
							top: auto;
							left: 20px;
							right: auto;
							bottom: 20px; 
							input.qty {
								border: 1px solid black;
								border-radius: 4px;
								padding: 14px 10px;
							}
						}
					}
				}
			}
		}
	}
}


/* -------------------------------- Mix Produkt -------- */
.single-product {
	.wc-block-product-gallery-large-image {
		border-radius: 24px !important;
		img {
			border-radius: 24px !important;
			box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
		}
	}
}
.wp-block-add-to-cart-form {
	max-width: var(--wp--style--global--wide-size);
	table.products {
		thead {
			display: none;
		}
		
		tbody {
			display: flex;
			flex-wrap: wrap;
			flex-direction: row;
			gap: 24px;
			tr {
				flex: 0 0 auto;
				width: 33.333% !important;
				display: block !important;
				box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2) !important;
				border-radius: 10px;
				
			}
		}
		
	}
}

.layout_grid {
	ul.products {
		margin: -10px -10px 2rem !important;
		display: flex;
		flex-wrap: wrap;
		li.type-product {
			display: grid !important;
			grid-template-columns: 30% 1fr;
			grid-template-rows: auto auto;
			box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
			overflow: hidden;
			border-radius: 24px;
			margin: 10px !important;
			background: white;
			padding: 10px !important;
			box-sizing: border-box;
			width: calc(33.333% - 20px) !important;
			margin: 10px !important;
			@media(max-width: 991px) {
				width: calc(50% - 20px) !important;
			}
			@media(max-width: 767px) {
				width: calc(100% - 20px) !important;
			}
			* {
				box-sizing: border-box;
			}
			.product-thumbnail {
				grid-column: 1;
				grid-row: 1 / span 2;
				padding: 0;
				img {
					box-shadow: 2px 2px 9.9px 0 #C2C0F8;
					border-radius: 14px;
				}
				* {
					height: 100% !important;
				}
				a {
					pointer-events: none;
					overflow: visible !important;
				}
			}
			.product-details {
				grid-column: 2;
				grid-row: 1;
				margin-bottom: 0.5rem !important;
				//display: grid;
				//grid-template-columns: 1fr 80px;
				padding-left: 10px;
				.woocommerce-loop-product__title {
					padding: 0 !important;
					//grid-column: 1;
					a,
					h4 {
						color: var(--contrast);
						pointer-events: none;
						font-weight: bold;
					}
				}
				.price {
					padding: 0 !important;
					//grid-column: 2;
					color: var(--contrast);
					font-weight: bold;
					text-align: left;
					margin-top: 0.5rem;
				}
			}
			.product-quantity{
				grid-column: 2;
				grid-row: 2;
				display: flex;
				justify-content: end;
				.quantity {
					padding: 0 !important;
					margin: 0 !important;
					.input-text {
						height: 1.5em;
					}
					.button {
						height: 1.75em;
					}
				}
			}
		}
	}
}
.wp-block-add-to-cart-form {
	.mnm_reset {
		background: var(--contrast);
		width: 15rem;
	}
	.mnm_form  {
		.mnm_price {
			font-size: 1.5rem;
			font-weight: 700;
			color: white;
			.mnm_counter,
			.total {
				font-weight: 400;
				font-size: 1rem;
			}
		}
	}
}

.woocommerce form {
	.fpf-multi-checkbox {
		.form-row {
			display: flex;
			flex-wrap: wrap;
			border: none;
			box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset !important;
			border-radius: 24px;
			padding: 4rem 20px 20px;
			position: relative;
			background: white;
			legend {
				position: absolute;
				top: 1rem;
				left: 1rem;
				font-size: 1.5em;
				font-weight: 500;
				color: var(--contrast);
			}
			
			label {
				width: calc(50% - 25px);
				margin: 0;
				position: relative;
				padding-left: 25px;
				color: var(--contrast);
				@media (max-width: 767px) {
					width: calc(100% - 25px);
				}
				input {
					position: absolute;
					top: 7px;
					left: 0;
				}
			}
		}
	}
}

/* ------------------------------------------------ Header Web ------------ */
body .header-web {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	.wp-block-navigation__responsive-container {
		margin-top: -20px;
	}
	@media (min-width: 600px) and (max-width: 991px) {
		display: block;
		.wp-block-group {
			align-items: flex-start;
		}
		.wp-block-navigation__responsive-container {
			margin-top: 0;
		}
	}
	@media (max-width: 599px) {
		button {
			margin-top: -20px;	
		}
	}
}
html.has-modal-open {
	header.wp-block-template-part {
		z-index: 2;
	}
}
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--contrast);
	color: white;
	.wp-block-navigation__responsive-container-close {
		margin-top: 20px;
	}
}


/* ----------------------------------------------- FAQ -------- */
.wp-block-woocommerce-accordion-group {
	.wp-block-woocommerce-accordion-item {
		h3.wp-block-woocommerce-accordion-header {
			font-size: 1.25rem;
			font-weight: 500;
			color: white;
			.accordion-item__toggle {
				padding: 0;
			}
			.has-icon-plus {
				width: 2rem !important;
				height: 2rem !important;
				svg {
					width: 2rem !important;
					height: 2rem !important;
				}
			}
		}
		.wp-block-woocommerce-accordion-panel {
			.accordion-content__wrapper {
				padding: 1rem 0;
			}
		}
	}
}

/* ------------------------------------------------ Shop Funktionen ------------ */
.wp-block-buttons {
	.wp-block-button {
		a.wp-element-button {
			background: white;
			color: var(--contrast);
			padding: 10px 18px;
			border-radius: 13px;
			font-size: 24px;
			font-weight: 700;
			box-shadow: -2px -2px 3.2px 0 rgba(0, 0, 0, 0.25) inset;
			@media(max-width: 991px) {
				padding: 6px 12px;
				font-size: 16px;
			}
		}
	}
}

/* ------------------------------------------------ Shop Funktionen ------------ */
.wp-block-woocommerce-mini-cart,
.wp-block-woocommerce-customer-account {
	display: none;	
}