/* ==========================================================
   SYLFOW MARKET
   GRID SYSTEM
========================================================== */

/* ==========================================================
   GRID
========================================================== */

.sf-grid {
    display: grid;
    gap: 1.5rem;
}

/* ==========================================================
   COLONNES
========================================================== */

.sf-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-grid-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.sf-grid-auto {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* ==========================================================
   GAPS
========================================================== */

.gap-sm {
    gap: 1rem;
}

.gap-md {
    gap: 1.5rem;
}

.gap-lg {
    gap: 2rem;
}

.gap-xl {
    gap: 3rem;
}

/* ==========================================================
   ALIGNEMENTS
========================================================== */

.items-start {
    align-items: start;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: end;
}

.justify-start {
    justify-items: start;
}

.justify-center {
    justify-items: center;
}

.justify-end {
    justify-items: end;
}

/* ==========================================================
   COLONNES PERSONNALISÉES
========================================================== */

.col-span-1 {
    grid-column: span 1;
}

.col-span-2 {
    grid-column: span 2;
}

.col-span-3 {
    grid-column: span 3;
}

.col-span-4 {
    grid-column: span 4;
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .sf-grid-5 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

}

@media (max-width: 992px) {

    .sf-grid-4,
    .sf-grid-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .col-span-2,
    .col-span-3,
    .col-span-4 {
        grid-column: span 2;
    }

}

@media (max-width: 768px) {

    .sf-grid-2,
    .sf-grid-3,
    .sf-grid-4,
    .sf-grid-5,
    .sf-grid-auto {

        grid-template-columns: 1fr;

    }

    .col-span-2,
    .col-span-3,
    .col-span-4 {

        grid-column: span 1;

    }

}