.cmf-form-wrapper {
	margin: 0 auto;
	background: #fff;
	border-radius: 6px;
	padding: 10px;
	border: 1px solid #e4e4e4;
}
.cmf-title {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 12px;
}

.cmf-field {
	margin-bottom: 14px;
}
.cmf-field input,
.cmf-field textarea {
	width: 100%;
	padding: 8px 16px !important;
	border: 1px solid #E4E4E4 !important;
	border-radius: 6px;
	background: #fff;
	font-size: 12px;
	box-sizing: border-box;
	font-family: inherit;
	transition: border-color 0.2s ease;
}
.cmf-field textarea {
	resize: vertical;
}

.cmf-field input:focus,
.cmf-field textarea:focus {
	outline: none;
	border-color: #E85517 !important;
}

/* Error state */
.cmf-field.has-error input,
.cmf-field.has-error textarea {
	border-color: #b32d2e !important;
}

/* Valid state */
.cmf-field.is-valid input,
.cmf-field.is-valid textarea {
	border-color: #1e7a34 !important;
}

.cmf-field-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
}

.cmf-error {
/* 	display: block; */
	min-height: 14px;
	font-size: 12px;
	color: #b32d2e;
	margin-top: 4px;
}

.cmf-char-count {
	font-size: 11px;
	color: #999;
	white-space: nowrap;
	margin-top: 4px;
}
.cmf-char-count.is-near-limit {
	color: #b32d2e;
}

.cmf-submit-btn {
	width: 100%;
	background: #E85517;
	color: #fff;
	border: none;
	border-radius: 30px;
	padding: 12px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.cmf-submit-btn:hover {
	background: #f76d32;
}
.cmf-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.cmf-spinner {
	display: none;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255,255,255,0.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: cmf-spin 0.7s linear infinite;
}
.cmf-submit-btn.is-loading .cmf-spinner {
	display: inline-block;
}

@keyframes cmf-spin {
	to { transform: rotate(360deg); }
}

.cmf-message {
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 14px;
	font-size: 14px;
}
.cmf-message.success {
	background: #e7f7ec;
	color: #1e7a34;
}
.cmf-message.error {
	background: #fdeaea;
	color: #b32d2e;
}

@keyframes cmf-shake {
	10%, 90% { transform: translateX(-1px); }
	20%, 80% { transform: translateX(2px); }
	30%, 50%, 70% { transform: translateX(-4px); }
	40%, 60% { transform: translateX(4px); }
}
.cmf-field.cmf-shake {
	animation: cmf-shake 0.4s ease;
}