/* VIAJES BUMERAN
   HERO 100VH + IMAGEN SIN DIFUMINADO AZUL
   Parche aislado: no modifica slider, menu, parallax ni administrador.
*/

:root{
    --vb-header-height: 78px;
}

/* El hero ocupa exactamente toda la altura visible. */
html body .hero[data-hero-slider]{
    position: relative !important;
    width: 100% !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: none !important;
    overflow: hidden !important;
}

/* Todas las capas del slider cubren el hero completo. */
html body .hero[data-hero-slider] > .hero-layer,
html body .hero[data-hero-slider] .hero-bg,
html body .hero[data-hero-slider] .hero-media,
html body .hero[data-hero-slider] .hero-slide{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}

/* Imagen y video sin deformarse. */
html body .hero[data-hero-slider] .hero-media-item{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Quita el velo azul aplicado encima de las imágenes y videos. */
html body .hero[data-hero-slider] .hero-media::after{
    background: transparent !important;
    opacity: 0 !important;
}

/* Neutraliza gradientes y luces de color que alteraban la fotografía. */
html body .hero[data-hero-slider] .hero-bg{
    background-image: var(--hero-image) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

html body .hero[data-hero-slider] .hero-light,
html body .hero[data-hero-slider] .hero-grid-overlay{
    background: none !important;
    opacity: 0 !important;
}

/* El contenido conserva contraste sin teñir toda la fotografía. */
html body .hero[data-hero-slider] .hero-copy,
html body .hero[data-hero-slider] .network-badge,
html body .hero[data-hero-slider] .branch-hero-card{
    text-shadow: 0 5px 24px rgba(0, 20, 60, .42);
}

/* El contenido interno utiliza toda la altura del hero. */
html body .hero[data-hero-slider] .hero-content{
    position: relative !important;
    z-index: 10 !important;
    height: 100% !important;
    min-height: 100% !important;
    align-content: center !important;
}

/* Evita que la siguiente sección invada visualmente el hero. */
html body.layout-cinematic-stack .cinematic-promotions{
    margin-top: 0 !important;
}

/* Altura real en navegadores móviles modernos. */
@supports (height: 100dvh){
    @media (max-width: 760px){
        html body .hero[data-hero-slider]{
            height: 100dvh !important;
            min-height: 100dvh !important;
        }
    }
}
