/* ============================================================
   Generated booklets: local_scripts/md-pages.py on the Trace booklet.
   ------------------------------------------------------------
   <body class="booklet md-booklet">, linked after tokens.css +
   doc.css + booklet.css. booklet.css does the design (cover, rail,
   pads, openers, folios, callouts, tables, procedures, back cover);
   this file only styles the blocks the generator emits that the
   hand-made booklets don't use, and the generator's cover geometry.
   (The legacy single-sided layout, used by cover: none documents
   such as the warranties, stays in solinteg-docs.css.)
   ============================================================ */

/* ---------- Cover: long product names ----------
   md-pages.py sets .cover--long when the title needs two lines (the title
   steps down a size) and .cover--sub when title and subtitle would not fit
   above the test pulse at 58 mm (the subtitle moves into the lede slot
   inside the ring, the lede under it). */
.md-booklet .cover--long .cover__title { font-size: 44px; line-height: 1.06; letter-spacing: -0.035em; max-width: 172mm; text-wrap: balance; }
.md-booklet .cover--sub .cover__subtitle {
  position: absolute !important;
  left: 24mm; top: 76mm; width: var(--lede-w, 98mm);
  margin: 0;
  font-size: 17px; line-height: 1.3; color: var(--white);
}
/* model lists are long: the band's model line steps down to fit beside the doc name */
.md-booklet .cover__model { font-size: var(--model-size, 40px); max-width: 128mm; }
.md-booklet .cover__docname { flex: none; }

/* ---------- Unnumbered chapters (About this manual, Foreword …) ---------- */
.md-booklet .plain-head { margin: 0 0 6mm; flex: 0 0 auto; }
.md-booklet .plain-head .pad__title { margin-top: 2mm; }
.md-booklet .page:not(.cover):not(.back) > :not(.opener):not(.plain-head):not(.pf) { margin-left: var(--hang); }
.md-booklet .page.ifc > *, .md-booklet .page.notes > * { margin-left: 0; }
/* Web output: pages outside a numbered chapter (contents, About this
   manual, closing pages) have no section numbers to hang, so they drop the
   hanging column and stand centred like the hand-made manuals' (the
   booklet keeps its layout). */
html.web .md-booklet .page:not([data-chapter]):not(.cover):not(.back) > :not(.opener):not(.plain-head):not(.pf) { margin-left: 0; }
html.web .md-booklet .page:not([data-chapter]):not(.cover):not(.back) > table { width: 100% !important; }
.md-booklet .page:not(.cover):not(.back) > table { width: calc(100% - var(--hang)) !important; }
/* a run-on chapter (chapter_breaks: no) opens mid-page */
.md-booklet .page > * + .opener, .md-booklet .page > * + .plain-head { margin-top: 7mm; }

/* ---------- Contents: the shared .toc, .toc--compact and .toc__entry--sub
   (booklet.css); the generator's contents is a list so the paginator can
   split it by entry. */
.md-booklet ul.toc { list-style: none; padding: 0; }
.md-booklet ul.toc > .toc__entry { margin: 0; }

/* ---------- Running text ---------- */
.md-booklet ul.points { padding-left: 5mm; }
.md-booklet p + .procedure, .md-booklet p + ul.points { margin-top: 1mm; }
.md-booklet .keep { margin: 0; }
.md-booklet code { font-family: var(--font-label); font-size: 12px; color: var(--fg-1); background: var(--gray-50); border-radius: 1mm; padding: 0 1mm; }
.md-booklet .tbc {
  font-family: var(--font-label); font-size: 11px; font-weight: 600; color: var(--fg-accent);
  border: 0.3mm dashed var(--fg-accent); border-radius: 1mm; padding: 0 1.2mm; white-space: nowrap;
}

