/* Vempregos - camada visual do novo layout para paginas dinamicas legadas.
   Mantem BO/DB, funcoes PHP e HTML existentes. */

.vemp-new-layout{
    --ve-navy:#102957;
    --ve-navy-dark:#091a39;
    --ve-blue:#1768e8;
    --ve-blue-dark:#0f52bd;
    --ve-green:#b6d83e;
    --ve-ink:#172033;
    --ve-muted:#667085;
    --ve-line:#e3e8f1;
    --ve-soft:#f5f7fb;
    --ve-white:#fff;
    --ve-shadow:0 22px 55px rgba(16,41,87,.13);
    --ve-shadow-soft:0 10px 30px rgba(16,41,87,.08);
    margin:0;
    color:var(--ve-ink);
    background:var(--ve-soft)!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
    -webkit-font-smoothing:antialiased;
}

.vemp-new-layout .page-container,
.vemp-new-layout .main_content{
    background:var(--ve-soft)!important;
}

/* Header antigo gerado pelo template/BO continua no HTML para compatibilidade,
   mas deixa de participar no layout visual. */
.vemp-new-layout header.header,
.vemp-new-layout .header-bottom{
    display:none!important;
}

.vemp-modern-header{
    position:sticky;
    top:0;
    z-index:10000;
    width:100%;
    min-height:80px;
    background:rgba(255,255,255,.97);
    border-bottom:4px solid var(--ve-navy);
    box-shadow:0 8px 28px rgba(16,41,87,.06);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.vemp-modern-header *{box-sizing:border-box}
.vemp-modern-container{
    width:min(calc(100% - clamp(32px,4vw,80px)),2040px);
    min-height:76px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:30px;
}
.vemp-modern-logo{
    min-width:170px;
    display:flex;
    align-items:center;
    text-decoration:none!important;
}
.vemp-modern-logo img{
    display:block;
    width:168px;
    max-height:58px;
    object-fit:contain;
}
.vemp-modern-nav{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
}
.vemp-modern-nav a{
    color:#44516a!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:800!important;
    text-decoration:none!important;
    white-space:nowrap;
    transition:color .18s ease;
}
.vemp-modern-nav a:hover{color:var(--ve-blue)!important}
.vemp-modern-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}
.vemp-modern-btn{
    min-height:46px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:0 22px!important;
    border-radius:999px!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:900!important;
    text-decoration:none!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.vemp-modern-btn:hover{transform:translateY(-1px)}
.vemp-modern-btn-outline{
    color:var(--ve-blue)!important;
    background:#fff!important;
    border:1px solid #aec8ee!important;
}
.vemp-modern-btn-primary{
    color:#fff!important;
    background:var(--ve-blue)!important;
    border:1px solid var(--ve-blue)!important;
    box-shadow:0 12px 25px rgba(23,104,232,.22)!important;
}
.vemp-modern-btn-primary:hover{background:var(--ve-blue-dark)!important}

/* Remove a coluna lateral que contem personal_nav() e expande o conteudo.
   A selecao e estrutural para continuar independente do conteudo do BO. */
.vemp-new-layout .row > [class*="col-"]:has(.dp-cats):has(.dp_conta):has(.m_home){
    display:none!important;
}
.vemp-new-layout .row:has(> [class*="col-"]:has(.dp-cats):has(.dp_conta):has(.m_home)){
    display:block!important;
    margin-left:0!important;
    margin-right:0!important;
}
.vemp-new-layout .row:has(> [class*="col-"]:has(.dp-cats):has(.dp_conta):has(.m_home)) > [class*="col-"]:not(:has(.dp-cats):has(.dp_conta)){
    width:100%!important;
    max-width:100%!important;
    float:none!important;
    margin:0!important;
}
.vemp-new-layout [class*="col-"]:has(#col_left_pg_lr),
.vemp-new-layout [class*="col-"]:has(#tabs-edit){
    width:100%!important;
    max-width:100%!important;
    float:none!important;
}

.vemp-new-layout .main_content{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
}
.vemp-new-layout .main_content > .content,
.vemp-new-layout .main_content .content{
    width:min(calc(100% - clamp(32px,4vw,80px)),1560px)!important;
    max-width:1560px!important;
    min-height:0!important;
    margin:38px auto 76px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    color:var(--ve-ink)!important;
    font-size:15px!important;
    line-height:1.55!important;
    overflow:visible!important;
}

/* Login / Registo: usa exclusivamente os IDs originais de core/special.php. */
.vemp-new-layout .row:has(> #col_left_pg_lr){
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    background:#fff!important;
    border:1px solid var(--ve-line)!important;
    border-radius:24px!important;
    box-shadow:var(--ve-shadow)!important;
    overflow:hidden!important;
}

/* O titulo legado e filho da mesma row; no layout novo ocupa a linha inteira. */
.vemp-new-layout .row:has(> #col_left_pg_lr) > .titulo_d{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:34px 42px 26px!important;
    color:var(--ve-navy)!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid var(--ve-line)!important;
    font-size:clamp(30px,2.6vw,42px)!important;
    font-weight:850!important;
    line-height:1.08!important;
    letter-spacing:-1.4px!important;
    text-align:left!important;
    text-transform:none!important;
}

.vemp-new-layout #col_left_pg_lr,
.vemp-new-layout #col_right_pg_lr{
    width:50%!important;
    max-width:50%!important;
    flex:0 0 50%!important;
    float:none!important;
    margin:0!important;
    padding:38px 42px 42px!important;
    background:#fff!important;
}
.vemp-new-layout #col_right_pg_lr{
    border-left:1px solid var(--ve-line)!important;
}
.vemp-new-layout #col_left_pg_lr .subtitulo_d,
.vemp-new-layout #col_right_pg_lr .subtitulo_d{
    margin:0 0 10px!important;
    color:var(--ve-navy)!important;
    font-size:22px!important;
    line-height:1.2!important;
    font-weight:850!important;
}
.vemp-new-layout #col_left_pg_lr .bloco_texto_d,
.vemp-new-layout #col_right_pg_lr .bloco_texto_d{
    margin:0 0 22px!important;
    color:var(--ve-muted)!important;
    font-size:14px!important;
    line-height:1.6!important;
}
.vemp-new-layout #col_left_pg_lr .bloco_texto_d b,
.vemp-new-layout #col_right_pg_lr .bloco_texto_d b{
    color:var(--ve-ink)!important;
    font-size:15px!important;
}
.vemp-new-layout #col_left_pg_lr form,
.vemp-new-layout #col_right_pg_lr form{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
.vemp-new-layout #col_left_pg_lr .form-group,
.vemp-new-layout #col_right_pg_lr .form-group{margin-bottom:14px!important}
.vemp-new-layout #col_left_pg_lr label,
.vemp-new-layout #col_right_pg_lr label{
    display:block!important;
    margin:0 0 7px!important;
    color:#475467!important;
    font-size:12px!important;
    font-weight:850!important;
}
.vemp-new-layout #col_left_pg_lr .form-control,
.vemp-new-layout #col_right_pg_lr .form-control,
.vemp-new-layout #col_left_pg_lr input[type="text"],
.vemp-new-layout #col_left_pg_lr input[type="email"],
.vemp-new-layout #col_left_pg_lr input[type="password"],
.vemp-new-layout #col_right_pg_lr input[type="text"],
.vemp-new-layout #col_right_pg_lr input[type="email"],
.vemp-new-layout #col_right_pg_lr input[type="password"]{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 16px!important;
    color:var(--ve-ink)!important;
    background:#f8fafc!important;
    border:1px solid #dfe5ee!important;
    border-radius:14px!important;
    box-shadow:none!important;
    outline:0!important;
    font:650 14px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
