/* =================================================================
   ESTILO EXCLUSIVO DA PÁGINA HOME DO CANDIDATO (CARREIRAS)
   As cores personalizadas da entidade e a imagem do topo são definidas
   no próprio home.php (bloco :root), pois vêm do banco de dados.
   Ao alterar este arquivo, atualize a versão (?v=) no link do home.php.
   ================================================================= */

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body, html { width: 100%; }
body { color: #4A5260; background: #FFFFFF; font: 400 1rem/1.6 "Raleway", sans-serif; }
p { color: #4A5260; }
h1, h2, h3, h4, h5, h6 { color: #2B2F36; font-family: "Raleway", sans-serif; font-weight: 700; }
a { color: var(--cor-texto-destaque); }
a:hover { color: var(--cor-texto-destaque); }

/* BOTÕES ========================================================== */
.btn-home { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.95rem 1.8rem; border: 2px solid var(--cor-entidade);
	border-radius: 999px; font: 700 1rem/1.2 "Raleway", sans-serif; text-decoration: none; text-align: center; transition: all 0.2s; }
.btn-home:hover { text-decoration: none; filter: brightness(0.93); }
.btn-home-solido { background: var(--cor-entidade); color: var(--cor-texto-botao); }
.btn-home-solido:hover { color: var(--cor-texto-botao); }
.btn-home-contorno { background: #FFFFFF; color: var(--cor-texto-destaque); }
.btn-home-contorno:hover { color: var(--cor-texto-destaque); }
.btn-home-neutro { background: #FFFFFF; border: 1px solid #CBD5E0; color: #2B2F36; font-weight: 600; }
.btn-home-neutro:hover { color: #2B2F36; background: #F3F7FB; filter: none; }
.btn-home-escuro { background: #2B2F36; border-color: #2B2F36; color: #FFFFFF; }
.btn-home-escuro:hover { color: #FFFFFF; }
.btn-home-whatsapp { background: #1E8E4E; border-color: #1E8E4E; color: #FFFFFF; }
.btn-home-whatsapp:hover { color: #FFFFFF; }
.btn-home-pequeno { padding: 0.7rem 1.2rem; font-size: 0.95rem; }
.home-botoes { display: flex; flex-wrap: wrap; gap: 0.75rem; }

/* BARRA SUPERIOR ================================================== */
.navbar-custom { background-color: #FFFFFF; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08); padding: 0.6rem 1rem; font: 600 0.95rem/1 "Raleway", sans-serif; transition: all 0.2s; }
.navbar-custom .navbar-brand { padding: 0; }
.navbar-custom .logo-fixa { display: inline-block; }
.navbar-custom .logo-scroll { display: none; }
.navbar-custom .logo-mobile { display: none; }
.navbar-custom.top-nav-collapse .logo-fixa { display: none; }
.navbar-custom.top-nav-collapse .logo-scroll { display: inline-block; }
.navbar-custom.top-nav-collapse .logo-mobile { display: none; }
.btn-entrar-celular { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--cor-texto-destaque); border-radius: 12px; padding: 0.6rem 0.75rem; font-weight: 700; font-size: 0.9rem; margin-right: 0.25rem; }
.btn-entrar-celular:hover { text-decoration: none; color: var(--cor-texto-destaque); background: var(--cor-tint); }
.btn-menu-celular { width: 44px; height: 44px; border: none; border-radius: 14px; background: var(--cor-tint); color: var(--cor-texto-destaque);
	display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; padding: 0; cursor: pointer; }
.btn-menu-celular:focus { outline: 2px solid var(--cor-entidade); outline-offset: 2px; }

@media (max-width: 991px) {
	.navbar-custom .logo-fixa { display: none; }
	.navbar-custom .logo-scroll { display: none; }   
	.navbar-custom .logo-mobile { display: inline-block; }	
	.navbar-custom.top-nav-collapse .logo-fixa { display: none; }
	.navbar-custom.top-nav-collapse .logo-scroll { display: none; }
	.navbar-custom.top-nav-collapse .logo-mobile { display: inline-block; }
	.navbar-custom .navbar-brand img { max-height: 38px; max-width: 200px; }
}

/* MENU DO CELULAR (PAINEL LATERAL) ================================ */
.menu-celular-fundo { position: fixed; inset: 0; z-index: 1040; background: rgba(17, 24, 39, 0.48); opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; }
.menu-celular { position: fixed; top: 0; right: 0; bottom: 0; z-index: 1050; width: 86%; max-width: 340px; background: #FFFFFF; border-radius: 24px 0 0 24px;
	box-shadow: -12px 0 32px rgba(0, 0, 0, 0.18); display: flex; flex-direction: column; transform: translateX(105%); visibility: hidden;
	transition: transform 0.3s ease, visibility 0.3s; }
body.menu-celular-aberto { overflow: hidden; }
body.menu-celular-aberto .menu-celular-fundo { opacity: 1; visibility: visible; }
body.menu-celular-aberto .menu-celular { transform: translateX(0); visibility: visible; }
.menu-celular-topo { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1rem 0.75rem 1.25rem; }
.menu-celular-topo img { max-height: 38px; max-width: 190px; }
.menu-celular-fechar { width: 44px; height: 44px; border: none; border-radius: 14px; background: #F1F4F8; color: #2B2F36; font-size: 1.15rem; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.menu-celular-itens { flex-grow: 1; overflow-y: auto; padding: 0.25rem 0.75rem; display: flex; flex-direction: column; gap: 0.1rem; }
.menu-celular-rotulo { padding: 0.5rem 0.5rem 0.4rem 0.5rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #8A94A3; }
.menu-celular-item { display: flex; align-items: center; gap: 0.85rem; padding: 0.6rem 0.5rem; border-radius: 14px; color: #2B2F36; font-weight: 600; font-size: 1rem; }
.menu-celular-item:hover, .menu-celular-item:focus { text-decoration: none; color: #2B2F36; background: #F5F8FB; }
.menu-celular-icone { width: 42px; height: 42px; border-radius: 12px; background: var(--cor-tint); color: var(--cor-texto-destaque); flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem; }
.menu-celular-texto { flex-grow: 1; }
.menu-celular-contador { background: var(--cor-entidade); color: var(--cor-texto-botao); font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.55rem; border-radius: 999px; }
.menu-celular-seta { color: #A0AAB6; font-size: 0.85rem; }
.menu-celular-divisor { height: 1px; background: #EDF1F5; margin: 0.5rem; }
.menu-celular-rodape { padding: 1rem 1.25rem 1.4rem 1.25rem; background: #F7F9FC; border-radius: 0 0 0 24px; display: flex; flex-direction: column; gap: 0.6rem; }
.menu-celular-rodape .btn-home { width: 100%; }
.menu-celular-redes { display: flex; justify-content: center; gap: 0.6rem; padding-top: 0.4rem; }
.menu-celular-redes a { width: 40px; height: 40px; border-radius: 50%; background: #FFFFFF; border: 1px solid #E1E8EF; color: var(--cor-texto-destaque);
	display: inline-flex; align-items: center; justify-content: center; }
.menu-celular-redes a:hover { text-decoration: none; color: var(--cor-texto-destaque); }

@media (min-width: 992px) {
	.navbar-custom { padding: 2rem 2rem; box-shadow: none; background: transparent; }
	.navbar-custom .navbar-brand img { max-height: 80px; max-width: 400px; }
	.navbar-custom .nav-item .nav-link { padding: 0.5rem 0.9rem; color: var(--cor-menu); opacity: 0.85; }
	.navbar-custom .nav-item .nav-link:hover { color: var(--cor-menu); opacity: 1; }
	.navbar-custom .nav-item .nav-link.active { color: var(--cor-menu); opacity: 1; box-shadow: inset 0 -2px 0 var(--cor-menu); }
	.navbar-custom .nav-item .nav-link-entrar { border: 2px solid var(--cor-menu); border-radius: 999px; padding: 0.6rem 1.4rem; margin-left: 0.5rem; opacity: 1; }
	.navbar-custom.top-nav-collapse { padding: 0.6rem 2rem; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); background-color: var(--cor-barra-rolagem); }
	.navbar-custom.top-nav-collapse .navbar-brand img { max-height: 60px; }
	.navbar-custom.top-nav-collapse .nav-item .nav-link { color: var(--cor-menu-rolagem); opacity: 1; }
	.navbar-custom.top-nav-collapse .nav-item .nav-link:hover { color: var(--cor-menu-ativo-rolagem); }
	.navbar-custom.top-nav-collapse .nav-item .nav-link.active { color: var(--cor-menu-ativo-rolagem); box-shadow: inset 0 -2px 0 var(--cor-menu-ativo-rolagem); }
	.navbar-custom.top-nav-collapse .nav-item .nav-link-entrar { border-color: var(--cor-menu-rolagem); }
}

@media (min-width: 1200px) {
	.navbar-custom { padding: 2rem 5rem; }
	.navbar-custom.top-nav-collapse { padding: 0.6rem 5rem; }
}

/* TOPO ============================================================ */
.home-topo { background: #F3F7FB; padding: 7.5rem 0 3rem 0; text-align: center; }
.home-topo-texto { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; }
.home-titulo { margin: 0; font-size: 2.1rem; line-height: 1.15; }
.home-titulo .home-titulo-entidade { display: block; margin-top: 0.5rem; font-size: 1.35rem; line-height: 1.35; font-weight: 500; }
.frase-boas-vindas { font-size: 1.05rem; line-height: 1.6; }
.home-topo .home-botoes { flex-direction: column; width: 100%; }
.selo-vagas { display: inline-flex; align-items: center; gap: 0.6rem; background: #FFFFFF; color: var(--cor-texto-destaque); font-weight: 600; font-size: 0.95rem;
	padding: 0.5rem 1rem; border-radius: 999px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); }
.selo-vagas:hover { text-decoration: none; color: var(--cor-texto-destaque); }
.selo-vagas-ponto { width: 8px; height: 8px; border-radius: 50%; background: #1E9E5A; }

@media (max-width: 991px) {
    .titulo-boas-vindas,
    .titulo-boas-vindas * {
        color: var(--cor-entidade) !important;		
    }
	
    .frase-boas-vindas,
    .frase-boas-vindas * {
        color: #393939 !important;		
    }

	.estilo-titulo1 { color: var(--cor-entidade); }
	.estilo-titulo2 { color: #393939; }	 	
}

@media (min-width: 576px) and (max-width: 991px) {
	.home-topo .home-botoes { flex-direction: row; justify-content: center; }
}

@media (min-width: 992px) { 
	.estilo-titulo1 { color: var(--cor-entidade); }
	.estilo-titulo2 { color: #393939; }	 
	.home-topo { background-position: right center; background-repeat: no-repeat; background-size: cover; min-height: 640px; padding: 11rem 0 5rem 0; text-align: left; }
	.home-topo-texto { align-items: flex-start; gap: 1.25rem; }
	.home-titulo { font-size: 3.1rem; }
	.home-titulo .home-titulo-entidade { font-size: 1.75rem; }
	.frase-boas-vindas { font-size: 1.15rem; }
	.home-topo .home-botoes { flex-direction: row; width: auto; }
}

/* SEÇÕES ========================================================== */
.secao { padding: 3.5rem 0; }
.secao-tingida { background: #F3F7FB; }
.secao-titulo { margin: 0 0 0.5rem 0; font-size: 1.75rem; }
.secao-subtitulo { margin: 0; font-size: 1.05rem; color: #5F6B7A; }
@media (min-width: 992px) {
	.secao { padding: 5.5rem 0; }
	.secao-titulo { font-size: 2.15rem; }
}

/* COMO FUNCIONA =================================================== */
.passo { background: #F3F7FB; border-radius: 16px; padding: 1.6rem; height: 100%; }
.passo-topo { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 0.9rem; }
.passo-numero { width: 44px; height: 44px; border-radius: 50%; background: var(--cor-entidade); color: var(--cor-texto-botao);
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; flex-shrink: 0; }
.passo-icone { color: var(--cor-texto-destaque); font-size: 1.4rem; }
.passo h3 { margin: 0 0 0.5rem 0; font-size: 1.2rem; }
.passo p { margin: 0; }

/* VAGAS =========================================================== */
.vagas-topo { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.link-ver-todas { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; color: var(--cor-texto-destaque); }
.vaga-card { background: #FFFFFF; border: 1px solid #E1E8EF; border-radius: 16px; padding: 1.5rem; height: 100%; display: flex; flex-direction: column; gap: 1rem; }
.vaga-card-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.75rem; }
.vaga-card-titulo { margin: 0; font-size: 1.2rem; color: var(--cor-texto-destaque); }
.vaga-card-codigo { font-size: 0.82rem; color: #6B7684; }
.vaga-selo-pcd { flex-shrink: 0; background: #E8F1FD; color: #1F5FAF; font-size: 0.8rem; font-weight: 700; padding: 0.35rem 0.75rem; border-radius: 999px; }
.vaga-card-dados { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.95rem; }
.vaga-card-dados i { width: 18px; color: #6B7684; text-align: center; margin-right: 0.5rem; }
.vaga-card-empresa { font-weight: 600; color: #2B2F36; }
.vaga-card-rodape { margin-top: auto; padding-top: 1rem; border-top: 1px solid #EDF1F5; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }
.vaga-card-data { font-size: 0.88rem; color: #6B7684; }
.vaga-card-rodape .home-botoes { gap: 0.5rem; }
.vagas-vazio { background: #FFFFFF; border: 1px dashed #C9D4DF; border-radius: 18px; padding: 2.5rem 1.5rem; text-align: center; }
.vagas-vazio-icone { width: 72px; height: 72px; border-radius: 50%; background: var(--cor-tint); color: var(--cor-texto-destaque);
	display: inline-flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 1rem; }
.vagas-vazio h3 { font-size: 1.3rem; margin-bottom: 0.5rem; }
.vagas-vazio p { max-width: 620px; margin: 0 auto 1.25rem auto; }
.vagas-vazio .home-botoes { justify-content: center; }

@media (max-width: 575px) {
	.vaga-card-rodape .home-botoes { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
}

/* SUA EMPRESA É ASSOCIADA? ======================================== */
.faixa-empresas { border: 1px solid #E1E8EF; border-radius: 18px; padding: 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.25rem; }
.faixa-empresas-texto { display: flex; align-items: center; gap: 1.25rem; }
.faixa-empresas-icone { width: 60px; height: 60px; border-radius: 16px; background: var(--cor-tint); color: var(--cor-texto-destaque);
	display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; }
.faixa-empresas h3 { margin: 0 0 0.25rem 0; font-size: 1.25rem; }
.faixa-empresas p { margin: 0; }
@media (min-width: 992px) { .faixa-empresas { padding: 2rem 2.5rem; } }
.secao.secao-empresas { padding: 2.5rem 0; }

/* SOBRE =========================================================== */
.sobre-texto { text-align: left; }

/* CONTATO ========================================================= */
.contato-card { background: #FFFFFF; border: 1px solid #E1E8EF; border-radius: 18px; padding: 1.75rem; height: 100%; }
.contato-nome { font-weight: 600; font-size: 1.05rem; color: #2B2F36; margin-bottom: 1.25rem; }
.contato-lista { list-style: none; padding: 0; margin: 0 0 1.5rem 0; display: flex; flex-direction: column; gap: 0.85rem; }
.contato-lista li { display: flex; align-items: flex-start; gap: 0.75rem; word-break: break-word; }
.contato-lista i { color: var(--cor-texto-destaque); width: 18px; text-align: center; padding-top: 0.25rem; }
.contato-lista a { color: #4A5260; }
.contato-redes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.contato-rede { width: 44px; height: 44px; border-radius: 50%; background: var(--cor-tint); color: var(--cor-texto-destaque);
	display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.contato-rede:hover { text-decoration: none; color: var(--cor-texto-destaque); filter: brightness(0.95); }
.mapa-home { position: relative; overflow: hidden; border-radius: 18px; min-height: 380px; height: 100%; background: #E4EBF2; }
.mapa-home iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
@media (min-width: 992px) { .contato-card { padding: 2.25rem; } }

/* PERGUNTAS FREQUENTES ============================================ */
.duvidas-rotulo { display: block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cor-texto-destaque); margin-bottom: 0.5rem; }
.duvidas-ajuda { margin-top: 1.5rem; background: #F3F7FB; border-radius: 16px; padding: 1.4rem; }
.duvidas-ajuda strong { display: block; color: #2B2F36; margin-bottom: 0.35rem; }
.duvidas-ajuda p { margin: 0 0 0.6rem 0; font-size: 0.95rem; }
.duvidas-ajuda a { font-weight: 700; color: var(--cor-texto-destaque); }
.pergunta { background: #FFFFFF; border: 1px solid #E1E8EF; border-radius: 16px; margin-bottom: 0.75rem; overflow: hidden; }
.pergunta summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; cursor: pointer;
	font-weight: 700; font-size: 1.02rem; color: #2B2F36; list-style: none; }
.pergunta summary::-webkit-details-marker { display: none; }
.pergunta summary::marker { content: ''; }
.pergunta-icone { width: 32px; height: 32px; border-radius: 50%; background: var(--cor-tint); color: var(--cor-texto-destaque); flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; transition: transform 0.2s; }
.pergunta[open] .pergunta-icone { background: var(--cor-entidade); color: var(--cor-texto-botao); transform: rotate(45deg); }
.pergunta-resposta { padding: 0 1.25rem 1.2rem 1.25rem; }
.pergunta-resposta p { margin: 0; line-height: 1.65; }
.pergunta-resposta a { font-weight: 700; color: var(--cor-texto-destaque); text-decoration: underline; }
@media (max-width: 991px) {
	.duvidas-intro { text-align: center; margin-bottom: 1.5rem; }
	.pergunta summary { padding: 1rem; font-size: 0.97rem; }
	.pergunta-resposta { padding: 0 1rem 1.1rem 1rem; }
}

/* RODAPÉ ========================================================== */
.rodape-home { padding: 3rem 0; border-top: 1px solid #E1E8EF; text-align: center; font-size: 0.9rem; }
.rodape-home p { margin: 0.75rem 0 0 0; font-size: 0.9rem; }
.rodape-home-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.25rem; margin-top: 1rem; }
.rodape-home-links a { color: #4A5260; }