/* ---------- Figures: the shared .figure (booklet.css); rows of 2-4 side by side ---------- */
.md-booklet .fig-row { display: grid; gap: 4mm; align-items: end; margin: 3mm 0 4mm; }
.md-booklet .fig-row--2 { grid-template-columns: 1fr 1fr; }
.md-booklet .fig-row--3 { grid-template-columns: repeat(3, 1fr); }
.md-booklet .fig-row--4 { grid-template-columns: repeat(4, 1fr); }
.md-booklet .fig-row .figure, .md-booklet .side__figs .figure { margin: 0; }
/* text beside its screenshots */
.md-booklet .side { display: grid; grid-template-columns: 1fr 64mm; gap: 5mm; align-items: start; margin: 1mm 0 3mm; }
.md-booklet .side__figs { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
.md-booklet .side__figs:has(> figure:only-child) { grid-template-columns: 1fr; }
.md-booklet .side .procedure { margin-top: 0; }
.md-booklet .side table.spec-table { margin-top: 0; }

/* ---------- App QR codes: a rounded outline, codes side by side ---------- */
.md-booklet .qr-row { margin: 3mm 0 4mm; padding: 3.4mm 4mm; border: 0.35mm solid var(--gray-300); border-radius: 3mm; }
.md-booklet .qr-row__title { font-family: var(--font-brand); font-size: 14px; font-weight: 700; color: var(--fg-1); text-align: center; margin-bottom: 2.4mm; }
.md-booklet .qr-row__cards { display: grid; grid-template-columns: 1fr 1fr; justify-items: center; }
.md-booklet .qr { display: flex; flex-direction: column; align-items: center; text-align: center; }
.md-booklet .qr__img { width: 30mm; height: 30mm; display: block; }
.md-booklet .qr__label { font-size: 13px; font-weight: 700; color: var(--fg-1); margin-top: 1.4mm; }
.md-booklet .qr__sub { font-size: 12px; color: var(--fg-3); }

/* ---------- Tables from the markdown: schedule style (booklet.css), variants ---------- */
.md-booklet table.spec-table td { font-size: 12.5px; padding-top: 1.2mm; padding-bottom: 1.2mm; line-height: 1.4; }
.md-booklet table.spec-table.prose td:not(:first-child) { font-weight: 400; color: var(--fg-1); }
.md-booklet table.spec-table.prose td:first-child { color: var(--fg-1); font-weight: 600; }
.md-booklet table.spec-table.kv td:first-child { width: 42%; font-weight: 400; color: var(--fg-2); }
.md-booklet table.spec-table.kv td:not(:first-child) { font-weight: 600; }
.md-booklet table.spec-table.codes td:first-child { font-family: var(--font-label); font-size: 11.5px; white-space: nowrap; }
.md-booklet table.spec-table.mono td:not(:first-child) { font-family: var(--font-label); font-size: 11.5px; }
.md-booklet table.spec-table th { white-space: normal; }


.md-booklet .cover__model .nowrap { white-space: nowrap; }

/* Contents of a long manual with its sections (md-pages-paginate.js adds
   .toc--dense when the compact list would not fit the page 2-3 spread):
   sections set closer, so every section keeps its page number. */
.md-booklet .toc__name small[hidden] { display: none; }   /* a chapter's summary, until the paginator picks the list */
.md-booklet .toc--dense .toc__entry { padding: 0.7mm 0; }
.md-booklet .toc--dense .toc__num { height: 6.6mm; font-size: 14px; }
.md-booklet .toc--dense .toc__name { font-size: 15px; }
.md-booklet .toc--dense .toc__entry--sub { padding: 0.25mm 0; line-height: 1.2; border-bottom-color: transparent; }
/* booklet.css restores a linked entry's rule line in print with !important: keep the dense sub-entries' rule hidden */
@media print { .md-booklet .toc--dense a.toc__entry--sub:not(:has(+ .toc__entry:not(.toc__entry--sub))):not(:last-child) { border-bottom-color: transparent !important; } }
.md-booklet .toc--dense .toc__entry--sub .toc__num { height: 0; }
.md-booklet .toc--dense .toc__entry--sub .toc__name { font-size: 12.5px; line-height: 1.2; }
.md-booklet .toc--dense .toc__entry--sub .toc__page { font-size: 12.5px; }
.md-booklet .toc--dense .toc__entry:has(+ .toc__entry:not(.toc__entry--sub)),
.md-booklet .toc--dense .toc__entry:last-child { border-bottom-color: var(--border-subtle); padding-bottom: 1.2mm; }

/* Document facts: a value with a document number takes two columns, unbroken */
.md-booklet .docmeta__cell--wide { grid-column: span 2; }
.md-booklet .docmeta__cell--wide .docmeta__v { white-space: nowrap; }

/* Tracked micro-labels: kerning off. With kerning, Chromium positions a
   tracked line glyph by glyph next to punctuation ("aerl.com.au",
   "Engineered, supplied …") and PDF text extraction reads it as
   "E N G I N E E R E D". JetBrains Mono has no kerning to lose.
   [promote] to doc.css § Trace covers and booklet .cover__docname. */
.md-booklet :is(.cover__kind, .cover__foot, .cover__docname, .back__grid h3, .back__made) { font-kerning: none; }
