/* =======================================================
   ProperApp Core — Content
   Editorial / prose styling only
   ======================================================= */

/* =======================================================
   Build typography (moved from base.css)
   Applies to build preview + runtime ONLY
   ======================================================= */

/* Build root font + colour */
.properapp-build,
.pa-card {
    font-family: var(--pa-font-family), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--pa-color-text);
}

/* Inherit fonts inside builds */
.properapp-build *,
.pa-card * {
    font-family: inherit;
}

/* Headings inside builds */
.properapp-build h1,
.pa-card h1 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 calc(var(--pa-spacing) * 0.75);
}

.properapp-build h2,
.pa-card h2 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0 0 calc(var(--pa-spacing) * 0.6);
}

.properapp-build h3,
.pa-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 calc(var(--pa-spacing) * 0.5);
}

/* Build description (subtitle under title) */
.pa-build-description {
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--pa-color-muted);
    margin: 0 0 calc(var(--pa-spacing) * 1.25);
}

/* Paragraphs inside builds */
.properapp-build p,
.pa-card p {
    margin: 0 0 var(--pa-spacing);
}

/* Lists inside builds */
.properapp-build ul,
.properapp-build ol,
.pa-card ul,
.pa-card ol {
    margin: 0 0 var(--pa-spacing);
    padding-left: 1.5rem;
}

.properapp-build li,
.pa-card li {
    margin-bottom: calc(var(--pa-spacing) * 0.4);
}

/* Base prose container */
.prose {
    max-width: 70ch;
    line-height: 1.65;
}

/* Paragraphs */
.prose p {
    margin: 0 0 var(--pa-spacing);
}

/* Headings */
.prose h1 {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.25;
    margin: calc(var(--pa-spacing) * 2) 0 var(--pa-spacing);
}

.prose h2 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    margin: calc(var(--pa-spacing) * 1.75) 0 var(--pa-spacing);
}

.prose h3 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
    margin: calc(var(--pa-spacing) * 1.5) 0 calc(var(--pa-spacing) * 0.75);
}

/* Lists */
.prose ul,
.prose ol {
    margin: 0 0 var(--pa-spacing);
    padding-left: 1.5rem;
}

.prose li {
    margin-bottom: calc(var(--pa-spacing) * 0.4);
}

/* Blockquotes */
.prose blockquote {
    margin: calc(var(--pa-spacing) * 1.5) 0;
    padding-left: var(--pa-spacing);
    border-left: 3px solid var(--pa-color-primary);
    color: var(--pa-color-text);
    opacity: 0.9;
}

/* Horizontal rule */
.prose hr {
    border: none;
    border-top: 1px solid rgba(0,0,0,0.1);
    margin: calc(var(--pa-spacing) * 2) 0;
}

/* Inline text */
.prose strong {
    font-weight: 600;
}

.prose em {
    font-style: italic;
}

/* Links inside prose */
.prose a {
    color: var(--pa-color-primary);
    text-decoration: underline;
}

.prose a:hover {
    text-decoration: none;
}

/* Images inside content */
.prose img {
    margin: calc(var(--pa-spacing) * 1.5) 0;
    border-radius: var(--pa-radius);
}