/* WParaby form — shared by the wpa/form block and the wpa-form Elementor widget. Tokens only. */

.wpa-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wpa-space-30, 1rem);
	margin: 0;
}

.wpa-form__field {
	display: flex;
	flex-direction: column;
	gap: var(--wpa-space-10, 0.5rem);
	flex: 1 1 100%;
	min-width: 0;
	margin: 0;
}

.wpa-form__field.is-width-50 {
	flex-basis: calc(50% - var(--wpa-space-30, 1rem) / 2);
}

@media (max-width: 600px) {
	.wpa-form__field.is-width-50 { flex-basis: 100%; }
}

.wpa-form__label {
	font-family: var(--wpa-font-body, inherit);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--wpa-color-contrast, currentColor);
}

.wpa-form__required { color: var(--wpa-color-primary, currentColor); }

.wpa-form__input {
	box-sizing: border-box;
	width: 100%;
	padding: 0.75em 1em;
	font: inherit;
	font-family: var(--wpa-font-body, inherit);
	line-height: 1.5;
	color: var(--wpa-color-contrast, inherit);
	background: var(--wpa-color-base, #fff);
	border: 1px solid var(--wpa-color-border, currentColor);
	border-radius: var(--wpa-radius-sm, 6px);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wpa-form__input:focus {
	outline: none;
	border-color: var(--wpa-color-primary, currentColor);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpa-color-primary, currentColor) 20%, transparent);
}

.wpa-form__input[aria-invalid="true"] { border-color: #b32d2e; }

textarea.wpa-form__input { resize: vertical; min-height: 8em; }

.wpa-form__actions { flex: 1 1 100%; margin: 0; }

.wpa-form .wpa-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75em 1.6em;
	font-family: var(--wpa-font-heading, inherit);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wpa-color-base, #fff);
	background: var(--wpa-color-primary, #000);
	border: 0;
	border-radius: var(--wpa-radius-sm, 6px);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.wpa-form .wpa-form__submit:hover { background: var(--wpa-color-secondary, #000); }

.wpa-form__submit:focus-visible {
	outline: 2px solid var(--wpa-color-accent, currentColor);
	outline-offset: 2px;
}

.wpa-form__submit[disabled] { opacity: 0.7; cursor: progress; }

.wpa-form__status {
	flex: 1 1 100%;
	margin: 0;
	padding: 0.75em 1em;
	border-radius: var(--wpa-radius-sm, 6px);
	background: var(--wpa-color-base-2, transparent);
	color: var(--wpa-color-contrast, inherit);
}

.wpa-form__status.is-success { background: color-mix(in srgb, var(--wpa-color-secondary, green) 12%, var(--wpa-color-base, #fff)); }
.wpa-form__status.is-error { background: color-mix(in srgb, #b32d2e 10%, var(--wpa-color-base, #fff)); }

.wpa-form__hp {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
