/* Layout Griglia Principale */
div.custom-gallery-wrapper {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 15px !important;
    width: 100%;
    /* Questo assicura che le celle della griglia abbiano tutte la stessa altezza */
    align-items: stretch !important;
}

/* FIX PER L'ALLINEAMENTO VERTICALE
   Trasformiamo l'item in un contenitore Flex per obbligare il contenuto a estendersi
*/
.custom-gallery-wrapper .gallery-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important; /* Forza l'altezza al 100% della cella della griglia */
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.custom-gallery-wrapper .gallery-item a {
    display: flex !important; /* Anche il link diventa flex per estendere l'immagine */
    flex: 1 !important;       /* Occupa tutto lo spazio disponibile */
    width: 100%;
    position: relative;
    overflow: hidden;         /* Taglia l'immagine se sborda */
}

.custom-gallery-wrapper .gallery-item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;  /* Forza l'immagine a riempire il link */
    object-fit: cover !important; /* CRUCIALE: Ritaglia l'immagine per riempire lo spazio senza deformarla */
    transition: transform 0.5s ease;
}

.custom-gallery-wrapper .gallery-item a:hover img {
    transform: scale(1.05);
}

/* LOGICA COLONNE (Pattern Fisso) */
.custom-gallery-wrapper .gallery-item.size-span-3 {
    grid-column: span 3 !important;
}

.custom-gallery-wrapper .gallery-item.size-span-6 {
    grid-column: span 6 !important;
}


/* RESPONSIVE */

/* Tablet (sotto 992px): 2 colonne */
@media (max-width: 992px) {
    div.custom-gallery-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .custom-gallery-wrapper .gallery-item.size-span-3,
    .custom-gallery-wrapper .gallery-item.size-span-6 {
        grid-column: span 1 !important;
    }
}

/* Mobile (sotto 600px): 1 colonna */
@media (max-width: 600px) {
    div.custom-gallery-wrapper {
        grid-template-columns: 1fr !important;
    }

    /* Su mobile l'altezza fissa potrebbe non servire, lasciamo 'auto' se preferisci vedere l'immagine intera */
    .custom-gallery-wrapper .gallery-item {
        height: auto !important;
    }

    /* Opzionale: imposta un'altezza minima su mobile per uniformità */
    .custom-gallery-wrapper .gallery-item img {
        height: auto !important;
        min-height: 250px;
        object-fit: cover !important;
    }
}

/* FIX PER LE DIDASCALIE DI FANCYBOX */
.fancybox-caption {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0) 100%) !important;
}

.fancybox-caption__body {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-align: center !important;
}
