.hv-form-wrap { max-width: 720px; margin: 0 auto; padding: 20px; }
.hv-hp { display: none !important; }
.hv-rueckruf-box { background: #f5f5f5; padding: 16px; text-align: center; border-radius: 6px; margin-bottom: 24px; }
.hv-rueckruf-btn { display: inline-flex; align-items: center; gap: 8px; color: #c0392b; font-weight: 600; text-decoration: none; font-size: 1.05em; }
.hv-rueckruf-btn:hover { text-decoration: underline; }
.hv-row { display: flex; gap: 16px; flex-wrap: wrap; }
.hv-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; flex: 1; min-width: 180px; }
.hv-field--full { flex: 0 0 100%; }
.hv-field--grow { flex: 3; }
.hv-field--small { flex: 1; min-width: 80px; max-width: 120px; }
.hv-field label { font-weight: 600; font-size: 0.95em; }
.hv-field input, .hv-field select, .hv-field textarea {
  padding: 10px 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 1em; width: 100%; box-sizing: border-box;
}
.hv-field input:focus, .hv-field select:focus, .hv-field textarea:focus { border-color: #2d6a2d; outline: none; box-shadow: 0 0 0 2px rgba(45,106,45,0.15); }
.hv-req { color: #c0392b; }
.hv-datenschutz label { display: flex; align-items: flex-start; gap: 10px; font-weight: normal; cursor: pointer; }
.hv-datenschutz input[type="checkbox"] { width: auto; margin-top: 3px; flex-shrink: 0; }
.hv-submit-btn {
  width: 100%; padding: 14px; background: #c0392b; color: #fff; border: none; border-radius: 4px;
  font-size: 1.1em; font-weight: 700; cursor: pointer; margin-top: 8px; letter-spacing: 0.3px;
}
.hv-submit-btn:hover { background: #a93226; }
.hv-submit-btn:disabled { opacity: 0.7; cursor: not-allowed; }
.hv-message { margin-top: 12px; padding: 12px 16px; border-radius: 4px; font-weight: 500; }
.hv-message--success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.hv-message--error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
@media (max-width: 480px) {
  .hv-row { flex-direction: column; }
  .hv-field--small { max-width: 100%; }
}
