/* Shared visual language for contact, recruitment and newsletter forms. */
.mw-form-panel { padding: 3rem; background: #f5f8fa; border-radius: 16px; }
.mw-form-panel h3 { font-weight: 800; color: var(--blue-mw-dark); margin-bottom: 1rem; }
.mw-form label { display: block; margin-bottom: .6rem; padding-left: 10px; font-weight: 600; }
.mw-form .form-group { margin-bottom: 1.5rem; }
.mw-form .form-control { width: 100%; background: white; min-height: 48px; border: 1px solid #ddd; border-radius: 16px; padding: .65rem 1rem; color: var(--main-font-color); }
.mw-form .form-control:focus { border-color: var(--blue-mw-primary); box-shadow: 0 0 0 2px rgba(0, 110, 170, .12); outline: none; }
.mw-form .btn { border-radius: 16px; background: var(--blue-mw-primary); color: white; }
.mw-form .btn:disabled { opacity: .65; cursor: wait; }
.mw-form .mw-form-actions { text-align: right; }
.mw-form-status:not(:empty) { margin: 1.5rem 0 0; padding: 1rem; background: white; border-radius: 4px; }
.mw-form-status[data-state="error"] { color: #a12727; }
.mw-form-status[data-state="success"] { color: #287341; }
.mw-newsletter-form { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; text-align: left; }
.mw-newsletter-field { flex: 1 1 240px; }
@media (max-width: 767px) {
  .mw-form-panel { padding: 1.5rem; }
  .mw-form .mw-form-actions .btn, .mw-newsletter-form .btn { width: 100%; }
}
