/* Policy centre and repair journal: a shared, accessible reading layout. */
.document-hero { padding-block: var(--section-gap); border-bottom: 1px solid var(--line); }
.document-hero .container { display: grid; gap: var(--s4); }
.document-hero :is(h1, p) { margin: 0; }
.document-hero h1 { max-width: 1000px; }
.document-lede { max-width: 760px; color: var(--text-soft); }
.document-back { display: inline-flex; align-items: center; min-height: 44px; justify-self: start; color: var(--brand); text-decoration: none; }
.document-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.document-meta { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); color: var(--text-soft); }
.document-section { padding-block: var(--section-gap) var(--rhythm); }
.document-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: var(--section-gap); align-items: start; }
.document-layout--article { grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); }
.document-sidebar { display: grid; gap: var(--s6); min-width: 0; align-self: start; padding: 2px; }
.document-nav__label { margin: 0 0 var(--s3); color: var(--text-soft); text-transform: uppercase; }
.document-sidebar :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
.policy-nav ul { display: grid; gap: var(--s1); }
.policy-nav a { display: flex; align-items: center; min-height: 44px; padding: var(--s2) var(--s3); border-radius: var(--r-btn); color: var(--ink); text-decoration: none; }
.policy-nav a[aria-current="page"] { background: var(--brand-deep); color: var(--on-dark); }
.policy-nav a:hover:not([aria-current]) { background: var(--sage); }
.document-toc { border-top: 1px solid var(--line); padding-top: var(--s5); }
.document-toc :is(a), .document-toc-mobile a { display: block; padding: var(--s2) 0; color: var(--text-soft); text-decoration: none; overflow-wrap: break-word; }
.document-toc a:hover, .document-toc-mobile a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.document-toc-mobile { display: none; }
.document-help { padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--sage); }
.document-help p { margin: var(--s2) 0; }
.document-help a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand); }
body .document-paper { width: 100%; max-width: none; min-width: 0; padding: clamp(1.25rem, 1rem + 2vw, 3rem); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-media); }
body .document-paper > :first-child { margin-top: 0; }
body .document-paper > :last-child { margin-bottom: 0; }
body .document-paper :is(h2, h3) { text-wrap: pretty; scroll-margin-top: calc(var(--header-h) + var(--s6)); }
body .document-paper p { margin-block: 0 var(--s5); }
body .document-paper h2 { padding-top: var(--s5); border-top: 1px solid var(--line-soft); margin-bottom: var(--s4); }
body .document-paper :is(ul, ol) { padding-left: var(--s5); }
body .document-paper li { padding-left: var(--s1); margin-bottom: var(--s2); }
body .document-paper .figure { margin: 0 0 var(--s7); overflow: hidden; border-radius: var(--r-card); }
.document-paper .figure img { width: 100%; height: auto; }
body.page-article .document-paper { padding: clamp(1.25rem, 1rem + 1vw, 2rem); }
body.page-article .document-sidebar :is(.card, .warranty-panel) { padding: var(--s5); border: 1px solid var(--line); background: var(--surface); }

/* Journal index: image-led cards, one topic navigation, visible excerpts. */
body.page-advice .hero { background: var(--canvas); }
body.page-advice .hero__media { border-radius: var(--r-media); overflow: hidden; }
body.page-advice .advice-topics { padding-block: var(--s6); border-block: 1px solid var(--line); }
body.page-advice .advice-topics__title { margin: 0 0 var(--s4); }
body.page-advice .pill-nav { margin-bottom: 0; }
body.page-advice .advice-grid { gap: var(--s6); grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-advice .advice-grid > li { min-width: 0; }
body.page-advice .advice-grid .artcard { display: flex; flex-direction: column; height: 100%; border-radius: var(--r-media); overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
body.page-advice .advice-grid .artcard__shot { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 10; }
body.page-advice .advice-grid .artcard__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: var(--s3); padding: var(--s5); }
body.page-advice .advice-grid .artcard__title { margin: 0; }
body.page-advice .advice-grid .artcard__dek { display: block; -webkit-line-clamp: unset; overflow: visible; }
body.page-advice .advice-grid .chip { display: inline-flex; }
body.page-advice .advice-grid .meta { margin-top: auto; padding-top: var(--s3); }
body.page-advice .artcard--feature { display: grid; grid-template-columns: 1.1fr 1fr; background: var(--sage); border: 1px solid var(--line); border-radius: var(--r-media); overflow: hidden; }
body.page-advice .artcard--feature .artcard__shot { height: 100%; aspect-ratio: auto; }
body.page-advice .artcard--feature .artcard__body { padding: var(--section-gap); }
body.page-advice .artcard--feature .artcard__dek { display: block; -webkit-line-clamp: unset; }
body.page-advice .topic-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

@media (max-width: 999px) {
  .document-layout, .document-layout--article { grid-template-columns: minmax(0, 1fr); }
  .document-sidebar { position: static; max-height: none; overflow: visible; }
  .document-layout--article .document-sidebar { grid-row: 1; }
  .document-layout--article .document-sidebar > :not(.document-toc-mobile) { display: none; }
  .document-toc { display: none; }
  .document-toc-mobile { display: block; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); padding: 0 var(--s4); }
  .document-toc-mobile summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); min-height: 52px; padding-block: var(--s3); cursor: pointer; }
  .document-toc-mobile summary span { color: var(--text-soft); }
  .document-toc-mobile[open] summary { border-bottom: 1px solid var(--line); }
  .document-toc-mobile a { min-height: 44px; }
  .policy-nav ul { display: flex; flex-wrap: wrap; gap: var(--s2); }
  .policy-nav a { border: 1px solid var(--line); }
  .page-policy .document-help { display: none; }
  body.page-advice .advice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .document-hero .container { gap: var(--s3); }
  body .document-paper { padding: var(--s5); }
  body.page-advice .advice-grid, body.page-advice .artcard--feature { grid-template-columns: minmax(0, 1fr); }
  body.page-advice .artcard--feature .artcard__shot { aspect-ratio: 16 / 10; }
  body.page-advice .artcard--feature .artcard__body { padding: var(--s5); }
}
