/* Smooth scrolling for the whole page */
html {
    scroll-behavior: smooth;
}

/* Container for blog posts */
.blog-posts-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Individual blog post */
.blog-post {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Class to be added when post comes into view */
.blog-post.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Lazy loading for images */
.blog-post img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.blog-post img.loaded {
    opacity: 1;
}

/* Loading indicator */
.loading-indicator {
    display: none;
    text-align: center;
    padding: 20px;
    font-style: italic;
    color: #888;
}

.loading-indicator.visible {
    display: block;
}