{"id":37443,"date":"2026-02-10T12:27:46","date_gmt":"2026-02-10T11:27:46","guid":{"rendered":"https:\/\/borgosantopietro.com\/?page_id=37443"},"modified":"2026-02-12T09:16:24","modified_gmt":"2026-02-12T08:16:24","slug":"lavora-con-noi","status":"publish","type":"page","link":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/","title":{"rendered":"Lavora con noi"},"content":{"rendered":"<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/02\/DJI_0271-2.jpg\" alt=\"\"><br \/>\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/02\/DJI_0271-2.jpg\" alt=\"\"><\/p>\n<div>\n<div class=\"bsp-careers-portal\">\n<div class=\"bsp-container\">\n      <!-- CAREERS HERO SECTION --><\/p>\n<div class=\"careers-hero\" id=\"careersHeader\">\n<div class=\"hero-content\">\n    <span class=\"hero-eyebrow\">  Unisciti alla nostra famiglia<\/span><\/p>\n<h1 class=\"hero-title\">Lavora con noi<\/h1>\n<div class=\"hero-cta\">\n      <button class=\"scroll-indicator\" onclick=\"document.getElementById('jobGrid').scrollIntoView({behavior: 'smooth', block: 'start'})\"><br \/>\n        <span class=\"scroll-text\"> Scopri le posizioni aperte<\/span><\/p>\n<div class=\"scroll-arrow\">\n          <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line>\n            <polyline points=\"19 12 12 19 5 12\"><\/polyline>\n          <\/svg>\n        <\/div>\n<p>      <\/button>\n    <\/div>\n<\/p><\/div>\n<\/div>\n<p>    <!-- JOB GRID --><\/p>\n<div class=\"job-grid\" id=\"jobGrid\"><\/div>\n<p>    <!-- APPLICATION FORM --><\/p>\n<div class=\"application-form\" id=\"applicationForm\">\n<h2 class=\"form-title\">Apply Now<\/h2>\n<p>      <!-- FORM LOGO --><\/p>\n<div class=\"form-logo\" id=\"formJobLogo\"><\/div>\n<p class=\"applying-for\">\n        Applying for: <strong id=\"displayJobTitle\"><\/strong>\n      <\/p>\n<form id=\"applyForm\" method=\"POST\" enctype=\"multipart\/form-data\">\n        <input type=\"hidden\" name=\"borgo_form\" value=\"1\"><br \/>\n        <input type=\"hidden\" id=\"applyJobId\" name=\"jobId\"><br \/>\n        <input type=\"hidden\" id=\"applyJobTitle\" name=\"jobTitle\"><\/p>\n<div class=\"form-group\">\n          <label>Full Name *<\/label><br \/>\n          <input type=\"text\" name=\"fullName\" id=\"fullName\" required>\n        <\/div>\n<div class=\"form-group\">\n          <label>Email *<\/label><br \/>\n          <input type=\"email\" name=\"email\" id=\"email\" required>\n        <\/div>\n<div class=\"form-group\">\n          <label>Phone *<\/label><br \/>\n          <input type=\"tel\" name=\"phone\" id=\"phone\" required>\n        <\/div>\n<div class=\"form-group\">\n          <label>Location<\/label><br \/>\n          <input type=\"text\" name=\"location\" id=\"location\">\n        <\/div>\n<div class=\"form-group\">\n          <label>Years of Experience<\/label><br \/>\n          <select name=\"experience\" id=\"experience\" required><option value=\"\" selected><\/option><option value=\"0-2\">0-2 years<\/option><option value=\"2-5\">2-5 years<\/option><option value=\"5-10\">5-10 years<\/option><option value=\"10+\">10+ years<\/option><\/select>\n        <\/div>\n<div class=\"form-group\">\n          <label>Tell us why you are great for this role *<\/label><br \/>\n          <textarea name=\"message\" id=\"message\" maxlength=\"500\" required><\/textarea><br \/>\n          <small id=\"charCount\">500 characters remaining<\/small>\n        <\/div>\n<div class=\"form-group\">\n          <label>Resume Upload<\/label><br \/>\n          <input type=\"file\" name=\"resume\" id=\"resume\" accept=\".pdf,.doc,.docx\" onchange=\"showFileName(this)\"><br \/>\n          <small>PDF, DOC, DOCX only (Max 5MB)<\/small><\/p>\n<div id=\"fileNameDisplay\" style=\"margin-top: 8px; color: #667eea; font-weight: 500;\"><\/div>\n<\/p><\/div>\n<div class=\"form-group checkbox-group\" style=\"margin: 20px 0;\">\n  <label style=\"display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; cursor: pointer; font-weight: 400;\"><br \/>\n    <input type=\"checkbox\" id=\"privacyConsent\" name=\"privacyConsent\" required style=\"margin-top: 3px; min-width: 16px; height: 16px; cursor: pointer;\"><br \/>\n    <span style=\"color: rgba(28, 58, 19, 0.8);\">I consent to the processing of my personal data for recruitment purposes in accordance with the <a href=\"https:\/\/borgosantopietro.com\/it\/privacy-policy\/\" target=\"_blank\" style=\"color: #1c3a13; text-decoration: underline; font-weight: 500;\">Privacy Policy<\/a>.<\/span><br \/>\n  <\/label>\n<\/div>\n<div class=\"form-actions\">\n          <button type=\"button\" class=\"btn-secondary\" id=\"cancelApply\">Cancel<\/button><br \/>\n          <button type=\"submit\" class=\"btn-primary\" id=\"submitBtn\">Submit Application<\/button>\n        <\/div>\n<\/p><\/form>\n<\/p><\/div>\n<p>    <!-- THANK YOU MESSAGE --><\/p>\n<div class=\"thank-you-message\" id=\"thankYouMessage\">\n<h2>Thank You for Your Application!<\/h2>\n<p>Your application has been successfully submitted. We will review and contact you if your profile is suitable for the position.<\/p>\n<\/p><\/div>\n<p>    <!-- JOB MODAL --><\/p>\n<div class=\"job-modal\" id=\"jobModal\">\n<div class=\"job-modal-content\">\n        <button class=\"job-modal-close\" id=\"closeModal\">&times;<\/button><\/p>\n<div class=\"modal-header\">\n<div class=\"modal-logo\" id=\"modalJobLogo\"><\/div>\n<h2 id=\"modalJobTitle\"><\/h2>\n<div class=\"job-meta-in-modal\">\n            <span id=\"modalJobType\"><\/span><br \/>\n            <span id=\"modalJobLocation\"><\/span>\n          <\/div>\n<\/p><\/div>\n<div class=\"modal-body\">\n<h3 class=\"job-main-heading\">About this job<\/h3>\n<div class=\"job-description\" id=\"modalJobDescription\"><\/div>\n<div id=\"modalResponsibilitiesSection\">\n<h3>Main Responsibilities<\/h3>\n<ul class=\"modal-responsibilities\" id=\"modalJobResponsibilities\"><\/ul>\n<\/p><\/div>\n<div id=\"modalRequirementsSection\">\n<h3>Candidate Profile<\/h3>\n<ul class=\"modal-requirements\" id=\"modalJobRequirements\"><\/ul>\n<\/p><\/div>\n<div id=\"modalBenefitsSection\">\n<h3>Benefits<\/h3>\n<ul class=\"modal-benefits\" id=\"modalJobBenefits\"><\/ul>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"modal-actions\">\n          <button class=\"btn-primary\" id=\"modalApplyBtn\">Apply Now<\/button>\n        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p><script>\n function showFileName(input) {\n  const display = document.getElementById('fileNameDisplay');\n  if (input.files && input.files[0]) {\n    display.innerHTML = '<i class=\"fas fa-check-circle\" style=\"color: #4facfe;\"><\/i> Selected: ' + input.files[0].name;\n  } else {\n    display.textContent = '';\n  }\n}<\/p>\n<p>\/\/ ===== JOB DATA - FETCH FROM DATABASE =====\nlet jobsData = [];<\/p>\n<p>\/\/ Fetch jobs from database\nfetch('\/wp-admin\/admin-ajax.php?action=get_borgo_jobs')\n  .then(res => res.json())\n  .then(data => {\n    jobsData = data;\n    renderJobs();\n  })\n  .catch(err => {\n    console.error('Error loading jobs:', err);\n  });<\/p>\n<p>\/\/ ===== LOGO FUNCTION =====\nfunction getLogoUrl(logoId) {\n  const logoUrls = {\n    1: 'https:\/\/borgosantopietro.com\/wp-content\/uploads\/2026\/02\/BORGO-1-1.svg',\n    2: 'https:\/\/borgosantopietro.com\/wp-content\/uploads\/2026\/02\/SAPORIUM-GENERAL.svg',\n    3: 'https:\/\/borgosantopietro.com\/wp-content\/uploads\/2026\/02\/SAPORIUM-FIRENZE-1.svg',\n    4: 'https:\/\/borgosantopietro.com\/wp-content\/uploads\/2026\/02\/SEED-TO-SKIN-1-1.svg'\n  };\n  return logoUrls[logoId] || logoUrls[1];\n}<\/p>\n<p>\/\/ ===== DOM ELEMENTS =====\nconst jobGrid = document.getElementById('jobGrid');\nconst jobModal = document.getElementById('jobModal');\nconst applicationForm = document.getElementById('applicationForm');\nconst displayJobTitle = document.getElementById('displayJobTitle');\nconst applyJobId = document.getElementById('applyJobId');\nconst applyJobTitle = document.getElementById('applyJobTitle');\nconst applyForm = document.getElementById('applyForm');\nconst cancelApplyBtn = document.getElementById('cancelApply');\nconst message = document.getElementById('message');\nconst charCount = document.getElementById('charCount');<\/p>\n<p>\/\/ ===== RENDER JOBS =====\nfunction renderJobs() {\n  jobGrid.innerHTML = '';<\/p>\n<p>  jobsData.forEach(job => {\nconst description = parseJobField(job.description);\nconst thirdPara = description[2] || description[0] || '';  \/\/ \u2190 Takes 3rd paragraph, falls back to 1st if missing\nconst shortDesc = thirdPara.substring(0, 120).trim() + '...';<\/p>\n<p>    const row = document.createElement('div');\n    row.className = 'job-row';\n    row.dataset.id = job.id;<\/p>\n<p>    const logoUrl = getLogoUrl(job.logo_id || 1);\n    row.style.setProperty('--logo-url', `url('${logoUrl}')`);<\/p>\n<p>    row.innerHTML = `<\/p>\n<div class=\"job-title\">${escapeHtml(job.title)}<\/div>\n<div class=\"job-meta\">${escapeHtml(job.type)} \u00b7 ${escapeHtml(job.location)}<\/div>\n<div class=\"job-desc\">${escapeHtml(shortDesc)}<\/div>\n<p>      <button class=\"view-btn\">View Position<\/button>\n    `;<\/p>\n<p>    jobGrid.appendChild(row);\n  });\n}<\/p>\n<p>\/\/ ===== ESCAPE HTML =====\nfunction escapeHtml(text) {\n  if (!text) return '';\n  const div = document.createElement('div');\n  div.textContent = text;\n  return div.innerHTML;\n}<\/p>\n<p>\/\/ ===== PARSE JSON FIELDS =====\nfunction parseJobField(field) {\n  if (Array.isArray(field)) return field;\n  if (typeof field === 'object' && field !== null) return Object.values(field);\n  if (typeof field === 'string') {\n    try {\n      const parsed = JSON.parse(field);\n      if (Array.isArray(parsed)) return parsed;\n      if (typeof parsed === 'object') return Object.values(parsed);\n      return [parsed];\n    } catch (e) {\n      return [field];\n    }\n  }\n  return [];\n}<\/p>\n<p>\/\/ ===== CHECK IF FIELD HAS CONTENT =====\nfunction hasContent(field) {\n  const parsed = parseJobField(field);\n  if (!parsed || parsed.length === 0) return false;\n  if (parsed.length === 1 && (!parsed[0] || parsed[0].trim() === '')) return false;\n  return true;\n}<\/p>\n<p>\/\/ ===== OPEN MODAL =====\ndocument.addEventListener('click', e => {\n  if (e.target.closest('.view-btn') || e.target.closest('.job-row')) {\n    const row = e.target.closest('.job-row');\n    if (!row) return;<\/p>\n<p>    const job = jobsData.find(j => j.id == row.dataset.id);\n    if (!job) return;<\/p>\n<p>    document.getElementById('modalJobTitle').textContent = job.title;\n    document.getElementById('modalJobType').textContent = job.type;\n    document.getElementById('modalJobLocation').textContent = job.location;\n    document.getElementById('modalJobLogo').style.backgroundImage = `url('${getLogoUrl(job.logo_id || 1)}')`;<\/p>\n<p>    const description = parseJobField(job.description);\n    const descriptionElement = document.getElementById('modalJobDescription');\n    descriptionElement.innerHTML = '';\n    description.forEach(paragraph => {\n      if (paragraph && paragraph.trim()) {\n        const p = document.createElement('p');\n        p.textContent = paragraph;\n        descriptionElement.appendChild(p);\n      }\n    });<\/p>\n<p>    const respSection = document.getElementById('modalResponsibilitiesSection');\n    if (!hasContent(job.responsibilities)) {\n      respSection.style.display = 'none';\n    } else {\n      respSection.style.display = 'block';\n      const responsibilities = parseJobField(job.responsibilities);\n      document.getElementById('modalJobResponsibilities').innerHTML = responsibilities.map(r => `<\/p>\n<li>${escapeHtml(r)}<\/li>\n<p>`).join('');\n    }<\/p>\n<p>    const reqSection = document.getElementById('modalRequirementsSection');\n    if (!hasContent(job.requirements)) {\n      reqSection.style.display = 'none';\n    } else {\n      reqSection.style.display = 'block';\n      const requirements = parseJobField(job.requirements);\n      document.getElementById('modalJobRequirements').innerHTML = requirements.map(r => `<\/p>\n<li>${escapeHtml(r)}<\/li>\n<p>`).join('');\n    }<\/p>\n<p>    const benSection = document.getElementById('modalBenefitsSection');\n    if (!hasContent(job.benefits)) {\n      benSection.style.display = 'none';\n    } else {\n      benSection.style.display = 'block';\n      const benefits = parseJobField(job.benefits);\n      document.getElementById('modalJobBenefits').innerHTML = benefits.map(b => `<\/p>\n<li>${escapeHtml(b)}<\/li>\n<p>`).join('');\n    }<\/p>\n<p>    jobModal.style.display = 'flex';\n    jobGrid.style.display = 'none';<\/p>\n<p>    const careersHeader = document.getElementById('careersHeader');\n    if (careersHeader) careersHeader.style.display = 'none';<\/p>\n<p>    document.body.classList.add('modal-open');\n  }\n});<\/p>\n<p>\/\/ ===== MODAL APPLY BUTTON =====\ndocument.getElementById('modalApplyBtn').onclick = () => {\n  const title = document.getElementById('modalJobTitle').textContent;\n  const job = jobsData.find(j => j.title === title);\n  if (!job) return;<\/p>\n<p>  applyJobId.value = job.id;\n  applyJobTitle.value = job.title;\n  displayJobTitle.textContent = job.title;\n  document.getElementById('formJobLogo').style.backgroundImage = `url('${getLogoUrl(job.logo_id || 1)}')`;<\/p>\n<p>  jobModal.style.display = 'none';\n  applicationForm.style.display = 'flex';<\/p>\n<p>  const careersHeader = document.getElementById('careersHeader');\n  if (careersHeader) careersHeader.style.display = 'none';<\/p>\n<p>  applyForm.reset();\n  if (charCount) charCount.textContent = \"500 characters remaining\";\n};<\/p>\n<p>\/\/ ===== CANCEL APPLY =====\ncancelApplyBtn.onclick = () => {\n  applicationForm.style.display = 'none';\n  jobGrid.style.display = 'grid';<\/p>\n<p>  const careersHeader = document.getElementById('careersHeader');\n  if (careersHeader) careersHeader.style.display = 'block';\n};<\/p>\n<p>\/\/ ===== CHARACTER COUNTER =====\nif (message && charCount) {\n  message.addEventListener('input', () => {\n    charCount.textContent = (500 - message.value.length) + \" characters remaining\";\n  });\n}<\/p>\n<p>\/\/ ===== CLOSE MODAL BUTTON =====\ndocument.getElementById('closeModal').addEventListener('click', function(e) {\n  e.preventDefault();\n  e.stopPropagation();<\/p>\n<p>  jobModal.style.display = 'none';\n  jobGrid.style.display = 'grid';<\/p>\n<p>  const careersHeader = document.getElementById('careersHeader');\n  if (careersHeader) careersHeader.style.display = 'block';<\/p>\n<p>  document.body.classList.remove('modal-open');\n});<\/p>\n<p>\/\/ ===== CLOSE MODAL ON BACKDROP CLICK =====\njobModal.addEventListener('click', function(e) {\n  if (e.target === jobModal) {\n    jobModal.style.display = 'none';\n    jobGrid.style.display = 'grid';<\/p>\n<p>    const careersHeader = document.getElementById('careersHeader');\n    if (careersHeader) careersHeader.style.display = 'block';<\/p>\n<p>    document.body.classList.remove('modal-open');\n  }\n});<\/p>\n<p>\/\/ ===== SUBMIT FORM =====\napplyForm.onsubmit = (e) => {\n  \/\/ Check privacy consent first\n  if (!document.getElementById('privacyConsent').checked) {\n    e.preventDefault();\n    alert('Please consent to the Privacy Policy to proceed.');\n    return false;\n  }<\/p>\n<p>  \/\/ Existing submission code\n  setTimeout(() => {\n    applicationForm.style.display = 'none';\n    jobGrid.style.display = 'none';<\/p>\n<p>    const careersHeader = document.getElementById('careersHeader');\n    if (careersHeader) careersHeader.style.display = 'none';<\/p>\n<p>    document.getElementById('thankYouMessage').style.display = 'block';\n    window.scrollTo({top: 0, behavior: 'smooth'});\n  }, 100);\n};\n    \/\/ Disable submit button until privacy is checked\ndocument.addEventListener('DOMContentLoaded', function() {\n  const submitBtn = document.getElementById('submitBtn');\n  const privacyCheckbox = document.getElementById('privacyConsent');<\/p>\n<p>  \/\/ Initial disabled state\n  submitBtn.disabled = true;\n  submitBtn.style.opacity = '0.4';\n  submitBtn.style.cursor = 'not-allowed';\n  submitBtn.style.background = 'rgba(28, 58, 19, 0.3)';<\/p>\n<p>  \/\/ Enable\/disable based on checkbox\n  privacyCheckbox.addEventListener('change', function() {\n    if (this.checked) {\n      submitBtn.disabled = false;\n      submitBtn.style.opacity = '1';\n      submitBtn.style.cursor = 'pointer';\n      submitBtn.style.background = ''; \/\/ restores original color\n    } else {\n      submitBtn.disabled = true;\n      submitBtn.style.opacity = '0.4';\n      submitBtn.style.cursor = 'not-allowed';\n      submitBtn.style.background = 'rgba(28, 58, 19, 0.3)';\n    }\n  });\n});\n<\/script><\/p>\n<\/div>\n<p><!--more--><br \/>\n<!-- {\"type\":\"layout\",\"children\":[{\"type\":\"section\",\"props\":{\"class\":\"uk-visible@s\",\"image_position\":\"center-center\",\"padding\":\"small\",\"padding_remove_horizontal\":true,\"padding_remove_top\":true,\"style\":\"default\",\"title_breakpoint\":\"xl\",\"title_position\":\"top-left\",\"title_rotation\":\"left\",\"vertical_align\":\"middle\",\"width\":\"\"},\"children\":[{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"image\",\"props\":{\"css\":\"\\n\\\/* Wrap the image container *\\\/\\n.el-element {\\n    position: relative !important;\\n    display: block !important;\\n}\\n\\n\\\/* Text on container, not image *\\\/\\n.el-element::after {\\n    content: \\\"Entra a far parte del nostro team\\\";\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    color: #fff;\\n    font-size: 48px;\\n    font-weight: 700;\\n    letter-spacing: 4px;\\n    text-transform: uppercase;\\n    z-index: 10;\\n    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);\\n    pointer-events: none;\\n}\\n\\n\\\/* Dark overlay *\\\/\\n.el-element::before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    background: rgba(0, 0, 0, 0.35);\\n    z-index: 5;\\n    pointer-events: none;\\n}\\n\\n\\\/* Ensure image is behind *\\\/\\n.el-image {\\n    position: relative !important;\\n    z-index: 1 !important;\\n    display: block !important;\\n    width: 100% !important;\\n}\\n\\\/* Less dark overlay *\\\/\\n.el-element::before {\\n    background: rgba(0, 0, 0, 0.15) !important; \\\/* Was 0.35, now lighter *\\\/\\n}\\n\\n\\\/* Or even lighter *\\\/\\n.el-element::before {\\n    background: rgba(0, 0, 0, 0.1) !important;\\n}\\n\\n\\\/* Or no overlay, just text shadow *\\\/\\n.el-element::before {\\n    display: none !important;\\n}\\n\\n.el-element::after {\\n    text-shadow: 3px 3px 12px rgba(0,0,0,0.8) !important; \\\/* Stronger shadow *\\\/\\n}\\n.el-element {\\n    position: relative !important;\\n    display: block !important;\\n}\\n\\n\\\/* Text overlay *\\\/\\n.el-element::after {\\n    content: \\\"Entra a far parte del nostro team\\\";\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    color: #fff;\\n    font-size: 48px;\\n    font-weight: 700;\\n    letter-spacing: 4px;\\n    text-transform: uppercase;\\n    z-index: 10;\\n    text-shadow: 3px 3px 12px rgba(0,0,0,0.8);\\n    pointer-events: none;\\n\\n    \\\/* \\ud83d\\udd25 IMPORTANT PART *\\\/\\n    white-space: nowrap;        \\\/* keeps text in one line *\\\/\\n    text-align: center;\\n}\\n\\n\\\/* Optional light overlay *\\\/\\n.el-element::before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    inset: 0;\\n    background: rgba(0, 0, 0, 0.1);\\n    z-index: 5;\\n    pointer-events: none;\\n}\\n\\n.el-image {\\n    position: relative !important;\\n    z-index: 1 !important;\\n    width: 100% !important;\\n}\\n\",\"image\":\"wp-content\\\/uploads\\\/2026\\\/02\\\/DJI_0271-2.jpg\",\"image_svg_color\":\"emphasis\",\"margin\":\"default\"}}]}]}]},{\"type\":\"section\",\"props\":{\"class\":\"uk-hidden@s\",\"image_position\":\"center-center\",\"padding_remove_horizontal\":true,\"padding_remove_top\":true,\"style\":\"default\",\"title_breakpoint\":\"xl\",\"title_position\":\"top-left\",\"title_rotation\":\"left\",\"vertical_align\":\"middle\",\"width\":\"\"},\"children\":[{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"image\",\"props\":{\"css\":\"\\n\\\/* Wrap the image container *\\\/\\n.el-element {\\n    position: relative !important;\\n    display: block !important;\\n}\\n\\n\\\/* Text on container, not image *\\\/\\n.el-element::after {\\n    content: \\\"Entra nel team\\\";\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    color: #fff;\\n    font-size: 20px;\\n    font-weight: 700;\\n    letter-spacing: 2px;\\n    text-transform: uppercase;\\n    z-index: 10;\\n    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);\\n    pointer-events: none;\\n}\\n\\n\\\/* Dark overlay *\\\/\\n.el-element::before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    right: 0;\\n    bottom: 0;\\n    background: rgba(0, 0, 0, 0.35);\\n    z-index: 5;\\n    pointer-events: none;\\n}\\n\\n\\\/* Ensure image is behind *\\\/\\n.el-image {\\n    position: relative !important;\\n    z-index: 1 !important;\\n    display: block !important;\\n    width: 100% !important;\\n}\\n\\\/* Less dark overlay *\\\/\\n.el-element::before {\\n    background: rgba(0, 0, 0, 0.15) !important; \\\/* Was 0.35, now lighter *\\\/\\n}\\n\\n\\\/* Or even lighter *\\\/\\n.el-element::before {\\n    background: rgba(0, 0, 0, 0.1) !important;\\n}\\n\\n\\\/* Or no overlay, just text shadow *\\\/\\n.el-element::before {\\n    display: none !important;\\n}\\n\\n.el-element::after {\\n    text-shadow: 3px 3px 12px rgba(0,0,0,0.8) !important; \\\/* Stronger shadow *\\\/\\n}\\n.el-element {\\n    position: relative !important;\\n    display: block !important;\\n}\\n\\n.el-element::after {\\n    content: \\\"Entra a far parte del nostro team\\n\\n\\\";\\n    position: absolute;\\n    top: 50%;\\n    left: 50%;\\n    transform: translate(-50%, -50%);\\n    color: #fff;\\n    font-weight: 700;\\n    letter-spacing: 2px;\\n    text-transform: uppercase;\\n    white-space: nowrap;        \\\/* \\ud83d\\udd25 FORCE ONE LINE *\\\/\\n    font-size: clamp(14px, 3vw, 22px); \\\/* responsive *\\\/\\n    z-index: 10;\\n    text-shadow: 3px 3px 12px rgba(0,0,0,0.8);\\n    pointer-events: none;\\n}\\n\\n.el-element::before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    inset: 0;\\n    background: rgba(0,0,0,0.1);\\n    z-index: 5;\\n}\\n\\n.el-image {\\n    position: relative !important;\\n    z-index: 1 !important;\\n    width: 100% !important;\\n}\\n\",\"image\":\"wp-content\\\/uploads\\\/2026\\\/02\\\/DJI_0271-2.jpg\",\"image_height\":666,\"image_svg_color\":\"emphasis\",\"image_width\":933,\"margin\":\"default\"}}]}]}]},{\"type\":\"section\",\"props\":{\"image_position\":\"center-center\",\"padding\":\"none\",\"padding_remove_top\":true,\"style\":\"default\",\"title_breakpoint\":\"xl\",\"title_position\":\"top-left\",\"title_rotation\":\"left\",\"vertical_align\":\"middle\",\"width\":\"default\"},\"children\":[{\"type\":\"row\",\"children\":[{\"type\":\"column\",\"props\":{\"image_position\":\"center-center\",\"position_sticky_breakpoint\":\"m\"},\"children\":[{\"type\":\"html\",\"props\":{\"content\":\"\n\n<div class=\\\"bsp-careers-portal\\\">\\n    \\n  \n\n<div class=\\\"bsp-container\\\">\\n      <!-- CAREERS HERO SECTION -->\\n<\/p>\n<div class=\\\"careers-hero\\\" id=\\\"careersHeader\\\">\\n  <\/p>\n<div class=\\\"hero-content\\\">\\n    <span class=\\\"hero-eyebrow\\\">  Unisciti alla nostra famiglia<\\\/span>\\n    <\/p>\n<h1 class=\\\"hero-title\\\">Lavora con noi<\\\/h1>\\n    \\n    <\/p>\n<div class=\\\"hero-cta\\\">\\n      <button class=\\\"scroll-indicator\\\" onclick=\\\"document.getElementById('jobGrid').scrollIntoView({behavior: 'smooth', block: 'start'})\\\">\\n        <span class=\\\"scroll-text\\\"> Scopri le posizioni aperte<\\\/span>\\n        <\/p>\n<div class=\\\"scroll-arrow\\\">\\n          <svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n            <line x1=\\\"12\\\" y1=\\\"5\\\" x2=\\\"12\\\" y2=\\\"19\\\"><\\\/line>\\n            <polyline points=\\\"19 12 12 19 5 12\\\"><\\\/polyline>\\n          <\\\/svg>\\n        <\\\/div>\\n      <\\\/button>\\n    <\\\/div>\\n  <\\\/div>\\n<\\\/div>\\n\\n    <!-- JOB GRID -->\\n    <\/p>\n<div class=\\\"job-grid\\\" id=\\\"jobGrid\\\"><\\\/div>\\n\\n    <!-- APPLICATION FORM -->\\n    <\/p>\n<div class=\\\"application-form\\\" id=\\\"applicationForm\\\">\\n      <\/p>\n<h2 class=\\\"form-title\\\">Apply Now<\\\/h2>\\n      \\n      \\n      <!-- FORM LOGO -->\\n      <\/p>\n<div class=\\\"form-logo\\\" id=\\\"formJobLogo\\\"><\\\/div>\\n\\n      <\/p>\n<p class=\\\"applying-for\\\">\\n        Applying for: <strong id=\\\"displayJobTitle\\\"><\\\/strong>\\n      <\\\/p>\\n\\n      <\/p>\n<form id=\\\"applyForm\\\" method=\\\"POST\\\" enctype=\\\"multipart\\\/form-data\\\">\\n        <input type=\\\"hidden\\\" name=\\\"borgo_form\\\" value=\\\"1\\\">\\n        <input type=\\\"hidden\\\" id=\\\"applyJobId\\\" name=\\\"jobId\\\">\\n        <input type=\\\"hidden\\\" id=\\\"applyJobTitle\\\" name=\\\"jobTitle\\\">\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Full Name *<\\\/label>\\n          <input type=\\\"text\\\" name=\\\"fullName\\\" id=\\\"fullName\\\" required>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Email *<\\\/label>\\n          <input type=\\\"email\\\" name=\\\"email\\\" id=\\\"email\\\" required>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Phone *<\\\/label>\\n          <input type=\\\"tel\\\" name=\\\"phone\\\" id=\\\"phone\\\" required>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Location<\\\/label>\\n          <input type=\\\"text\\\" name=\\\"location\\\" id=\\\"location\\\">\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Years of Experience<\\\/label>\\n          <select name=\\\"experience\\\" id=\\\"experience\\\" required>\\n<option value=\\\"\\\" selected><\\\/option>\\n<option value=\\\"0-2\\\">0-2 years<\\\/option>\\n<option value=\\\"2-5\\\">2-5 years<\\\/option>\\n<option value=\\\"5-10\\\">5-10 years<\\\/option>\\n<option value=\\\"10+\\\">10+ years<\\\/option>\\n          <\\\/select>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Tell us why you are great for this role *<\\\/label>\\n          <textarea name=\\\"message\\\" id=\\\"message\\\" maxlength=\\\"500\\\" required><\\\/textarea>\\n          <small id=\\\"charCount\\\">500 characters remaining<\\\/small>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-group\\\">\\n          <label>Resume Upload<\\\/label>\\n          <input type=\\\"file\\\" name=\\\"resume\\\" id=\\\"resume\\\" accept=\\\".pdf,.doc,.docx\\\" onchange=\\\"showFileName(this)\\\">\\n          <small>PDF, DOC, DOCX only (Max 5MB)<\\\/small>\\n          <\/p>\n<div id=\\\"fileNameDisplay\\\" style=\\\"margin-top: 8px; color: #667eea; font-weight: 500;\\\"><\\\/div>\\n        <\\\/div>\\n          <\/p>\n<div class=\\\"form-group checkbox-group\\\" style=\\\"margin: 20px 0;\\\">\\n  <label style=\\\"display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; cursor: pointer; font-weight: 400;\\\">\\n    <input type=\\\"checkbox\\\" id=\\\"privacyConsent\\\" name=\\\"privacyConsent\\\" required style=\\\"margin-top: 3px; min-width: 16px; height: 16px; cursor: pointer;\\\">\\n    <span style=\\\"color: rgba(28, 58, 19, 0.8);\\\">I consent to the processing of my personal data for recruitment purposes in accordance with the <a href=\\\"https:\\\/\\\/borgosantopietro.com\\\/privacy-policy\\\/\\\" target=\\\"_blank\\\" style=\\\"color: #1c3a13; text-decoration: underline; font-weight: 500;\\\">Privacy Policy<\\\/a>.<\\\/span>\\n  <\\\/label>\\n<\\\/div>\\n\\n        <\/p>\n<div class=\\\"form-actions\\\">\\n          <button type=\\\"button\\\" class=\\\"btn-secondary\\\" id=\\\"cancelApply\\\">Cancel<\\\/button>\\n          <button type=\\\"submit\\\" class=\\\"btn-primary\\\" id=\\\"submitBtn\\\">Submit Application<\\\/button>\\n        <\\\/div>\\n      <\\\/form>\\n    <\\\/div>\\n\\n    <!-- THANK YOU MESSAGE -->\\n    <\/p>\n<div class=\\\"thank-you-message\\\" id=\\\"thankYouMessage\\\">\\n      <\/p>\n<h2>Thank You for Your Application!<\\\/h2>\\n      <\/p>\n<p>Your application has been successfully submitted. We will review and contact you if your profile is suitable for the position.<\\\/p>\\n    <\\\/div>\\n\\n    <!-- JOB MODAL -->\\n    <\/p>\n<div class=\\\"job-modal\\\" id=\\\"jobModal\\\">\\n      <\/p>\n<div class=\\\"job-modal-content\\\">\\n        <button class=\\\"job-modal-close\\\" id=\\\"closeModal\\\">&times;<\\\/button>\\n\\n        <\/p>\n<div class=\\\"modal-header\\\">\\n          <\/p>\n<div class=\\\"modal-logo\\\" id=\\\"modalJobLogo\\\"><\\\/div>\\n          <\/p>\n<h2 id=\\\"modalJobTitle\\\"><\\\/h2>\\n          <\/p>\n<div class=\\\"job-meta-in-modal\\\">\\n            <span id=\\\"modalJobType\\\"><\\\/span>\\n            <span id=\\\"modalJobLocation\\\"><\\\/span>\\n          <\\\/div>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"modal-body\\\">\\n          <\/p>\n<h3 class=\\\"job-main-heading\\\">About this job<\\\/h3>\\n          <\/p>\n<div class=\\\"job-description\\\" id=\\\"modalJobDescription\\\"><\\\/div>\\n\\n          <\/p>\n<div id=\\\"modalResponsibilitiesSection\\\">\\n            <\/p>\n<h3>Main Responsibilities<\\\/h3>\\n            <\/p>\n<ul class=\\\"modal-responsibilities\\\" id=\\\"modalJobResponsibilities\\\"><\\\/ul>\\n          <\\\/div>\\n\\n          <\/p>\n<div id=\\\"modalRequirementsSection\\\">\\n            <\/p>\n<h3>Candidate Profile<\\\/h3>\\n            <\/p>\n<ul class=\\\"modal-requirements\\\" id=\\\"modalJobRequirements\\\"><\\\/ul>\\n          <\\\/div>\\n\\n          <\/p>\n<div id=\\\"modalBenefitsSection\\\">\\n            <\/p>\n<h3>Benefits<\\\/h3>\\n            <\/p>\n<ul class=\\\"modal-benefits\\\" id=\\\"modalJobBenefits\\\"><\\\/ul>\\n          <\\\/div>\\n        <\\\/div>\\n\\n        <\/p>\n<div class=\\\"modal-actions\\\">\\n          <button class=\\\"btn-primary\\\" id=\\\"modalApplyBtn\\\">Apply Now<\\\/button>\\n        <\\\/div>\\n      <\\\/div>\\n    <\\\/div>\\n    \\n  <\\\/div>\\n<\\\/div>\\n<script>\\n function showFileName(input) {\\n  const display = document.getElementById('fileNameDisplay');\\n  if (input.files && input.files[0]) {\\n    display.innerHTML = '<i class=\\\"fas fa-check-circle\\\" style=\\\"color: #4facfe;\\\"><\\\/i> Selected: ' + input.files[0].name;\\n  } else {\\n    display.textContent = '';\\n  }\\n}\\n\\n\\\/\\\/ ===== JOB DATA - FETCH FROM DATABASE =====\\nlet jobsData = [];\\n\\n\\\/\\\/ Fetch jobs from database\\nfetch('\\\/wp-admin\\\/admin-ajax.php?action=get_borgo_jobs')\\n  .then(res => res.json())\\n  .then(data => {\\n    jobsData = data;\\n    renderJobs();\\n  })\\n  .catch(err => {\\n    console.error('Error loading jobs:', err);\\n  });\\n\\n\\\/\\\/ ===== LOGO FUNCTION =====\\nfunction getLogoUrl(logoId) {\\n  const logoUrls = {\\n    1: 'https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/BORGO-1-1.svg',\\n    2: 'https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SAPORIUM-GENERAL.svg',\\n    3: 'https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SAPORIUM-FIRENZE-1.svg',\\n    4: 'https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SEED-TO-SKIN-1-1.svg'\\n  };\\n  return logoUrls[logoId] || logoUrls[1];\\n}\\n\\n\\\/\\\/ ===== DOM ELEMENTS =====\\nconst jobGrid = document.getElementById('jobGrid');\\nconst jobModal = document.getElementById('jobModal');\\nconst applicationForm = document.getElementById('applicationForm');\\nconst displayJobTitle = document.getElementById('displayJobTitle');\\nconst applyJobId = document.getElementById('applyJobId');\\nconst applyJobTitle = document.getElementById('applyJobTitle');\\nconst applyForm = document.getElementById('applyForm');\\nconst cancelApplyBtn = document.getElementById('cancelApply');\\nconst message = document.getElementById('message');\\nconst charCount = document.getElementById('charCount');\\n\\n\\\/\\\/ ===== RENDER JOBS =====\\nfunction renderJobs() {\\n  jobGrid.innerHTML = '';\\n  \\n  jobsData.forEach(job => {\\nconst description = parseJobField(job.description);\\nconst thirdPara = description[2] || description[0] || '';  \\\/\\\/ \\u2190 Takes 3rd paragraph, falls back to 1st if missing\\nconst shortDesc = thirdPara.substring(0, 120).trim() + '...';\\n    \\n    const row = document.createElement('div');\\n    row.className = 'job-row';\\n    row.dataset.id = job.id;\\n    \\n    const logoUrl = getLogoUrl(job.logo_id || 1);\\n    row.style.setProperty('--logo-url', `url('${logoUrl}')`);\\n    \\n    row.innerHTML = `\\n      <\/p>\n<div class=\\\"job-title\\\">${escapeHtml(job.title)}<\\\/div>\\n      <\/p>\n<div class=\\\"job-meta\\\">${escapeHtml(job.type)} \\u00b7 ${escapeHtml(job.location)}<\\\/div>\\n      <\/p>\n<div class=\\\"job-desc\\\">${escapeHtml(shortDesc)}<\\\/div>\\n      <button class=\\\"view-btn\\\">View Position<\\\/button>\\n    `;\\n    \\n    jobGrid.appendChild(row);\\n  });\\n}\\n\\n\\\/\\\/ ===== ESCAPE HTML =====\\nfunction escapeHtml(text) {\\n  if (!text) return '';\\n  const div = document.createElement('div');\\n  div.textContent = text;\\n  return div.innerHTML;\\n}\\n\\n\\\/\\\/ ===== PARSE JSON FIELDS =====\\nfunction parseJobField(field) {\\n  if (Array.isArray(field)) return field;\\n  if (typeof field === 'object' && field !== null) return Object.values(field);\\n  if (typeof field === 'string') {\\n    try {\\n      const parsed = JSON.parse(field);\\n      if (Array.isArray(parsed)) return parsed;\\n      if (typeof parsed === 'object') return Object.values(parsed);\\n      return [parsed];\\n    } catch (e) {\\n      return [field];\\n    }\\n  }\\n  return [];\\n}\\n\\n\\\/\\\/ ===== CHECK IF FIELD HAS CONTENT =====\\nfunction hasContent(field) {\\n  const parsed = parseJobField(field);\\n  if (!parsed || parsed.length === 0) return false;\\n  if (parsed.length === 1 && (!parsed[0] || parsed[0].trim() === '')) return false;\\n  return true;\\n}\\n\\n\\\/\\\/ ===== OPEN MODAL =====\\ndocument.addEventListener('click', e => {\\n  if (e.target.closest('.view-btn') || e.target.closest('.job-row')) {\\n    const row = e.target.closest('.job-row');\\n    if (!row) return;\\n    \\n    const job = jobsData.find(j => j.id == row.dataset.id);\\n    if (!job) return;\\n    \\n    document.getElementById('modalJobTitle').textContent = job.title;\\n    document.getElementById('modalJobType').textContent = job.type;\\n    document.getElementById('modalJobLocation').textContent = job.location;\\n    document.getElementById('modalJobLogo').style.backgroundImage = `url('${getLogoUrl(job.logo_id || 1)}')`;\\n    \\n    const description = parseJobField(job.description);\\n    const descriptionElement = document.getElementById('modalJobDescription');\\n    descriptionElement.innerHTML = '';\\n    description.forEach(paragraph => {\\n      if (paragraph && paragraph.trim()) {\\n        const p = document.createElement('p');\\n        p.textContent = paragraph;\\n        descriptionElement.appendChild(p);\\n      }\\n    });\\n    \\n    const respSection = document.getElementById('modalResponsibilitiesSection');\\n    if (!hasContent(job.responsibilities)) {\\n      respSection.style.display = 'none';\\n    } else {\\n      respSection.style.display = 'block';\\n      const responsibilities = parseJobField(job.responsibilities);\\n      document.getElementById('modalJobResponsibilities').innerHTML = responsibilities.map(r => `<\/p>\n<li>${escapeHtml(r)}<\\\/li>`).join('');\\n    }\\n    \\n    const reqSection = document.getElementById('modalRequirementsSection');\\n    if (!hasContent(job.requirements)) {\\n      reqSection.style.display = 'none';\\n    } else {\\n      reqSection.style.display = 'block';\\n      const requirements = parseJobField(job.requirements);\\n      document.getElementById('modalJobRequirements').innerHTML = requirements.map(r => `\n<li>${escapeHtml(r)}<\\\/li>`).join('');\\n    }\\n    \\n    const benSection = document.getElementById('modalBenefitsSection');\\n    if (!hasContent(job.benefits)) {\\n      benSection.style.display = 'none';\\n    } else {\\n      benSection.style.display = 'block';\\n      const benefits = parseJobField(job.benefits);\\n      document.getElementById('modalJobBenefits').innerHTML = benefits.map(b => `\n<li>${escapeHtml(b)}<\\\/li>`).join('');\\n    }\\n\\n    jobModal.style.display = 'flex';\\n    jobGrid.style.display = 'none';\\n    \\n    const careersHeader = document.getElementById('careersHeader');\\n    if (careersHeader) careersHeader.style.display = 'none';\\n    \\n    document.body.classList.add('modal-open');\\n  }\\n});\\n\\n\\\/\\\/ ===== MODAL APPLY BUTTON =====\\ndocument.getElementById('modalApplyBtn').onclick = () => {\\n  const title = document.getElementById('modalJobTitle').textContent;\\n  const job = jobsData.find(j => j.title === title);\\n  if (!job) return;\\n  \\n  applyJobId.value = job.id;\\n  applyJobTitle.value = job.title;\\n  displayJobTitle.textContent = job.title;\\n  document.getElementById('formJobLogo').style.backgroundImage = `url('${getLogoUrl(job.logo_id || 1)}')`;\\n\\n  jobModal.style.display = 'none';\\n  applicationForm.style.display = 'flex';\\n  \\n  const careersHeader = document.getElementById('careersHeader');\\n  if (careersHeader) careersHeader.style.display = 'none';\\n  \\n  applyForm.reset();\\n  if (charCount) charCount.textContent = \\\"500 characters remaining\\\";\\n};\\n\\n\\\/\\\/ ===== CANCEL APPLY =====\\ncancelApplyBtn.onclick = () => {\\n  applicationForm.style.display = 'none';\\n  jobGrid.style.display = 'grid';\\n  \\n  const careersHeader = document.getElementById('careersHeader');\\n  if (careersHeader) careersHeader.style.display = 'block';\\n};\\n\\n\\\/\\\/ ===== CHARACTER COUNTER =====\\nif (message && charCount) {\\n  message.addEventListener('input', () => {\\n    charCount.textContent = (500 - message.value.length) + \\\" characters remaining\\\";\\n  });\\n}\\n\\n\\\/\\\/ ===== CLOSE MODAL BUTTON =====\\ndocument.getElementById('closeModal').addEventListener('click', function(e) {\\n  e.preventDefault();\\n  e.stopPropagation();\\n  \\n  jobModal.style.display = 'none';\\n  jobGrid.style.display = 'grid';\\n  \\n  const careersHeader = document.getElementById('careersHeader');\\n  if (careersHeader) careersHeader.style.display = 'block';\\n  \\n  document.body.classList.remove('modal-open');\\n});\\n\\n\\\/\\\/ ===== CLOSE MODAL ON BACKDROP CLICK =====\\njobModal.addEventListener('click', function(e) {\\n  if (e.target === jobModal) {\\n    jobModal.style.display = 'none';\\n    jobGrid.style.display = 'grid';\\n    \\n    const careersHeader = document.getElementById('careersHeader');\\n    if (careersHeader) careersHeader.style.display = 'block';\\n    \\n    document.body.classList.remove('modal-open');\\n  }\\n});\\n\\n\\\/\\\/ ===== SUBMIT FORM =====\\napplyForm.onsubmit = (e) => {\\n  \\\/\\\/ Check privacy consent first\\n  if (!document.getElementById('privacyConsent').checked) {\\n    e.preventDefault();\\n    alert('Please consent to the Privacy Policy to proceed.');\\n    return false;\\n  }\\n  \\n  \\\/\\\/ Existing submission code\\n  setTimeout(() => {\\n    applicationForm.style.display = 'none';\\n    jobGrid.style.display = 'none';\\n    \\n    const careersHeader = document.getElementById('careersHeader');\\n    if (careersHeader) careersHeader.style.display = 'none';\\n    \\n    document.getElementById('thankYouMessage').style.display = 'block';\\n    window.scrollTo({top: 0, behavior: 'smooth'});\\n  }, 100);\\n};\\n    \\\/\\\/ Disable submit button until privacy is checked\\ndocument.addEventListener('DOMContentLoaded', function() {\\n  const submitBtn = document.getElementById('submitBtn');\\n  const privacyCheckbox = document.getElementById('privacyConsent');\\n  \\n  \\\/\\\/ Initial disabled state\\n  submitBtn.disabled = true;\\n  submitBtn.style.opacity = '0.4';\\n  submitBtn.style.cursor = 'not-allowed';\\n  submitBtn.style.background = 'rgba(28, 58, 19, 0.3)';\\n  \\n  \\\/\\\/ Enable\\\/disable based on checkbox\\n  privacyCheckbox.addEventListener('change', function() {\\n    if (this.checked) {\\n      submitBtn.disabled = false;\\n      submitBtn.style.opacity = '1';\\n      submitBtn.style.cursor = 'pointer';\\n      submitBtn.style.background = ''; \\\/\\\/ restores original color\\n    } else {\\n      submitBtn.disabled = true;\\n      submitBtn.style.opacity = '0.4';\\n      submitBtn.style.cursor = 'not-allowed';\\n      submitBtn.style.background = 'rgba(28, 58, 19, 0.3)';\\n    }\\n  });\\n});\\n<\\\/script>\\n\",\"css\":\"\\\/* ============================================= *\\\/\\n\\\/* BORGO CAREERS PORTAL - COMPLETE STYLES *\\\/\\n\\\/* ============================================= *\\\/\\n\\n\\\/* RESET & BASE *\\\/\\n.bsp-careers-portal * {\\n  margin: 0;\\n  padding: 0;\\n  box-sizing: border-box;\\n}\\n\\n.bsp-careers-portal {\\n  background: #ffffff;\\n  padding: 0 0 80px 0;\\n  color: #333;\\n  font-family: inherit;\\n  letter-spacing: 0.02em;\\n}\\n\\n.bsp-container {\\n  max-width: 1400px;\\n  margin: 0 auto;\\n  padding: 20px;\\n}\\n\\n\\\/* SECTION TITLE - White theme *\\\/\\n.section-title {\\n  text-align: center;\\n  margin-bottom: 80px;\\n}\\n\\n.section-title h2 {\\n  font-size: 3.5rem;\\n  font-weight: 300;\\n  margin-bottom: 20px;\\n  color: #1a1a1a;\\n  letter-spacing: -0.02em;\\n  text-transform: uppercase;\\n}\\n\\n.section-title p {\\n  color: #666;\\n  font-size: 1.1rem;\\n  line-height: 1.6;\\n  font-weight: 300;\\n  max-width: 600px;\\n  margin: 0 auto;\\n}\\n\\n\\\/* ===== JOB CARD GRID ===== *\\\/\\n.job-grid {\\n  display: grid;\\n  grid-template-columns: repeat(4, 1fr);\\n  gap: 25px;\\n  margin-top: 0;\\n  align-items: stretch;\\n}\\n\\n\\\/* ----- WHITE CARDS ----- *\\\/\\n.job-row {\\n  background: #ffffff !important;\\n  border: 1px solid rgba(0,0,0,0.08) !important;\\n  border-radius: 24px !important;\\n  padding: 40px 30px !important;\\n  display: flex !important;\\n  flex-direction: column;\\n  align-items: center !important;\\n  text-align: center !important;\\n  height: auto !important;\\n  min-height: auto !important;\\n  cursor: pointer;\\n  position: relative;\\n  overflow: hidden;\\n  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\\n  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;\\n}\\n\\n\\\/* Subtle top line *\\\/\\n.job-row::before {\\n  content: '';\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  height: 3px;\\n  background: linear-gradient(90deg, transparent, #1a1a1a, transparent);\\n  opacity: 0.1;\\n}\\n\\n.job-row:hover {\\n  transform: translateY(-8px);\\n  box-shadow: 0 20px 50px rgba(0,0,0,0.12) !important;\\n  border-color: rgba(0,0,0,0.15) !important;\\n}\\n\\n\\\/* Hide original content *\\\/\\n.job-row > div:first-child,\\n.job-row .arrow {\\n  display: none;\\n}\\n\\n\\\/* ----- LOGO - CENTERED ----- *\\\/\\n.job-row::after {\\n  content: '';\\n  display: block;\\n  width: 90px;\\n  height: 90px;\\n  background-size: 65%;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  border-radius: 20px;\\n  margin: 0 auto 25px auto;\\n  background-color: #1a1a1a;\\n  border: 1px solid rgba(0,0,0,0.1);\\n  box-shadow: 0 4px 15px rgba(0,0,0,0.1);\\n  order: -1;\\n  flex-shrink: 0;\\n}\\n\\n\\\/* Logo URLs - IDs 1-4 only *\\\/\\n.job-row[data-id=\\\"1\\\"]::after { \\n  background-image: url('https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/BORGO-1-1.svg');\\n}\\n.job-row[data-id=\\\"2\\\"]::after { \\n  background-image: url('https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SAPORIUM-GENERAL.svg');\\n}\\n.job-row[data-id=\\\"3\\\"]::after { \\n  background-image: url('https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SAPORIUM-FIRENZE-1.svg');\\n}\\n.job-row[data-id=\\\"4\\\"]::after { \\n  background-image: url('https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/SEED-TO-SKIN-1-1.svg');\\n}\\n\\n\\\/* ----- CARD CONTENT - CENTERED ----- *\\\/\\n.job-title {\\n  font-size: 1.5rem;\\n  font-weight: 600;\\n  color: #000000 !important;\\n  margin-bottom: 12px;\\n  line-height: 1.2;\\n  display: block !important;\\n  letter-spacing: -0.01em;\\n  text-align: center !important;\\n  width: 100%;\\n}\\n\\n.job-meta {\\n  font-size: 0.85rem;\\n  color: #333333 !important;\\n  text-transform: uppercase;\\n  letter-spacing: 0.1em;\\n  margin-bottom: 20px;\\n  display: block !important;\\n  font-weight: 500;\\n  text-align: center !important;\\n  width: 100%;\\n  position: relative;\\n}\\n\\n.job-desc {\\n  font-size: 1rem;\\n  color: #555555 !important;\\n  line-height: 1.6;\\n  margin-bottom: 30px;\\n  display: -webkit-box;\\n  -webkit-line-clamp: 2;\\n  -webkit-box-orient: vertical;\\n  overflow: hidden;\\n  flex-grow: 1;\\n  font-weight: 400;\\n  text-align: center !important;\\n  width: 100%;\\n}\\n\\n\\\/* ----- VIEW BUTTON ----- *\\\/\\n.view-btn {\\n  background: transparent !important;\\n  color: #1a1a1a !important;\\n  padding: 14px 28px;\\n  border-radius: 50px;\\n  font-size: 0.85rem;\\n  font-weight: 600;\\n  letter-spacing: 0.15em;\\n  text-transform: uppercase;\\n  border: 1.5px solid #1a1a1a !important;\\n  cursor: pointer;\\n  width: fit-content;\\n  margin: auto auto 0 auto;\\n  display: inline-flex !important;\\n  align-items: center;\\n  gap: 10px;\\n  transition: all 0.4s ease;\\n}\\n\\n.view-btn::after {\\n  content: '\\u2192';\\n  font-size: 1.1rem;\\n  transition: transform 0.3s ease;\\n}\\n\\n.view-btn:hover {\\n  background: #1a1a1a !important;\\n  color: #ffffff !important;\\n  border-color: #1a1a1a !important;\\n  transform: translateY(-2px);\\n}\\n\\n.view-btn:hover::after {\\n  transform: translateX(4px);\\n  color: #ffffff !important;\\n}\\n\\n\\\/* ===== WHITE MODAL - DYNAMIC HEIGHT ===== *\\\/\\n.job-modal {\\n  position: fixed;\\n  inset: 0;\\n  display: none;\\n  justify-content: center;\\n  align-items: flex-start;\\n  background: rgba(255,255,255,0.95);\\n  backdrop-filter: blur(20px);\\n  z-index: 1000;\\n  padding: 50px 20px;\\n  overflow-y: auto;\\n}\\n\\n.job-modal-content {\\n  background: #ffffff;\\n  border-radius: 32px;\\n  width: 100%;\\n  max-width: 900px;\\n  max-height: none;\\n  height: auto;\\n  min-height: 400px;\\n  overflow: visible;\\n  padding: 40px;\\n  box-shadow: 0 40px 100px rgba(0,0,0,0.15);\\n  display: flex;\\n  flex-direction: column;\\n  gap: 25px;\\n  position: relative;\\n  border: 1px solid rgba(0,0,0,0.08);\\n  margin: 0 auto;\\n}\\n\\n\\\/* Modal close button *\\\/\\n.job-modal-close {\\n  position: absolute;\\n  top: 20px;\\n  right: 20px;\\n  width: 44px;\\n  height: 44px;\\n  border-radius: 50%;\\n  border: 1px solid rgba(0,0,0,0.1);\\n  background: #f5f5f5;\\n  color: #1a1a1a;\\n  font-size: 1.5rem;\\n  cursor: pointer;\\n  display: flex;\\n  align-items: center;\\n  justify-content: center;\\n  transition: all 0.3s ease;\\n  z-index: 100;\\n  pointer-events: auto;\\n}\\n\\n.job-modal-close:hover {\\n  background: #1a1a1a;\\n  color: #fff;\\n  transform: rotate(90deg);\\n}\\n\\n\\\/* Modal header - LEFT ALIGNED *\\\/\\n.modal-header {\\n  text-align: left !important;\\n  padding: 0;\\n  border-bottom: none;\\n  margin-bottom: 0;\\n  position: relative;\\n}\\n\\n.modal-header h2 {\\n  font-size: 2.5rem;\\n  margin-bottom: 15px;\\n  font-weight: 400;\\n  color: #1a1a1a;\\n  line-height: 1.2;\\n  letter-spacing: -0.02em;\\n}\\n\\n.job-meta-in-modal {\\n  display: flex;\\n  gap: 30px;\\n  flex-wrap: wrap;\\n  font-size: 0.9rem;\\n  color: #666;\\n  text-transform: uppercase;\\n  letter-spacing: 0.1em;\\n  justify-content: flex-start !important;\\n}\\n\\n\\\/* Modal Logo - Black *\\\/\\n.modal-logo,\\n.form-logo {\\n  width: 80px;\\n  height: 80px;\\n  background-size: 60%;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  border-radius: 20px;\\n  background-color: #1a1a1a;\\n  border: 1px solid rgba(0,0,0,0.1);\\n  margin: 0 0 30px 0;\\n}\\n\\n\\\/* Modal Body - LEFT ALIGNED, JUSTIFIED TEXT *\\\/\\n.modal-body {\\n  color: #444;\\n  flex: 1;\\n  overflow-y: auto;\\n  padding-right: 10px;\\n  max-width: 100%;\\n}\\n\\n\\\/* Smooth scrollbar *\\\/\\n.modal-body::-webkit-scrollbar {\\n  width: 6px;\\n}\\n.modal-body::-webkit-scrollbar-thumb {\\n  background: #ddd;\\n  border-radius: 3px;\\n}\\n\\n.job-main-heading {\\n  font-size: 1.2rem;\\n  font-weight: 600;\\n  color: #1a1a1a;\\n  margin: 0 0 25px 0;\\n  padding-bottom: 15px;\\n  border-bottom: 2px solid #1a1a1a;\\n  text-transform: uppercase;\\n  letter-spacing: 0.15em;\\n  text-align: left !important;\\n}\\n\\n.job-description {\\n  margin-bottom: 30px;\\n}\\n\\n.job-description p {\\n  margin-bottom: 20px;\\n  line-height: 1.8;\\n  color: #555;\\n  font-size: 1.1rem;\\n  font-weight: 300;\\n  text-align: justify !important;\\n  text-justify: inter-word !important;\\n  hyphens: auto !important;\\n  text-align-last: left !important;\\n}\\n\\n.modal-body h3:not(.job-main-heading) {\\n  margin: 40px 0 20px;\\n  font-size: 1.1rem;\\n  font-weight: 600;\\n  color: #1a1a1a;\\n  text-transform: uppercase;\\n  letter-spacing: 0.15em;\\n  padding-bottom: 15px;\\n  border-bottom: 1px solid #ddd;\\n  text-align: left !important;\\n}\\n\\n.modal-body ul {\\n  padding-left: 0;\\n  margin: 0 0 20px;\\n  list-style: none;\\n  width: 100%;\\n}\\n\\n.modal-body li {\\n  position: relative;\\n  padding-left: 25px;\\n  margin-bottom: 12px;\\n  line-height: 1.7;\\n  color: #555;\\n  font-size: 1.05rem;\\n  font-weight: 300;\\n  text-align: justify !important;\\n  text-justify: inter-word !important;\\n  hyphens: auto !important;\\n  text-align-last: left !important;\\n}\\n\\n.modal-body li::before {\\n  content: '';\\n  position: absolute;\\n  left: 0;\\n  top: 12px;\\n  width: 6px;\\n  height: 6px;\\n  background: #1a1a1a;\\n  border-radius: 50%;\\n}\\n\\n\\\/* Modal Actions - LEFT ALIGNED *\\\/\\n.modal-actions {\\n  display: flex;\\n  justify-content: flex-start;\\n  gap: 20px;\\n  margin-top: 30px;\\n  padding-top: 30px;\\n  padding-bottom: 20px;\\n  border-top: 1px solid rgba(0,0,0,0.1);\\n}\\n\\n.modal-actions .btn-primary {\\n  background: transparent !important;\\n  color: #1a1a1a !important;\\n  border: 1.5px solid #1a1a1a !important;\\n  padding: 14px 28px;\\n  border-radius: 50px;\\n  font-size: 0.85rem;\\n  font-weight: 600;\\n  letter-spacing: 0.15em;\\n  text-transform: uppercase;\\n  cursor: pointer;\\n  display: inline-flex;\\n  align-items: center;\\n  gap: 10px;\\n  transition: all 0.4s ease;\\n}\\n\\n.modal-actions .btn-primary::after {\\n  content: '\\u2192';\\n  font-size: 1.1rem;\\n  transition: transform 0.3s ease;\\n}\\n\\n.modal-actions .btn-primary:hover {\\n  background: rgba(0,0,0,0.03) !important;\\n  border-color: #333 !important;\\n  transform: translateY(-2px);\\n}\\n\\n.modal-actions .btn-primary:hover::after {\\n  transform: translateX(4px);\\n}\\n\\n\\\/* ===== WHITE APPLICATION FORM - UNDERLINE STYLE ===== *\\\/\\n.application-form {\\n  background: #ffffff;\\n  border-radius: 32px;\\n  padding: 40px;\\n  max-width: 700px;\\n  margin: 0 auto 40px auto;\\n  box-shadow: 0 25px 50px rgba(0,0,0,0.1);\\n  display: none;\\n  flex-direction: column;\\n  gap: 15px;\\n  border: 1px solid rgba(0,0,0,0.08);\\n}\\n\\n.application-form .form-logo {\\n  width: 70px;\\n  height: 70px;\\n  margin: 0 auto 15px auto;\\n}\\n\\n.application-form .form-title {\\n  font-size: 2rem;\\n  font-weight: 400;\\n  text-align: left;\\n  margin-bottom: 5px;\\n  color: #1a1a1a;\\n}\\n\\n.application-form .form-subtitle {\\n  font-size: 1rem;\\n  color: #666;\\n  text-align: left;\\n  margin-bottom: 20px;\\n  font-weight: 300;\\n}\\n\\n.application-form .applying-for {\\n  text-align: left;\\n  background: #f5f5f5;\\n  padding: 15px 20px;\\n  border-radius: 12px;\\n  font-size: 0.95rem;\\n  color: #666;\\n  margin-bottom: 25px;\\n  border-left: 3px solid #1a1a1a;\\n}\\n\\n.application-form .form-group {\\n  display: flex;\\n  flex-direction: column;\\n  gap: 6px;\\n  margin-bottom: 20px;\\n}\\n\\n.application-form label {\\n  font-weight: 500;\\n  color: #1a1a1a;\\n  font-size: 0.8rem;\\n  text-transform: uppercase;\\n  letter-spacing: 0.1em;\\n}\\n\\n\\\/* UNDERLINE STYLE INPUTS *\\\/\\n.application-form input,\\n.application-form select,\\n.application-form textarea {\\n  padding: 10px 0;\\n  border-radius: 0;\\n  border: none;\\n  border-bottom: 1px solid #ddd;\\n  font-size: 1rem;\\n  background: transparent;\\n  color: #1a1a1a;\\n  transition: all 0.3s ease;\\n  font-family: inherit;\\n}\\n\\n.application-form input:focus,\\n.application-form select:focus,\\n.application-form textarea:focus {\\n  outline: none;\\n  border-bottom-color: #1a1a1a;\\n  border-bottom-width: 2px;\\n}\\n\\n.application-form input::placeholder,\\n.application-form textarea::placeholder {\\n  color: #999;\\n}\\n\\n.application-form select {\\n  cursor: pointer;\\n  appearance: none;\\n  background-image: url(\\\"data:image\\\/svg+xml,%3Csvg xmlns='http:\\\/\\\/www.w3.org\\\/2000\\\/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'\\\/%3E%3C\\\/svg%3E\\\");\\n  background-repeat: no-repeat;\\n  background-position: right center;\\n  padding-right: 20px;\\n}\\n\\n.application-form textarea {\\n  min-height: 80px;\\n  resize: vertical;\\n  line-height: 1.5;\\n}\\n\\n\\\/* File upload - underline style *\\\/\\n.application-form input[type=\\\"file\\\"] {\\n  color: transparent;\\n  width: 100%;\\n  padding: 10px 0;\\n  border: none;\\n  border-bottom: 1px solid #ddd;\\n  background: transparent;\\n  cursor: pointer;\\n}\\n\\n.application-form input[type=\\\"file\\\"]::file-selector-button {\\n  background: transparent !important;\\n  color: #1a1a1a !important;\\n  border: 1px solid #1a1a1a !important;\\n  padding: 8px 20px;\\n  border-radius: 50px;\\n  font-size: 0.8rem;\\n  font-weight: 500;\\n  cursor: pointer;\\n  margin-right: 15px;\\n  transition: all 0.3s ease;\\n  font-family: inherit;\\n}\\n\\n.application-form input[type=\\\"file\\\"]::file-selector-button:hover {\\n  background: #1a1a1a !important;\\n  color: #fff !important;\\n}\\n\\n#charCount {\\n  text-align: right;\\n  display: block;\\n  margin-top: 5px;\\n  color: #888;\\n  font-size: 0.8rem;\\n}\\n\\n.application-form .form-actions {\\n  display: flex;\\n  justify-content: flex-start;\\n  gap: 15px;\\n  margin-top: 30px;\\n  padding-top: 20px;\\n  border-top: 1px solid #eee;\\n}\\n\\n.application-form .btn-secondary {\\n  background: transparent !important;\\n  color: #1a1a1a !important;\\n  border: 1px solid #1a1a1a !important;\\n  padding: 12px 28px;\\n  border-radius: 50px;\\n  font-size: 0.8rem;\\n  font-weight: 600;\\n  letter-spacing: 0.1em;\\n  text-transform: uppercase;\\n  cursor: pointer;\\n  transition: all 0.3s ease;\\n  font-family: inherit;\\n}\\n\\n.application-form .btn-secondary:hover {\\n  background: #1a1a1a !important;\\n  color: #fff !important;\\n}\\n\\n.application-form .btn-primary {\\n  background: #1a1a1a !important;\\n  color: #fff !important;\\n  border: none !important;\\n  padding: 12px 28px;\\n  border-radius: 50px;\\n  font-size: 0.8rem;\\n  font-weight: 600;\\n  letter-spacing: 0.1em;\\n  text-transform: uppercase;\\n  cursor: pointer;\\n  transition: all 0.3s ease;\\n  font-family: inherit;\\n}\\n\\n.application-form .btn-primary:hover {\\n  transform: translateY(-2px);\\n  box-shadow: 0 8px 20px rgba(0,0,0,0.2);\\n}\\n\\n\\\/* ===== WHITE THANK YOU MESSAGE ===== *\\\/\\n.thank-you-message {\\n  display: none;\\n  text-align: center;\\n  background: #ffffff;\\n  border-radius: 32px;\\n  padding: 80px 40px;\\n  box-shadow: 0 25px 50px rgba(0,0,0,0.1);\\n  max-width: 700px;\\n  margin: 0 auto 40px;\\n  border: 1px solid rgba(0,0,0,0.08);\\n  position: relative;\\n}\\n\\n.thank-you-message::before {\\n  content: '';\\n  position: absolute;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  height: 4px;\\n  background: #1a1a1a;\\n}\\n\\n.thank-you-message h2 {\\n  font-size: 2.5rem;\\n  font-weight: 300;\\n  margin-bottom: 20px;\\n  color: #1a1a1a;\\n  letter-spacing: -0.02em;\\n}\\n\\n.thank-you-message p {\\n  color: #666;\\n  font-size: 1.1rem;\\n  line-height: 1.6;\\n  font-weight: 300;\\n}\\n\\n\\\/* Body scroll lock when modal open *\\\/\\nbody.modal-open {\\n  overflow: hidden;\\n}\\n\\n\\\/* ===== RESPONSIVE ===== *\\\/\\n@media(max-width: 1200px) {\\n  .job-grid {\\n    grid-template-columns: repeat(2, 1fr);\\n  }\\n}\\n\\n@media(max-width: 900px) {\\n  .job-modal-content {\\n    max-width: 95vw;\\n    padding: 40px;\\n  }\\n  \\n  .modal-header h2 {\\n    font-size: 2rem;\\n  }\\n  \\n  .application-form {\\n    padding: 40px;\\n  }\\n}\\n\\n@media(max-width: 768px) {\\n  .section-title h2 {\\n    font-size: 2.5rem;\\n  }\\n  \\n  .job-grid {\\n    grid-template-columns: 1fr;\\n    gap: 20px;\\n  }\\n  \\n  .job-row {\\n    padding: 30px !important;\\n  }\\n  \\n  .job-modal-content {\\n    padding: 30px;\\n    border-radius: 24px;\\n  }\\n  \\n  .modal-header h2 {\\n    font-size: 1.8rem;\\n  }\\n  \\n  .job-main-heading {\\n    font-size: 1.1rem;\\n  }\\n  \\n  .application-form {\\n    padding: 30px;\\n    border-radius: 24px;\\n  }\\n  \\n  .modal-actions,\\n  .application-form .form-actions {\\n    flex-direction: column;\\n    width: 100%;\\n  }\\n  \\n  .modal-actions .btn-primary,\\n  .application-form .btn-primary,\\n  .application-form .btn-secondary {\\n    width: 100%;\\n    text-align: center;\\n    justify-content: center;\\n  }\\n}\\n\\n@media(max-width: 480px) {\\n  .bsp-careers-portal {\\n    padding: 0 0 60px 0;\\n  }\\n  \\n  .section-title h2 {\\n    font-size: 2rem;\\n  }\\n  \\n  .section-title p {\\n    font-size: 1rem;\\n  }\\n  \\n  .job-row {\\n    padding: 25px !important;\\n    border-radius: 20px !important;\\n  }\\n  \\n  .job-title {\\n    font-size: 1.3rem;\\n  }\\n  \\n  .job-modal-content {\\n    padding: 25px 20px;\\n    border-radius: 20px;\\n  }\\n  \\n  .job-modal-close {\\n    width: 40px;\\n    height: 40px;\\n    top: 15px;\\n    right: 15px;\\n  }\\n  \\n  .application-form {\\n    padding: 25px 20px;\\n  }\\n  \\n  .thank-you-message {\\n    padding: 60px 30px;\\n  }\\n  \\n  .thank-you-message h2 {\\n    font-size: 2rem;\\n  }\\n}\\n\\\/* ----- LOGO - CENTERED ----- *\\\/\\n.job-row::after {\\n  content: '';\\n  display: block;\\n  width: 90px;\\n  height: 90px;\\n  background-image: var(--logo-url); \\\/* USE CSS VARIABLE *\\\/\\n  background-size: 65%;\\n  background-repeat: no-repeat;\\n  background-position: center;\\n  border-radius: 20px;\\n  margin: 0 auto 25px auto;\\n  background-color: #1a1a1a;\\n  border: 1px solid rgba(0,0,0,0.1);\\n  box-shadow: 0 4px 15px rgba(0,0,0,0.1);\\n  order: -1;\\n  flex-shrink: 0;\\n}\\n\\n\\\/* REMOVE ALL THE OLD data-id rules - delete these:\\n.job-row[data-id=\\\"1\\\"]::after { ... }\\n.job-row[data-id=\\\"2\\\"]::after { ... }\\n.job-row[data-id=\\\"3\\\"]::after { ... }\\n.job-row[data-id=\\\"4\\\"]::after { ... }\\n*\\\/\\n.view-btn {\\n  background: transparent !important;\\n  color: #1a1a1a !important;\\n  padding: 10px 20px;           \\\/* Reduced from 14px 28px *\\\/\\n  border-radius: 50px;\\n  font-size: 0.75rem;           \\\/* Slightly smaller *\\\/\\n  font-weight: 600;\\n  letter-spacing: 0.08em;       \\\/* Reduced from 0.15em so text fits *\\\/\\n  text-transform: uppercase;\\n  border: 1.5px solid #1a1a1a !important;\\n  cursor: pointer;\\n  width: auto;\\n  min-width: max-content;       \\\/* Prevents squishing *\\\/\\n  margin: auto auto 0 auto;\\n  display: inline-flex !important;\\n  align-items: center;\\n  justify-content: center;\\n  gap: 6px;\\n  transition: all 0.4s ease;\\n  white-space: nowrap;          \\\/* \\u2b50 KEY FIX: Prevents \\\"VIEW\\\" and \\\"POSITION\\\" separating *\\\/\\n  line-height: 1;\\n  text-align: center;\\n}\\n\\n.view-btn::after {\\n  content: '\\u2192';\\n  font-size: 0.9rem;\\n  transition: transform 0.3s ease;\\n  display: inline-block;\\n}\\n\\n.view-btn:hover {\\n  background: #1a1a1a !important;\\n  color: #ffffff !important;\\n  border-color: #1a1a1a !important;\\n  transform: translateY(-2px);\\n}\\n\\n.view-btn:hover::after {\\n  transform: translateX(4px);\\n  color: #ffffff !important;\\n}\\n\\n\\\/* Mobile: Even tighter *\\\/\\n@media (max-width: 768px) {\\n  .view-btn {\\n    padding: 8px 16px;\\n    font-size: 0.7rem;\\n    letter-spacing: 0.05em;     \\\/* Minimal spacing on small screens *\\\/\\n    gap: 4px;\\n  }\\n  \\n  .view-btn::after {\\n    font-size: 0.8rem;\\n  }\\n}\\n.careers-hero {\\n  text-align: center;\\n  padding: 100px 20px 80px;\\n  background: #ffffff;\\n}\\n\\n.hero-content {\\n  max-width: 800px;\\n  margin: 0 auto;\\n}\\n\\n.hero-eyebrow {\\n  display: block;\\n  font-size: 0.75rem;\\n  font-weight: 600;\\n  letter-spacing: 0.3em;\\n  text-transform: uppercase;\\n  color: #1a1a1a;\\n  margin-bottom: 25px;\\n  position: relative;\\n  padding-bottom: 15px;\\n}\\n\\n.hero-eyebrow::after {\\n  content: '';\\n  position: absolute;\\n  bottom: 0;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  width: 40px;\\n  height: 1px;\\n  background: #1a1a1a;\\n}\\n\\n.hero-title {\\n  font-size: clamp(2rem, 5vw, 3.5rem);\\n  font-weight: 300;\\n  line-height: 1.2;\\n  margin-bottom: 40px;\\n  color: #1a1a1a;\\n  letter-spacing: -0.02em;\\n}\\n\\n\\\/* Scroll Button *\\\/\\n.scroll-indicator {\\n  background: transparent;\\n  border: none;\\n  cursor: pointer;\\n  display: inline-flex;\\n  flex-direction: column;\\n  align-items: center;\\n  gap: 12px;\\n  padding: 20px;\\n  transition: all 0.3s ease;\\n}\\n\\n.scroll-indicator:hover {\\n  transform: translateY(5px);\\n}\\n\\n.scroll-text {\\n  font-size: 0.7rem;\\n  font-weight: 600;\\n  letter-spacing: 0.2em;\\n  text-transform: uppercase;\\n  color: #1a1a1a;\\n}\\n\\n.scroll-arrow {\\n  color: #1a1a1a;\\n  animation: bounce 2s infinite;\\n}\\n\\n@keyframes bounce {\\n  0%, 100% {\\n    transform: translateY(0);\\n    opacity: 1;\\n  }\\n  50% {\\n    transform: translateY(10px);\\n    opacity: 0.5;\\n  }\\n}\\n\\n.scroll-indicator:hover .scroll-arrow {\\n  animation-duration: 1s;\\n}\\n.el-element.careers-hero {\\n  text-align: center;\\n  padding: 100px 20px 80px;\\n  background: #ffffff;\\n  display: block; \\\/* Default show *\\\/\\n}\\n\\n\\\/* Hide when needed *\\\/\\n.el-element.careers-hero[style*=\\\"display: none\\\"] {\\n  display: none !important;\\n}\\n.el-element.careers-hero {\\n  text-align: center;\\n  padding: 60px 20px 50px;  \\\/* Reduced from 100px 20px 80px *\\\/\\n  background: #ffffff;\\n}\\n\\n.el-element .hero-content {\\n  max-width: 800px;\\n  margin: 0 auto;\\n}\\n\\n.el-element .hero-eyebrow {\\n  display: block;\\n  font-size: 0.75rem;\\n  font-weight: 600;\\n  letter-spacing: 0.3em;\\n  text-transform: uppercase;\\n  color: #1a1a1a;\\n  margin-bottom: 15px;  \\\/* Reduced from 25px *\\\/\\n  position: relative;\\n  padding-bottom: 12px;  \\\/* Reduced from 15px *\\\/\\n}\\n\\n.el-element .hero-eyebrow::after {\\n  content: '';\\n  position: absolute;\\n  bottom: 0;\\n  left: 50%;\\n  transform: translateX(-50%);\\n  width: 40px;\\n  height: 1px;\\n  background: #1a1a1a;\\n}\\n\\n.el-element .hero-title {\\n  font-size: clamp(2rem, 5vw, 3.5rem);\\n  font-weight: 300;\\n  line-height: 1.2;\\n  margin-bottom: 25px;  \\\/* Reduced from 40px *\\\/\\n  color: #1a1a1a;\\n  letter-spacing: -0.02em;\\n}\\n\\n.el-element .scroll-indicator {\\n  background: transparent;\\n  border: none;\\n  cursor: pointer;\\n  display: inline-flex;\\n  flex-direction: column;\\n  align-items: center;\\n  gap: 8px;  \\\/* Reduced from 12px *\\\/\\n  padding: 15px;  \\\/* Reduced from 20px *\\\/\\n  transition: all 0.3s ease;\\n}\\n\\n.el-element .scroll-indicator:hover {\\n  transform: translateY(5px);\\n}\\n\\n.el-element .scroll-text {\\n  font-size: 0.7rem;\\n  font-weight: 600;\\n  letter-spacing: 0.2em;\\n  text-transform: uppercase;\\n  color: #1a1a1a;\\n}\\n\\n.el-element .scroll-arrow {\\n  color: #1a1a1a;\\n  animation: bounce 2s infinite;\\n}\\n\\n@keyframes bounce {\\n  0%, 100% {\\n    transform: translateY(0);\\n    opacity: 1;\\n  }\\n  50% {\\n    transform: translateY(10px);\\n    opacity: 0.5;\\n  }\\n}\\n\\n.el-element .scroll-indicator:hover .scroll-arrow {\\n  animation-duration: 1s;\\n}\\n.el-element {\\n  margin-top: -40px;\\n}\\n.el-element.careers-hero {\\n  text-align: center;\\n  padding: 60px 20px 0 !important;\\n  margin-bottom: 20px !important;\\n  background: #ffffff;\\n}\\n\\n.el-element .hero-cta {\\n  margin-bottom: 0 !important;\\n}\\n\\n.el-element .scroll-indicator {\\n  padding-bottom: 0 !important;\\n}\"}}]}]}]}],\"version\":\"4.5.33\"} --><br \/>\n","protected":false},"excerpt":{"rendered":"<p>Unisciti alla nostra famiglia Lavora con noi Scopri le posizioni aperte Apply Now Applying for: Full Name * Email * Phone * Location Years of Experience 0-2 years2-5 years5-10 years10+ years Tell us why you are great for this role * 500 characters remaining Resume Upload PDF, DOC, DOCX only (Max 5MB) I consent to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3388,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-37443","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lavora con noi | Borgo Santo Pietro<\/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:\/\/borgosantopietro.com\/it\/lavora-con-noi\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lavora con noi | Borgo Santo Pietro\" \/>\n<meta property=\"og:description\" content=\"Unisciti alla nostra famiglia Lavora con noi Scopri le posizioni aperte Apply Now Applying for: Full Name * Email * Phone * Location Years of Experience 0-2 years2-5 years5-10 years10+ years Tell us why you are great for this role * 500 characters remaining Resume Upload PDF, DOC, DOCX only (Max 5MB) I consent to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/\" \/>\n<meta property=\"og:site_name\" content=\"Borgo Santo Pietro\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BorgoSantoPietro\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-12T08:16:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/borgosantopietro.com\/wp-content\/uploads\/2018\/05\/WORK-WITH-US1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1700\" \/>\n\t<meta property=\"og:image:height\" content=\"1135\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@BorgoSPietro\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/\",\"url\":\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/\",\"name\":\"Lavora con noi | Borgo Santo Pietro\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/WORK-WITH-US1.jpg\",\"datePublished\":\"2026-02-10T11:27:46+00:00\",\"dateModified\":\"2026-02-12T08:16:24+00:00\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/it\\\/lavora-con-noi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/WORK-WITH-US1.jpg\",\"contentUrl\":\"https:\\\/\\\/borgosantopietro.com\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/WORK-WITH-US1.jpg\",\"width\":1700,\"height\":1135},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#website\",\"url\":\"https:\\\/\\\/borgosantopietro.com\\\/\",\"name\":\"Borgo Santo Pietro\",\"description\":\"Boutique Hotel Tuscany | 5 Star Luxury Hotel\",\"publisher\":{\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/borgosantopietro.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#organization\",\"name\":\"Relais Borgo Santo Pietro S.r.l.\",\"url\":\"https:\\\/\\\/borgosantopietro.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/staging.borgosantopietro.com\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/logo-landing-new.png\",\"contentUrl\":\"https:\\\/\\\/staging.borgosantopietro.com\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/logo-landing-new.png\",\"width\":824,\"height\":888,\"caption\":\"Relais Borgo Santo Pietro S.r.l.\"},\"image\":{\"@id\":\"https:\\\/\\\/borgosantopietro.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/BorgoSantoPietro\\\/\",\"https:\\\/\\\/x.com\\\/BorgoSPietro\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lavora con noi | Borgo Santo Pietro","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:\/\/borgosantopietro.com\/it\/lavora-con-noi\/","og_locale":"it_IT","og_type":"article","og_title":"Lavora con noi | Borgo Santo Pietro","og_description":"Unisciti alla nostra famiglia Lavora con noi Scopri le posizioni aperte Apply Now Applying for: Full Name * Email * Phone * Location Years of Experience 0-2 years2-5 years5-10 years10+ years Tell us why you are great for this role * 500 characters remaining Resume Upload PDF, DOC, DOCX only (Max 5MB) I consent to [&hellip;]","og_url":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/","og_site_name":"Borgo Santo Pietro","article_publisher":"https:\/\/www.facebook.com\/BorgoSantoPietro\/","article_modified_time":"2026-02-12T08:16:24+00:00","og_image":[{"width":1700,"height":1135,"url":"https:\/\/borgosantopietro.com\/wp-content\/uploads\/2018\/05\/WORK-WITH-US1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@BorgoSPietro","twitter_misc":{"Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/","url":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/","name":"Lavora con noi | Borgo Santo Pietro","isPartOf":{"@id":"https:\/\/borgosantopietro.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/#primaryimage"},"image":{"@id":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/#primaryimage"},"thumbnailUrl":"https:\/\/borgosantopietro.com\/wp-content\/uploads\/2018\/05\/WORK-WITH-US1.jpg","datePublished":"2026-02-10T11:27:46+00:00","dateModified":"2026-02-12T08:16:24+00:00","inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/borgosantopietro.com\/it\/lavora-con-noi\/#primaryimage","url":"https:\/\/borgosantopietro.com\/wp-content\/uploads\/2018\/05\/WORK-WITH-US1.jpg","contentUrl":"https:\/\/borgosantopietro.com\/wp-content\/uploads\/2018\/05\/WORK-WITH-US1.jpg","width":1700,"height":1135},{"@type":"WebSite","@id":"https:\/\/borgosantopietro.com\/#website","url":"https:\/\/borgosantopietro.com\/","name":"Borgo Santo Pietro","description":"Boutique Hotel Tuscany | 5 Star Luxury Hotel","publisher":{"@id":"https:\/\/borgosantopietro.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/borgosantopietro.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/borgosantopietro.com\/#organization","name":"Relais Borgo Santo Pietro S.r.l.","url":"https:\/\/borgosantopietro.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/borgosantopietro.com\/#\/schema\/logo\/image\/","url":"https:\/\/staging.borgosantopietro.com\/wp-content\/uploads\/2018\/05\/logo-landing-new.png","contentUrl":"https:\/\/staging.borgosantopietro.com\/wp-content\/uploads\/2018\/05\/logo-landing-new.png","width":824,"height":888,"caption":"Relais Borgo Santo Pietro S.r.l."},"image":{"@id":"https:\/\/borgosantopietro.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/BorgoSantoPietro\/","https:\/\/x.com\/BorgoSPietro"]}]}},"_links":{"self":[{"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/pages\/37443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/comments?post=37443"}],"version-history":[{"count":7,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/pages\/37443\/revisions"}],"predecessor-version":[{"id":37464,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/pages\/37443\/revisions\/37464"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/media\/3388"}],"wp:attachment":[{"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/media?parent=37443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/categories?post=37443"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borgosantopietro.com\/it\/wp-json\/wp\/v2\/tags?post=37443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}