.vemp-new-layout #col_left_pg_lr input:focus,
.vemp-new-layout #col_right_pg_lr input:focus{
    background:#fff!important;
    border-color:rgba(23,104,232,.7)!important;
    box-shadow:0 0 0 4px rgba(23,104,232,.09)!important;
}
.vemp-new-layout #col_left_pg_lr .button3,
.vemp-new-layout #col_right_pg_lr .button3,
.vemp-new-layout #col_left_pg_lr input[type="submit"],
.vemp-new-layout #col_right_pg_lr input[type="submit"],
.vemp-new-layout #col_left_pg_lr button[type="submit"],
.vemp-new-layout #col_right_pg_lr button[type="submit"]{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:4px 0 0!important;
    padding:0 24px!important;
    color:#fff!important;
    background:var(--ve-blue)!important;
    border:1px solid var(--ve-blue)!important;
    border-radius:999px!important;
    box-shadow:0 12px 25px rgba(23,104,232,.2)!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
}
.vemp-new-layout #col_left_pg_lr .button3:hover,
.vemp-new-layout #col_right_pg_lr .button3:hover,
.vemp-new-layout #col_left_pg_lr input[type="submit"]:hover,
.vemp-new-layout #col_right_pg_lr input[type="submit"]:hover{
    background:var(--ve-blue-dark)!important;
    border-color:var(--ve-blue-dark)!important;
}
.vemp-new-layout #col_left_pg_lr a,
.vemp-new-layout #col_right_pg_lr a{
    color:var(--ve-blue)!important;
    font-weight:800!important;
}
.vemp-new-layout #col_left_pg_lr .mandatory,
.vemp-new-layout #col_right_pg_lr .mandatory{color:#b42318!important}
.vemp-new-layout #col_left_pg_lr .recuperar-registo,
.vemp-new-layout #col_right_pg_lr .recuperar-registo{
    margin-top:14px!important;
    color:var(--ve-muted)!important;
    font-size:11px!important;
}

