/*
 * Vempregos — paleta de compatibilidade do novo layout.
 * Neutraliza verdes funcionais herdados do tema antigo sem alterar o logotipo/branding.
 */

body.vemp-new-layout{
    --ve-palette-navy:#102957;
    --ve-palette-blue:#1768e8;
    --ve-palette-blue-dark:#0f52bd;
    --ve-palette-blue-soft:#edf4ff;
    --ve-palette-line:#e3e8f1;
    --ve-palette-muted:#667085;
    --ve-palette-soft:#f5f7fb;
    accent-color:var(--ve-palette-blue);
}

/* Botões e ações funcionais herdadas. */
body.vemp-new-layout .btn-success,
body.vemp-new-layout button.btn-success,
body.vemp-new-layout input.btn-success,
body.vemp-new-layout .label-success,
body.vemp-new-layout .badge-success,
body.vemp-new-layout .progress-bar-success{
    color:#fff!important;
    background:var(--ve-palette-blue)!important;
    border-color:var(--ve-palette-blue)!important;
}
body.vemp-new-layout .btn-success:hover,
body.vemp-new-layout .btn-success:focus,
body.vemp-new-layout .btn-success:active{
    color:#fff!important;
    background:var(--ve-palette-blue-dark)!important;
    border-color:var(--ve-palette-blue-dark)!important;
}

body.vemp-new-layout .button3:not(.titulo-edit):not(.open-candidatura-modal),
body.vemp-new-layout input[type="submit"],
body.vemp-new-layout button[type="submit"]{
    color:#fff!important;
    background:var(--ve-palette-blue)!important;
    border-color:var(--ve-palette-blue)!important;
}
body.vemp-new-layout .button3:not(.titulo-edit):not(.open-candidatura-modal):hover,
body.vemp-new-layout input[type="submit"]:hover,
body.vemp-new-layout button[type="submit"]:hover{
    color:#fff!important;
    background:var(--ve-palette-blue-dark)!important;
    border-color:var(--ve-palette-blue-dark)!important;
}

/* Estados ativos do Bootstrap/plugins antigos. */
body.vemp-new-layout .nav-pills>li.active>a,
body.vemp-new-layout .nav-pills>li.active>a:hover,
body.vemp-new-layout .nav-pills>li.active>a:focus,
body.vemp-new-layout .pagination>.active>a,
body.vemp-new-layout .pagination>.active>span,
body.vemp-new-layout .pagination>.active>a:hover,
body.vemp-new-layout .pagination>.active>span:hover,
body.vemp-new-layout .resp-tab-item.resp-tab-active,
body.vemp-new-layout .resp-tabs-list li.resp-tab-active,
body.vemp-new-layout h2.resp-accordion.resp-tab-active{
    color:#fff!important;
    background:var(--ve-palette-blue)!important;
    border-color:var(--ve-palette-blue)!important;
    box-shadow:none!important;
}

/* Mensagens de sucesso deixam de usar verde legado. */
body.vemp-new-layout .alert-success,
body.vemp-new-layout .success,
body.vemp-new-layout .successbox{
    color:var(--ve-palette-navy)!important;
    background:var(--ve-palette-blue-soft)!important;
    border-color:#cfe0fb!important;
}
body.vemp-new-layout .successbox h1,
body.vemp-new-layout .text-success{
    color:var(--ve-palette-blue)!important;
}
body.vemp-new-layout .successbox h1:before,
body.vemp-new-layout .successbox h1:after{
    background:#cfe0fb!important;
}

/* Componentes do tema antigo que usavam verde como cor de ação. */
body.vemp-new-layout .blocos_escolha{
    border-color:#bfd3f3!important;
}
body.vemp-new-layout .blocos_escolha .floatright,
body.vemp-new-layout .blocos_escolha .termos,
body.vemp-new-layout a.termos{
    color:var(--ve-palette-blue)!important;
}
body.vemp-new-layout input[type="checkbox"],
body.vemp-new-layout input[type="radio"]{
    accent-color:var(--ve-palette-blue)!important;
}

/*
 * Apprise: componente legado ainda usado para mensagens de login/favoritos.
 * O logotipo dentro da janela mantém as cores de marca; todo o chrome passa à paleta nova.
 */
