/* ============================================
   HERO HOME – Viajeros Canallas
   Todos los estilos scopeados a .vc_custom_hero_home
   ============================================ */

/* ============================================
   ANIMACIONES
   ============================================ */
@keyframes hero-fade-up {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes hero-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Estado inicial: todo oculto */
.vc_custom_hero_home h1,
.vc_custom_hero_home h2,
.vc_custom_hero_home .logo-movil-home {
    opacity: 0;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
}

/* H1 — primero */
.vc_custom_hero_home h1 {
    animation-name: hero-fade-up;
    animation-duration: 0.7s;
    animation-delay: 0.3s;
}

/* H2 primero (Francés) — segundo */
.vc_custom_hero_home h2:nth-of-type(1) {
    animation-name: hero-fade-up;
    animation-duration: 0.7s;
    animation-delay: 0.7s;
}

/* H2 segundo (Portugués) — tercero */
.vc_custom_hero_home h2:nth-of-type(2) {
    animation-name: hero-fade-up;
    animation-duration: 0.7s;
    animation-delay: 1.0s;
}

/* Logo — último */
.vc_custom_hero_home .logo-movil-home {
    animation-name: hero-fade-in;
    animation-duration: 0.8s;
    animation-delay: 1.3s;
}

/* Contenedor principal — SIN overflow:hidden para no tapar el menú */
.vc_custom_hero_home {
    position: relative;
    background: #000;
}

/* Wrapper interno que SÍ tiene overflow:hidden para recortar la imagen */
.vc_custom_hero_home .hero-top__bg-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
}

/* Imagen de fondo */
.vc_custom_hero_home .hero-top__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* Overlay oscuro sobre la imagen */
.vc_custom_hero_home .hero-top__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.46);
    z-index: 2;
}

/* Contenido por encima de imagen y overlay */
.vc_custom_hero_home > .wpb_column {
    position: relative;
    z-index: 3;
}

/* Textos siempre en blanco */
.vc_custom_hero_home h1,
.vc_custom_hero_home h2 {
    color: #ffffff !important;
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8);
}

/* ============================================
   DESKTOP (min 601px)
   ============================================ */
@media only screen and (min-width: 601px) {

    .vc_custom_hero_home .hero-top__bg--desktop {
        display: block;
    }

    .vc_custom_hero_home .hero-top__bg--mobile {
        display: none;
    }

    .vc_row.vc_custom_hero_home {
        padding-left: 295px !important;
        padding-right: 295px !important;
    }
}

/* ============================================
   MÓVIL (max 600px)
   ============================================ */
@media only screen and (max-width: 600px) {

    .vc_custom_hero_home .hero-top__bg--desktop {
        display: none;
    }

    .vc_custom_hero_home .hero-top__bg--mobile {
        display: block;
    }

    .vc_custom_hero_home {
        padding-left: 15px !important;
        padding-right: 15px !important;
        padding-top: 110px !important;
    }

    .vc_custom_hero_home h1 {
        font-size: 26px !important;
        line-height: 38px !important;
        margin-bottom: 40px !important;
        text-shadow: 5px 5px #000000 !important;
        color: #ffffff !important;
        text-align: center !important;
    }

    .vc_custom_hero_home h2 {
        font-size: 22px !important;
        line-height: 30px !important;
        margin-top: 35px !important;
        text-align: center !important;
    }

    .vc_custom_hero_home .logo-movil-home {
        width: 55% !important;
        height: auto !important;
        display: block;
        margin: 40px auto 150px !important;
    }

    .vc_custom_hero_home .center-slider {
        text-align: center !important;
    }
}
