/* /blocks/: the regional anaesthesia front door. Additions to /shared/regional/css/regional.css (app bar, tiles, search,
   level control, coverage-map frame). Prefix bd-. Design: DESIGN.md (paper, ink, one wine accent, square, hairlines,
   light only, nothing under 12px, 44px targets). Teaching colours in the figures (LA blue) are clinical codes. */

/* ------------------------------------------------------------------ page */
.bd-app main{padding-bottom:24px}
.bd-app main :is(.bd-contents,.bd-index,.bd-part,.bd-hero){scroll-margin-top:calc(var(--ra-bar,56px) + 8px)}
.bd-alias{display:block;height:0;overflow:hidden}
.bd-hero{padding:28px 0 32px;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-hero h1{font:400 clamp(44px,5.5vw,72px)/1.08 var(--tb-serif);letter-spacing:-.03em;margin:0 0 14px;max-width:18ch}
.bd-app .bd-hero .tb-hub-disclaimer{margin-bottom:18px}
.bd-app .bd-hero .ra-level-picker{margin:0 0 22px}
.bd-search{max-width:720px}
.bd-search-k{display:block;margin:0 0 8px;font:500 15px/1.4 var(--tb-sans);color:var(--tb-ink)}
.bd-app main .bd-h2{font:400 clamp(28px,3vw,34px)/1.2 var(--tb-serif);letter-spacing:-.02em;margin:0 0 14px;max-width:none}
.bd-app main .bd-intro{color:var(--tb-ink-soft);max-width:68ch;margin:0 0 20px}
.bd-app main .bd-note{font-size:15px;line-height:1.6;color:var(--tb-muted);max-width:68ch;margin:20px 0 0}
.bd-app main :is(.bd-note,.bd-intro) a{padding-block:3px}
.bd-app .bd-k{font:500 12px/1.5 var(--tb-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-muted);margin-right:8px}

/* search results: kind and region above the title */
.bd-app #bd-res .tb-sres{display:flex;flex-direction:column}
.bd-app #bd-res .tb-sres-c{order:-1}

/* ------------------------------------------------------------------ contents (a textbook's contents page: Parts, numbered chapters) */
.bd-contents{padding:32px 0 36px;border-bottom:1px solid var(--tb-line)}
.bd-toc{display:block}
.bd-toc-col{display:contents}
@media (min-width:1024px){
  .bd-toc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 64px;align-items:start}
  .bd-toc-col{display:block;min-width:0}
}
.bd-app main .bd-part{margin:0 0 36px;padding-top:14px;border-top:1px solid var(--tb-ink);min-width:0}
.bd-app main .bd-part-k{font:400 12px/1.6 var(--tb-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-wine);margin:0 0 2px}
.bd-app main .bd-part-t{font:400 clamp(26px,3vw,32px)/1.2 var(--tb-serif);letter-spacing:-.015em;margin:0 0 6px}
.bd-app main .bd-part-t a{color:var(--tb-ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.bd-app main .bd-part-t a:hover{color:var(--tb-wine)}
.bd-app main .bd-part-l{font-size:15px;line-height:1.55;color:var(--tb-muted);margin:0 0 10px;max-width:46ch}
.bd-app main .bd-toc-list{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--tb-line)}
.bd-app main .bd-ch{margin:0;max-width:none;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-toc-list>li+li{margin-top:0}
.bd-n{flex:none;min-width:2.2em;font:400 14px/1.4 var(--tb-mono);color:var(--tb-muted);font-variant-numeric:tabular-nums}
.bd-app main a.bd-ch-link{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 4px;color:var(--tb-ink);text-decoration:none}
.bd-app main a.bd-ch-link::after{content:'→';margin-left:auto;color:var(--tb-wine);font-size:18px}
.bd-app main a.bd-ch-link:hover,.bd-app main a.bd-ch-link:focus-visible{background:var(--tb-hover)}
.bd-ch-t{font:500 17px/1.35 var(--tb-sans)}
.bd-app main .bd-ch--safety{padding-bottom:12px}
.bd-app main a.bd-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:0 0 10px;padding:6px 12px;border-left:3px solid var(--tb-danger);background:var(--tb-danger-bg);color:var(--tb-danger);font:500 16px/1.4 var(--tb-sans);text-decoration:none}
.bd-app main a.bd-alert:hover,.bd-app main a.bd-alert:focus-visible{background:var(--tb-danger-bg);text-decoration:underline}
.bd-app main .bd-inline{list-style:none;margin:0 0 6px;padding:0 0 0 calc(2.2em + 12px);display:flex;flex-wrap:wrap;gap:0 18px}
.bd-app main .bd-inline li{margin:0;max-width:none}
.bd-app main .bd-inline a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.bd-app main .bd-ch--3d{padding-bottom:0}

/* folds: a Part's blocks and the index's A–Z. A "+" / "−" at the right, as the pages' own folds. */
.bd-app main :is(.bd-secs,.bd-idx)>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 4px;cursor:pointer;list-style:none;color:var(--tb-ink)}
.bd-app main :is(.bd-secs,.bd-idx)>summary::-webkit-details-marker{display:none}
.bd-app main :is(.bd-secs,.bd-idx)>summary::after{content:'+';margin-left:auto;flex:none;width:20px;text-align:center;font:400 20px/1 var(--tb-mono);color:var(--tb-wine)}
.bd-app main :is(.bd-secs,.bd-idx)[open]>summary::after{content:'−'}
.bd-app main :is(.bd-secs,.bd-idx)>summary:hover{background:var(--tb-hover)}
.bd-app main :is(.bd-secs,.bd-idx)>summary:focus-visible{outline-offset:-3px}
.bd-app main .bd-secs--part{margin:0 0 4px;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-secs--part>summary .bd-ch-t{font:500 15px/1.35 var(--tb-sans);color:var(--tb-wine)}
.bd-app main .bd-secs-body{padding:0 0 12px}
.bd-app main .bd-secs-gt{display:flex;align-items:baseline;gap:8px;font:600 13px/1.4 var(--tb-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-muted);margin:14px 4px 2px}
.bd-app main .bd-secs-list{list-style:none;margin:0;padding:0}
.bd-app main .bd-secs-list li{margin:0;max-width:none;border-top:1px solid var(--tb-line)}
.bd-app main .bd-secs-list li+li{margin-top:0}
.bd-app main .bd-secs-list a{display:flex;align-items:baseline;gap:8px;min-height:44px;padding:9px 4px;font-size:15px;line-height:1.4;color:var(--tb-ink);text-decoration:none}
.bd-app main .bd-secs-list a:hover,.bd-app main .bd-secs-list a:focus-visible{background:var(--tb-hover)}
.bd-app main .bd-secs-list a .bd-n{font-size:13px}

/* ------------------------------------------------------------------ index */
.bd-index{padding:32px 0 40px}
.bd-app main .bd-index .bd-part-k{margin:0 0 2px}
.bd-app main .bd-idx{border-top:1px solid var(--tb-ink)}
.bd-app main .bd-idx+.bd-idx{border-top:1px solid var(--tb-line)}
.bd-app main .bd-idx:last-child{border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-idx>summary{min-height:56px;font:400 clamp(20px,2.2vw,24px)/1.25 var(--tb-serif);letter-spacing:-.01em}
.bd-idx-body{padding:6px 0 28px}
.bd-app main .bd-az-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.bd-app main .bd-az-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--tb-line-strong);color:var(--tb-ink);font:500 15px/1 var(--tb-sans);text-decoration:none}
.bd-app main .bd-az-jump a:hover,.bd-app main .bd-az-jump a:focus-visible{background:var(--tb-blush);border-color:var(--tb-wine)}
.bd-app main .bd-az-l{font:400 26px/1.2 var(--tb-serif);letter-spacing:-.01em;text-transform:none;color:var(--tb-wine);margin:22px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--tb-ink)}
.bd-app main .bd-az-list{list-style:none;margin:0;padding:0;columns:1;column-gap:40px}
@media (min-width:700px){.bd-app main .bd-az-list{columns:2}}
@media (min-width:1100px){.bd-app main .bd-az-list{columns:3}}
.bd-app main .bd-az-list li{margin:0;max-width:none;break-inside:avoid;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-az-list li+li{margin-top:0}
.bd-app main .bd-az-list a{display:block;min-height:44px;padding:9px 2px;font-size:15px;line-height:1.4;color:var(--tb-ink);text-decoration:none}
.bd-app main .bd-az-list a:hover,.bd-app main .bd-az-list a:focus-visible{background:var(--tb-hover)}
.bd-az-to{color:var(--tb-muted)}

/* ------------------------------------------------------------------ chooser */
.bd-filter{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 18px}
.bd-chips{display:flex;flex-wrap:wrap;gap:8px}
.bd-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--tb-control);border-radius:0;background:var(--tb-paper);color:var(--tb-ink);font:500 15px/1 var(--tb-sans);cursor:pointer}
.bd-chip:hover{background:var(--tb-hover);border-color:var(--tb-wine)}
.bd-chip[aria-pressed=true]{background:var(--tb-wine);border-color:var(--tb-wine);color:var(--tb-ivory)}
.bd-chip-n{font:400 12px/1 var(--tb-mono);opacity:.85}
.bd-opq-row{flex:1 1 260px;max-width:420px}

