/* Layout primitives — design-system.md §6–§7.3. */
@layer layout {
  .pk-container {
    width: 100%;
    max-width: var(--pk-container-max);
    margin-inline: auto;
    padding-inline: 16px;
  }

  .pk-section {
    padding-block: 48px;
  }

  .pk-grid-cards {
    display: grid;
    gap: var(--pk-space-4);
    grid-template-columns: 1fr;
  }

  /* Mobile: stack and full-width when in a hero or CTA group */
  .btn-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .btn-group .btn {
    width: 100%;
  }

  @media (min-width: 720px) {
    .pk-container { padding-inline: 32px; }
    .pk-section { padding-block: 72px; }
    .pk-grid-cards { grid-template-columns: repeat(2, 1fr); gap: var(--pk-space-5); }

    .btn-group {
      flex-direction: row;
      gap: 16px;
      flex-wrap: wrap;
    }

    .btn-group .btn {
      width: auto;
    }
  }

  @media (min-width: 1024px) {
    .pk-container { padding-inline: 48px; }
    .pk-section { padding-block: 96px; }
    .pk-grid-cards { grid-template-columns: repeat(3, 1fr); }
  }
}
