.ff-form-wrap{max-width:680px}.ff-form-title{font-size:22px;font-weight:700;margin:0 0 8px}.ff-form-description{color:#6b7280;margin:0 0 20px}.ff-fields{display:flex;flex-wrap:wrap;gap:14px}.ff-col-25{flex:0 0 calc(25% - 11px)}.ff-col-33{flex:0 0 calc(33.33% - 10px)}.ff-col-50{flex:0 0 calc(50% - 7px)}.ff-col-66{flex:0 0 calc(66.66% - 5px)}.ff-col-75{flex:0 0 calc(75% - 4px)}.ff-col-100{flex:0 0 100%}@media (max-width:600px){.ff-col-25,.ff-col-33,.ff-col-50,.ff-col-66,.ff-col-75{flex:0 0 100%}}.ff-field-wrap{min-width:0}.ff-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:5px}.ff-required{color:#ef4444;margin-left:3px}.ff-input,.ff-textarea,.ff-select,.ff-file{display:block;width:100%;padding:10px 14px;font-size:14px;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;font-family:inherit}.ff-input:focus,.ff-textarea:focus,.ff-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgb(79 70 229 / .15)}.ff-input.ff-error,.ff-textarea.ff-error,.ff-select.ff-error{border-color:#ef4444}.ff-textarea{resize:vertical;min-height:100px}.ff-radio-group,.ff-checkbox-group{display:flex;flex-direction:column;gap:8px}.ff-radio-label,.ff-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.ff-radio-label input,.ff-checkbox-label input{width:16px;height:16px;cursor:pointer;accent-color:#4f46e5}.ff-range-wrap{display:flex;align-items:center;gap:12px}.ff-range{flex:1;accent-color:#4f46e5}.ff-range-output{font-size:14px;font-weight:600;color:#4f46e5;min-width:32px;text-align:right}.ff-rating{display:flex;gap:4px}.ff-star{font-size:26px;color:#d1d5db;cursor:pointer;transition:color .1s,transform .1s}.ff-star.active,.ff-star:hover{color:#f59e0b;transform:scale(1.1)}.ff-signature-wrap{border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.ff-signature-canvas{display:block;width:100%;touch-action:none;cursor:crosshair;background:#fafafa}.ff-signature-clear{display:block;width:100%;padding:6px;font-size:12px;color:#6b7280;background:#f9fafb;border:none;border-top:1px solid #e5e7eb;cursor:pointer}.ff-signature-clear:hover{background:#f3f4f6;color:#374151}.ff-address{display:flex;flex-direction:column;gap:8px}.ff-address-row{display:flex;gap:8px}.ff-address-row .ff-input{flex:1}.ff-name-wrap{display:flex;gap:8px}.ff-name-wrap .ff-input{flex:1}.ff-html-block{font-size:14px;color:#374151}.ff-divider{border:none;border-top:1px solid #e5e7eb;margin:4px 0}.ff-help{font-size:12px;color:#9ca3af;display:block;margin-top:5px}.ff-field-error{font-size:12px;color:#ef4444;display:none;margin-top:4px}.ff-field-error.visible{display:block}.ff-submit-wrap{margin-top:6px}.ff-submit-btn{padding:11px 28px;background:var(--wp--preset--color--primary,var(--wp--custom--button--background,#4f46e5));color:var(--wp--preset--color--primary-contrast,var(--wp--custom--button--color,#fff));border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;font-family:inherit}.ff-submit-btn:hover{opacity:.88}.ff-submit-btn:active{transform:scale(.98)}.ff-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ff-response{margin-top:14px;padding:12px 16px;border-radius:6px;font-size:14px;display:none}.ff-response.success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981;display:block}.ff-response.error{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444;display:block}.ff-repeater-add{margin-top:8px;padding:7px 14px;border-radius:5px;background:none;border:1px dashed #4f46e5;color:#4f46e5;font-size:13px;font-weight:600;cursor:pointer}.ff-repeater-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;margin-bottom:8px;position:relative}.ff-repeater-remove{position:absolute;top:8px;right:8px;background:none;border:none;color:#ef4444;cursor:pointer;font-size:16px}.ff-submit-btn.loading::after{content:'';display:inline-block;width:14px;height:14px;border:2px solid rgb(255 255 255 / .4);border-top-color:#fff;border-radius:50%;animation:ff-spin .6s linear infinite;margin-left:8px;vertical-align:middle}@keyframes ff-spin{to{transform:rotate(360deg)}}.g-recaptcha{margin:14px 0 4px}.ff-dropzone{position:relative;border:2px dashed #d1d5db;border-radius:10px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;overflow:hidden;user-select:none}.ff-dropzone:hover,.ff-dropzone.ff-dz-hover{border-color:#6b7280;background:#f3f4f6}.ff-dropzone.ff-dz-over{border-color:inherit;border-style:solid;background:#eef2ff;box-shadow:0 0 0 4px rgb(79 70 229 / .1)}.ff-dropzone.ff-dz-over{border-color:#4f46e5}.ff-dropzone.ff-dz-has-files{border-style:solid;border-color:#10b981;background:#f0fdf4}.ff-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;left:-9999px}.ff-dropzone-body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px 24px;text-align:center;gap:10px}.ff-dropzone-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 22px;background:var(--wp--preset--color--primary,#4f46e5);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .1s;pointer-events:all}.ff-dropzone-btn:hover{opacity:.88}.ff-dropzone-btn:active{transform:scale(.97)}.ff-dropzone-or{font-size:13px;color:#6b7280;margin:0}.ff-dropzone-hint{font-size:11px;color:#9ca3af;margin:0}.ff-dropzone-preview{padding:0 14px 14px;display:flex;flex-wrap:wrap;gap:8px}.ff-dz-file-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:7px 10px;font-size:12px;color:#374151;max-width:240px}.ff-dz-file-chip .ff-dz-thumb{width:34px;height:34px;object-fit:cover;border-radius:4px;flex-shrink:0}.ff-dz-file-chip .ff-dz-icon{font-size:22px;flex-shrink:0}.ff-dz-file-chip .ff-dz-info{min-width:0;flex:1}.ff-dz-file-chip .ff-dz-name{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ff-dz-file-chip .ff-dz-size{color:#9ca3af;font-size:11px}.ff-dz-file-chip .ff-dz-remove{margin-left:auto;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:15px;line-height:1;padding:0;flex-shrink:0;pointer-events:all}.ff-dz-file-chip .ff-dz-remove:hover{color:#ef4444}.ff-dropzone.ff-error{border-color:#ef4444;background:#fff5f5}