.evt-contact-form {
	display: grid;
	gap: 1rem;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.evt-contact-form__field {
	display: grid;
	gap: 0.35rem;
}

.evt-contact-form__row--name-email {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}

@media (min-width: 480px) {
	.evt-contact-form__row--name-email {
		grid-template-columns: 1fr 1fr;
	}
}

.evt-contact-form__field--checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 600;
}

.evt-contact-form__honeypot {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.evt-contact-form__label--visually-hidden {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.evt-contact-form input[type="text"],
.evt-contact-form input[type="email"],
.evt-contact-form textarea {
	width: 100%;
	box-sizing: border-box;
}

.evt-contact-form .is-error {
	border-color: #d74043;
}

.evt-contact-form__error {
	margin: 0;
	color: #d74043;
	font-size: 0.9em;
}

.evt-contact-form__notice {
	padding: 0.75rem 1rem;
	border-left: 4px solid currentColor;
	border-radius: 12px;
	max-width: 620px;
	box-sizing: border-box;
	margin-bottom: 0.5em;
}

.evt-contact-form__notice--success {
	background: #edfaef;
	color: #007017;
}

.evt-contact-form__notice--error {
	background: #fcf0f1;
	color: #d74043;
}

.evt-contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 0.5rem;
	cursor: pointer;
}

.evt-contact-form.is-busy .evt-contact-form__submit {
	cursor: wait;
}

.evt-contact-form__spinner {
	width: 1rem;
	height: 1rem;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: evt-contact-form-spin 0.7s linear infinite;
	flex-shrink: 0;
}

.evt-contact-form.is-busy input,
.evt-contact-form.is-busy textarea {
	opacity: 0.7;
}

@keyframes evt-contact-form-spin {
	to {
		transform: rotate(360deg);
	}
}

.evt-contact-form__turnstile {
	min-height: 0;
}
