/* IGES Carreiras V1.1 — revisão tipográfica e responsiva */
:root{
  --career-font-xs:12px;
  --career-font-sm:13px;
  --career-font-md:14px;
  --career-font-base:15px;
  --career-font-lg:17px;
}

body.careers-page{
  font-size:var(--career-font-base);
  line-height:1.6;
  overflow-x:hidden;
}
body.careers-page *,body.careers-page *::before,body.careers-page *::after{min-width:0}
body.careers-page p,body.careers-page li,body.careers-page span,body.careers-page small{
  overflow-wrap:break-word;
}
body.careers-page .btn{
  font-size:13px;
  min-height:44px;
  padding:10px 17px;
  line-height:1.25;
}
body.careers-page .btn-small{font-size:12px;min-height:40px;padding:9px 15px}

/* Marca e navegação pública */
.careers-nav{min-height:88px;gap:18px}
.careers-brand{gap:14px}
.careers-brand img{width:160px}
.careers-brand-sep{height:36px}
.careers-brand-name{
  font-size:15px;
  line-height:1.15;
  letter-spacing:.35px;
  text-transform:none;
  white-space:nowrap;
}
.careers-brand-name small{
  margin-top:5px;
  font-size:10px;
  line-height:1.25;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.careers-menu{gap:3px}
.careers-menu a{font-size:13px;line-height:1.25;padding:11px 12px;white-space:nowrap}
.careers-actions{gap:8px}

/* Hero e busca */
.careers-hero{padding:72px 0 60px}
.careers-hero-grid{gap:52px}
.careers-kicker{font-size:11px;line-height:1.35;letter-spacing:.85px}
.careers-hero h1{font-size:clamp(42px,5.2vw,64px);line-height:1.08}
.careers-hero p{font-size:18px;line-height:1.65}
.careers-switch a{font-size:12px;line-height:1.3}
.job-search-box{grid-template-columns:minmax(260px,1.35fr) minmax(165px,.8fr) minmax(165px,.75fr) auto;gap:6px}
.job-search-field{min-height:50px}
.job-search-field input,.job-search-field select{font-size:13px;line-height:1.35}
.careers-trust{font-size:12px;line-height:1.4}
.careers-stat span{font-size:12px;line-height:1.4}
.careers-heading p{font-size:16px;line-height:1.65}

/* Lista de vagas */
.job-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.job-list{gap:15px}
.job-card{
  grid-template-columns:64px minmax(0,1fr) minmax(220px,270px);
  align-items:center;
  gap:18px;
  padding:20px;
}
.company-logo{width:64px;height:64px;font-size:16px}
.job-copy h3{font-size:17px;line-height:1.35;margin:0 0 5px}
.job-company{font-size:12px;line-height:1.4;flex-wrap:wrap}
.verified-dot{width:17px;height:17px;font-size:10px;flex:none}
.job-tags{gap:7px;margin-top:11px}
.job-tag{font-size:11px;line-height:1.25;padding:7px 10px}
.job-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px;text-align:right}
.job-side-meta{display:grid;justify-items:end;gap:4px}
.job-side strong{display:block;font-size:14px;line-height:1.35}
.job-side small{display:block;font-size:11px;line-height:1.45;color:var(--career-muted)}
.job-card .btn{font-size:12px;min-height:40px;padding:9px 15px}
.careers-sidebar-card{padding:21px}
.careers-sidebar-card h3{font-size:17px;line-height:1.35;margin-bottom:8px}
.careers-sidebar-card p{font-size:13px;line-height:1.6}
.filter-group label{font-size:12px;line-height:1.4}
.filter-control{font-size:13px;min-height:44px}
.checkbox-list label{font-size:13px;line-height:1.45}
.careers-empty h3{font-size:18px}.careers-empty p{font-size:13px}
.career-step h3{font-size:18px}.career-step p{font-size:14px;line-height:1.65}
.employer-cta p{font-size:15px;line-height:1.65}

/* Detalhe da vaga */
.job-detail-copy h1{font-size:32px;line-height:1.25}
.job-detail-copy p{font-size:13px;line-height:1.55}
.job-detail-card h2{font-size:19px;line-height:1.35}
.job-detail-card p,.job-detail-card li{font-size:14px;line-height:1.7}
.job-detail-card li+li{margin-top:7px}
.job-summary-item small{font-size:11px;line-height:1.35}
.job-summary-item strong{font-size:13px;line-height:1.45;margin-top:3px}
.apply-note{font-size:11px;line-height:1.5}
.company-summary h3{font-size:14px;line-height:1.4}.company-summary span{font-size:11px;line-height:1.45}

