:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --muted:#6b7280;
  --text:#0f172a;
  --accent:#2563eb;
  --danger:#b91c1c;
  --warn:#b45309;
  --border:#e2e8f0;
}
.guideline-explorer-container .sub {
  color:var(--muted);
  max-width:70ch;
}

.guideline-explorer-container .grid {
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:16px;
}

.guideline-explorer-container .card {
  background:var(--card);
  color:var(--text);
}

.guideline-explorer-container .card-hd {
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#f9fafb;
}

.guideline-explorer-container .card-bd {
  padding:16px;
}

.guideline-explorer-container .row {
  display:flex;
  gap:8px;
  align-items:center;
}

.guideline-explorer-container .badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  padding:4px 10px;
  border:1px solid var(--border);
  background:#f9fafb;
  color:var(--muted);
  cursor:default;
}

.guideline-explorer-container .small {
  color:var(--muted);
  font-size:12px;
}

.guideline-explorer-container .tilegrid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.guideline-explorer-container .tile {
  background:var(--card);
  border:1px solid var(--border);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  color:var(--text);
}

.guideline-explorer-container .tile h3 {
  margin:0;
  color:var(--text);
}

.guideline-explorer-container .faq-question {
  display:block;
  width:100%;
  text-align:left;
  padding:4px 0;
  border:none;
  background:none;
  cursor:pointer;
  font-size:13px;
  color:var(--accent);
}

.guideline-explorer-container .faq-question:hover {
  text-decoration:underline;
}

.guideline-explorer-container .faq-question.active {
  font-weight:600;
  text-decoration:underline;
}

.guideline-explorer-container .faq-answer-box {
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--border);
  background:#f9fafb;
  font-size:14px;
}

.guideline-explorer-container .qgrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.guideline-explorer-container .copy {
  cursor:pointer;
}

.guideline-explorer-container .kbd {
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  background:#e5edff;
  border:1px solid #c7d2fe;
  padding:2px 6px;
  color:#1e3a8a;
}

.guideline-explorer-container hr.sep {
  border:none;
  border-top:1px solid var(--border);
  margin:8px 0;
}

/* UNCOMMENT THIS TO GET THE CLOUDS INSTEAD BOLD LINES IN TOC, AND REMOVE TOC / tree (refined) PART */
/* TOC / tree */
.guideline-explorer-container .toc {
  position:sticky;
  top:16px;
  max-height:80vh;
  overflow:auto;
}

.guideline-explorer-container .toc-row {
  display:flex;
  align-items:center;
  gap:4px;
  margin-bottom:2px;
}

.guideline-explorer-container .toc-toggle {
  width:18px;
  text-align:center;
  font-size:12px;
  cursor:pointer;
  color:var(--muted);
}

.guideline-explorer-container .toc-toggle-spacer {
  width:18px;
}

.guideline-explorer-container .toc-link {
  display:block;
  flex:1;
  padding:4px 10px;
  color:var(--text);
  text-decoration:none;
  font-size:13px;
}

.guideline-explorer-container .toc-link:hover {
  background:#e5edff;
}

.guideline-explorer-container .toc-link.selected {
  background:#e0ecff;
  color:#1e40af;
  font-weight:600;
  border:1px solid #bfdbfe;
}

.guideline-explorer-container .toc-link.selected-desc {
  background:#f1f5ff;
  color:#1d4ed8;
  font-weight:500;
  border:1px dashed #c7d2fe;
}

.guideline-explorer-container .toc-item {
  margin-bottom:2px;
}

.guideline-explorer-container .toc-children {
  margin-left:14px;
  margin-top:2px;
}

/* Content area */
.guideline-explorer-container #sectionBody p {
  margin:0 0 8px;
}

.guideline-explorer-container #sectionBody .small {
  color:var(--muted);
  font-size:14px;
}

/* formatting coming from sections.js */
.guideline-explorer-container #sectionBody .para-num{
  font-weight:600;
  margin-right:4px;
}

/* Ordered lists */
.guideline-explorer-container #sectionBody ol{
  margin:0 0 8px 1.6em;
  padding-left:1.2em;
}

