#vagas-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:20px;
}
.vaga-card{
    background:#fff;
    border-radius:20px;
    padding:28px;
    border:1px solid #ECECEC;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
    transition:.3s ease;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.vaga-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.vaga-topo{ margin-bottom:20px; }
.vaga-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#EAF8EE;
    color:#128259;
    padding:7px 14px;
    border-radius:50px;
    font-size:12px;
    font-weight:700;
    margin-bottom:18px;
}
.elementor-kit-102 #vagas-grid .vaga-card h3,
body #vagas-grid .vaga-card h3 {
    font-size: 22px !important;
    line-height: 1.35 !important;
    color: #111 !important;
    margin-bottom: 18px !important;
    letter-spacing: normal !important;
}

.vaga-info{
    display:flex;
    flex-direction:column;
    gap:10px;
    color:#666;
    font-size:15px;
}
.vaga-info span{
    display:flex;
    align-items:center;
    gap:8px;
}
.vaga-btn{
    margin-top:28px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#6E65AB;
    color:#fff !important;
    text-decoration:none;
    height:50px;
    border-radius:22px;
    font-weight:600;
    transition:.3s;
}
.vaga-btn:hover{ background:#F9BE71; }

@media(max-width:1024px){
    #vagas-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:767px){
    #vagas-grid{ grid-template-columns:1fr; }
}

/* ===== Container e topo ===== */
#fp-vagas{
    max-width:1200px;
    margin:0 auto;
    font-family:inherit;
}
.fp-topo{
    display:flex;
    align-items:baseline;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:22px;
}
.fp-heading{
    margin:0;
    font-size:26px;
    color:#111;
}
.fp-contador{
    font-size:15px;
    color:#6E65AB;
    background:#F1EFF8;
    padding:5px 12px;
    border-radius:20px;
    font-weight:600;
}

/* ===== Filtros ===== */
.fp-filtros{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:8px;
}
.fp-filtros input,
.fp-filtros select{
    flex:1;
    min-width:180px;
    padding:14px 16px;
    border:1px solid #ECECEC;
    border-radius:14px;
    font-size:15px;
    background:#fff;
}

/* ===== Botão do card (ajuste) ===== */
.vaga-btn{
    border:none;
    cursor:pointer;
    font-size:15px;
    width:100%;
}

/* ===== Mensagens ===== */
.fp-msg{
    grid-column:1/-1;
    text-align:center;
    color:#666;
    padding:40px 0;
}

/* ===== Modal ===== */
.fp-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
}
.fp-modal.open{ display:block; }
.fp-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
}
.fp-modal-box{
    position:relative;
    max-width:720px;
    margin:5vh auto;
    background:#fff;
    border-radius:20px;
    padding:34px;
    max-height:90vh;
    overflow:auto;
    box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.fp-modal-x{
    position:absolute;
    top:16px;
    right:20px;
    background:none;
    border:none;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    color:#666;
}
.fp-modal-x:hover{ color:#111; }

/* ===== Conteúdo do modal ===== */
#fp-modal-content h2{
    margin:0 0 14px;
    font-size:24px;
    color:#111;
    padding-right:30px;
}
#fp-modal-content .m-info{
    display:flex;
    flex-direction:column;
    gap:10px;
    color:#666;
    font-size:15px;
    margin-bottom:20px;
}
#fp-modal-content .m-info span{
    display:flex;
    align-items:center;
    gap:8px;
}
#fp-modal-content .fp-desc{
    color:#344054;
    line-height:1.65;
    margin:20px 0;
}
#fp-modal-content .fp-desc h4{
    font-size:17px;
    font-weight:700;
    color:#111;
    margin:24px 0 10px;
}
#fp-modal-content .fp-desc p{ margin:0 0 14px; }
#fp-modal-content .fp-desc ul{
    margin:0 0 16px;
    padding-left:22px;
    display:flex;
    flex-direction:column;
    gap:6px;
}
#fp-modal-content .fp-desc li{ line-height:1.55; }
#fp-modal-content .fp-desc strong{ color:#111; }
#fp-modal-content .vaga-status{ margin-bottom:16px; }

/* ===== Modal responsivo ===== */
@media(max-width:600px){
    .fp-modal-box{
        margin:0;
        border-radius:0;
        min-height:100vh;
        padding:26px 20px;
    }
}