body.vemp-new-layout .apprise-overlay{
    background:rgba(7,21,46,.58)!important;
    backdrop-filter:blur(6px)!important;
    -webkit-backdrop-filter:blur(6px)!important;
}
body.vemp-new-layout div.apprise{
    box-sizing:border-box!important;
    left:50%!important;
    width:min(560px,calc(100% - 32px))!important;
    max-width:560px!important;
    transform:translateX(-50%)!important;
    overflow:hidden!important;
    color:#172033!important;
    background:#fff!important;
    border:1px solid #dfe6f0!important;
    border-radius:24px!important;
    box-shadow:0 28px 80px rgba(7,21,46,.28)!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body.vemp-new-layout div.apprise .apprise-inner{
    padding:28px 28px 24px!important;
    color:#172033!important;
    background:#fff!important;
}
body.vemp-new-layout div.apprise .img-inside{
    height:auto!important;
    min-height:58px!important;
    margin:0 0 18px!important;
}
body.vemp-new-layout div.apprise .img-inside img{
    width:auto!important;
    max-width:215px!important;
    height:58px!important;
    object-fit:contain!important;
}
body.vemp-new-layout div.apprise .apprise-content{
    width:100%!important;
    padding:0!important;
    color:var(--ve-palette-muted)!important;
    font-size:14px!important;
    line-height:1.65!important;
    font-weight:600!important;
}
body.vemp-new-layout div.apprise .apprise-input input{
    min-height:46px!important;
    padding:0 14px!important;
    color:#172033!important;
    background:#f8fafc!important;
    border:1px solid #d8e1ed!important;
    border-radius:12px!important;
    box-shadow:none!important;
}
body.vemp-new-layout div.apprise .apprise-input input:focus{
    border-color:var(--ve-palette-blue)!important;
    box-shadow:0 0 0 4px rgba(23,104,232,.09)!important;
}
body.vemp-new-layout div.apprise .apprise-buttons{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    padding:14px 20px!important;
    background:#f7f9fc!important;
    border:0!important;
    border-top:1px solid var(--ve-palette-line)!important;
    box-shadow:none!important;
}
body.vemp-new-layout div.apprise .apprise-buttons button,
body.vemp-new-layout div.apprise .apprise-buttons button.red,
body.vemp-new-layout div.apprise .apprise-buttons button.blue,
body.vemp-new-layout div.apprise .apprise-buttons input[type="button"],
body.vemp-new-layout div.apprise .apprise-buttons #popup_ok{
    min-width:92px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 18px!important;
    color:#fff!important;
    background:var(--ve-palette-blue)!important;
    border:1px solid var(--ve-palette-blue)!important;
    border-radius:999px!important;
    box-shadow:none!important;
    text-shadow:none!important;
    font-size:13px!important;
    font-weight:850!important;
}
body.vemp-new-layout div.apprise .apprise-buttons button:hover,
body.vemp-new-layout div.apprise .apprise-buttons button.red:hover,
body.vemp-new-layout div.apprise .apprise-buttons button.blue:hover,
body.vemp-new-layout div.apprise .apprise-buttons input[type="button"]:hover{
    color:#fff!important;
    background:var(--ve-palette-blue-dark)!important;
    border-color:var(--ve-palette-blue-dark)!important;
    box-shadow:none!important;
}

