/* Estilos da pagina de vagas (Trabalhe Conosco): filtros, listagem, detalhe, formulario de candidatura e compartilhamento */

.tc-page{
	--tc-green:#6bb51b;
	--tc-dark:#4d4946;
	--tc-muted:#75777a;
	--tc-border:#f1e9df;
	--tc-radius:7px;
}
/* O seletor global "section { float:left }" do tema impede que margin:auto
   centralize qualquer section desta pagina (float ignora margin automatico) */
.tc-page > section{
	float:none;
}
/* O banner (tambem "section", portanto float:left pelo tema) precisa ser
   "clareado" antes da .tc-page, senao ela sobe e ocupa o mesmo espaco dele */
.tc-page{
	clear:both;
}

/* Banner do topo das paginas de vagas (listagem e detalhe), reaproveitado para dar
   contraste ao header absoluto/transparente do site */
.banner-pages.banner-careers{
	height:auto; min-height:0; padding:0;
	background:linear-gradient(135deg, #38a536 0%, #2d8a2b 100%);
	overflow:hidden;
}
.banner-pages.banner-careers picture{ display:block; }
.banner-pages.banner-careers .img-banner{
	position:relative; display:block; width:100%; height:auto;
	right:auto; bottom:auto;
}
.banner-pages.banner-careers .scroll-item{
	filter:drop-shadow(0 16px 24px rgba(0,0,0,.22));
}
.banner-pages.banner-careers .detail-1{ height:160px; }
.banner-pages.banner-careers .detail-2{ height:90px;  }
.banner-pages.banner-careers .detail-3{ height:130px; }
.banner-pages.banner-careers .detail-4{ height:100px; }

@media (max-width:767px){
	.banner-pages.banner-careers:after{ height:50px; }
	.banner-pages.banner-careers .detail-1{ height:90px; }
	.banner-pages.banner-careers .detail-2{ height:55px; }
	.banner-pages.banner-careers .detail-3{ height:75px; }
	.banner-pages.banner-careers .detail-4{ height:60px; }
}

/* Filtros da listagem de vagas */
.tc-jobs-filters{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin:0 0 40px;
	padding:24px;
	background:#fff;
	border:1px solid var(--tc-border);
	border-radius:var(--tc-radius);
}
.tc-jobs-filters .form-group{
	flex:1 1 260px;
	margin-bottom:0;
}
.tc-jobs-filters .form-control{
	height:46px;
	border-color:var(--tc-border);
	border-radius:var(--tc-radius);
	font-size:15px;
	color:var(--tc-dark);
}
.tc-jobs-filters .form-control:focus{
	border-color:var(--tc-green);
	box-shadow:0 0 0 .2rem rgba(107,181,27,.2);
}

/* Grade de resultados da listagem de vagas */
.tc-jobs-grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
	margin:0 0 40px;
}

/* Card de vaga clicavel */
.tc-job-card{
	display:block;
	background:#fff;
	border:1px solid var(--tc-border);
	border-radius:var(--tc-radius);
	padding:28px 24px;
	color:inherit;
	text-decoration:none;
	transition:transform .3s ease, box-shadow .3s ease;
}
.tc-job-card:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 24px rgba(107,181,27,.12);
	color:inherit;
	text-decoration:none;
}
.tc-job-card__title{
	display:block;
	font-size:20px;
	font-weight:800;
	line-height:1.3;
	color:var(--tc-dark);
	margin:0 0 14px;
}
.tc-job-card__meta{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.tc-job-card__meta-item{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:13px;
	font-weight:700;
	color:var(--tc-dark);
}
.tc-job-card__meta-item i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	flex:0 0 26px;
	border-radius:50%;
	background:rgba(107,181,27,.08);
	color:var(--tc-green);
	font-size:12px;
}
.tc-job-card__meta-item--pcd i{
	background:rgba(77,73,70,.08);
	color:var(--tc-dark);
}

/* Mensagem exibida quando a listagem nao encontra vagas */
.tc-jobs-empty{
	text-align:center;
	color:var(--tc-muted);
	font-size:17px;
	padding:60px 20px;
}

/* Paginacao da listagem de vagas */
.tc-jobs-pagination{
	margin-top:10px;
	text-align:center;
}
.tc-jobs-pagination .pagination li.active a{
	background:#fff;
	color:var(--tc-green);
	border-color:var(--tc-green);
}

