/* MH Forms — frontend. Override via theme / Elementor custom CSS. Variables make it easy. */
.mhf-form{--mhf-gap:16px;--mhf-radius:6px;--mhf-border:#d0d5dd;--mhf-focus:#2271b1;--mhf-btn-bg:#111;--mhf-btn-color:#fff;--mhf-error:#c0392b;--mhf-success-bg:#e8f5e9;--mhf-success-color:#1b5e20;--mhf-font-size:15px;max-width:100%;font-size:var(--mhf-font-size)}
.mhf-form *,.mhf-form *::before,.mhf-form *::after{box-sizing:border-box}
.mhf-fields{display:flex;flex-wrap:wrap;gap:var(--mhf-gap);margin:0 0 var(--mhf-gap)}
.mhf-field{flex:0 0 100%;min-width:0;margin:0}
.mhf-w-half{flex:0 0 calc(50% - var(--mhf-gap)/2)}
@media (max-width:600px){.mhf-w-half{flex:0 0 100%}}
.mhf-field.mhf-hidden{display:none}
.mhf-field fieldset{border:0;padding:0;margin:0;min-width:0}
.mhf-label{display:block;font-weight:600;margin:0 0 6px;line-height:1.3}
.mhf-req{color:var(--mhf-error)}
.mhf-form .mhf-field input[type=text],.mhf-form .mhf-field input[type=email],.mhf-form .mhf-field input[type=tel],.mhf-form .mhf-field input[type=number],.mhf-form .mhf-field input[type=date],.mhf-form .mhf-field select,.mhf-form .mhf-field textarea{width:100%;height:auto;min-height:0;margin:0;padding:10px 12px;border:1px solid var(--mhf-border);border-radius:var(--mhf-radius);font:inherit;background:#fff;color:inherit;line-height:1.4;box-shadow:none}
.mhf-form .mhf-field textarea{min-height:120px;resize:vertical}
.mhf-form .mhf-field input:focus,.mhf-form .mhf-field select:focus,.mhf-form .mhf-field textarea:focus{outline:none;border-color:var(--mhf-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--mhf-focus) 20%,transparent)}
.mhf-field input[type=file]{display:block;width:100%;padding:8px 0;font:inherit}
.mhf-choices{display:flex;flex-direction:column;gap:6px}
.mhf-choice{display:flex;align-items:flex-start;gap:8px;font-weight:400;cursor:pointer;margin:0}
.mhf-choice input{margin:4px 0 0;flex:0 0 auto}
.mhf-desc{font-size:.85em;opacity:.7;margin-top:4px}
.mhf-error{color:var(--mhf-error);font-size:.85em;margin-top:4px;display:none}
.mhf-invalid .mhf-error{display:block}
.mhf-invalid input,.mhf-invalid select,.mhf-invalid textarea{border-color:var(--mhf-error)!important}
.mhf-html{margin:0}
.mhf-hp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;overflow:hidden}
.mhf-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mhf-form .mhf-btn{display:inline-block;margin:0;padding:12px 26px;border:0;border-radius:var(--mhf-radius);background:var(--mhf-btn-bg);background-image:none;color:var(--mhf-btn-color);font:inherit;font-weight:600;text-transform:none;letter-spacing:normal;box-shadow:none;height:auto;min-height:0;cursor:pointer;line-height:1.2;transition:opacity .15s,background-color .15s,color .15s}
.mhf-form .mhf-btn:hover{opacity:.85}
.mhf-form .mhf-btn:disabled{opacity:.6;cursor:wait}
.mhf-form .mhf-btn-back{background:transparent;color:inherit;border:1px solid var(--mhf-border)}
.mhf-msg{margin-top:14px;display:none;padding:12px 14px;border-radius:var(--mhf-radius);line-height:1.4}
.mhf-msg-success{display:block;background:var(--mhf-success-bg);color:var(--mhf-success-color)}
.mhf-msg-error{display:block;background:#fdecea;color:var(--mhf-error)}
.mhf-step{display:none}.mhf-step.active{display:block}
.mhf-progress{list-style:none;display:flex;gap:0;margin:0 0 var(--mhf-gap);padding:0;counter-reset:none}
.mhf-progress li{flex:1;display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:3px solid var(--mhf-border);opacity:.5;font-size:.9em}
.mhf-progress li.active{opacity:1;border-bottom-color:var(--mhf-btn-bg)}
.mhf-progress li.done{opacity:.8;border-bottom-color:var(--mhf-btn-bg)}
.mhf-progress-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--mhf-border);font-size:.8em;font-weight:700}
.mhf-progress li.active .mhf-progress-num,.mhf-progress li.done .mhf-progress-num{background:var(--mhf-btn-bg);color:var(--mhf-btn-color)}
.mhf-recaptcha-note{font-size:.75em;opacity:.6;margin:10px 0 0}
.mhf-turnstile{margin-bottom:var(--mhf-gap)}
.mhf-busy{opacity:.8;pointer-events:none}
