.gallery-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    min-height: calc(100vh - 200px);
}

.masonry-grid {
    column-count: 1;
    column-gap: 20px;
}

@media (min-width: 640px) {
    .masonry-grid { column-count: 2; }
}

@media (min-width: 850px) {
    .masonry-grid { column-count: 3; }
}

@media (min-width: 1024px) {
    .masonry-grid { column-count: 4; }
}

.masonry-item {
    break-inside: avoid;
    margin-bottom: 20px;
    background-color: var(--snow);
    border: 1px solid var(--light-gray);
    border-radius: var(--radius-container);
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.masonry-item:hover {
    transform: translateY(-4px);
    border-color: var(--border-light);
}

.masonry-item img {
    width: 100%;
    display: block;
    border-radius: var(--radius-container);
    transition: opacity 0.3s ease;
}

.masonry-item:hover img {
    opacity: 0.95;
}