/* CIS Controls v8.1 - isolated page styling */
@media (min-width: 980px) {
  .reference-layout .toc {
    position: sticky;
    top: 92px;
    align-self: start;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-right: 8px;
  }
  .reference-layout .toc::-webkit-scrollbar { width: 9px; }
  .reference-layout .toc::-webkit-scrollbar-thumb {
    background: #b8c3d0;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
  .reference-layout .toc a.is-active {
    font-weight: 700;
    background: rgba(31,75,122,.08);
    border-radius: 6px;
  }
}
.reference-content .faq-list { display:grid; gap:10px; }
.reference-content .faq-list details {
  border:1px solid #dbe3ee; border-radius:12px; background:#fff; overflow:hidden;
}
.reference-content .faq-list summary {
  cursor:pointer; padding:16px 48px 16px 18px; font-weight:650; position:relative; list-style:none;
}
.reference-content .faq-list summary::-webkit-details-marker { display:none; }
.reference-content .faq-list summary::after {
  content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:1.25rem;
}
.reference-content .faq-list details[open] summary::after { content:"–"; }
.reference-content .faq-answer { border-top:1px solid #e5eaf1; padding:16px 18px 18px; }
.reference-content .implementation-resources {
  margin-top:14px; padding:14px 16px; border-left:4px solid #2a5d9f; border-radius:8px; background:#f4f7fb;
}
.reference-content .executive-question {
  margin:16px 0; padding:14px 16px; border-left:4px solid #365f91; background:#f7f9fc;
}
.reference-content .executive-takeaway {
  margin:18px 0; padding:15px 17px; border:1px solid #dbe3ee; border-radius:12px; background:#f8fafc;
}
.reference-content .control-number {
  display:inline-block; margin-bottom:8px; padding:4px 9px; border-radius:999px; background:#eef3f8; font-weight:700;
}
.reference-content .control-flow {
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:20px 0;
}
.reference-content .control-flow span:nth-child(odd) {
  padding:8px 12px; border:1px solid #dbe3ee; border-radius:8px; background:#fff;
}
.reference-content .table-wrap { overflow-x:auto; max-width:100%; }
.reference-content table.data-table { width:100%; border-collapse:collapse; }
@media (max-width:979px) {
  .reference-layout .toc { position:static; max-height:none; overflow:visible; padding-right:0; }
}
