/* Project-owned integration. Keep WPForms markup intact: AJAX replaces button text. */
body .wpforms-container.wpforms-container-full {
	color: var(--zkbw-form-text-color, var(--wp--preset--color--zkbw-ink));
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(
		.wpforms-field-label,
		.wpforms-field-sublabel,
		.wpforms-field-label-inline,
		.wpforms-field-description
	) {
	color: var(--zkbw-form-text-color, var(--wp--preset--color--zkbw-ink));
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	.wpforms-field-label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

/* Input text stays dark on the existing light field surface, independently of labels. */
body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(
		input[type='text'],
		input[type='email'],
		input[type='url'],
		input[type='tel'],
		input[type='number'],
		input[type='password'],
		input[type='search'],
		textarea,
		select
	) {
	background-color: var(--wp--preset--color--zkbw-surface-rose);
	border-radius: 0;
	color: var(--wp--preset--color--zkbw-ink);
}

/* CSS-only CTA adapter: arrows survive loading text, validation and AJAX updates. */
body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button) {
	--zkbw-form-arrow-offset: calc(1.8125rem + var(--wp--preset--spacing--xs));
	--zkbw-form-underline-height: 0.1875rem;
	align-items: center;
	appearance: none;
	background-color: transparent;
	background-image: linear-gradient(
		var(--wp--preset--color--zkbw-brand-accent),
		var(--wp--preset--color--zkbw-brand-accent)
	);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: calc(100% - var(--zkbw-form-arrow-offset))
		var(--zkbw-form-underline-height);
	block-size: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--zkbw-form-text-color, var(--wp--preset--color--zkbw-ink));
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--zkbw-cta);
	font-weight: 400;
	gap: var(--wp--preset--spacing--xs);
	inline-size: fit-content;
	line-height: 1.36;
	max-inline-size: 100%;
	min-block-size: 2.75rem;
	padding: 0;
	text-align: start;
	text-decoration: none;
	transition: background-size 0.2s ease-out;
	white-space: normal;
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button)::before {
	background: currentcolor;
	block-size: 0.4375rem;
	content: '';
	flex: none;
	inline-size: 1.8125rem;
	margin-block-start: 0.375rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 7'%3E%3Cpath d='M22.3019 7V4.375H0V2.63636H22.3019V0L29 3.5L22.3019 7Z'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	button.wpforms-page-prev::before {
	transform: rotate(180deg);
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button)::after {
	content: none;
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button):not(:disabled):not(
		.wpforms-disabled
	):is(:hover, :focus-visible) {
	--zkbw-form-underline-height: 1.25rem;
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button):focus-visible {
	outline: 0.125rem solid currentcolor;
	outline-offset: 0.25rem;
}

body
	.wpforms-container.wpforms-container-full
	form.wpforms-form
	:is(button.wpforms-submit, button.wpforms-page-button):is(
		:disabled,
		.wpforms-disabled
	) {
	cursor: wait;
	opacity: 0.65;
}

@media (prefers-reduced-motion: reduce) {
	body
		.wpforms-container.wpforms-container-full
		form.wpforms-form
		:is(button.wpforms-submit, button.wpforms-page-button) {
		transition: none;
	}
}