/* Acesso e seleção de perfil */
.careers-auth-side h1{font-size:clamp(39px,5vw,52px);line-height:1.12}
.careers-auth-side p{font-size:16px;line-height:1.65}
.auth-benefit{font-size:13px;line-height:1.5}
.careers-auth-box h2{font-size:38px;line-height:1.18}
.careers-auth-box>p{font-size:14px;line-height:1.65}
.role-card{padding:22px;text-align:left}
.role-card h3{font-size:18px;line-height:1.35}
.role-card p{font-size:13px;line-height:1.6;margin-bottom:0}
.demo-access{font-size:12px;line-height:1.6}

/* Formulários e documentos */
.careers-form-page{padding:48px 0 76px}
.form-shell{grid-template-columns:270px minmax(0,1fr);gap:24px}
.form-progress-card,.form-card{padding:26px}
.form-progress-card h3{font-size:18px;line-height:1.35}
.form-progress-item{font-size:13px;line-height:1.4}
.form-progress-item span{width:30px;height:30px}
.form-card h1{font-size:31px;line-height:1.25}
.form-card>p,.form-card>section>p{font-size:14px;line-height:1.7}
.career-form-section{padding:23px 0}
.career-form-section h2{font-size:18px;line-height:1.35;margin-bottom:14px}
.career-form-section p{font-size:14px;line-height:1.75}
.career-form-grid{gap:16px}
.career-form-label{font-size:13px;line-height:1.4;margin-bottom:7px}
.career-form-control{font-size:14px;line-height:1.45;min-height:46px;padding:12px 14px}
textarea.career-form-control{min-height:120px;resize:vertical}
.career-form-help{font-size:11px;line-height:1.45;margin-top:6px}
.form-actions{gap:12px;margin-top:4px}

/* Estrutura dos painéis */
.career-shell{grid-template-columns:264px minmax(0,1fr)}
.career-sidebar{padding:22px 18px}
.career-sidebar .careers-brand img{width:128px}
.career-sidebar .careers-brand-name{font-size:12px}
.career-user-card{padding:14px;gap:11px}
.career-user-avatar{width:44px;height:44px;font-size:13px}
.career-user-card strong{font-size:13px;line-height:1.35}
.career-user-card small{font-size:11px;line-height:1.4;margin-top:2px}
.career-side-nav a,.career-side-nav button{font-size:13px;line-height:1.35;padding:12px}
.career-side-nav svg{width:19px;height:19px}
.career-sidebar-bottom{font-size:10px;line-height:1.5}
.career-topbar{min-height:76px;padding:0 28px}
.career-topbar-title strong{font-size:15px;line-height:1.35}
.career-topbar-title span{font-size:11px;line-height:1.4}
.career-content{padding:28px}
.career-page-head{align-items:center;margin-bottom:20px}
.career-page-head h1{font-size:31px;line-height:1.2}
.career-page-head p{font-size:13px;line-height:1.55}
.career-dashboard-stats{gap:15px;margin-bottom:20px}
.career-dashboard-stat{padding:18px;gap:13px}
.career-stat-icon{width:44px;height:44px}
.career-dashboard-stat strong{font-size:23px}
.career-dashboard-stat span{font-size:11px;line-height:1.4}
.career-dashboard-grid{gap:18px}
.career-panel{padding:20px;margin-bottom:18px}
.career-panel-head{margin-bottom:15px;align-items:flex-start}
.career-panel-head h2{font-size:17px;line-height:1.35}
.career-panel-head a{font-size:11px;line-height:1.4}
.profile-completion h3{font-size:16px;line-height:1.35}
.profile-completion p{font-size:12px;line-height:1.55}
.mini-job,.application-row,.candidate-row,.company-job-row{padding:14px;gap:12px}
.mini-company-logo{width:42px;height:42px;font-size:11px}
.mini-job strong,.application-row strong,.candidate-row strong,.company-job-row strong{font-size:13px;line-height:1.4}
.mini-job span,.application-row span,.candidate-row span,.company-job-row span{font-size:11px;line-height:1.45;margin-top:3px}
.status-badge{font-size:10px;line-height:1.25;padding:6px 9px}
.candidate-avatar{width:46px;height:46px;font-size:12px}
.pipeline{gap:10px}
.pipeline-column{padding:11px}
.pipeline-column h3{font-size:11px;line-height:1.4}
.pipeline-card{padding:10px}
.pipeline-card strong{font-size:11px;line-height:1.4}
.pipeline-card span{font-size:10px;line-height:1.4}

