/* Galleria: stile minimo, il lightbox è gestito da css/photoswipe.css */
.cg-item {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: var(--cg-radius, 10px);
    background: #e9ece6;
    cursor: zoom-in;
}
.cg-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms cubic-bezier(.22, .8, .24, 1);
}
.cg-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(8, 41, 35, .25);
    opacity: 0;
    transition: opacity 300ms;
}
.cg-item:hover img { transform: scale(1.06); }
.cg-item:hover::after { opacity: 1; }

/* layout "grid": celle con proporzioni fisse */
.cg:not(.cg-auto) .cg-item { aspect-ratio: var(--cg-ratio, 4/3); }
.cg-auto .cg-item img { height: auto; }

/* layout "masonry": colonne CSS */
.cg-masonry {
    column-count: var(--cg-cols-xs, 1);
    column-gap: var(--cg-gap, .75rem);
}
.cg-masonry .cg-cell {
    break-inside: avoid;
    margin-bottom: var(--cg-gap, .75rem);
}
@media (min-width: 576px) { .cg-masonry { column-count: var(--cg-cols-sm, 2); } }
@media (min-width: 768px) { .cg-masonry { column-count: var(--cg-cols-md, 3); } }
@media (min-width: 992px) { .cg-masonry { column-count: var(--cg-cols-lg, 3); } }
