.product-text > :not(:last-child) {
	margin-bottom: 16px;
}

div.product-text div.product-actions {
	margin-top: unset !important;
	padding-top: unset !important;

	&.product-text-element--with-borders::before {
		border: unset !important;
	}

	product-form.product-form {
		display: flex;
		flex-direction: column;
		row-gap: 30px;

		.config_option {
			&[data-option-value*="Ohne"] {
				.vz_color_swatch {
					input[value*="Ohne"] + label .vz_image_swatch {
						background-image: url("/cdn/shop/files/keineabrundung-filled.svg?v=1744652251") !important;
					}
				}
			}

			&[data-option-value*="Leicht"] {
				.vz_color_swatch {
					input[value*="Leicht"] + label .vz_image_swatch {
						background-image: url("/cdn/shop/files/leichteabrundung-filled.svg?v=1744652251") !important;
					}
				}
			}

			&[data-option-value*="Mittel"] {
				.vz_color_swatch {
					input[value*="Mittel"] + label .vz_image_swatch {
						background-image: url("/cdn/shop/files/mittlereabrundung-filled.svg?v=1744652250") !important;
					}
				}
			}

			&[data-option-value*="Stark"] {
				.vz_color_swatch {
					input[value*="Stark"] + label .vz_image_swatch {
						background-image: url("/cdn/shop/files/starkeabrundung_filled.svg?v=1744652251") !important;
					}
				}
			}

			.vz_headline {
				&:not(:has(+ .vz_description)) {
					margin-bottom: 16px;
				}
			}

			.vz_description {
				margin-bottom: 16px;
			}

			.vz_color_swatches_container {
				.vz_color_swatch {
					&:hover .vz_large_image {
						display: none;
					}

					.vz_image_swatch {
						border: none;

						&::after {
							display: none;
						}

						&:hover {
							cursor: pointer;

							&::after {
								display: none;
							}
						}
					}
				}
			}
		}

		.config_option,
		.config_quantity {
			margin-bottom: unset;
		}

		.vz_dimension_input {
			border-radius: unset !important;
		}

		.vz_button_group {
			display: flex;
			column-gap: 16px;
		}

		.vz_button_swatch_container {
			input[type="checkbox"] + .vz_button_swatch {
				border-radius: 999px !important;
				padding: 16px 24px;
				margin-right: unset;
				transition: border-color 0.1s linear;

				&:hover {
					border-color: rgba(231, 231, 233, 0.6);
				}
			}

			input[type="checkbox"]:checked + .vz_button_swatch {
				background-color: #FFFFFF !important;
				color: #151618;
				border-color: #FFFFFF;
			}
		}

		.input_number_container {
			.input_number_decrement,
			.input_number_increment {
				border-radius: unset !important;
				transition: border-color 0.1s linear;

				&:hover {
					border-color: rgba(231, 231, 233, 0.6);
				}
			}
		}

		div:has(.config_price) {
			order: -1;
			display: grid !important;
			grid-template-areas:
			"price price"
			"base_price base_price"
			"area weight";
			max-width: fit-content;

			.config_price {
				grid-area: price;
				display: flex;
				font-family: "Borna Medium", "Geist Variable", Arial, sans-serif;
				align-items: baseline;
				column-gap: 4px;
				margin-bottom: 8px;

				.vz_price_preview {
					font-size: 40px;
				}

				.vz_price_tax {
					font-size: 18px;
					margin-bottom: unset;
				}
			}

			.config_area {
				grid-area: area;

				.vz_headline {
					margin-top: unset !important;
				}

				.vz_area_preview {
					font-size: 16px;
					font-weight: 500;
				}
			}

			.config_weight {
				grid-area: weight;

				.vz_headline {
					margin-top: unset !important;
				}

				.vz_weight_preview {
					font-size: 16px;
					font-weight: 500;
				}
			}

			.config_base_price {
				grid-area: base_price;
				display: flex;
				align-items: center;
				column-gap: 4px;
				margin-bottom: 30px;

				.vz_headline {
					margin-top: unset !important;
					font-weight: 400;
					font-size: 18px;
				}

				.vz_base_price_preview {
					font-size: 16px;
					font-weight: 500;
				}
			}
		}

		#configurator_form {
			border-bottom: 1px solid #767b85;
		}

		.vz_atc_btn {
			margin-top: unset;
			position: relative;
			background-color: transparent;
			z-index: 1;
			border: 1px solid white;
			padding: 15px !important;

			span {
				transition: color ease-in-out 175ms;
			}

			&::before {
				content: '';
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				background-color: white;
				transform: scaleX(0);
				z-index: -1;
				transition: transform ease-in-out 175ms;
				transform-origin: left;
			}

			&:hover {
				span {
					color: #151618;
				}

				&::before {
					transform: scaleX(1);
				}
			}
		}
	}
}