/*
 * portfolio_grid_slider — stile "critico" anti-FOUC.
 *
 * Prima che Swiper monti (.swiper-parent senza .swiper-initialized) la prima
 * slide sarebbe larga 100% e alta quanto lo slider → si vedeva "la prima
 * immagine grande come tutta la collezione". Qui, pre-init, impaginiamo già le
 * colonne in riga (1/N della larghezza, N = colonne per breakpoint via le
 * variabili --acme-grid-cols* impostate inline sulla sezione). Appena Swiper
 * aggiunge .swiper-initialized queste regole si disattivano e subentra il suo
 * layout. Caricato nel <head> per evitare il flash al primo paint.
 */
.acme-grid-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}

.acme-grid-slider .swiper-parent:not(.swiper-initialized) {
    overflow: hidden;
}

.acme-grid-slider .swiper-parent:not(.swiper-initialized) > .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
}

.acme-grid-slider .swiper-parent:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    flex: 0 0 calc(100% / var(--acme-grid-cols, 4));
    max-width: calc(100% / var(--acme-grid-cols, 4));
}

@media (max-width: 1199.98px) {
    .acme-grid-slider .swiper-parent:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
        flex-basis: calc(100% / var(--acme-grid-cols-md, 3));
        max-width: calc(100% / var(--acme-grid-cols-md, 3));
    }
}

@media (max-width: 767.98px) {
    .acme-grid-slider .swiper-parent:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
        flex-basis: calc(100% / var(--acme-grid-cols-sm, 2));
        max-width: calc(100% / var(--acme-grid-cols-sm, 2));
    }
}

/* Colonne verticali: pre-init non far strabordare le tile impilate. */
.acme-grid-slider .acme-grid-nested:not(.swiper-initialized) {
    overflow: hidden;
}

/* Sfondo placeholder quando l'evento non ha un'immagine collegata: la card
   resta piena e il titolo (overlay chiaro) resta leggibile. */
.acme-grid-slider .acme-grid-noimg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #3a3f47 0%, #1f2329 100%);
}
