/**
 * BQB Landing — Motion (personalidad Premium)
 * Reveal + stagger (IntersectionObserver), entradas decelerate / salidas accelerate.
 * GPU-safe: solo transform/opacity. Respeta prefers-reduced-motion.
 */
:root {
    /* Easing firma Premium */
    --bqb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --bqb-ease-out: cubic-bezier(0.05, 0.7, 0.1, 1);
    --bqb-ease-in: cubic-bezier(0.3, 0, 1, 1);
    /* Paleta de duraciones */
    --bqb-motion-fast: 200ms;
    --bqb-motion-base: 350ms;
    --bqb-motion-slow: 600ms;
    /* Stagger (presupuesto total < 500ms) */
    --bqb-stagger-step: 80ms;
}

@media (prefers-reduced-motion: no-preference) {
    /* ── Reveal on-scroll + stagger ── */
    .bqb-landing-main .bqb-reveal,
    .bqb-producer-landing .bqb-reveal {
        opacity: 0;
        transform: translateY(20px);
        transition:
            opacity var(--bqb-motion-base) var(--bqb-ease-out),
            transform var(--bqb-motion-base) var(--bqb-ease-out);
        transition-delay: calc(min(var(--bqb-stagger, 0), 5) * var(--bqb-stagger-step));
        will-change: opacity, transform;
    }

    .bqb-landing-main .bqb-reveal.bqb-in-view,
    .bqb-producer-landing .bqb-reveal.bqb-in-view {
        opacity: 1;
        transform: none;
    }

    /* Hero: entrada inmediata al cargar (sin esperar scroll) */
    .bqb-landing-main .bqb-snippet-carousel.bqb-reveal-hero,
    .bqb-landing-main .bqb-snippet-products.bqb-reveal-hero,
    .bqb-producer-landing .bqb-snippet-carousel.bqb-reveal-hero,
    .bqb-producer-landing .bqb-snippet-products.bqb-reveal-hero,
    .bqb-producer-landing .bqb-producer-hero.bqb-reveal-hero {
        opacity: 0;
        transform: scale(1.02);
        animation: bqb-hero-enter var(--bqb-motion-slow) var(--bqb-ease-out) forwards;
    }

    @keyframes bqb-hero-enter {
        to { opacity: 1; transform: none; }
    }

    /* Contenido del slide — fade + slide secuenciado */
    .bqb-landing-main .slider-info-div .bqb-slide-line,
    .bqb-producer-landing .slider-info-div .bqb-slide-line {
        opacity: 0;
        transform: translateY(12px);
        transition:
            opacity var(--bqb-motion-base) var(--bqb-ease-out),
            transform var(--bqb-motion-base) var(--bqb-ease-out);
    }

    .bqb-landing-main .carousel-item.active .bqb-slide-line:nth-child(1),
    .bqb-producer-landing .carousel-item.active .bqb-slide-line:nth-child(1) {
        opacity: 1; transform: none; transition-delay: 120ms;
    }
    .bqb-landing-main .carousel-item.active .bqb-slide-line:nth-child(2),
    .bqb-producer-landing .carousel-item.active .bqb-slide-line:nth-child(2) {
        opacity: 1; transform: none; transition-delay: 200ms;
    }
    .bqb-landing-main .carousel-item.active .bqb-slide-line:nth-child(3),
    .bqb-producer-landing .carousel-item.active .bqb-slide-line:nth-child(3) {
        opacity: 1; transform: none; transition-delay: 280ms;
    }
    .bqb-landing-main .carousel-item.active .bqb-slide-line:nth-child(4),
    .bqb-producer-landing .carousel-item.active .bqb-slide-line:nth-child(4) {
        opacity: 1; transform: none; transition-delay: 360ms;
    }

    /* Menu movil — stagger en items */
    .bqb-site-nav .navbar-collapse.show .nav-item,
    .bqb-site-nav .navbar-collapse.bqb-expand .nav-item,
    #top .navbar #top_menu_collapse.show .nav-item {
        opacity: 0;
        transform: translateX(-10px);
        animation: bqb-nav-item-in var(--bqb-motion-base) var(--bqb-ease-out) forwards;
        animation-delay: calc(var(--bqb-nav-stagger, 0) * 55ms + 80ms);
    }

    @keyframes bqb-nav-item-in {
        to { opacity: 1; transform: none; }
    }

    /* Sumate — entrada interna escalonada al revelar la seccion */
    .bqb-snippet-join-us #join-us > *,
    .bqb-producer-join-us #join-us > * {
        opacity: 0;
        transform: translateY(22px);
        transition:
            opacity var(--bqb-motion-slow) var(--bqb-ease-out),
            transform var(--bqb-motion-slow) var(--bqb-ease-out);
    }
    .bqb-snippet-join-us.bqb-in-view #join-us > *,
    .bqb-producer-join-us.bqb-in-view #join-us > * {
        opacity: 1;
        transform: none;
    }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(1),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(1) { transition-delay: 60ms; }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(2),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(2) { transition-delay: 130ms; }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(3),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(3) { transition-delay: 200ms; }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(4),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(4) { transition-delay: 270ms; }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(5),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(5) { transition-delay: 340ms; }
    .bqb-snippet-join-us.bqb-in-view #join-us > *:nth-child(6),
    .bqb-producer-join-us.bqb-in-view #join-us > *:nth-child(6) { transition-delay: 410ms; }
}

@media (prefers-reduced-motion: reduce) {
    .bqb-landing-main .bqb-reveal,
    .bqb-producer-landing .bqb-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .bqb-landing-main .bqb-snippet-carousel.bqb-reveal-hero,
    .bqb-landing-main .bqb-snippet-products.bqb-reveal-hero,
    .bqb-producer-landing .bqb-snippet-carousel.bqb-reveal-hero,
    .bqb-producer-landing .bqb-snippet-products.bqb-reveal-hero,
    .bqb-producer-landing .bqb-producer-hero.bqb-reveal-hero {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .bqb-snippet-join-us #join-us > *,
    .bqb-producer-join-us #join-us > * {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
