/**
 * WSEV public verification form (shortcode) — themed via design tokens.
 */

.wsev-verify-form {
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--wsev-font-body, inherit);
}

.wsev-verify-form__label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wsev-text, #181a12);
}

.wsev-verify-form__row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.wsev-verify-form__input {
	flex: 1 1 240px;
	min-width: 0;
	padding: 14px 15px;
	border: 1px solid var(--wsev-border-strong, #d3d3c4);
	border-radius: var(--wsev-radius-sm, 8px);
	font-size: 14.5px;
	font-family: var(--wsev-font-body, inherit);
	color: var(--wsev-text, #181a12);
	background: var(--wsev-surface-2, #fbfbf7);
	transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.wsev-verify-form__input::placeholder { color: var(--wsev-text-faint, #8b8e80); }

.wsev-verify-form__input:focus {
	outline: none;
	border-color: var(--wsev-accent, #0b8f63);
	background: var(--wsev-surface, #fff);
	box-shadow: 0 0 0 4px var(--wsev-accent-soft, rgba(11, 143, 99, 0.1));
}

.wsev-verify-form__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border: none;
	border-radius: 11px;
	background: var(--wsev-accent-grad, linear-gradient(135deg, #14a574, #0b8f63));
	color: var(--wsev-on-accent, #fff);
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: -0.005em;
	line-height: 1;
	font-family: var(--wsev-font-body, inherit);
	cursor: pointer;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
	box-shadow:
		0 1px 1px rgba(7, 18, 13, 0.10),
		0 3px 8px -2px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		0 10px 22px -8px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		inset 0 1px 0 rgba(255, 255, 255, 0.30),
		inset 0 -1.5px 0 rgba(7, 18, 13, 0.18);
	transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

/* WordPress theme compatibility for shortcode verify buttons */
.wsev-verify-form button.wsev-verify-form__button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	box-sizing: border-box;
	text-transform: none;
	color: var(--wsev-on-accent, #fff) !important;
	background: var(--wsev-accent-grad, linear-gradient(135deg, #14a574, #0b8f63)) !important;
	border: none !important;
	border-radius: 11px !important;
	padding: 14px 24px !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	font-family: var(--wsev-font-body, inherit) !important;
	box-shadow:
		0 1px 1px rgba(7, 18, 13, 0.10),
		0 3px 8px -2px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		0 10px 22px -8px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		inset 0 1px 0 rgba(255, 255, 255, 0.30),
		inset 0 -1.5px 0 rgba(7, 18, 13, 0.18) !important;
}

.wsev-verify-form button.wsev-verify-form__button:hover {
	box-shadow:
		0 2px 2px rgba(7, 18, 13, 0.10),
		0 6px 14px -3px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		0 18px 34px -10px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		inset 0 1px 0 rgba(255, 255, 255, 0.34),
		inset 0 -1.5px 0 rgba(7, 18, 13, 0.18) !important;
}

.wsev-verify-form button.wsev-verify-form__button:active {
	box-shadow: 0 1px 2px rgba(7, 18, 13, 0.12), inset 0 2px 5px rgba(7, 18, 13, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

.wsev-verify-form__button::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 18%, rgba(255, 255, 255, 0.42) 48%, transparent 78%);
	transform: translateX(-130%);
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.wsev-verify-form__button:hover {
	transform: translateY(-2px);
	box-shadow:
		0 2px 2px rgba(7, 18, 13, 0.10),
		0 6px 14px -3px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		0 18px 34px -10px var(--wsev-accent-ring, rgba(11, 143, 99, 0.28)),
		inset 0 1px 0 rgba(255, 255, 255, 0.34),
		inset 0 -1.5px 0 rgba(7, 18, 13, 0.18);
}
.wsev-verify-form__button:hover::before { transform: translateX(130%); }

.wsev-verify-form__button:active {
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(7, 18, 13, 0.12), inset 0 2px 5px rgba(7, 18, 13, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.wsev-verify-form__button:focus-visible { outline: 2px solid var(--wsev-accent, #0b8f63); outline-offset: 2px; }

.wsev-verify-form__button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
	filter: saturate(0.6);
}
.wsev-verify-form__button:disabled::before { display: none; }

.wsev-verify-form__message {
	margin: 14px 0 0;
	padding: 12px 15px;
	border-radius: var(--wsev-radius-sm, 8px);
	font-size: 14px;
	border: 1px solid transparent;
	min-height: 0;
}

.wsev-verify-form__message.is-success {
	background: var(--wsev-valid-bg, #e6f5ee);
	border-color: color-mix(in srgb, var(--wsev-valid, #0b8f63) 35%, transparent);
	color: var(--wsev-valid-text, #066c4a);
}

.wsev-verify-form__message.is-error {
	background: var(--wsev-invalid-bg, #fbeae8);
	border-color: color-mix(in srgb, var(--wsev-invalid, #d6453a) 35%, transparent);
	color: var(--wsev-invalid-text, #ad3127);
}

.wsev-verify-form__message.is-loading {
	background: var(--wsev-surface-3, #f3f3ec);
	border-color: var(--wsev-border, #e4e4d8);
	color: var(--wsev-text-soft, #585b4e);
}

.wsev-verify-form__cta {
	margin: 16px 0 0;
}

.wsev-verify-form.is-demo-used .wsev-verify-form__input,
.wsev-verify-form.is-demo-used .wsev-verify-form__button {
	opacity: 0.72;
	cursor: not-allowed;
}
