.wpcf7,
.wpcf7 form {
	color: var(--av-color-text-muted);
}

.wpcf7 form {
	display: grid;
	gap: var(--av-space-lg);
}

.wpcf7 form label {
	color: var(--av-color-text);
	display: grid;
	font-size: var(--av-font-size-sm);
	font-weight: 700;
	gap: var(--av-space-xs);
	line-height: var(--av-line-height-body);
}

.wpcf7 form label a {
	color: var(--av-color-accent);
}

form p,
.wpcf7 form p {
	margin: 0;
}

.wpcf7 form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.35rem;
	min-inline-size: 0;
}

.wpcf7 form .wpcf7-form-control-wrap[data-name="dsgvo"] {
	display: contents;
	margin-top: 0;
}

.wpcf7 form .wpcf7-form-control {
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
}

.wpcf7 form input[type="date"].wpcf7-form-control {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	inline-size: 100%;
	min-inline-size: 0;
}

.wpcf7 form input[type="date"]::-webkit-date-and-time-value {
	min-block-size: 1.5em;
	text-align: start;
}

.wpcf7 form .av-form-row {
	display: grid;
	gap: var(--av-space-lg);
}

.wpcf7 form .av-form-row-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wpcf7 form textarea {
	min-height: 10rem;
}

.wpcf7 form .wpcf7-acceptance {
	display: block;
}

.wpcf7 form .wpcf7-acceptance label {
	align-items: start;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
		var(--av-color-surface);
	border: 1px solid var(--av-color-border);
	border-radius: var(--av-radius-md);
	display: grid;
	font-size: var(--av-font-size-xs);
	font-weight: 400;
	gap: var(--av-space-sm);
	grid-template-columns: auto 1fr;
	line-height: 1.6;
	padding: 1rem 1.125rem;
}

.wpcf7 form .wpcf7-acceptance input[type="checkbox"] {
	accent-color: var(--av-color-accent);
	block-size: 1.125rem;
	inline-size: 1.125rem;
	margin: 0;
	margin-top: 0.15rem;
}

.wpcf7 form .wpcf7-acceptance input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--av-color-focus);
	outline-offset: 3px;
}

.wpcf7 form .wpcf7-acceptance .wpcf7-list-item {
	display: contents;
	margin: 0;
}

.wpcf7 form .wpcf7-list-item-label {
	color: var(--av-color-text-muted);
	display: block;
}

.wpcf7 form .wpcf7-not-valid {
	border-color: var(--av-color-accent-hover);
	box-shadow:
		inset 0 1px 2px rgba(10, 17, 40, 0.08),
		0 0 0 3px rgba(212, 178, 113, 0.32);
}

.wpcf7 form .wpcf7-submit-wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--av-space-sm);
}

.wpcf7 form .wpcf7-submit {
	align-items: center;
	background: linear-gradient(135deg, #c5a059, #f0d37d 52%, #b8862f);
	border-color: var(--av-color-accent);
	border-radius: 999px;
	box-shadow: 0 14px 30px rgba(197, 160, 89, 0.18);
	color: var(--av-color-bg);
	display: inline-flex;
	justify-content: center;
	min-height: calc(var(--av-button-padding-y) * 2 + 1.5em);
	min-width: 14rem;
	text-align: center;
	white-space: normal;
}

.wpcf7 form .wpcf7-submit:hover,
.wpcf7 form .wpcf7-submit:focus-visible {
	background: linear-gradient(135deg, #d4b271, #f6de93 52%, #c99a3d);
	border-color: var(--av-color-accent-hover);
	box-shadow: 0 18px 38px rgba(197, 160, 89, 0.26);
	color: var(--av-color-bg);
	transform: translateY(-2px);
}

.wpcf7 form .wpcf7-submit:disabled,
.wpcf7 form .wpcf7-submit[disabled] {
	cursor: not-allowed;
	filter: saturate(0.75);
	opacity: 0.7;
}

.wpcf7 form .wpcf7-spinner {
	align-self: center;
	background-color: var(--av-color-accent);
	display: inline-block;
	flex: 0 0 auto;
	margin: 0;
	vertical-align: middle;
}

.wpcf7 form .wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
	border-radius: var(--av-radius-sm);
	font-size: var(--av-font-size-xs);
	line-height: 1.5;
	margin-top: var(--av-space-xs);
	padding: var(--av-space-sm) var(--av-space-md);
}

.wpcf7 form .wpcf7-not-valid-tip {
	color: var(--av-color-accent-hover);
	font-weight: 700;
}

.wpcf7 form .wpcf7-response-output {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
		var(--av-color-surface);
	border: 1px solid var(--av-color-border);
	color: var(--av-color-text);
	margin-bottom: 0;
	margin-top: var(--av-space-xs);
	padding-block: 0.875rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--av-color-accent-hover);
	color: var(--av-color-accent-hover);
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--av-color-accent);
	color: var(--av-color-text);
}

@media (max-width: 544px) {
	.wpcf7 form {
		gap: var(--av-space-md);
	}

	.wpcf7 form .av-form-row {
		gap: var(--av-space-md);
	}

	.wpcf7 form .av-form-row-2 {
		grid-template-columns: 1fr;
	}

	.wpcf7 form .wpcf7-acceptance label {
		padding: 0.9375rem 1rem;
	}

	.wpcf7 form .wpcf7-submit-wrap {
		align-items: stretch;
	}

	.wpcf7 form .wpcf7-submit {
		min-width: 100%;
		width: 100%;
	}
}
