/* =====================================================================
   Efectos de Bruné: intro con el logo + banner que se desliza al scrollear
   ===================================================================== */

/* ---------- 1) Intro: pantalla con el logo que sube y deja ver la web ---------- */
html.intro-activa { overflow: hidden; }

html.intro-activa::before,
html.intro-activa::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

html.intro-activa::before {
    background: var(--crema-clara);
}

html.intro-activa::after {
    background: url('../img/brune.png') center / min(260px, 62vw) auto no-repeat;
    opacity: 0;
    animation: intro-logo 0.8s 0.1s ease-out forwards;
}

html.intro-sale::before,
html.intro-sale::after {
    transform: translateY(-100%);
    transition: transform 0.9s cubic-bezier(0.76, 0, 0.24, 1);
}

html.intro-sale::before {
    box-shadow: 0 18px 40px rgba(67, 16, 27, 0.25);
}

@keyframes intro-logo {
    from { opacity: 0; background-size: min(215px, 52vw) auto; }
    to   { opacity: 1; background-size: min(260px, 62vw) auto; }
}

/* ---------- 2) Banner: queda fijo y la sección siguiente lo tapa como una cortina ---------- */
.hero {
    position: sticky;
    top: 0;
    z-index: 0;
}

.hero ~ * {
    position: relative;
    z-index: 1;
}

/* Estas secciones no tenían fondo propio; se lo damos (del mismo color
   que la página) para que el banner no se vea por detrás al pasar. */
.hero ~ .envios,
.hero ~ .valores,
.hero ~ .productos {
    background: var(--crema-clara);
}

.hero__frame {
    transform-origin: 50% 35%;
}

/* Cuando el banner ya quedó completamente tapado, se oculta */
.hero--oculto {
    visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .hero { position: relative; }
}

/* =====================================================================
   Bruno, la mascota: aparece en distintos momentos al bajar por la web
   ===================================================================== */
.bruno {
    position: absolute;
    display: block;
    height: auto;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

/* 1) Sentado sobre la cinta de sabores, a la derecha del banner */
.bruno--sentado {
    right: max(2px, calc(50% - 205px));
    bottom: 0;
    width: 84px;
    z-index: 2;
}

/* 2) Colgado del borde de la cinta (aparece apenas se empieza a bajar) */
.bruno--colgado {
    right: max(4px, calc(50% - 200px));
    top: 0;
    width: 104px;
    transform: translateY(calc(-100% - var(--cinta-alto, 46px)));
    opacity: 0;
}

/* 3) Caminando por arriba de la franja final, de izquierda a derecha */
.bruno--caminando {
    left: 0;
    bottom: 100%;
    width: 128px;
    opacity: 0;
    will-change: transform;
}

/* 4) Y al final se acuesta */
.bruno--acostado {
    right: 10px;
    bottom: 100%;
    width: 126px;
    opacity: 0;
    transition: opacity 0.35s ease;
}

/* Espacio para que Bruno camine sin tapar los productos */
.productos {
    padding-bottom: calc(4rem + 48px);
}

@media (min-width: 900px) {
    .bruno--sentado { width: 104px; }
    .bruno--colgado { width: 130px; }
    .bruno--caminando { width: 160px; }
    .bruno--acostado { width: 156px; right: 4vw; }
}
