/* Week sprint Day 3-4 additions. Trust pages, group pages, category
   pages, permalinks, stale banner, footer trust links. No em dashes. */
.trust-page, .group-page, .category-page { max-width: 1120px; margin: 0 auto; padding: 32px 20px 48px; }
.trust-page .page-body { max-width: 68ch; }
.trust-page h1, .group-page h1, .category-page h1 { font-family: Georgia, serif; font-size: 2rem; line-height: 1.2; color: #193d2b; margin: 0 0 16px; }
.trust-page h2 { font-family: Georgia, serif; font-size: 1.5rem; line-height: 1.2; color: #193d2b; margin: 32px 0 12px; }
.trust-page p, .trust-page li { font-size: 1rem; line-height: 1.6; color: #222725; }
.trust-page p { margin: 0 0 12px; }
.trust-page ul { padding-left: 20px; }
.trust-page li { margin: 8px 0; }
.breadcrumb { font-size: 0.875rem; color: #53635a; margin: 0 0 20px; }
.breadcrumb a { color: #315d4e; }
.group-page .group-card { margin: 0 0 24px; }
.group-page-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 24px 0; font-size: 0.875rem; }
.group-page-actions a { color: #315d4e; min-height: 44px; display: inline-flex; align-items: center; }
.stale-banner { color: #6e5013; background: #fff8e8; border-left: 3px solid #a17a22; border-radius: 4px; padding: 12px 14px; margin: 0 0 18px; font-size: 0.875rem; line-height: 1.6; }
.category-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
.category-item { border: 1px solid #dce3d5; border-radius: 12px; padding: 16px 20px; background: #fff; }
.category-item h2 { font-size: 1.125rem; margin: 0 0 8px; }
.category-item h2 a { color: #193d2b; text-decoration: none; }
.category-item h2 a:hover { text-decoration: underline; }
.category-item p { margin: 4px 0; font-size: 0.875rem; line-height: 1.6; color: #53635a; }
.card-permalink { font-size: 0.8rem; margin: 12px 0 16px; }
.card-permalink a { color: #315d4e; }
.page-404 { max-width: 68ch; margin: 0 auto; padding: 64px 20px; text-align: center; }
.page-404 h1 { font-family: Georgia, serif; font-size: 2rem; color: #193d2b; }
.page-404 p { font-size: 1rem; line-height: 1.6; color: #53635a; }

/* Sprint 2 Phase 1b: per-fact flags, single-source cost label, intake block. No em dashes. */
.fact-flag { display: inline-block; font-size: 0.8rem; line-height: 1.4; padding: 1px 8px; border-radius: 999px; margin-left: 6px; font-weight: 600; vertical-align: baseline; }
.fact-flag--corrected { color: #6e5013; background: #fff8e8; border: 1px solid #a17a22; }
.fact-flag--conflict { color: #7a1f1f; background: #fdf0f0; border: 1px solid #b04848; }
.fact-flag--unknown { color: #53635a; background: #eef1ec; border: 1px solid #9aa89e; }
.cost-label { display: inline-block; font-size: 0.8rem; line-height: 1.4; padding: 1px 8px; border-radius: 999px; margin-left: 6px; font-weight: 600; vertical-align: baseline; color: #315d4e; background: #eef4ef; border: 1px solid #9db8a4; }
.intake-template { background: #f7f8f5; border: 1px solid #dce3d5; border-radius: 8px; padding: 12px 14px; font-size: 0.875rem; line-height: 1.6; white-space: pre-wrap; overflow-x: auto; }
.intake-copy-button { background: #315d4e; color: #fff; border: none; border-radius: 8px; padding: 10px 16px; font-size: 0.875rem; cursor: pointer; }

/* Sprint 3 Cluster A: per-fact provenance, conflict compare, what-changed log. No em dashes. */
.fact-source { margin-top: 8px; font-size: 0.8rem; line-height: 1.5; }
.fact-source summary { cursor: pointer; color: #315d4e; font-weight: 600; }
.fact-source p { margin: 6px 0 0; }
.conflict-compare { margin-top: 12px; border: 1px solid #b04848; border-radius: 8px; padding: 12px 14px; background: #fdf0f0; }
.conflict-compare-title { font-weight: 600; color: #7a1f1f; margin: 0 0 8px; }
.conflict-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.conflict-side { border: 1px solid #e5c9c9; border-radius: 6px; padding: 10px 12px; background: #fff; }
.conflict-side-label { font-weight: 600; color: #7a1f1f; margin: 0 0 6px; }
.conflict-side p { margin: 0 0 6px; }
.conflict-side-source { color: #53635a; font-size: 0.78rem; }
.conflict-note { margin: 8px 0 0; color: #7a1f1f; font-size: 0.85rem; }
.what-changed { margin: 0 0 24px; }
.what-changed h2 { font-family: Georgia, serif; font-size: 1.25rem; line-height: 1.2; color: #193d2b; margin: 0 0 8px; }
.what-changed p, .what-changed li { font-size: 0.9rem; line-height: 1.6; }
.what-changed ul { padding-left: 20px; margin: 0; }
.freshness-promise { color: #315d4e; background: #eef4ef; border-left: 3px solid #315d4e; border-radius: 4px; padding: 12px 14px; margin: 0 0 18px; font-size: 0.8rem; line-height: 1.6; }
@media (max-width: 500px) { .conflict-compare-grid { grid-template-columns: 1fr; } }
