/* ==========================================================
   LIK3 - Estilo público do módulo de RH (Vagas / Currículos /
   Voluntariado / Estágios). Autossuficiente: não depende de
   classes de lik3.css para renderizar corretamente.
   ========================================================== */
:root{
    --pub-accent: #2d8653;
    --pub-ink: #1e293b;
    --pub-muted: #64748b;
    --pub-border: #e5e7eb;
    --pub-bg: #f4f6f8;
    --pub-card: #ffffff;
}
*{box-sizing:border-box;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    background:var(--pub-bg);
    color:var(--pub-ink);
    line-height:1.5;
}

/* ---- Header ---- */
.pub-header{
    background:linear-gradient(135deg, var(--pub-accent), color-mix(in srgb, var(--pub-accent) 60%, #000));
    color:#fff;
    text-align:center;
    padding:2.5rem 1rem 2rem;
}
.pub-header img{max-height:56px;margin-bottom:.75rem;}
.pub-header h1{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:-.01em;}
.pub-header p{margin:.4rem 0 0;opacity:.92;font-size:.95rem;}

/* ---- Nav (abas) ---- */
.pub-nav{
    background:#fff;
    border-bottom:1px solid var(--pub-border);
    position:sticky;top:0;z-index:50;
    box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.pub-nav-inner{
    max-width:1000px;margin:0 auto;
    display:flex;flex-wrap:wrap;gap:.25rem;
    padding:0 1rem;
}
.pub-nav-inner a{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.9rem 1rem;
    color:var(--pub-muted);
    text-decoration:none;
    font-size:.88rem;font-weight:700;
    border-bottom:3px solid transparent;
    white-space:nowrap;
}
.pub-nav-inner a{transition:color .15s,border-color .15s;}
.pub-nav-inner a:hover{color:var(--pub-ink);}
.pub-nav-inner a:focus-visible{outline:none;color:var(--pub-ink);box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--pub-accent) 50%, transparent);}
.pub-nav-inner a.active{color:var(--pub-accent);border-bottom-color:var(--pub-accent);}
.pub-nav-inner a .badge{
    background:var(--pub-accent);color:#fff;border-radius:99px;
    font-size:.68rem;padding:.05rem .45rem;font-weight:800;
}

/* ---- Wrap geral ---- */
.pub-wrap{max-width:1000px;margin:0 auto;padding:2rem 1rem 3rem;}

/* ---- Grid de vagas ---- */
.vagas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem;}
.vaga-card{
    --vc: var(--pub-accent);
    background:var(--pub-card);
    border:1px solid var(--pub-border);
    border-top:3px solid var(--vc);
    border-radius:12px;
    padding:1.2rem;
    display:flex;flex-direction:column;
    box-shadow:0 1px 3px rgba(0,0,0,.04);
    transition:box-shadow .15s, transform .15s;
    animation:pubFadeUp .45s ease both;
}
.vaga-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}
.vaga-card:nth-child(1){animation-delay:.02s}.vaga-card:nth-child(2){animation-delay:.06s}
.vaga-card:nth-child(3){animation-delay:.1s}.vaga-card:nth-child(4){animation-delay:.14s}
.vaga-card:nth-child(5){animation-delay:.18s}.vaga-card:nth-child(n+6){animation-delay:.2s}
@keyframes pubFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.vaga-tipo{
    display:inline-flex;align-items:center;gap:.3rem;
    align-self:flex-start;
    font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;
    padding:.25rem .6rem;border-radius:99px;margin-bottom:.6rem;
}
.vaga-titulo{font-size:1.05rem;font-weight:800;color:var(--pub-ink);margin-bottom:.5rem;}
.vaga-meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:var(--pub-muted);margin-bottom:.6rem;}
.vaga-meta span{display:inline-flex;align-items:center;gap:.3rem;}
.vaga-desc{font-size:.85rem;color:#475569;margin-bottom:1rem;flex:1;
    overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.vaga-footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.75rem;border-top:1px solid #f1f5f9;flex-wrap:wrap;}
.vaga-detalhe{background:var(--pub-card);border:1px solid var(--pub-border);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem;}

.vagas-empty{
    text-align:center;padding:3rem 1.5rem;background:var(--pub-card);
    border:1px dashed var(--pub-border);border-radius:14px;color:var(--pub-muted);
}

.btn-candidatar{
    display:inline-flex;align-items:center;gap:.4rem;
    background:var(--pub-accent);color:#fff;
    padding:.5rem 1rem;border-radius:8px;
    text-decoration:none;font-size:.82rem;font-weight:700;
    border:none;cursor:pointer;
}
.btn-candidatar{transition:filter .15s,box-shadow .15s;}
.btn-candidatar:hover{filter:brightness(.92);}
.btn-candidatar:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--pub-accent) 40%, transparent);}

