/* Digital Forensics Guide: scannable reading aids on top of /css/site.css. */

.guide-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 8px; font-size: 0.85rem; color: var(--muted); }
.guide-meta a { color: var(--blue); text-decoration: none; }
.guide-progress { display: block; width: 100%; max-width: var(--measure); height: 6px; margin: 0 0 18px; border: 0; border-radius: 3px; background: var(--line); accent-color: var(--blue); appearance: none; }
.guide-progress::-webkit-progress-bar { background: var(--line); border-radius: 3px; }
.guide-progress::-webkit-progress-value { background: var(--blue); border-radius: 3px; }
.guide-progress::-moz-progress-bar { background: var(--blue); border-radius: 3px; }

/* The quick version: the whole chapter in a handful of lines. */
.tldr { max-width: var(--measure); margin: 20px 0; padding: 16px 20px; background: var(--blue-tint); border-left: 4px solid var(--blue); border-radius: 8px; }
.tldr > :first-child { margin-top: 0; }
.tldr > :last-child { margin-bottom: 0; }
/* Selectors match the specificity of the site.css heading rules they override. */
.sections-wrapper h2.tldr-title:not(.mono-heading):not(.h1):not(.display), .sections-wrapper .callout-title, .sections-wrapper .takeaways-title { font-family: var(--font); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--blue-dark); margin: 0 0 8px; }
.tldr ul, .takeaways ul { padding-left: 1.2em; margin: 0; }
.tldr li + li, .takeaways li + li { margin-top: 6px; }

.use-when { max-width: var(--measure); padding: 10px 0 0; border-top: 1px dashed var(--line); }

/* One line at the top of each section: the point, before the detail. */
.in-short { font-size: 1.05rem; color: var(--ink); padding: 0 0 12px; border-bottom: 1px solid var(--line); }

/* Callouts: stop signs, tips and worked examples. */
.callout { max-width: var(--measure); margin: 18px 0; padding: 14px 18px; border-radius: 8px; border: 1px solid var(--line); background: var(--ground); }
.callout > :last-child { margin-bottom: 0; }
.callout-stop { background: #fdf0ee; border-color: #f0c8c1; border-left: 4px solid #b3261e; }
.sections-wrapper .callout-stop .callout-title { color: #8c1d18; }
.callout-tip { background: #eef7f1; border-color: #c4e3cf; border-left: 4px solid #1e7a45; }
.sections-wrapper .callout-tip .callout-title { color: #155c33; }
.callout-example { border-left: 4px solid var(--navy-2); }
.sections-wrapper .callout-example .callout-title { color: var(--navy-2); }

/* Takeaways: a short checklist to close each section. */
.takeaways { max-width: var(--measure); margin: 24px 0 0; padding: 16px 20px; border: 1px solid var(--line); border-radius: 8px; }
.takeaways ul { list-style: none; padding: 0; }
.takeaways li { position: relative; padding-left: 28px; }
.takeaways li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 14px; height: 14px; border: 2px solid var(--blue); border-radius: 3px; }

.sections-wrapper details { max-width: var(--measure); margin: 14px 0; padding: 10px 16px; border: 1px solid var(--line); border-radius: 8px; }
.sections-wrapper details > summary { cursor: pointer; font-weight: 600; }
.sections-wrapper details[open] > summary { margin-bottom: 8px; }

.to-top { font-size: 0.85rem; margin: 20px 0 0; }

/* Index: routes in by situation, and chapters grouped into parts. */
.routes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.routes li { max-width: none; padding: 16px 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--ground); }
.routes li > strong { display: block; color: var(--ink); margin-bottom: 6px; }
.routes li p { margin: 0; font-size: 0.93rem; }
.sections-wrapper h3.part-title:not(.h5) { margin: 28px 0 10px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.chapter-list { list-style: none; padding: 0; margin: 0; }
.chapter-list > li { padding: 12px 0; border-top: 1px solid var(--line); }
.chapter-list .chapter-meta { font-size: 0.85rem; color: var(--muted); }