/* Unordered lists – dash bullets */
.guideline-explorer-container #sectionBody ul {
  margin:0 0 8px 1.8em;
  padding-left:0;
  list-style:none;
}

/* sub-bullets directly after a numbered list */
.guideline-explorer-container #sectionBody ol + ul {
  margin-left:3em;
}

.guideline-explorer-container #sectionBody ol li,
.guideline-explorer-container #sectionBody ul li {
  margin-bottom:4px;
}

.guideline-explorer-container #sectionBody ul li {
  position:relative;
  padding-left:0.9em;
}

.guideline-explorer-container #sectionBody ul li::before{
  content:"-";
  position:absolute;
  left:0;
}

/* Text that came from Word text boxes */
.guideline-explorer-container #sectionBody .textbox-inline{
  display:block;
  border:1px solid #e5e7eb;
  padding:10px 12px;
  background:#f3f4f6;
  margin:10px 0;
  font-size:14px;
}

.guideline-explorer-container #sectionBody li .textbox-inline{
  margin:4px 0;
}

.guideline-explorer-container #guideline{
  min-height:auto;
}

@media (max-width:900px){
  .guideline-explorer-container .grid{
    grid-template-columns:1fr;
  }
  .guideline-explorer-container .toc {
    position:static;
    max-height:none;
  }
}

/* ---- Full-text search (local) ---- */
@media (min-width: 1140px) {
  .guideline-explorer-container .ecl-text-input--m {
    width: 180px;
  }
}
.guideline-explorer-container .btn-mini {
  background:var(--accent);
  border:1px solid var(--accent);
  color:#fff;
  padding:8px 12px;
  font-size:12px;
  cursor:pointer;
}
.guideline-explorer-container .btn-mini.secondary {
  background:#ffffff;
  color:var(--text);
  border:1px solid var(--border);
}
.guideline-explorer-container .search-panel {
  margin-top:12px;
  padding-top:12px;
}
.guideline-explorer-container .search-results {
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.guideline-explorer-container .search-result {
  border:1px solid var(--border);
  background:#ffffff;
  padding:10px 12px;
  cursor:pointer;
}
.search-result:hover{
  background:#f9fafb;
}
.search-result .title{
  font-size:13px;
  font-weight:600;
}
.search-result .meta{
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
}
.search-result .snippet{
  font-size:12px;
  color:var(--text);
  margin-top:6px;
  line-height:1.35;
}
mark.search-hit{
  background:#fff3a3;
  padding:0 2px;
}


/* markers from Word: [ADD TO WEB]... and [L]... */

.add-to-web{
  color:#0b4aa2;
  font-weight: 500;           /* not bold, but slightly stronger than normal */
  background: rgba(11,74,162,0.08);
  padding: 0.05em 0.25em;
}
.inline-toc-link {
  color: #0056b3;   /* same blue */
  font-weight: bold;
  text-decoration: underline; /* optional but recommended for links */
  cursor: pointer;
}

/* ===== VISUAL DIFFERENCE: TOC (left) vs Reading pane (right) ===== */

/* LEFT: TOC sidebar look */

/* TOC links should look like navigation, not document links */
.guideline-explorer-container .card.toc .toc-link {
  color:#334155 !important;
  font-weight:500 !important;
  text-decoration:none !important;
  padding:6px 10px;
}
.guideline-explorer-container .card.toc .toc-link:hover {
  background:#eef2ff !important;
}
.guideline-explorer-container .card.toc .toc-link.selected {
  background:#e6efff !important;
  color:#1e40af !important;
  font-weight:700 !important;
  border:1px solid #bfdbfe !important;
}

/* scannability */
.guideline-explorer-container aside.card.toc .toc-link {
  padding: 8px 10px;
}

/* More like navigation */
.guideline-explorer-container aside.card.toc .toc-link:hover {
  background:#e9f0ff !important;
}

/* Strong active state*/
.guideline-explorer-container aside.card.toc .toc-link.selected {
  background:#dbeafe !important;
  border:1px solid #93c5fd !important;
  position: relative;
  font-weight: 700 !important;
}

.guideline-explorer-container aside.card.toc .toc-link.selected::before {
  content:"";
  position:absolute;
  left:-6px;
  top:6px;
  bottom:6px;
  width:4px;
  background:#2563eb;
}

/* TOC Search button: white text for contrast */
.guideline-explorer-container aside.card.toc button {
  color: #ffffff !important;
  font-weight: 600;
}

/* TOC Clear button: dark text on light background */
.guideline-explorer-container aside.card.toc button.btn-mini.secondary {
  color: var(--text) !important;
}

/* Word table/example boxes */
.guideline-explorer-container #sectionBody .word-table-box,
.guideline-explorer-container #sectionBody .ecl-u-bg-neutral-60 {
  background:#eaf4ff;
  border:1px solid #93c5fd;
  padding:16px;
  margin:12px 0 16px;
}

