{"id":7013,"date":"2026-06-17T11:32:54","date_gmt":"2026-06-17T11:32:54","guid":{"rendered":"https:\/\/3solutions.pt\/?page_id=7013"},"modified":"2026-07-21T21:17:11","modified_gmt":"2026-07-21T21:17:11","slug":"jobmaps-candidatar-oferta","status":"publish","type":"page","link":"https:\/\/3solutions.pt\/en\/jobmaps-candidatar-oferta\/","title":{"rendered":"Candidatar-me \u00e0 Oferta"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7013\" class=\"elementor elementor-7013\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b5001db e-flex e-con-boxed e-con e-parent\" data-id=\"1b5001db\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fee31a elementor-widget elementor-widget-html\" data-id=\"6fee31a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <header class=\"jm-site-header\" data-wiw-header>\r\n          <div class=\"jm-site-header-inner\">\r\n\r\n            <a href=\"https:\/\/3solutions.pt\/en\/jobmaps-o-mapa-do-trabalho-local\/\"\r\n               class=\"jm-site-brand\"\r\n               aria-label=\"Ir para o mapa WIW\">\r\n              <span class=\"jm-site-logo\">\r\n                <img decoding=\"async\" src=\"https:\/\/3solutions.pt\/wp-content\/uploads\/2026\/06\/WIW.png\"\r\n                     alt=\"WIW \u2014 Work is Worth\">\r\n              <\/span>\r\n              <span class=\"jm-site-tagline\">O mapa de ofertas salariais na sua zona<\/span>\r\n            <\/a>\r\n\r\n            <nav class=\"jm-site-nav\" aria-label=\"Menu WIW\">\r\n\r\n              <a id=\"jm-link-contratar\"\r\n                 href=\"https:\/\/3solutions.pt\/en\/jobmaps-login\/\"\r\n                 class=\"jm-site-nav-link jm-primary-link\">\r\n                Quero contratar\r\n              <\/a>\r\n\r\n              <a id=\"jm-link-publicar\"\r\n                 href=\"https:\/\/3solutions.pt\/en\/planos-para-empresas-wiw\/\"\r\n                 class=\"jm-site-nav-link\"\r\n                 style=\"display:none;\">\r\n                Publicar oferta\r\n              <\/a>\r\n\r\n              <a id=\"jm-link-trabalhar\"\r\n                 href=\"https:\/\/3solutions.pt\/en\/jobmaps-login-candidato\/\"\r\n                 class=\"jm-site-nav-link\">\r\n                Quero trabalhar\r\n              <\/a>\r\n\r\n              <a id=\"jm-link-recrutador\"\r\n                 href=\"https:\/\/3solutions.pt\/en\/wiw-recrutadores\/\"\r\n                 class=\"jm-site-nav-link\">\r\n                Sou recrutador\r\n              <\/a>\r\n\r\n              <a id=\"jm-link-legal\"\r\n                 href=\"https:\/\/3solutions.pt\/en\/legal-wiw\/\"\r\n                 class=\"jm-site-nav-link jm-legal-link\">\r\n                Privacidade e Termos\r\n              <\/a>\r\n\r\n              <a id=\"jm-user-pill\"\r\n                 href=\"#\"\r\n                 class=\"jm-user-pill\"\r\n                 style=\"display:none;\">\r\n                <span class=\"jm-user-icon\" aria-hidden=\"true\">\ud83d\udc64<\/span>\r\n                <span id=\"jm-user-name\">Conta WIW<\/span>\r\n              <\/a>\r\n\r\n              <a id=\"jm-logout-link\"\r\n                 href=\"#\"\r\n                 class=\"jm-logout-link\"\r\n                 style=\"display:none;\">\r\n                Sair\r\n              <\/a>\r\n\r\n            <\/nav>\r\n\r\n          <\/div>\r\n        <\/header>\r\n\r\n        <script>\r\n        (function() {\r\n          function initWiwHeader() {\r\n            const header = document.querySelector(\"[data-wiw-header]\");\r\n            if (!header || header.dataset.ready === \"1\") return;\r\n\r\n            header.dataset.ready = \"1\";\r\n\r\n            const contratarLink = header.querySelector(\"#jm-link-contratar\");\r\n            const publicarLink = header.querySelector(\"#jm-link-publicar\");\r\n            const trabalharLink = header.querySelector(\"#jm-link-trabalhar\");\r\n            const recrutadorLink = header.querySelector(\"#jm-link-recrutador\");\r\n            const legalLink = header.querySelector(\"#jm-link-legal\");\r\n            const userPill = header.querySelector(\"#jm-user-pill\");\r\n            const userName = header.querySelector(\"#jm-user-name\");\r\n            const logoutLink = header.querySelector(\"#jm-logout-link\");\r\n\r\n            const urlsDefault = {\r\n              mapa: \"https:\/\/3solutions.pt\/en\/jobmaps-o-mapa-do-trabalho-local\/\",\r\n              loginEmpresa: \"https:\/\/3solutions.pt\/en\/jobmaps-login\/\",\r\n              areaEmpresa: \"https:\/\/3solutions.pt\/en\/jobmaps-area-empresa\/\",\r\n              planosEmpresa: \"https:\/\/3solutions.pt\/en\/planos-para-empresas-wiw\/\",\r\n              candidatos: \"https:\/\/3solutions.pt\/en\/jobmaps-candidatos\/\",\r\n              registoCandidato: \"https:\/\/3solutions.pt\/en\/jobmaps-registo-candidato\/\",\r\n              loginCandidato: \"https:\/\/3solutions.pt\/en\/jobmaps-login-candidato\/\",\r\n              areaCandidato: \"https:\/\/3solutions.pt\/en\/jobmaps-area-candidato\/\",\r\n              recrutador: \"https:\/\/3solutions.pt\/en\/wiw-recrutadores\/\",\r\n              areaRecrutador: \"https:\/\/3solutions.pt\/en\/jobmaps-area-recrutador\/\",\r\n              legal: \"https:\/\/3solutions.pt\/en\/legal-wiw\/\",\r\n              logoutAjax: \"https:\/\/3solutions.pt\/wp-admin\/admin-ajax.php\",\r\n              logoutRedirect: \"https:\/\/3solutions.pt\/en\/jobmaps-o-mapa-do-trabalho-local\/\" \r\n            };\r\n\r\n            function setHref(el, href) {\r\n              if (el && href) el.href = href;\r\n            }\r\n\r\n            function setText(el, text) {\r\n              if (el) el.textContent = text || \"\";\r\n            }\r\n\r\n            function show(el, displayValue) {\r\n              if (el) el.style.display = displayValue || \"inline-flex\";\r\n            }\r\n\r\n            function hide(el) {\r\n              if (el) el.style.display = \"none\";\r\n            }\r\n\r\n            function resetClasses() {\r\n              [contratarLink, publicarLink, trabalharLink, recrutadorLink, legalLink].forEach(function(link) {\r\n                if (!link) return;\r\n                link.classList.remove(\"jm-primary-link\", \"jm-logged-link\");\r\n              });\r\n            }\r\n\r\n            function resetVisibility() {\r\n              show(contratarLink);\r\n              hide(publicarLink);\r\n              show(trabalharLink);\r\n              show(recrutadorLink);\r\n              show(legalLink);\r\n              hide(userPill);\r\n              hide(logoutLink);\r\n            }\r\n\r\n            function applyCommonUrls(data) {\r\n              const urls = data && data.urls ? data.urls : {};\r\n\r\n              setHref(contratarLink, urls.login_empresa || urlsDefault.loginEmpresa);\r\n              setHref(publicarLink, urls.planos_empresa || urlsDefault.planosEmpresa);\r\n              setHref(trabalharLink, urls.login_candidato || urlsDefault.loginCandidato);\r\n              setHref(recrutadorLink, urls.recrutador || urlsDefault.recrutador);\r\n              setHref(legalLink, urls.legal || urlsDefault.legal);\r\n            }\r\n\r\n            function applyAccount(data, name, areaUrl) {\r\n              if (userPill && userName) {\r\n                setText(userName, name || \"Conta WIW\");\r\n                setHref(userPill, areaUrl);\r\n                show(userPill);\r\n              }\r\n\r\n              if (logoutLink) {\r\n                setHref(logoutLink, \"#\");\r\n                show(logoutLink);\r\n              }\r\n            }\r\n\r\n            function bindLogout() {\r\n              if (!logoutLink || logoutLink.dataset.bound === \"1\") {\r\n                return;\r\n              }\r\n\r\n              logoutLink.dataset.bound = \"1\";\r\n\r\n              logoutLink.addEventListener(\"click\", function(event) {\r\n                event.preventDefault();\r\n\r\n                if (logoutLink.dataset.loading === \"1\") {\r\n                  return;\r\n                }\r\n\r\n                logoutLink.dataset.loading = \"1\";\r\n                logoutLink.textContent = \"A sair...\";\r\n\r\n                const body = new URLSearchParams();\r\n                body.append(\"action\", \"wiw_logout_now\");\r\n\r\n                fetch(urlsDefault.logoutAjax, {\r\n                  method: \"POST\",\r\n                  credentials: \"same-origin\",\r\n                  cache: \"no-store\",\r\n                  headers: {\r\n                    \"Content-Type\": \"application\/x-www-form-urlencoded; charset=UTF-8\"\r\n                  },\r\n                  body: body.toString()\r\n                })\r\n                  .then(function(response) {\r\n                    return response.json();\r\n                  })\r\n                  .then(function(data) {\r\n                    const redirect =\r\n                      data &&\r\n                      data.success &&\r\n                      data.data &&\r\n                      data.data.redirect\r\n                        ? data.data.redirect\r\n                        : urlsDefault.logoutRedirect;\r\n\r\n                    window.location.replace(redirect);\r\n                  })\r\n                  .catch(function() {\r\n                    window.location.replace(urlsDefault.logoutRedirect);\r\n                  });\r\n              });\r\n            }\r\n\r\n            function applyCurrentPageHighlight() {\r\n              const path = String(window.location.pathname || \"\").toLowerCase();\r\n\r\n              [contratarLink, publicarLink, trabalharLink, recrutadorLink, legalLink].forEach(function(link) {\r\n                if (!link) return;\r\n                link.classList.remove(\"jm-primary-link\");\r\n              });\r\n\r\n              const isLegal =\r\n                path.includes(\"\/legal-wiw\") ||\r\n                path.includes(\"\/politica-de-privacidade\") ||\r\n                path.includes(\"\/termos-e-condicoes\") ||\r\n                path.includes(\"\/termos\");\r\n\r\n              const isRecruiter =\r\n                path.includes(\"\/wiw-recrutadores\") ||\r\n                path.includes(\"\/jobmaps-area-recrutador\") ||\r\n                path.includes(\"\/jobmaps-login-recrutador\") ||\r\n                path.includes(\"\/jobmaps-registo-recrutador\");\r\n\r\n              const isCandidate =\r\n                path.includes(\"\/jobmaps-candidatos\") ||\r\n                path.includes(\"\/jobmaps-registo-candidato\") ||\r\n                path.includes(\"\/jobmaps-login-candidato\") ||\r\n                path.includes(\"\/jobmaps-area-candidato\") ||\r\n                path.includes(\"\/jobmaps-candidatar-oferta\");\r\n\r\n              const isCompanyPublishing =\r\n                path.includes(\"\/planos-para-empresas-wiw\") ||\r\n                path.includes(\"\/jobmaps-publicar-oferta\");\r\n\r\n              const isCompanyArea =\r\n                path.includes(\"\/jobmaps-login\") ||\r\n                path.includes(\"\/jobmaps-registo-empresa\") ||\r\n                path.includes(\"\/jobmaps-area-empresa\") ||\r\n                path.includes(\"\/jobmaps-minhas-ofertas\") ||\r\n                path.includes(\"\/jobmaps-editar-oferta\") ||\r\n                path.includes(\"\/jobmaps-candidaturas-oferta\") ||\r\n                path.includes(\"\/jobmaps-ofertas-entidade\");\r\n\r\n              if (isLegal && legalLink && legalLink.style.display !== \"none\") {\r\n                legalLink.classList.add(\"jm-primary-link\");\r\n                return;\r\n              }\r\n\r\n              if (isRecruiter && recrutadorLink && recrutadorLink.style.display !== \"none\") {\r\n                recrutadorLink.classList.add(\"jm-primary-link\");\r\n                return;\r\n              }\r\n\r\n              if (isCandidate && trabalharLink && trabalharLink.style.display !== \"none\") {\r\n                trabalharLink.classList.add(\"jm-primary-link\");\r\n                return;\r\n              }\r\n\r\n              if (isCompanyPublishing) {\r\n                if (publicarLink && publicarLink.style.display !== \"none\") {\r\n                  publicarLink.classList.add(\"jm-primary-link\");\r\n                  return;\r\n                }\r\n\r\n                if (contratarLink && contratarLink.style.display !== \"none\") {\r\n                  contratarLink.classList.add(\"jm-primary-link\");\r\n                  return;\r\n                }\r\n              }\r\n\r\n              if (isCompanyArea && contratarLink && contratarLink.style.display !== \"none\") {\r\n                contratarLink.classList.add(\"jm-primary-link\");\r\n              }\r\n            }\r\n\r\n            function estadoNaoLogado(data) {\r\n              resetClasses();\r\n              resetVisibility();\r\n              applyCommonUrls(data || {});\r\n\r\n              setText(contratarLink, \"Quero contratar\");\r\n              setText(trabalharLink, \"Quero trabalhar\");\r\n              setText(recrutadorLink, \"Sou recrutador\");\r\n              setText(legalLink, \"Privacidade e Termos\");\r\n\r\n              applyCurrentPageHighlight();\r\n            }\r\n\r\n            function estadoEmpresaLogada(data) {\r\n              resetClasses();\r\n              resetVisibility();\r\n              applyCommonUrls(data);\r\n\r\n              setHref(contratarLink, data.area_url || urlsDefault.areaEmpresa);\r\n              setText(contratarLink, \"\u00c1rea da empresa\");\r\n\r\n              setHref(publicarLink, data.publicar_url || urlsDefault.planosEmpresa);\r\n              setText(publicarLink, \"Publicar oferta\");\r\n              publicarLink.classList.add(\"jm-primary-link\");\r\n              show(publicarLink);\r\n\r\n              hide(trabalharLink);\r\n\r\n              setText(recrutadorLink, \"Sou recrutador\");\r\n              setText(legalLink, \"Privacidade e Termos\");\r\n\r\n              applyAccount(\r\n                data,\r\n                data.empresa_titulo || data.display_name || \"Empresa\",\r\n                data.area_url || urlsDefault.areaEmpresa\r\n              );\r\n\r\n              applyCurrentPageHighlight();\r\n            }\r\n\r\n            function estadoCandidatoLogado(data) {\r\n              resetClasses();\r\n              resetVisibility();\r\n              applyCommonUrls(data);\r\n\r\n              hide(contratarLink);\r\n              hide(publicarLink);\r\n\r\n              setHref(trabalharLink, data.area_url || urlsDefault.areaCandidato);\r\n              setText(trabalharLink, \"\u00c1rea do candidato\");\r\n\r\n              setText(recrutadorLink, \"Sou recrutador\");\r\n              setText(legalLink, \"Privacidade e Termos\");\r\n\r\n              applyAccount(\r\n                data,\r\n                data.candidato_nome || data.display_name || \"Candidato\",\r\n                data.area_url || urlsDefault.areaCandidato\r\n              );\r\n\r\n              applyCurrentPageHighlight();\r\n            }\r\n\r\n            function estadoRecrutadorLogado(data) {\r\n              resetClasses();\r\n              resetVisibility();\r\n              applyCommonUrls(data);\r\n\r\n              setHref(contratarLink, data.empresa_login_url || urlsDefault.loginEmpresa);\r\n              setText(contratarLink, \"Quero contratar\");\r\n\r\n              hide(publicarLink);\r\n              hide(trabalharLink);\r\n\r\n              setHref(recrutadorLink, data.area_url || urlsDefault.areaRecrutador);\r\n              setText(recrutadorLink, \"\u00c1rea do recrutador\");\r\n\r\n              setText(legalLink, \"Privacidade e Termos\");\r\n\r\n              applyAccount(\r\n                data,\r\n                data.recrutador_nome || data.display_name || \"Recrutador\",\r\n                data.area_url || urlsDefault.areaRecrutador\r\n              );\r\n\r\n              applyCurrentPageHighlight();\r\n            }\r\n\r\n            bindLogout();\r\n\r\n            fetch(\"https:\/\/3solutions.pt\/wp-admin\/admin-ajax.php?action=jm5_header_me&t=\" + Date.now(), {\r\n              method: \"GET\",\r\n              credentials: \"same-origin\",\r\n              cache: \"no-store\"\r\n            })\r\n              .then(function(response) {\r\n                return response.json();\r\n              })\r\n              .then(function(data) {\r\n                if (!data || !data.logged_in) {\r\n                  estadoNaoLogado(data || {});\r\n                  return;\r\n                }\r\n\r\n                if (data.is_empresa) {\r\n                  estadoEmpresaLogada(data);\r\n                  return;\r\n                }\r\n\r\n                if (data.is_candidato) {\r\n                  estadoCandidatoLogado(data);\r\n                  return;\r\n                }\r\n\r\n                if (data.is_recrutador) {\r\n                  estadoRecrutadorLogado(data);\r\n                  return;\r\n                }\r\n\r\n                estadoNaoLogado(data);\r\n              })\r\n              .catch(function() {\r\n                estadoNaoLogado({});\r\n              });\r\n          }\r\n\r\n          if (document.readyState === \"loading\") {\r\n            document.addEventListener(\"DOMContentLoaded\", initWiwHeader);\r\n          } else {\r\n            initWiwHeader();\r\n          }\r\n        })();\r\n        <\/script>\r\n\r\n        <style>\r\n        .jm-site-header {\r\n          width: 100%;\r\n          padding: 0;\r\n          background: #ffffff;\r\n          box-sizing: border-box;\r\n          font-family: inherit;\r\n          position: relative;\r\n          z-index: 20;\r\n          border-bottom: 1px solid #e8ebf0;\r\n        }\r\n\r\n        .jm-site-header *,\r\n        .jm-site-header *::before,\r\n        .jm-site-header *::after {\r\n          box-sizing: border-box;\r\n        }\r\n\r\n        .jm-site-header-inner {\r\n          width: 100%;\r\n          margin: 0 auto;\r\n          padding: 4px 24px;\r\n          min-height: 66px;\r\n          background: #ffffff;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: space-between;\r\n          gap: 18px;\r\n          overflow: visible;\r\n          position: relative;\r\n        }\r\n\r\n        .jm-site-brand {\r\n          display: inline-flex;\r\n          flex-direction: column;\r\n          align-items: flex-start;\r\n          justify-content: center;\r\n          text-decoration: none;\r\n          flex-shrink: 0;\r\n          min-width: 250px;\r\n          overflow: visible;\r\n        }\r\n\r\n        .jm-site-logo {\r\n          height: 52px;\r\n          display: inline-flex;\r\n          align-items: center;\r\n          justify-content: flex-start;\r\n          overflow: visible;\r\n        }\r\n\r\n        .jm-site-logo img {\r\n          height: 150px;\r\n          width: auto;\r\n          max-width: 285px;\r\n          display: block;\r\n          transform: scale(1.16);\r\n          transform-origin: left center;\r\n        }\r\n\r\n        .jm-site-tagline {\r\n          margin-top: -9px;\r\n          padding-left: 6px;\r\n          color: #587092;\r\n          font-size: 12px;\r\n          font-weight: 750;\r\n          line-height: 1.2;\r\n          letter-spacing: -0.1px;\r\n          white-space: nowrap;\r\n        }\r\n\r\n        .jm-site-nav {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: flex-end;\r\n          gap: 16px;\r\n          flex-wrap: nowrap;\r\n        }\r\n\r\n        .jm-site-nav-link {\r\n          position: relative;\r\n          display: inline-flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          padding: 8px 0;\r\n          text-align: center;\r\n          text-decoration: none;\r\n          font-size: 12px;\r\n          font-weight: 650;\r\n          line-height: 1;\r\n          color: #405066;\r\n          background: transparent;\r\n          border: 0;\r\n          box-shadow: none;\r\n          transition: color 0.15s ease, opacity 0.15s ease;\r\n          white-space: nowrap;\r\n          opacity: 0.86;\r\n        }\r\n\r\n        .jm-site-nav-link::after {\r\n          content: \"\";\r\n          position: absolute;\r\n          left: 0;\r\n          right: 0;\r\n          bottom: -5px;\r\n          height: 2px;\r\n          border-radius: 999px;\r\n          background: #1556ff;\r\n          transform: scaleX(0);\r\n          transform-origin: center;\r\n          transition: transform 0.15s ease;\r\n        }\r\n\r\n        .jm-site-nav-link:hover {\r\n          color: #1556ff;\r\n          opacity: 1;\r\n        }\r\n\r\n        .jm-site-nav-link:hover::after {\r\n          transform: scaleX(1);\r\n        }\r\n\r\n        .jm-primary-link {\r\n          color: #1556ff;\r\n          font-weight: 750;\r\n          opacity: 0.95;\r\n        }\r\n\r\n        .jm-logged-link {\r\n          color: #15396f;\r\n          font-weight: 750;\r\n          opacity: 0.95;\r\n        }\r\n\r\n        .jm-legal-link {\r\n          color: #6b7d96;\r\n          font-size: 11.5px;\r\n        }\r\n\r\n        .jm-site-nav-link.jm-primary-link,\r\n        .jm-site-nav-link.jm-logged-link.jm-primary-link,\r\n        .jm-legal-link.jm-primary-link {\r\n          color: #1556ff;\r\n          font-weight: 750;\r\n          opacity: 1;\r\n        }\r\n\r\n        .jm-user-pill {\r\n          display: inline-flex;\r\n          align-items: center;\r\n          gap: 5px;\r\n          padding: 0;\r\n          color: #587092;\r\n          text-decoration: none;\r\n          font-size: 11.5px;\r\n          font-weight: 650;\r\n          white-space: nowrap;\r\n          max-width: 155px;\r\n          overflow: hidden;\r\n          text-overflow: ellipsis;\r\n          transition: color 0.15s ease;\r\n        }\r\n\r\n        .jm-user-pill:hover {\r\n          color: #1556ff;\r\n        }\r\n\r\n        .jm-user-icon {\r\n          font-size: 12px;\r\n          line-height: 1;\r\n          flex-shrink: 0;\r\n        }\r\n\r\n        #jm-user-name {\r\n          display: inline-block;\r\n          overflow: hidden;\r\n          text-overflow: ellipsis;\r\n          white-space: nowrap;\r\n        }\r\n\r\n        .jm-logout-link {\r\n          align-items: center;\r\n          justify-content: center;\r\n          color: #7d8da3;\r\n          text-decoration: none;\r\n          font-size: 11.5px;\r\n          font-weight: 750;\r\n          white-space: nowrap;\r\n        }\r\n\r\n        .jm-logout-link:hover {\r\n          color: #1556ff;\r\n        }\r\n\r\n        @media (max-width: 980px) {\r\n          .jm-site-header-inner {\r\n            padding: 5px 16px;\r\n            min-height: 64px;\r\n            gap: 14px;\r\n          }\r\n\r\n          .jm-site-brand {\r\n            min-width: 215px;\r\n          }\r\n\r\n          .jm-site-logo {\r\n            height: 50px;\r\n          }\r\n\r\n          .jm-site-logo img {\r\n            height: 135px;\r\n            max-width: 250px;\r\n            transform: scale(1.13);\r\n          }\r\n\r\n          .jm-site-tagline {\r\n            margin-top: -8px;\r\n            padding-left: 4px;\r\n            font-size: 11.5px;\r\n          }\r\n\r\n          .jm-site-nav {\r\n            gap: 12px;\r\n          }\r\n\r\n          .jm-site-nav-link {\r\n            font-size: 11.2px;\r\n            padding: 7px 0;\r\n          }\r\n\r\n          .jm-legal-link {\r\n            font-size: 10.8px;\r\n          }\r\n\r\n          .jm-user-pill {\r\n            font-size: 11px;\r\n            max-width: 115px;\r\n          }\r\n\r\n          .jm-logout-link {\r\n            font-size: 11px;\r\n          }\r\n        }\r\n\r\n        @media (max-width: 680px) {\r\n          .jm-site-header-inner {\r\n            padding: 8px 12px 13px;\r\n            min-height: auto;\r\n            flex-direction: column;\r\n            align-items: flex-start;\r\n            gap: 0;\r\n          }\r\n\r\n          .jm-site-brand {\r\n            width: 100%;\r\n            min-width: 0;\r\n            align-items: flex-start;\r\n            padding-right: 92px;\r\n          }\r\n\r\n          .jm-site-logo {\r\n            height: 70px;\r\n            width: 100%;\r\n            justify-content: flex-start;\r\n          }\r\n\r\n          .jm-site-logo img {\r\n            height: 156px;\r\n            max-width: 292px;\r\n            transform: scale(1.18);\r\n          }\r\n\r\n          .jm-site-tagline {\r\n            margin-top: -5px;\r\n            padding-left: 3px;\r\n            margin-bottom: 13px;\r\n            font-size: 12px;\r\n            text-align: left;\r\n            white-space: normal;\r\n            max-width: 100%;\r\n            line-height: 1.25;\r\n          }\r\n\r\n          .jm-site-nav {\r\n            width: 100%;\r\n            justify-content: center;\r\n            gap: 10px 14px;\r\n            flex-wrap: wrap;\r\n            padding-top: 6px;\r\n          }\r\n\r\n          .jm-site-nav-link {\r\n            font-size: 12px;\r\n            font-weight: 650;\r\n            padding: 5px 0;\r\n          }\r\n\r\n          .jm-legal-link {\r\n            font-size: 11.5px;\r\n            width: 100%;\r\n            order: 8;\r\n            opacity: 0.74;\r\n          }\r\n\r\n          .jm-site-nav-link::after {\r\n            bottom: -3px;\r\n          }\r\n\r\n          .jm-user-pill {\r\n            position: absolute;\r\n            top: 12px;\r\n            right: 44px;\r\n            font-size: 11px;\r\n            max-width: 92px;\r\n            justify-content: flex-end;\r\n          }\r\n\r\n          .jm-logout-link {\r\n            position: absolute;\r\n            top: 12px;\r\n            right: 12px;\r\n            font-size: 11px;\r\n          }\r\n        }\r\n\r\n        @media (max-width: 420px) {\r\n          .jm-site-header-inner {\r\n            padding: 8px 10px 12px;\r\n          }\r\n\r\n          .jm-site-brand {\r\n            padding-right: 82px;\r\n          }\r\n\r\n          .jm-site-logo {\r\n            height: 64px;\r\n          }\r\n\r\n          .jm-site-logo img {\r\n            height: 138px;\r\n            max-width: 255px;\r\n            transform: scale(1.13);\r\n          }\r\n\r\n          .jm-site-tagline {\r\n            margin-top: -3px;\r\n            margin-bottom: 12px;\r\n            padding-left: 2px;\r\n            font-size: 11.2px;\r\n          }\r\n\r\n          .jm-site-nav {\r\n            gap: 9px 11px;\r\n          }\r\n\r\n          .jm-site-nav-link {\r\n            font-size: 11.4px;\r\n            padding: 4px 0;\r\n          }\r\n\r\n          .jm-user-pill {\r\n            top: 11px;\r\n            right: 42px;\r\n            font-size: 10.5px;\r\n            max-width: 78px;\r\n          }\r\n\r\n          .jm-logout-link {\r\n            top: 11px;\r\n            right: 10px;\r\n            font-size: 10.5px;\r\n          }\r\n        }\r\n        <\/style>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7de3570f elementor-widget elementor-widget-html\" data-id=\"7de3570f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ======================================================\nWIW \u2014 Work is Worth\nP\u00e1gina: \/jobmaps-candidatar-oferta\/\nFicheiro: wiw-candidatar-oferta-pagina-v3-candidatura-completa.html\nObjetivo: p\u00e1gina visual de candidatura completa \u00e0 oferta.\nRequer snippet: WIW Candidatar Oferta \u2014 Handler V2 Candidatura Completa.\n====================================================== -->\n\n<section class=\"wiw-apply-page\" data-wiw-page=\"candidatar-oferta\">\n  <style>\n    .wiw-apply-page {\n      --wiw-blue: #12335f;\n      --wiw-blue-2: #1f4f8f;\n      --wiw-gold: #f3b233;\n      --wiw-bg: #f5f7fb;\n      --wiw-card: #ffffff;\n      --wiw-text: #152238;\n      --wiw-muted: #64748b;\n      --wiw-border: #dbe3ef;\n      --wiw-danger: #b42318;\n      --wiw-success: #027a48;\n      width: 100%;\n      max-width: 100%;\n      min-height: calc(100vh - 120px);\n      padding: 42px 18px 70px;\n      background: var(--wiw-bg);\n      color: var(--wiw-text);\n      font-family: inherit;\n      box-sizing: border-box;\n      overflow-x: hidden;\n    }\n\n    .wiw-apply-page * {\n      box-sizing: border-box;\n    }\n\n    .wiw-apply-wrap {\n      width: min(1160px, 100%);\n      margin: 0 auto;\n    }\n\n    .wiw-apply-hero {\n      display: grid;\n      grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);\n      gap: 24px;\n      align-items: stretch;\n      margin-bottom: 24px;\n    }\n\n    .wiw-apply-title-card,\n    .wiw-apply-side-card,\n    .wiw-apply-card {\n      background: var(--wiw-card);\n      border: 1px solid var(--wiw-border);\n      border-radius: 22px;\n      box-shadow: 0 18px 45px rgba(15, 35, 65, 0.08);\n      overflow: hidden;\n    }\n\n    .wiw-apply-title-card {\n      padding: 32px;\n      position: relative;\n    }\n\n    .wiw-apply-title-card::after {\n      content: \"\";\n      position: absolute;\n      right: -80px;\n      top: -80px;\n      width: 220px;\n      height: 220px;\n      background: radial-gradient(circle, rgba(243,178,51,.24), rgba(243,178,51,0) 68%);\n      pointer-events: none;\n    }\n\n    .wiw-kicker {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      margin-bottom: 14px;\n      padding: 7px 12px;\n      border-radius: 999px;\n      background: rgba(18, 51, 95, 0.08);\n      color: var(--wiw-blue);\n      font-size: 13px;\n      font-weight: 800;\n      letter-spacing: .02em;\n    }\n\n    .wiw-apply-title-card h1 {\n      margin: 0 0 12px;\n      color: var(--wiw-blue);\n      font-size: clamp(30px, 4vw, 48px);\n      line-height: 1.05;\n      letter-spacing: -0.035em;\n      position: relative;\n      z-index: 2;\n    }\n\n    .wiw-apply-title-card p {\n      margin: 0;\n      max-width: 760px;\n      color: var(--wiw-muted);\n      font-size: 17px;\n      line-height: 1.65;\n      position: relative;\n      z-index: 2;\n    }\n\n    .wiw-apply-side-card {\n      padding: 26px;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      gap: 16px;\n      border-top: 5px solid var(--wiw-gold);\n    }\n\n    .wiw-apply-side-card strong {\n      color: var(--wiw-blue);\n      font-size: 19px;\n      line-height: 1.3;\n    }\n\n    .wiw-apply-side-card span {\n      color: var(--wiw-muted);\n      font-size: 15px;\n      line-height: 1.55;\n    }\n\n    .wiw-apply-grid {\n      display: grid;\n      grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);\n      gap: 24px;\n      align-items: start;\n    }\n\n    .wiw-apply-card {\n      padding: 26px;\n    }\n\n    .wiw-apply-card h2 {\n      margin: 0 0 18px;\n      color: var(--wiw-blue);\n      font-size: 22px;\n      line-height: 1.2;\n      letter-spacing: -0.02em;\n    }\n\n    .wiw-apply-card h3 {\n      margin: 14px 0 12px;\n      color: var(--wiw-blue);\n      font-size: 17px;\n      line-height: 1.25;\n    }\n\n    .wiw-apply-note {\n      margin: 0 0 18px;\n      padding: 14px 16px;\n      background: rgba(31, 79, 143, 0.06);\n      border: 1px solid rgba(31, 79, 143, 0.14);\n      border-radius: 14px;\n      color: var(--wiw-muted);\n      font-size: 14px;\n      line-height: 1.5;\n    }\n\n    .wiw-offer-box {\n      display: grid;\n      gap: 14px;\n    }\n\n    .wiw-info-row {\n      display: grid;\n      grid-template-columns: 120px 1fr;\n      gap: 12px;\n      padding-bottom: 13px;\n      border-bottom: 1px solid #edf1f7;\n    }\n\n    .wiw-info-row:last-child {\n      border-bottom: 0;\n      padding-bottom: 0;\n    }\n\n    .wiw-info-label {\n      color: var(--wiw-muted);\n      font-size: 13px;\n      font-weight: 800;\n      text-transform: uppercase;\n      letter-spacing: .04em;\n    }\n\n    .wiw-info-value {\n      color: var(--wiw-text);\n      font-size: 15px;\n      line-height: 1.45;\n      font-weight: 650;\n      overflow-wrap: anywhere;\n    }\n\n    .wiw-info-value.is-muted {\n      color: var(--wiw-muted);\n      font-weight: 500;\n    }\n\n    .wiw-apply-form {\n      display: grid;\n      gap: 18px;\n    }\n\n    .wiw-form-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 16px;\n    }\n\n    .wiw-field {\n      display: grid;\n      gap: 8px;\n      min-width: 0;\n    }\n\n    .wiw-field.full {\n      grid-column: 1 \/ -1;\n    }\n\n    .wiw-field label {\n      color: var(--wiw-blue);\n      font-size: 14px;\n      font-weight: 850;\n    }\n\n    .wiw-field small {\n      color: var(--wiw-muted);\n      font-size: 13px;\n      line-height: 1.45;\n    }\n\n    .wiw-field textarea,\n    .wiw-field input,\n    .wiw-field select {\n      width: 100%;\n      border: 1px solid var(--wiw-border);\n      border-radius: 15px;\n      padding: 14px 15px;\n      font-size: 15px;\n      color: var(--wiw-text);\n      background: #fff;\n      outline: none;\n      transition: border-color .2s ease, box-shadow .2s ease;\n      box-sizing: border-box;\n      font-family: inherit;\n      min-width: 0;\n    }\n\n    .wiw-field input[readonly] {\n      background: #f8fafc;\n      color: #334155;\n      cursor: not-allowed;\n    }\n\n    .wiw-field textarea {\n      min-height: 120px;\n      resize: vertical;\n    }\n\n    .wiw-field textarea:focus,\n    .wiw-field input:focus,\n    .wiw-field select:focus {\n      border-color: rgba(31, 79, 143, .55);\n      box-shadow: 0 0 0 4px rgba(31, 79, 143, .10);\n    }\n\n    .wiw-file-box {\n      padding: 16px;\n      border: 1px dashed rgba(31,79,143,.35);\n      border-radius: 16px;\n      background: #f8fbff;\n    }\n\n    .wiw-current-cv {\n      display: none;\n      margin-top: 8px;\n      color: var(--wiw-muted);\n      font-size: 13px;\n      line-height: 1.45;\n    }\n\n    .wiw-current-cv a {\n      color: var(--wiw-blue-2);\n      font-weight: 800;\n    }\n\n    .wiw-check {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      padding: 14px;\n      border: 1px solid var(--wiw-border);\n      border-radius: 15px;\n      background: #fff;\n    }\n\n    .wiw-check input {\n      margin-top: 3px;\n      width: 18px;\n      height: 18px;\n      flex: 0 0 auto;\n    }\n\n    .wiw-check span {\n      color: var(--wiw-muted);\n      font-size: 14px;\n      line-height: 1.5;\n    }\n\n    .wiw-reference-permission {\n      display: none;\n      gap: 10px;\n      padding: 16px;\n      border: 1px solid rgba(31, 79, 143, .20);\n      border-radius: 15px;\n      background: rgba(31, 79, 143, .05);\n    }\n\n    .wiw-reference-permission.is-visible {\n      display: grid;\n    }\n\n    .wiw-reference-permission .wiw-check {\n      margin: 0;\n      background: #ffffff;\n    }\n\n    .wiw-reference-permission strong {\n      color: var(--wiw-blue);\n      font-size: 15px;\n      line-height: 1.35;\n    }\n\n    .wiw-reference-permission p {\n      margin: 0;\n      color: var(--wiw-muted);\n      font-size: 13px;\n      line-height: 1.5;\n    }\n\n    .wiw-reference-status {\n      padding: 12px 14px;\n      border-radius: 13px;\n      background: #f8fafc;\n      border: 1px solid var(--wiw-border);\n      color: var(--wiw-muted);\n      font-size: 13px;\n      line-height: 1.45;\n    }\n\n    .wiw-actions {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      align-items: center;\n      margin-top: 4px;\n    }\n\n    .wiw-btn {\n      appearance: none;\n      border: 0;\n      border-radius: 999px;\n      padding: 14px 22px;\n      font-size: 15px;\n      font-weight: 850;\n      cursor: pointer;\n      text-decoration: none;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 8px;\n      transition: transform .18s ease, box-shadow .18s ease, background .18s ease;\n      font-family: inherit;\n      box-sizing: border-box;\n    }\n\n    .wiw-btn-primary {\n      color: #fff;\n      background: linear-gradient(135deg, var(--wiw-blue), var(--wiw-blue-2));\n      box-shadow: 0 14px 25px rgba(18, 51, 95, .22);\n    }\n\n    .wiw-btn-primary:hover {\n      transform: translateY(-1px);\n      box-shadow: 0 18px 30px rgba(18, 51, 95, .27);\n    }\n\n    .wiw-btn-secondary {\n      color: var(--wiw-blue);\n      background: #fff;\n      border: 1px solid var(--wiw-border);\n    }\n\n    .wiw-btn-secondary:hover {\n      background: #f8fafc;\n    }\n\n    .wiw-system-message {\n      display: none;\n      padding: 14px 16px;\n      border-radius: 14px;\n      font-size: 14px;\n      line-height: 1.5;\n      margin-bottom: 18px;\n    }\n\n    .wiw-system-message.is-visible {\n      display: block;\n    }\n\n    .wiw-system-message.is-info {\n      background: rgba(31, 79, 143, .08);\n      border: 1px solid rgba(31, 79, 143, .16);\n      color: var(--wiw-blue);\n    }\n\n    .wiw-system-message.is-error {\n      background: rgba(180, 35, 24, .07);\n      border: 1px solid rgba(180, 35, 24, .18);\n      color: var(--wiw-danger);\n    }\n\n    .wiw-system-message.is-success {\n      background: rgba(2, 122, 72, .07);\n      border: 1px solid rgba(2, 122, 72, .18);\n      color: var(--wiw-success);\n    }\n\n    .wiw-loading {\n      opacity: .65;\n      pointer-events: none;\n    }\n\n    @media (max-width: 900px) {\n      .wiw-apply-page {\n        padding: 26px 14px 54px;\n      }\n\n      .wiw-apply-hero,\n      .wiw-apply-grid,\n      .wiw-form-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .wiw-apply-title-card,\n      .wiw-apply-card,\n      .wiw-apply-side-card {\n        border-radius: 18px;\n        padding: 22px;\n      }\n\n      .wiw-info-row {\n        grid-template-columns: 1fr;\n        gap: 4px;\n      }\n\n      .wiw-actions {\n        flex-direction: column;\n        align-items: stretch;\n      }\n\n      .wiw-btn {\n        width: 100%;\n      }\n    }\n\n    @media (max-width: 520px) {\n      .wiw-apply-page {\n        padding: 22px 10px 46px;\n      }\n\n      .wiw-apply-title-card,\n      .wiw-apply-card,\n      .wiw-apply-side-card {\n        padding: 20px 16px;\n      }\n    }\n  <\/style>\n\n  <div class=\"wiw-apply-wrap\">\n    <div class=\"wiw-apply-hero\">\n      <div class=\"wiw-apply-title-card\">\n        <div class=\"wiw-kicker\">WIW \u2014 Work is Worth<\/div>\n        <h1>Candidatura \u00e0 oferta<\/h1>\n        <p>\n          Confirme a oferta, reveja os seus dados e envie uma candidatura completa.\n          Os seus dados aparecem pr\u00e9-preenchidos sempre que existirem no perfil de candidato.\n        <\/p>\n      <\/div>\n\n      <aside class=\"wiw-apply-side-card\">\n        <strong>Antes de enviar<\/strong>\n        <span>\n          O nome vem do perfil e n\u00e3o deve ser alterado aqui. Os restantes dados podem ser ajustados apenas para esta candidatura.\n        <\/span>\n      <\/aside>\n    <\/div>\n\n    <div id=\"wiwApplyMessage\" class=\"wiw-system-message is-info is-visible\">\n      A preparar a candidatura...\n    <\/div>\n\n    <div class=\"wiw-apply-grid\">\n      <aside class=\"wiw-apply-card\">\n        <h2>Resumo da oferta<\/h2>\n        <p class=\"wiw-apply-note\">\n          Estes dados s\u00e3o carregados automaticamente a partir da oferta selecionada.\n        <\/p>\n\n        <div class=\"wiw-offer-box\" id=\"wiwOfferBox\">\n          <div class=\"wiw-info-row\">\n            <div class=\"wiw-info-label\">Fun\u00e7\u00e3o<\/div>\n            <div class=\"wiw-info-value\" data-wiw-offer=\"title\">Oferta selecionada<\/div>\n          <\/div>\n          <div class=\"wiw-info-row\">\n            <div class=\"wiw-info-label\">Empresa<\/div>\n            <div class=\"wiw-info-value\" data-wiw-offer=\"company\">Entidade WIW<\/div>\n          <\/div>\n          <div class=\"wiw-info-row\">\n            <div class=\"wiw-info-label\">Local<\/div>\n            <div class=\"wiw-info-value\" data-wiw-offer=\"location\">Localiza\u00e7\u00e3o da oferta<\/div>\n          <\/div>\n          <div class=\"wiw-info-row\">\n            <div class=\"wiw-info-label\">Vencimento<\/div>\n            <div class=\"wiw-info-value\" data-wiw-offer=\"salary\">A indicar<\/div>\n          <\/div>\n          <div class=\"wiw-info-row\">\n            <div class=\"wiw-info-label\">Hor\u00e1rio<\/div>\n            <div class=\"wiw-info-value is-muted\" data-wiw-offer=\"schedule\">A indicar pela entidade<\/div>\n          <\/div>\n        <\/div>\n      <\/aside>\n\n      <main class=\"wiw-apply-card\">\n        <h2>A sua candidatura<\/h2>\n        <p class=\"wiw-apply-note\">\n          Preencha os dados essenciais. O CV pode ser substitu\u00eddo nesta candidatura sem alterar obrigatoriamente o perfil.\n        <\/p>\n\n        <form class=\"wiw-apply-form\" id=\"wiwApplyForm\" method=\"post\" action=\"#\" enctype=\"multipart\/form-data\">\n          <input type=\"hidden\" name=\"action\" value=\"jm5_candidatar_oferta\">\n          <input type=\"hidden\" name=\"oferta_id\" id=\"wiwOfertaId\" value=\"\">\n\n          <h3>Dados do candidato<\/h3>\n\n          <div class=\"wiw-form-grid\">\n            <div class=\"wiw-field\">\n              <label for=\"wiwNomeCandidato\">Nome<\/label>\n              <input id=\"wiwNomeCandidato\" type=\"text\" name=\"nome_visual\" readonly value=\"Dados do candidato autenticado\">\n              <small>O nome vem do perfil de candidato e n\u00e3o \u00e9 edit\u00e1vel nesta candidatura.<\/small>\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwEmailCandidatura\">Email de contacto *<\/label>\n              <input id=\"wiwEmailCandidatura\" type=\"email\" name=\"email_candidatura\" required placeholder=\"email@exemplo.pt\">\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwTelefoneCandidatura\">Telefone de contacto *<\/label>\n              <input id=\"wiwTelefoneCandidatura\" type=\"tel\" name=\"telefone_candidatura\" required placeholder=\"Ex: 912 345 678\">\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwLocalidadeCandidatura\">Localidade<\/label>\n              <input id=\"wiwLocalidadeCandidatura\" type=\"text\" name=\"localidade_candidatura\" placeholder=\"Ex: Cascais\">\n            <\/div>\n          <\/div>\n\n          <label class=\"wiw-check\">\n            <input type=\"checkbox\" name=\"atualizar_perfil\" value=\"1\">\n            <span>Atualizar tamb\u00e9m o meu perfil de candidato com estes contactos e CV.<\/span>\n          <\/label>\n\n          <h3>CV e disponibilidade<\/h3>\n\n          <div class=\"wiw-form-grid\">\n            <div class=\"wiw-field full wiw-file-box\">\n              <label for=\"wiwCvCandidatura\">Carregar CV<\/label>\n              <input id=\"wiwCvCandidatura\" type=\"file\" name=\"cv_candidatura\" accept=\".pdf,.doc,.docx,application\/pdf,application\/msword,application\/vnd.openxmlformats-officedocument.wordprocessingml.document\">\n              <small>Formatos aceites: PDF, DOC ou DOCX. Tamanho m\u00e1ximo: 5 MB.<\/small>\n              <div id=\"wiwCurrentCv\" class=\"wiw-current-cv\"><\/div>\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwDisponibilidadeInicio\">Disponibilidade para come\u00e7ar<\/label>\n              <select id=\"wiwDisponibilidadeInicio\" name=\"disponibilidade_inicio\">\n                <option value=\"\">Selecionar<\/option>\n                <option value=\"Imediata\">Imediata<\/option>\n                <option value=\"At\u00e9 15 dias\">At\u00e9 15 dias<\/option>\n                <option value=\"At\u00e9 30 dias\">At\u00e9 30 dias<\/option>\n                <option value=\"Mais de 30 dias\">Mais de 30 dias<\/option>\n                <option value=\"A combinar\">A combinar<\/option>\n              <\/select>\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwDisponibilidadeHoraria\">Disponibilidade hor\u00e1ria<\/label>\n              <select id=\"wiwDisponibilidadeHoraria\" name=\"disponibilidade_horaria\">\n                <option value=\"\">Selecionar<\/option>\n                <option value=\"Full-time\">Full-time<\/option>\n                <option value=\"Part-time\">Part-time<\/option>\n                <option value=\"Turnos\">Turnos<\/option>\n                <option value=\"Fins de semana\">Fins de semana<\/option>\n                <option value=\"Hor\u00e1rio flex\u00edvel\">Hor\u00e1rio flex\u00edvel<\/option>\n                <option value=\"A combinar\">A combinar<\/option>\n              <\/select>\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwCartaConducao\">Carta de condu\u00e7\u00e3o<\/label>\n              <select id=\"wiwCartaConducao\" name=\"carta_conducao\">\n                <option value=\"\">Selecionar<\/option>\n                <option value=\"Sim\">Sim<\/option>\n                <option value=\"N\u00e3o\">N\u00e3o<\/option>\n                <option value=\"N\u00e3o aplic\u00e1vel\">N\u00e3o aplic\u00e1vel<\/option>\n              <\/select>\n            <\/div>\n\n            <div class=\"wiw-field\">\n              <label for=\"wiwTransporteProprio\">Transporte pr\u00f3prio<\/label>\n              <select id=\"wiwTransporteProprio\" name=\"transporte_proprio\">\n                <option value=\"\">Selecionar<\/option>\n                <option value=\"Sim\">Sim<\/option>\n                <option value=\"N\u00e3o\">N\u00e3o<\/option>\n                <option value=\"N\u00e3o aplic\u00e1vel\">N\u00e3o aplic\u00e1vel<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n\n          <h3>Informa\u00e7\u00e3o para a entidade<\/h3>\n\n          <div class=\"wiw-form-grid\">\n            <div class=\"wiw-field full\">\n              <label for=\"wiwExperiencia\">Experi\u00eancia relevante<\/label>\n              <textarea id=\"wiwExperiencia\" name=\"experiencia_relevante\" maxlength=\"1500\" placeholder=\"Ex: Tenho experi\u00eancia em atendimento, caixa, reposi\u00e7\u00e3o, lideran\u00e7a de equipa...\"><\/textarea>\n              <small>Explique de forma simples a experi\u00eancia mais relevante para esta oportunidade.<\/small>\n            <\/div>\n\n            <div class=\"wiw-field full\">\n              <label for=\"wiwFormacao\">Forma\u00e7\u00e3o relevante<\/label>\n              <textarea id=\"wiwFormacao\" name=\"formacao_relevante\" maxlength=\"1000\" placeholder=\"Ex: 12.\u00ba ano, curso profissional, forma\u00e7\u00e3o em atendimento, HACCP, inform\u00e1tica...\"><\/textarea>\n            <\/div>\n\n            <div class=\"wiw-field full\">\n              <label for=\"wiwMotivacao\">Porque se candidata a esta oferta? *<\/label>\n              <textarea id=\"wiwMotivacao\" name=\"motivacao\" required minlength=\"20\" maxlength=\"1500\" placeholder=\"Explique porque esta oportunidade faz sentido para si e porque considera que pode ser uma boa escolha.\"><\/textarea>\n            <\/div>\n\n            <div class=\"wiw-field full\">\n              <label for=\"wiwMensagem\">Mensagem curta para a entidade<\/label>\n              <textarea id=\"wiwMensagem\" name=\"mensagem\" maxlength=\"1200\" placeholder=\"Opcional. Pode deixar uma mensagem mais direta, por exemplo disponibilidade para entrevista ou contacto.\"><\/textarea>\n            <\/div>\n\n            <div class=\"wiw-field full\">\n              <label for=\"wiwObservacoes\">Observa\u00e7\u00f5es adicionais<\/label>\n              <textarea id=\"wiwObservacoes\" name=\"observacoes\" maxlength=\"1000\" placeholder=\"Opcional. Alguma informa\u00e7\u00e3o importante sobre hor\u00e1rios, desloca\u00e7\u00f5es ou disponibilidade.\"><\/textarea>\n            <\/div>\n          <\/div>\n\n          <h3>Autoriza\u00e7\u00f5es<\/h3>\n\n          <label class=\"wiw-check\">\n            <input type=\"checkbox\" name=\"confirmacao\" value=\"1\" required>\n            <span>Confirmo que pretendo enviar esta candidatura para a oferta selecionada.<\/span>\n          <\/label>\n\n          <label class=\"wiw-check\">\n            <input type=\"checkbox\" name=\"autorizacao_contacto\" value=\"1\" required>\n            <span>Autorizo que a entidade empregadora me contacte no \u00e2mbito desta candidatura.<\/span>\n          <\/label>\n\n          <label class=\"wiw-check\">\n            <input type=\"checkbox\" name=\"autorizacao_dados\" value=\"1\" required>\n            <span>Autorizo a WIW a tratar os dados desta candidatura para efeitos de recrutamento, gest\u00e3o da oportunidade e contacto entre candidato e entidade.<\/span>\n          <\/label>\n\n          <div id=\"wiwReferencePermission\" class=\"wiw-reference-permission\">\n            <strong>Refer\u00eancias profissionais<\/strong>\n\n            <div id=\"wiwReferenceStatus\" class=\"wiw-reference-status\">\n              A verificar se tem refer\u00eancias profissionais aprovadas...\n            <\/div>\n\n            <label id=\"wiwReferenceCheck\" class=\"wiw-check\" style=\"display:none;\">\n              <input id=\"wiwAutorizarReferencias\" type=\"checkbox\" name=\"autorizacao_referencias\" value=\"1\">\n              <span>\n                Autorizo esta entidade a consultar as minhas refer\u00eancias profissionais aprovadas no \u00e2mbito desta candidatura.\n              <\/span>\n            <\/label>\n\n            <p>\n              Esta autoriza\u00e7\u00e3o aplica-se apenas a esta candidatura e a esta entidade. Refer\u00eancias pendentes, rejeitadas ou eliminadas nunca ser\u00e3o apresentadas.\n            <\/p>\n          <\/div>\n\n          <div class=\"wiw-actions\">\n            <button type=\"submit\" class=\"wiw-btn wiw-btn-primary\" id=\"wiwApplySubmit\" disabled>\n              Enviar candidatura\n            <\/button>\n            <a class=\"wiw-btn wiw-btn-secondary\" href=\"\/jobmaps-o-mapa-do-trabalho-local\/\">\n              Voltar ao mapa\n            <\/a>\n          <\/div>\n        <\/form>\n      <\/main>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function () {\n      var params = new URLSearchParams(window.location.search);\n      var ofertaId = params.get(\"oferta\") || params.get(\"oferta_id\") || \"\";\n      var ofertaInput = document.getElementById(\"wiwOfertaId\");\n      var message = document.getElementById(\"wiwApplyMessage\");\n      var form = document.getElementById(\"wiwApplyForm\");\n      var submitBtn = document.getElementById(\"wiwApplySubmit\");\n      var ajaxUrl = \"\/wp-admin\/admin-ajax.php\";\n      var loginUrl = \"\/jobmaps-login-candidato\/\";\n\n      function setMessage(type, text) {\n        if (!message) return;\n        message.className = \"wiw-system-message is-\" + type + \" is-visible\";\n        message.textContent = text;\n      }\n\n      function setText(selector, value) {\n        var el = document.querySelector(selector);\n        if (el) el.textContent = value || \"A indicar\";\n      }\n\n      function setValue(id, value) {\n        var el = document.getElementById(id);\n        if (el) el.value = value || \"\";\n      }\n\n      function setLoading(isLoading) {\n        var page = document.querySelector(\".wiw-apply-page\");\n        if (page) page.classList.toggle(\"wiw-loading\", !!isLoading);\n      }\n\n      function escapeHtml(value) {\n        return String(value || \"\")\n          .replace(\/&\/g, \"&amp;\")\n          .replace(\/<\/g, \"&lt;\")\n          .replace(\/>\/g, \"&gt;\")\n          .replace(\/\"\/g, \"&quot;\")\n          .replace(\/'\/g, \"&#039;\");\n      }\n\n      if (ofertaInput) {\n        ofertaInput.value = ofertaId;\n      }\n\n      if (!ofertaId) {\n        setMessage(\"error\", \"Ainda n\u00e3o foi identificada uma oferta. Volte ao mapa e escolha uma oportunidade para se candidatar.\");\n        return;\n      }\n\n      function loadContext() {\n        setLoading(true);\n        fetch(ajaxUrl + \"?action=jm5_candidatura_contexto&oferta_id=\" + encodeURIComponent(ofertaId), {\n          credentials: \"same-origin\"\n        })\n          .then(function (response) { return response.json(); })\n          .then(function (data) {\n            setLoading(false);\n\n            if (!data || !data.success) {\n              setMessage(\"error\", (data && data.message) ? data.message : \"N\u00e3o foi poss\u00edvel carregar esta oferta.\");\n              return;\n            }\n\n            var offer = data.offer || {};\n            var candidate = data.candidate || {};\n\n            var referencePermission = document.getElementById(\"wiwReferencePermission\");\n            var referenceStatus = document.getElementById(\"wiwReferenceStatus\");\n            var referenceCheck = document.getElementById(\"wiwReferenceCheck\");\n            var approvedReferences = parseInt(candidate.approved_references || 0, 10);\n\n            if (referencePermission) {\n              referencePermission.classList.add(\"is-visible\");\n            }\n\n            if (referenceStatus) {\n              if (approvedReferences > 0) {\n                referenceStatus.textContent =\n                  \"Tem \" + approvedReferences + \" refer\u00eancia\" +\n                  (approvedReferences === 1 ? \" profissional aprovada.\" : \"s profissionais aprovadas.\");\n              } else {\n                referenceStatus.textContent =\n                  \"Ainda n\u00e3o tem refer\u00eancias profissionais aprovadas. Pode enviar a candidatura normalmente.\";\n              }\n            }\n\n            if (referenceCheck) {\n              referenceCheck.style.display = approvedReferences > 0 ? \"flex\" : \"none\";\n            }\n\n            setText('[data-wiw-offer=\"title\"]', offer.title);\n            setText('[data-wiw-offer=\"company\"]', offer.company);\n            setText('[data-wiw-offer=\"location\"]', offer.location);\n            setText('[data-wiw-offer=\"salary\"]', offer.salary);\n            setText('[data-wiw-offer=\"schedule\"]', offer.schedule);\n\n            setValue(\"wiwNomeCandidato\", candidate.name || \"Candidato WIW\");\n            setValue(\"wiwEmailCandidatura\", candidate.email || \"\");\n            setValue(\"wiwTelefoneCandidatura\", candidate.phone || \"\");\n            setValue(\"wiwLocalidadeCandidatura\", candidate.localidade || \"\");\n            setValue(\"wiwExperiencia\", candidate.resumo || \"\");\n\n            var currentCv = document.getElementById(\"wiwCurrentCv\");\n            if (currentCv && candidate.cv_url) {\n              currentCv.style.display = \"block\";\n              currentCv.innerHTML = 'CV atual encontrado no perfil: <a href=\"' + escapeHtml(candidate.cv_url) + '\" target=\"_blank\" rel=\"noopener\">abrir CV<\/a>. Pode carregar outro ficheiro apenas para esta candidatura.';\n            }\n\n            if (!candidate.logged_in) {\n              loginUrl = candidate.login_url || (\"\/jobmaps-login-candidato\/?redirect_to=\" + encodeURIComponent(window.location.href));\n              setMessage(\"error\", \"Para se candidatar, deve iniciar sess\u00e3o como candidato WIW.\");\n              if (submitBtn) {\n                submitBtn.disabled = false;\n                submitBtn.textContent = \"Entrar como candidato\";\n                submitBtn.dataset.mode = \"login\";\n              }\n              return;\n            }\n\n            if (!candidate.is_candidate) {\n              setMessage(\"error\", \"Esta p\u00e1gina \u00e9 exclusiva para candidatos WIW. Saia desta sess\u00e3o e entre como candidato.\");\n              if (submitBtn) submitBtn.disabled = true;\n              return;\n            }\n\n            setMessage(\"info\", \"Candidatura pronta. Complete os campos obrigat\u00f3rios e envie quando estiver seguro.\");\n            if (submitBtn) {\n              submitBtn.disabled = false;\n              submitBtn.textContent = \"Enviar candidatura\";\n              submitBtn.dataset.mode = \"submit\";\n            }\n          })\n          .catch(function () {\n            setLoading(false);\n            setMessage(\"error\", \"Erro ao carregar os dados da candidatura. Atualize a p\u00e1gina e tente novamente.\");\n          });\n      }\n\n      if (form) {\n        form.addEventListener(\"submit\", function (event) {\n          event.preventDefault();\n\n          if (submitBtn && submitBtn.dataset.mode === \"login\") {\n            window.location.href = loginUrl;\n            return;\n          }\n\n          var motivacao = document.getElementById(\"wiwMotivacao\");\n          var email = document.getElementById(\"wiwEmailCandidatura\");\n          var telefone = document.getElementById(\"wiwTelefoneCandidatura\");\n          var cv = document.getElementById(\"wiwCvCandidatura\");\n\n          if (email && !email.value.trim()) {\n            setMessage(\"error\", \"Indique um email de contacto.\");\n            email.focus();\n            return;\n          }\n\n          if (telefone && !telefone.value.trim()) {\n            setMessage(\"error\", \"Indique um telefone de contacto.\");\n            telefone.focus();\n            return;\n          }\n\n          if (motivacao && motivacao.value.trim().length < 20) {\n            setMessage(\"error\", \"Escreva uma motiva\u00e7\u00e3o curta com pelo menos 20 caracteres.\");\n            motivacao.focus();\n            return;\n          }\n\n          if (cv && cv.files && cv.files.length > 0) {\n            var file = cv.files[0];\n            var allowed = [\n              \"application\/pdf\",\n              \"application\/msword\",\n              \"application\/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n            ];\n\n            if (allowed.indexOf(file.type) === -1) {\n              setMessage(\"error\", \"Formato de CV inv\u00e1lido. Use PDF, DOC ou DOCX.\");\n              return;\n            }\n\n            if (file.size > 5 * 1024 * 1024) {\n              setMessage(\"error\", \"O CV deve ter no m\u00e1ximo 5 MB.\");\n              return;\n            }\n          }\n\n          var formData = new FormData(form);\n          formData.set(\"action\", \"jm5_candidatar_oferta\");\n          formData.set(\"oferta_id\", ofertaId);\n\n          if (!formData.get(\"confirmacao\") || !formData.get(\"autorizacao_contacto\") || !formData.get(\"autorizacao_dados\")) {\n            setMessage(\"error\", \"Confirme as autoriza\u00e7\u00f5es obrigat\u00f3rias antes de enviar.\");\n            return;\n          }\n\n          if (submitBtn) {\n            submitBtn.disabled = true;\n            submitBtn.textContent = \"A enviar...\";\n          }\n\n          setLoading(true);\n\n          fetch(ajaxUrl, {\n            method: \"POST\",\n            credentials: \"same-origin\",\n            body: formData\n          })\n            .then(function (response) { return response.json(); })\n            .then(function (data) {\n              setLoading(false);\n\n              if (!data || !data.success) {\n                setMessage(\"error\", (data && data.message) ? data.message : \"N\u00e3o foi poss\u00edvel enviar a candidatura.\");\n                if (data && data.redirect && !data.logged_in) {\n                  loginUrl = data.redirect;\n                  if (submitBtn) {\n                    submitBtn.disabled = false;\n                    submitBtn.textContent = \"Entrar como candidato\";\n                    submitBtn.dataset.mode = \"login\";\n                  }\n                  return;\n                }\n\n                if (submitBtn) {\n                  submitBtn.disabled = false;\n                  submitBtn.textContent = \"Enviar candidatura\";\n                }\n                return;\n              }\n\n              setMessage(\"success\", data.message || \"Candidatura enviada com sucesso.\");\n              if (submitBtn) {\n                submitBtn.disabled = true;\n                submitBtn.textContent = \"Candidatura enviada\";\n              }\n\n              if (data.redirect) {\n                window.setTimeout(function () {\n                  window.location.href = data.redirect;\n                }, 1000);\n              }\n            })\n            .catch(function () {\n              setLoading(false);\n              setMessage(\"error\", \"Erro ao enviar a candidatura. Tente novamente.\");\n              if (submitBtn) {\n                submitBtn.disabled = false;\n                submitBtn.textContent = \"Enviar candidatura\";\n              }\n            });\n        });\n      }\n\n      loadContext();\n    })();\n  <\/script>\n<\/section>\n\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>WIW \u2014 Work is Worth Candidatura \u00e0 oferta Confirme a oferta, reveja os seus dados e envie uma candidatura completa. Os seus dados aparecem pr\u00e9-preenchidos sempre que existirem no perfil de candidato. Antes de enviar O nome vem do perfil e n\u00e3o deve ser alterado aqui. Os restantes dados podem ser ajustados apenas para esta [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","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":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"class_list":["post-7013","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/3solutions.pt\/en\/jobmaps-candidatar-oferta\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho\" \/>\n<meta property=\"og:description\" content=\"WIW \u2014 Work is Worth Candidatura \u00e0 oferta Confirme a oferta, reveja os seus dados e envie uma candidatura completa. Os seus dados aparecem pr\u00e9-preenchidos sempre que existirem no perfil de candidato. Antes de enviar O nome vem do perfil e n\u00e3o deve ser alterado aqui. Os restantes dados podem ser ajustados apenas para esta [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/3solutions.pt\/en\/jobmaps-candidatar-oferta\/\" \/>\n<meta property=\"og:site_name\" content=\"3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/17VAXrDnwy\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-21T21:17:11+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/3solutions.pt\\\/jobmaps-candidatar-oferta\\\/\",\"url\":\"https:\\\/\\\/3solutions.pt\\\/jobmaps-candidatar-oferta\\\/\",\"name\":\"Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#website\"},\"datePublished\":\"2026-06-17T11:32:54+00:00\",\"dateModified\":\"2026-07-21T21:17:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/3solutions.pt\\\/jobmaps-candidatar-oferta\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/3solutions.pt\\\/jobmaps-candidatar-oferta\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/3solutions.pt\\\/jobmaps-candidatar-oferta\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/3solutions.pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Candidatar-me \u00e0 Oferta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#website\",\"url\":\"https:\\\/\\\/3solutions.pt\\\/\",\"name\":\"3Solutions Consultoria em Marketing e Gest\u00e3o\",\"description\":\"Consultoria e Marketing Digital\",\"publisher\":{\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/3solutions.pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#organization\",\"name\":\"3Solutions Consultoria em Marketing e Gest\u00e3o\",\"url\":\"https:\\\/\\\/3solutions.pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/3solutions.pt\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-Prancheta-1-copia-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/3solutions.pt\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-Prancheta-1-copia-scaled-1.png\",\"width\":1505,\"height\":785,\"caption\":\"3Solutions Consultoria em Marketing e Gest\u00e3o\"},\"image\":{\"@id\":\"https:\\\/\\\/3solutions.pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/share\\\/17VAXrDnwy\\\/\",\"https:\\\/\\\/www.instagram.com\\\/wespeakretail?igsh=d2Y0a2RzY29nN2Fv\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/3solutions.pt\/en\/jobmaps-candidatar-oferta\/","og_locale":"en_GB","og_type":"article","og_title":"Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho","og_description":"WIW \u2014 Work is Worth Candidatura \u00e0 oferta Confirme a oferta, reveja os seus dados e envie uma candidatura completa. Os seus dados aparecem pr\u00e9-preenchidos sempre que existirem no perfil de candidato. Antes de enviar O nome vem do perfil e n\u00e3o deve ser alterado aqui. Os restantes dados podem ser ajustados apenas para esta [&hellip;]","og_url":"https:\/\/3solutions.pt\/en\/jobmaps-candidatar-oferta\/","og_site_name":"3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho","article_publisher":"https:\/\/www.facebook.com\/share\/17VAXrDnwy\/","article_modified_time":"2026-07-21T21:17:11+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/3solutions.pt\/jobmaps-candidatar-oferta\/","url":"https:\/\/3solutions.pt\/jobmaps-candidatar-oferta\/","name":"Candidatar-me \u00e0 Oferta - 3 Solutions | WE SPEAK RETAIL - Consultoria e Forma\u00e7\u00e3o retalho","isPartOf":{"@id":"https:\/\/3solutions.pt\/#website"},"datePublished":"2026-06-17T11:32:54+00:00","dateModified":"2026-07-21T21:17:11+00:00","breadcrumb":{"@id":"https:\/\/3solutions.pt\/jobmaps-candidatar-oferta\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/3solutions.pt\/jobmaps-candidatar-oferta\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/3solutions.pt\/jobmaps-candidatar-oferta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/3solutions.pt\/"},{"@type":"ListItem","position":2,"name":"Candidatar-me \u00e0 Oferta"}]},{"@type":"WebSite","@id":"https:\/\/3solutions.pt\/#website","url":"https:\/\/3solutions.pt\/","name":"3Solutions Consultoria em Marketing e Gest\u00e3o","description":"Consultoria e Marketing Digital","publisher":{"@id":"https:\/\/3solutions.pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/3solutions.pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/3solutions.pt\/#organization","name":"3Solutions Consultoria em Marketing e Gest\u00e3o","url":"https:\/\/3solutions.pt\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/3solutions.pt\/#\/schema\/logo\/image\/","url":"https:\/\/3solutions.pt\/wp-content\/uploads\/2026\/05\/cropped-Prancheta-1-copia-scaled-1.png","contentUrl":"https:\/\/3solutions.pt\/wp-content\/uploads\/2026\/05\/cropped-Prancheta-1-copia-scaled-1.png","width":1505,"height":785,"caption":"3Solutions Consultoria em Marketing e Gest\u00e3o"},"image":{"@id":"https:\/\/3solutions.pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/17VAXrDnwy\/","https:\/\/www.instagram.com\/wespeakretail?igsh=d2Y0a2RzY29nN2Fv"]}]}},"_links":{"self":[{"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/pages\/7013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/comments?post=7013"}],"version-history":[{"count":31,"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/pages\/7013\/revisions"}],"predecessor-version":[{"id":8078,"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/pages\/7013\/revisions\/8078"}],"wp:attachment":[{"href":"https:\/\/3solutions.pt\/en\/wp-json\/wp\/v2\/media?parent=7013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}