/* Base container styles for layout handling */
.jg-container-379c80c2 {
    width: 100%;
    box-sizing: border-box;
}

.jg-item-379c80c2 {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.jg-item-379c80c2 a {
    display: block;
    width: 100%;
    height: 100%;
}

.jg-item-379c80c2 img {
    display: block;
    max-width: 100%;
    margin: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Layout Modes */
.jg-container-379c80c2[data-layout="justified"] {
    display: flex;
    flex-wrap: wrap;
}

.jg-container-379c80c2[data-layout="grid"] {
    display: grid;
}

.jg-container-379c80c2[data-layout="masonry"] {
    /* Uses CSS columns (column-count set via inline style) */
    display: block;
}
.jg-container-379c80c2[data-layout="masonry"] .jg-item-379c80c2 {
    break-inside: avoid;
}

/* Mobile specific styling overridden in JS for justified, but applied as fallback */
@media screen and (max-width: 767px) {
    .jg-container-379c80c2[data-layout="justified"] {
        flex-direction: column;
        gap: 10px !important;
    }
    .jg-container-379c80c2[data-layout="justified"] .jg-item-379c80c2 {
        width: 100% !important;
        height: auto !important;
    }
    .jg-container-379c80c2[data-layout="justified"] .jg-item-379c80c2 img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}