/* OpticWeb Instagram Feed - Masonry Layout */

.instafeed-masonry {
    display: flex;
    flex-wrap: wrap;
    margin: calc(var(--instafeed-spacing, 10px) / -2);
}

.instafeed-masonry .instafeed-item {
    padding: calc(var(--instafeed-spacing, 10px) / 2);
    box-sizing: border-box;
}

/* Column widths based on CSS custom properties */
.instafeed-masonry .instafeed-item {
    width: calc(100% / var(--instafeed-cols-desktop, 4));
}

.instafeed-masonry .instafeed-item .item-image-wrapper img {
    width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .instafeed-masonry .instafeed-item {
        width: calc(100% / var(--instafeed-cols-tablet, 3));
    }
}

@media (max-width: 767px) {
    .instafeed-masonry .instafeed-item {
        width: calc(100% / var(--instafeed-cols-mobile, 2));
    }
    
    /* Force Carousel on Mobile */
    .force-mobile-carousel .instafeed-masonry {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 15px;
        scroll-behavior: smooth;
        margin: 0;
        gap: var(--instafeed-spacing, 10px);
    }
    
    .force-mobile-carousel .instafeed-masonry .instafeed-item {
        padding: 0;
        width: auto;
        flex: 0 0 calc((100% - (var(--instafeed-spacing, 10px) * (var(--instafeed-cols-mobile, 2) - 1))) / var(--instafeed-cols-mobile, 2));
        scroll-snap-align: start;
        max-width: 90vw;
    }
    
    .force-mobile-carousel .instafeed-masonry::-webkit-scrollbar {
        height: 4px;
    }
    .force-mobile-carousel .instafeed-masonry::-webkit-scrollbar-track {
        background: rgba(0,0,0,0.05);
        border-radius: 4px;
    }
    .force-mobile-carousel .instafeed-masonry::-webkit-scrollbar-thumb {
        background: rgba(0,0,0,0.2);
        border-radius: 4px;
    }
}
