body{
	div.wpcf7{
		position: relative;

		.after-send{
			display: none;
			margin: 30px 0 0;
			padding: 40px 40px 40px 88px;
			background: #fff url(../images/success.svg) 40px 40px no-repeat;
		}

		.row{
			--bs-gutter-x: 20px;
			gap: 0;
		}
		label{
			display: block;
			margin: 0;
		}
		.wpcf7-radio,
		.wpcf7-checkbox,
		:is( .form-control, .form-select ){
			margin-bottom: 20px;
		}
		.wpcf7-radio,
		.wpcf7-checkbox{
			display: flex;
			flex-wrap: wrap;
			gap: 30px;
		}
		.wpcf7-radio .wpcf7-list-item{
			margin: 0;
		}
		label + .wpcf7-form-control-wrap > :is( .wpcf7-radio, .wpcf7-checkbox ),
		label :is( .form-control, .form-select ){
			margin-top: 2px;
		}
		.wpcf7-not-valid-tip{
			display: none !important;
		}
		.ajax-loader{
			position: absolute;
		}
		.wpcf7-spinner{
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			width: auto;
			height: auto;
			border-radius: 0;
			margin: 0;
			background: none;

			&::before{
				z-index: 2;
				top: calc( 50% - 8px );
				left: calc( 50% - 8px );
			}

			&::after{
				content: '';
				width: 24px;
				height: 24px;
				background: rgb(35 40 45 / 75%);
				display: block;
				position: absolute;
				z-index: 1;
				top: calc( 50% - 12px );
				left: calc( 50% - 12px );
				border-radius: 50%;
			}
		}
		form .wpcf7-response-output{
			margin: 20px 0 0;
			padding: 0;
			border: none;
		}

		form.sent .wpcf7-response-output{
			color: #BAB305;
		}
		form.failed .wpcf7-response-output,
		form.aborted .wpcf7-response-output{
			color: var(--wp--preset--color--fehlermeldung);
		}
		form.spam .wpcf7-response-output{
			color: var(--wp--preset--color--fehlermeldung);
		}
		form.invalid .wpcf7-response-output,
		form.unaccepted .wpcf7-response-output{
			color: var(--wp--preset--color--fehlermeldung);
		}

		:is( .form-control, .form-select ).wpcf7-not-valid{
			background: rgba(255,0,107,.1);
			border-color: var(--wp--preset--color--fehlermeldung);
		}

		.wpcf7-submit{
			margin-top: 30px;
		}

		.wpcf7-acceptance{
			display: block;
			margin: 25px 0;

			.wpcf7-list-item{
				display: block;
				margin: 0;
			}
		}
		:is( .wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance ){
			.wpcf7-list-item{
				label{
					display: flex;
					align-items: start;
					cursor: pointer;
				}
				input{
					cursor: pointer;
					-webkit-appearance: none;
					-moz-appearance: none;
					appearance: none;
					flex-shrink: 0;
					width: 16px;
					height: 16px;
					margin: 3px 10px 0 0;
					background: none;
					border: solid 2px var(--wp--preset--color--darkblue);
					border-radius: 0;

					&:checked{
						background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M6 10l3 3l6-6"/></svg>');
					}

					&[type=radio]{
						border-radius: 50%;

						&:checked{
							background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" viewBox="0 0 6 6"><circle fill="%23110934" r="3" cx="3" cy="3"/></svg>') center no-repeat;
						}
					}
				}
			}

			&.wpcf7-not-valid{
				color: var(--wp--preset--color--fehlermeldung);

				.wpcf7-list-item input{
					border-color: var(--wp--preset--color--fehlermeldung);
				}
			}
		}
	}
}