/*
 * Styles for markdown-rendered Pages (`.page-body` in pages/show and the
 * contact template). Nothing else uses them.
 *
 * This was named application.css, which collided with the application.css
 * esbuild writes into app/assets/builds from the CSS imported by
 * application.js. Two files with the same logical path: Propshaft served the
 * build output and this file never reached a browser, so every markdown Page
 * rendered unstyled. Renamed so the collision cannot come back.
 */

/* Markdown-rendered page body */
.page-body { color: #374151; font-size: 1.0625rem; line-height: 1.8; }

.page-body p          { margin-bottom: 1.5rem; }
.page-body p:last-child { margin-bottom: 0; }

.page-body h1 { font-size: 1.875rem; font-weight: 700; color: #111827; margin-top: 2.5rem; margin-bottom: 1rem; line-height: 1.25; }
.page-body h2 { font-size: 1.5rem;   font-weight: 700; color: #111827; margin-top: 2.25rem; margin-bottom: 0.875rem; line-height: 1.3; }
.page-body h3 { font-size: 1.25rem;  font-weight: 600; color: #1f2937; margin-top: 2rem;    margin-bottom: 0.75rem;  line-height: 1.4; }
.page-body h4 { font-size: 1.0625rem; font-weight: 600; color: #1f2937; margin-top: 1.75rem; margin-bottom: 0.5rem; }

.page-body ul  { list-style-type: disc;    padding-left: 1.75rem; margin-bottom: 1.5rem; }
.page-body ol  { list-style-type: decimal; padding-left: 1.75rem; margin-bottom: 1.5rem; }
.page-body li  { margin-bottom: 0.375rem; }
.page-body li > ul,
.page-body li > ol { margin-top: 0.375rem; margin-bottom: 0.375rem; }

.page-body a           { color: #2563eb; text-decoration: underline; }
.page-body a:hover     { color: #1d4ed8; }

.page-body strong { font-weight: 700; color: #111827; }
.page-body em     { font-style: italic; }
.page-body del    { text-decoration: line-through; color: #6b7280; }

.page-body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.875em;
  background: #f3f4f6;
  border-radius: 0.25rem;
  padding: 0.15em 0.4em;
  color: #1f2937;
}

.page-body pre {
  background: #f3f4f6;
  border-radius: 0.5rem;
  padding: 1.25rem 1.5rem;
  overflow-x: auto;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.7;
}
.page-body pre code { background: none; padding: 0; font-size: inherit; }

.page-body blockquote {
  border-left: 4px solid #e5e7eb;
  padding-left: 1.25rem;
  margin: 1.75rem 0;
  color: #6b7280;
  font-style: italic;
}

.page-body hr { border: none; border-top: 1px solid #e5e7eb; margin: 2.5rem 0; }

.page-body table         { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: 0.9375rem; }
.page-body thead         { background: #f9fafb; }
.page-body th            { padding: 0.625rem 1rem; text-align: left; font-weight: 600; border: 1px solid #e5e7eb; color: #111827; }
.page-body td            { padding: 0.625rem 1rem; border: 1px solid #e5e7eb; }
