/* Layout: Grid & Containers */
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--space-m);
}

.grid {
    display: grid;
    gap: var(--space-l);
}

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

@media (min-width: 768px) {
    .grid--4-cols {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Layout: Sidebar Right (2/3 + 1/3) */
    .grid--sidebar-right {
        grid-template-columns: 2fr 1fr;
    }
}

.main-content {
    min-height: 60vh;
}

/* Responsive Visibility Utilities */
.show-mobile {
    display: block;
}

.show-desktop {
    display: none;
}

@media (min-width: 1024px) {
    .show-mobile {
        display: none;
    }

    .show-desktop {
        display: block;
    }
}