Frentista Região São GonçaloBA – BA

Rede hg combustiveis ltda. · São Gonçalo dos Campos, Bahia · Ver no mapa

PUBLICADA EM
ago 25, 2026

Sobre esta vaga

Here’s a thinking process:

1. **Analyze the Request:**
– **Role:** Professional job ad writer in Brazilian Portuguese.
– **Task:** Expand a short, truncated job snippet into a complete, well-organized description.
– **Output Format:** HTML clean, using only `

` and `

    /

  • `. No headings, no markdown, no extra text.
    – **Word Count Target:** ~700 words.
    – **Constraints:**
    – Don’t invent specific facts not implied in the snippet or provided fields.
    – Can use general/sector-appropriate language, but treat suppositions as natural descriptions, not confirmed facts.
    – Keep it truthful, professional, legible.
    – Portuguese do Brazil, natural, no unnecessary anglicisms.
    – Output ONLY the HTML description, no title, no intro, no code blocks.

    2. **Analyze the Input Data:**
    – **Cargo:** Frentista (Gas Station Attendant/Worker)
    – **Região:** São Gonçalo BA – Bahia (Wait, the snippet says “Região São GonçaloBA – BA” but then “Localização: São Gonçalo dos Campos, Bahia”. The snippet also mentions the company is “maior rede de postos de rodovia” present in AL, BA, ES, MG, TO. The specific location given is “São Gonçalo dos Campos, Bahia”.)
    – **Empresa:** Rede hg combustiveis ltda.
    – **Trecho Original:** About the company: focus on fuel supply and fleet management, ethics, professionalism, largest highway gas station network, strategically located on main highways across the country, present in AL, BA, ES, MG, TO. Mission: sustainable development through products/services for companies and people they deal with.

    Important: I need to expand this into a job ad for a “Frentista” position. The snippet is about the company, not the specific job. I need to create a job description for a “Frentista” at “Rede HG Combustíveis”, but I must NOT invent specific facts not implied. I can use general, standard responsibilities of a “Frentista” as per sector norms, but frame them carefully, not as confirmed facts from the snippet, but as typical duties for such a role. I must avoid inventing salary, certifications, specific benefits, exact years of experience, etc.

    Let’s check what’s implied or can be naturally derived:
    – Company is in fuel/fleet sector, has gas stations/roadside posts.
    – Location: São Gonçalo dos Campos, BA.
    – Role: Frentista (likely attendant, customer service, fuel handling, basic operations).
    – Company values: ethics, professionalism, sustainable development.
    – Presence in multiple states, but this specific vacancy is in BA.

    I need to write a job ad that describes the role, responsibilities (general/standard), requirements (general, not fabricated), benefits (maybe standard, but I must be careful not to invent beyond what’s reasonable but not specified? The rules say: “NÃO invente fatos específicos que não estejam implícitos no trecho fornecido ou nos campos dados — sem valores de salário fabricados além do que foi informado, sem certificações falsas, sem benefícios inventados, sem exigências de anos de experiência inventadas.” So I can mention general requirements like “experiência na área” but not specify “3 anos”. I can mention “benefícios compatíveis com o mercado” but not list specific ones. I need to be very careful.

    Actually, re-reading: “sem benefícios inventados” – I should not list benefits that aren’t in the snippet. The snippet doesn’t mention any benefits. So I should either omit benefits or use very generic phrasing that doesn’t specify anything. But the target is ~700 words. I need to fill meaningfully without inventing.

    Let’s think about what’s safe:
    – Job title: Frentista
    – Company: Rede HG Combustíveis Ltda.
    – Location: São Gonçalo dos Campos, BA
    – Company description: from snippet, can be integrated naturally.
    – Role responsibilities: general fuel station attendant duties: customer service, fuel handling, cash register, cleanliness, basic inventory, safety procedures, etc. I’ll phrase them as “responsabilidades inerentes à função” or “atividades típicas”, making it clear they’re standard, not extracted from the snippet.
    – Requirements: “Experiência prévia na área é desejável” but not “3 anos”. “Ensino médio completo”. “Disponibilidade de horário”. I’ll keep it general.
    – Company mission/values: from snippet, can be included naturally.
    – No salary, no specific certifications, no invented benefits.

    I need to output ONLY HTML with `

    ` and `

      /

    • `. No headings (so no `

      `-`

      `), no markdown, no text outside HTML. The HTML should be clean, probably just a paragraph or list structure describing the vacancy.

      Target: ~700 words in HTML. That’s a lot of text for just `

      ` and `

        /

      • `. I need to generate a lot of content, but staying within the constraints. I’ll structure it as a series of paragraphs and lists describing the company, the role, responsibilities, requirements, etc., all in Portuguese do Brasil, natural, no anglicisms.

        Let’s outline the HTML content structure (mentally, since I can’t use headings, I’ll use sequential `

        ` and `

        • `):
          – Opening paragraph introducing the company and vacancy.
          – Paragraph on the company’s trajectory and mission (from snippet).
          – List of responsibilities (using

          • ).
            – Paragraph on requirements/profile.
            – List of what the company offers (general, non-specific).
            – Paragraph on application process or closing.
            – Maybe another list or paragraph.

            I need to ensure total word count ~700. I’ll write generously but carefully. Each `

            ` can be 80-120 words. Each `

          • ` 30-50 words. I’ll aim for maybe 6-8 paragraphs and 2-3 lists with 5-6 items each.

            Critical check on constraints:
            – “NÃO invente fatos específicos…”: I must not say “O salário é R$ 2.000” or “Benefícios incluem plano de saúde” or “Exigência de 2 anos de experiência”. I’ll avoid all specific numbers for salary, exact experience years, specific certifications. I can say “experiência na área de combustíveis ou atendimento ao cliente” without specifying years. I can say “benefícios competitivos” but that might be considered invented? Better to say “benefícios alinhados às normas da categoria” or just omit detailed benefits, or use very generic terms that are practically unavoidable but not specific. Actually, the rule says “sem benefícios inventados”. So I should not list benefits. I’ll focus on the role and company, and maybe mention that the company offers “condições de trabalho adequadas” without listing specifics. Or I can skip benefits entirely. To be safe, I’ll not include a benefits list. I’ll focus on responsibilities and requirements.
            – “Você PODE usar linguagem geral e padrão do setor… desde que apresente isso de forma natural e não trate suposições como fatos confirmados.” So I can say “O frentista é responsável por…” as a general description of the role, not as a fact from the snippet. I’ll frame it as “Atividades esperadas para a função” or “Entre as responsabilidades, destacam-se…” but carefully, so it’s not treated as confirmed fact from the snippet. Actually, the instruction says: “não trate suposições como fatos confirmados”. So I should avoid definitive statements like “O frentista irá…” and maybe use “Podem incluir…” or “Entre as tarefas, estão…”. But also the text should be professional and legible, as if a real person is reading it. I’ll strike a balance: describe the role naturally, using impersonal or general phrasing, without claiming it’s from the snippet.
            – “Mantenha o texto verdadeiro, profissional e legível — pensando em uma pessoa real decidindo se deve se candidatar.” So it should sound like a real job ad.
            – “Escreva inteiramente em português do Brasil, natural e claro, sem anglicismos desnecessários.”
            – “Tamanho alvo: aproximadamente 700 palavras.”
            – “Produza SOMENTE o HTML da descrição, nada além disso (sem título, sem introdução, sem marcação de bloco de código).”

            Wait, “sem título, sem introdução” – but I need to write the description. I think it means no `` tag, no separate intro text outside the HTML, no markdown headings. The HTML itself can contain the content. I’ll just output the HTML body content.</p> <p> Let’s plan the HTML structure:<br /> I’ll use `</p> <p>` for paragraphs and `</p> <ul> <li>` for lists. I’ll make sure there are no headings. I’ll start directly with content. <p> I need to count words. Aiming for ~700 words in total HTML content. That’s doable if I write substantial paragraphs. Each Portuguese word is similar. I’ll target maybe 8-10 paragraphs of ~70 words each, plus lists with ~5 items of ~40 words each. Total ~700.</p> <p> Let’s start drafting content mentally, then translate to HTML, ensuring constraints.</p> <p> Draft content (mental):<br /> Paragraph 1</p> <p><!-- ojcjm:auto-details:start --></p> <ul class="ojcjm-job-meta-block"> <li><strong>Empresa:</strong> Rede hg combustiveis ltda.</li> <li><strong>Localização:</strong> <a href="https://www.google.com/maps?q=-12.42717%2C-38.97399" target="_blank" rel="noopener nofollow">São Gonçalo dos Campos, Bahia</a></li> <li><strong>Categoria da Vaga:</strong> <a href="https://vagasdeempregobahia.com.br/categoria-vaga/unknown/">Unknown</a></li> <li><strong>Tags da Vaga:</strong> <a href="https://vagasdeempregobahia.com.br/tag-vaga/sao-goncalo-dos-campos/">São Gonçalo dos Campos</a></li> </ul> <p><!-- ojcjm:auto-details:end --></p> <div class="tvbr-ad tvbr-ad-post-bottom"><div joinadscode="Content2"></div></div> </div> </div> </div> <!-- Sidebar --> <div style="position:sticky;top:96px;"> <div style="background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-sm);margin-bottom:20px;"> <h3 style="font-size:1.1rem;margin-bottom:20px;">Candidatar-se</h3> <button class="btn btn-primary tvbr-candidatar" style="width:100%;justify-content:center;font-size:1rem;padding:16px;gap:8px;" data-url="https://www.adzuna.com.br/land/ad/5855223198?se=hKtXdpug8RGratEa7ObxPA&utm_medium=api&utm_source=a468927b&v=0020AC3D4CD84FA949E00105A799C7C11BD88C85" > <svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2l6 6-8.5 8.5-6.5 2 2-6.5z"/><path d="M14 2l6 6"/></svg> Candidatar-se </button> <button class="btn btn-secondary tvbr-save-btn" style="width:100%;justify-content:center;margin-top:12px;gap:8px;"> <svg class="save-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg> <span class="save-label">Salvar Vaga</span> </button> <p style="font-size:.75rem;color:var(--text-muted);text-align:center;margin-top:14px;"> Processo seletivo conduzido pelo empregador </p> </div> <!-- Related Jobs --> <div style="background:var(--light);border-radius:var(--radius-md);padding:24px;"> <h4 style="font-size:.9rem;margin-bottom:16px;color:var(--navy);">Vagas Similares</h4> <a href="https://vagasdeempregobahia.com.br/vagas/auxiliar-tecnico-salvador-ba-ba/" style="display:block;padding:12px 0;border-bottom:1px solid var(--border);"> <div style="font-size:.87rem;font-weight:600;color:var(--navy);margin-bottom:2px;">Auxiliar Técnico Salvador – BA – BA</div> <div style="font-size:.77rem;color:var(--text-muted);">Avantia</div> </a> <a href="https://vagasdeempregobahia.com.br/vagas/agente-comercial-banco-mercantil-bom-jesus-da-lapa-ba/" style="display:block;padding:12px 0;border-bottom:1px solid var(--border);"> <div style="font-size:.87rem;font-weight:600;color:var(--navy);margin-bottom:2px;">Agente Comercial – Banco Mercantil – Bom Jesus da Lapa, BA</div> <div style="font-size:.77rem;color:var(--text-muted);">Confidencial</div> </a> <a href="https://vagasdeempregobahia.com.br/vagas/auxiliar-administrativo-afirmativa-pessoa-com-deficiencia-camacari-ba/" style="display:block;padding:12px 0;border-bottom:1px solid var(--border);"> <div style="font-size:.87rem;font-weight:600;color:var(--navy);margin-bottom:2px;">Auxiliar Administrativo /afirmativa Pessoa com Deficiência Camaçari, Ba</div> <div style="font-size:.77rem;color:var(--text-muted);">Localiza&Co</div> </a> <a href="https://vagasdeempregobahia.com.br/vagas/social-media-6/" style="display:block;padding:12px 0;border-bottom:1px solid var(--border);"> <div style="font-size:.87rem;font-weight:600;color:var(--navy);margin-bottom:2px;">Social Media</div> <div style="font-size:.77rem;color:var(--text-muted);">Borges Calçados</div> </a> </div> </div> </div> </div> </main> <div class="tvbr-ad tvbr-ad-above-footer"><!-- =================================================================== BLOCO DE ANÚNCIO NATIVO — Próximo Nível 360 3 partes abaixo. Cole cada uma no lugar indicado. =================================================================== --> <!-- =================================================================== PARTE 1 — vai no <head> do site Só precisa se o site AINDA NÃO carrega Fraunces/Inter. No nivel360.com.br isso já existe no index.html — pode ignorar. =================================================================== --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,600;0,9..144,900;1,9..144,500&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"> <!-- =================================================================== PARTE 2 — vai UMA VEZ SÓ no CSS do site (style.css do tema, ou dentro de uma tag <style> no header.php/footer.php) Não precisa repetir a cada vez que usar o card. =================================================================== --> <style> :root{ --navy: #0b1220; --navy2: #0e1b33; --navy3: #16233f; --gold: #f2b90c; --gold2: #c9930a; --white: #ffffff; --grey: #b8c0cc; } .ad-slot{ max-width: 640px; margin: 0 auto 28px; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; } .ad-slot__divider{ display:flex; align-items:center; gap: 14px; margin: 0 0 14px; color: #9aa0aa; font-size: 12px; letter-spacing: .06em; } .ad-slot__divider::before, .ad-slot__divider::after{ content:""; flex:1; height:1px; background: #dfe2e8; } .ad-card{ position: relative; background: linear-gradient(165deg, var(--navy2) 0%, var(--navy) 55%, var(--navy3) 100%); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 24px rgba(11,18,32,.18); } .ad-card__link{ display:block; color: inherit; text-decoration: none; } .ad-card__media{ position: relative; width: 100%; aspect-ratio: 16 / 9; overflow:hidden; display:flex; align-items:center; justify-content:center; background: radial-gradient(70% 90% at 80% 15%, rgba(242,185,12,.18) 0%, transparent 60%), linear-gradient(155deg, var(--navy2) 0%, var(--navy) 60%, var(--navy3) 100%); } .ad-card__media img{ width:100%; height:100%; object-fit: cover; display:block; } .ad-card__mark{ width: 74px; height: 74px; opacity: .9; } .ad-card__badge{ position:absolute; top:12px; left:12px; background: rgba(255,255,255,.94); color:#111; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 5px; line-height:1.4; } .ad-card__info{ position:absolute; top:12px; right:12px; width: 22px; height: 22px; border-radius:50%; border:none; background: rgba(255,255,255,.16); color:#fff; font-size: 12px; font-style: italic; font-family: Georgia, serif; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index: 2; } .ad-card__info:hover{ background: rgba(255,255,255,.28); } .ad-card__body{ padding: 18px 18px 14px; } .ad-card__title{ margin: 0 0 8px; font-family: "Fraunces", Georgia, serif; font-weight: 700; font-size: clamp(17px, 4vw, 20px); line-height: 1.3; color: var(--white); white-space: nowrap; overflow:hidden; text-overflow: ellipsis; } .ad-card__desc{ margin:0; font-size: 14px; line-height: 1.5; color: var(--grey); display:-webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-clamp: 2; overflow:hidden; text-overflow: ellipsis; } .ad-card__footer{ display:flex; align-items:center; justify-content:space-between; gap: 10px; padding: 14px 18px 18px; border-top: 1px solid rgba(242,185,12,.25); margin-top: 10px; } .ad-card__advertiser{ display:flex; align-items:center; gap:9px; min-width:0; } .ad-card__logo{ width: 28px; height: 28px; flex-shrink:0; } .ad-card__advertiser-name{ font-size: 13px; font-weight: 600; color: var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .ad-card__cta{ flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-size: 14px; font-weight: 700; color: var(--gold); } /* telas mais largas: imagem+texto lado a lado. Apague este bloco se quiser sempre empilhado */ @media (min-width: 700px){ .ad-card__link{ display:flex; align-items:stretch; } .ad-card__media{ width: 40%; aspect-ratio: auto; flex-shrink:0; } .ad-card__body-wrap{ display:flex; flex-direction:column; justify-content:space-between; flex:1; min-width:0; } .ad-card__footer{ margin-top:0; border-top:none; } .ad-card__body{ padding-bottom:4px; } } @media (prefers-reduced-motion: no-preference){ .ad-card__link:hover .ad-card__title{ text-decoration: underline; text-decoration-color: var(--gold); } } </style> <!-- =================================================================== PARTE 3 — o card em si. Cola essa tag <section> em quantos lugares quiser mostrar o anúncio. Antes de publicar: troque "SUBSTITUIR_PELO_SITE" no href pelo nome do site onde essa cópia está entrando (ex: nivel360, temosvagasbr...). =================================================================== --> <section class="ad-slot" aria-label="Conteúdo patrocinado"> <div class="ad-slot__divider">Publicidade</div> <div class="ad-card"> <a class="ad-card__link" href="https://proximonivel360.com.br/?utm_source=native_ad&utm_medium=display&utm_campaign=analise_carreira_ia&utm_content=SUBSTITUIR_PELO_SITE" target="_blank" rel="sponsored noopener" aria-label="Anúncio: Análise de Carreira Grátis, feita por IA — Próximo Nível 360. Fazer análise grátis."> <div class="ad-card__media"> <svg class="ad-card__mark" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> <path d="M 20.2 83 A 46 46 0 1 1 60 106" fill="none" stroke="#F2B90C" stroke-width="6" stroke-linecap="round"/> <rect x="28" y="82" width="14" height="10" fill="#F2B90C"/> <rect x="42" y="74" width="14" height="18" fill="#F2B90C"/> <rect x="56" y="66" width="14" height="26" fill="#F2B90C"/> <rect x="70" y="58" width="14" height="34" fill="#F2B90C"/> <circle cx="84" cy="50" r="7" fill="#F2B90C"/> </svg> <span class="ad-card__badge">Anúncio</span> </div> <div class="ad-card__body-wrap"> <div class="ad-card__body"> <h3 class="ad-card__title">Análise de Carreira, </h3> <p class="ad-card__desc">Descubra em 2 minutos qual pilar está travando sua evolução: Aprender, Evoluir ou Liderar.</p> </div> <div class="ad-card__footer"> <div class="ad-card__advertiser"> <svg class="ad-card__logo" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> <path d="M 20.2 83 A 46 46 0 1 1 60 106" fill="none" stroke="#F2B90C" stroke-width="8" stroke-linecap="round"/> <rect x="28" y="82" width="14" height="10" fill="#F2B90C"/> <rect x="42" y="74" width="14" height="18" fill="#F2B90C"/> <rect x="56" y="66" width="14" height="26" fill="#F2B90C"/> <rect x="70" y="58" width="14" height="34" fill="#F2B90C"/> <circle cx="84" cy="50" r="7" fill="#F2B90C"/> </svg> <span class="ad-card__advertiser-name">Próximo Nível 360</span> </div> <span class="ad-card__cta">Fazer análise Agora →</span> </div> </div> </a> <button type="button" class="ad-card__info" aria-label="Por que este anúncio?" onclick="alert('Conteúdo promovido por Próximo Nível 360.')">i</button> </div> </section></div> <footer class="site-footer" id="site-footer"> <div class="container"> <div class="footer-grid"> <!-- Brand --> <div class="footer-brand"> <a href="https://vagasdeempregobahia.com.br/" aria-label="Vagas de Emprego Bahia — Início"> <img src="https://vagasdeempregobahia.com.br/wp-content/themes/vagasdeempregobahia-theme/images/logo.png" alt="Vagas de Emprego Bahia" style="height:48px;width:auto;display:block;filter:brightness(0) invert(1);margin-bottom:12px;" loading="lazy" > </a> <p>Conectando talentos a oportunidades na Bahia — vagas remotas e presenciais em empresas de todo o estado.</p> <div class="footer-social"> <a href="https://www.instagram.com/vagasdeempregobahia.oficial" class="social-icon" aria-label="Instagram" target="_blank" rel="noopener"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="5"/><circle cx="12" cy="12" r="4"/><circle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"/></svg> </a> <a href="https://www.linkedin.com/company/vagas-de-empregos-bahia/" class="social-icon" aria-label="LinkedIn" target="_blank" rel="noopener"> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M20 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM8.339 18.337H5.667v-8.59h2.672v8.59zM7.003 8.574a1.548 1.548 0 1 1 0-3.096 1.548 1.548 0 0 1 0 3.096zm11.335 9.763h-2.669V14.16c0-.996-.018-2.277-1.388-2.277-1.39 0-1.601 1.086-1.601 2.207v4.248h-2.667v-8.59h2.56v1.174h.037c.355-.675 1.227-1.387 2.524-1.387 2.704 0 3.203 1.778 3.203 4.092v4.71z"/></svg> </a> </div> </div> <!-- Vagas --> <div class="footer-col"> <h5>VAGAS</h5> <ul> <li><a href="https://vagasdeempregobahia.com.br/vagas">Todas as Vagas</a></li> <li><a href="https://vagasdeempregobahia.com.br/vagas?remote=1">Vagas Remotas</a></li> <li><a href="https://vagasdeempregobahia.com.br/vagas?s=entry-level">Vagas de Nível Inicial</a></li> <li><a href="https://vagasdeempregobahia.com.br/vagas?s=full-time">Vagas de Tempo Integral</a></li> <li><a href="https://vagasdeempregobahia.com.br/vagas?s=part-time">Vagas de Meio Período</a></li> </ul> </div> <!-- Carreira --> <div class="footer-col"> <h5>CARREIRA</h5> <ul> <li><a href="https://vagasdeempregobahia.com.br/dicas-de-curriculo">Dicas de Currículo</a></li> <li><a href="https://vagasdeempregobahia.com.br/entrevistas">Entrevistas</a></li> <li><a href="https://vagasdeempregobahia.com.br/salarios">Salários</a></li> <li><a href="https://vagasdeempregobahia.com.br/recursos-de-carreira">Recursos de Carreira</a></li> </ul> </div> <!-- Support --> <div class="footer-col"> <h5>SUPORTE</h5> <ul> <li><a href="https://vagasdeempregobahia.com.br/quem-somos">Sobre Nós</a></li> <li><a href="https://vagasdeempregobahia.com.br/contato">Contato</a></li> <li><a href="https://vagasdeempregobahia.com.br/politica-de-privacidade">Política de Privacidade</a></li> <li><a href="https://vagasdeempregobahia.com.br/termos-de-uso">Termos de Uso</a></li> </ul> </div> </div><!-- /.footer-grid --> <div class="footer-bottom"> <p>© 2026 <a href="https://vagasdeempregobahia.com.br/">Vagas de Emprego Bahia</a>. Todos os direitos reservados.</p> <div class="footer-bottom-links"> <a href="https://vagasdeempregobahia.com.br/politica-de-privacidade">Política de Privacidade</a> <a href="https://vagasdeempregobahia.com.br/termos-de-uso">Termos de Uso</a> <a href="https://vagasdeempregobahia.com.br/sitemap">Sitemap</a> </div> </div> </div> </footer> <div class="tvbr-ad tvbr-ad-below-footer"><div joinadscode="Content3"></div></div> <!-- ════════════════════════════════ BANNER DE COOKIES (LGPD) ════════════════════════════════ --> <div id="tvbr-cookies" role="dialog" aria-live="polite" aria-label="Aviso de cookies" style=" position:fixed;bottom:0;left:0;right:0;z-index:9998; background:#fff;border-top:3px solid #C8110F; box-shadow:0 -4px 32px rgba(6,11,110,0.15); display:none; transform:translateY(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); "> <div style="max-width:1200px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;"> <!-- Ícone --> <div style="flex-shrink:0;width:40px;height:40px;background:#FDEBEA;border-radius:10px;display:flex;align-items:center;justify-content:center;"> <svg width="20" height="20" fill="none" stroke="#C8110F" stroke-width="2" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z"/><circle cx="12" cy="12" r="1" fill="#C8110F"/><line x1="12" y1="8" x2="12" y2="12"/></svg> </div> <!-- Texto --> <p style="flex:1;min-width:220px;font-size:.85rem;color:#374151;line-height:1.6;margin:0;"> Usamos cookies para melhorar sua experiência, analisar o tráfego e personalizar conteúdo, de acordo com nossa <a href="https://vagasdeempregobahia.com.br/privacy-policy" style="color:#C8110F;font-weight:600;">Política de Privacidade</a>. Ao continuar, você concorda com o uso de cookies. </p> <!-- Ações --> <div style="display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;"> <button id="tvbr-cookies-config" style="background:none;border:1px solid #E5E7EB;color:#6B7280;padding:9px 16px;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;"> Gerenciar </button> <button id="tvbr-cookies-reject" style="background:#F2F4F7;border:none;color:#374151;padding:9px 16px;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;"> Recusar </button> <button id="tvbr-cookies-accept" style="background:#0A14C8;border:none;color:#fff;padding:9px 20px;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;"> Aceitar Todos </button> </div> </div> </div> <!-- Modal de configuração de cookies --> <div id="tvbr-cookies-modal" style=" display:none;position:fixed;inset:0;z-index:10000; background:rgba(6,11,110,.6);backdrop-filter:blur(4px); align-items:center;justify-content:center;padding:20px; "> <div style="background:#fff;border-radius:20px;padding:32px;max-width:500px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.2);"> <h2 style="font-size:1.1rem;color:#060B6E;margin-bottom:16px;">Preferências de cookies</h2> <div style="display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid #F2F4F7;"> <label style="position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px;"> <input type="checkbox" class="tvbr-cookie-toggle" data-type="necessary" checked disabled style="opacity:0;width:0;height:0;"> <span style="position:absolute;inset:0;background:#9CA3AF;border-radius:24px;cursor:not-allowed;transition:.2s;"> <span style="position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;transform:translateX(20px)"></span> </span> </label> <div> <strong style="font-size:.9rem;color:#060B6E;">Essenciais</strong> <span style="font-size:.7rem;color:#9CA3AF;font-weight:400;">Sempre ativo</span> <p style="font-size:.8rem;color:#6B7280;margin:4px 0 0;line-height:1.5;">Necessários para o funcionamento correto do site. Não podem ser desativados.</p> </div> </div> <div style="display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid #F2F4F7;"> <label style="position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px;"> <input type="checkbox" class="tvbr-cookie-toggle" data-type="analytics" checked style="opacity:0;width:0;height:0;"> <span style="position:absolute;inset:0;background:#0A14C8;border-radius:24px;cursor:pointer;transition:.2s;"> <span style="position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;transform:translateX(20px)"></span> </span> </label> <div> <strong style="font-size:.9rem;color:#060B6E;">Analíticos</strong> <p style="font-size:.8rem;color:#6B7280;margin:4px 0 0;line-height:1.5;">Nos ajudam a entender como você usa o site (dados de análise anonimizados).</p> </div> </div> <div style="display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid #F2F4F7;"> <label style="position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px;"> <input type="checkbox" class="tvbr-cookie-toggle" data-type="functional" checked style="opacity:0;width:0;height:0;"> <span style="position:absolute;inset:0;background:#0A14C8;border-radius:24px;cursor:pointer;transition:.2s;"> <span style="position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;transform:translateX(20px)"></span> </span> </label> <div> <strong style="font-size:.9rem;color:#060B6E;">Funcionais</strong> <p style="font-size:.8rem;color:#6B7280;margin:4px 0 0;line-height:1.5;">Lembram suas preferências e personalizam sua experiência.</p> </div> </div> <div style="display:flex;gap:10px;margin-top:20px;justify-content:flex-end;flex-wrap:wrap;"> <button id="tvbr-cookies-modal-close" style="background:#F2F4F7;border:none;color:#374151;padding:10px 18px;border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;"> Cancelar </button> <button id="tvbr-cookies-save" style="background:#C8110F;border:none;color:#fff;padding:10px 22px;border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;"> Salvar preferências </button> </div> </div> </div> <!-- ════════════════════════════════ PWA — BANNER "INSTALAR APP" ════════════════════════════════ --> <div id="tvbr-pwa-banner" style=" display:none;position:fixed;bottom:80px;left:50%;transform:translateX(-50%); z-index:9997;max-width:360px;width:calc(100% - 40px); background:#060B6E;border-radius:16px; padding:16px 18px;box-shadow:0 8px 32px rgba(0,0,0,.35); animation:tvbrSlideUp .3s ease; "> <button id="tvbr-pwa-close" style="position:absolute;top:10px;right:12px;background:none;border:none;color:rgba(255,255,255,.5);font-size:1.1rem;cursor:pointer;line-height:1;" aria-label="Fechar"> <svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> </button> <div style="display:flex;align-items:center;gap:14px;"> <img src="https://vagasdeempregobahia.com.br/wp-content/themes/vagasdeempregobahia-theme/images/apple-touch-icon.png" alt="Vagas de Emprego Bahia" style="width:48px;height:48px;border-radius:12px;flex-shrink:0;"> <div style="flex:1;"> <p style="color:#fff;font-weight:700;font-size:.92rem;margin-bottom:2px;">Instalar Vagas de Emprego Bahia</p> <p style="color:rgba(255,255,255,.6);font-size:.78rem;margin-bottom:10px;">Acesse as vagas direto da tela inicial</p> <button id="tvbr-pwa-install" style="background:#0A14C8;border:none;color:#fff;padding:8px 18px;border-radius:100px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;"> Instalar agora </button> </div> </div> </div> <!-- PWA: iOS instruction (Safari não suporta beforeinstallprompt) --> <div id="tvbr-ios-banner" style=" display:none;position:fixed;bottom:80px;left:50%;transform:translateX(-50%); z-index:9997;max-width:360px;width:calc(100% - 40px); background:#060B6E;border-radius:16px; padding:16px 18px;box-shadow:0 8px 32px rgba(0,0,0,.35); "> <button id="tvbr-ios-close" style="position:absolute;top:10px;right:12px;background:none;border:none;color:rgba(255,255,255,.5);font-size:1.1rem;cursor:pointer;" aria-label="Fechar"> <svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg> </button> <div style="display:flex;align-items:flex-start;gap:14px;"> <img src="https://vagasdeempregobahia.com.br/wp-content/themes/vagasdeempregobahia-theme/images/apple-touch-icon.png" alt="Vagas de Emprego Bahia" style="width:44px;height:44px;border-radius:10px;flex-shrink:0;"> <div> <p style="color:#fff;font-weight:700;font-size:.9rem;margin-bottom:6px;">Instalar no iPhone</p> <p style="color:rgba(255,255,255,.7);font-size:.78rem;line-height:1.6;margin:0;"> Toque em <span style="display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:5px;"> <svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"/><polyline points="16 6 12 2 8 6"/><line x1="12" y1="2" x2="12" y2="15"/></svg> Compartilhar </span> depois em <strong style="color:#fff;">"Adicionar à Tela de Início"</strong> </p> </div> </div> </div> <style> /* ============================== ANÚNCIO FIXO ATSCHECK MOBILE ============================== */ .atscheck-sticky{ position:fixed; left:0; right:0; bottom:-260px; width:100%; padding:0 10px calc(env(safe-area-inset-bottom,0px) + 10px); box-sizing:border-box; z-index:999999; transition:bottom .45s cubic-bezier(.22,.61,.36,1); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; pointer-events:none; } .atscheck-sticky.show{ bottom:0; pointer-events:auto; } .atscheck-box{ position:relative; display:flex; flex-direction:column; gap:10px; background:#141110; border:1px solid #2b2118; border-radius:16px; padding:14px 16px 16px; box-shadow:0 10px 30px rgba(0,0,0,.4); } /* ============================== LINHA SUPERIOR (logo + fechar) ============================== */ .atscheck-top{ display:flex; align-items:center; justify-content:space-between; } /* ============================== LOGO ============================== */ .atscheck-logo{ font-size:14px; font-weight:800; color:#fff; white-space:nowrap; letter-spacing:.2px; } .atscheck-logo span{ color:#d8b04b; } /* ============================== BOTÃO DE FECHAR ============================== */ .atscheck-close{ width:24px; height:24px; background:rgba(255,255,255,.06); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#888; font-size:12px; line-height:1; cursor:pointer; user-select:none; transition:.2s; flex-shrink:0; } .atscheck-close:hover{ color:#fff; background:rgba(255,255,255,.14); } /* ============================== TEXTO ============================== */ .atscheck-headline{ color:#fff; font-size:15px; font-weight:700; line-height:1.3; margin:0; } .atscheck-sub{ color:#a9a29a; font-size:12.5px; line-height:1.4; margin:2px 0 0; } .atscheck-sub strong{ color:#d8b04b; font-weight:700; } /* ============================== BOTÃO ============================== */ .atscheck-btn{ display:flex; align-items:center; justify-content:center; text-decoration:none; background:#d8b04b; color:#171310; padding:13px 16px; border-radius:10px; font-size:13px; font-weight:800; letter-spacing:.3px; white-space:nowrap; width:100%; box-sizing:border-box; transition:.2s; animation:atsPulse 2s infinite; } .atscheck-btn:hover{ transform:scale(1.02); } @keyframes atsPulse{ 0%{ box-shadow:0 0 0 0 rgba(216,176,75,.4); } 70%{ box-shadow:0 0 0 9px rgba(216,176,75,0); } 100%{ box-shadow:0 0 0 0 rgba(216,176,75,0); } } /* ============================== MOBILE ============================== */ @media(max-width:480px){ .atscheck-box{ padding:12px 14px 14px; gap:8px; } .atscheck-headline{ font-size:14px; } .atscheck-sub{ font-size:12px; } .atscheck-btn{ font-size:12.5px; padding:12px 14px; } } /* ============================== DESKTOP ============================== */ @media(min-width:768px){ .atscheck-sticky{ display:none !important; } } </style> <div class="atscheck-sticky" id="atsSticky"> <div class="atscheck-box"> <div class="atscheck-top"> <div class="atscheck-logo"> ATSCheck<span>.pro</span> </div> <div class="atscheck-close" id="atsStickyClose" aria-label="Fechar"> ✕ </div> </div> <p class="atscheck-headline">Seu currículo vai passar na triagem do ATS?</p> <p class="atscheck-sub">Verifique com <strong>IA</strong> e descubra como os recrutadores realmente veem o seu currículo.</p> <a class="atscheck-btn" href="https://br.atscheck.pro/?utm_source=article&utm_medium=anchor_mobile&utm_campaign=atscheck_articles" target="_blank" rel="noopener sponsored"> ANALISAR CURRÍCULO </a> </div> </div> <script> (() => { const sticky = document.getElementById("atsSticky"); const closeBtn = document.getElementById("atsStickyClose"); if (!sticky || !closeBtn) return; const STORAGE_KEY = "atscheck_anchor_daily"; const today = new Date().toISOString().slice(0,10); let state = JSON.parse(localStorage.getItem(STORAGE_KEY) || "{}"); if(state.date !== today){ state = { date: today, views: 0, closed: false }; saveState(); } function saveState(){ localStorage.setItem(STORAGE_KEY, JSON.stringify(state)); } let scheduled = false; function showBanner(){ if(state.closed) return; if(state.views >= 2) return; state.views++; saveState(); sticky.classList.add("show"); // Esconde automaticamente após 15 segundos setTimeout(()=>{ sticky.classList.remove("show"); },15000); } function scheduleBanner(){ if(scheduled) return; scheduled = true; // Espera 10 segundos após o usuário começar a navegar setTimeout(showBanner,10000); } // Só agenda quando o usuário rolar a página window.addEventListener("scroll",function(){ if(window.scrollY > 300){ scheduleBanner(); } },{passive:true}); // Botão fechar closeBtn.addEventListener("click",function(){ state.closed = true; saveState(); sticky.classList.remove("show"); }); // Segunda exibição 3 minutos depois (se ainda puder) setTimeout(function(){ if(!state.closed && state.views < 2){ showBanner(); } },190000); })(); </script> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/vagasdeempregobahia-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script> if ('serviceWorker' in navigator) { window.addEventListener('load', function () { navigator.serviceWorker.register('/sw.js', { scope: '/' }) .catch(function (err) { console.warn('Falha ao registrar o Service Worker:', err); }); }); } </script> <script id="ojc-analytics-tracking-js-after"> (function() { document.addEventListener('click', function(e) { var btn = e.target.closest('.tvbr-candidatar'); if (!btn) return; var data = new URLSearchParams(); data.set('action', 'ojcb_track_apply'); data.set('post_id', '48085'); data.set('nonce', '5ccaa5ec56'); if (navigator.sendBeacon) { navigator.sendBeacon('https://vagasdeempregobahia.com.br/wp-admin/admin-ajax.php', data); } else { fetch('https://vagasdeempregobahia.com.br/wp-admin/admin-ajax.php', { method: 'POST', body: data, keepalive: true }); } }, true); })(); //# sourceURL=ojc-analytics-tracking-js-after </script> <script id="tvbr-main-js-extra"> var TVBR = {"ajaxUrl":"https://vagasdeempregobahia.com.br/wp-admin/admin-ajax.php","nonce":"8257a674a2","hcaptchaSiteKey":"5fb019be-bba8-4706-b49c-764cf5566f26"}; //# sourceURL=tvbr-main-js-extra </script> <script id="tvbr-main-js" defer src="https://vagasdeempregobahia.com.br/wp-content/themes/vagasdeempregobahia-theme/js/main.js?ver=1785119087"></script> <script id="googlesitekit-events-provider-content-events-js-before"> window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.contentEvents = {"postID":48085,"isSinglePost":false}; //# sourceURL=googlesitekit-events-provider-content-events-js-before </script> <script id="googlesitekit-events-provider-content-events-js" defer src="https://vagasdeempregobahia.com.br/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-33078016c5e1e9f07c35.js"></script> <script id="googlesitekit-events-provider-wpforms-js" defer src="https://vagasdeempregobahia.com.br/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-wpforms-063cb453c64ecfd3dafe.js"></script> <script> /* ════════ COOKIES ════════ */ (function(){ const COOKIE_KEY = 'tvbr_cookies_consent'; const banner = document.getElementById('tvbr-cookies'); const modal = document.getElementById('tvbr-cookies-modal'); function getConsent(){ try{ return JSON.parse(localStorage.getItem(COOKIE_KEY)); } catch(e){ return null; } } function setConsent(obj){ localStorage.setItem(COOKIE_KEY, JSON.stringify({...obj, ts: Date.now()})); } function hideBanner(){ banner.style.transform = 'translateY(100%)'; setTimeout(function(){ banner.style.display = 'none'; }, 400); } function showBanner(){ banner.style.display = 'block'; // Forçar reflow para a transição funcionar após display:block banner.getBoundingClientRect(); requestAnimationFrame(function(){ banner.style.transform = 'translateY(0)'; }); } // Mostrar se não consentiu ainda (ou consentimento > 180 dias) const consent = getConsent(); const expired = consent && (Date.now() - consent.ts) > 180 * 86400000; if (!consent || expired) { setTimeout(showBanner, 1200); } document.getElementById('tvbr-cookies-accept').addEventListener('click', function(){ setConsent({necessary:true, analytics:true, functional:true}); hideBanner(); }); document.getElementById('tvbr-cookies-reject').addEventListener('click', function(){ setConsent({necessary:true, analytics:false, functional:false}); hideBanner(); }); document.getElementById('tvbr-cookies-config').addEventListener('click', function(){ modal.style.display = 'flex'; // Sincronizar toggles com estado atual const c = getConsent() || {}; document.querySelectorAll('.tvbr-cookie-toggle').forEach(function(t){ if (!t.disabled) t.checked = c[t.dataset.type] !== false; }); }); document.getElementById('tvbr-cookies-modal-close').addEventListener('click', function(){ modal.style.display = 'none'; }); document.getElementById('tvbr-cookies-save').addEventListener('click', function(){ const prefs = {necessary:true}; document.querySelectorAll('.tvbr-cookie-toggle').forEach(function(t){ prefs[t.dataset.type] = t.checked; }); setConsent(prefs); modal.style.display = 'none'; hideBanner(); }); // Toggle visual nos switches do modal document.querySelectorAll('.tvbr-cookie-toggle').forEach(function(chk){ if (chk.disabled) return; chk.addEventListener('change', function(){ const span = this.parentElement.querySelector('span'); const knob = span.querySelector('span'); span.style.background = this.checked ? '#0A14C8' : '#D1D5DB'; knob.style.transform = this.checked ? 'translateX(20px)' : 'translateX(0)'; }); // Estado inicial const span = chk.parentElement.querySelector('span'); const knob = span.querySelector('span'); span.style.background = chk.checked ? '#0A14C8' : '#D1D5DB'; knob.style.transform = chk.checked ? 'translateX(20px)' : 'translateX(0)'; }); })(); /* ════════ PWA ════════ */ (function(){ const PWA_DISMISSED_KEY = 'tvbr_pwa_dismissed'; let deferredPrompt = null; // Detectar iOS const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); const isStandalone = window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone; if (isStandalone) return; // Já instalado const dismissed = sessionStorage.getItem(PWA_DISMISSED_KEY); if (dismissed) return; // Android / Chrome — evento beforeinstallprompt window.addEventListener('beforeinstallprompt', function(e){ e.preventDefault(); deferredPrompt = e; const banner = document.getElementById('tvbr-pwa-banner'); setTimeout(() => banner.style.display = 'block', 3000); document.getElementById('tvbr-pwa-install').addEventListener('click', function(){ banner.style.display = 'none'; deferredPrompt.prompt(); deferredPrompt.userChoice.then(function(result){ if (result.outcome === 'accepted') sessionStorage.setItem(PWA_DISMISSED_KEY, '1'); deferredPrompt = null; }); }); document.getElementById('tvbr-pwa-close').addEventListener('click', function(){ banner.style.display = 'none'; sessionStorage.setItem(PWA_DISMISSED_KEY, '1'); }); }); // iOS Safari if (isIOS && isSafari) { const iosBanner = document.getElementById('tvbr-ios-banner'); setTimeout(() => iosBanner.style.display = 'block', 3000); document.getElementById('tvbr-ios-close').addEventListener('click', function(){ iosBanner.style.display = 'none'; sessionStorage.setItem(PWA_DISMISSED_KEY, '1'); }); } })(); </script> <!-- Modal de confirmação de candidatura — usado por .tvbr-candidatar em single-job_listing.php via main.js (openModal/closeModal). Fica aqui no footer (global) porque main.js é compartilhado por todo o site, mesmo o botão só existindo na página de vaga individual. Antes desse fix, o JS procurava #modal-candidatura, não encontrava nada, e o clique no botão de candidatura não fazia absolutamente nada. --> <div id="modal-candidatura" class="tvbr-modal" hidden> <div class="tvbr-modal__backdrop"></div> <div class="tvbr-modal__box" role="dialog" aria-modal="true" aria-labelledby="modal-candidatura-title"> <h3 id="modal-candidatura-title">Você está saindo do Vagas de Emprego Bahia</h3> <p>A candidatura para essa vaga é feita no site do próprio empregador. Você será redirecionado para concluir sua candidatura lá.</p> <div class="tvbr-modal__actions"> <button type="button" id="modal-cancel" class="btn btn-secondary">Cancelar</button> <a href="#" id="modal-confirm" class="btn btn-primary" target="_blank" rel="noopener nofollow">Continuar para a Candidatura</a> </div> </div> </div> </body> </html> <style> .job-description h2,.job-description h3{margin:24px 0 12px} .job-description ul,.job-description ol{padding-left:20px;margin:12px 0} .job-description li{margin-bottom:6px} .job-description p{margin-bottom:16px} @media(max-width:768px){ .container>div[style*="grid"]{display:block!important} .container>div[style*="grid"]>div:last-child{margin-top:24px;position:static!important} } </style>