/*
 * Modal de candidatura legado.
 * O HTML e o submit continuam a ser gerados por show_emprego(); aqui só
 * normalizamos a apresentação e garantimos os dois estados (guest/logado).
 */
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147482000!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:auto!important;
    background:rgba(7,21,46,.62)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal[style*="display: flex"],
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal[style*="display:flex"]{
    display:flex!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .modal-content{
    box-sizing:border-box!important;
    position:relative!important;
    width:min(560px,100%)!important;
    max-width:560px!important;
    max-height:calc(100vh - 48px)!important;
    margin:auto!important;
    padding:30px!important;
    overflow:auto!important;
    color:#172033!important;
    background:#fff!important;
    border:1px solid #dfe6f0!important;
    border-radius:24px!important;
    box-shadow:0 30px 90px rgba(7,21,46,.32)!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .modal-content>img:first-child{
    display:block!important;
    width:auto!important;
    max-width:210px!important;
    height:58px!important;
    margin:0 auto 18px!important;
    object-fit:contain!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .close-modal{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    color:#536179!important;
    background:#f5f7fb!important;
    border:1px solid #dfe6f0!important;
    border-radius:999px!important;
    cursor:pointer!important;
    font-size:22px!important;
    line-height:1!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal h2{
    margin:0 0 24px!important;
    padding:0!important;
    color:var(--ve-palette-navy)!important;
    font-size:25px!important;
    line-height:1.15!important;
    font-weight:900!important;
    text-align:center!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #feedback-candidatura{
    padding:0!important;
    margin:0 0 12px!important;
    text-align:center!important;
    font-size:13px!important;
    line-height:1.5!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #feedback-candidatura:empty{
    display:none!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #feedback-candidatura span[style*="color:green"]{
    color:var(--ve-palette-blue)!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal form{
    width:100%!important;
    margin:0!important;
    color:#344054!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal form>p{
    margin:0 0 18px!important;
    padding:14px 16px!important;
    color:#52617a!important;
    background:#f7f9fc!important;
    border:1px solid #e3e8f1!important;
    border-radius:14px!important;
    font-size:13px!important;
    line-height:1.65!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal form>p strong{
    color:var(--ve-palette-navy)!important;
    font-weight:900!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal label{
    display:block!important;
    margin:0 0 7px!important;
    color:#344054!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:800!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal input[type="text"],
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal input[type="email"],
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal input[type="tel"],
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .form-control:not([type="file"]){
    box-sizing:border-box!important;
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    margin:0 0 14px!important;
    padding:0 14px!important;
    color:#172033!important;
    background:#f8fafc!important;
    border:1px solid #dbe3ee!important;
    border-radius:13px!important;
    box-shadow:none!important;
    outline:none!important;
    font-size:14px!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal input:focus{
    border-color:var(--ve-palette-blue)!important;
    box-shadow:0 0 0 4px rgba(23,104,232,.09)!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal input[type="file"]{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .btn-upload{
    width:auto!important;
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:2px 10px 12px 0!important;
    padding:0 16px!important;
    color:var(--ve-palette-blue)!important;
    background:var(--ve-palette-blue-soft)!important;
    border:1px solid #c9dcfb!important;
    border-radius:999px!important;
    cursor:pointer!important;
    font-size:12px!important;
    font-weight:850!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #file-name,
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .file-name{
    color:#667085!important;
    font-size:12px!important;
    font-style:italic!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #trocar-cv{
    width:17px!important;
    height:17px!important;
    margin:0 8px 0 0!important;
    vertical-align:-3px!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal.is-authenticated label:has(#trocar-cv){
    margin:10px 0 14px!important;
    padding:12px 14px!important;
    color:#344054!important;
    background:#f7f9fc!important;
    border:1px solid #e3e8f1!important;
    border-radius:12px!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal #up_c{
    margin:0 0 12px!important;
    padding:14px!important;
    background:#f8fafc!important;
    border:1px solid #e3e8f1!important;
    border-radius:14px!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal button[type="submit"]{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:18px 0 0!important;
    padding:0 20px!important;
    color:#fff!important;
    background:var(--ve-palette-blue)!important;
    border:1px solid var(--ve-palette-blue)!important;
    border-radius:999px!important;
    box-shadow:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
}
body.vemp-new-layout #candidaturaModal.ve-candidatura-modal button[type="submit"]:hover{
    background:var(--ve-palette-blue-dark)!important;
    border-color:var(--ve-palette-blue-dark)!important;
}

@media(max-width:620px){
    body.vemp-new-layout div.apprise{
        width:calc(100% - 24px)!important;
        border-radius:18px!important;
    }
    body.vemp-new-layout div.apprise .apprise-inner{
        padding:22px 20px 20px!important;
    }
    body.vemp-new-layout div.apprise .apprise-buttons{
        padding:12px 16px!important;
    }
    body.vemp-new-layout #candidaturaModal.ve-candidatura-modal{
        padding:12px!important;
    }
    body.vemp-new-layout #candidaturaModal.ve-candidatura-modal .modal-content{
        max-height:calc(100vh - 24px)!important;
        padding:24px 18px 20px!important;
        border-radius:18px!important;
    }
    body.vemp-new-layout #candidaturaModal.ve-candidatura-modal h2{
        font-size:22px!important;
    }
}
