/**
 * Vertical AI Signup — scoped form styling. Loaded only on pages containing
 * [vertical_ai_signup]. Uses the site's shared design tokens (see Astra
 * Additional CSS) with safe fallbacks so the form still looks correct if
 * loaded on its own.
 */
.vai-signup {
	max-width: 480px;
	margin: 0 auto;
	background: var( --vai-color-surface, #fff );
	border: 1px solid var( --vai-color-border, #e4e7ec );
	border-radius: var( --vai-radius, 12px );
	padding: 32px;
}

.vai-signup__field {
	margin-bottom: 20px;
}

.vai-signup__field label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	color: var( --vai-color-ink, #101828 );
}

.vai-signup__required {
	color: #b42318;
}

.vai-signup__field input[type='text'],
.vai-signup__field input[type='email'] {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font-size: 16px;
	border: 1px solid var( --vai-color-border, #d0d5dd );
	border-radius: var( --vai-radius-sm, 8px );
	background: #fff;
	color: var( --vai-color-ink, #101828 );
}

.vai-signup__field input[type='text']:focus,
.vai-signup__field input[type='email']:focus {
	outline: 2px solid var( --vai-color-primary, #1b4b91 );
	outline-offset: 1px;
}

.vai-signup__field--checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.vai-signup__field--checkbox input {
	margin-top: 4px;
	flex-shrink: 0;
}

.vai-signup__field--checkbox label {
	font-weight: 400;
	margin-bottom: 0;
}

.vai-signup__field--checkbox a {
	color: var( --vai-color-primary, #1b4b91 );
	text-decoration: underline;
}

.vai-signup__error {
	color: #b42318;
	font-size: 14px;
	margin: 6px 0 0;
}

.vai-signup__form-error {
	background: #fef3f2;
	border: 1px solid #fecdca;
	color: #b42318;
	border-radius: var( --vai-radius-sm, 8px );
	padding: 12px 14px;
	font-size: 14px;
	margin: 0 0 20px;
}

.vai-signup__submit {
	display: block;
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	background: var( --vai-color-primary, #1b4b91 );
	border: none;
	border-radius: var( --vai-radius-sm, 8px );
	cursor: pointer;
}

.vai-signup__submit:hover,
.vai-signup__submit:focus-visible {
	background: var( --vai-color-primary-hover, #143a73 );
}

.vai-signup__submit:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.vai-signup__note {
	margin: 14px 0 0;
	font-size: 13px;
	color: var( --vai-color-muted, #667085 );
	text-align: center;
}

.vai-signup__success {
	max-width: 480px;
	margin: 0 auto;
	background: var( --vai-color-surface-alt, #f8fafc );
	border: 1px solid var( --vai-color-border, #e4e7ec );
	border-radius: var( --vai-radius, 12px );
	padding: 32px;
	text-align: center;
}

.vai-signup__success h3 {
	margin-top: 0;
	color: var( --vai-color-ink, #101828 );
}

.vai-signup__success p {
	color: var( --vai-color-body, #344054 );
	margin-bottom: 0;
}

.vai-signup__dev-notice {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed var( --vai-color-border, #e4e7ec );
}

.vai-signup__dev-notice p {
	font-size: 13px;
	color: #7a5b00;
	margin-bottom: 12px;
}

.vai-signup__dev-link {
	display: inline-block;
	padding: 10px 20px;
	font-weight: 600;
	color: #fff;
	background: var( --vai-color-primary, #1b4b91 );
	border-radius: var( --vai-radius-sm, 8px );
	text-decoration: none;
}

.vai-signup__dev-link:hover,
.vai-signup__dev-link:focus-visible {
	background: var( --vai-color-primary-hover, #143a73 );
}
