/* Base grid styles */
.grid-1,
.grid-2,
.grid-3,
.grid-4,
.grid-5 {
    display: grid;
    margin: 0 auto;
    grid-gap: 1rem;
}

/* Default: Mobile first (1 column) */
.grid-1 {
    grid-template-columns: 1fr;
}
.grid-2 {
    grid-template-columns: 1fr;
}
.grid-3 {
    grid-template-columns: 1fr;
}
.grid-4 {
    grid-template-columns: 1fr;
}
.grid-5 {
    grid-template-columns: 1fr;
}

/* Tablet: ≥600px */
@media (min-width: 600px) {
    .grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-5 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Small desktop: ≥900px */
@media (min-width: 900px) {
    .grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-4 {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-5 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Large desktop: ≥1200px */
@media (min-width: 1200px) {
    .grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* Extra large: ≥1500px */
@media (min-width: 1500px) {
    .grid-5 {
        grid-template-columns: repeat(5, 1fr);
    }
}
