.ft-form{max-width:680px;margin:0 auto 2rem;padding:1.5rem;background:#fff;border:1px solid #e2e6ea;border-radius:0px;box-shadow:0 2px 10px rgba(0,0,0,.03)}form.ft-form.ft-validate{color:#2f2f2f}.ft-field{margin-bottom:1.25rem}.ft-label{display:block;font-weight:600;margin-bottom:.4rem;color:#1d2327;width:100%}.ft-input{width:100%;padding:.8rem 1rem;border:1px solid #cfd4da;border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.ft-input:focus{border-color:#0073aa;box-shadow:0 0 0 3px rgba(0,115,170,.15);outline:none}.ft-field textarea.ft-input{resize:vertical;min-height:140px}textarea#ft-message{height:100%}.ft-dsgvo{display:flex;align-items:flex-start;gap:.6rem}.ft-dsgvo input[type=checkbox]{margin-top:.4rem}.ft-dsgvo label{font-weight:400;margin-bottom:0;font-size:.9rem;line-height:1.4}.ft-error{color:#b20000;background:#ffecec;border:1px solid #ffb3b3;padding:.8rem 1rem;border-radius:4px;margin:0 0 1rem}.ft-alert{padding:1rem 1.2rem;border-radius:6px;margin-bottom:1.25rem;font-weight:600}.ft-alert-success{color:#0f5132;background:#d1e7dd;border:1px solid #badbcc}.ft-alert-error{color:#842029;background:#f8d7da;border:1px solid #f5c2c7}.ft-message{padding:.9rem 1.1rem;border-radius:2px;margin-bottom:1.25rem;font-weight:600}.ft-message--success{color:#0f5132;background:#d1e7dd;border:1px solid #badbcc}.ft-message--error{color:#842029;background:#f8d7da;border:1px solid #f5c2c7}.ft-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.ft-modal{background:#fff;border-radius:8px;padding:1.5rem;max-width:420px;width:100%;box-shadow:0 15px 35px rgba(0,0,0,.2);text-align:center;border-top:4px solid #0d8c51}.ft-modal--error{border-top-color:#842029}.ft-modal__text{margin:0 0 1.25rem;font-size:1rem;color:#1d2327}.ft-modal__close{display:inline-block;padding:.65rem 1.5rem;border-radius:999px;border:none;background:#0d8c51;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease}.ft-modal__close:hover,.ft-modal__close:focus{opacity:.85;outline:none}.ft-submit{padding:.85rem 2.4rem;background:#f18825;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.1);transition:background .2s ease,box-shadow .2s ease}input#ft-privacy{width:40px}.ft-submit:hover,.ft-submit:focus{background:#0d8c51;box-shadow:0 6px 18px rgba(0,0,0,.12);outline:none}.ft-submit:disabled{background:rgba(241,136,37,.8);cursor:not-allowed;box-shadow:none}.ft-form input,.ft-form select,.ft-form optgroup,.ft-form textarea,.ft-form button{width:100%;box-sizing:border-box}