/* レイアウトシステム */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-unit);
}

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

.flex {
  display: flex;
  gap: var(--spacing-unit);
}

@media (min-width: var(--breakpoint-md)) {
  .grid-col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.spacing-sm {
  padding: calc(var(--spacing-unit) * 0.5);
}

.spacing-md {
  padding: var(--spacing-unit);
}

.spacing-lg {
  padding: calc(var(--spacing-unit) * 2);
}