.guideline-explorer-container #sectionBody .word-table-box p:first-child {
  margin-top:0;
}

.guideline-explorer-container #sectionBody .word-table-box p:last-child,
.guideline-explorer-container #sectionBody .word-table-box ul:last-child,
.guideline-explorer-container #sectionBody .word-table-box ol:last-child {
  margin-bottom:0;
}

/* Footnotes */
.guideline-explorer-container .footnote-sup {font-size:0.85em; line-height:0; vertical-align:super;}
.guideline-explorer-container .footnote-ref {font-weight:600;color: inherit;cursor:pointer;text-decoration: none;}
.guideline-explorer-container .footnotes {margin-top:18px; padding-top:6px; color:var(--text);}
.guideline-explorer-container .footnotes-rule {border:0; border-top:1px solid var(--border); margin:12px 0;}
.guideline-explorer-container .footnotes-list {margin:0; padding-left:0px; color:var(--muted); font-size:14px;}
.guideline-explorer-container .footnotes-list li {margin:8px 0;}
.guideline-explorer-container .footnote-label {color:var(--text); font-weight:600; margin-right:6px;}
.guideline-explorer-container .footnote-back {margin-left:8px; font-size:12px;}
.guideline-explorer-container #sectionBody .footnotes,
.guideline-explorer-container #sectionBody .footnotes * {
  font-size: 0.9rem !important;
}
#sectionBody .footnotes ol {
  margin: 0 !important;
  padding:0 !important;
}

.toc {
  position:sticky;
  top:16px;
  overflow:auto;
}

.guideline-explorer-container .toc-row {
  display:flex;
  align-items:center;
  gap:4px;
  margin-bottom:2px;
}

.guideline-explorer-container .toc-toggle {
  width:18px;
  text-align:center;
  font-size:16px;
  cursor:pointer;
}

.guideline-explorer-container .toc-toggle-spacer {
  width:18px;
}

.guideline-explorer-container .toc-link {
  display:block;
  flex:1;
  padding:4px 10px;
  text-decoration:none;
  font-size:16px;
}

.guideline-explorer-container .toc-link:hover {
  background:#e5edff;
}

.guideline-explorer-container .toc-link.selected {
  background:#e0ecff;
  color:#1e40af;
  font-weight:600;
  border:1px solid #bfdbfe;
}

.guideline-explorer-container .toc-link.selected-desc {
  background:#f1f5ff;
  color:#1d4ed8;
  font-weight:500;
  border:1px dashed #c7d2fe;
}

.guideline-explorer-container .toc-item {
  margin-bottom:2px;
}

.guideline-explorer-container .toc-children {
  margin-left:14px;
  margin-top:2px;
}

.guideline-explorer-container .section-body p {
  margin-bottom: 16px;
}

.guideline-explorer-container .layout {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.guideline-explorer-container .sidebar {
  position: sticky;
  top: 1rem;
  width: 33.333%;
  max-height: calc(100vh - 2rem); /* viewport height minus top offset */
  overflow-y: auto;
}

.guideline-explorer-container .sidebar::-webkit-scrollbar {
  width: 6px;
}

.guideline-explorer-container .content {
  width: 66.666%;
}