/* Banco de talentos e administração */
.talent-toolbar{grid-template-columns:minmax(260px,1fr) 200px 200px;gap:11px}
.talent-grid{gap:16px}
.talent-card{padding:20px}
.talent-card h3{font-size:16px;line-height:1.35}
.talent-card p{font-size:12px;line-height:1.55;margin:4px 0}
.talent-card-actions .btn{font-size:12px;min-height:40px;padding:9px 12px}
.admin-table{min-width:800px}
.admin-table th,.admin-table td{font-size:12px;line-height:1.45;padding:13px}
.table-action{font-size:10px;line-height:1.25;padding:7px 9px}
.careers-toast{font-size:13px;line-height:1.45}

/* Rodapé */
.careers-page .footer p,.careers-page .footer a{font-size:13px;line-height:1.6}
.careers-page .footer h3{font-size:16px}
.careers-page .footer-bottom{font-size:11px}

@media(max-width:1180px){
  .careers-brand img{width:145px}
  .careers-brand-name{font-size:13px}
  .careers-menu a{padding:10px 9px;font-size:12px}
  .careers-actions .btn{padding-inline:13px}
  .job-card{grid-template-columns:60px minmax(0,1fr) minmax(195px,230px)}
}

@media(max-width:1080px){
  .careers-menu{top:82px}
  .job-search-box{grid-template-columns:1fr 1fr;gap:0;padding:10px}
  .job-search-field{padding:11px 13px;border-right:0;border-bottom:1px solid var(--career-line)}
  .job-search-field:nth-child(2){border-left:1px solid var(--career-line)}
  .job-search-field:nth-child(3){border-bottom:0}
  .job-search-box .btn{grid-column:2;align-self:stretch;margin:6px 0 0 6px}
  .job-card{grid-template-columns:58px minmax(0,1fr) minmax(190px,220px)}
  .pipeline{grid-template-columns:repeat(3,minmax(180px,1fr));overflow:auto;padding-bottom:8px}
}

@media(max-width:900px){
  .careers-brand-sep,.careers-brand-name{display:none}
  .careers-brand img{width:138px}
  .job-layout,.job-detail-grid{grid-template-columns:1fr}
  .job-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .careers-sidebar-card{margin-bottom:0}
  .job-card{grid-template-columns:58px minmax(0,1fr) minmax(190px,220px)}
  .form-shell{grid-template-columns:1fr}
  .form-progress-card{position:static}
  .career-dashboard-stats{grid-template-columns:repeat(2,1fr)}
  .talent-grid{grid-template-columns:repeat(2,1fr)}
  .talent-toolbar{grid-template-columns:1fr 1fr}
  .talent-toolbar input{grid-column:1/-1}
}

@media(max-width:680px){
  .container{width:min(100% - 24px,1180px)}
  .careers-nav{min-height:72px}
  .careers-brand img{width:122px}
  .careers-hero{padding:48px 0 42px}
  .careers-hero h1{font-size:38px;line-height:1.1}
  .careers-hero p{font-size:16px;line-height:1.6}
  .careers-switch{width:100%}
  .careers-switch a{flex:1;text-align:center;padding:10px 8px}
  .job-search-box{grid-template-columns:1fr;gap:0;padding:8px}
  .job-search-field,.job-search-field:nth-child(2),.job-search-field:nth-child(3){border-left:0;border-right:0;border-bottom:1px solid var(--career-line);padding:12px}
  .job-search-box .btn{grid-column:auto;margin:8px 0 0;width:100%}
  .careers-trust{display:grid;gap:10px}
  .careers-stats-inner{grid-template-columns:1fr 1fr}
  .careers-stat{padding:15px 10px}
  .careers-stat:nth-child(3){border-left:0;border-top:1px solid var(--career-line)}
  .careers-stat:nth-child(4){border-top:1px solid var(--career-line)}
  .careers-heading h2{font-size:31px}
  .job-layout aside{grid-template-columns:1fr}
  .job-card{grid-template-columns:52px minmax(0,1fr);align-items:start;padding:16px;gap:13px}
  .company-logo{width:52px;height:52px;border-radius:15px;font-size:14px}
  .job-copy h3{font-size:16px}
  .job-side{grid-column:1/-1;align-self:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding-top:13px;border-top:1px solid var(--career-line)}
  .job-side-meta{justify-items:start}
  .job-side .btn{width:auto}
  .careers-cards-3{grid-template-columns:1fr}
  .employer-cta{grid-template-columns:1fr;padding:28px}
  .employer-cta h2{font-size:29px}
  .employer-cta-actions{display:grid;grid-template-columns:1fr}
  .job-detail-head{grid-template-columns:1fr;align-items:start}
  .job-detail-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .job-detail-actions .btn{width:100%}
  .job-summary-grid{grid-template-columns:1fr}
  .careers-auth{grid-template-columns:1fr}
  .careers-auth-side{min-height:auto;padding:30px 24px}
  .careers-auth-side h1{margin-top:42px;font-size:38px}
  .careers-auth-main{padding:34px 18px}
  .careers-auth-box h2{font-size:31px}
  .role-grid{grid-template-columns:1fr}
  .form-card,.form-progress-card{padding:20px}
  .form-card h1{font-size:27px}
  .career-form-grid,.career-form-grid.cols-3{grid-template-columns:1fr}
  .career-form-group.full{grid-column:auto}
  .form-actions{flex-direction:column-reverse}
  .form-actions .btn{width:100%}
  .career-shell{grid-template-columns:1fr}
  .career-main{min-width:0}
  .career-content{padding:18px 12px}
  .career-page-head{align-items:flex-start;flex-direction:column}
  .career-page-head h1{font-size:26px}
  .career-page-head .btn{width:100%}
  .career-dashboard-stats{grid-template-columns:1fr 1fr;gap:9px}
  .career-dashboard-stat{padding:13px;gap:9px}
  .career-dashboard-stat span{font-size:10px}
  .career-dashboard-grid{grid-template-columns:1fr}
  .career-panel{padding:16px}
  .profile-completion{grid-template-columns:70px 1fr;padding:14px}
  .mini-job{grid-template-columns:42px 1fr}
  .mini-job>.btn,.mini-job>.status-badge{grid-column:2}
  .application-row,.company-job-row{grid-template-columns:1fr}
  .candidate-row{grid-template-columns:42px 1fr}
  .candidate-row .btn,.candidate-row .status-badge{grid-column:2;width:100%}
  .talent-toolbar,.talent-grid{grid-template-columns:1fr}
  .talent-toolbar input{grid-column:auto}
  .talent-card-actions{flex-direction:column}
  .talent-card-actions .btn{width:100%}
  .admin-table th,.admin-table td{font-size:11px;padding:11px}
}