/* Pagina de detalhe da vaga */
.tc-job-detail{
	max-width:1140px;
	margin:0 auto;
	padding:60px 0 80px;
}
.tc-job-detail__aside{
	position:relative;
}
.tc-job-detail__title{
	font-size:36px;
	font-weight:800;
	line-height:1.2;
	color:var(--tc-dark);
	margin:0 0 10px;
}
.tc-job-detail__date{
	display:block;
	color:var(--tc-muted);
	font-size:14px;
	margin:0 0 20px;
}
.tc-job-detail__info{
	display:flex;
	flex-direction:column;
	gap:12px;
	margin:34px 0;
	padding:20px 24px;
	background:#fff;
	border:1px solid var(--tc-border);
	border-radius:var(--tc-radius);
}
.tc-job-detail__info-item{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:15px;
	font-weight:700;
	color:var(--tc-dark);
}
.tc-job-detail__info-item i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	flex:0 0 32px;
	border-radius:50%;
	background:rgba(107,181,27,.08);
	color:var(--tc-green);
	font-size:15px;
}
.tc-job-detail__info-item--pcd i{
	background:rgba(77,73,70,.08);
	color:var(--tc-dark);
}
.tc-job-detail__section{
	margin:0 0 36px;
}
.tc-job-detail__section h2{
	font-size:21px;
	font-weight:700;
	color:var(--tc-dark);
	padding-bottom:12px;
	margin:0 0 18px;
	border-bottom:1px solid var(--tc-border);
}
.tc-job-detail .text-single-blog{
	font-size:16px;
	line-height:1.7;
	color:var(--tc-muted);
}
.tc-job-detail .text-single-blog p,
.tc-job-detail .text-single-blog ul,
.tc-job-detail .text-single-blog ol{
	margin:0 0 18px;
}
.tc-job-detail .text-single-blog ul,
.tc-job-detail .text-single-blog ol{
	padding-left:24px;
}
.tc-job-detail .text-single-blog li{
	margin-bottom:8px;
}
.tc-job-detail .text-single-blog p:last-child,
.tc-job-detail .text-single-blog ul:last-child,
.tc-job-detail .text-single-blog ol:last-child{
	margin-bottom:0;
}

/* Formulario de candidatura na pagina de detalhe, como sidebar fixa ao lado do conteudo */
.tc-job-apply{
	position:sticky;
	top:30px;
	background:#fff;
	border:1px solid var(--tc-border);
	border-radius:var(--tc-radius);
	padding:28px 24px;
}
.tc-job-apply h2{
	font-size:19px;
	font-weight:700;
	color:var(--tc-dark);
	margin:0 0 20px;
}
.tc-job-apply .form-group{
	margin-bottom:18px;
}
.tc-job-apply .btn-green{
	margin-top:10px;
	width:100%;
}
/* Feedback visual de que o curriculo foi selecionado, preenchido via JS no evento "change" do input file */
.tc-file-selected{
	display:block;
	clear:both;
	margin-top:10px;
	font-size:13px;
	font-weight:700;
	color:var(--tc-muted);
	word-break:break-word;
}
.tc-file-selected.is-selected{
	color:var(--tc-green);
}
.tc-file-selected i{
	margin-right:6px;
}

/* Botoes de compartilhamento populados via jobs-share.js */
.job-share{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
}
.job-share__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border:none;
	border-radius:50%;
	color:#fff;
	font-size:16px;
	text-decoration:none;
	cursor:pointer;
	transition:transform .2s ease, opacity .2s ease;
}
.job-share__btn:hover{
	transform:translateY(-2px);
	opacity:.9;
	color:#fff;
	text-decoration:none;
}
.job-share__btn--whatsapp{ background:#25D366; }
.job-share__btn--facebook{ background:#1877F2; }
.job-share__btn--x{ background:#000000; }
.job-share__btn--copy{
	width:auto;
	height:38px;
	gap:8px;
	border-radius:30px;
	padding:0 18px;
	background:var(--tc-border);
	color:var(--tc-dark);
	font-size:13px;
	font-weight:700;
}
.job-share__btn--copy.is-copied{
	background:var(--tc-green);
	color:#fff;
}

@media (max-width:991px){
	.tc-jobs-grid{ grid-template-columns:repeat(2, 1fr); gap:20px; }
	/* Abaixo do breakpoint lg as colunas do detalhe empilham (Bootstrap),
	   entao o formulario de candidatura nao deve mais ficar sticky */
	.tc-job-apply{ position:static; margin-top:40px; }
}

@media (max-width:767px){
	.tc-jobs-filters{ flex-direction:column; padding:20px; }
	.tc-jobs-filters .form-group{ flex:1 1 auto; }
	.tc-jobs-grid{ grid-template-columns:1fr; gap:14px; }
	.tc-job-card{ padding:22px 20px; }
	.tc-job-detail{ padding:40px 0 60px; }
	.tc-job-detail__title{ font-size:28px; }
}
