/* css/layout.css */
.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 var(--space-24);
}

.section {
  padding-top: var(--space-96);
  padding-bottom: var(--space-96);
}

.section-lg {
  padding-top: var(--space-160);
  padding-bottom: var(--space-160);
}

/* Grid System */
.grid {
  display: grid;
  gap: var(--space-32);
}

.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); }

/* Flex Helpers */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-8 { gap: var(--space-8); }
.gap-16 { gap: var(--space-16); }
.gap-24 { gap: var(--space-24); }
.gap-32 { gap: var(--space-32); }
.gap-48 { gap: var(--space-48); }

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .grid-cols-2, .grid-cols-3, .grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
  .section-lg {
    padding-top: var(--space-96);
    padding-bottom: var(--space-96);
  }
  .flex.justify-between {
    flex-wrap: wrap;
    gap: var(--space-24);
  }
}

@media (max-width: 768px) {
  .section, .section-lg {
    padding-top: var(--space-64) !important;
    padding-bottom: var(--space-64) !important;
  }
}
