.dmf-form { max-width: 640px; margin: 0 auto; }
.dmf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dmf-col-full { grid-column: 1 / -1; }
.dmf-col-half { grid-column: span 1; }
.dmf-field-wrap { display: flex; flex-direction: column; }
.dmf-field-wrap label { font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.dmf-req { color: #d63638; }
.dmf-form input[type=text],
.dmf-form input[type=email],
.dmf-form input[type=tel],
.dmf-form input[type=number],
.dmf-form input[type=file],
.dmf-form select,
.dmf-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cad0da;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	box-sizing: border-box;
}
.dmf-form textarea { resize: vertical; }
.dmf-form input:focus, .dmf-form select:focus, .dmf-form textarea:focus { outline: none; border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34,113,177,.18); }
.dmf-choices { display: flex; flex-direction: column; gap: 6px; }
.dmf-choice { font-weight: 400; font-size: 14px; }

.dmf-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

.dmf-actions { margin-top: 16px; }
.dmf-submit { width: 100%; padding: 12px 18px; border: 0; border-radius: 9px; background: #2271b1; color: #fff; font-size: 15px; cursor: pointer; }
.dmf-submit:hover { background: #1b5e93; }
.dmf-submit:disabled { opacity: .55; cursor: not-allowed; }
.dmf-submit.dmf-loading { opacity: .7; }

.dmf-form-msg { padding: 12px 14px; border-radius: 8px; margin-bottom: 14px; font-size: 14px; }
.dmf-form-msg.dmf-ok { background: #e7f4ec; color: #1d7a52; border: 1px solid #bfe3cd; }
.dmf-form-msg.dmf-err { background: #faeaea; color: #a32d2d; border: 1px solid #f0c4c4; }

@media (max-width: 600px) {
	.dmf-grid { grid-template-columns: 1fr; }
	.dmf-col-half { grid-column: 1 / -1; }
}
