/* Bible picker: the flat full-screen card UI is the only supported design. */
#bibleStairOverlay{
  position:fixed;
  inset:0;
  z-index:1500;
  display:none;
  align-items:flex-end;
  justify-content:center;
  background:rgba(20,24,32,.28);
  box-sizing:border-box;
}
#bibleStairOverlay.is-open{display:flex}
#bibleStairOverlay[hidden]{display:none}
html.bible-stair-lock,html.bible-stair-lock body{overflow:hidden!important}

#bibleStairPanel{
  width:100%;
  max-width:390px;
  height:min(65dvh,65vh);
  max-height:min(65dvh,65vh);
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  background:#FCFAF6;
  border:1px solid #D5D7DA;
  border-bottom:none;
  border-radius:22px 22px 0 0;
  box-shadow:0 -4px 16px rgba(15,23,42,.06);
  padding:14px 14px calc(12px + env(safe-area-inset-bottom,0px));
  transform:translateY(12px);
  opacity:0;
  transition:transform 180ms ease,opacity 180ms ease;
}
#bibleStairOverlay.is-open #bibleStairPanel{transform:translateY(0);opacity:1}

.bible-stair-title{
  flex:0 0 auto;
  margin:0 0 10px;
  padding:0 2px;
  color:#1F1F1F;
  font-family:inherit;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.2;
}

#bibleStairSteps{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:0;
  margin:0 0 10px;
}
#bibleStairSteps[hidden]{display:none}

#bibleStairBody{
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 0 4px;
}
#bibleStairBody::-webkit-scrollbar{width:0;height:0;display:none}
#bibleStairBody.is-stage-in{animation:bible-stair-in 180ms ease}

