{"id":929,"date":"2026-06-30T16:40:30","date_gmt":"2026-06-30T14:40:30","guid":{"rendered":"https:\/\/stafforex.eu\/?page_id=929"},"modified":"2026-06-30T16:45:00","modified_gmt":"2026-06-30T14:45:00","slug":"onrajz-generator","status":"publish","type":"page","link":"https:\/\/stafforex.eu\/de\/onrajz-generator\/","title":{"rendered":"AI \u00d6n\u00e9letrajz"},"content":{"rendered":"        <style>\n    #staffix-cv-neme,\n    #staffix-cv-nemet,\n    #staffix-cv-elerhetoseg,\n    #staffix-cv-doctype,\n    #staffix-cv-lang,\n    #staffix-cv-layout,\n    #staffix-cv-theme,\n    #staffix-cv-szuletesi-datum {\n        height: auto !important;\n        min-height: 0 !important;\n        line-height: 1.4 !important;\n        box-sizing: border-box !important;\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        background-image: url(\"data:image\/svg+xml;charset=UTF-8,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23777' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'\/%3E%3C\/svg%3E\");\n        background-repeat: no-repeat;\n        background-position: right 14px center;\n        padding-right: 38px !important;\n    }\n    \/* A d\u00e1tummez\u0151nek nincs nyila \u2013 ott a jobb oldali extra hely f\u00f6l\u00f6sleges. *\/\n    #staffix-cv-szuletesi-datum {\n        background-image: none;\n        padding-right: 12px !important;\n    }\n    <\/style>\n        <div id=\"staffix-cv-intro-overlay\" style=\"display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:999999;align-items:center;justify-content:center;padding:16px;\">\n        <div style=\"background:#fff;border-radius:20px;max-width:480px;width:100%;padding:32px 28px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);\">\n            <button onclick=\"document.getElementById('staffix-cv-intro-overlay').style.display='none'\" style=\"position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#999;z-index:2;\">\u2715<\/button>\n            <h2 style=\"color:#C0185C;margin:0 12px 12px 0;padding-right:32px;font-size:21px;\">Wie funktioniert der Lebenslauf-Generator?<\/h2>\n            <ul style=\"color:#555;line-height:1.8;padding-left:20px;margin:0 0 16px;\">\n                <li>Gib ein paar Daten an (Position, Erfahrung, Sprachkenntnisse)<\/li>\n                                <li>Sieh dir die kostenlose Vorschau vor der Zahlung an<\/li>\n                <li>Nach der Zahlung ist das vollst\u00e4ndige Dokument in Sekunden fertig<\/li>\n                                <li>Auf Ungarisch und Deutsch erstellbar, als Lebenslauf und\/oder Motivationsschreiben<\/li>\n            <\/ul>\n            <button onclick=\"document.getElementById('staffix-cv-intro-overlay').style.display='none'\" style=\"background:#C0185C;color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-weight:700;font-size:15px;width:100%;\">Verstanden, los geht&#039;s!<\/button>\n        <\/div>\n    <\/div>\n\n    <!-- Fizet\u00e9s ut\u00e1ni st\u00e1tusz-ablak: azonnal, j\u00f3l l\u00e1that\u00f3an (nem csak leg\u00f6rgetve)\n         megmutatja, hogy a fizet\u00e9s sikeres volt \u00e9s a dokumentum k\u00e9sz\u00fcl \u2013 e\n         n\u00e9lk\u00fcl a felhaszn\u00e1l\u00f3 k\u00f6nnyen megijedhetne, hogy \"hol van az\n         \u00f6n\u00e9letrajzom\", ha nem g\u00f6rget le pont addig, am\u00edg a gener\u00e1l\u00e1s\n         lefut. -->\n    <div id=\"staffix-cv-payment-status-overlay\" style=\"display:none;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:999999;align-items:center;justify-content:center;padding:16px;\">\n        <div style=\"background:#fff;border-radius:20px;max-width:440px;width:100%;padding:36px 28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.35);\">\n            <div id=\"staffix-payment-status-spinner\" style=\"font-size:44px;margin-bottom:14px;\">\u23f3<\/div>\n            <h2 id=\"staffix-payment-status-title\" style=\"color:#C0185C;margin:0 0 10px;font-size:20px;\">Zahlung erfolgreich!<\/h2>\n            <p id=\"staffix-payment-status-text\" style=\"color:#555;line-height:1.6;margin:0 0 8px;font-size:15px;\">Dein Dokument wird gerade erstellt (10-20 Sekunden)...<\/p>\n            <p id=\"staffix-payment-status-sub\" style=\"color:#888;line-height:1.5;margin:0;font-size:13px;\">Du erh\u00e4ltst die Rechnung und das fertige Dokument auch per E-Mail.<\/p>\n            <button id=\"staffix-payment-status-close\" onclick=\"document.getElementById('staffix-cv-payment-status-overlay').style.display='none'; document.getElementById('staffix-cv-result').scrollIntoView({behavior:'smooth'});\" style=\"display:none;margin-top:20px;background:#C0185C;color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-weight:700;font-size:15px;width:100%;\">Dokument ansehen \u2192<\/button>\n        <\/div>\n    <\/div>\n    <script>\n    (function() {\n        var isGuest = true;\n        \/\/ Ha \u00e9pp a Stripe-os fizet\u00e9sr\u0151l t\u00e9r\u00fcnk vissza (cv_paid=1 a URL-ben),\n        \/\/ a felhaszn\u00e1l\u00f3 m\u00e1r v\u00e9gigment a teljes folyamaton \u2013 ilyenkor a\n        \/\/ magyar\u00e1z\u00f3 ablak csak zavar\u00f3an felugorna pont akkor, amikor az\n        \/\/ elk\u00e9sz\u00fclt dokumentum\u00e1t v\u00e1rja, ez\u00e9rt ekkor nem jelen\u00edtj\u00fck meg.\n        var isReturningFromPayment = window.location.search.indexOf('cv_paid=1') !== -1;\n        \/\/ Vend\u00e9geknek\/l\u00e1togat\u00f3knak MINDIG megjelenik ez a magyar\u00e1z\u00f3 ablak, amikor\n        \/\/ az \u00f6n\u00e9letrajz-gener\u00e1tor oldal\u00e1ra \u00e9rkeznek \u2013 bejelentkezett munkav\u00e1llal\u00f3knak\n        \/\/ el\u00e9g egyszer (localStorage-jelz\u0151vel), mert \u0151k a profil-kit\u00f6lt\u00e9skor m\u00e1r\n        \/\/ kaptak hasonl\u00f3 t\u00e1j\u00e9koztat\u00e1st.\n        if ( ! isReturningFromPayment && ( isGuest || !localStorage.getItem('staffix_cv_intro_seen') ) ) {\n            document.getElementById('staffix-cv-intro-overlay').style.display = 'flex';\n            if (!isGuest) localStorage.setItem('staffix_cv_intro_seen', '1');\n        }\n    })();\n    <\/script>\n    <div class=\"staffix-cv-generator\" style=\"max-width:680px;margin:0 auto;\">\n        <input type=\"hidden\" id=\"staffix-cv-vendegkent\" value=\"\">\n        <h2 style=\"color:#C0185C;\">Lebenslauf-Generator mit KI-Unterst\u00fctzung<\/h2>\n                        <div id=\"staffix-cv-intro-boxes\">\n        <div style=\"background:#fdf0f5;border:1px solid #f3c0d5;border-radius:10px;padding:14px 16px;margin-bottom:14px;font-size:13.5px;color:#5a2540;line-height:1.55;\">\n            <strong><span class=\"dashicons dashicons-info\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Dies ist ein optionaler, eigenst\u00e4ndiger Zusatzdienst.<\/strong><br>\n                        Das Durchsuchen der Stellenanzeigen, die Bewerbung und die vollst\u00e4ndige Nutzung der STAFFOREX-Plattform sind immer kostenlos und erfordern diesen Dienst nicht. Der KI-Lebenslauf-Generator ist ein separater, kostenpflichtiger, rechtlich eigenst\u00e4ndiger Dienst (keine Arbeitsvermittlung) \u2014 er kann jederzeit \u00fcbersprungen werden.                    <\/div>\n        <p style=\"color:#777;font-size:13px;background:#fff7f9;border:1px solid #f3d4e0;border-radius:10px;padding:10px 14px;\">\n                        <span class=\"dashicons dashicons-money-alt\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Sichere Zahlung \u00fcber Stripe. Die Generierung startet sofort nach erfolgreicher Zahlung.                        <a href=\"https:\/\/stafforex.eu\/de\/arak\/?for=mv\" target=\"_blank\" class=\"sfx-modal-link\" style=\"color:#C0185C;font-weight:700;text-decoration:underline;\">Preise ansehen \u2192<\/a>\n        <\/p>\n        <\/div><!-- \/#staffix-cv-intro-boxes -->\n\n\n                <div style=\"background:#fdf0f5;border:1px solid #f3c0d5;border-radius:10px;padding:14px 18px;margin-bottom:20px;font-size:14px;color:#444;\">\n            <span class=\"dashicons dashicons-lightbulb\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> <strong>Schneller mit Registrierung!<\/strong><br>\n            Wenn du dich registrierst, wird beim n\u00e4chsten Mal alles mit einem Klick ausgef\u00fcllt.            <a href=\"https:\/\/stafforex.eu\/de\/munkavallaloi-regisztracio\/\" style=\"color:#C0185C;font-weight:700;text-decoration:underline;\">Registrieren \u2192<\/a>\n        <\/div>\n\n        <!-- L\u00e9p\u00e9ses vend\u00e9g-form -->\n        <div id=\"staffix-guest-steps\">\n\n            <!-- L\u00e9p\u00e9sjelz\u0151 -->\n            <div style=\"display:flex;justify-content:space-between;margin-bottom:24px;gap:6px;\">\n                                <div class=\"staffix-step-indicator\" data-step=\"1\" style=\"flex:1;text-align:center;padding:8px 4px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;background:#C0185C;color:#fff;\">\n                    1. Pers\u00f6nliche Daten                <\/div>\n                                <div class=\"staffix-step-indicator\" data-step=\"2\" style=\"flex:1;text-align:center;padding:8px 4px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;background:#f0e0e8;color:#999;\">\n                    2. Erfahrung                <\/div>\n                                <div class=\"staffix-step-indicator\" data-step=\"3\" style=\"flex:1;text-align:center;padding:8px 4px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;background:#f0e0e8;color:#999;\">\n                    3. \u00dcber dich                <\/div>\n                            <\/div>\n\n            <!-- 1. l\u00e9p\u00e9s: Szem\u00e9lyes adatok -->\n            <div class=\"staffix-step-panel\" id=\"staffix-step-1\">\n                <div style=\"margin:0 0 20px;text-align:center;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:10px;\">Profilfoto *<\/label>\n                    <label for=\"staffix-cv-foto\" id=\"staffix-photo-preview\" style=\"width:100px;height:100px;border-radius:50%;background:#f0e0e8;border:2px dashed #ddd;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;\">\n                        <span id=\"staffix-photo-placeholder\" style=\"font-size:32px;\"><span class=\"dashicons dashicons-camera\" aria-hidden=\"true\"><\/span><\/span>\n                        <img id=\"staffix-photo-img\" style=\"width:100%;height:100%;object-fit:cover;object-position:center top;display:none;\">\n                    <\/label>\n                    <div id=\"staffix-photo-error\" style=\"display:none;color:#c0392b;font-size:13px;margin-top:4px;font-weight:700;\">Bitte lade ein Profilfoto hoch, um fortzufahren.<\/div>\n                    <!-- JAV\u00cdTVA (v9.152): a f\u00e1jl-input NEM display:none (bizonyos iOS Safari\n                         verzi\u00f3k nem adj\u00e1k vissza megb\u00edzhat\u00f3an a kiv\u00e1lasztott f\u00e1jlt egy ilyen\n                         inputb\u00f3l, ahogy a profil-oldal \"Fot\u00f3 k\u00e9sz\u00edt\u00e9se\" gombj\u00e1n\u00e1l is\n                         kider\u00fclt) \u2014 helyette k\u00e9perny\u0151n k\u00edv\u00fclre pozicion\u00e1ljuk, l\u00e1thatatlanul,\n                         de a <label for> kattint\u00e1s (a fenti k\u00f6r) \u00edgy is szab\u00e1lyosan,\n                         nat\u00edvan megnyitja a v\u00e1laszt\u00f3t. -->\n                    <input type=\"file\" id=\"staffix-cv-foto\" accept=\"image\/*\" style=\"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;\" onchange=\"\n                        var f=this.files[0];\n                        if(!f) return;\n                        \/\/ Azonnali visszajelz\u00e9s, hogy a felhaszn\u00e1l\u00f3 l\u00e1ssa: t\u00f6rt\u00e9nik valami\n                        \/\/ (nagy fot\u00f3kn\u00e1l a feldolgoz\u00e1s p\u00e1r m\u00e1sodpercig is tarthat).\n                        var placeholderEl = document.getElementById('staffix-photo-placeholder');\n                        if (placeholderEl) placeholderEl.innerHTML = 'Verarbeitung...';\n                        var photoErr0 = document.getElementById('staffix-photo-error');\n                        if (photoErr0) photoErr0.style.display = 'none';\n                        var r=new FileReader();\n                        r.onerror = function(){\n                            if (photoErr0) { photoErr0.textContent = 'Das Foto konnte nicht gelesen werden. Bitte versuche ein anderes Foto.'; photoErr0.style.display = 'block'; }\n                            if (placeholderEl) placeholderEl.innerHTML = '<span class=&quot;dashicons dashicons-camera&quot; aria-hidden=&quot;true&quot;><\/span>';\n                        };\n                        r.onload=function(e){\n                            \/\/ A telefonos fot\u00f3k nyersen (t\u00f6m\u00f6r\u00edt\u00e9s n\u00e9lk\u00fcl) gyakran 3-8 MB-osak, ami\n                            \/\/ base64-k\u00e9nt m\u00e9g nagyobb, \u00e9s k\u00f6nnyen t\u00fall\u00e9pi a szerver POST-m\u00e9ret\n                            \/\/ korl\u00e1tj\u00e1t \u2013 emiatt a k\u00e9p csendben elveszhetett. Ez\u00e9rt itt egy\n                            \/\/ <canvas>-szal legfeljebb 600x600 px-re kicsiny\u00edtj\u00fck \u00e9s t\u00f6m\u00f6r\u00edtj\u00fck\n                            \/\/ (JPEG, 80% min\u0151s\u00e9g), miel\u0151tt elk\u00fclden\u00e9nk \u2013 ez b\u0151ven el\u00e9g egy\n                            \/\/ profilk\u00e9p m\u00e9ret\u0171 k\u00e9phez, \u00e9s garant\u00e1ltan kicsi marad a f\u00e1jlm\u00e9ret.\n                            var img = new Image();\n                            img.onerror = function(){\n                                \/\/ Ez akkor fut le, ha a b\u00f6ng\u00e9sz\u0151 nem tudja megjelen\u00edteni a f\u00e1jlt\n                                \/\/ k\u00e9pk\u00e9nt (pl. iPhone HEIC form\u00e1tum bizonyos b\u00f6ng\u00e9sz\u0151kben, vagy\n                                \/\/ s\u00e9r\u00fclt f\u00e1jl) \u2013 ilyenkor NE maradjon n\u00e9ma a hiba.\n                                var photoErr = document.getElementById('staffix-photo-error');\n                                if (photoErr) { photoErr.textContent = 'Dieses Bildformat wird nicht unterst\u00fctzt (z. B. HEIC). Bitte versuche es mit JPG\/PNG oder mache ein neues Foto.'; photoErr.style.display = 'block'; }\n                                if (placeholderEl) placeholderEl.innerHTML = '<span class=&quot;dashicons dashicons-camera&quot; aria-hidden=&quot;true&quot;><\/span>';\n                            };\n                            img.onload = function() {\n                                var maxSize = 600;\n                                var w = img.width, h = img.height;\n                                if (w > h && w > maxSize) { h = Math.round(h * maxSize \/ w); w = maxSize; }\n                                else if (h > maxSize) { w = Math.round(w * maxSize \/ h); h = maxSize; }\n                                var compressed = '';\n                                try {\n                                    var canvas = document.createElement('canvas');\n                                    canvas.width = w; canvas.height = h;\n                                    canvas.getContext('2d').drawImage(img, 0, 0, w, h);\n                                    compressed = canvas.toDataURL('image\/jpeg', 0.85);\n                                } catch (err) { compressed = ''; }\n                                \/\/ JAV\u00cdTVA (v9.150): iOS Safari n\u00e9ha 'data:,' vagy \u00e9rv\u00e9nytelen\/\u00fcres\n                                \/\/ eredm\u00e9nyt ad a canvas-t\u00f6m\u00f6r\u00edt\u00e9sre (nagy kamera-fot\u00f3kn\u00e1l), ami eddig\n                                \/\/ CSENDBEN, k\u00e9p n\u00e9lk\u00fcl \u00e1tjutott. Mostant\u00f3l ha a t\u00f6m\u00f6r\u00edtett k\u00e9p\n                                \/\/ \u00e9rv\u00e9nytelen, visszaes\u00fcnk az eredeti (biztosan \u00e9rv\u00e9nyes) f\u00e1jl-adatra;\n                                \/\/ ha az is \u00e9rv\u00e9nytelen, egy\u00e9rtelm\u0171 hib\u00e1t mutatunk, \u00e9s NEM enged\u00fcnk\n                                \/\/ \u00fcres k\u00e9pet tov\u00e1bb (\u00edgy a folytat\u00e1s-gomb sem enged tov\u00e1bb k\u00e9p n\u00e9lk\u00fcl).\n                                function staffixIsValidPhoto(s) { return s && s.length > 2000 && s.indexOf('data:image') === 0; }\n                                if ( ! staffixIsValidPhoto(compressed) ) { compressed = e.target.result; }\n                                if ( ! staffixIsValidPhoto(compressed) ) {\n                                    window.staffixGuestPhotoBase64 = '';\n                                    var pimg = document.getElementById('staffix-photo-img');\n                                    if (pimg) pimg.style.display = 'none';\n                                    if (placeholderEl) placeholderEl.innerHTML = '<span class=&quot;dashicons dashicons-camera&quot; aria-hidden=&quot;true&quot;><\/span>';\n                                    var perr = document.getElementById('staffix-photo-error');\n                                    if (perr) { perr.textContent = 'Dieses Foto konnte nicht verarbeitet werden. Bitte versuche ein anderes (m\u00f6glichst JPG\/PNG).'; perr.style.display = 'block'; }\n                                    return;\n                                }\n                                document.getElementById('staffix-photo-img').src = compressed;\n                                document.getElementById('staffix-photo-img').style.display = 'block';\n                                if (placeholderEl) placeholderEl.style.display = 'none';\n                                window.staffixGuestPhotoBase64 = compressed;\n                                var photoErr = document.getElementById('staffix-photo-error');\n                                if (photoErr) photoErr.style.display = 'none';\n                            };\n                            img.src = e.target.result;\n                        };\n                        r.readAsDataURL(f);\n                    \">\n                    <small style=\"color:#888;\">Klicke auf den Kreis zum Hochladen<\/small>\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Vollst\u00e4ndiger Name *<\/label>\n                    <input type=\"text\" id=\"staffix-cv-nev\" placeholder=\"z. B. Anna M\u00fcller\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Adresse (optional)<\/label>\n                    <input type=\"text\" id=\"staffix-cv-cim\" placeholder=\"z. B. Hauptstra\u00dfe 1, 1234 Musterstadt\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Land (optional)<\/label>\n                    <input type=\"text\" id=\"staffix-cv-orszag\" placeholder=\"z. B. Ungarn\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Geschlecht (optional \u2013 f\u00fcr die korrekte deutsche Berufsbezeichnung)<\/label>\n                    <select id=\"staffix-cv-neme\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                        <option value=\"\" selected>Keine Angabe<\/option>\n                        <option value=\"male\">M\u00e4nnlich<\/option>\n                        <option value=\"female\">Weiblich<\/option>\n                    <\/select>\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Geburtsdatum (optional)<\/label>\n                    <input type=\"date\" id=\"staffix-cv-szuletesi-datum\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">E-Mail-Adresse *<\/label>\n                    <input type=\"email\" id=\"staffix-cv-email\" placeholder=\"z. B. anna@gmail.com\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Telefonnummer<\/label>\n                    <input type=\"text\" id=\"staffix-cv-telefonszam\" placeholder=\"+36 70 123 4567\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Gesuchte Position(en) *<\/label>\n                    <div style=\"max-height:230px;overflow-y:auto;border:1.5px solid #ddd;border-radius:10px;padding:10px 12px;background:#fafafa;\">\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Szobal\u00e1ny\/Szobafi\u00fa\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerm\u00e4dchen\/-bursch<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Szobal\u00e1ny\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerm\u00e4dchen<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Szobafi\u00fa\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerbursch<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Szobafiu\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerbursch<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Hausdame\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Hausdame<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Housekeeping munkat\u00e1rs\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Housekeeping-Mitarbeiter\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Mosodai dolgoz\u00f3\" onchange=\"staffixUpdatePozicio()\">\n                            <span>W\u00e4schereimitarbeiter\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Felszolg\u00e1l\u00f3\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Kellner\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Felszolg\u00e1l\u00f3 seg\u00e9d\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Hilfskellner\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"F\u0151felszolg\u00e1l\u00f3\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Oberkellner\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Chef de Rang\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Chef de Rang<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Commis de Rang\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Commis de Rang<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Bartender\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Barkeeper\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Sommelier\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Sommelier\/\u00e8re<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Szak\u00e1cs\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Koch\/K\u00f6chin<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Sous Chef\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Sous Chef<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Chef de Partie\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Chef de Partie<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Konyhaf\u0151n\u00f6k\" onchange=\"staffixUpdatePozicio()\">\n                            <span>K\u00fcchenchef\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Pizzaszak\u00e1cs\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Pizzakoch\/-k\u00f6chin<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Cukr\u00e1sz\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Konditor\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Konyhai kiseg\u00edt\u0151\" onchange=\"staffixUpdatePozicio()\">\n                            <span>K\u00fcchenhilfe<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Mosogat\u00f3\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Tellerw\u00e4scher\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Recepci\u00f3s\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Rezeptionist\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"\u00c9jszakai recepci\u00f3s\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Night Auditor<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Port\u00e1s\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Portier<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Wellness asszisztens\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Wellness-Assistent\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Massz\u0151r\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Masseur\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Kozmetikus\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Kosmetiker\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Karbantart\u00f3\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Haustechniker\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"H\u00e1zmester\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Hausmeister<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Kert\u00e9sz\" onchange=\"staffixUpdatePozicio()\">\n                            <span>G\u00e4rtner\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Biztons\u00e1gi \u0151r\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Sicherheitskraft<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"\u00c9tteremvezet\u0151\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Restaurantleiter\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Zimmerm\u00e4dchen\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerm\u00e4dchen<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Zimmerbursch\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Zimmerbursch<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;\">\n                            <input type=\"checkbox\" class=\"staffix-pozicio-cb\" value=\"Oberkellner\/in\" onchange=\"staffixUpdatePozicio()\">\n                            <span>Oberkellner\/in<\/span>\n                        <\/label>\n                                                <label style=\"display:flex;align-items:center;gap:8px;padding:5px 0;font-size:14px;cursor:pointer;border-top:1px solid #e5e5e5;margin-top:4px;padding-top:8px;\">\n                            <input type=\"checkbox\" id=\"staffix-pozicio-egyeb-cb\" onchange=\"staffixUpdatePozicio(); document.getElementById('staffix-pozicio-egyeb-input').style.display=this.checked?'block':'none'; if(this.checked) document.getElementById('staffix-pozicio-egyeb-input').focus();\">\n                            <span>Sonstiges (eigene Bezeichnung)<\/span>\n                        <\/label>\n                        <input type=\"text\" id=\"staffix-pozicio-egyeb-input\" placeholder=\"Gib die Bezeichnung der Position ein\" oninput=\"staffixUpdatePozicio()\" style=\"display:none;margin-top:2px;width:100%;padding:8px;border-radius:6px;border:1px solid #ddd;box-sizing:border-box;font-size:14px;\">\n                    <\/div>\n                    <input type=\"hidden\" id=\"staffix-cv-pozicio\">\n                <\/div>\n                <button type=\"button\" onclick=\"staffixValidateStep1()\" class=\"staffix-btn staffix-btn--primary\" style=\"width:100%;margin-top:8px;\">\n                    Weiter \u2192                <\/button>\n            <\/div>\n\n            <!-- 2. l\u00e9p\u00e9s: Tapasztalat -->\n            <div class=\"staffix-step-panel\" id=\"staffix-step-2\" style=\"display:none;\">\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Deutschkenntnisse<\/label>\n                    <select id=\"staffix-cv-nemet\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;font-size:15px;\">\n                        <option value=\"A1 - alapszint\">A1 \u2013 Grundkenntnisse<\/option>\n                        <option value=\"A2 - kezd\u0151\">A2 \u2013 Anf\u00e4nger<\/option>\n                        <option value=\"B1 - k\u00f6z\u00e9pszint\">B1 \u2013 Mittelstufe<\/option>\n                        <option value=\"B2 - fels\u0151 k\u00f6z\u00e9pszint\">B2 \u2013 Obere Mittelstufe<\/option>\n                        <option value=\"C1 - halad\u00f3\">C1 \u2013 Fortgeschritten<\/option>\n                        <option value=\"anyanyelv\">C2 \/ Muttersprache<\/option>\n                    <\/select>\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Weitere Sprachkenntnisse (optional)<\/label>\n                    <input type=\"text\" id=\"staffix-cv-egyeb-nyelv\" placeholder=\"z. B. Englisch - B1, Italienisch - Grundkenntnisse\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Ab wann bist du verf\u00fcgbar?<\/label>\n                                        <select id=\"staffix-cv-elerhetoseg\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;font-size:15px;\">\n                        <option value=\"Azonnal\">Sofort<\/option>\n                        <option value=\"1 h\u00e9ten bel\u00fcl\">Innerhalb 1 Woche<\/option>\n                        <option value=\"2 h\u00e9ten bel\u00fcl\">Innerhalb 2 Wochen<\/option>\n                        <option value=\"1 h\u00f3napon bel\u00fcl\">Innerhalb 1 Monat<\/option>\n                        <option value=\"\">Nach Vereinbarung (keine Angabe)<\/option>\n                        <option value=\"__egyeb__\">Sonstiges \u2013 ich gebe es an<\/option>\n                    <\/select>\n                    <input type=\"text\" id=\"staffix-cv-elerhetoseg-egyeb\" style=\"display:none;width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;margin-top:8px;\" placeholder=\"z. B. ab 1. M\u00e4rz 2026, oder: f\u00fcr die Saison, ab Mai\">\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">\n                        Fr\u00fchere Arbeitsstellen (mit Datum) *\n                        <span style=\"font-weight:400;font-size:12px;color:#888;\"> \u2013 falls keine: &quot;Keine Berufserfahrung&quot;<\/span>\n                    <\/label>\n                                        <div style=\"font-size:12.5px;color:#777;margin:-2px 0 6px;line-height:1.5;\">\n                        Gib auch den Ort an (Stadt, Land) \u2014 Auslandserfahrung heben wir besonders hervor.                    <\/div>\n                    <textarea id=\"staffix-cv-munkahelyek-step\" rows=\"4\" placeholder=\"2022.03 \u2013 2024.01  Zimmerm\u00e4dchen \u2013 Hotel Alpenhof, S\u00f6lden, \u00d6sterreich\n2020.06 \u2013 2021.12  K\u00fcchenhilfe \u2013 Restaurant GmbH, Budapest\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\"><\/textarea>\n                <\/div>\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Ausbildung \/ Abschluss (optional)<\/label>\n                    <textarea id=\"staffix-cv-tanulmanyok\" rows=\"3\" placeholder=\"2018 \u2013 2022  Berufsschule, Fachrichtung Gastronomie\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\"><\/textarea>\n                <\/div>\n                <div style=\"display:flex;gap:10px;\">\n                    <button type=\"button\" onclick=\"staffixGuestStep(1)\" style=\"flex:1;padding:12px;border-radius:10px;border:1.5px solid #ddd;background:#fff;font-weight:700;cursor:pointer;\">\u2190 Zur\u00fcck<\/button>\n                    <button type=\"button\" onclick=\"staffixGuestStep(3)\" class=\"staffix-btn staffix-btn--primary\" style=\"flex:2;\">Weiter \u2192<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- 3. l\u00e9p\u00e9s: Bemutatkoz\u00e1s -->\n            <div class=\"staffix-step-panel\" id=\"staffix-step-3\" style=\"display:none;\">\n                <div style=\"margin:0 0 16px;\">\n                    <label style=\"font-weight:700;display:block;margin-bottom:6px;\">\u00dcber dich (optional)<\/label>\n                    <textarea id=\"staffix-cv-bemutatkozas\" rows=\"4\" placeholder=\"Ein paar S\u00e4tze \u00fcber dich \u2013 die KI nutzt das f\u00fcr den Einleitungstext.\" style=\"width:100%;padding:12px;border-radius:10px;border:1.5px solid #ddd;box-sizing:border-box;font-size:15px;\"><\/textarea>\n                <\/div>\n                <div style=\"display:flex;gap:10px;\">\n                    <button type=\"button\" onclick=\"staffixGuestStep(2)\" style=\"flex:1;padding:12px;border-radius:10px;border:1.5px solid #ddd;background:#fff;font-weight:700;cursor:pointer;\">\u2190 Zur\u00fcck<\/button>\n                    <button type=\"button\" onclick=\"staffixGuestStep('done')\" class=\"staffix-btn staffix-btn--primary\" style=\"flex:2;\">\u2713 Fertig, weiter zu den Einstellungen!<\/button>\n                <\/div>\n            <\/div>\n\n        <\/div><!-- \/#staffix-guest-steps -->\n\n        <script>\n        function staffixUpdatePozicio() {\n            var vals = Array.prototype.slice.call(document.querySelectorAll('.staffix-pozicio-cb:checked')).map(function(cb){ return cb.value; });\n            var egyebCb = document.getElementById('staffix-pozicio-egyeb-cb');\n            if (egyebCb && egyebCb.checked) {\n                var egyebInput = document.getElementById('staffix-pozicio-egyeb-input');\n                var egyebVal = egyebInput ? egyebInput.value.trim() : '';\n                if (egyebVal) vals.push(egyebVal);\n            }\n            var hidden = document.getElementById('staffix-cv-pozicio');\n            if (hidden) hidden.value = vals.join(', ');\n        }\n\n        function staffixValidateStep1() {\n            if ( ! window.staffixGuestPhotoBase64 ) {\n                var photoErr = document.getElementById('staffix-photo-error');\n                if (photoErr) {\n                    photoErr.style.display = 'block';\n                    photoErr.scrollIntoView({behavior:'smooth', block:'center'});\n                }\n                return;\n            }\n            staffixGuestStep(2);\n        }\n\n        function staffixGuestStep(step) {\n            document.querySelectorAll('.staffix-step-panel').forEach(function(p){ p.style.display='none'; });\n            \/\/ JAV\u00cdTVA (v9.316): a t\u00e1j\u00e9koztat\u00f3 dobozok csak az 1. l\u00e9p\u00e9sn\u00e9l l\u00e1tszanak.\n            var introBoxes = document.getElementById('staffix-cv-intro-boxes');\n            if (introBoxes) introBoxes.style.display = (step === 1) ? 'block' : 'none';\n            document.querySelectorAll('.staffix-step-indicator').forEach(function(ind, i){\n                var active = (step === 'done') ? 3 : step;\n                ind.style.background = (i+1 <= active) ? '#C0185C' : '#f0e0e8';\n                ind.style.color = (i+1 <= active) ? '#fff' : '#999';\n            });\n            if (step === 'done') {\n                document.getElementById('staffix-cv-settings-section').style.display = 'block';\n                document.getElementById('staffix-guest-steps').style.display = 'none';\n                document.getElementById('staffix-cv-settings-section').scrollIntoView({behavior:'smooth'});\n            } else {\n                var panel = document.getElementById('staffix-step-' + step);\n                if (panel) { panel.style.display = 'block'; panel.scrollIntoView({behavior:'smooth'}); }\n            }\n        }\n        <\/script>\n        \n        <div id=\"staffix-cv-settings-section\" style=\"display:none;\">\n            <div style=\"margin:20px 0;\">\n                <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Was m\u00f6chtest du erstellen?<\/label>\n                <select id=\"staffix-cv-doctype\" style=\"width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;\">\n                    <option value=\"cv\">Lebenslauf<\/option>\n                    <option value=\"cover_letter\">Motivationsschreiben<\/option>\n                    <option value=\"both\">Beides (Lebenslauf + Motivationsschreiben)<\/option>\n                <\/select>\n            <\/div>\n            <div style=\"margin:20px 0;\">\n                <label style=\"font-weight:700;display:block;margin-bottom:6px;\">In welcher Sprache?<\/label>\n                <select id=\"staffix-cv-lang\" style=\"width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;\">\n                    <option value=\"hu\">Ungarisch<\/option>\n                    <option value=\"de\">Deutsch<\/option>\n                <\/select>\n            <\/div>\n            <div style=\"margin:20px 0;\" id=\"staffix-cv-template-options\">\n                <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Vorlage Layout<\/label>\n                <select id=\"staffix-cv-layout\" style=\"width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;margin-bottom:10px;\">\n                    <option value=\"sidebar\">Linke Spalte (modern)<\/option>\n                    <option value=\"header\">Obere Kopfzeile<\/option>\n                    <option value=\"classic\">Klassisch (schwarz-wei\u00df)<\/option>\n                    <option value=\"soft\">Pastell (sanft)<\/option>\n                <\/select>\n                <label style=\"font-weight:700;display:block;margin-bottom:6px;\" id=\"staffix-cv-color-label\">Vorlagenfarbe<\/label>\n                <select id=\"staffix-cv-theme\" style=\"width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;\">\n                    <option value=\"bordo\">Rosa (klassisch)<\/option>\n                    <option value=\"sotetkek\">Lavendel (modern)<\/option>\n                    <option value=\"zold\">Mint (frisch)<\/option>\n                    <option value=\"kek\">Blau (klar)<\/option>\n                <\/select>\n            <\/div>\n                        <div style=\"margin:20px 0;\">\n                <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Zus\u00e4tzliche Infos (optional)<\/label>\n                <textarea id=\"staffix-cv-extra\" rows=\"3\" placeholder=\"z.B. eine bestimmte Stelle\/Arbeitgeber\" style=\"width:100%;padding:10px;border-radius:8px;border:1px solid #ddd;box-sizing:border-box;\"><\/textarea>\n            <\/div>\n            <button type=\"button\" id=\"staffix-cv-confirm-settings-btn\" onclick=\"\n                document.getElementById('staffix-cv-final-actions').style.display = 'block';\n                document.getElementById('staffix-cv-confirm-settings-btn').style.display = 'none';\n                staffixCvShowEmail();\n                document.getElementById('staffix-cv-final-actions').scrollIntoView({behavior:'smooth'});\n            \" class=\"staffix-btn staffix-btn--primary\" style=\"width:100%;margin-top:8px;\">\n                Weiter zur Vorschau und Zahlung \u2192            <\/button>\n        <\/div><!-- \/#staffix-cv-settings-section -->\n\n        <!-- Az \u00e1r, az el\u00e1ll\u00e1si-jog nyilatkozat, az el\u0151n\u00e9zet \u00e9s a fizet\u00e9s gomb\n             SZ\u00c1ND\u00c9KOSAN csak a be\u00e1ll\u00edt\u00e1sok (dokumentumt\u00edpus, nyelv, sablon\n             stb.) meger\u0151s\u00edt\u00e9se UT\u00c1N jelenik meg \u2013 \u00edgy senki nem tud v\u00e9letlen\u00fcl\n             r\u00e1kattintani a fizet\u00e9sre, miel\u0151tt v\u00e9gleges\u00edtette volna a\n             v\u00e1laszt\u00e1sait. -->\n        <div id=\"staffix-cv-final-actions\" style=\"display:none;\">\n\n                        <div style=\"text-align:center;font-size:14px;color:#666;margin-bottom:10px;\">\n            Preis: <strong id=\"staffix-cv-price\" style=\"color:#C0185C;font-size:18px;\">15 \u20ac<\/strong>\n            <div style=\"margin-top:4px;\"><a href=\"https:\/\/stafforex.eu\/de\/arak\/?for=mv\" target=\"_blank\" class=\"sfx-modal-link\" style=\"font-size:12px;color:#999;text-decoration:underline;\">Alle Preise ansehen<\/a><\/div>\n        <\/div>\n        \n                        <div style=\"margin:14px 0;padding:12px 14px;background:#fff7f9;border-radius:8px;border:1px solid #f3d4e0;\">\n            <label style=\"display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#555;line-height:1.5;cursor:pointer;margin-bottom:10px;\">\n                <input type=\"checkbox\" id=\"staffix-cv-immediate-consent\" style=\"margin-top:3px;flex-shrink:0;\">\n                <span>Ich verlange ausdr\u00fccklich, dass mit der Ausf\u00fchrung der Dienstleistung unmittelbar nach der Zahlung begonnen wird.<\/span>\n            <\/label>\n            <label style=\"display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#555;line-height:1.5;cursor:pointer;\">\n                <input type=\"checkbox\" id=\"staffix-cv-withdrawal-consent\" style=\"margin-top:3px;flex-shrink:0;\">\n                <span>Ich nehme zur Kenntnis, dass ich mit dem Beginn der sofortigen Ausf\u00fchrung mein 14-t\u00e4giges Widerrufsrecht verliere, da die Erbringung der digitalen Inhalte sofort nach der Zahlung erfolgt.<\/span>\n            <\/label>\n        <\/div>\n        \n        <button type=\"button\" id=\"staffix-cv-preview-btn\" class=\"staffix-btn staffix-btn--secondary\" style=\"width:100%;margin-bottom:10px;\">\n            <span class=\"dashicons dashicons-visibility\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Kostenlose Vorschau        <\/button>\n\n        <div id=\"staffix-cv-preview-box\" style=\"display:none;position:relative;margin-bottom:18px;border:1px solid #eee;border-radius:10px;padding:16px;background:#fafafa;max-height:320px;overflow:hidden;\">\n            <div id=\"staffix-cv-preview-sharp\" style=\"white-space:pre-wrap;font-size:13px;line-height:1.5;color:#333;\"><\/div>\n            <div id=\"staffix-cv-preview-blurred\" style=\"white-space:pre-wrap;font-size:13px;line-height:1.5;color:#333;filter:blur(5px);user-select:none;pointer-events:none;\"><\/div>\n            <div style=\"position:absolute;left:0;right:0;bottom:0;height:65%;background:linear-gradient(to bottom, rgba(250,250,250,0), #fafafa 55%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:0;gap:10px;\">\n                                <button type=\"button\" onclick=\"document.getElementById('staffix-cv-generate-btn').click();\" style=\"background:#C0185C;color:#fff;padding:16px 32px;border-radius:28px;font-size:17px;font-weight:700;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(192,24,92,0.35);\"><span class=\"dashicons dashicons-lock\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Bezahlen f\u00fcr die Vollversion<\/button>\n                                <button type=\"button\" onclick=\"document.getElementById('staffix-cv-preview-box').style.display='none';document.getElementById('staffix-cv-settings-section').scrollIntoView({behavior:'smooth'});\" style=\"background:none;border:none;color:#888;text-decoration:underline;font-size:13px;cursor:pointer;\">\u2190 Zur\u00fcck zur Bearbeitung<\/button>\n            <\/div>\n        <\/div>\n\n                <div id=\"staffix-cv-email-confirm\" style=\"display:none;background:#fff8e1;border-left:4px solid #e0a800;border-radius:8px;padding:12px 14px;margin:0 0 14px;font-size:14px;line-height:1.55;color:#4a3a00;\">\n            <span class=\"dashicons dashicons-email-alt\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span>\n            Das fertige Dokument und die Rechnung senden wir an:            <strong id=\"staffix-cv-email-echo\" style=\"word-break:break-all;\"><\/strong>\n            <button type=\"button\" id=\"staffix-cv-email-fix\" style=\"display:block;margin-top:8px;background:none;border:none;padding:0;color:#7a5b00;font-weight:700;font-size:13px;text-decoration:underline;cursor:pointer;\">Falsch? \u00c4ndern<\/button>\n                        <div id=\"staffix-cv-email-edit\" style=\"display:none;margin-top:10px;\">\n                <input type=\"email\" id=\"staffix-cv-email-new\" inputmode=\"email\" autocapitalize=\"off\" autocorrect=\"off\" spellcheck=\"false\" style=\"width:100%;padding:11px 12px;border-radius:8px;border:1.5px solid #e0a800;box-sizing:border-box;font-size:15px;background:#fff;\">\n                <div id=\"staffix-cv-email-err\" style=\"display:none;color:#c0392b;font-size:13px;margin-top:6px;\"><\/div>\n                <div style=\"display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;\">\n                    <button type=\"button\" id=\"staffix-cv-email-save\" style=\"background:#C0185C;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;\">Speichern<\/button>\n                    <button type=\"button\" id=\"staffix-cv-email-cancel\" style=\"background:#fff;color:#7a5b00;border:1.5px solid #e0a800;border-radius:8px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;\">Abbrechen<\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <button type=\"button\" id=\"staffix-cv-generate-btn\" class=\"staffix-btn staffix-btn--primary\" style=\"width:100%;\">\n                        <span class=\"dashicons dashicons-money-alt\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Bezahlen und generieren                    <\/button>\n\n        <\/div><!-- \/#staffix-cv-final-actions -->\n\n        <script>\n        \/\/ v9.443: a megadott e-mail c\u00edm visszaolvas\u00e1sa a fizet\u00e9s el\u0151tt.\n        function staffixCvShowEmail(){\n            var f = document.getElementById('staffix-cv-email');\n            var box = document.getElementById('staffix-cv-email-confirm');\n            var echo = document.getElementById('staffix-cv-email-echo');\n            if (!f || !box || !echo) return;\n            var v = (f.value || '').trim();\n            if (v === ''){ box.style.display = 'none'; return; }\n            echo.textContent = v;\n            box.style.display = 'block';\n        }\n        (function(){\n            var f      = document.getElementById('staffix-cv-email');\n            var fix    = document.getElementById('staffix-cv-email-fix');\n            var edit   = document.getElementById('staffix-cv-email-edit');\n            var input  = document.getElementById('staffix-cv-email-new');\n            var err    = document.getElementById('staffix-cv-email-err');\n            var save   = document.getElementById('staffix-cv-email-save');\n            var cancel = document.getElementById('staffix-cv-email-cancel');\n            if (!f || !fix || !edit || !input || !save || !cancel) return;\n\n            function openEdit(){\n                input.value = (f.value || '').trim();\n                if (err){ err.style.display = 'none'; err.textContent = ''; }\n                edit.style.display = 'block';\n                fix.style.display  = 'none';\n                input.focus(); input.select();\n            }\n            function closeEdit(){\n                edit.style.display = 'none';\n                fix.style.display  = 'block';\n            }\n            function apply(){\n                var v = (input.value || '').trim();\n                \/\/ Egyszer\u0171 alaki ellen\u0151rz\u00e9s: van sz\u00f6veg, egy kukac, \u00e9s ut\u00e1na pont.\n                if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(v)){\n                    if (err){\n                        err.textContent = \"Das sieht nicht nach einer g\\u00fcltigen E-Mail-Adresse aus.\";\n                        err.style.display = 'block';\n                    }\n                    input.focus();\n                    return;\n                }\n                f.value = v;\n                staffixCvShowEmail();\n                closeEdit();\n            }\n\n            fix.addEventListener('click', openEdit);\n            cancel.addEventListener('click', closeEdit);\n            save.addEventListener('click', apply);\n            input.addEventListener('keydown', function(e){ if (e.key === 'Enter'){ e.preventDefault(); apply(); } });\n            input.addEventListener('input', function(){ if (err) err.style.display = 'none'; });\n            f.addEventListener('input', staffixCvShowEmail);\n        })();\n        <\/script>\n\n        <div id=\"staffix-cv-loading\" style=\"display:none;text-align:center;padding:24px;color:#C0185C;\">\n            \u23f3 <span id=\"staffix-cv-loading-text\">Weiterleitung zur Zahlung...<\/span>\n        <\/div>\n\n        <div id=\"staffix-cv-error\" style=\"display:none;color:#c0392b;background:#fdecea;border-radius:8px;padding:12px;margin-top:16px;\"><\/div>\n\n        <div id=\"staffix-cv-result\" style=\"display:none;margin-top:24px;\">\n            <label style=\"font-weight:700;display:block;margin-bottom:6px;\">Ergebnis (bearbeitbar)<\/label>\n            <textarea id=\"staffix-cv-result-text\" rows=\"16\" style=\"width:100%;padding:14px;border-radius:8px;border:1px solid #ddd;box-sizing:border-box;font-family:inherit;line-height:1.5;\"><\/textarea>\n                                    <button type=\"button\" id=\"staffix-cv-pdf-btn\" class=\"staffix-btn staffix-btn--secondary\" style=\"width:100%;margin-top:12px;\">\n                <span class=\"dashicons dashicons-media-document\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> PDF \u00f6ffnen            <\/button>\n            <button type=\"button\" id=\"staffix-cv-download-btn\" class=\"staffix-btn staffix-btn--secondary\" style=\"width:100%;margin-top:10px;\">\n                <span class=\"dashicons dashicons-download\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Auf meinen Computer herunterladen            <\/button>\n            <div id=\"staffix-cv-download-status\" style=\"text-align:center;font-size:13px;margin-top:6px;\"><\/div>\n                                <\/div>\n    <\/div>\n\n    <script>\n    (function() {\n        var btn       = document.getElementById('staffix-cv-generate-btn');\n        var loading   = document.getElementById('staffix-cv-loading');\n        var loadingTxt= document.getElementById('staffix-cv-loading-text');\n        var errorBox  = document.getElementById('staffix-cv-error');\n        var resultBox = document.getElementById('staffix-cv-result');\n        var resultTxt = document.getElementById('staffix-cv-result-text');\n        var pdfBtn    = document.getElementById('staffix-cv-pdf-btn');\n        var downloadBtn = document.getElementById('staffix-cv-download-btn');\n        var downloadStatus = document.getElementById('staffix-cv-download-status');\n        var saveBtn   = document.getElementById('staffix-cv-save-btn');\n        var saveStatus= document.getElementById('staffix-cv-save-status');\n        var priceEl   = document.getElementById('staffix-cv-price');\n        var docTypeEl = document.getElementById('staffix-cv-doctype');\n        var langEl    = document.getElementById('staffix-cv-lang');\n        var themeEl   = document.getElementById('staffix-cv-theme');\n        var layoutEl  = document.getElementById('staffix-cv-layout');\n        var colorLabel = document.getElementById('staffix-cv-color-label');\n\n        \/\/ Klasszikus elrendez\u00e9sn\u00e9l a sz\u00edn-v\u00e1laszt\u00f3 el van rejtve (nincs \u00e9rtelme)\n        if (layoutEl) {\n            function toggleColorVisibility() {\n                var isClassic = layoutEl.value === 'classic';\n                if (themeEl) themeEl.style.display = isClassic ? 'none' : '';\n                if (colorLabel) colorLabel.style.display = isClassic ? 'none' : '';\n            }\n            layoutEl.addEventListener('change', toggleColorVisibility);\n            toggleColorVisibility();\n        }\n        var previewBtn   = document.getElementById('staffix-cv-preview-btn');\n        var previewBox   = document.getElementById('staffix-cv-preview-box');\n        var previewSharp = document.getElementById('staffix-cv-preview-sharp');\n        var previewBlur  = document.getElementById('staffix-cv-preview-blurred');\n        var lastNev   = '';\n        function getFriendlySeparator(lang) {\n            var label = (lang === 'de') ? 'MOTIVATIONSSCHREIBEN' : 'MOTIV\u00c1CI\u00d3S LEV\u00c9L';\n            return '\\n\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n' + label + '\\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\\n\\n';\n        }\n        var lastType  = 'cv';\n        var lastLang  = 'hu';\n        var prices    = { hu: { cv: 15, cover_letter: 10, both: 20 }, de: { cv: 25, cover_letter: 20, both: 40 } };\n        \/\/ \u00daJ (v9.607): \"Indul\u00e1si id\u0151szakban ingyenes\" m\u00f3d \u2013 ilyenkor az \u00e1rat NEM\n        \/\/ friss\u00edtj\u00fck a szerver \u00e1ltal kirajzolt \"INGYENES\" jelz\u00e9s f\u00f6l\u00e9.\n        var staffixCvFree = false;\n\n        function updatePrice() {\n            if ( staffixCvFree ) return;\n            var t = docTypeEl.value, l = langEl.value;\n            priceEl.textContent = prices[l][t] + ' \u20ac';\n        }\n        docTypeEl.addEventListener('change', updatePrice);\n        langEl.addEventListener('change', updatePrice);\n        updatePrice();\n\n        \/* \u00daJ (v9.526): az \u201eEgy\u00e9b \u2013 be\u00edrom\" v\u00e1laszt\u00e1sn\u00e1l megjelenik a szabad sz\u00f6vegmez\u0151,\n           \u00e9s a bek\u00fcld\u00f6tt \u00e9rt\u00e9k is ONNAN j\u00f6n. \u00dcres v\u00e1laszt\u00e1sn\u00e1l (\u201eMegegyez\u00e9s szerint\")\n           \u00fcres \u00e9rt\u00e9ket k\u00fcld\u00fcnk \u2013 a szerver \u00edrja be a semleges sz\u00f6veget.\n           FONTOS: ez a script egy z\u00e1rt (IIFE) blokkban fut, ez\u00e9rt a kapcsol\u00f3t NEM\n           inline onchange=\"...\"-nal k\u00f6tj\u00fck be (az nem l\u00e1tn\u00e1 a f\u00fcggv\u00e9nyt), hanem itt. *\/\n        (function(){\n            var sel = document.getElementById('staffix-cv-elerhetoseg');\n            var txt = document.getElementById('staffix-cv-elerhetoseg-egyeb');\n            if (!sel || !txt) return;\n            sel.addEventListener('change', function(){\n                var egyeb = (sel.value === '__egyeb__');\n                txt.style.display = egyeb ? 'block' : 'none';\n                if (egyeb) { try { txt.focus(); } catch(e){} } else { txt.value = ''; }\n            });\n        })();\n        function staffixCvElerhetosegErtek() {\n            var sel = document.getElementById('staffix-cv-elerhetoseg');\n            if (!sel) return '';\n            if (sel.value === '__egyeb__') {\n                var txt = document.getElementById('staffix-cv-elerhetoseg-egyeb');\n                return txt ? txt.value.trim() : '';\n            }\n            return sel.value.trim();\n        }\n\n        function collectGuestFieldsInto(formData) {\n                        var guestFields = ['nev','email','telefonszam','pozicio','nemet','egyeb-nyelv','elerhetoseg','bemutatkozas'];\n            var fieldMap = { nev:'nev', email:'email', telefonszam:'telefonszam', pozicio:'pozicio', nemet:'nemet_nyelv', 'egyeb-nyelv':'egyeb_nyelv', elerhetoseg:'elerhetoseg', bemutatkozas:'bemutatkozas' };\n            var hasError = false;\n            guestFields.forEach(function(f) {\n                var el = document.getElementById('staffix-cv-' + f);\n                if (!el) return;\n                var val = (f === 'elerhetoseg') ? staffixCvElerhetosegErtek() : el.value.trim();\n                if ((f === 'nev' || f === 'pozicio' || f === 'email') && !val) hasError = true;\n                formData.append(fieldMap[f], val);\n            });\n            \/\/ v9.371: a nem megad\u00e1sa OPCION\u00c1LIS \u2013 nem blokkolja a k\u00fcld\u00e9st, ha \u00fcres.\n            \/\/ Munkahelyek a l\u00e9p\u00e9ses formb\u00f3l (step formban \u00e1tnevezett mez\u0151)\n            var munkahelyekStep = document.getElementById('staffix-cv-munkahelyek-step');\n            formData.append('munkahelyek', munkahelyekStep ? munkahelyekStep.value.trim() : '');\n            return hasError;\n                    }\n\n        previewBtn.addEventListener('click', function() {\n            errorBox.style.display = 'none';\n            previewBtn.disabled = true;\n            previewBtn.textContent = '\u23f3 Vorschau wird erstellt...';\n\n            var formData = new FormData(); \/\/ v9.484: FormData kell, hogy a fot\u00f3 val\u00f3di f\u00e1jlk\u00e9nt mehessen\n            formData.append('action', 'staffix_cv_preview');\n            formData.append('doc_type', docTypeEl.value);\n            formData.append('lang', langEl.value);\n            formData.append('extra', document.getElementById('staffix-cv-extra') ? document.getElementById('staffix-cv-extra').value : '');\n            var munkahelyek_el = document.getElementById('staffix-cv-munkahelyek') || document.getElementById('staffix-cv-munkahelyek-step');\n            var munkahelyek_val = munkahelyek_el ? munkahelyek_el.value.trim() : '';\n            formData.append('munkahelyek', munkahelyek_val);\n            var tanulmanyok_el = document.getElementById('staffix-cv-tanulmanyok');\n            formData.append('tanulmanyok', tanulmanyok_el ? tanulmanyok_el.value.trim() : '');\n            staffixAppendPhotoPart(formData, window.staffixGuestPhotoBase64 || '');\n            formData.append('cim', document.getElementById('staffix-cv-cim') ? document.getElementById('staffix-cv-cim').value.trim() : '');\n            formData.append('orszag', document.getElementById('staffix-cv-orszag') ? document.getElementById('staffix-cv-orszag').value.trim() : '');\n            formData.append('neme', document.getElementById('staffix-cv-neme') ? document.getElementById('staffix-cv-neme').value : '');\n            formData.append('szuletesi_datum', document.getElementById('staffix-cv-szuletesi-datum') ? document.getElementById('staffix-cv-szuletesi-datum').value : '');\n            formData.append('vendegkent', document.getElementById('staffix-cv-vendegkent') ? document.getElementById('staffix-cv-vendegkent').value : '');\n            formData.append('nonce', 'c745bd5cea');\n\n            if ( ! munkahelyek_val && docTypeEl.value !== 'cover_letter' ) {\n                previewBtn.disabled = false;\n                previewBtn.innerHTML = '<span class=\"dashicons dashicons-visibility\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Kostenlose Vorschau';\n                errorBox.textContent = 'Bitte f\u00fclle das Feld f\u00fcr fr\u00fchere Arbeitsstellen aus. Falls keine Erfahrung: Keine Berufserfahrung';\n                errorBox.style.display = 'block';\n                if (munkahelyek_el) { munkahelyek_el.style.borderColor = '#c0392b'; munkahelyek_el.scrollIntoView({behavior:'smooth', block:'center'}); }\n                return;\n            }\n            if (munkahelyek_el) munkahelyek_el.style.borderColor = '#ddd';\n\n            if (collectGuestFieldsInto(formData)) {\n                previewBtn.disabled = false;\n                previewBtn.innerHTML = '<span class=\"dashicons dashicons-visibility\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Kostenlose Vorschau';\n                errorBox.textContent = 'Bitte gib zumindest deinen Namen und die gesuchte Position an.';\n                errorBox.style.display = 'block';\n                return;\n            }\n\n            \/\/ v9.499: az el\u0151n\u00e9zet jelz\u00e9se a t\u00e1rol\u00f3ban, M\u00c9G a f\u00fcl megnyit\u00e1sa el\u0151tt \u2013\n            \/\/ \u00edgy az el\u0151n\u00e9zet-oldal tudja, hogy k\u00e9sz\u00fcl valami, \u00e9s v\u00e1rakoz\u00f3 \u00fczenetet mutat.\n            try {\n                localStorage.setItem('staffix_cv_preview_state', 'pending');\n                localStorage.removeItem('staffix_cv_preview_html');\n                localStorage.removeItem('staffix_cv_preview_error');\n            } catch (e) {}\n\n            \/\/ iOS Safari fix: ablak SZINKRON nyit\u00e1sa a kattint\u00e1s pillanat\u00e1ban.\n            \/\/ v9.499: m\u00e1r NEM \u00fcres ablakot nyitunk, hanem egy VAL\u00d3DI c\u00edmet \u2013 \u00edgy az\n            \/\/ el\u0151n\u00e9zet friss\u00edt\u00e9s (vagy v\u00e9letlen \u201eh\u00fazd le\") ut\u00e1n sem v\u00e9sz el.\n            var previewWin = window.open('https:\/\/stafforex.eu\/de\/onrajz-generator\/?staffix_cv_elonezet=1', '_blank');\n            var useInline = !previewWin; \/\/ ha blokkolva van a popup, az oldalon mutatjuk\n\n            fetch('https:\/\/stafforex.eu\/wp-admin\/admin-ajax.php', { method: 'POST', body: formData })\n                .then(function(r) { return r.json(); })\n                .then(function(d) {\n                    previewBtn.disabled = false;\n                    previewBtn.innerHTML = '<span class=\"dashicons dashicons-visibility\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Kostenlose Vorschau';\n                    if (d.success) {\n                        \/\/ \"Mindkett\u0151\" v\u00e1laszt\u00e1sn\u00e1l az el\u0151n\u00e9zet csak az \u00f6n\u00e9letrajz r\u00e9szt mutatja;\n                        \/\/ a nyers technikai jel\u00f6l\u0151t itt is elt\u00e1vol\u00edtjuk, hogy sose l\u00e1tsz\u00f3djon.\n                        \/\/ v9.512: a jel\u00f6l\u0151 MINDK\u00c9T alakj\u00e1t elfogadjuk, \u00e9s a marad\u00e9kot kitakar\u00edtjuk.\n                        var previewText = d.data.text;\n                        var szepJ = getFriendlySeparator(langEl.value);\n                        if (previewText.indexOf('@@@STAFFOREX_MOTIVACIOS_LEVEL@@@') !== -1) {\n                            previewText = previewText.split('@@@STAFFOREX_MOTIVACIOS_LEVEL@@@')[0];\n                        } else if (previewText.indexOf(szepJ) !== -1) {\n                            previewText = previewText.split(szepJ)[0];\n                        }\n                        previewText = previewText.split('@@@STAFFOREX_MOTIVACIOS_LEVEL@@@').join('').trim();\n                        if (useInline) {\n                            \/\/ Popup blokkolva \u2014 egyszer\u0171 sz\u00f6veges el\u0151n\u00e9zet az oldalon\n                            var sentences = previewText.split('\\n').map(function(l){return l.trim();}).filter(function(l){return l!=='';});\n                            previewSharp.textContent = sentences.slice(0,7).join('\\n');\n                            previewBlur.textContent = sentences.slice(7).join('\\n');\n                            previewBox.style.display = 'block';\n                            return;\n                        }\n                        \/\/ Az el\u0151n\u00e9zet a val\u00f3di sablont mutatja egy \u00faj lapon, az als\u00f3 55%-a elmosva\n                        var fullText = previewText;\n                        var selectedLayout = layoutEl ? layoutEl.value : 'sidebar';\n                        var tc = {\n                            bordo:    { bg: '#9c4f6c', title: '#ffffff', sub: '#f0d9e2', accent: '#9c4f6c', text: '#f5e9ee' },\n                            sotetkek: { bg: '#5a6f9e', title: '#ffffff', sub: '#d7dff2', accent: '#5a6f9e', text: '#eaeef7' },\n                            zold:     { bg: '#4f8a72', title: '#ffffff', sub: '#d3ebe1', accent: '#4f8a72', text: '#e9f5f0' },\n                            kek:      { bg: '#3f74ad', title: '#ffffff', sub: '#cfe1f5', accent: '#3f74ad', text: '#e8f0fa' }\n                        }[themeEl ? themeEl.value : 'bordo'] || { bg: '#b48296', title: '#fff0f6', sub: '#f5d2e1', accent: '#b46482' };\n\n                        function esc2(s) { return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); }\n\n                        var rawLines = fullText.split('\\n').map(function(l){ return l.trim(); }).filter(function(l){ return l !== ''; });\n                        var nev = rawLines[0] || '';\n                        var pozicio = rawLines[1] || '';\n                        var headers = []; var sections = []; var idx = -1;\n                        for (var i = 2; i < rawLines.length; i++) {\n                            var line = rawLines[i];\n                            var isHdr = line.length >= 2 && line.length <= 40 && line === line.toUpperCase() && \/[A-Z\u00c1\u00c9\u00cd\u00d3\u00d6\u0150\u00da\u00dc\u0170\u00c4]\/.test(line);\n                            if (isHdr && idx < 4) { idx++; headers[idx] = line; sections[idx] = ''; }\n                            else if (idx >= 0) { sections[idx] = (sections[idx] ? sections[idx] + '\\n' : '') + line; }\n                        }\n                        var hasFullSections = (docTypeEl.value !== 'cover_letter' && sections.length >= 4 && nev);\n\n                        \/\/ v9.499: az el\u0151n\u00e9zet iframe-ben jelenik meg, ez\u00e9rt a gombok a\n                        \/\/ SZ\u00dcL\u0150 oldalon defini\u00e1lt m\u0171veleteket h\u00edvj\u00e1k (staffixCvFizetes \/\n                        \/\/ staffixCvVissza). Ha valami\u00e9rt m\u00e9gis \u00f6n\u00e1ll\u00f3 ablakban futna\n                        \/\/ (t\u00e1rol\u00e1si hiba miatti tartal\u00e9k \u00fat), a r\u00e9gi viselked\u00e9sre es\u00fcnk vissza.\n                        var lockBtnHtml = '<div class=\"unlock-wrap\"><button class=\"lock-badge\" onclick=\"sxFizetes()\"><span class=\"dashicons dashicons-lock\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Bezahlen f\u00fcr die Vollversion<\/button>' +\n                            '<div style=\"margin-top:10px;\"><button onclick=\"sxVissza()\" style=\"background:none;border:none;color:#888;text-decoration:underline;font-size:13px;cursor:pointer;padding:6px;\">\u2190 Zur\u00fcck zur Bearbeitung<\/button><\/div><\/div>';\n\n                        var bodyHtml = '';\n                        \/\/ Dinamikus szekci\u00f3-index-lista: a Tanulm\u00e1nyok mez\u0151t\u0151l f\u00fcgg\u0151en 5 vagy 6\n                        \/\/ szekci\u00f3 is lehet, ez\u00e9rt nem fix sz\u00e1mokra (0,1,2,3,4), hanem a t\u00e9nylegesen\n                        \/\/ felismert fejl\u00e9cek sz\u00e1m\u00e1ra (headers.length) hagyatkozunk.\n                        var lastIdx = headers.length - 1;\n                        var allIdx = headers.map(function(_, i){ return i; });\n                        if (hasFullSections && selectedLayout === 'sidebar') {\n                            \/\/ Az elrendez\u00e9s V\u00c1LTOZATLAN: a sz\u00ednes oldals\u00e1vba az alapadatok\n                            \/\/ (els\u0151 szekci\u00f3) \u00e9s az el\u00e9rhet\u0151s\u00e9g (utols\u00f3 szekci\u00f3) ker\u00fcl \u2013 ez\n                            \/\/ a sablon l\u00e9nyege, ide tartoznak.\n                            var sbHtml = '';\n                            [0, lastIdx].forEach(function(k){ if(!sections[k]) return; sbHtml += '<div class=\"sb-s\"><div class=\"sb-t\">'+esc2(headers[k])+'<\/div><div class=\"sb-x\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                            var mainKeys = allIdx.slice(1, -1).filter(function(k){ return sections[k]; });\n                            var mVisible = '', mLocked = '';\n                            mainKeys.forEach(function(k, i){\n                                var part = '<div class=\"ms\"><div class=\"mt\">'+esc2(headers[k])+'<\/div><div class=\"mx\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>';\n                                if (i === 0) mVisible += part; else mLocked += part;\n                            });\n                            var mHtml = mVisible + (mLocked ? '<div class=\"locked-blur\">'+mLocked+'<\/div>' + lockBtnHtml : '');\n\n                            \/\/ JAV\u00cdTVA (v9.505): BIZTONS\u00c1GI H\u00c1L\u00d3 a f\u0151 oszlopra.\n                            \/\/ A f\u0151 oszlopba a K\u00d6Z\u00c9PS\u0150 szekci\u00f3k ker\u00fclnek (a bemutatkoz\u00e1s, a\n                            \/\/ tapasztalat \u00e9s a nyelvtud\u00e1s). Ha a sz\u00f6veg valami\u00e9rt kevesebb\n                            \/\/ szekci\u00f3ra bomlott, ez a lista \u00fcres maradt \u2013 \u00e9s az el\u0151n\u00e9zetben\n                            \/\/ CSAK a sz\u00ednes oldals\u00e1v l\u00e1tszott, a t\u00e9nyleges \u00f6n\u00e9letrajz-sz\u00f6veg\n                            \/\/ sehol. Az oldals\u00e1v tartalm\u00e1n NEM v\u00e1ltoztatunk (az alapadatok\n                            \/\/ oda val\u00f3k); ilyenkor a f\u0151 oszlopba egyszer\u0171en ki\u00edrjuk a\n                            \/\/ dokumentum sz\u00f6veg\u00e9t, hogy semmi ne vesszen el.\n                            if (!mHtml) {\n                                var maradek = rawLines.slice(2).join('\\n').trim();\n                                if (maradek) {\n                                    mHtml = '<div class=\"ms\"><div class=\"mx\">' + esc2(maradek).replace(\/\\n\/g,'<br>') + '<\/div><\/div>';\n                                }\n                            }\n                                                        var ph = '' || window.staffixGuestPhotoBase64 || '';\n                            bodyHtml = '<div class=\"cv\"><div class=\"sb\" style=\"background:'+tc.bg+';\">'+(ph?'<img decoding=\"async\" class=\"sphoto\" src=\"'+ph+'\">':'')+'<div class=\"snm\">'+esc2(nev)+'<\/div><div class=\"spo\" style=\"color:'+tc.sub+'\">'+esc2(pozicio)+'<\/div>'+sbHtml+'<\/div><div class=\"mn\">'+mHtml+'<\/div><\/div>';\n                        } else if (hasFullSections && selectedLayout === 'header') {\n                            var allKeys = allIdx.filter(function(k){ return sections[k] && headers[k]; });\n                            var aVisible = '', aLocked = '';\n                            allKeys.forEach(function(k, i){\n                                var part = '<div class=\"ms\"><div class=\"mt\" style=\"color:'+tc.accent+';border-color:'+tc.accent+'\">'+esc2(headers[k])+'<\/div><div class=\"mx\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>';\n                                if (i === 0) aVisible += part; else aLocked += part;\n                            });\n                            var allHtml = aVisible + (aLocked ? '<div class=\"locked-blur\">'+aLocked+'<\/div>' + lockBtnHtml : '');\n                                                        var ph2 = '' || window.staffixGuestPhotoBase64 || '';\n                            bodyHtml = '<div class=\"hdrcv\"><div class=\"hdr\" style=\"background:'+tc.bg+';\">'+(ph2?'<img decoding=\"async\" class=\"hphoto\" src=\"'+ph2+'\">':'')+'<div style=\"flex:1;text-align:center;\"><div class=\"hnm\">'+esc2(nev)+'<\/div><div class=\"hpo\" style=\"color:'+tc.sub+'\">'+esc2(pozicio)+'<\/div><\/div><\/div><div class=\"hbody\">'+allHtml+'<\/div><\/div>';\n                        } else if (hasFullSections && selectedLayout === 'soft') {\n                            \/\/ \u00daJ (v9.688): pasztell \u2013 ugyanaz a szerkezet, mint a \"sidebar\"\n                            \/\/ elrendez\u00e9sn\u00e9l, csak a bal s\u00e1v itt a t\u00e9ma HALV\u00c1NY \u00e1rnyalata\n                            \/\/ (nem a tel\u00edtett sz\u00edn), a feliratok pedig a t\u00e9ma er\u0151s\n                            \/\/ (accent) sz\u00edn\u00e9vel jelennek meg feh\u00e9r helyett.\n                            var sbHtml4 = '';\n                            [0, lastIdx].forEach(function(k){ if(!sections[k]) return; sbHtml4 += '<div class=\"sb-s\"><div class=\"sb-t\" style=\"color:'+tc.bg+';\">'+esc2(headers[k])+'<\/div><div class=\"sb-x\" style=\"color:#555;\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                            var mainKeys4 = allIdx.slice(1, -1).filter(function(k){ return sections[k]; });\n                            var mVisible4 = '', mLocked4 = '';\n                            mainKeys4.forEach(function(k, i){\n                                var part = '<div class=\"ms\"><div class=\"mt\" style=\"color:'+tc.bg+';border-color:'+tc.bg+';\">'+esc2(headers[k])+'<\/div><div class=\"mx\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>';\n                                if (i === 0) mVisible4 += part; else mLocked4 += part;\n                            });\n                            var mHtml4 = mVisible4 + (mLocked4 ? '<div class=\"locked-blur\">'+mLocked4+'<\/div>' + lockBtnHtml : '');\n                            if (!mHtml4) {\n                                var maradek4 = rawLines.slice(2).join('\\n').trim();\n                                if (maradek4) {\n                                    mHtml4 = '<div class=\"ms\"><div class=\"mx\">' + esc2(maradek4).replace(\/\\n\/g,'<br>') + '<\/div><\/div>';\n                                }\n                            }\n                                                        var ph4 = '' || window.staffixGuestPhotoBase64 || '';\n                            bodyHtml = '<div class=\"cv\"><div class=\"sb\" style=\"background:'+tc.text+';color:#333;\">'+(ph4?'<img decoding=\"async\" class=\"sphoto\" src=\"'+ph4+'\">':'')+'<div class=\"snm\" style=\"color:'+tc.bg+';\">'+esc2(nev)+'<\/div><div class=\"spo\" style=\"color:#777;\">'+esc2(pozicio)+'<\/div>'+sbHtml4+'<\/div><div class=\"mn\">'+mHtml4+'<\/div><\/div>';\n                        } else if (hasFullSections && selectedLayout === 'classic') {\n                                                        var ph3 = '' || window.staffixGuestPhotoBase64 || '';\n                            \/\/ JAV\u00cdTVA (v9.212): a fot\u00f3 eddig abszol\u00fat poz\u00edci\u00f3ban \"lebegett\"\n                            \/\/ a jobb fels\u0151 sarokban, ez\u00e9rt keskeny (mobil) k\u00e9perny\u0151n\n                            \/\/ r\u00e1cs\u00faszott a n\u00e9vre \u00e9s az elv\u00e1laszt\u00f3 vonalra. Most a n\u00e9v\n                            \/\/ mellett, rendes elrendez\u00e9sben (flex) jelenik meg, ahogy a\n                            \/\/ let\u00f6lt\u00f6tt\/e-mailben \u00e9rkez\u0151 PDF-en is.\n                            var clHead = '<div class=\"clhead\"><div class=\"clhead-txt\"><div class=\"clnm\">'+esc2(nev)+'<\/div><div class=\"clpo\">'+esc2(pozicio)+'<\/div><\/div>'+(ph3?'<img decoding=\"async\" class=\"clphoto\" src=\"'+ph3+'\">':'')+'<\/div><hr class=\"dbline\">';\n                            var clKeys = allIdx.filter(function(k){ return sections[k] && headers[k]; });\n                            var cVisible = '', cLocked = '';\n                            clKeys.forEach(function(k, i){\n                                var part = '<div class=\"cls\"><div class=\"clt\">'+esc2(headers[k])+'<\/div><hr class=\"clhr\"><div class=\"clx\">'+esc2(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>';\n                                if (i === 0) cVisible += part; else cLocked += part;\n                            });\n                            var clHtml = clHead + cVisible + (cLocked ? '<div class=\"locked-blur\">'+cLocked+'<\/div>' + lockBtnHtml : '');\n                            bodyHtml = '<div class=\"classic\">'+clHtml+'<\/div>';\n                        } else {\n                            var allLines = fullText.split('\\n').map(function(l){ return l.trim(); }).filter(function(l){ return l !== ''; });\n                            var visibleLines = allLines.slice(0, 7);\n                            var lockedLines = allLines.slice(7);\n                            var vtxt = visibleLines.map(function(l){ return '<p>'+esc2(l)+'<\/p>'; }).join('');\n                            var ltxt = lockedLines.map(function(l){ return '<p>'+esc2(l)+'<\/p>'; }).join('');\n                            bodyHtml = '<h1 style=\"color:'+tc.accent+';border-bottom:2px solid '+tc.accent+';padding-bottom:8px;\">'+esc2(d.data.nev||nev)+'<\/h1>'+vtxt+(ltxt ? '<div class=\"locked-blur\">'+ltxt+'<\/div>' + lockBtnHtml : '');\n                        }\n\n                        \/\/ JAV\u00cdTVA (v9.507): innen KIKER\u00dcLT a <meta name=\"viewport\"> sor.\n                        \/\/ A v9.499-ben tettem bele, de az \u00f6n\u00e9letrajz az\u00f3ta egy 820 pixel\n                        \/\/ sz\u00e9les keretben (iframe) jelenik meg, amit ut\u00e1na ar\u00e1nyosan\n                        \/\/ kicsiny\u00edt\u00fcnk. Az iPhone Safari viszont a kereten BEL\u00dcL is\n                        \/\/ figyelembe veszi ezt a sort, \u00e9s a dokumentumot nem a keret 820\n                        \/\/ pixel\u00e9hez, hanem a TELEFON sz\u00e9less\u00e9g\u00e9hez (kb. 390 px) rendezi.\n                        \/\/ Emiatt a 240 pixeles sz\u00ednes oldals\u00e1v mellett a jobb oldali\n                        \/\/ oszlopnak alig 150 pixel maradt, amit a kicsiny\u00edt\u00e9s ut\u00e1n m\u00e1r\n                        \/\/ olvashatatlanul keskeny, \u00fcresnek l\u00e1tsz\u00f3 cs\u00edkk\u00e1 zsugor\u00edtott \u2013\n                        \/\/ pontosan ez volt a \u201enincs sz\u00f6veg\" jelens\u00e9g.\n                        var fullPreviewHtml = ('<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>Vorschau<\/title><style>'+\n                            \/\/ JAV\u00cdTVA (v9.508): a dokumentum sz\u00e9less\u00e9g\u00e9t MAGA A DOKUMENTUM\n                            \/\/ r\u00f6gz\u00edti. Eddig ezt k\u00edv\u00fclr\u0151l, JavaScripttel pr\u00f3b\u00e1ltuk be\u00e1ll\u00edtani a\n                            \/\/ keretbe (iframe), de az iPhone Safari a keret tartalm\u00e1hoz nem\n                            \/\/ mindig enged hozz\u00e1f\u00e9rni id\u0151ben \u2013 ilyenkor a be\u00e1ll\u00edt\u00e1s n\u00e9m\u00e1n\n                            \/\/ elmaradt, a telefon a dokumentumot a saj\u00e1t sz\u00e9less\u00e9g\u00e9hez\n                            \/\/ rendezte, \u00e9s a sz\u00ednes oldals\u00e1v mellett a jobb oldali oszlopnak\n                            \/\/ alig maradt hely: \u00fcresnek l\u00e1tszott. Ez a szab\u00e1ly a dokumentum\n                            \/\/ saj\u00e1t st\u00edluslapj\u00e1ban van, teh\u00e1t MINDIG \u00e9rv\u00e9nyes\u00fcl.\n                            '*{box-sizing:border-box;}html,body{width:820px;min-width:820px;}body{margin:0;font-family:Arial,Helvetica,sans-serif;}'+\n                            \/\/ \u00daJ (v9.509): KESKENY K\u00c9PERNY\u0150N EGYM\u00c1S AL\u00c1. Telefonon eddig a\n                            \/\/ teljes A4-es elrendez\u00e9st kicsiny\u00edtett\u00fck le \u2013 ez viszont a\n                            \/\/ be\u00e1gyazott keretben megb\u00edzhatatlannak bizonyult (a sz\u00ednes\n                            \/\/ oldals\u00e1v megjelent, a jobb oldali oszlop viszont nem). Ha a\n                            \/\/ rendelkez\u00e9sre \u00e1ll\u00f3 hely kevesebb, mint a lap sz\u00e9less\u00e9ge, a\n                            \/\/ dokumentum SAJ\u00c1T st\u00edluslapja rendezi egym\u00e1s al\u00e1 a r\u00e9szeket:\n                            \/\/ fel\u00fcl az alapadatok s\u00e1vja, alatta a sz\u00f6veg \u2013 teljes\n                            \/\/ sz\u00e9less\u00e9gben, kicsiny\u00edt\u00e9s n\u00e9lk\u00fcl, olvashat\u00f3an.\n                            '@media (max-width:819px){html,body{width:auto !important;min-width:0 !important;}'+\n                            '.cv{display:block !important;}.sb{width:100% !important;padding:20px 18px !important;}'+\n                            '.sphoto{width:96px;height:96px;margin-bottom:12px;}'+\n                            '.mn{padding:20px 18px !important;}.mt{font-size:16px;}.mx{font-size:14px;}'+\n                            '.sb-t{font-size:13px;}.sb-x{font-size:12.5px;}.snm{font-size:19px;}.spo{font-size:13px;}'+\n                            '.hdr{flex-direction:column;text-align:center;}.classic{padding:0 18px;}}'+\n                            \/\/ Sidebar layout\n                            '.cv{display:flex;min-height:100vh;}.sb{width:240px;color:#fff;padding:24px 16px;text-align:center;flex-shrink:0;}.sphoto{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center top;margin-bottom:18px;}.snm{font-size:17px;font-weight:700;margin-bottom:4px;}.spo{font-size:12px;margin-bottom:16px;}.sb-s{text-align:left;margin-bottom:14px;}.sb-t{font-size:12px;font-weight:700;color:'+tc.title+';margin-bottom:4px;}.sb-x{font-size:11px;color:'+tc.text+';line-height:1.4;}.mn{flex:1;padding:28px 32px;}.ms{margin-bottom:18px;}.mt{font-size:15px;font-weight:700;border-bottom:2px solid;padding-bottom:4px;margin-bottom:8px;}.mx{font-size:12px;color:#333;line-height:1.5;}'+\n                            \/\/ Header layout\n                            '.hdrcv{}.hdr{padding:20px 24px;display:flex;align-items:center;gap:18px;}.hphoto{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center top;}.hnm{color:#fff;font-size:20px;font-weight:700;}.hpo{font-size:13px;}.hbody{padding:20px 28px;}'+\n                            \/\/ Classic layout\n                            '.classic{max-width:740px;margin:30px auto;padding:0 28px;}.clhead{display:flex;align-items:center;gap:16px;}.clhead-txt{flex:1;min-width:0;}.clphoto{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;}.clnm{font-size:24px;font-weight:700;color:#222;}.clpo{font-size:14px;color:#555;margin-bottom:6px;}.dbline{border:none;border-top:3px solid #222;margin:6px 0 2px;}.clhr{border:none;border-top:1px solid #aaa;margin:2px 0 6px;}.cls{margin-bottom:16px;}.clt{font-size:12px;font-weight:700;color:#222;}.clx{font-size:12px;color:#444;line-height:1.5;}'+\n                            \/\/ Hom\u00e1lyos\u00edt\u00e1s: a rejtett szakaszra K\u00d6ZVETLEN\u00dcL alkalmazott CSS blur \u2013\n                            \/\/ ez minden b\u00f6ng\u00e9sz\u0151ben\/n\u00e9zetben megb\u00edzhat\u00f3an m\u0171k\u00f6dik, szemben egy\n                            \/\/ r\u00e1helyezett, fixen pozicion\u00e1lt r\u00e9teggel, ami bizonyos esetekben\n                            \/\/ (pl. iOS Safari, hossz\u00fa tartalom) nem takarta el a sz\u00f6veget.\n                            '.locked-blur{filter:blur(5px);-webkit-filter:blur(5px);user-select:none;pointer-events:none;}.unlock-wrap{text-align:center;margin:20px 0;}.lock-badge{background:'+tc.accent+';color:#fff;padding:16px 36px;border-radius:32px;font-size:18px;font-weight:700;box-shadow:0 6px 24px rgba(0,0,0,0.18);cursor:pointer;border:none;display:inline-block;}'+\n                            '<\/style>'+\n                            \/\/ v9.499: a k\u00e9t gomb m\u0171k\u00f6dj\u00f6n akkor is, ha az el\u0151n\u00e9zet\n                            \/\/ iframe-ben van (ilyenkor a sz\u00fcl\u0151 oldalon l\u00e9v\u0151 m\u0171veletet\n                            \/\/ h\u00edvjuk), \u00e9s akkor is, ha \u00f6n\u00e1ll\u00f3 ablakban (tartal\u00e9k \u00fat).\n                            '<script>'+\n                            'function sxSzulo(){try{if(window.parent&&window.parent!==window&&window.parent.staffixCvFizetes)return window.parent;}catch(e){}return null;}'+\n                            'function sxFizetes(){var p=sxSzulo();if(p){p.staffixCvFizetes();return;}'+\n                            'if(window.opener&&!window.opener.closed){try{window.opener.document.getElementById(\"staffix-cv-generate-btn\").click();}catch(e){}try{window.close();}catch(e){}return;}'+\n                            'window.location=\"https:\/\/stafforex.eu\/de\/onrajz-generator\/\";}'+\n                            'function sxVissza(){var p=sxSzulo();if(p){p.staffixCvVissza();return;}'+\n                            'if(window.opener&&!window.opener.closed){try{window.close();return;}catch(e){}}'+\n                            'window.location=\"https:\/\/stafforex.eu\/de\/onrajz-generator\/\";}'+\n                            '<\\\/script>'+\n                            '<\/head><body>'+\n                            bodyHtml+\n                            '<\/body><\/html>');\n\n                        \/\/ v9.499: elt\u00e1roljuk az el\u0151n\u00e9zetet, hogy az \u00faj f\u00fcl (\u00e9s annak\n                        \/\/ esetleges FRISS\u00cdT\u00c9SE) is meg tudja jelen\u00edteni \u2013 AI-h\u00edv\u00e1s n\u00e9lk\u00fcl.\n                        var tarolva = false;\n                        try {\n                            localStorage.setItem('staffix_cv_preview_html', fullPreviewHtml);\n                            \/\/ v9.510: a NYERS sz\u00f6veget is eltessz\u00fck. Ha a sablonos\n                            \/\/ megjelen\u00edt\u00e9s b\u00e1rmi okb\u00f3l nem mutatn\u00e1 a t\u00f6rzssz\u00f6veget, az\n                            \/\/ el\u0151n\u00e9zet oldala ebb\u0151l tudja p\u00f3tolni \u2013 \u00edgy a felhaszn\u00e1l\u00f3\n                            \/\/ SOHA nem marad sz\u00f6veg n\u00e9lk\u00fcl.\n                            localStorage.setItem('staffix_cv_preview_raw', previewText);\n                            localStorage.setItem('staffix_cv_preview_state', 'ready');\n                            localStorage.setItem('staffix_cv_preview_ts', String(Date.now()));\n                            tarolva = true;\n                        } catch (e) { tarolva = false; }\n\n                        if (!tarolva) {\n                            \/\/ Tartal\u00e9k \u00fat (pl. tele van a b\u00f6ng\u00e9sz\u0151 t\u00e1rol\u00f3ja): a r\u00e9gi\n                            \/\/ viselked\u00e9s \u2013 k\u00f6zvetlen\u00fcl a f\u00fclbe \u00edrjuk a tartalmat.\n                            var win = previewWin || window.open('', '_blank');\n                            if (win) { win.document.write(fullPreviewHtml); win.document.close(); }\n                        }\n                    } else {\n                        var hibaSzoveg = d.data && d.data.message ? d.data.message : 'Fehler aufgetreten.';\n                        errorBox.textContent = hibaSzoveg;\n                        errorBox.style.display = 'block';\n                        \/\/ v9.499: a megnyitott el\u0151n\u00e9zet-f\u00fcl ne v\u00e1rakozzon a v\u00e9gtelens\u00e9gig.\n                        try {\n                            localStorage.setItem('staffix_cv_preview_state', 'error');\n                            localStorage.setItem('staffix_cv_preview_error', hibaSzoveg);\n                        } catch (e) {}\n                    }\n                })\n                .catch(function() {\n                    previewBtn.disabled = false;\n                    previewBtn.innerHTML = '<span class=\"dashicons dashicons-visibility\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Kostenlose Vorschau';\n                    errorBox.textContent = 'Verbindungsfehler.';\n                    errorBox.style.display = 'block';\n                    try {\n                        localStorage.setItem('staffix_cv_preview_state', 'error');\n                        localStorage.setItem('staffix_cv_preview_error', 'Verbindungsfehler.');\n                    } catch (e) {}\n                    if (previewWin) previewWin.close();\n                });\n        });\n\n        btn.addEventListener('click', function() {\n            errorBox.style.display = 'none';\n            resultBox.style.display = 'none';\n\n            \/\/ K\u00f6telez\u0151: el\u00e1ll\u00e1si jog elveszt\u00e9s\u00e9nek elfogad\u00e1sa (digit\u00e1lis tartalom\n            \/\/ azonnali teljes\u00edt\u00e9se miatt) \u2013 en\u00e9lk\u00fcl jogilag nem ind\u00edthat\u00f3 a fizet\u00e9s.\n            var immediateConsent  = document.getElementById('staffix-cv-immediate-consent');\n            var withdrawalConsent = document.getElementById('staffix-cv-withdrawal-consent');\n            if ( ( immediateConsent && ! immediateConsent.checked ) || ( withdrawalConsent && ! withdrawalConsent.checked ) ) {\n                errorBox.textContent = 'Um fortzufahren, musst du beide Erkl\u00e4rungen akzeptieren.';\n                errorBox.style.display = 'block';\n                var elsoHianyzo = ( immediateConsent && ! immediateConsent.checked ) ? immediateConsent : withdrawalConsent;\n                if ( elsoHianyzo ) elsoHianyzo.closest('div').scrollIntoView({behavior:'smooth', block:'center'});\n                return;\n            }\n\n            loadingTxt.textContent = staffixCvFree\n                ? 'Wird vorbereitet...'\n                : 'Weiterleitung zur Zahlung...';\n            loading.style.display = 'block';\n            btn.disabled = true;\n\n            lastType = docTypeEl.value;\n            lastLang = langEl.value;\n            var extra = document.getElementById('staffix-cv-extra') ? document.getElementById('staffix-cv-extra').value : '';\n\n            \/\/ K\u00f6telez\u0151 ellen\u0151rz\u00e9s: munkahelyek mez\u0151 (\u00f6n\u00e9letrajzn\u00e1l \u00e9s kombin\u00e1lt csomagn\u00e1l)\n            var munkahelyek_el2 = document.getElementById('staffix-cv-munkahelyek') || document.getElementById('staffix-cv-munkahelyek-step');\n            var munkahelyek_val2 = munkahelyek_el2 ? munkahelyek_el2.value.trim() : '';\n            if ( ! munkahelyek_val2 && lastType !== 'cover_letter' ) {\n                loading.style.display = 'none';\n                btn.disabled = false;\n                errorBox.textContent = 'Bitte f\u00fclle das Feld f\u00fcr fr\u00fchere Arbeitsstellen aus. Falls keine Erfahrung: Keine Berufserfahrung';\n                errorBox.style.display = 'block';\n                if (munkahelyek_el2) { munkahelyek_el2.style.borderColor = '#c0392b'; munkahelyek_el2.scrollIntoView({behavior:'smooth', block:'center'}); }\n                return;\n            }\n            if (munkahelyek_el2) munkahelyek_el2.style.borderColor = '#ddd';\n\n            var formData = new FormData(); \/\/ v9.484: FormData kell, hogy a fot\u00f3 val\u00f3di f\u00e1jlk\u00e9nt mehessen\n            formData.append('action', 'staffix_cv_create_checkout');\n            formData.append('doc_type', lastType);\n            formData.append('lang', lastLang);\n            formData.append('extra', extra);\n            formData.append('munkahelyek', munkahelyek_val2);\n            var tanulmanyok_el2 = document.getElementById('staffix-cv-tanulmanyok');\n            formData.append('tanulmanyok', tanulmanyok_el2 ? tanulmanyok_el2.value.trim() : '');\n            formData.append('withdrawal_consent', '1');\n            formData.append('theme', themeEl ? themeEl.value : 'bordo');\n            formData.append('layout', layoutEl ? layoutEl.value : 'sidebar');\n            staffixAppendPhotoPart(formData, window.staffixGuestPhotoBase64 || '');\n            formData.append('cim', document.getElementById('staffix-cv-cim') ? document.getElementById('staffix-cv-cim').value.trim() : '');\n            formData.append('orszag', document.getElementById('staffix-cv-orszag') ? document.getElementById('staffix-cv-orszag').value.trim() : '');\n            formData.append('neme', document.getElementById('staffix-cv-neme') ? document.getElementById('staffix-cv-neme').value : '');\n            formData.append('szuletesi_datum', document.getElementById('staffix-cv-szuletesi-datum') ? document.getElementById('staffix-cv-szuletesi-datum').value : '');\n            formData.append('vendegkent', document.getElementById('staffix-cv-vendegkent') ? document.getElementById('staffix-cv-vendegkent').value : '');\n            formData.append('nonce', 'c745bd5cea');\n\n                        var guestFields = ['nev','email','telefonszam','pozicio','nemet','egyeb-nyelv','tapasztalat','elerhetoseg','bemutatkozas'];\n            var fieldMap = { nev:'nev', email:'email', telefonszam:'telefonszam', pozicio:'pozicio', nemet:'nemet_nyelv', 'egyeb-nyelv':'egyeb_nyelv', tapasztalat:'tapasztalat', elerhetoseg:'elerhetoseg', bemutatkozas:'bemutatkozas' };\n            var hasError = false;\n            guestFields.forEach(function(f) {\n                var el = document.getElementById('staffix-cv-' + f);\n                if (!el) return;\n                var val = (f === 'elerhetoseg') ? staffixCvElerhetosegErtek() : el.value.trim();\n                if ((f === 'nev' || f === 'pozicio' || f === 'email') && !val) hasError = true;\n                formData.append(fieldMap[f], val);\n            });\n            \/\/ v9.371: a nem megad\u00e1sa OPCION\u00c1LIS \u2013 nem blokkolja a k\u00fcld\u00e9st, ha \u00fcres.\n            if (hasError) {\n                loading.style.display = 'none';\n                btn.disabled = false;\n                errorBox.textContent = 'Bitte gib zumindest deinen Namen, deine E-Mail-Adresse und die gesuchte Position an.';\n                errorBox.style.display = 'block';\n                return;\n            }\n            \n            fetch('https:\/\/stafforex.eu\/wp-admin\/admin-ajax.php', { method: 'POST', body: formData })\n                .then(function(r) { return r.json(); })\n                .then(function(d) {\n                    if (d.success && d.data.checkout_url) {\n                        window.location.href = d.data.checkout_url;\n                    } else {\n                        loading.style.display = 'none';\n                        btn.disabled = false;\n                        errorBox.textContent = d.data && d.data.message ? d.data.message : 'Fehler aufgetreten.';\n                        errorBox.style.display = 'block';\n                    }\n                })\n                .catch(function() {\n                    loading.style.display = 'none';\n                    btn.disabled = false;\n                    errorBox.textContent = 'Verbindungsfehler.';\n                    errorBox.style.display = 'block';\n                });\n        });\n\n        \/\/ Visszat\u00e9r\u00e9s a Stripe-t\u00f3l sikeres fizet\u00e9s ut\u00e1n \u2013 automatikusan elind\u00edtjuk a gener\u00e1l\u00e1st\n        var params = new URLSearchParams(window.location.search);\n        if (params.get('cv_paid') === '1' && params.get('cv_token') && params.get('session_id')) {\n            \/\/ \u00daJ (v9.607): \"Indul\u00e1si id\u0151szakban ingyenes\" rendel\u00e9sn\u00e9l a session_id\n            \/\/ \"free_\" el\u0151taggal j\u00f6n vissza (ld. staffix_cv_create_checkout_ajax) \u2013\n            \/\/ ebb\u0151l ismerj\u00fck fel biztosan (a be\u00e1ll\u00edt\u00e1s id\u0151k\u00f6zben v\u00e1ltozhatott),\n            \/\/ hogy EZ a konkr\u00e9t visszat\u00e9r\u00e9s fizet\u00e9s n\u00e9lk\u00fcli volt-e.\n            var staffixIsFreeReturn = (params.get('session_id') || '').indexOf('free_') === 0;\n\n            btn.disabled = true;\n            loadingTxt.textContent = staffixIsFreeReturn\n                ? 'Dokument wird erstellt (10-20 Sek.)...'\n                : 'Zahlung wird \u00fcberpr\u00fcft, Dokument wird erstellt (10-20 Sek.)...';\n            loading.style.display = 'block';\n\n            \/\/ Azonnal, j\u00f3l l\u00e1that\u00f3 m\u00f3don jelezz\u00fck a fizet\u00e9s (ill. ingyenes rendel\u00e9s)\n            \/\/ siker\u00e9t \u00e9s a folyamatban l\u00e9v\u0151 gener\u00e1l\u00e1st \u2013 en\u00e9lk\u00fcl, ha a felhaszn\u00e1l\u00f3\n            \/\/ nem g\u00f6rget le pont az eredm\u00e9nyhez, k\u00f6nnyen megijedhetne.\n            var payStatusOverlay = document.getElementById('staffix-cv-payment-status-overlay');\n            if (payStatusOverlay) {\n                if (staffixIsFreeReturn) {\n                    var pTitle = document.getElementById('staffix-payment-status-title');\n                    var pSub   = document.getElementById('staffix-payment-status-sub');\n                    if (pTitle) pTitle.textContent = 'Danke!';\n                    if (pSub)   pSub.textContent   = 'Du erh\u00e4ltst das fertige Dokument auch per E-Mail.';\n                }\n                payStatusOverlay.style.display = 'flex';\n            }\n\n            var finData = new URLSearchParams();\n            finData.append('action', 'staffix_cv_finalize');\n            finData.append('token', params.get('cv_token'));\n            finData.append('session_id', params.get('session_id'));\n            finData.append('nonce', 'c745bd5cea');\n\n            fetch('https:\/\/stafforex.eu\/wp-admin\/admin-ajax.php', { method: 'POST', body: finData })\n                .then(function(r) { return r.json(); })\n                .then(function(d) {\n                    loading.style.display = 'none';\n                    btn.disabled = false;\n                    if (d.success) {\n                        lastNev = d.data.nev || '';\n                        \/\/ Az oldal \u00fajrat\u00f6lt\u0151d\u00f6tt a Stripe-fizet\u00e9s ut\u00e1n, ez\u00e9rt a kor\u00e1bban\n                        \/\/ v\u00e1lasztott dokumentumt\u00edpus, nyelv, sablon \u00e9s sz\u00edn elveszett \u2013\n                        \/\/ ezeket itt \u00e1ll\u00edtjuk vissza a szerver v\u00e1lasz\u00e1b\u00f3l, MIEL\u0150TT a\n                        \/\/ sz\u00f6veget megjelen\u00edten\u00e9nk, hogy a motiv\u00e1ci\u00f3s lev\u00e9l elv\u00e1laszt\u00f3\n                        \/\/ felirata is a helyes nyelven jelenjen meg.\n                        if (d.data.doc_type) {\n                            lastType = d.data.doc_type;\n                            if (docTypeEl) docTypeEl.value = d.data.doc_type;\n                        }\n                        if (d.data.lang) {\n                            lastLang = d.data.lang;\n                            if (langEl) langEl.value = d.data.lang;\n                        }\n                        if (d.data.theme && themeEl) themeEl.value = d.data.theme;\n                        if (d.data.layout && layoutEl) layoutEl.value = d.data.layout;\n                        \/\/ A Stripe-os visszair\u00e1ny\u00edt\u00e1s ut\u00e1n az oldal \u00fajrat\u00f6lt\u0151d\u00f6tt, ez\u00e9rt a\n                        \/\/ kor\u00e1bban a b\u00f6ng\u00e9sz\u0151 mem\u00f3ri\u00e1j\u00e1ban t\u00e1rolt fot\u00f3 elveszett \u2013 itt\n                        \/\/ vissza\u00e1ll\u00edtjuk a szerver v\u00e1lasz\u00e1b\u00f3l, hogy a \"Let\u00f6lt\u00e9s\" gomb (ami\n                        \/\/ erre a v\u00e1ltoz\u00f3ra t\u00e1maszkodik) is helyesen tartalmazza a fot\u00f3t.\n                        if (d.data.guest_photo_b64) {\n                            window.staffixGuestPhotoBase64 = d.data.guest_photo_b64;\n                        }\n                        resultTxt.value = d.data.text.split('@@@STAFFOREX_MOTIVACIOS_LEVEL@@@').join(getFriendlySeparator(lastLang));\n                        resultBox.style.display = 'block';\n                        \/\/ A dokumentum elk\u00e9sz\u00fclt \u2013 a fizet\u00e9s-st\u00e1tusz ablakot bez\u00e1rjuk, \u00e9s\n                        \/\/ egyenesen odag\u00f6rget\u00fcnk az eredm\u00e9nyhez, hogy egy\u00e9rtelm\u0171 legyen.\n                        if (payStatusOverlay) payStatusOverlay.style.display = 'none';\n                        resultBox.scrollIntoView({ behavior: 'smooth' });\n                    } else {\n                        errorBox.textContent = d.data && d.data.message ? d.data.message : 'Fehler aufgetreten.';\n                        errorBox.style.display = 'block';\n                        if (payStatusOverlay) {\n                            document.getElementById('staffix-payment-status-spinner').textContent = '\u26a0\ufe0f';\n                            document.getElementById('staffix-payment-status-title').textContent = 'Fehler bei der Erstellung';\n                            document.getElementById('staffix-payment-status-text').textContent = errorBox.textContent;\n                            var closeBtn = document.getElementById('staffix-payment-status-close');\n                            closeBtn.textContent = 'Schlie\u00dfen';\n                            closeBtn.style.display = 'block';\n                        }\n                    }\n                    \/\/ URL megtiszt\u00edt\u00e1sa, hogy friss\u00edt\u00e9sn\u00e9l ne pr\u00f3b\u00e1lja \u00fajra\n                    if (window.history && window.history.replaceState) {\n                        window.history.replaceState({}, document.title, window.location.pathname);\n                    }\n                })\n                .catch(function() {\n                    loading.style.display = 'none';\n                    btn.disabled = false;\n                    \/\/ JAV\u00cdTVA (v9.150): a fizet\u00e9s M\u00c1R sikeres volt, \u00e9s a dokumentumot a\n                    \/\/ szerver e-mailben MINDENK\u00c9PP kik\u00fcldi (a gener\u00e1l\u00e1s a h\u00e1tt\u00e9rben akkor\n                    \/\/ is befejez\u0151dik, ha a b\u00f6ng\u00e9sz\u0151 kapcsolata k\u00f6zben megszakad). Ez\u00e9rt itt\n                    \/\/ NEM ijeszt\u0151 hib\u00e1t mutatunk, hanem megnyugtat\u00f3 \u00fczenetet.\n                    var reassure = 'Die Zahlung war erfolgreich. Das Dokument und die Rechnung wurden per E-Mail gesendet \u2014 sie treffen in wenigen Minuten ein. (Im Browser konnte es jetzt nicht angezeigt werden, per E-Mail erh\u00e4ltst du es aber.)';\n                    if (payStatusOverlay) {\n                        document.getElementById('staffix-payment-status-spinner').textContent = '\u2705';\n                        document.getElementById('staffix-payment-status-title').textContent = 'Zahlung erfolgreich \u2014 Dokument kommt per E-Mail';\n                        document.getElementById('staffix-payment-status-text').textContent = reassure;\n                        var closeBtn2 = document.getElementById('staffix-payment-status-close');\n                        closeBtn2.textContent = 'OK';\n                        closeBtn2.style.display = 'block';\n                    } else {\n                        errorBox.style.background = '#f0fdf8';\n                        errorBox.style.color = '#2e7d32';\n                        errorBox.textContent = reassure;\n                        errorBox.style.display = 'block';\n                    }\n                });\n        } else if (params.get('cv_cancelled') === '1') {\n            errorBox.textContent = 'Die Zahlung wurde abgebrochen. Versuche es erneut, wenn du ein Dokument erstellen m\u00f6chtest.';\n            errorBox.style.display = 'block';\n            if (window.history && window.history.replaceState) {\n                window.history.replaceState({}, document.title, window.location.pathname);\n            }\n        }\n\n        if (pdfBtn) pdfBtn.addEventListener('click', function() {\n            var title = (lastType === 'cover_letter')\n                ? (lastLang === 'de' ? 'Motivationsschreiben' : 'Motiv\u00e1ci\u00f3s lev\u00e9l')\n                : (lastLang === 'de' ? 'Lebenslauf' : '\u00d6n\u00e9letrajz');\n\n            function esc(s) { return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); }\n\n            \/\/ Ezt a popup ablakba ny\u00edl\u00f3 \"Ment\u00e9s a profilomba\" gombhoz k\u00e9sz\u00edtj\u00fck el\u0151 \u2013\n            \/\/ mivel a popup a window.opener-re val\u00f3 hagyatkoz\u00e1s helyett mostant\u00f3l\n            \/\/ \u00d6N\u00c1LL\u00d3AN, saj\u00e1t maga k\u00fcldi el ezt az AJAX-k\u00e9r\u00e9st (megb\u00edzhat\u00f3bb, nem\n            \/\/ f\u00fcgg att\u00f3l, hogy a b\u00f6ng\u00e9sz\u0151 meg\u0151rzi-e az eredeti lap hivatkoz\u00e1s\u00e1t).\n            var popupSaveBody = new URLSearchParams({\n                action: 'staffix_cv_save_to_profile',\n                doc_type: lastType,\n                theme: themeEl ? themeEl.value : 'bordo',\n                layout: layoutEl ? layoutEl.value : 'sidebar',\n                lang: lastLang,\n                text: resultTxt.value.split(getFriendlySeparator(lastLang)).join('\\n@@@STAFFOREX_MOTIVACIOS_LEVEL@@@\\n'),\n                \/\/ JAV\u00cdTVA (v9.217): ld. fent \u2013 a fot\u00f3t itt is \u00e1t kell adni, k\u00fcl\u00f6nben az\n                \/\/ el\u0151n\u00e9zeti ablakb\u00f3l mentett \u00f6n\u00e9letrajzra sem ker\u00fcl r\u00e1 a k\u00e9p.\n                nev: lastNev || '',\n                \/\/ JAV\u00cdTVA (v9.483): a fot\u00f3 KIKER\u00dcLT ebb\u0151l a sz\u00f6veges t\u00f6rzsb\u0151l.\n                \/\/ Egy t\u00f6bb megab\u00e1jtos base64-blokk POST-param\u00e9terk\u00e9nt pontosan az a\n                \/\/ minta, amit a t\u0171zfal k\u00e1rtev\u0151nek n\u00e9z \u2013 lentebb f\u00e1jl-r\u00e9szk\u00e9nt megy.\n                nonce: 'c745bd5cea'\n            }).toString();\n            var popupAjaxUrl = 'https:\/\/stafforex.eu\/wp-admin\/admin-ajax.php';\n            \/\/ JAV\u00cdTVA (v9.483): a felugr\u00f3 ablak MAGA \u00e1ll\u00edtja \u00f6ssze a bek\u00fcld\u00e9st, \u00e9s a\n            \/\/ fot\u00f3t f\u00e1jl-r\u00e9szk\u00e9nt f\u0171zi hozz\u00e1. A fot\u00f3 JS-v\u00e1ltoz\u00f3k\u00e9nt utazik a felugr\u00f3ba\n            \/\/ (az nem h\u00e1l\u00f3zati k\u00e9r\u00e9s, teh\u00e1t nincs t\u0171zfal), \u00e9s csak a k\u00fcld\u00e9s pillanat\u00e1ban\n            \/\/ v\u00e1lik f\u00e1jll\u00e1. \u00cdgy az el\u0151n\u00e9zetb\u0151l ment\u00e9s is \u00e1tmegy a t\u0171zfalon.\n            var popupPhotoJs = JSON.stringify(window.staffixGuestPhotoBase64 || '');\n            var popupSaveScript = '<script>var SFXB=' + JSON.stringify(popupSaveBody) + ',SFXP=' + popupPhotoJs + ';'\n                + 'function sfxPart(u){try{var c=u.indexOf(\",\");if(c<0)return null;'\n                + 'var m=(u.slice(0,c).match(\/^data:([^;]+)\/)||[])[1]||\"image\/jpeg\";'\n                + 'var b=atob(u.slice(c+1)),a=new Uint8Array(b.length);'\n                + 'for(var i=0;i<b.length;i++)a[i]=b.charCodeAt(i);'\n                + 'return{blob:new Blob([a],{type:m}),name:m===\"image\/png\"?\"kep.png\":\"kep.jpg\"};}catch(e){return null;}}'\n                + 'function staffixPopupSave(btn){btn.disabled=true;var orig=btn.textContent;'\n                + 'btn.textContent=\\'\u23f3 Wird gespeichert...\\';'\n                + 'var fd=new FormData();new URLSearchParams(SFXB).forEach(function(v,k){fd.append(k,v);});'\n                + 'if(SFXP){var r=sfxPart(SFXP);if(r){fd.append(\"guest_photo_b64__f\",r.blob,r.name);}else{fd.append(\"guest_photo_b64\",SFXP);}}'\n                + 'fetch(\\'' + popupAjaxUrl + '\\',{method:\\'POST\\',body:fd}).then(function(r){return r.json();}).then(function(d){btn.disabled=false;'\n                + 'if(d.success){btn.innerHTML=\\'<span class=\"dashicons dashicons-yes-alt\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Gespeichert!\\';}'\n                + 'else{btn.textContent=orig;alert(d.data&&d.data.message?d.data.message:\\'Fehler aufgetreten.\\');}})'\n                + '.catch(function(){btn.disabled=false;btn.textContent=orig;alert(\\'Verbindungsfehler.\\');});}<\/' + 'script>';\n\n            \/\/ JAV\u00cdTVA (v9.512): az \u00f6n\u00e9letrajzot \u00e9s a motiv\u00e1ci\u00f3s levelet egy technikai\n            \/\/ jel\u00f6l\u0151 v\u00e1lasztja el. A megjelen\u00edt\u00e9s eddig KIZ\u00c1R\u00d3LAG a \u201esz\u00e9p\" (vonalas)\n            \/\/ v\u00e1ltozatot kereste \u2013 ha a sz\u00f6vegben a NYERS jel\u00f6l\u0151 maradt (mert a\n            \/\/ csere valamelyik \u00faton kimaradt), a sz\u00e9tv\u00e1laszt\u00e1s nem t\u00f6rt\u00e9nt meg:\n            \/\/ a k\u00e9t dokumentum egybefolyt, az elrendez\u00e9s a tartal\u00e9k, form\u00e1zatlan\n            \/\/ v\u00e1ltozatra esett vissza, \u00e9s a nyers jel\u00f6l\u0151 OTT MARADT a lapon,\n            \/\/ szemben a felhaszn\u00e1l\u00f3val. Mostant\u00f3l MINDK\u00c9T alakot elfogadjuk, \u00e9s a\n            \/\/ marad\u00e9k jel\u00f6l\u0151t biztons\u00e1gb\u00f3l ki is takar\u00edtjuk.\n            var NYERS_JELOLO = '@@@STAFFOREX_MOTIVACIOS_LEVEL@@@';\n            var fullRawText = resultTxt.value;\n            var cvText = fullRawText;\n            var letterText = '';\n\n            var szepJelolo = getFriendlySeparator(lastLang);\n            var hasznaltJelolo = null;\n            if ( fullRawText.indexOf(szepJelolo) !== -1 )            hasznaltJelolo = szepJelolo;\n            else if ( fullRawText.indexOf(NYERS_JELOLO) !== -1 )     hasznaltJelolo = NYERS_JELOLO;\n\n            var isBundle = ( lastType === 'both' && hasznaltJelolo !== null );\n            if (isBundle) {\n                var parts = fullRawText.split(hasznaltJelolo);\n                cvText = parts[0].trim();\n                letterText = parts[1] ? parts[1].trim() : '';\n            }\n            \/\/ Ha b\u00e1rhol maradt volna nyers jel\u00f6l\u0151, azt soha ne l\u00e1ssa a felhaszn\u00e1l\u00f3.\n            cvText     = cvText.split(NYERS_JELOLO).join('').trim();\n            letterText = letterText.split(NYERS_JELOLO).join('').trim();\n\n            \/\/ Sz\u00f6veg felbont\u00e1sa az \u00f6n\u00e9letrajz r\u00e9szb\u0151l\n            var rawLines = cvText.split('\\n').map(function(l){ return l.trim(); }).filter(function(l){ return l !== ''; });\n            var nev = rawLines[0] || lastNev || '';\n            var pozicio = rawLines[1] || '';\n            var headers = [];\n            var sections = [];\n            var idx = -1;\n            for (var i = 2; i < rawLines.length; i++) {\n                var line = rawLines[i];\n                var isHeader = line.length >= 2 && line.length <= 40 && line === line.toUpperCase() && \/[A-Z\u00c1\u00c9\u00cd\u00d3\u00d6\u0150\u00da\u00dc\u0170\u00c4]\/.test(line);\n                if (isHeader && idx < 4) {\n                    idx++;\n                    headers[idx] = line;\n                    sections[idx] = '';\n                } else if (idx >= 0) {\n                    sections[idx] = (sections[idx] ? sections[idx] + '\\n' : '') + line;\n                }\n            }\n            var hasFullSections = (lastType !== 'cover_letter' && sections.length >= 4 && nev);\n\n            var win = window.open('', '_blank');\n\n            var themeColors = {\n                bordo:    { bg: '#9c4f6c', title: '#ffffff', sub: '#f0d9e2', accent: '#9c4f6c', text: '#f5e9ee' },\n                sotetkek: { bg: '#5a6f9e', title: '#ffffff', sub: '#d7dff2', accent: '#5a6f9e', text: '#eaeef7' },\n                zold:     { bg: '#4f8a72', title: '#ffffff', sub: '#d3ebe1', accent: '#4f8a72', text: '#e9f5f0' },\n                kek:      { bg: '#3f74ad', title: '#ffffff', sub: '#cfe1f5', accent: '#3f74ad', text: '#e8f0fa' }\n            };\n            var tc = themeColors[themeEl ? themeEl.value : 'bordo'] || themeColors.bordo;\n\n            if (hasFullSections) {\n                var selectedLayout = layoutEl ? layoutEl.value : 'sidebar';\n                                var photoUrl = '' || window.staffixGuestPhotoBase64 || '';\n                var saveToProfileBtn = false;\n                var backToProfile = false; \/* v9.365: j\u00f3v\u00e1hagyott profil \u2192 profilra vissza; egy\u00e9bk\u00e9nt regisztr\u00e1ci\u00f3hoz *\/\n                var printBtn = '<div class=\"noprint\" style=\"margin-top:30px;text-align:center;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;\">' +\n                    \/* ELT\u00c1VOL\u00cdTVA (v9.435): \u201eNyomtat\u00e1s \/ Ment\u00e9s PDF-k\u00e9nt\u201d gomb.\n                       Ez az el\u0151n\u00e9zet minden esetben a fizet\u00e9s UT\u00c1N jelenik meg, teh\u00e1t a\n                       felhaszn\u00e1l\u00f3 a k\u00e9sz PDF-et e-mailben \u00e9s let\u00f6lt\u00e9sk\u00e9nt is megkapja \u2013\n                       az ig\u00e9nyes, teljes lapmagass\u00e1g\u00fa oldals\u00e1vval. A b\u00f6ng\u00e9sz\u0151s nyomtat\u00e1s\n                       ezzel szemben r\u00f6vid \u00f6n\u00e9letrajzn\u00e1l f\u00e9lbev\u00e1gott sz\u00ednes s\u00e1vot \u00e9s nagy\n                       \u00fcres ter\u00fcletet adott. K\u00e9t \u00fat helyett maradjon az egy, j\u00f3 min\u0151s\u00e9g\u0171. *\/\n                                        (saveToProfileBtn ? '<button onclick=\"staffixPopupSave(this)\" style=\"padding:12px 24px;background:#C0185C;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;\">\u2713 Im Profil speichern<\/button>' + popupSaveScript : '') +\n                    (backToProfile ? '<a href=\"https:\/\/stafforex.eu\/de\/munkavallalo\/?id=0\" style=\"padding:12px 24px;background:#fff;color:#555;border:1.5px solid #ccc;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none;display:inline-block;\">\u2190 Zur\u00fcck zu meinem Profil<\/a>' : '') +\n                    \/* M\u00d3DOS\u00cdTVA (v9.435): a kor\u00e1bbi \u201e\u2190 Vissza a regisztr\u00e1ci\u00f3hoz\u201d f\u00e9lrevezet\u0151\n                       volt: aki a gener\u00e1tort haszn\u00e1lta, az NEM a regisztr\u00e1ci\u00f3b\u00f3l \u00e9rkezett,\n                       teh\u00e1t nincs hova \u201evissza\u201d. Helyette k\u00e9t k\u00fcl\u00f6n gomb:\n                       \u2013 egy AJ\u00c1NLAT (ingyenes profil), mert \u00e9pp itt a legjobb a pillanat:\n                         k\u00e9sz az \u00f6n\u00e9letrajza, \u00e9s pont \u0151 az, akib\u0151l profil lehet;\n                       \u2013 egy VAL\u00d3DI vissza gomb, ami az el\u0151n\u00e9zeti lapot bez\u00e1rja, \u00e9s \u00edgy a\n                         m\u00f6g\u00f6tte nyitva maradt gener\u00e1tor oldalra t\u00e9r vissza. Ha a b\u00f6ng\u00e9sz\u0151\n                         nem engedi a bez\u00e1r\u00e1st, tartal\u00e9kk\u00e9nt odanavig\u00e1l. *\/\n                    (backToProfile ? '' : '<a href=\"https:\/\/stafforex.eu\/de\/munkavallaloi-regisztracio\/\" style=\"padding:12px 24px;background:#C0185C;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none;display:inline-block;\">Kostenloses Profil erstellen \u2192<\/a>') +\n                    '<button onclick=\"staffixCvBack()\" style=\"padding:12px 24px;background:#fff;color:#555;border:1.5px solid #ccc;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;\">\u2190 Zur\u00fcck<\/button>' +\n                    \/* JAV\u00cdTVA (v9.446): a vissza gomb tartal\u00e9k c\u00edme egy KITAL\u00c1LT \u00fatvonal volt, ami\n                       nem oda vitt, ahonnan a felhaszn\u00e1l\u00f3 j\u00f6tt. Most azt a lapot jegyezz\u00fck\n                       meg, amelyikr\u0151l az el\u0151n\u00e9zet indult (a gener\u00e1tor saj\u00e1t c\u00edm\u00e9t, a\n                       nyelvi el\u0151taggal \u00e9s a lek\u00e9rdez\u00e9si param\u00e9terekkel egy\u00fctt) \u2013 \u00edgy a\n                       visszat\u00e9r\u00e9s akkor is pontos, ha a bez\u00e1r\u00e1st a b\u00f6ng\u00e9sz\u0151 nem engedi. *\/\n                    \/* JAV\u00cdTVA (v9.508): a tartal\u00e9k c\u00edm a MOSTANI oldal c\u00edme volt \u2013 ha a\n                       dokumentum nem k\u00fcl\u00f6n ablakban ny\u00edlt (a bez\u00e1r\u00e1s ilyenkor nem\n                       m\u0171k\u00f6dik), a gomb ugyanarra a lapra navig\u00e1lt vissza, vagyis\n                       l\u00e1tsz\u00f3lag nem csin\u00e1lt SEMMIT. Mostant\u00f3l a tartal\u00e9k mindig a\n                       gener\u00e1tor tiszta c\u00edme, teh\u00e1t a vissza\u00fat garant\u00e1lt. *\/\n                    '<scr'+'ipt>function staffixCvBack(){var u=\"https:\\\/\\\/stafforex.eu\\\/de\\\/onrajz-generator\\\/\";try{window.close();}catch(e){}setTimeout(function(){location.href=u;},250);}<\/scr'+'ipt>' +\n                    '<\/div>';\n                var commonStyle = '*{box-sizing:border-box;}html{background:#e8e8e8;}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#e8e8e8;padding:24px 0;}.staffix-page{max-width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,0.18);}@media print{html,body{background:#fff;padding:0;}.staffix-page{max-width:none;min-height:0;margin:0;box-shadow:none;}.cv-wrap{min-height:0!important;}.sidebar{min-height:0!important;}.cv-footer{margin-top:14px!important;}.noprint{display:none!important;}.staffix-pdf-noprint{display:none!important;}}';\n                var bodyHtml = '';\n                var extraStyle = '';\n                \/\/ Dinamikus szekci\u00f3-index-lista (5 vagy 6, a Tanulm\u00e1nyok mez\u0151t\u0151l f\u00fcgg\u0151en).\n                var lastIdx2 = headers.length - 1;\n                var allIdx2 = headers.map(function(_, i){ return i; });\n\n                if (selectedLayout === 'sidebar') {\n                    var sbHtml = '';\n                    [0, lastIdx2].forEach(function(k){ if(!sections[k]) return; sbHtml += '<div class=\"sb-section\"><div class=\"sb-title\">'+esc(headers[k])+'<\/div><div class=\"sb-text\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    var mnHtml = '';\n                    allIdx2.slice(1, -1).forEach(function(k){ if(!sections[k]) return; mnHtml += '<div class=\"ms\"><div class=\"mt\">'+esc(headers[k])+'<\/div><div class=\"mx\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    var phHtml = photoUrl ? '<img decoding=\"async\" src=\"'+photoUrl+'\" class=\"sb-photo\">' : '';\n                    extraStyle = '.cv-wrap{display:flex;min-height:297mm;page-break-inside:avoid;}.sidebar{width:240px;background:'+tc.bg+';color:#fff;padding:30px 18px;text-align:center;flex-shrink:0;print-color-adjust:exact;-webkit-print-color-adjust:exact;}.sb-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center top;margin-bottom:22px;}.sb-name{font-size:19px;font-weight:700;margin-bottom:4px;}.sb-pozicio{font-size:13px;color:'+tc.sub+';margin-bottom:20px;}.sb-section{text-align:left;margin-bottom:18px;}.sb-title{font-size:13px;font-weight:700;color:'+tc.title+';margin-bottom:5px;}.sb-text{font-size:12px;color:'+tc.text+';line-height:1.5;}.main{flex:1;padding:36px 40px;}.ms{margin-bottom:22px;}.mt{font-size:15px;font-weight:700;color:'+tc.bg+';border-bottom:2px solid '+tc.bg+';padding-bottom:5px;margin-bottom:9px;}.mx{font-size:13px;line-height:1.6;color:#333;}.cv-footer{font-size:10px;color:#999;margin-top:30px;}';\n                    bodyHtml = '<div class=\"cv-wrap\"><div class=\"sidebar\">'+phHtml+'<div class=\"sb-name\">'+esc(nev)+'<\/div><div class=\"sb-pozicio\">'+esc(pozicio)+'<\/div>'+sbHtml+'<\/div><div class=\"main\">'+mnHtml+'<div class=\"cv-footer\">STAFFOREX - stafforex.eu<\/div>'+printBtn+'<\/div><\/div>';\n\n                } else if (selectedLayout === 'header') {\n                    var allHtml2 = '';\n                    allIdx2.forEach(function(k){ if(!sections[k]||!headers[k]) return; allHtml2 += '<div class=\"ms\"><div class=\"mt\">'+esc(headers[k])+'<\/div><div class=\"mx\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    var phHtml2 = photoUrl ? '<img decoding=\"async\" src=\"'+photoUrl+'\" class=\"hphoto\">' : '';\n                    extraStyle = '.hdr{background:'+tc.bg+';padding:22px 28px;display:flex;align-items:center;gap:20px;}.hphoto{width:90px;height:90px;border-radius:50%;object-fit:cover;object-position:center top;}.hnm{color:#fff;font-size:22px;font-weight:700;}.hpo{font-size:13px;color:'+tc.sub+';}.hbody{padding:22px 32px;}.ms{margin-bottom:20px;}.mt{font-size:15px;font-weight:700;color:'+tc.accent+';border-bottom:2px solid '+tc.accent+';padding-bottom:5px;margin-bottom:8px;}.mx{font-size:13px;color:#333;line-height:1.5;}.cv-footer{font-size:10px;color:#999;margin-top:20px;}';\n                    bodyHtml = '<div class=\"hdr\">'+phHtml2+'<div style=\"flex:1;text-align:center;\"><div class=\"hnm\">'+esc(nev)+'<\/div><div class=\"hpo\">'+esc(pozicio)+'<\/div><\/div><\/div><div class=\"hbody\">'+allHtml2+'<div class=\"cv-footer\">STAFFOREX - stafforex.eu<\/div>'+printBtn+'<\/div>';\n\n                } else if (selectedLayout === 'soft') {\n                    \/\/ \u00daJ (v9.688): pasztell \u2013 ugyanaz a szerkezet, mint a \"sidebar\"\n                    \/\/ elrendez\u00e9sn\u00e9l, csak a bal s\u00e1v itt a t\u00e9ma HALV\u00c1NY \u00e1rnyalata\n                    \/\/ (nem a tel\u00edtett sz\u00edn), a feliratok pedig a t\u00e9ma er\u0151s\n                    \/\/ (accent) sz\u00edn\u00e9vel jelennek meg feh\u00e9r helyett.\n                    var sbHtml3 = '';\n                    [0, lastIdx2].forEach(function(k){ if(!sections[k]) return; sbHtml3 += '<div class=\"sb-section soft\"><div class=\"sb-title soft\">'+esc(headers[k])+'<\/div><div class=\"sb-text soft\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    var mnHtml3 = '';\n                    allIdx2.slice(1, -1).forEach(function(k){ if(!sections[k]) return; mnHtml3 += '<div class=\"ms\"><div class=\"mt soft\">'+esc(headers[k])+'<\/div><div class=\"mx\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    var phHtml3 = photoUrl ? '<img decoding=\"async\" src=\"'+photoUrl+'\" class=\"sb-photo\">' : '';\n                    extraStyle = '.cv-wrap{display:flex;min-height:297mm;page-break-inside:avoid;}.sidebar.soft-side{width:240px;background:'+tc.text+';color:#333;padding:30px 18px;text-align:center;flex-shrink:0;print-color-adjust:exact;-webkit-print-color-adjust:exact;}.sb-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:center top;margin-bottom:22px;}.sb-name.soft{font-size:19px;font-weight:700;color:'+tc.bg+';margin-bottom:4px;}.sb-pozicio.soft{font-size:13px;color:#777;margin-bottom:20px;}.sb-section.soft{text-align:left;margin-bottom:18px;}.sb-title.soft{font-size:13px;font-weight:700;color:'+tc.bg+';margin-bottom:5px;border-bottom:1px solid '+tc.bg+';padding-bottom:4px;}.sb-text.soft{font-size:12px;color:#555;line-height:1.5;}.main{flex:1;padding:36px 40px;}.ms{margin-bottom:22px;}.mt.soft{font-size:15px;font-weight:700;color:'+tc.bg+';border-bottom:2px solid '+tc.bg+';padding-bottom:5px;margin-bottom:9px;}.mx{font-size:13px;line-height:1.6;color:#333;}.cv-footer{font-size:10px;color:#999;margin-top:30px;}';\n                    bodyHtml = '<div class=\"cv-wrap\"><div class=\"sidebar soft-side\">'+phHtml3+'<div class=\"sb-name soft\">'+esc(nev)+'<\/div><div class=\"sb-pozicio soft\">'+esc(pozicio)+'<\/div>'+sbHtml3+'<\/div><div class=\"main\">'+mnHtml3+'<div class=\"cv-footer\">STAFFOREX - stafforex.eu<\/div>'+printBtn+'<\/div><\/div>';\n\n                } else { \/\/ classic\n                    \/\/ JAV\u00cdTVA (v9.188): float helyett flexbox-os fejl\u00e9c \u2013 a fot\u00f3 \u00e9s a\n                    \/\/ n\u00e9v\/poz\u00edci\u00f3 \u00edgy garant\u00e1ltan nem cs\u00faszik egym\u00e1sra (a flex-elemek\n                    \/\/ egym\u00e1s mellett, a magasabbik alapj\u00e1n foglalnak helyet), a fot\u00f3\n                    \/\/ marad ar\u00e1nyos (object-fit:cover megtartja a k\u00e9par\u00e1nyt, csak a\n                    \/\/ kil\u00f3g\u00f3 r\u00e9szt v\u00e1gja le), \u00e9s az elv\u00e1laszt\u00f3 vonalak csak a teljes\n                    \/\/ fejl\u00e9c alatt, lejjebb kezd\u0151dnek.\n                    var clPhotoHtml = photoUrl ? '<img decoding=\"async\" src=\"'+photoUrl+'\" style=\"width:90px;height:90px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;\">' : '';\n                    var clHtml2 = '<div style=\"display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px;\"><div style=\"flex:1;min-width:0;\">'+\n                        '<div style=\"font-size:26px;font-weight:700;color:#222;\">'+esc(nev)+'<\/div><div style=\"font-size:14px;color:#555;\">'+esc(pozicio)+'<\/div><\/div>'+clPhotoHtml+'<\/div>'+\n                        '<div style=\"border-top:3px solid #222;margin:4px 0 2px;\"><\/div><div style=\"border-top:1px solid #222;margin-bottom:12px;\"><\/div>';\n                    allIdx2.forEach(function(k){ if(!sections[k]||!headers[k]) return; clHtml2 += '<div style=\"margin-bottom:14px;\"><div style=\"font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#222;\">'+esc(headers[k])+'<\/div><div style=\"border-top:1px solid #aaa;margin:3px 0 5px;\"><\/div><div style=\"font-size:12px;color:#444;line-height:1.5;\">'+esc(sections[k]).replace(\/\\n\/g,'<br>')+'<\/div><\/div>'; });\n                    extraStyle = '.staffix-page{padding:30px 40px;}.cv-footer{font-size:10px;color:#999;margin-top:20px;}';\n                    bodyHtml = clHtml2+'<div class=\"cv-footer\">STAFFOREX - stafforex.eu<\/div>'+printBtn;\n                }\n\n                var letterPageHtml = '';\n                if (isBundle && letterText) {\n                    letterPageHtml = '<div style=\"page-break-before:always;padding:40px;max-width:700px;margin:0 auto;\"><h2 style=\"color:#222;border-bottom:2px solid #222;padding-bottom:10px;\">'+(lastLang === 'de' ? 'Motivationsschreiben' : 'Motiv\u00e1ci\u00f3s lev\u00e9l')+' \u2013 '+esc(nev)+'<\/h2>'+letterText.split('\\n').map(function(l){return l.trim()===''?'<br>':'<p style=\"margin:8px 0;font-size:13px;line-height:1.6;\">'+esc(l)+'<\/p>';}).join('')+'<\/div>';\n                }\n                win.document.write('<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>'+title+' - '+nev+'<\/title><style>'+commonStyle+extraStyle+'<\/style><\/head><body><div class=\"staffix-page\">'+bodyHtml+letterPageHtml+'<\/div><\/body><\/html>');\n            } else {\n                var content = resultTxt.value\n                    .split('\\n')\n                    .map(function(line) { return line.trim() === '' ? '<br>' : '<p>' + esc(line) + '<\/p>'; })\n                    .join('');\n                win.document.write(\n                    '<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>' + title + ' - ' + lastNev + '<\/title>' +\n                    '<style>' +\n                    'body{font-family:Georgia, \"Times New Roman\", serif;max-width:700px;margin:40px auto;padding:0 20px;color:#222;line-height:1.6;}' +\n                    'h1{color:'+(lastType==='cover_letter'?'#222':tc.accent)+';border-bottom:2px solid '+(lastType==='cover_letter'?'#222':tc.accent)+';padding-bottom:10px;font-size:22px;}' +\n                    'p{margin:8px 0;}' +\n                    '.staffix-pdf-footer{margin-top:40px;font-size:11px;color:#999;border-top:1px solid #eee;padding-top:10px;}' +\n                    '@media print{.staffix-pdf-noprint{display:none;}}' +\n                    '<\/style><\/head><body>' +\n                    '<h1>' + title + (lastNev ? ' \u2013 ' + lastNev : '') + '<\/h1>' +\n                    content +\n                    '<div class=\"staffix-pdf-footer\">STAFFOREX \u2013 stafforex.eu<\/div>' +\n                    '<div class=\"staffix-pdf-noprint\" style=\"margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;\">' +\n                    \/* ELT\u00c1VOL\u00cdTVA (v9.435): \u201eNyomtat\u00e1s \/ Ment\u00e9s PDF-k\u00e9nt\u201d gomb.\n                       Ez az el\u0151n\u00e9zet minden esetben a fizet\u00e9s UT\u00c1N jelenik meg, teh\u00e1t a\n                       felhaszn\u00e1l\u00f3 a k\u00e9sz PDF-et e-mailben \u00e9s let\u00f6lt\u00e9sk\u00e9nt is megkapja \u2013\n                       az ig\u00e9nyes, teljes lapmagass\u00e1g\u00fa oldals\u00e1vval. A b\u00f6ng\u00e9sz\u0151s nyomtat\u00e1s\n                       ezzel szemben r\u00f6vid \u00f6n\u00e9letrajzn\u00e1l f\u00e9lbev\u00e1gott sz\u00ednes s\u00e1vot \u00e9s nagy\n                       \u00fcres ter\u00fcletet adott. K\u00e9t \u00fat helyett maradjon az egy, j\u00f3 min\u0151s\u00e9g\u0171. *\/\n                                        (false ? '<button onclick=\"staffixPopupSave(this)\" style=\"padding:12px 24px;background:#C0185C;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;\">\u2713 Im Profil speichern<\/button>' + popupSaveScript : '') +\n                    (false ? '<a href=\"https:\/\/stafforex.eu\/de\/munkavallalo\/?id=0\" style=\"padding:12px 24px;background:#fff;color:#555;border:1.5px solid #ccc;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none;display:inline-block;\">\u2190 Zur\u00fcck zu meinem Profil<\/a>' : '') +\n                    \/* v9.435: ugyanaz, mint a szerkezetes n\u00e9zetn\u00e9l \u2013 vend\u00e9gnek aj\u00e1nlat a\n                       saj\u00e1t, ingyenes profilra, \u00e9s egy val\u00f3di vissza gomb. *\/\n                    (false ? '' : '<a href=\"https:\/\/stafforex.eu\/de\/munkavallaloi-regisztracio\/\" style=\"padding:12px 24px;background:#C0185C;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;text-decoration:none;display:inline-block;\">Kostenloses Profil erstellen \u2192<\/a>') +\n                    '<button onclick=\"staffixCvBack()\" style=\"padding:12px 24px;background:#fff;color:#555;border:1.5px solid #ccc;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;\">\u2190 Zur\u00fcck<\/button>' +\n                    \/* JAV\u00cdTVA (v9.446): a vissza gomb tartal\u00e9k c\u00edme egy KITAL\u00c1LT \u00fatvonal volt, ami\n                       nem oda vitt, ahonnan a felhaszn\u00e1l\u00f3 j\u00f6tt. Most azt a lapot jegyezz\u00fck\n                       meg, amelyikr\u0151l az el\u0151n\u00e9zet indult (a gener\u00e1tor saj\u00e1t c\u00edm\u00e9t, a\n                       nyelvi el\u0151taggal \u00e9s a lek\u00e9rdez\u00e9si param\u00e9terekkel egy\u00fctt) \u2013 \u00edgy a\n                       visszat\u00e9r\u00e9s akkor is pontos, ha a bez\u00e1r\u00e1st a b\u00f6ng\u00e9sz\u0151 nem engedi. *\/\n                    \/* JAV\u00cdTVA (v9.508): a tartal\u00e9k c\u00edm a MOSTANI oldal c\u00edme volt \u2013 ha a\n                       dokumentum nem k\u00fcl\u00f6n ablakban ny\u00edlt (a bez\u00e1r\u00e1s ilyenkor nem\n                       m\u0171k\u00f6dik), a gomb ugyanarra a lapra navig\u00e1lt vissza, vagyis\n                       l\u00e1tsz\u00f3lag nem csin\u00e1lt SEMMIT. Mostant\u00f3l a tartal\u00e9k mindig a\n                       gener\u00e1tor tiszta c\u00edme, teh\u00e1t a vissza\u00fat garant\u00e1lt. *\/\n                    '<scr'+'ipt>function staffixCvBack(){var u=\"https:\\\/\\\/stafforex.eu\\\/de\\\/onrajz-generator\\\/\";try{window.close();}catch(e){}setTimeout(function(){location.href=u;},250);}<\/scr'+'ipt>' +\n                    '<\/div>' +\n                    \/\/ Ha bundle, motiv\u00e1ci\u00f3s lev\u00e9l is megjelenik \u00faj oldalon\n                    (isBundle && letterText ? '<div style=\"page-break-before:always;padding:40px;max-width:700px;margin:0 auto;\"><h2 style=\"color:#222;border-bottom:2px solid #222;padding-bottom:10px;\">'+(lastLang === 'de' ? 'Motivationsschreiben' : 'Motiv\u00e1ci\u00f3s lev\u00e9l')+' \u2013 ' + esc(nev) + '<\/h2>' + letterText.split('\\n').map(function(l){return l.trim()===''?'<br>':'<p style=\"margin:8px 0;font-size:13px;line-height:1.6;\">'+esc(l)+'<\/p>';}).join('') + '<\/div>' : '') +\n                    '<\/body><\/html>'\n                );\n            }\n            win.document.close();\n        });\n\n        if (downloadBtn) downloadBtn.addEventListener('click', function() {\n            downloadBtn.disabled = true;\n            downloadStatus.textContent = 'Download wird vorbereitet...';\n            downloadStatus.style.color = '#888';\n\n            var dlData = new FormData(); \/\/ v9.484: FormData kell, hogy a fot\u00f3 val\u00f3di f\u00e1jlk\u00e9nt mehessen\n            dlData.append('action', 'staffix_cv_download_pdf');\n            dlData.append('doc_type', lastType);\n            dlData.append('theme', themeEl ? themeEl.value : 'bordo');\n            dlData.append('layout', layoutEl ? layoutEl.value : 'sidebar');\n            dlData.append('lang', lastLang);\n            dlData.append('text', resultTxt.value.split(getFriendlySeparator(lastLang)).join('\\n@@@STAFFOREX_MOTIVACIOS_LEVEL@@@\\n'));\n            dlData.append('nev', lastNev || '');\n            staffixAppendPhotoPart(dlData, window.staffixGuestPhotoBase64 || '');\n            dlData.append('vendegkent', document.getElementById('staffix-cv-vendegkent') ? document.getElementById('staffix-cv-vendegkent').value : '');\n            dlData.append('nonce', 'c745bd5cea');\n\n            fetch('https:\/\/stafforex.eu\/wp-admin\/admin-ajax.php', { method: 'POST', body: dlData })\n                .then(function(r) {\n                    if (!r.ok) throw new Error('download_failed');\n                    return r.blob();\n                })\n                .then(function(blob) {\n                    downloadBtn.disabled = false;\n                    downloadStatus.textContent = '';\n                    var url = window.URL.createObjectURL(blob);\n                    var a = document.createElement('a');\n                    a.href = url;\n                    a.download = (lastType === 'cover_letter' ? 'motivacios-level' : 'oneletrajz') + (lastNev ? '-' + lastNev.replace(\/\\s+\/g,'-') : '') + '.pdf';\n                    document.body.appendChild(a);\n                    a.click();\n                    document.body.removeChild(a);\n                    setTimeout(function(){ window.URL.revokeObjectURL(url); }, 2000);\n                })\n                .catch(function() {\n                    downloadBtn.disabled = false;\n                    downloadStatus.innerHTML = '<span class=\"dashicons dashicons-dismiss\" aria-hidden=\"true\" style=\"vertical-align:-3px;\"><\/span> Fehler beim Herunterladen.';\n                    downloadStatus.style.color = '#c0392b';\n                });\n        });\n\n        \n    })();\n    <\/script>\n    <style>\n    .staffix-dashboard, .staffix-profilom { max-width:760px; margin:0 auto; font-family:inherit; }\n    .staffix-dashboard h2 { color:#1A1A2E; margin-bottom:20px; }\n\n    \/* \u00c9rtes\u00edt\u00e9sek *\/\n    .staffix-notice { padding:16px 20px; border-radius:8px; margin-bottom:24px; line-height:1.6; }\n    .staffix-notice--pending    { background:#fff8e1; color:#7a5c00; border-left:4px solid #ffc107; }\n    .staffix-notice--rejected   { background:#fdecea; color:#7a1c1c; border-left:4px solid #e53935; }\n    .staffix-notice--incomplete { background:#e8f4fd; color:#1a3a5c; border-left:4px solid #2196f3; }\n\n    \/* Fejl\u00e9c *\/\n    .staffix-profil-fejlec { display:flex; align-items:flex-start; gap:28px; background:#fff; border:1px solid #eee; border-radius:12px; padding:28px; margin-bottom:24px; box-shadow:0 2px 8px rgba(0,0,0,.06); flex-wrap:wrap; }\n\n    \/* Profilk\u00e9p *\/\n    .staffix-profil-kep { width:110px; height:110px; border-radius:50%; object-fit:cover; border:3px solid #C0185C; display:block; }\n    .staffix-monogram { width:110px; height:110px; min-width:110px; border-radius:50%; background:#C0185C; display:flex; align-items:center; justify-content:center; color:#fff; font-size:36px; font-weight:700; }\n\n    \/* Adatok *\/\n    .staffix-profil-adatok h1 { font-size:26px; margin:0 0 14px; color:#1A1A2E; }\n    .staffix-profil-sor { display:flex; align-items:center; gap:8px; margin-bottom:8px; color:#444; font-size:15px; }\n    .staffix-ikon { font-size:18px; width:24px; text-align:center; }\n    .staffix-aktiv-badge { display:inline-block; margin-top:12px; background:#d4edda; color:#155724; padding:5px 14px; border-radius:20px; font-size:13px; font-weight:600; }\n    .staffix-profil-kep-badge-wrap { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }\n    .staffix-profil-kep-badge-wrap .staffix-aktiv-badge { margin-top:0; }\n\n    \/* Szekci\u00f3k *\/\n    .staffix-profil-szekci\u00f3 { background:#fff; border:1px solid #eee; border-radius:12px; padding:24px; margin-bottom:20px; box-shadow:0 1px 4px rgba(0,0,0,.04); }\n    .staffix-profil-szekci\u00f3 h3 { margin-top:0; color:#1A1A2E; font-size:18px; }\n\n    \/* K\u00e9sz\u00fclts\u00e9g *\/\n    .staffix-completeness { margin:20px 0; }\n    .staffix-usenow { background:#f1faf5; border:1px solid #cfe9da; border-radius:12px; padding:14px 18px; margin:18px 0; }\n    .staffix-usenow strong { color:#1d6e44; display:block; margin-bottom:6px; }\n    .staffix-usenow ul { margin:0 0 8px; padding-left:20px; }\n    .staffix-usenow li { margin:4px 0; }\n    .staffix-usenow a { color:#C0185C; font-weight:700; }\n    .staffix-usenow small { color:#666; display:block; line-height:1.5; }\n    .staffix-progress-bar { background:#e0e0e0; border-radius:10px; height:12px; margin-top:8px; overflow:hidden; }\n    .staffix-progress-fill { background:#C0185C; height:100%; border-radius:10px; transition:width .4s; }\n\n    \/* Hi\u00e1nyz\u00f3 mez\u0151k *\/\n    .staffix-missing { background:#f9f9f9; border-left:4px solid #C0185C; padding:16px 20px; margin:20px 0; border-radius:4px; }\n    .staffix-missing ul { margin:8px 0 0 20px; padding:0; }\n    .staffix-missing li { margin-bottom:5px; color:#444; }\n\n    \/* Gombok *\/\n    .staffix-actions { margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; }\n    .staffix-btn { display:inline-block; padding:12px 28px; border-radius:8px; text-decoration:none; font-weight:600; font-size:15px; transition:background .2s; }\n    .staffix-btn--primary   { background:#C0185C; color:#fff !important; }\n    .staffix-btn--primary:hover { background:#A01348; }\n    \/* JAV\u00cdTVA (v9.572): a \".staffix-btn--secondary:hover\" itteni r\u00e9gi defin\u00edci\u00f3j\u00e1t elt\u00e1vol\u00edtottuk \u2013\n       ez \u00fctk\u00f6z\u00f6tt a staffix_global_button_style_override() (a gombst\u00edlusok EGYETLEN hivatalos\n       forr\u00e1sa) hover-szab\u00e1ly\u00e1val: a h\u00e1tt\u00e9r onnan (!important) gy\u0151z\u00f6tt, a sz\u00f6veg sz\u00edne viszont\n       innen (szint\u00e9n !important, de k\u00e9s\u0151bb a DOM-ban) \u2013 \u00edgy a kett\u0151 v\u00e9letlen\u00fcl UGYANAZT a\n       #A01348\/#a01348 \u00e1rnyalatot adta, \u00e9s a felirat gyakorlatilag elt\u0171nt hover \u00e1llapotban\n       (pl. a munk\u00e1ltat\u00f3i ir\u00e1ny\u00edt\u00f3pult \"El\u0151fizet\u00e9sem kezel\u00e9se\" gombj\u00e1n). Mostant\u00f3l ez a gomb is\n       kiz\u00e1r\u00f3lag a staffix_global_button_style_override() st\u00edlus\u00e1t kapja. *\/\n    .staffix-btn--logout { background:transparent; color:#C0185C !important; border:2px solid #C0185C; font-weight:700; }\n    .staffix-btn--logout:hover { background:#fef0f5; color:#a01348 !important; border-color:#a01348; }\n\n    @media (max-width:600px) {\n        .staffix-profil-fejlec { flex-direction:column; align-items:center; text-align:left; }\n        .staffix-profil-adatok { width:100%; text-align:left; }\n        .staffix-profil-adatok h1 { font-size:22px; }\n        .staffix-profil-fejlec .staffix-profil-sor { justify-content:flex-start; }\n    }\n    <\/style>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-929","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/pages\/929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/comments?post=929"}],"version-history":[{"count":3,"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/pages\/929\/revisions"}],"predecessor-version":[{"id":932,"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/pages\/929\/revisions\/932"}],"wp:attachment":[{"href":"https:\/\/stafforex.eu\/de\/wp-json\/wp\/v2\/media?parent=929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}