.dvf-form-wrap { max-width:720px; margin:24px auto; }
.dvf-form { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:24px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.dvf-field { margin-bottom:18px; }
.dvf-field-label { display:block; font-weight:700; margin-bottom:7px; color:#111827; }
.dvf-required { color:#dc2626; }
.dvf-field input[type="text"], .dvf-field input[type="email"], .dvf-field input[type="number"], .dvf-field input[type="date"], .dvf-field input[type="file"], .dvf-field select, .dvf-field textarea { width:100%; box-sizing:border-box; border:1px solid #d1d5db; border-radius:10px; padding:11px 12px; font-size:15px; background:#fff; }
.dvf-field textarea { min-height:120px; resize:vertical; }
.dvf-help { margin:6px 0 0; color:#6b7280; font-size:13px; }
.dvf-choice-group { display:grid; gap:8px; }
.dvf-choice-group label, .dvf-consent { display:flex; gap:8px; align-items:flex-start; }
.dvf-submit-button { background:#1d4ed8; color:#fff; border:0; border-radius:999px; padding:12px 22px; font-weight:700; cursor:pointer; }
.dvf-submit-button:hover { filter:brightness(.95); }
.dvf-message { border-radius:12px; padding:12px 14px; margin:16px 0; }
.dvf-error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.dvf-hp-wrap { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }
.dvf-success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.dvf-choice-item { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:8px; margin:8px 0; }
.dvf-choice-copy { display:grid; gap:2px; line-height:1.35; }
.dvf-choice-copy strong { font-weight:700; }
.dvf-choice-copy span { color:#5f6974; }
.dvf-training-choice-group .dvf-choice-item { padding:4px 0; }
