/* Navigation only: shared typography, punctuation, and scroll containment. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
html.bible-reader-loading #main-content > :not(#bible-reader-loading-note) { opacity: 0 !important; pointer-events: none; }
#bible-reader-loading-note { margin: 1em 0; text-align: center; font-size: .9em; opacity: .7; }
#nav-sidebar { max-height: 100dvh; box-sizing: border-box; }
#nav-book-list.bible-menu {
  flex: 1 1 0; min-height: 0; min-width: 0; box-sizing: border-box;
  overflow-y: auto; overflow-x: hidden; padding: 12px 16px 32px;
}
#sw-app-panel.bible-navigation-open { min-height: 0; overflow: hidden; }
#sw-app-panel .sw-app-scroll.bible-menu {
  flex: 1 1 0; min-height: 0; min-width: 0; box-sizing: border-box;
  overflow-y: auto; overflow-x: hidden;
  padding-bottom: max(32px, env(safe-area-inset-bottom, 0px));
}
.bible-menu { direction: ltr; scroll-padding-bottom: 32px; }
.bible-menu .bible-nav-heading { direction: ltr; text-align: right; line-height: 1.35; margin: 0 0 12px; }
.bible-menu .bible-nav-primary { font-size: 1.35em; font-weight: 700; }
.bible-menu .bible-nav-secondary { font-size: 1.05em; font-weight: 600; }
.bible-menu .bible-nav-transliteration {
  display: block; font-size: 0.65em; font-weight: 400; margin-top: 3px;
  line-height: 1.4; text-transform: none; letter-spacing: normal;
}
.bible-menu .bible-nav-secondary .bible-nav-transliteration { font-size: calc(0.65em * 1.35 / 1.05); }
.bible-menu .bible-nav-divider {
  display: block; width: 100%; box-sizing: border-box; height: 0;
  margin: 18px 0; padding: 0; border: 0; border-top: 1px solid currentColor; opacity: 0.3;
}
.bible-menu .bible-book-label { display: flex; width: 100%; align-items: baseline; justify-content: flex-end; gap: .55em; direction: ltr; text-align: right; line-height: 1.5; white-space: nowrap; }
.bible-menu .bible-book-hebrew { display: inline !important; direction: rtl; unicode-bidi: isolate; font: inherit; flex: 0 0 auto; }
/* Outrank reader.css's legacy !important book hairlines without changing it. */
#nav-sidebar #nav-book-list.bible-menu > .nav-book-row {
  display: block; direction: ltr; padding: 11px 0 !important; border: 0 !important;
}
#sw-app-panel .bible-menu-shell > .sw-app-card { background: none; border-radius: 0; overflow: visible; }
#sw-app-panel .bible-menu-shell .sw-app-r[data-book] { border: 0; padding: 11px 0; gap: 12px; }
#sw-app-panel .bible-menu-shell .bible-book-label { flex: 1 1 auto; min-width: 0; }

/* The web app bar sits above legacy drawers in the stacking order. Keep the
   entire drawer above it so Revelation is visible AND receives pointer input. */
html.sw-web-shell #nav-sidebar {
  bottom: calc(var(--sw-app-row-h, 54px) + env(safe-area-inset-bottom, 0px)) !important;
  height: auto !important;
  max-height: calc(100dvh - var(--sw-app-row-h, 54px) - env(safe-area-inset-bottom, 0px));
}

/* Book labels only: English nearly matches Hebrew; no transliteration size changes. */
.bible-menu .bible-book-hebrew { font-size: 1.32em; }
.bible-menu .bible-book-english { font-size: 1.375em; }
.bible-menu .bible-nav-transliteration { text-align: right; }
.bible-menu .bible-nav-heading-label { display: block; text-align: right; }
.bible-book-picker .sw-app-title { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: break-word; }
.approved-book-name { display: inline-block; max-width: 100%; white-space: normal; overflow-wrap: break-word; }
.approved-book-search .sr-heb { min-width: 0; white-space: normal; overflow-wrap: break-word; direction: rtl; unicode-bidi: isolate; }


/* Keep the unified Bible book list in the reader’s familiar left drawer,
   with enough desktop width for the approved English/Hebrew labels. */
html.sw-bible-navigation #nav-sidebar {
  left: 0; right: auto; top: 0;
  width: min(430px, calc(100vw - 16px)); max-width: calc(100vw - 16px);
  box-sizing: border-box;
  z-index: calc(var(--z-chrome) + 2);
}
#nav-sidebar #nav-book-list.bible-menu > .nav-book-row { padding: 9px 16px !important; }
.bible-menu .bible-book-english { flex: 0 0 auto; }
@media (max-width: 600px) {
  #nav-sidebar #nav-book-list.bible-menu > .nav-book-row { padding: 9px 12px !important; }
}
@media (max-width: 520px) {
  .bible-menu .bible-book-label { flex-wrap: wrap; white-space: normal; column-gap: .55em; row-gap: 0; }
  .bible-menu .bible-book-hebrew { white-space: normal; overflow-wrap: anywhere; }
}
