/* Grid System */

.grid {
    display: grid;
    gap: var(--spacing-md);
}

/* Column Classes */
.grid-cols-1 {
    grid-template-columns: repeat(1, 1fr);
}

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

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

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

/* Gap Utilities */
.gap-sm {
    gap: var(--spacing-sm);
}

.gap-md {
    gap: var(--spacing-md);
}

.gap-lg {
    gap: var(--spacing-lg);
}

.gap-xl {
    gap: var(--spacing-xl);
}

/* Split Screen Layout */
.split-screen {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    min-height: 100vh;
}

.split-left {
    padding: var(--spacing-2xl) var(--spacing-3xl);
}

.split-right {
    height: 100%;
    position: relative;
}

/* Responsive Grid */
@media (max-width: 1024px) {
    .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }

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

@media (max-width: 768px) {

    .grid-cols-2,
    .grid-cols-3,
    .grid-cols-4 {
        grid-template-columns: 1fr;
    }

    .split-screen {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .split-left {
        padding: var(--spacing-xl) var(--spacing-md);
    }

    .split-right {
        height: 50vh;
        min-height: 400px;
    }
}