/* Vagas do Vale - ajustes globais do site público */

@media (min-width: 992px) {
    li.vdv-desktop-hide-enviar-vaga-menu-item { display: none !important; }
}

#back-to-top,#backtotop,#scrollUp,#scroll-up,#scroll-top,#scrollTop,
.back-to-top,.backtotop,.back-top,.scroll-to-top,.scroll-top,.scrollup,.scroll-up,
.go-top,.goto-top,.to-top,.totop,.page-scroll-up,.page-scroll-top,
.progress-wrap,.scroll-progress-wrap,
.scroll-to-target[data-target="html"],.scroll-to-target[data-target="body"],
a[href="#top"].scroll-to-top,a[href="#top"].back-to-top,a[href="#top"].scrollup,a[href="#top"].go-top,
.vdv-hide-back-to-top {
    display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}

.vdv-mobile-site-header{display:none}

@media (max-width:767px){
    /* No celular, o cabeçalho do tema/Elementor é ocultado para Home, Contato e demais páginas públicas usarem exatamente o mesmo header móvel do plugin (o mesmo do Teste DISC). */
    .elementor-location-header,
    header.elementor-location-header,
    #masthead:not([data-vdv-mobile-site-header]),
    .site-header:not([data-vdv-mobile-site-header]){
        display:none!important;
    }

    /* O cabeçalho nativo incompleto das páginas internas é substituído só no celular/tablet. */
    .vdv-native-header-hidden-mobile{display:none!important}

    .vdv-mobile-site-header{
        display:block!important;
        position:relative!important;
        width:100%!important;
        z-index:99990!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
        border:0!important;
        box-shadow:0 1px 5px rgba(11,37,69,.08)!important;
        font-family:inherit!important;
        box-sizing:border-box!important;
    }
    .vdv-mobile-site-header,.vdv-mobile-site-header *{box-sizing:border-box!important}
    .vdv-mobile-site-header-row{
        width:100%!important;
        min-height:76px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
        margin:0!important;
        padding:8px 14px!important;
        background:#fff!important;
    }
    .vdv-mobile-site-logo{
        display:flex!important;
        align-items:center!important;
        flex:1 1 auto!important;
        min-width:0!important;
        max-width:calc(100% - 60px)!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        text-decoration:none!important;
    }
    .vdv-mobile-site-logo img{
        display:block!important;
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:50px!important;
        margin:0!important;
        padding:0!important;
        object-fit:contain!important;
        object-position:left center!important;
    }
    .vdv-mobile-site-toggle{
        -webkit-appearance:none!important;
        appearance:none!important;
        width:48px!important;
        height:48px!important;
        flex:0 0 48px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        margin:0!important;
        padding:0!important;
        border:2px solid #0b2545!important;
        border-radius:10px!important;
        background:#fff!important;
        color:#0b2545!important;
        box-shadow:0 2px 8px rgba(11,37,69,.08)!important;
        line-height:1!important;
        cursor:pointer!important;
        opacity:1!important;
        visibility:visible!important;
    }
    .vdv-mobile-site-toggle svg{display:block!important;width:28px!important;height:22px!important;overflow:visible!important}
    .vdv-mobile-site-header.is-open .vdv-mobile-site-toggle{background:#0b2545!important;color:#fff!important}

    .vdv-mobile-site-menu{
        position:absolute!important;
        top:100%!important;
        left:12px!important;
        right:12px!important;
        z-index:99999!important;
        margin:0!important;
        padding:8px 14px 12px!important;
        background:#fff!important;
        border:1px solid #e4eaf0!important;
        border-radius:0 0 15px 15px!important;
        box-shadow:0 16px 34px rgba(11,37,69,.20)!important;
    }
    .vdv-mobile-site-menu[hidden]{display:none!important}
    .vdv-mobile-site-menu:not([hidden]){display:block!important}
    .vdv-mobile-site-menu a{
        display:block!important;
        width:100%!important;
        margin:0!important;
        padding:14px 10px!important;
        border:0!important;
        border-bottom:1px solid #edf1f5!important;
        background:transparent!important;
        color:#0b2545!important;
        font-family:inherit!important;
        font-size:16px!important;
        font-weight:700!important;
        line-height:1.2!important;
        text-align:left!important;
        text-decoration:none!important;
        box-shadow:none!important;
    }
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-cta{
        margin-top:10px!important;
        padding:15px 18px!important;
        border:0!important;
        border-radius:12px!important;
        background:#22d62d!important;
        color:#fff!important;
        font-size:17px!important;
        font-weight:800!important;
        text-align:center!important;
        box-shadow:0 7px 16px rgba(34,214,45,.22)!important;
    }
    .vdv-mobile-site-menu a:not(.vdv-mobile-site-menu-cta):active,.vdv-mobile-site-menu a:not(.vdv-mobile-site-menu-cta):focus{background:#f5f8fb!important;color:#00a3ff!important;outline:none!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-cta:active,.vdv-mobile-site-menu a.vdv-mobile-site-menu-cta:focus{background:#19bd24!important;color:#fff!important;outline:none!important}

    /* Mantém a compactação da área logo abaixo do cabeçalho da Home e reduz mais o espaço vertical. */
    .vdv-home-mobile-hero{
        height:auto!important;
        min-height:0!important;
        padding-top:18px!important;
        padding-bottom:18px!important;
        background-position:center!important;
        box-sizing:border-box!important;
    }
}

@media (max-width:480px){
    .vdv-mobile-site-header-row{min-height:72px!important;padding:7px 12px!important;gap:10px!important}
    .vdv-mobile-site-logo{max-width:calc(100% - 56px)!important}
    .vdv-mobile-site-logo img{max-height:46px!important}
    .vdv-mobile-site-toggle{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:9px!important}
}


/* V2.14.1 — integridade do cabeçalho móvel */
.vdv-mobile-site-header,.vdv-mobile-site-header *{max-width:100%;box-sizing:border-box}
.vdv-mobile-site-menu a{overflow-wrap:anywhere;word-break:normal;white-space:normal}
@media(max-width:360px){
  .vdv-mobile-site-header-row{padding-left:10px!important;padding-right:10px!important}
  .vdv-mobile-site-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}
  .vdv-mobile-site-logo{max-width:calc(100% - 52px)!important}
}

/* V2.15.3 — cabeçalho móvel/tablet: proteção contra overflow */
@media(max-width:1024px){
  .vdv-mobile-site-header,.vdv-mobile-site-header-row,.vdv-mobile-site-menu{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .vdv-mobile-site-menu a{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;box-sizing:border-box!important}
  .vdv-mobile-site-logo{min-width:0!important;max-width:calc(100% - 58px)!important}
  .vdv-mobile-site-logo img{max-width:100%!important;height:auto!important}
}

/* V2.22.4 — menu móvel sincronizado com o menu cadastrado no WordPress */
@media (max-width:767px){
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-subitem{
        font-size:15px!important;
        font-weight:600!important;
        color:#43546a!important;
        background:#f8fafc!important;
    }
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-1{padding-left:26px!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-2{padding-left:40px!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-3{padding-left:54px!important}
    body.menu-open .vdv-mobile-site-header,
    body.mobile-menu-open .vdv-mobile-site-header{z-index:999999!important}
}


/* ========================================================================== 
   V2.22.15 — TABLET COM EXPERIÊNCIA MOBILE AJUSTADA (768–1024px)
   O tablet usa o mesmo cabeçalho/menu do celular, com medidas proporcionais.
   ========================================================================== */
@media (min-width:768px) and (max-width:1024px){
    .elementor-location-header,
    header.elementor-location-header,
    #masthead:not([data-vdv-mobile-site-header]),
    .site-header:not([data-vdv-mobile-site-header]),
    .vdv-native-header-hidden-mobile{
        display:none!important;
    }
    .vdv-mobile-site-header{
        display:block!important;
        position:relative!important;
        width:100%!important;
        max-width:100%!important;
        z-index:99990!important;
        margin:0!important;
        padding:0!important;
        background:#fff!important;
        border:0!important;
        box-shadow:0 1px 5px rgba(11,37,69,.08)!important;
        box-sizing:border-box!important;
    }
    .vdv-mobile-site-header,.vdv-mobile-site-header *{box-sizing:border-box!important}
    .vdv-mobile-site-header-row{
        width:100%!important;
        min-height:82px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:18px!important;
        margin:0!important;
        padding:10px 24px!important;
        background:#fff!important;
    }
    .vdv-mobile-site-logo{
        display:flex!important;
        align-items:center!important;
        flex:1 1 auto!important;
        min-width:0!important;
        max-width:calc(100% - 72px)!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        background:transparent!important;
        text-decoration:none!important;
    }
    .vdv-mobile-site-logo img{
        display:block!important;
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:54px!important;
        margin:0!important;
        padding:0!important;
        object-fit:contain!important;
        object-position:left center!important;
    }
    .vdv-mobile-site-toggle{
        appearance:none!important;
        width:50px!important;
        height:50px!important;
        flex:0 0 50px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        margin:0!important;
        padding:0!important;
        border:2px solid #0b2545!important;
        border-radius:11px!important;
        background:#fff!important;
        color:#0b2545!important;
        box-shadow:0 2px 8px rgba(11,37,69,.08)!important;
        line-height:1!important;
        cursor:pointer!important;
        opacity:1!important;
        visibility:visible!important;
    }
    .vdv-mobile-site-toggle svg{display:block!important;width:28px!important;height:22px!important}
    .vdv-mobile-site-header.is-open .vdv-mobile-site-toggle{background:#0b2545!important;color:#fff!important}
    .vdv-mobile-site-menu{
        position:absolute!important;
        top:100%!important;
        left:20px!important;
        right:20px!important;
        z-index:99999!important;
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        padding:10px 18px 14px!important;
        background:#fff!important;
        border:1px solid #e4eaf0!important;
        border-radius:0 0 15px 15px!important;
        box-shadow:0 16px 34px rgba(11,37,69,.20)!important;
    }
    .vdv-mobile-site-menu[hidden]{display:none!important}
    .vdv-mobile-site-menu:not([hidden]){display:block!important}
    .vdv-mobile-site-menu a{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:14px 12px!important;
        border:0!important;
        border-bottom:1px solid #edf1f5!important;
        background:transparent!important;
        color:#0b2545!important;
        font-size:16px!important;
        font-weight:700!important;
        line-height:1.25!important;
        text-align:left!important;
        text-decoration:none!important;
        overflow-wrap:anywhere!important;
    }
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-cta{
        margin-top:10px!important;
        padding:15px 18px!important;
        border:0!important;
        border-radius:12px!important;
        background:#22d62d!important;
        color:#fff!important;
        font-size:17px!important;
        font-weight:800!important;
        text-align:center!important;
    }
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-subitem{font-size:15px!important;font-weight:600!important;color:#43546a!important;background:#f8fafc!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-1{padding-left:30px!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-2{padding-left:46px!important}
    .vdv-mobile-site-menu a.vdv-mobile-site-menu-depth-3{padding-left:62px!important}
}
