.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

/* Blog cards container (fallback width before Alpine measures) */
.blog-cards-viewport {
    width: calc(4 * 320px + 3 * 24px);
    /* 4 cards width + 3 gaps for desktop */
    max-width: 100%;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .blog-cards-viewport {
        width: calc(2 * 320px + 1 * 24px);
        /* 2 cards on tablet */
    }
}

@media (max-width: 768px) {
    .blog-cards-viewport {
        width: 320px;
        /* 1 card on mobile */
    }
}

/* Make each card a snap point when using snap-x */
.blog-cards>article {
    scroll-snap-align: start;
}

/* Line clamp utility for title truncation */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}