{"id":8116,"date":"2024-01-09T17:10:52","date_gmt":"2024-01-09T14:10:52","guid":{"rendered":"https:\/\/www.yestaygroup.com\/our-group\/career-opportunities\/"},"modified":"2026-01-23T12:57:05","modified_gmt":"2026-01-23T09:57:05","slug":"career-opportunities","status":"publish","type":"page","link":"https:\/\/www.yestaygroup.com\/en\/our-group\/career-opportunities\/","title":{"rendered":"Career Opportunities"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8116\" class=\"elementor elementor-8116 elementor-6631\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9dd98da e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"9dd98da\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ebb5ba3 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"ebb5ba3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b10b85 cms-page-h1 elementor-widget elementor-widget-heading\" data-id=\"6b10b85\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Career Opportunities<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-60ad306 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"60ad306\" data-element_type=\"container\" id=\"filter-container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0492e86 elementor-widget elementor-widget-shortcode\" data-id=\"0492e86\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\r\n        \/* STYLES *\/\r\n        :root { --y-navy: #2e3047; --y-gold: #c5a059; --y-text: #333; }\r\n        #y-board { font-family: 'Helvetica', 'Arial', sans-serif; max-width: 1200px; margin: 0 auto; color: var(--y-text); }\r\n        \r\n        #y-controls { display: flex; flex-wrap: wrap; gap: 15px; justify-content: space-between; margin-bottom: 40px; align-items: center; }\r\n        #y-search { flex: 1; min-width: 250px; padding: 12px 15px; border: 1px solid #ddd; font-size: 14px; }\r\n        #y-filters { display: flex; flex-wrap: wrap; gap: 8px; }\r\n        \r\n        .y-btn { padding: 10px 20px; border: 1px solid var(--y-navy); background: #fff; color: var(--y-navy); text-transform: uppercase; font-size: 12px; font-weight: 600; cursor: pointer; transition: 0.3s; }\r\n        .y-btn:hover, .y-btn.active { background: var(--y-navy); color: #fff; }\r\n\r\n        #y-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 30px; margin-bottom: 50px; }\r\n        .y-card { background: #fff; border: 1px solid #e0e0e0; padding: 30px; min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; transition: transform 0.3s, box-shadow 0.3s; }\r\n        .y-card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); }\r\n        .y-card h3 { margin: 0 0 10px 0; font-size: 20px; color: var(--y-navy); line-height: 1.3; }\r\n        .y-meta { font-size: 11px; font-weight: bold; color: #999; text-transform: uppercase; margin-bottom: 15px; letter-spacing: 1px; }\r\n        .y-excerpt { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 20px; flex-grow: 1; }\r\n        .y-link { color: var(--y-navy); text-decoration: none; font-weight: bold; font-size: 13px; text-transform: uppercase; border-bottom: 1px solid transparent; cursor:pointer; }\r\n        .y-card.general { border: 2px dashed #ccc; background: #fafafa; align-items: center; text-align: center; justify-content: center; }\r\n\r\n        #y-details { display: none; background: #fff; border-top: 4px solid var(--y-navy); box-shadow: 0 -10px 30px rgba(0,0,0,0.05); margin-top: 20px; scroll-margin-top: 100px; }\r\n        .y-split { display: flex; flex-wrap: wrap; }\r\n        .y-desc-col { flex: 3; padding: 40px; border-right: 1px solid #eee; min-width: 300px; }\r\n        .y-form-col { flex: 2; padding: 40px; background: #f9f9f9; min-width: 300px; }\r\n        .y-close { margin-bottom: 20px; display: inline-block; cursor: pointer; color: #888; font-weight: bold; font-size: 12px; }\r\n\r\n        .y-field { margin-bottom: 20px; }\r\n        .y-label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--y-navy); }\r\n        .y-input { width: 100%; padding: 12px; border: 1px solid #ccc; box-sizing: border-box; }\r\n        .y-submit { width: 100%; padding: 15px; background: var(--y-navy); color: #fff; border: none; font-weight: bold; text-transform: uppercase; cursor: pointer; }\r\n        .y-msg { text-align: center; padding: 15px; margin-top: 15px; display: none; font-weight: bold; }\r\n        .y-msg.success { color: green; background: #eaffea; } .y-msg.error { color: red; background: #ffeaea; }\r\n        \r\n        .y-req { color: #d9534f; margin-left: 3px; }\r\n\r\n        \/* Contact Section *\/\r\n        #y-contact-info { margin-top: 30px; padding-top: 20px; border-top: 1px solid #e0e0e0; color: #666; font-size: 13px; line-height: 1.6; }\r\n        #y-contact-info strong { color: var(--y-navy); display: block; margin-bottom: 8px; font-size: 14px; }\r\n        #y-contact-info a { color: var(--y-navy); text-decoration: none; font-weight: bold; }\r\n\r\n        \/* Social Share Icons *\/\r\n        #y-share-wrap { margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; }\r\n        .y-share-title { font-size: 12px; font-weight: bold; color: #999; text-transform: uppercase; margin-bottom: 10px; display:block;}\r\n        .y-share-row { display: flex; gap: 10px; }\r\n        .y-share-btn { \r\n            width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; \r\n            background: #f0f0f0; color: #555; cursor: pointer; transition: 0.3s; text-decoration: none; border:none;\r\n        }\r\n        .y-share-btn:hover { transform: translateY(-3px); }\r\n        .y-share-btn svg { width: 16px; height: 16px; fill: currentColor; }\r\n        \r\n        .y-share-native:hover { background: #000; color: #fff; }\r\n        .y-share-wa:hover { background: #25D366; color: #fff; }\r\n        .y-share-fb:hover { background: #3b5998; color: #fff; }\r\n        .y-share-in:hover { background: #0077b5; color: #fff; }\r\n        .y-share-cp:hover { background: var(--y-navy); color: #fff; }\r\n        \r\n        .y-tooltip { position: relative; }\r\n        .y-tooltip::after { \r\n            content: 'Copied!'; position: absolute; top: -30px; left: 50%; transform: translateX(-50%); \r\n            background: #333; color: #fff; padding: 4px 8px; font-size: 11px; border-radius: 4px; \r\n            opacity: 0; transition: 0.3s; pointer-events: none; white-space: nowrap;\r\n        }\r\n        .y-tooltip.show-tip::after { opacity: 1; top: -35px; }\r\n\r\n        @media(max-width: 768px) { .y-split { flex-direction: column; } .y-desc-col { border-right: none; border-bottom: 1px solid #eee; } }\r\n    <\/style>\r\n\r\n    <div id=\"y-board\">\r\n        <div id=\"y-controls\">\r\n            <div id=\"y-filters\"><button class=\"y-btn active\" data-filter=\"all\">All Brands<\/button><\/div>\r\n            <input type=\"text\" id=\"y-search\" placeholder=\"Search...\" \/>\r\n        <\/div>\r\n        <div id=\"y-grid\"><div style=\"grid-column:1\/-1; text-align:center; padding:40px; color:#999;\">Loading...<\/div><\/div>\r\n        <div id=\"y-details\">\r\n            <div class=\"y-split\">\r\n                <div class=\"y-desc-col\">\r\n                    <span class=\"y-close\" onclick=\"closeYestay()\">\u2190 BACK<\/span>\r\n                    <h2 id=\"y-job-title\"><\/h2>\r\n                    \r\n                    <div id=\"y-share-wrap\">\r\n                        <span class=\"y-share-title\" id=\"lbl-share\">Share this Job<\/span>\r\n                        <div class=\"y-share-row\">\r\n                            <button class=\"y-share-btn y-share-native\" id=\"btn-share-native\" title=\"Share App\" style=\"display:none;\">\r\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z\"><\/path><\/svg>\r\n                            <\/button>\r\n                            <a href=\"#\" target=\"_blank\" class=\"y-share-btn y-share-wa\" id=\"btn-share-wa\" title=\"WhatsApp\">\r\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg>\r\n                            <\/a>\r\n                            <button class=\"y-share-btn y-share-fb\" id=\"btn-share-fb\" title=\"Facebook\">\r\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"><\/path><\/svg>\r\n                            <\/button>\r\n                            <button class=\"y-share-btn y-share-in\" id=\"btn-share-in\" title=\"LinkedIn\">\r\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2zM4 2a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"><\/path><\/svg>\r\n                            <\/button>\r\n                            <button class=\"y-share-btn y-share-cp y-tooltip\" id=\"btn-share-cp\" title=\"Copy (Instagram\/Messenger)\">\r\n                                <svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"><\/path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"><\/path><\/svg>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <hr style=\"border:0; border-bottom:1px solid #eee; margin:20px 0;\">\r\n                    \r\n                    <div id=\"y-job-content\"><\/div>\r\n                <\/div>\r\n                \r\n                <div class=\"y-form-col\">\r\n                    <h3 style=\"margin-top:0;\" id=\"lbl-apply\">Apply Now<\/h3>\r\n                    <p id=\"y-brand-row\" style=\"font-size:13px; color:#666; margin-bottom:5px;\"><span id=\"lbl-brand\">Brand:<\/span> <strong id=\"y-target-company\" style=\"color:#2e3047;\"><\/strong><\/p>\r\n                    <p style=\"font-size:13px; color:#666; margin-bottom:20px;\"><span id=\"lbl-role\">Role:<\/span> <strong id=\"y-target-role\" style=\"color:#2e3047;\"><\/strong><\/p>\r\n                    \r\n                    <form id=\"y-form\" enctype=\"multipart\/form-data\">\r\n                        <input type=\"hidden\" name=\"action\" value=\"yestay_apply\">\r\n                        <input type=\"hidden\" name=\"security\" value=\"37111d2a89\">\r\n                        <input type=\"hidden\" name=\"job_title\" id=\"inp-job\">\r\n                        <input type=\"hidden\" name=\"company_name\" id=\"inp-comp\">\r\n                        <input type=\"hidden\" name=\"hr_email\" id=\"inp-hr\">\r\n                        \r\n                        <div class=\"y-field\"><label class=\"y-label\" id=\"lbl-name\">Name <span class=\"y-req\">*<\/span><\/label><input type=\"text\" name=\"app_name\" class=\"y-input\" required><\/div>\r\n                        <div class=\"y-field\"><label class=\"y-label\" id=\"lbl-email\">Email <span class=\"y-req\">*<\/span><\/label><input type=\"email\" name=\"app_email\" class=\"y-input\" required><\/div>\r\n                        <div class=\"y-field\"><label class=\"y-label\" id=\"lbl-cv\">CV (PDF\/Word) <span class=\"y-req\">*<\/span><\/label><input type=\"file\" name=\"app_cv\" class=\"y-input\" accept=\".pdf,.doc,.docx\" required><\/div>\r\n                        <div class=\"y-field\"><label class=\"y-label\" id=\"lbl-msg\">Message (Optional)<\/label><textarea name=\"app_msg\" class=\"y-input\" style=\"height:100px;\"><\/textarea><\/div>\r\n                        <button type=\"submit\" class=\"y-submit\" id=\"y-btn-sub\">Submit<\/button>\r\n                        <div id=\"y-msg\" class=\"y-msg\"><\/div>\r\n                    <\/form>\r\n\r\n                    <div id=\"y-contact-info\" style=\"display:none;\">\r\n                        <strong id=\"lbl-contact-title\">Want to communicate directly?<\/strong>\r\n                        <div id=\"y-contact-email-row\"><span id=\"lbl-contact-email\">Email at:<\/span> <a href=\"\" id=\"y-contact-email-link\"><\/a><\/div>\r\n                        <div id=\"y-contact-phone-row\" style=\"display:none;\"><span id=\"lbl-contact-phone\">Phone:<\/span> <span id=\"y-contact-phone-val\"><\/span><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n    document.addEventListener('DOMContentLoaded', function(){\r\n        const api = 'https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/job-position?per_page=100&_embed&lang=en';\r\n        const ajaxUrl = 'https:\/\/www.yestaygroup.com\/wp-admin\/admin-ajax.php';\r\n        const systemDefaultEmail = 'info@yestaygroup.com';\r\n        \r\n        const txt = {\r\n            readMore: 'Read More',\r\n            genTitle: 'General Application',\r\n            genDesc: 'Don\\'t see a matching role?',\r\n            applyBtn: 'APPLY NOW',\r\n            sending: 'Sending...',\r\n            success: 'Application Sent!',\r\n            error: 'Error.',\r\n            applyNow: 'Apply Now',\r\n            brand: 'Brand:',\r\n            role: 'Role:',\r\n            name: 'NAME',\r\n            email: 'EMAIL',\r\n            cv: 'CV (PDF\/Word)',\r\n            msg: 'MESSAGE (Optional)',\r\n            submit: 'SUBMIT',\r\n            contactTitle: 'Want to communicate directly?',\r\n            emailAt: 'Email at:',\r\n            phoneAt: 'Phone:',\r\n            shareTitle: 'Share this Job'\r\n        };\r\n\r\n        \/\/ Static Label Updates\r\n        document.getElementById('lbl-apply').innerText = txt.applyNow;\r\n        document.getElementById('lbl-brand').innerText = txt.brand;\r\n        document.getElementById('lbl-role').innerText = txt.role;\r\n        document.getElementById('lbl-name').innerHTML = txt.name + ' <span class=\"y-req\">*<\/span>';\r\n        document.getElementById('lbl-email').innerHTML = txt.email + ' <span class=\"y-req\">*<\/span>';\r\n        document.getElementById('lbl-cv').innerHTML = txt.cv + ' <span class=\"y-req\">*<\/span>';\r\n        document.getElementById('lbl-msg').innerText = txt.msg;\r\n        document.getElementById('y-btn-sub').innerText = txt.submit;\r\n        document.getElementById('lbl-contact-title').innerText = txt.contactTitle;\r\n        document.getElementById('lbl-contact-email').innerText = txt.emailAt;\r\n        document.getElementById('lbl-contact-phone').innerText = txt.phoneAt;\r\n        document.getElementById('lbl-share').innerText = txt.shareTitle;\r\n\r\n        const grid = document.getElementById('y-grid');\r\n        const filters = document.getElementById('y-filters');\r\n        const search = document.getElementById('y-search');\r\n        const details = document.getElementById('y-details');\r\n        let allJobs = [];\r\n        let currentFilter = 'all';\r\n\r\n        \/\/ Native Share Support\r\n        const hasNativeShare = navigator.share ? true : false;\r\n        if(hasNativeShare) { document.getElementById('btn-share-native').style.display = 'flex'; }\r\n\r\n        fetch(api)\r\n        .then(r => r.json())\r\n        .then(data => {\r\n            if(!Array.isArray(data)) { console.error(\"API Error\"); return; }\r\n            \r\n            const companies = new Set();\r\n            \/\/ FILTER: IF COMPANY IS EMPTY, EXCLUDE JOB\r\n            allJobs = data.map(p => {\r\n                const rawTitle = (p.title && p.title.rendered) ? p.title.rendered : 'Untitled Role';\r\n                const rawContent = (p.content && p.content.rendered) ? p.content.rendered : '';\r\n                let rawExcerpt = (p.excerpt && p.excerpt.rendered) ? p.excerpt.rendered : rawContent;\r\n                let c = (p.company_name || (p.acf ? p.acf.company_name : '') || '').trim();\r\n\r\n                const jobSpecificEmail = (p.acf && p.acf.job_email) ? p.acf.job_email : systemDefaultEmail;\r\n                const phone = (p.company_phone) ? p.company_phone : '';\r\n\r\n                return {\r\n                    id: p.id,\r\n                    title: rawTitle,\r\n                    content: rawContent,\r\n                    excerpt: rawExcerpt.replace(\/<[^>]+>\/g,'').substring(0,120)+'...',\r\n                    company: c,\r\n                    email: jobSpecificEmail,\r\n                    phone: phone,\r\n                    link: p.link \r\n                };\r\n            }).filter(j => j.company !== ''); \/\/ THIS HIDES UNBRANDED JOBS\r\n\r\n            allJobs.forEach(j => companies.add(j.company));\r\n\r\n            let btns = `<button class=\"y-btn active\" data-filter=\"all\">All Brands<\/button>`;\r\n            companies.forEach(c => btns += `<button class=\"y-btn\" data-filter=\"${c}\">${c}<\/button>`);\r\n            filters.innerHTML = btns;\r\n\r\n            renderGrid('all', '');\r\n            checkHashRouting();\r\n        })\r\n        .catch(err => console.error(err));\r\n\r\n        function checkHashRouting() {\r\n            const h = window.location.hash.substring(1); \r\n            if (!h) { if(details.style.display === 'block') closeYestay(false); return; }\r\n            const parts = h.split('=');\r\n            if(parts.length < 2) return;\r\n            const type = parts[0]; const val = decodeURIComponent(parts[1]);\r\n\r\n            if (type === 'brand') {\r\n                const btn = document.querySelector(`.y-btn[data-filter=\"${val}\"]`);\r\n                if (btn) btn.click();\r\n            } else if (type === 'job') {\r\n                const job = allJobs.find(j => j.id == val);\r\n                if (job) openDetails(job, false);\r\n            }\r\n        }\r\n        window.addEventListener('hashchange', checkHashRouting);\r\n\r\n        function renderGrid(filter, term) {\r\n            grid.innerHTML = '';\r\n            term = term.toLowerCase();\r\n            const visible = allJobs.filter(j => {\r\n                return (filter==='all' || j.company===filter) && (j.title.toLowerCase().includes(term));\r\n            });\r\n\r\n            if(visible.length === 0 && filter === 'all' && term === '') {\r\n                 grid.innerHTML = '<div style=\"padding:40px;text-align:center;\">No jobs found.<\/div>';\r\n            }\r\n\r\n            visible.forEach(j => {\r\n                const card = document.createElement('div');\r\n                card.className = 'y-card';\r\n                \/\/ Metadata always shown because unbranded jobs are filtered out\r\n                card.innerHTML = `<div class=\"y-meta\">${j.company}<\/div><h3>${j.title}<\/h3><div class=\"y-excerpt\">${j.excerpt}<\/div><a class=\"y-link trigger-job\" data-id=\"${j.id}\">${txt.readMore}<\/a>`;\r\n                grid.appendChild(card);\r\n            });\r\n\r\n            const genCard = document.createElement('div');\r\n            genCard.className = 'y-card general';\r\n            const currentComp = filter==='all'?'Yestay Group':filter;\r\n            genCard.innerHTML = `<h3>${txt.genTitle}<\/h3><div class=\"y-excerpt\">${txt.genDesc}<br><strong>${currentComp}<\/strong><\/div><a class=\"y-link trigger-gen\" data-comp=\"${currentComp}\">${txt.applyBtn}<\/a>`;\r\n            grid.appendChild(genCard);\r\n        }\r\n\r\n        filters.addEventListener('click', e => {\r\n            if(e.target.classList.contains('y-btn')){\r\n                document.querySelectorAll('.y-btn').forEach(b=>b.classList.remove('active'));\r\n                e.target.classList.add('active');\r\n                currentFilter = e.target.getAttribute('data-filter');\r\n                details.style.display = 'none'; grid.style.display = 'grid'; \r\n                renderGrid(currentFilter, search.value);\r\n                if (currentFilter === 'all') history.pushState(null, null, ' ');\r\n                else window.location.hash = 'brand=' + encodeURIComponent(currentFilter);\r\n            }\r\n        });\r\n\r\n        search.addEventListener('keyup', e => renderGrid(currentFilter, e.target.value));\r\n\r\n        grid.addEventListener('click', e => {\r\n            if(e.target.classList.contains('trigger-job')){\r\n                const job = allJobs.find(j=>j.id == e.target.getAttribute('data-id'));\r\n                if(job) openDetails(job, true);\r\n            }\r\n            if(e.target.classList.contains('trigger-gen')){\r\n                const c = e.target.getAttribute('data-comp');\r\n                openDetails({ title: txt.genTitle + ' - ' + c, content: `<p>${txt.genDesc}<\/p>`, company: c, email: systemDefaultEmail, phone: '' }, false);\r\n            }\r\n        });\r\n\r\n        function openDetails(job, updateHash) {\r\n            document.getElementById('y-job-title').innerHTML = job.title;\r\n            document.getElementById('y-job-content').innerHTML = job.content;\r\n            document.getElementById('y-target-company').innerText = job.company;\r\n            document.getElementById('y-target-role').innerText = job.title;\r\n            \r\n            \/\/ Re-enable brand row (all visible jobs have brand now)\r\n            const brandRow = document.getElementById('y-brand-row');\r\n            brandRow.style.display = 'block';\r\n            \r\n            document.getElementById('inp-job').value = job.title;\r\n            document.getElementById('inp-comp').value = job.company;\r\n            document.getElementById('inp-hr').value = job.email;\r\n            \r\n            const contactDiv = document.getElementById('y-contact-info');\r\n            const phoneRow = document.getElementById('y-contact-phone-row');\r\n            document.getElementById('y-contact-email-link').innerText = job.email;\r\n            document.getElementById('y-contact-email-link').href = 'mailto:' + job.email;\r\n            \r\n            if(job.phone) {\r\n                document.getElementById('y-contact-phone-val').innerText = job.phone;\r\n                phoneRow.style.display = 'block';\r\n            } else {\r\n                phoneRow.style.display = 'none';\r\n            }\r\n            contactDiv.style.display = 'block';\r\n\r\n            const shareUrl = window.location.href.split('#')[0] + '#job=' + (job.id || '');\r\n            const encodedUrl = encodeURIComponent(shareUrl);\r\n            const encodedTitle = encodeURIComponent(job.title);\r\n            \r\n            document.getElementById('btn-share-native').onclick = function() {\r\n                if(navigator.share) navigator.share({ title: job.title, text: job.company, url: shareUrl });\r\n            };\r\n            document.getElementById('btn-share-wa').href = `https:\/\/api.whatsapp.com\/send?text=${encodedTitle}%20${encodedUrl}`;\r\n            document.getElementById('btn-share-fb').onclick = function() { window.open(`https:\/\/www.facebook.com\/sharer\/sharer.php?u=${encodedUrl}`, '_blank', 'width=600,height=400'); };\r\n            document.getElementById('btn-share-in').onclick = function() { window.open(`https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=${encodedUrl}`, '_blank', 'width=600,height=400'); };\r\n            \r\n            const cpBtn = document.getElementById('btn-share-cp');\r\n            cpBtn.onclick = function() {\r\n                navigator.clipboard.writeText(shareUrl).then(() => {\r\n                    cpBtn.classList.add('show-tip');\r\n                    setTimeout(() => cpBtn.classList.remove('show-tip'), 2000);\r\n                });\r\n            };\r\n\r\n            grid.style.display = 'none';\r\n            details.style.display = 'block';\r\n            details.scrollIntoView({behavior:'smooth'});\r\n\r\n            if (updateHash && job.id) window.location.hash = 'job=' + job.id;\r\n        }\r\n\r\n        window.closeYestay = function(updateHash = true) {\r\n            details.style.display = 'none';\r\n            grid.style.display = 'grid';\r\n            grid.scrollIntoView({behavior:'smooth'});\r\n            if (updateHash) {\r\n                if (currentFilter && currentFilter !== 'all') window.location.hash = 'brand=' + encodeURIComponent(currentFilter);\r\n                else history.pushState(\"\", document.title, window.location.pathname + window.location.search);\r\n            }\r\n        }\r\n\r\n        const form = document.getElementById('y-form');\r\n        const msg = document.getElementById('y-msg');\r\n        form.addEventListener('submit', function(e){\r\n            e.preventDefault();\r\n            const btn = document.getElementById('y-btn-sub');\r\n            const original = btn.innerText;\r\n            btn.innerText = txt.sending; btn.disabled=true; msg.style.display='none';\r\n\r\n            fetch(ajaxUrl, { method:'POST', body:new FormData(form) })\r\n            .then(r=>r.json()).then(d => {\r\n                btn.innerText = original; btn.disabled=false;\r\n                msg.style.display='block';\r\n                msg.className = d.success ? 'y-msg success' : 'y-msg error';\r\n                msg.innerText = d.data.message;\r\n                if(d.success) form.reset();\r\n            }).catch(err => { btn.innerText=original; btn.disabled=false; msg.style.display='block'; msg.className='y-msg error'; msg.innerText=txt.error; });\r\n        });\r\n    });\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-364bffe elementor-widget elementor-widget-spacer\" data-id=\"364bffe\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Career Opportunities<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":8085,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"Join our succesful team, elevate your career | YESTAY Group","_seopress_titles_desc":"Find the job of your dreams at YESTAY GROUP","_seopress_robots_index":"","inline_featured_image":false,"footnotes":""},"class_list":{"0":"post-8116","1":"page","2":"type-page","3":"status-publish","5":"cms-no-post-thumbnail"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/pages\/8116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/comments?post=8116"}],"version-history":[{"count":53,"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/pages\/8116\/revisions"}],"predecessor-version":[{"id":9780,"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/pages\/8116\/revisions\/9780"}],"up":[{"embeddable":true,"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/pages\/8085"}],"wp:attachment":[{"href":"https:\/\/www.yestaygroup.com\/en\/wp-json\/wp\/v2\/media?parent=8116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}