.invize-contact-form {
	--invize-contact-form-gap: 1rem;
	--invize-contact-form-field-gap: 0.75rem;
}

.wp-block-invize-contact-form {
	color: var(--wp--preset--color--body-text, var(--invize-color-text, inherit));
}

.invize-contact-form__title {
	margin: 0 0 var(--invize-contact-form-gap);
	color: inherit;
	font: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.invize-contact-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--invize-contact-form-field-gap);
}

.invize-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.invize-contact-form__field--half {
	grid-column: span 1;
}

.invize-contact-form__field:not(.invize-contact-form__field--half) {
	grid-column: 1 / -1;
}

.invize-contact-form__label,
.invize-contact-form__checkbox-label {
	font-weight: 500;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.invize-contact-form__checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.invize-contact-form__input,
.invize-contact-form__textarea,
.invize-contact-form__select,
.invize-contact-form__file {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
}

.invize-contact-form__file-help {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium, 0.90625rem);
	opacity: 0.85;
}

.invize-contact-form__required {
	color: #b32d2e;
}

.invize-contact-form__actions {
	margin-top: var(--invize-contact-form-gap);
}

.invize-contact-form__message {
	margin-top: var(--invize-contact-form-gap);
}

.invize-contact-form__message.is-success {
	color: #007017;
}

.invize-contact-form__message.is-error {
	color: #b32d2e;
}

.invize-contact-form__form.is-submitting .invize-contact-form__submit {
	opacity: 0.7;
	pointer-events: none;
}

.invize-contact-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 640px) {
	.invize-contact-form__fields {
		grid-template-columns: 1fr;
	}

	.invize-contact-form__field--half {
		grid-column: 1 / -1;
	}
}