.bible-stair-nums{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.bible-stair-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:12px 6px;
  box-sizing:border-box;
  border:0.5px solid rgba(23,25,29,.14);
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:none;
  color:#1F2329;
  font-family:inherit;
  font-size:16px;
  font-weight:650;
  letter-spacing:-.03em;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:break-word;
  word-break:keep-all;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bible-stair-nums .bible-stair-item{font-variant-numeric:tabular-nums}
.bible-stair-item.is-cur{
  background:#E8F0FC;
  border-color:rgba(53,95,154,.22);
  color:#355F9A;
  box-shadow:none;
}
.bible-stair-item:focus-visible{outline:2px solid rgba(70,70,70,.35);outline-offset:2px}

@keyframes bible-stair-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (prefers-reduced-motion:reduce){
  #bibleStairPanel,
  #bibleStairBody.is-stage-in{transition:none;animation:none}
}

@media (min-width:700px) and (min-height:600px){
  #bibleStairOverlay{align-items:flex-end}
  #bibleStairPanel{max-width:calc(390px - 18px - 18px)}
}

/* Full-screen grouped explorer shared by every entry path. */
.bible-stair-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.bible-stair-head-copy{min-width:0;flex:1 1 auto}
.bible-stair-kicker{
  margin:6px 0 0;
  color:#6B7380;
  font-size:13px;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.35;
}
.bible-stair-close{
  display:none;
  flex:0 0 auto;
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  border:1px solid #E4EAF2;
  border-radius:50%;
  background:#FFFFFF;
  box-shadow:0 4px 12px rgba(23,25,29,.05);
  color:#17191D;
  font-size:20px;
  font-weight:400;
  line-height:1;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bible-stair-close:active{background:#F7FAFE}

#bibleStairOverlay.is-explore{
  align-items:stretch;
  justify-content:center;
  background:#FCFAF6;
}
#bibleStairOverlay.is-explore #bibleStairPanel{
  width:100%;
  max-width:430px;
  height:100%;
  max-height:none;
  min-height:100vh;
  min-height:100dvh;
  margin:0 auto;
  border:none;
  border-radius:0;
  box-shadow:none;
  background:#FCFAF6;
  padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));
  transform:none;
  opacity:1;
}
#bibleStairOverlay.is-explore .bible-stair-head{
  flex:0 0 auto;
  align-items:center;
  margin:0 0 18px;
  padding:4px 0 14px;
  border-bottom:1px solid rgba(23,25,29,.06);
}
#bibleStairOverlay.is-explore .bible-stair-title{
  margin:0;
  padding:0;
  color:#17191D;
  font-size:28px;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
}
#bibleStairOverlay.is-explore .bible-stair-close{display:inline-flex;align-items:center;justify-content:center}
#bibleStairOverlay.is-explore #bibleStairSteps{
  margin:0 0 16px;
}
#bibleStairOverlay.is-explore .bible-explore-back{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  color:#355F9A;
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.02em;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#bibleStairOverlay.is-explore #bibleStairBody{
  padding:0 0 8px;
}
.bible-explore{
  display:flex;
  flex-direction:column;
  gap:23px;
  padding:2px 0 12px;
}
.bible-explore.is-all{gap:36px}
.bible-explore-testament{
  display:flex;
  flex-direction:column;
  gap:23px;
  min-width:0;
}
.bible-explore-testament-label{
  margin:0;
  color:#17191D;
  font-size:20px;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.2;
}
.bible-explore-group{min-width:0}
.bible-explore-label{
  margin:0 0 12px;
  color:#17191D;
  font-size:13px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.3;
}
.bible-explore-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.bible-explore-book{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 12px;
  box-sizing:border-box;
  border:0.5px solid rgba(23,25,29,.20);
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:none;
  color:#1F2329;
  font-family:inherit;
  font-size:16px;
  font-weight:650;
  letter-spacing:-.03em;
  line-height:1.3;
  text-align:center;
  white-space:normal;
  overflow:visible;
  overflow-wrap:break-word;
  word-break:keep-all;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bible-explore-book.is-cur,
.bible-explore-book:active{
  background:#E8F0FC;
  border-color:rgba(53,95,154,.22);
  color:#355F9A;
}
.bible-explore-book:focus-visible{outline:2px solid rgba(53,95,154,.35);outline-offset:2px}
.bible-explore-switch-wrap{
  margin:20px 0 12px;
}
.bible-explore-switch{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  padding:14px 16px;
  box-sizing:border-box;
  border:0.5px solid rgba(53,95,154,.22);
  border-radius:14px;
  background:#E8F0FC;
  box-shadow:none;
  color:#355F9A;
  font-family:inherit;
  font-size:16px;
  font-weight:650;
  letter-spacing:-.03em;
  line-height:1.3;
  text-align:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bible-explore-switch:active{background:#D9E8FA}
.bible-explore-switch:focus-visible{outline:2px solid rgba(53,95,154,.35);outline-offset:2px}
@media (hover:hover){
  .bible-explore-switch:hover{background:#D9E8FA}
}

#bibleStairOverlay.is-explore .bible-stair-nums.is-explore-nums{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
#bibleStairOverlay.is-explore .bible-stair-nums.is-explore-nums .bible-stair-item{
  min-height:52px;
  padding:12px 6px;
  border:0.5px solid rgba(23,25,29,.14);
  border-radius:14px;
  background:#FFFFFF;
  box-shadow:none;
  color:#1F2329;
  font-size:16px;
  font-weight:650;
}
#bibleStairOverlay.is-explore .bible-stair-nums.is-explore-nums .bible-stair-item.is-cur,
#bibleStairOverlay.is-explore .bible-stair-nums.is-explore-nums .bible-stair-item:active{
  background:#E8F0FC;
  border-color:rgba(53,95,154,.22);
  color:#355F9A;
  box-shadow:none;
}

@media (min-width:700px){
  #bibleStairOverlay.is-explore{align-items:stretch}
  #bibleStairOverlay.is-explore #bibleStairPanel{
    max-width:430px;
    height:100%;
    max-height:none;
  }
}