/* ---- Caixa de formulário ---- */
.form-box{
    background:var(--pub-card);
    border:1px solid var(--pub-border);
    border-radius:14px;
    padding:1.75rem;
}
.form-box h2{margin:0 0 1rem;font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:.5rem;}
.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f1f5f9;}
.form-section:last-of-type{border-bottom:none;margin-bottom:.5rem;padding-bottom:0;}
.form-section h3{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--pub-muted);margin:0 0 .8rem;}

.voluntario-intro,.indicacao-intro{
    background:var(--pub-card);border:1px solid var(--pub-border);border-radius:12px;
    padding:1rem 1.25rem;margin-bottom:1.25rem;
}

/* ---- Form controls (independentes de lik3.css) ---- */
.lik-form-row{display:grid;gap:.9rem;margin-bottom:.9rem;}
.lik-form-row--2{grid-template-columns:1fr 1fr;}
@media (max-width:640px){ .lik-form-row--2, .lik-form-row{grid-template-columns:1fr !important;} }
.lik-form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;}
.lik-form-row .lik-form-group{margin-bottom:0;}
.lik-form-label{font-size:.78rem;font-weight:700;color:#334155;}
.lik-form-label .req{color:#dc2626;}
.lik-form-control{
    width:100%;padding:.55rem .7rem;
    border:1.5px solid var(--pub-border);border-radius:8px;
    font-size:.88rem;font-family:inherit;color:var(--pub-ink);
    background:#fff;
}
.lik-form-control{transition:border-color .15s,box-shadow .15s;}
.lik-form-control:focus{outline:none;border-color:var(--pub-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pub-accent) 15%, transparent);}
textarea.lik-form-control{resize:vertical;min-height:70px;}
.lik-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#334155;cursor:pointer;}
.lik-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    padding:.6rem 1.1rem;border-radius:8px;border:none;
    font-size:.88rem;font-weight:700;cursor:pointer;text-decoration:none;
    background:var(--pub-accent);color:#fff;
}
.lik-btn--primary{background:var(--pub-accent);color:#fff;}
.lik-btn--block{width:100%;}
.lik-btn{transition:filter .15s,box-shadow .15s;}
.lik-btn:hover{filter:brightness(.93);}
.lik-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--pub-accent) 40%, transparent);}

.dias-wrap{display:flex;flex-wrap:wrap;gap:.5rem;}
.dia-label{
    display:inline-flex;align-items:center;gap:.3rem;
    padding:.4rem .7rem;border:1.5px solid var(--pub-border);border-radius:8px;
    font-size:.8rem;font-weight:700;cursor:pointer;background:#fff;
}
.dia-label:has(input:checked){border-color:var(--pub-accent);background:color-mix(in srgb, var(--pub-accent) 10%, #fff);}

/* ---- Mensagem de sucesso ---- */
.sucesso-box{
    background:var(--pub-card);border:1px solid var(--pub-border);border-radius:14px;
    padding:2.5rem 1.5rem;text-align:center;
}
.sucesso-icon{font-size:2.5rem;margin-bottom:.75rem;}
.sucesso-box h2{margin:0 0 .5rem;font-size:1.2rem;}
.sucesso-box p{color:var(--pub-muted);margin:0 0 1.25rem;font-size:.9rem;}
