/* layout.css, containers + section spacing */

.pd-container {
  width: 100%;
  max-width: var(--pd-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pd-space-4);
  padding-right: var(--pd-space-4);
}
.pd-container--narrow { max-width: var(--pd-container-narrow); }
.pd-container--wide { max-width: var(--pd-container-wide); }

@media (min-width: 768px) {
  .pd-container { padding-left: var(--pd-space-4); padding-right: var(--pd-space-4); }
}

.pd-section { padding: var(--pd-space-7) 0; }
.pd-section--lg { padding: var(--pd-space-8) 0; }
.pd-section--alt { background: var(--pd-neutral-50); }
.pd-section--dark { background: var(--pd-neutral-900); color: var(--pd-white); }
.pd-section--dark h1, .pd-section--dark h2, .pd-section--dark h3 { color: var(--pd-white); }

@media (min-width: 768px) {
  .pd-section { padding: var(--pd-space-8) 0; }
  .pd-section--lg { padding: var(--pd-space-9) 0; }
}

/* Grid utilities */
.pd-grid { display: grid; gap: var(--pd-space-5); }
.pd-grid--2 { grid-template-columns: 1fr; }
.pd-grid--3 { grid-template-columns: 1fr; }
.pd-grid--4 { grid-template-columns: 1fr; }

@media (min-width: 640px) {
  .pd-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .pd-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .pd-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .pd-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* Flex utilities */
.pd-flex { display: flex; }
.pd-flex--center { align-items: center; justify-content: center; }
.pd-flex--between { align-items: center; justify-content: space-between; }
.pd-flex--gap-sm { gap: var(--pd-space-2); }
.pd-flex--gap-md { gap: var(--pd-space-4); }
.pd-flex--wrap { flex-wrap: wrap; }

/* Common spacing helpers */
.pd-mt-0 { margin-top: 0 !important; }
.pd-mt-4 { margin-top: var(--pd-space-4); }
.pd-mt-6 { margin-top: var(--pd-space-6); }
.pd-mb-0 { margin-bottom: 0 !important; }
.pd-mb-4 { margin-bottom: var(--pd-space-4); }
.pd-mb-6 { margin-bottom: var(--pd-space-6); }
.pd-mb-8 { margin-bottom: var(--pd-space-8); }

.pd-text-center { text-align: center; }
.pd-text-muted { color: var(--pd-neutral-600); }

/* Section heading patterns */
.pd-section-eyebrow {
  display: inline-block;
  font-size: var(--pd-fs-xs);
  font-weight: var(--pd-fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pd-accent);
  margin-bottom: var(--pd-space-3);
}
.pd-section-title {
  margin: 0 0 var(--pd-space-3);
  font-weight: var(--pd-fw-extra);
}
.pd-section-lede {
  font-size: var(--pd-fs-md);
  color: var(--pd-neutral-600);
  max-width: 720px;
  margin: 0 auto var(--pd-space-6);
}
