/* ptc-layout.css */
.ptc-container {
  width: 100%;
  max-width: var(--ptc-content-max);
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--ptc-space-4);
  padding-left: var(--ptc-space-4);
}

.ptc-container--narrow {
  max-width: var(--ptc-content-narrow);
}

.ptc-container--wide {
  max-width: var(--ptc-content-wide);
}

.ptc-main-content {
  padding-top: var(--ptc-space-8);
  padding-bottom: var(--ptc-space-12);
}

/* Flex/Grid Helper classes */
.ptc-flex {
  display: flex;
  flex-direction: column;
  gap: var(--ptc-space-4);
}

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

/* Mobile-First Media Queries (min-width only) */
@media (min-width: 480px) {
  .ptc-flex--row-sm {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .ptc-flex--row-md {
    flex-direction: row;
  }
  .ptc-grid--2-col {
    grid-template-columns: repeat(2, 1fr);
  }
  .ptc-grid--3-col {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .ptc-grid--4-col {
    grid-template-columns: repeat(4, 1fr);
  }
}
