.wfc-form-wrap {
	max-width: 640px;
	margin: 0 auto 2rem;
	font-family: inherit;
}

.wfc-form-header {
	margin-bottom: 1.75rem;
	text-align: center;
}

.wfc-form-title {
	margin: 0 0 0.5rem;
	font-size: 1.75rem;
	line-height: 1.3;
	font-weight: 700;
}

.wfc-form-description {
	margin: 0;
	color: #555;
	font-size: 1.05rem;
	line-height: 1.5;
}

.wfc-message {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
}

.wfc-message--success {
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
	color: #2e7d32;
}

.wfc-message--error {
	background: #ffebee;
	border: 1px solid #ef9a9a;
	color: #c62828;
}

.wfc-field {
	margin-bottom: 1.35rem;
}

.wfc-label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	font-size: 1rem;
}

.wfc-required {
	color: #d32f2f;
	margin-left: 0.15rem;
}

.wfc-field-description {
	margin: 0 0 0.4rem;
	font-size: 0.9rem;
	color: #666;
	line-height: 1.4;
}

.wfc-input,
.wfc-textarea,
.wfc-select {
	width: 100%;
	padding: 0.65rem 0.85rem;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1rem;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wfc-input:focus,
.wfc-textarea:focus,
.wfc-select:focus {
	outline: none;
	border-color: #5c6bc0;
	box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.2);
}

.wfc-textarea {
	min-height: 140px;
	resize: vertical;
}

.wfc-form-actions {
	margin-top: 1.75rem;
	text-align: center;
}

.wfc-submit {
	display: inline-block;
	padding: 0.85rem 2rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.15s ease;
}

.wfc-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(57, 73, 171, 0.35);
}

.wfc-submit:active {
	transform: translateY(0);
}

.wfc-error {
	color: #c62828;
}
