/* ========================================
   Two Column Grid Layout
   ======================================== */

.layout--2col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
}

@media (min-width: 768px) {
  .layout--2col {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-xl);
  }
}

.layout--2col__item {
  width: 100%;
}

/* ========================================
   Three Column Grid Layout
   ======================================== */

.layout--3col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
}

@media (min-width: 640px) {
  .layout--3col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .layout--3col {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
  }
}

.layout--3col__item {
  width: 100%;
}

/* ========================================
   Four Column Grid Layout
   ======================================== */

.layout--4col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-md);
}

@media (min-width: 640px) {
  .layout--4col {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-lg);
  }
}

@media (min-width: 1024px) {
  .layout--4col {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-xl);
  }
}

.layout--4col__item {
  width: 100%;
}