/*
 * PortableText.module.css → the shared "prose" part.
 *
 * Ported by scripts/port-css.mjs. Class names are prefixed to survive being
 * flattened out of CSS Modules; design tokens are rewritten to the custom
 * properties theme.json emits. Edit this file, not the original.
 */

.px-prose {
  max-width: 68ch;
}

.px-prose__paragraph {
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--base);
  font-weight: 300;
  line-height: 1.85;
  color: var(--fg-muted);
  margin-bottom: var(--wp--preset--spacing--lg);
}

.px-prose > .px-prose__paragraph:first-child {
  color: var(--fg);
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.7;
}

.px-prose__h2 {
  font-family: var(--wp--preset--font-family--display);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--fg);
  margin-top: var(--wp--preset--spacing--xxl);
  margin-bottom: var(--wp--preset--spacing--md);
}

.px-prose__h3 {
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--base);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg);
  margin-top: var(--wp--preset--spacing--xl);
  margin-bottom: var(--wp--preset--spacing--sm);
}

.px-prose__h4 {
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-top: var(--wp--preset--spacing--lg);
  margin-bottom: var(--wp--preset--spacing--xs);
}

.px-prose__quote {
  font-family: var(--wp--preset--font-family--serif);
  font-size: var(--wp--preset--font-size--xl);
  font-style: italic;
  font-weight: 300;
  line-height: 1.3;
  color: var(--fg);
  border-left: 1px solid var(--accent);
  padding-left: var(--wp--preset--spacing--lg);
  margin-block: var(--wp--preset--spacing--xxl);
  text-wrap: balance;
}

.px-prose__list {
  list-style: none;
  margin-bottom: var(--wp--preset--spacing--lg);
}

.px-prose__list-item {
  position: relative;
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--base);
  font-weight: 300;
  line-height: 1.8;
  color: var(--fg-muted);
  padding-left: 1.75rem;
  margin-bottom: var(--wp--preset--spacing--xs);
}

.px-prose__list-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.85em;
  width: 0.75rem;
  height: 1px;
  background: var(--accent);
}

.px-prose__strong {
  color: var(--fg);
  font-weight: 500;
}

.px-prose__code {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.9em;
  background: var(--bg-raised);
  padding: 0.15em 0.4em;
}

.px-prose__link {
  color: var(--fg);
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-color: var(--accent);
  transition: color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}

.px-prose__link:hover {
  color: var(--accent);
}
