#kontakt .wpcf7 {
	--ext-cf7-surface: rgba(255, 255, 255, 0.82);
	--ext-cf7-border: rgba(16, 24, 40, 0.12);
	--ext-cf7-border-focus: rgba(6, 106, 171, 0.38);
	--ext-cf7-shadow: 0 24px 55px rgba(15, 23, 42, 0.12);
}

#kontakt .wpcf7 form {
	display: grid;
	gap: 1rem;
}

#kontakt .wpcf7 p {
	margin: 0;
}

#kontakt .wpcf7 label {
	display: block;
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--foreground);
}

#kontakt .wpcf7 input:where(:not([type="submit"]):not([type="checkbox"])),
#kontakt .wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.4rem;
	padding: 0.95rem 1rem;
	border: 1px solid var(--ext-cf7-border);
	border-radius: 18px;
	background: var(--ext-cf7-surface);
	color: var(--wp--preset--color--foreground);
	line-height: 1.5;
	font-size: 1rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
	transition: border-color 0.2s ease, box-shadow 0.2s ease,
		transform 0.2s ease;
}

#kontakt .wpcf7 textarea {
	min-height: 170px;
	resize: vertical;
}

#kontakt .wpcf7 input:where(:not([type="submit"]):not([type="checkbox"])):focus,
#kontakt .wpcf7 textarea:focus {
	border-color: var(--ext-cf7-border-focus);
	box-shadow: 0 0 0 4px rgba(6, 106, 171, 0.12);
	outline: none;
	transform: translateY(-1px);
}

#kontakt .wpcf7-form-control-wrap {
	display: block;
}

#kontakt .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 0.45rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: #b42318;
}

#kontakt .wpcf7 .wpcf7-response-output {
	margin: 0.25rem 0 0;
	padding: 0.9rem 1rem;
	border-radius: 16px;
	border-width: 1px;
	font-size: 0.95rem;
}

#kontakt .wpcf7 form.sent .wpcf7-response-output {
	background: rgba(18, 183, 106, 0.09);
	border-color: rgba(18, 183, 106, 0.28);
	color: #067647;
}

#kontakt .wpcf7 form.failed .wpcf7-response-output,
#kontakt .wpcf7 form.invalid .wpcf7-response-output,
#kontakt .wpcf7 form.spam .wpcf7-response-output,
#kontakt .wpcf7 form.aborted .wpcf7-response-output {
	background: rgba(180, 35, 24, 0.08);
	border-color: rgba(180, 35, 24, 0.24);
	color: #b42318;
}

#kontakt .wpcf7 .wpcf7-spinner {
	margin: 0.75rem 0 0 0.75rem;
}

#kontakt .wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	margin-top: 0.35rem;
	padding: 0.95rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background-color: var(--wp--custom--elements--button--color--background);
	color: var(--wp--custom--elements--button--color--text);
	box-shadow: var(--ext-cf7-shadow);
	font-family: inherit;
	font-size: 1rem;
	font-weight: var(--wp--custom--typography--font-weight--medium);
	line-height: inherit;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease,
		background-color 0.2s ease;
}

#kontakt .wpcf7 input[type="submit"]:hover {
	background-color: var(
		--wp--custom--elements--button--hover--color--background
	);
	color: var(--wp--custom--elements--button--hover--color--text);
	transform: translateY(-1px);
}

#kontakt .wpcf7 input[type="submit"]:focus {
	background-color: var(
		--wp--custom--elements--button--focus--color--background
	);
	color: var(--wp--custom--elements--button--focus--color--text);
	outline-color: var(
		--wp--custom--elements--button--focus--color--background
	);
	outline-width: 2px;
	outline-offset: 3px;
	outline-style: solid;
}

@media (max-width: 781px) {
	#kontakt .wpcf7 input[type="submit"] {
		width: 100%;
	}
}
