
/* C O L U M N S */

.columns {
    column-count: 3;
    column-gap: 1rem;
    width: 100%;
}

.columns img {
    width: 100%;
    margin-bottom: 1rem;
    display: block;
    border-radius: 0.5rem;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    object-fit: cover;
}

@media (max-width: 992px) {
    .columns { column-count: 2; }
}

@media (max-width: 576px) {
    .columns { column-count: 1; }
}

/* M A S O N R Y */


.masonry {
    margin: 0 auto;
    max-width: 1200px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    will-change: opacity;
}



.masonry-item {
    width: calc(33.333% - 20px); 
    margin-bottom: 1rem;
    break-inside: avoid;
    opacity: 0.75;
    transform: scale(0.75) translateY(0);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.masonry-item.item-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.masonry-item.item-visible:hover {
    opacity: 1;
    transform: scale(0.9) translateY(0);
}

.masonry-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.5rem;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

@media (max-width: 992px) {
    .masonry-item { width: calc(50% - 20px); }
}

@media (max-width: 576px) {
    .masonry-item { width: calc(100% - 20px); }
}

/* sizer */

#masonry .masonry-sizer { width: 33.333%; }

@media (min-width: 1400px) {
    #masonry .masonry-sizer { width: 25%; }
}

@media (max-width: 992px) {
    #masonry .masonry-sizer { width: 50%; }
}

@media (max-width: 480px) {
    #masonry .masonry-sizer { width: 100%; }
}

/* L I G H T B O X */

.modal-body img {
  max-width: 100%;
  max-height: 80vh; 
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

