/* =========================================================
   SIIRF book pages: guides, plan, about, incident log
   ========================================================= */
.doc-head { padding: 8px 0 18px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.doc-head .kicker { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 700; color: var(--muted); margin: 14px 0 4px; }
.doc-head .kicker::before { content: ""; width: 26px; height: 8px; border-radius: 2px; background: var(--bookc, var(--primary)); }
.doc-head h1 { margin-bottom: .25em; }
.doc-head p { color: var(--muted); font-size: 1.05rem; max-width: 70ch; margin: 0; }

.doc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 40px; align-items: start; }
.toc { position: sticky; top: 78px; max-height: calc(100vh - 96px); overflow-y: auto; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; font-size: .92rem; }
.toc summary { font-weight: 800; cursor: pointer; list-style: none; }
.toc summary::-webkit-details-marker { display: none; }
.toc ol { margin: 10px 0 0; padding-left: 20px; }
.toc li { margin-bottom: 6px; }
.toc a { text-decoration: none; color: var(--ink); }
.toc a:hover { color: var(--primary); text-decoration: underline; }

.doc-body { max-width: 760px; }
.doc-body > section { padding-bottom: 26px; margin-bottom: 30px; border-bottom: 1px solid var(--line); scroll-margin-top: 76px; }
.doc-body > section:last-child { border-bottom: 0; }
.doc-body h2 { font-size: 1.5rem; margin-bottom: .4em; }
.doc-body h3 { font-size: 1.02rem; margin: 18px 0 6px; }
.doc-body ul, .doc-body ol { padding-left: 22px; margin: 0 0 10px; }
.doc-body li { margin-bottom: 5px; }
.doc-body p { max-width: none; }

/* Coloured section labels for the incident guides */
.part { border-left: 4px solid var(--sc); padding: 2px 0 2px 16px; margin: 14px 0; }
.part h3 { color: var(--sc); margin-top: 0; }
.part p:last-child, .part ul:last-child, .part ol:last-child { margin-bottom: 0; }
.p-what { --sc: #2F3E4E; } .p-how { --sc: #B7862B; } .p-signs { --sc: #8A6A2E; }
.p-prepare { --sc: #4F6B5A; } .p-during { --sc: #8C4B3A; } .p-after { --sc: #5E7480; }

.top { font-size: .85rem; font-weight: 600; }
.callout { background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--primary); border-radius: 10px; padding: 14px 18px; margin: 14px 0; }
.callout p:last-child { margin-bottom: 0; }
table.simple { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: .94rem; background: var(--paper); }
table.simple th, table.simple td { text-align: left; padding: 9px 12px; border: 1px solid var(--line); vertical-align: top; }
table.simple th { background: var(--sand); }
.table-scroll { overflow-x: auto; }
.cta-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }

@media (max-width: 860px) {
  .doc { grid-template-columns: 1fr; gap: 18px; }
  .toc { position: static; max-height: none; }
}

/* Book colours for page headers */
.c-about, .c-plan, .c-guides, .c-log, .c-assess, .c-game { --bookc: #B7862B; }

/* ===== Incident playbooks ===== */
.pb-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; }
.pb-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tag { display: inline-block; font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--sand); color: var(--ink); }
.tag.id { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--ink); color: #fff; }
.summary-box { display: grid; grid-template-columns: 1.2fr 1fr; gap: 22px; background: var(--paper); border: 1px solid var(--line); border-left: 5px solid var(--primary); border-radius: 12px; padding: 18px 22px; margin-bottom: 28px; }
.summary-box h2 { font-size: 1rem; margin: 0 0 6px; }
.summary-box dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 10px 0 0; font-size: .93rem; }
.summary-box dt { font-weight: 700; color: var(--muted); }
.summary-box dd { margin: 0; }
.summary-box ol { margin: 0; padding-left: 20px; font-size: .94rem; }
.first15 { background: #F5EEE9; border-radius: 10px; padding: 12px 16px; }
.first15 h2 { color: #8C4B3A; }
@media (max-width: 760px) { .summary-box { grid-template-columns: 1fr; } }
table.sev td:first-child { font-weight: 700; white-space: nowrap; }
.sev-low { color: #2F3E4E; } .sev-medium { color: #8A6A2E; } .sev-high { color: #B7862B; } .sev-critical { color: #8C4B3A; }
.related { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.related a { display: block; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; text-decoration: none; color: var(--ink); font-weight: 600; font-size: .93rem; }
.related a:hover { border-color: var(--primary); }
.related small { display: block; color: var(--muted); font-weight: 500; }

/* Playbook index: case folders */
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.filters button { font: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; border: 1px solid var(--line); background: var(--paper); color: var(--ink); padding: 7px 14px; border-radius: 999px; }
.filters button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.folders { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 40px 18px; padding-top: 22px; }
.folder { position: relative; display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--ink); background: #EFE9D8; border: 1px solid #DCD3BA; border-radius: 4px 12px 12px 12px; padding: 18px 18px 16px; min-height: 190px; box-shadow: 0 6px 12px -10px rgba(40, 30, 10, .5); transition: transform .15s; }
.folder::before { content: attr(data-id); position: absolute; top: -22px; left: -1px; height: 22px; padding: 3px 14px 0; border: 1px solid #DCD3BA; border-bottom: 0; border-radius: 8px 8px 0 0; background: #EFE9D8; font: 700 .72rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; color: #5F5640; }
.folder:hover { transform: translateY(-3px); color: var(--ink); }
.folder h2 { font-size: 1.12rem; margin: 0; }
.folder p { margin: 0; font-size: .9rem; color: #4E4A3C; }
.folder .meta { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; }
.folder .tag { background: rgba(255, 255, 255, .7); }
.folder[hidden] { display: none; }

@media print {
  .site-header, .site-footer, .back, .toc, .no-print, #irh { display: none !important; }
  body { background: #fff; font-size: 11pt; }
  .doc { display: block; }
  .doc-body > section { break-inside: avoid-page; }
  a { color: inherit; text-decoration: none; }
}
.doc-body, .toc { min-width: 0; }
@media (max-width: 860px) {
  .doc { grid-template-columns: minmax(0, 1fr); }
}