/**
 * NEOMETIS Theme - 03-layout.css
 * Grid system, containers, breakpoints y helpers de composicion
 * Version: 1.0
 */

/* ===== CONTAINERS ===== */

.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: 0;
}

.container-sm {
  max-width: 900px;
}

.container-lg {
  max-width: 1600px;
}

.container-full {
  max-width: 100%;
  padding-inline: 0;
}

.nm-shell {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding-inline: var(--section-pad-x);
}

/* ===== GRID ===== */

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.nm-col-span-12 { grid-column: span 12; }
.nm-col-span-10 { grid-column: span 10; }
.nm-col-span-8  { grid-column: span 8; }
.nm-col-span-6  { grid-column: span 6; }
.nm-col-span-4  { grid-column: span 4; }
.nm-col-span-3  { grid-column: span 3; }

/* ===== LAYOUT HELPERS ===== */

.nm-stack-sm > * + * {
  margin-top: var(--space-3);
}

.nm-stack-md > * + * {
  margin-top: var(--space-6);
}

.nm-stack-lg > * + * {
  margin-top: var(--space-10);
}

.nm-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.nm-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}

@media (min-width: 900px) {
  .nm-split {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
  }
}