@media(max-width:430px){
  .careers-hero h1{font-size:34px}
  .careers-stats-inner{grid-template-columns:1fr}
  .careers-stat+*{border-left:0;border-top:1px solid var(--career-line)}
  .job-card{grid-template-columns:46px minmax(0,1fr);padding:14px}
  .company-logo{width:46px;height:46px}
  .job-side{grid-template-columns:1fr}
  .job-side .btn{width:100%}
  .career-dashboard-stats{grid-template-columns:1fr}
  .career-dashboard-stat{padding:14px}
  .job-detail-actions{grid-template-columns:1fr}
}

/* Ajustes finais de consistência */
.career-sidebar .careers-brand-name{line-height:1.15}
.career-sidebar .careers-brand-name small{font-size:9px;letter-spacing:1px}

@media(max-width:680px){
  .pipeline{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:0 0 10px}
  .pipeline-column{flex:0 0 220px;min-width:220px;scroll-snap-align:start}
  .pipeline-column h3{font-size:12px}
  .pipeline-card strong{font-size:12px}
  .pipeline-card span{font-size:11px}

  .admin-table-wrap{overflow:visible}
  .admin-table{min-width:0;border-collapse:separate;border-spacing:0}
  .admin-table thead{display:none}
  .admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}
  .admin-table tbody{display:grid;gap:12px}
  .admin-table tr{border:1px solid var(--career-line);border-radius:15px;padding:13px;background:#fff}
  .admin-table td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid #edf2f4;font-size:12px}
  .admin-table td:last-child{border-bottom:0}
  .admin-table td::before{content:attr(data-label);font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.65px;color:var(--career-muted);font-weight:900}
  .admin-table .table-actions{flex-wrap:wrap}
}

@media(max-width:430px){
  .admin-table td{grid-template-columns:1fr;gap:4px}
}

/* Funil em coluna no celular: leitura completa sem cortes laterais */
@media(max-width:680px){
  .pipeline{display:grid;grid-template-columns:1fr;overflow:visible;padding-bottom:0;scroll-snap-type:none}
  .pipeline-column{min-width:0;width:100%;scroll-snap-align:none}
  .pipeline-column h3{font-size:13px}
  .pipeline-card{margin-bottom:8px}
}

/* Busca principal dimensionada para não invadir a ilustração */
@media(min-width:1081px){
  .careers-hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr)}
  .job-search-box{grid-template-columns:minmax(180px,1.2fr) minmax(125px,.78fr) minmax(125px,.7fr) minmax(112px,auto);width:100%;max-width:100%}
  .job-search-box .btn{padding-inline:15px}
}
