body{
	div.wpcf7{
		position: relative;

		h3:not(:first-child){
			margin: 70px 0 36px;
		}

		.row{
			gap: var(--bs-gutter-x) 0;
		}
		label{
			display: block;
			margin: 0;
		}
		/* .wpcf7-radio,
		.wpcf7-checkbox,
		:is( .form-control, .form-select ){
			margin-bottom: var(--bs-gutter-x);
		} */
		.wpcf7-radio,
		.wpcf7-checkbox{
			display: grid;
			grid-template-columns: repeat( 2, 1fr );
			gap: 25px;

			@media (max-width: 767px){
				grid-template-columns: 1fr;
			}

			.wpcf7-list-item{
				margin: 0;
			}
		}
		label + .wpcf7-form-control-wrap > :is( .wpcf7-radio, .wpcf7-checkbox ),
		label :is( .form-control, .form-select ),
		label + :is( .form-control, .form-select ){
			margin-top: 9px;
		}
		.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: 25px 0 0;
			padding: 0;
			border: none;
			font-size: 13px;
		}

		/* 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{
			--text-color: #FFE500 !important;
			--placeholder-color: #FFE500 !important;
			border-color: #FFE500;
		}

		: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: 30px;
					height: 25px;
					margin: -3px 15px 0 0;
					background: url(../images/checkbox.svg) center/contain no-repeat;
					border: 0;
					border-radius: 0;

					&:checked{
						background-image: url(../images/checkbox-checked.svg);
					}

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

						&:checked{
							background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle fill="black" r="6" cx="10" cy="10"/></svg>');
						}
					}
				}
			}

			.wpcf7-list-item-label{
				font-size: 16px;
			}

			&.wpcf7-not-valid{
				color: #FFE500;
				border-color: #FFE500;
			}
		}

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

			.wpcf7-list-item{
				display: block;
				margin: 0;

				input{
					margin-top: 3px;
				}
			}

			.wpcf7-list-item-label{
				text-wrap: balance;
				font-size: 12px;
			}
		}
	}
}