/* Area autenticada: cards/formularios continuam a vir das funcoes existentes. */
.vemp-new-layout #tabs-edit,
.vemp-new-layout .tabs-content,
.vemp-new-layout .tab-content.active{
    width:100%!important;
    max-width:100%!important;
}
.vemp-new-layout #tabs-edit{
    padding:28px!important;
    background:#fff!important;
    border:1px solid var(--ve-line)!important;
    border-radius:24px!important;
    box-shadow:var(--ve-shadow-soft)!important;
}
.vemp-new-layout #tabs-edit .button3{
    border-radius:999px!important;
}
.vemp-new-layout .form-control{
    border-radius:12px!important;
    border-color:#dfe5ee!important;
    box-shadow:none!important;
}
.vemp-new-layout .titulo_d{
    color:var(--ve-navy)!important;
    font-weight:850!important;
}

@media (max-width:1100px){
    .vemp-modern-nav{gap:18px}
    .vemp-modern-nav a{font-size:13px!important}
    .vemp-modern-btn{padding:0 17px!important}
    .vemp-new-layout #col_left_pg_lr,
    .vemp-new-layout #col_right_pg_lr{padding:32px 30px 36px!important}
}

@media (max-width:900px){
    .vemp-modern-header{min-height:68px}
    .vemp-modern-container{min-height:64px;gap:14px}
    .vemp-modern-logo{min-width:0;margin-right:auto}
    .vemp-modern-logo img{width:145px}
    .vemp-modern-nav{display:none}
    .vemp-modern-btn{min-height:42px;padding:0 15px!important;font-size:12px!important}
    .vemp-new-layout .main_content > .content,
    .vemp-new-layout .main_content .content{margin-top:24px!important}
}

@media (max-width:767px){
    .vemp-modern-container{width:calc(100% - 28px)}
    .vemp-modern-actions{gap:6px}
    .vemp-modern-btn-outline{display:none!important}
    .vemp-new-layout .row:has(> #col_left_pg_lr){display:block!important;border-radius:20px!important}
    .vemp-new-layout .row:has(> #col_left_pg_lr) > .titulo_d{
        padding:26px 22px 20px!important;
        font-size:29px!important;
    }
    .vemp-new-layout #col_left_pg_lr,
    .vemp-new-layout #col_right_pg_lr{
        width:100%!important;
        max-width:100%!important;
        padding:26px 22px 30px!important;
    }
    .vemp-new-layout #col_right_pg_lr{
        border-left:0!important;
        border-top:1px solid var(--ve-line)!important;
    }
    .vemp-new-layout #tabs-edit{padding:20px!important;border-radius:20px!important}
}