.bd-chooser{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media (min-width:1000px){
  .bd-chooser{grid-template-columns:340px minmax(0,1fr);gap:40px;align-items:start}
  .bd-ops{position:sticky;top:calc(var(--ra-bar-now,var(--ra-bar,56px)) + 12px);max-height:calc(100vh - var(--ra-bar-now,var(--ra-bar,56px)) - 24px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
}
.bd-app main .bd-ops-region{margin:0 0 18px}
.bd-app main .bd-ops-h{font:500 12px/1.5 var(--tb-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-wine);margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid var(--tb-ink)}
.bd-app main .bd-ops-g{font:400 12px/1.5 var(--tb-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--tb-muted);margin:12px 0 4px}
.bd-app main .bd-ops-list{list-style:none;margin:0;padding:0}
.bd-app main .bd-ops-list>li{margin:0;max-width:none;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-ops-list>li[hidden],.bd-app main .bd-ops [hidden]{display:none}
.bd-op{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 8px 10px 10px;border:0;border-radius:0;background:transparent;color:var(--tb-ink);font:15px/1.4 var(--tb-sans);text-align:left;cursor:pointer}
.bd-op:hover{background:var(--tb-hover)}
.bd-op:focus-visible{outline-offset:-3px}
.bd-op-t{flex:1;min-width:0}
.bd-op-c{flex:none;width:9px;height:9px;border-right:1.6px solid var(--tb-wine);border-bottom:1.6px solid var(--tb-wine);transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.bd-op[aria-expanded=true]{background:var(--tb-blush);box-shadow:inset 3px 0 0 var(--tb-wine);font-weight:500}
.bd-op[aria-expanded=true] .bd-op-c{transform:translateY(2px) rotate(-135deg)}
@media (min-width:1000px){.bd-op-c{transform:rotate(-45deg)}.bd-op[aria-expanded=true] .bd-op-c{transform:rotate(-45deg)}}
@media (prefers-reduced-motion:reduce){.bd-op-c{transition:none}}
.bd-app main .bd-ops-none{color:var(--tb-muted);font-size:15px;padding:12px;border:1px solid var(--tb-line)}

/* result: under its row (phones, tablets) or in the right column (wide) */
.bd-result{min-width:0}
.bd-result[hidden]{display:none}
.bd-ops-list>li>.bd-result{padding:16px 0 24px;border-top:1px solid var(--tb-line)}
@media (min-width:1000px){.bd-result-col{min-width:0}.bd-result{border-top:1px solid var(--tb-ink);padding-top:16px}}
.bd-res-head{margin:0 0 14px;scroll-margin-top:calc(var(--ra-bar,56px) + 12px)}
.bd-app main .bd-res-k{font:400 12px/1.6 var(--tb-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-wine);margin:0 0 4px}
.bd-app main .bd-res-title{font:400 clamp(26px,3vw,32px)/1.2 var(--tb-serif);letter-spacing:-.015em;margin:0;scroll-margin-top:calc(var(--ra-bar,56px) + 12px)}
.bd-app main .bd-ops-list>li{scroll-margin-top:calc(var(--ra-bar,56px) + 8px)}
.bd-brief{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 7px;border:1px solid var(--tb-line-strong);font:400 12px/1.4 var(--tb-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tb-muted)}
.bd-app main .bd-line{display:grid;gap:2px;margin:0 0 20px;padding:12px 16px;background:var(--tb-inset);border-left:3px solid var(--tb-wine);font:500 17px/1.5 var(--tb-sans);max-width:72ch}
.bd-res-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:1300px){.bd-res-grid:not(.bd-res-grid--text){grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:32px;align-items:start}}
.bd-fig{min-width:0;margin:0}
.bd-app .bd-fig .tb-cov{max-width:440px}
.bd-app main .bd-facts{display:grid;gap:0;margin:0 0 8px;border-top:1px solid var(--tb-line)}
.bd-app main .bd-facts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 0;border-bottom:1px solid var(--tb-line)}
@media (min-width:600px){.bd-app main .bd-facts>div{grid-template-columns:170px minmax(0,1fr);gap:12px}}
.bd-app main .bd-facts dt{font:500 12px/1.6 var(--tb-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--tb-muted);padding-top:2px}
.bd-app main .bd-facts dd{margin:0;max-width:none}
.bd-val{font:500 17px/1.5 var(--tb-sans)}
.bd-dd{font-size:15px;line-height:1.55}
.bd-dnote{display:block;font-size:14px;line-height:1.5;color:var(--tb-muted);margin-top:2px}
.bd-app main .bd-sub{font:600 13px/1.4 var(--tb-sans);text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px;color:var(--tb-ink)}
.bd-app main .bd-opt-h{font:400 22px/1.3 var(--tb-serif);letter-spacing:-.01em;text-transform:none;margin:14px 0 6px;color:var(--tb-ink)}
.bd-app main .bd-opt-h--no{color:var(--tb-danger)}
.bd-app main .bd-opts{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--tb-line)}
.bd-app main .bd-opts>li{margin:0;max-width:none;padding:10px 0 8px;border-bottom:1px solid var(--tb-line)}
.bd-app main .bd-opts--no>li{border-left:3px solid var(--tb-danger);padding-left:12px}
.bd-app main .bd-opt-name{font:500 16px/1.45 var(--tb-sans);margin:0 0 2px}
.bd-app main .bd-opt-dose{font:500 14px/1.5 var(--tb-mono);margin:4px 0 2px}
.bd-app main .bd-opt-why{font-size:15px;line-height:1.55;color:var(--tb-ink-soft);margin:2px 0 4px}
.bd-app main .bd-opts .tb-opt-links{display:flex;flex-wrap:wrap;gap:0 18px}
.bd-app main a.bd-opt-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 15px/1.35 var(--tb-sans)}
.bd-opt-pg{font-weight:400;color:var(--tb-muted)}
.bd-app main .bd-notes{padding-left:1.2em;margin:0}
.bd-app main .bd-notes li{font-size:15px;line-height:1.55;margin:0 0 6px}
.bd-app main .bd-notes--miss li::marker{color:var(--tb-danger)}
.bd-app main .bd-more{margin-top:10px;border-top:1px solid var(--tb-line)}
.bd-app main .bd-more .tb-opt-links{display:flex;flex-wrap:wrap;gap:0 18px}
.bd-app main .bd-landing{margin:20px 0 0;font-size:15px}
.bd-app main .bd-landing a{display:inline-flex;align-items:center;gap:6px;min-height:44px}

/* torso figure (trunk): /shared/regional/js/ops/ops-truncal.js truncalCoverageMap, same look as /truncal/ */
.bd-fig--torso .tb-fig-svg{display:block;width:100%;max-width:340px;height:auto;background:var(--tb-inset);border:1px solid var(--tb-line)}
.bd-fig--torso figcaption{margin-top:10px;font-size:15px;line-height:1.5;color:var(--tb-muted)}
.bd-app main .bd-legend{list-style:none;margin:0;padding:0}
.bd-app main .bd-legend li{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:15px;line-height:1.4}
.bd-sw{flex:none;display:inline-block;width:28px;height:18px;border:1px solid var(--tb-line)}
.bd-sw--spread{background:#9fd6ea;border-color:#1f5f78}
.bd-sw--inj{background:transparent;border:2.6px solid var(--tb-wine)}
.bd-sw--cut{border:0;height:0;border-top:2.4px dashed var(--tb-ink)}
.bd-app main .bd-fig-note{font-size:14px;line-height:1.5;margin:4px 0 0}
.bd-app .f-skin{fill:#f3e3d3}
.bd-app .f-outline{fill:none;stroke:var(--tb-ink-soft);stroke-width:1.4}
.bd-app .f-band{stroke:#c9b8a4;stroke-width:.8;fill:none}
.bd-app .f-spread{fill:#9fd6ea;fill-opacity:.75}
.bd-app .f-mid{stroke:#b9a892;stroke-width:1;stroke-dasharray:3 4;fill:none}
.bd-app .f-land{fill:#9a6b55}
.bd-app .f-land-o{fill:none;stroke:#9a6b55;stroke-width:1.4}
.bd-app .f-land-l{fill:none;stroke:#9a6b55;stroke-width:1.2}
.bd-app .f-cut{fill:none;stroke:var(--tb-ink);stroke-width:2.2;stroke-dasharray:6 4;stroke-linecap:round}
.bd-app .f-port{fill:var(--tb-ink)}
.bd-app .f-off{fill:var(--tb-paper);stroke:var(--tb-line);stroke-width:1}
.bd-app .f-on{fill:#9fd6ea;stroke:#1f5f78;stroke-width:1}
.bd-app .f-seg{font:500 12px var(--tb-mono);fill:var(--tb-muted)}
.bd-app .f-seg-on{fill:var(--tb-ink)}
.bd-app .f-inj{fill:none;stroke:var(--tb-wine);stroke-width:2.6}
.bd-app .f-arrow{fill:none;stroke:var(--tb-wine);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* The torso's dermatome labels are 12 units in a 320-unit viewBox: keep the figure wide enough that they stay >= 12px. */
.bd-fig--torso{min-width:0}
.bd-fig--torso .tb-fig-svg{min-width:min(100%,320px)}

/* ------------------------------------------------------------------ phones */
@media (max-width:600px){
  .bd-hero{padding:20px 0 26px}
  .bd-contents{padding:24px 0 28px}
  .bd-index{padding:24px 0 32px}
  .bd-filter{display:grid;grid-template-columns:minmax(0,1fr)}
  .bd-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--site-gutter,16px));padding:0 var(--site-gutter,16px)}
  .bd-chips::-webkit-scrollbar{display:none}
  .bd-chip{flex:none}
  .bd-opq-row{max-width:none}
  .bd-app main .bd-line{font-size:16px;padding:10px 12px}
}

/* Opened in place under its row: the row already names the operation, so the result's own title is for screen readers. */
.bd-ops-list>li>.bd-result .bd-res-head{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* single-view leg figures stay small (as on /lower-limb/) */
.bd-app .ll-cov-views--1{max-width:200px;margin:0 auto}
.bd-app .ll-cov-views--1:has(.ll-cov-foot>:nth-child(2)){max-width:340px}
.bd-app .ll-cov-views--1 .ll-cov-foot:has(>:nth-child(2)){grid-template-columns:1fr 1fr}
@media (max-width:600px){.bd-fig--torso .tb-fig-svg{max-width:320px}}
/* component lists: no running-list spacing between items */
.bd-app main :is(.bd-ops-list,.bd-opts,.bd-legend)>li+li{margin-top:0}

/* ------------------------------------------------------------------ app version (foot of the page) */
/* Two lines of small muted text, as on every installable app (AGENTS.md): the saved version, read from the cache name,
   and "Not updating? Get the latest version" (shared/regional/js/offline.js). */
.bd-app .tb-foot .bd-appver{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--tb-line)}
.bd-app .tb-foot .bd-appver-line{margin:0;font:400 14px/1.6 var(--tb-sans);color:var(--tb-muted)}
.bd-app .tb-foot .bd-appver-btn{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;
  font:400 14px/1.4 var(--tb-sans);color:var(--tb-muted);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
.bd-app .tb-foot .bd-appver-btn:hover{color:var(--tb-wine);text-decoration-thickness:2px}
.bd-app .tb-foot .bd-appver-btn:focus-visible{outline:2px solid var(--tb-wine);outline-offset:4px}
.bd-app .tb-foot .bd-appver-btn[disabled]{cursor:progress;opacity:.75}
.bd-app .tb-foot .bd-appver-msg{margin:0;font:400 14px/1.6 var(--tb-sans);color:var(--tb-ink-soft)}
.bd-app .tb-foot .bd-appver-msg:empty{display:none}
html[data-ra-autohide] .bd-ops{transition:top .2s cubic-bezier(.2,0,0,1),max-height .2s cubic-bezier(.2,0,0,1)}
@media (prefers-reduced-motion:reduce){html[data-ra-autohide] .bd-ops{transition:none}}
