.masonry-grid {
    columns: 1;
    column-gap: 1.5rem;
}
@media (min-width: 640px) { .masonry-grid { columns: 2; } }
@media (min-width: 1024px) { .masonry-grid { columns: 3; } }
.masonry-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
}
.gallery-card-overlay {
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.gallery-card:hover .gallery-card-overlay {
    opacity: 1;
}
