/* Pantalla de carga tipo telón: sube para revelar la página, baja para cubrirla.
   El transform (no opacity) es lo que da la sensación de telón físico moviéndose,
   no un simple fundido. */
#ped-loading-screen {
    position: fixed;
    inset: 0;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transform: translateY(0);
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}

#ped-loading-screen img {
    width: 64px;
    height: 64px;
    animation: ped-pulso 1.4s ease-in-out infinite;
}

/* "oculto" ya no apaga la opacidad: sube el telón fuera de la pantalla. */
#ped-loading-screen.oculto {
    transform: translateY(-100%);
    pointer-events: none;
}

@keyframes ped-pulso {
    0%, 100% { transform: scale(1);   opacity: 0.6; }
    50%      { transform: scale(1.12); opacity: 1;   }
}