body{
	div.wpcf7{
		position: relative;

		.after-send{
			display: none;
		}

		.row{
			gap: 24px 0;
		}

		label{
			display: block;
			margin: 0;
		}
		.wpcf7-radio,
		.wpcf7-checkbox,
		:is( .form-control, .form-select ){
			margin-bottom: 0;
		}
		.wpcf7-radio,
		.wpcf7-checkbox{
			display: flex;
			flex-wrap: wrap;
			gap: 24px 48px;

			@media (max-width: 575px){
				gap: 16px 32px;
			}
		}
		.wpcf7-radio{
			margin: 0 0 8px;

			.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%;
			}
		}
		.wpcf7-response-output{
			margin: 32px 0 0;
			padding: 12px 16px 12px 41px;
			background: rgba(0,0,0,.5) url(../images/error.svg) 18px 16px no-repeat;
			border: none;
			font-size: 14px;
			line-height: 1.4286;
			color: #fff;
		}
		/* form.sent .wpcf7-response-output{
			border-color: #46b450;
		}
		form.failed .wpcf7-response-output,
		form.aborted .wpcf7-response-output{
			border-color: #dc3232;
		}
		form.spam .wpcf7-response-output{
			border-color: #f56e28;
		}
		form.invalid .wpcf7-response-output,
		form.unaccepted .wpcf7-response-output{
			border-color: #ffb900;
		} */

		:is( .form-control, .form-select ).wpcf7-not-valid{
			background-color: #ffb7b6;
			border-color: rgba(255,15,10,.5);
		}

		.wpcf7-submit{
			margin-top: 52px;

			@media (max-width: 767px){
				margin-top: 40px;
			}
		}

		.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;
					color: var(--wp--preset--color--blau);
				}
				input{
					cursor: pointer;
					-webkit-appearance: none;
					-moz-appearance: none;
					appearance: none;
					flex-shrink: 0;
					width: 20px;
					height: 20px;
					margin: 4px 10px 0 0;
					background: none;
					border: 2px solid var(--wp--preset--color--blau);
					border-radius: 50%;

					&:checked{
						background-color: var(--wp--preset--color--blau);
						/* 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>'); */
					}
				}
			}

			&.wpcf7-not-valid{
				color: #f00;

				.wpcf7-list-item input{
					border-color: #f00;
				}
			}
		}

		.smaller-layout{
			/* .row{
				gap: 16px 0;
			}
			:is( .form-control, .form-select ),
			:is( .form-control, .form-select ):focus{
				padding: 14px;
				font-size: 14px;
				line-height: 1.4286;
			} */
			textarea.form-control,
			textarea.form-control:focus{
				height: 100%;
			}
			.wpcf7-submit{
				margin-top: 32px;
			}
		}
	}

	.has-grun-background-color div.wpcf7{
		:is( .wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance ){
			.wpcf7-list-item{
				label{
					color: #fff;
				}
				input{
					border-color: #fff;

					&:checked{
						background-color: #fff;
					}
				}
			}
		}
		.after-send{
			img{
				filter: brightness(0) invert(1);
			}
			.has-blau-color{
				color: var(--wp--preset--color--gelb) !important;
			}
		}
	}
}