/* Utilidades para cargador y estado vacío */
#archive-loader {
    display: block;
}

#archive-loader.hidden,
#archive-empty.hidden {
    display: none;
}

/* Animaciones suaves para las tarjetas */
.card-animate {
    opacity: 0;
    filter: blur(12px);
    transform: translateY(20px) scale(0.95);
    animation: fadeInBlur 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.card-animate.is-visible {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
}

@keyframes fadeInBlur {
    0% {
        opacity: 0;
        filter: blur(12px);
        transform: translateY(20px) scale(0.95);
    }
    100% {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1);
    }
}

/* Smooth height transition para el grid */
#posts-grid {
    transition: all 0.3s ease;
}

/* Asegurar que las tarjetas tengan animación escalonada */
.posts-grid .card-animate:nth-child(1) {
    animation-delay: 0ms;
}

.posts-grid .card-animate:nth-child(2) {
    animation-delay: 100ms;
}

.posts-grid .card-animate:nth-child(3) {
    animation-delay: 200ms;
}

.posts-grid .card-animate:nth-child(4) {
    animation-delay: 300ms;
}

.posts-grid .card-animate:nth-child(5) {
    animation-delay: 400ms;
}

.posts-grid .card-animate:nth-child(6) {
    animation-delay: 500ms;
}
