/* BSPi documentation presentation: warm neutral palette inspired by Search Sales. */
:root { --bspi-paper:#f8f6f1; --bspi-sand:#ede7dd; --bspi-border:#c8bca8; --bspi-forest:#245e39; }
body { color:#262a26; }
.wy-side-nav-search { background:#245e39; }
.wy-nav-side { background:#2f3631; }
.wy-menu-vertical a:hover { background:#425247; }
.wy-nav-content { max-width:1100px; }
.rst-content h1, .rst-content h2, .rst-content h3 { color:#264f35; }
.rst-content a { color:#246747; }
.rst-content a:hover { color:#17452d; }
.rst-content img { max-width:100%; height:auto; border:1px solid var(--bspi-border); background:white; box-shadow:0 1px 4px #00000018; }
.rst-content blockquote { background:var(--bspi-paper); border-left:4px solid var(--bspi-forest); padding:12px 16px; }
.rst-content table.docutils { width:100%; }
.rst-content table.docutils thead { background:var(--bspi-sand); }
@media (max-width:768px) { .wy-nav-content { padding:1.25em; } .rst-content table { display:block; overflow-x:auto; } }
@media print { .wy-nav-side,.wy-nav-top,.rst-versions { display:none!important; } .wy-nav-content-wrap { margin:0; } .wy-nav-content { max-width:none; } }
/* Top-of-page previous / home / index / next links are generated from mkdocs.yml. */
.rst-content p:has(> a[href*="index-of-topics/"]) { line-height:1.9; }
/* Self-contained, keyboard-friendly prospective-member screenshot tour. */
.bspi-tour { border:1px solid var(--bspi-border); border-radius:8px; padding:14px; margin:18px 0 26px; background:var(--bspi-paper); }
.bspi-tour-slide[hidden] { display:none!important; }
.bspi-tour-slide { margin:0; }
.bspi-tour-slide img { display:block; width:100%; max-height:540px; object-fit:contain; object-position:center; background:#fff; margin:0 auto; }
.bspi-tour-slide figcaption { padding:12px 5px 3px; line-height:1.5; }
.bspi-tour-slide figcaption strong { display:block; color:#264f35; margin-bottom:4px; }
.bspi-tour-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.bspi-tour-controls button { padding:7px 13px; border:1px solid #93a994; border-radius:5px; background:#e5ece1; color:#245e39; cursor:pointer; font-weight:600; }
.bspi-tour-controls button:disabled { opacity:.4; cursor:default; }
.bspi-tour-controls button:focus-visible { outline:3px solid #31764a; outline-offset:2px; }
.bspi-tour-count { font-size:.9em; text-align:center; }
@media (max-width:600px) { .bspi-tour { padding:8px; } .bspi-tour-slide img { max-height:380px; } .bspi-tour-controls button { padding:6px 9px; } }
@media print { .bspi-tour-slide[hidden] { display:block!important; } .bspi-tour-slide { break-inside:avoid; margin-bottom:18px; } .bspi-tour-controls { display:none; } }

/* Gallery-style tour: a large screenshot plus a horizontal visual filmstrip. */
.bspi-tour { padding:18px; background:#f8f6f1; }
.bspi-tour-intro { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.bspi-tour-intro strong { font-size:1.15em; color:#245e39; }
.bspi-tour-intro span { color:#666; font-size:.9em; }
.bspi-tour-slide .bspi-tour-fullsize { display:flex; justify-content:center; align-items:center; background:#fff; min-height:270px; border:1px solid #d0c7b9; }
.bspi-tour-slide .bspi-tour-fullsize img { width:100%; max-height:650px; object-fit:contain; box-shadow:none; border:0; }
.bspi-tour-slide figcaption { background:#fff; padding:14px 16px; border:1px solid #ded4c4; border-top:0; }
.bspi-tour-thumbnails { display:flex; gap:9px; overflow-x:auto; padding:13px 2px; scroll-snap-type:x proximity; }
.bspi-tour-thumb { flex:0 0 145px; display:flex; flex-direction:column; gap:5px; padding:6px; border:2px solid #d1c6b7; border-radius:6px; background:#fff; cursor:pointer; text-align:left; scroll-snap-align:start; }
.bspi-tour-thumb img { width:100%; height:83px; object-fit:cover; object-position:top; box-shadow:none; border:0; }
.bspi-tour-thumb span { font-size:11px; line-height:1.3; color:#333; }
.bspi-tour-thumb.is-active { border-color:#245e39; background:#eaf1e8; }
.bspi-tour-thumb:focus-visible { outline:3px solid #245e39; outline-offset:2px; }
@media(max-width:600px) { .bspi-tour { padding:9px; } .bspi-tour-thumb { flex-basis:115px; } .bspi-tour-slide .bspi-tour-fullsize { min-height:180px; } }
@media print { .bspi-tour-thumbnails { display:none; } .bspi-tour-slide .bspi-tour-fullsize { min-height:0; } }

.bspi-public-footer { clear:both; padding:15px 0; font-size:12px; color:#626262; }
.bspi-public-footer .rst-footer-buttons { min-height:44px; }
.bspi-public-footer p { line-height:1.6; }

/* On informational pages, let the summary and navigation carry the page. */
.bspi-tour-slide { min-height:0; }
/* Book-style topic index: one full-width subject per row. */
.bspi-topic-index table { width:100%; border-collapse:collapse; table-layout:fixed; }
.bspi-topic-index th { text-align:left; background:#e9eee7; }
.bspi-topic-index td { padding:9px 13px; border-bottom:1px solid #d9d9d9; }
.bspi-topic-index td a { display:block; width:100%; text-decoration:none; }
.bspi-topic-index tr:hover td { background:#f4f8f2; }
@media print { .bspi-topic-index tr { break-inside:avoid; } }
/* Browser print: preserve content and captions, not site chrome. */
@page { size:letter; margin:0.7in 0.65in; }
@media print {
  body { background:white!important; font-size:10.5pt; color:#111; }
  .wy-nav-side,.wy-nav-top,.rst-versions,.rst-footer-buttons,.bspi-tour-controls,.bspi-tour-thumbnails { display:none!important; }
  .wy-nav-content-wrap { margin:0!important; background:white!important; }
  .wy-nav-content { max-width:none!important; padding:0!important; }
  .rst-content img { max-width:100%!important; max-height:8in; width:auto; height:auto; box-shadow:none!important; }
  h1,h2,h3,h4 { break-after:avoid; }
  p,li { orphans:3; widows:3; }
  figure,figcaption,table tr { break-inside:avoid; }
  .bspi-tour-slide[hidden] { display:block!important; }
  .bspi-tour-slide { break-inside:avoid; margin-bottom:16pt; }
  .bspi-tour-slide .bspi-tour-fullsize { min-height:0; }
  .bspi-public-footer { border-top:1px solid #bbb; }
}

/* Obvious printable-guide action, above introductory prose. */
.bspi-download-banner { border:1px solid #86a58b; background:#eaf1e7; padding:12px 15px; margin:10px 0 19px; border-radius:5px; }
.bspi-download-banner p { margin:0; }
.bspi-download-banner a { font-weight:bold; text-decoration:underline; }
@media print { .bspi-download-banner { display:none!important; } }

/* Prominent homepage entry points: three distinct full-width actions. */
.bspi-guide-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0 18px; }
.bspi-guide-shortcut { display:block; padding:15px 14px; background:#f5f4f0; border:1px solid #b7a98e; border-radius:6px; text-decoration:none!important; color:#223d2b!important; }
.bspi-guide-shortcut strong { display:block; font-size:17px; line-height:1.25; margin-bottom:9px; }
.bspi-guide-shortcut span { display:block; font-size:13px; line-height:1.45; color:#42483f; }
.bspi-guide-shortcut-advanced { background:#e7efe4; border:2px solid #527f57; }
.bspi-guide-shortcut:hover,.bspi-guide-shortcut:focus-visible { background:#e1eadc; outline:2px solid #527f57; outline-offset:2px; }
.bspi-download-banner { padding:0; background:#e5ecdf; border:2px solid #527f57; }
.bspi-download-action { display:block; padding:15px 19px; text-decoration:none!important; color:#204d2a!important; }
.bspi-download-action strong { display:block; font-size:18px; line-height:1.3; }
.bspi-download-action span { display:block; font-size:13px; margin-top:5px; color:#3e5140; }
.bspi-download-action:hover,.bspi-download-action:focus-visible { background:#d7e6d0; outline:2px solid #527f57; }
@media(max-width:850px) { .bspi-guide-shortcuts { grid-template-columns:1fr; gap:8px; } }
@media print { .bspi-guide-shortcuts,.bspi-download-banner { display:none!important; } }
/* Hierarchical documentation navigation: accessible section toggles and child bullets. */
.wy-menu-vertical p.caption:has(> .bspi-nav-toggle) { margin:0; padding:0; }
.wy-menu-vertical .bspi-nav-toggle { display:flex; align-items:center; gap:9px; width:100%; padding:11px 13px; border:0; background:#29332c; color:#eef4ed; font-weight:600; font-size:13px; line-height:1.4; font-family:inherit; text-align:left; cursor:pointer; }
.wy-menu-vertical .bspi-nav-toggle:hover,.wy-menu-vertical .bspi-nav-toggle:focus-visible { background:#415447; color:#fff; outline:2px solid #a9c7ad; outline-offset:-2px; }
.wy-menu-vertical .bspi-nav-marker { flex:none; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border:1px solid #93b39a; border-radius:3px; font:700 16px/1 sans-serif; color:#d8e8d9; }
.wy-menu-vertical .bspi-nav-children[hidden] { display:none!important; }
.wy-menu-vertical .bspi-nav-children { padding:4px 0 7px 0; background:#344238; }
.wy-menu-vertical .bspi-nav-children > li { position:relative; }
.wy-menu-vertical .bspi-nav-children > li::before { content:'•'; position:absolute; left:19px; top:8px; color:#b4c7b5; pointer-events:none; }
.wy-menu-vertical .bspi-nav-children > li > a { padding:8px 12px 8px 34px; color:#e3eae2; }
.wy-menu-vertical .bspi-nav-children > li.current::before { color:#285c36; }
.wy-menu-vertical .bspi-nav-children > li.current > a { background:#e5eee2; color:#214b2d; font-weight:700; }
@media print { .wy-menu-vertical .bspi-nav-toggle { display:none!important; } }
