/* ============================================================================
 * VIKIPOS — Forms (contacto / demo)
 * ============================================================================ */

.vk-form {
	display: grid;
	gap: 1rem;
	max-width: 620px;
}

.vk-field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.vk-field label {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-dark-muted);
}
.vk-dark .vk-field label { color: var(--color-text-muted); }

.vk-field input,
.vk-field select,
.vk-field textarea {
	appearance: none;
	font-family: var(--font-body);
	font-size: var(--fs-base);
	padding: 12px 14px;
	border: 1px solid #d7d7e0;
	border-radius: var(--radius-sm);
	background: var(--color-bg-light);
	color: var(--color-text-dark);
	transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.vk-field input:focus,
.vk-field select:focus,
.vk-field textarea:focus {
	outline: none;
	border-color: var(--color-accent-primary);
	box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.18);
}
.vk-field textarea { min-height: 140px; resize: vertical; }

.vk-field--row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) {
	.vk-field--row { grid-template-columns: 1fr 1fr; }
}

.vk-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: var(--fs-sm);
	color: var(--color-text-dark-muted);
}
.vk-form__consent input { width: 18px; height: 18px; margin-top: 2px; }

.vk-form__msg {
	padding: 12px 16px;
	border-radius: var(--radius-sm);
	font-size: var(--fs-sm);
	display: none;
}
.vk-form__msg.is-ok { display: block; background: rgba(67, 233, 123, 0.12); color: #0a7a3c; border: 1px solid #bfe9ce; }
.vk-form__msg.is-err { display: block; background: #fff1f1; color: #9f2a2a; border: 1px solid #f3c2c2; }
