/* Grid Utility */

.c-grid {
  display: grid;
  gap: var(--grid-gap-mobile, var(--spacing-base));
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

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

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

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

@media (min-width: 768px) {
  .c-grid {
    gap: var(--grid-gap-tablet, var(--spacing-md));
  }
}

@media (min-width: 1024px) {
  .c-grid {
    gap: var(--grid-gap-desktop, var(--spacing-lg));
  }
}

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

@media (max-width: 480px) {
  .c-grid--2-cols,
  .c-grid--3-cols,
  .c-grid--4-cols {
    grid-template-columns: 1fr;
  }
}
