/* UECF.NET NIV Leadership Bible — stylesheet
   Deep navy / gold palette, consistent with the UECF.NET Bible resource family. */

:root{
  --ink:#0B1B3A;
  --ink-soft:#1E3A66;
  --navy-deep:#081428;
  --gold:#C79A3D;
  --gold-soft:#E4C685;
  --maroon:#8B3A42;
  --teal:#2F6B6E;
  --steel:#3D5A80;
  --cream:#F7F8FB;
  --cream-dim:#ECEFF5;
  --line:#DBE1EC;
  --font-display:'Fraunces', serif;
  --font-body:'Source Sans 3', system-ui, -apple-system, sans-serif;
  --font-note:'Merriweather', Georgia, serif;

  --bg:var(--cream);
  --bg-panel:#ffffff;
  --bg-panel-alt:var(--cream-dim);
  --text:var(--ink);
  --text-soft:#3F4C66;
  --border:var(--line);
  --accent:var(--ink-soft);
  --accent-soft:var(--gold);
  --link:#1E3A66;
  --highlight-bg:#FCEFC7;

  --cat-law:#8B3A42;
  --cat-quality:#2F6B6E;
  --cat-issue:#A15C1E;
  --cat-profile:#5B3E8B;
  --cat-insight:#1E3A66;
}

:root[data-theme="dark"]{
  --bg:#070E1F;
  --bg-panel:#101B33;
  --bg-panel-alt:#0C1628;
  --text:#E8EBF3;
  --text-soft:#B7C1D6;
  --border:#233255;
  --accent:#E0A96D;
  --accent-soft:#C79A3D;
  --link:#E8B86D;
  --highlight-bg:#33301A;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#070E1F; --bg-panel:#101B33; --bg-panel-alt:#0C1628; --text:#E8EBF3;
    --text-soft:#B7C1D6; --border:#233255; --accent:#E0A96D; --accent-soft:#C79A3D;
    --link:#E8B86D; --highlight-bg:#33301A;
  }
}

*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%; overscroll-behavior-y:contain;}
body{margin:0; font-family:var(--font-body); color:var(--text); background:var(--bg); line-height:1.5; overscroll-behavior-y:contain;}
h1,h2,h3{font-family:var(--font-display); color:var(--text); margin:0 0 .5em;}
a{color:var(--link); text-decoration:none;}
a:hover{text-decoration:underline;}
button{font-family:inherit;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.skip-link{position:absolute; left:-999px; top:0; background:var(--gold); color:var(--ink); padding:10px 16px; z-index:200; font-weight:600; border-radius:0 0 6px 0;}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

/* ---------- Header ---------- */
.lb-header{background:var(--navy-deep); color:var(--cream); border-bottom:3px solid var(--gold);}
.lb-header-inner{max-width:1400px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.lb-brand{display:flex; align-items:center; gap:12px; color:var(--cream);}
.lb-brand img{border-radius:6px; display:block;}
.lb-brand-text{display:flex; flex-direction:column; line-height:1.25;}
.lb-brand-text strong{font-family:var(--font-display); font-size:1.05rem; color:var(--cream);}
.lb-brand-text small{font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-soft); font-weight:600;}
.lb-header-nav{display:flex; align-items:center; gap:4px; flex-wrap:wrap;}
.lb-header-nav a{color:var(--cream); font-size:.88rem; font-weight:600; padding:8px 10px; border-radius:4px;}
.lb-header-nav a:hover{background:rgba(228,198,133,.15); color:var(--gold-soft); text-decoration:none;}

.lb-other-bibles-menu{position:relative;}
.lb-other-bibles-trigger{background:none; border:none; color:var(--cream); font-size:.88rem; font-weight:600; padding:8px 10px; border-radius:4px; cursor:pointer; font-family:inherit;}
.lb-other-bibles-trigger:hover{background:rgba(228,198,133,.15); color:var(--gold-soft);}
.lb-other-bibles-drop{display:none; position:absolute; right:0; top:calc(100% + 6px); background:var(--bg-panel); border:1px solid var(--border); border-radius:8px; padding:6px; min-width:220px; box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:80;}
.lb-other-bibles-drop.show{display:block;}
.lb-other-bibles-drop a{display:block; padding:9px 12px; border-radius:5px; color:var(--text); font-size:.88rem; font-weight:500;}
.lb-other-bibles-drop a:hover{background:var(--bg-panel-alt); text-decoration:none; color:var(--accent);}
.lb-other-bibles-sheet{display:none;}

/* ---------- Version banner ---------- */
.lb-version-banner{background:var(--ink-soft); color:var(--cream); text-align:center; padding:6px 16px; font-size:.82rem; font-weight:600; letter-spacing:.02em;}
.lb-version-banner strong{color:var(--gold-soft);}

/* ---------- Copyright / edition notice ---------- */
.lb-notice{background:var(--gold-soft); color:var(--ink);border-bottom:1px solid var(--gold);}
.lb-notice-inner{max-width:1400px; margin:0 auto; padding:8px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.85rem;}
.lb-notice a{color:var(--ink); font-weight:700; text-decoration:underline;}
.lb-notice button{background:none; border:none; color:var(--ink); cursor:pointer; font-size:1rem; line-height:1; padding:4px;}
.lb-notice[hidden]{display:none;}

/* ---------- Mobile app-style top bar ---------- */
.lb-mtop{display:none; position:sticky; top:0; z-index:75; background:var(--navy-deep); color:var(--cream); align-items:center; gap:10px; padding:10px 14px; padding-top:calc(10px + env(safe-area-inset-top)); border-bottom:2px solid var(--gold);}
.lb-mtop-home{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(228,198,133,.4); display:flex; align-items:center; justify-content:center; font-size:1rem; flex:0 0 auto; text-decoration:none;}
.lb-mtop-home:hover{background:rgba(228,198,133,.18); text-decoration:none;}
.lb-mtop-title{flex:1; min-width:0; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.lb-mtop-title strong{font-family:var(--font-display); font-size:1rem; color:var(--cream); font-weight:600;}
.lb-mtop-more{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(228,198,133,.4); color:var(--cream); font-size:1.2rem; line-height:1; cursor:pointer; flex:0 0 auto;}
.lb-mtop-more:hover{background:rgba(228,198,133,.18);}

/* ---------- Toolbar ---------- */
.lb-toolbar{position:sticky; top:0; z-index:50; background:var(--bg-panel); border-bottom:1px solid var(--border); box-shadow:0 2px 8px rgba(11,27,58,.06);}
.lb-sheet-handle{display:none;}
.lb-toolbar-inner{max-width:1400px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.lb-select, .lb-input, .lb-btn{font-size:.88rem; padding:8px 10px; border-radius:6px; border:1px solid var(--border); background:var(--bg-panel); color:var(--text); font-family:var(--font-body);}
.lb-select{cursor:pointer; min-width:120px;}
.lb-btn{cursor:pointer; font-weight:600; white-space:nowrap;}
.lb-btn:hover{background:var(--bg-panel-alt);}
.lb-btn-quiet{background:transparent; border-color:transparent; color:var(--accent);}
.lb-btn-quiet:hover{background:var(--bg-panel-alt); border-color:var(--border);}
.lb-nav-btns{display:flex; gap:4px;}
.lb-search-wrap{flex:1 1 220px; min-width:180px;}
.lb-search-btn{width:100%; text-align:left; cursor:pointer; color:var(--text-soft);}
.lb-search-btn kbd{float:right; font-size:.7rem; border:1px solid var(--border); border-radius:4px; padding:1px 5px; background:var(--bg-panel-alt);}
.lb-tool-group{display:flex; gap:4px;}

/* ---------- Bottom tab bar (phones) ---------- */
.lb-bottom-nav{display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; background:var(--bg-panel); border-top:1px solid var(--border); padding:6px 4px calc(6px + env(safe-area-inset-bottom)); box-shadow:0 -4px 16px rgba(11,27,58,.1);}
.lb-bn-btn{background:none; border:none; color:var(--text-soft); font-family:var(--font-body); display:flex; flex-direction:column; align-items:center; gap:2px; font-size:.68rem; font-weight:600; padding:6px 4px; border-radius:8px; cursor:pointer; flex:1 1 0;}
.lb-bn-btn .ic{font-size:1.15rem; line-height:1;}
.lb-bn-btn:hover, .lb-bn-btn:active{background:var(--bg-panel-alt); color:var(--text);}
.lb-bn-btn.lb-bn-primary{color:var(--accent);}
.lb-bn-btn.lb-bn-primary .ic{background:var(--accent); color:#fff; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1px;}

.lb-sheet-backdrop{display:none; position:fixed; inset:0; background:rgba(8,20,40,.5); z-index:59;}
.lb-sheet-backdrop.show{display:block;}

/* ---------- Layout ---------- */
.lb-layout{max-width:1320px; margin:0 auto; padding:20px 16px 60px; display:grid; grid-template-columns:230px minmax(0,1fr) 260px; gap:22px; align-items:start;}
.lb-side, .lb-topics-col{position:sticky; top:70px; max-height:calc(100vh - 90px); overflow-y:auto;}
.lb-side h2, .lb-topics-col h2{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:0 0 8px;}
.lb-book-list{display:flex; flex-direction:column; gap:1px; margin-bottom:6px;}
.lb-book-list button{text-align:left; background:none; border:none; padding:6px 8px; border-radius:4px; cursor:pointer; color:var(--text-soft); font-size:.86rem; display:flex; justify-content:space-between; gap:6px;}
.lb-book-list button .cnt{font-size:.72rem; color:var(--text-soft); opacity:.7;}
.lb-book-list button:hover{background:var(--bg-panel-alt); color:var(--text);}
.lb-book-list button.active{background:var(--accent); color:#fff; font-weight:600;}
.lb-book-list button.active .cnt{color:#fff; opacity:.85;}
.lb-chapter-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(34px,1fr)); gap:5px;}
.lb-chapter-grid button{padding:6px 0; border-radius:4px; border:1px solid var(--border); background:var(--bg-panel); color:var(--text); font-size:.82rem; cursor:pointer; position:relative;}
.lb-chapter-grid button:hover{background:var(--bg-panel-alt);}
.lb-chapter-grid button.active{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700;}
.lb-chapter-grid button.has-notes::after{content:""; position:absolute; top:2px; right:3px; width:5px; height:5px; border-radius:50%; background:var(--gold);}

.lb-main{min-width:0; background:var(--bg-panel); border:1px solid var(--border); border-radius:10px; padding:26px 30px 40px;}
.lb-chapter-head .kicker{font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--accent); font-weight:700; margin:0;}
.lb-chapter-head h1{font-size:1.9rem; margin:4px 0 14px;}
.lb-chapter-nav{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:18px; flex-wrap:wrap;}

.lb-book-intro{background:var(--bg-panel-alt); border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:6px; padding:18px 20px; margin-bottom:20px; font-size:.95rem; line-height:1.7; color:var(--text-soft);}

/* ---------- Scripture read-through card ---------- */
.lb-scripture-card{
  background:linear-gradient(135deg, var(--ink) 0%, var(--ink-soft) 100%); color:#fff;
  border-radius:10px; padding:22px 24px; margin-bottom:26px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.lb-scripture-card .txt strong{display:block; font-family:var(--font-display); font-size:1.15rem; margin-bottom:4px;}
.lb-scripture-card .txt span{font-size:.88rem; color:var(--gold-soft);}
.lb-scripture-card a.lb-read-btn{
  background:var(--gold); color:var(--ink); font-weight:700; padding:11px 20px; border-radius:8px;
  white-space:nowrap; font-size:.92rem;
}
.lb-scripture-card a.lb-read-btn:hover{background:var(--gold-soft); text-decoration:none;}

.loading-msg{color:var(--text-soft); font-style:italic;}

/* ---------- Leadership note cards ---------- */
.lb-notes-heading{font-size:1.05rem; margin:0 0 14px; color:var(--text);}
.lb-note-empty{color:var(--text-soft); font-size:.92rem; font-style:italic; padding:10px 0;}
.lb-note-card{
  background:var(--bg-panel-alt); border:1px solid var(--border); border-left:4px solid var(--cat-insight);
  border-radius:8px; padding:16px 20px; margin-bottom:16px; font-family:var(--font-note); font-size:.98rem;
  line-height:1.75; color:var(--text);
}
.lb-note-card[data-cat="law"]{border-left-color:var(--cat-law);}
.lb-note-card[data-cat="quality"]{border-left-color:var(--cat-quality);}
.lb-note-card[data-cat="issue"]{border-left-color:var(--cat-issue);}
.lb-note-card[data-cat="profile"]{border-left-color:var(--cat-profile); background:var(--bg-panel);}
.lb-note-head{display:flex; align-items:center; gap:8px; margin-bottom:6px; flex-wrap:wrap; font-family:var(--font-body);}
.lb-cat-badge{font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:3px 8px; border-radius:99px; color:#fff; background:var(--cat-insight);}
.lb-cat-badge[data-cat="law"]{background:var(--cat-law);}
.lb-cat-badge[data-cat="quality"]{background:var(--cat-quality);}
.lb-cat-badge[data-cat="issue"]{background:var(--cat-issue);}
.lb-cat-badge[data-cat="profile"]{background:var(--cat-profile);}
.lb-note-ref{font-size:.78rem; color:var(--text-soft); font-weight:600; font-family:var(--font-body);}
.lb-note-title{font-weight:700; font-style:italic; color:var(--accent); display:block; margin-bottom:6px; font-size:1.02rem;}
.lb-note-body{color:var(--text-soft);}

/* ---------- Topics side panel ---------- */
.lb-topic-list{display:flex; flex-direction:column; gap:2px;}
.lb-topic-list a{display:flex; justify-content:space-between; gap:6px; padding:7px 8px; border-radius:5px; color:var(--text-soft); font-size:.85rem;}
.lb-topic-list a:hover{background:var(--bg-panel-alt); color:var(--text); text-decoration:none;}
.lb-topic-list .n{font-size:.72rem; opacity:.65;}
.lb-attrib-mini{font-size:.76rem; color:var(--text-soft); line-height:1.5; margin-top:16px; padding-top:14px; border-top:1px solid var(--border);}

/* ---------- Search modal ---------- */
.lb-modal{position:fixed; inset:0; background:rgba(8,20,40,.55); z-index:100; display:flex; align-items:flex-start; justify-content:center; padding:8vh 16px;}
.lb-modal[hidden]{display:none;}
.lb-modal-panel{background:var(--bg-panel); border-radius:10px; width:min(640px,100%); max-height:76vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.35);}
.lb-modal-field{display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border);}
.lb-modal-field input{flex:1; border:none; outline:none; font-size:1.05rem; background:transparent; color:var(--text);}
.lb-modal-status{padding:8px 16px; font-size:.8rem; color:var(--text-soft); margin:0;}
.lb-modal-results{list-style:none; margin:0; padding:0 8px 8px; overflow-y:auto;}
.lb-modal-results li{padding:10px 8px; border-radius:6px; cursor:pointer; font-size:.88rem;}
.lb-modal-results li:hover, .lb-modal-results li.sel{background:var(--bg-panel-alt);}
.lb-modal-results .ref{font-weight:700; color:var(--accent); display:block; font-size:.78rem; margin-bottom:2px;}
.lb-modal-results mark{background:var(--gold-soft); color:var(--ink); border-radius:2px;}

/* ---------- Misc ---------- */
.lb-to-top{position:fixed; right:18px; bottom:18px; width:42px; height:42px; border-radius:50%; background:var(--navy-deep); color:var(--cream); border:none; cursor:pointer; font-size:1.1rem; box-shadow:0 4px 14px rgba(0,0,0,.25); display:none; z-index:40;}
.lb-to-top.show{display:block;}
.lb-footer{text-align:center; padding:26px 16px 50px; color:var(--text-soft); font-size:.82rem; border-top:1px solid var(--border); margin-top:20px;}
.lb-footer p{margin:4px 0; max-width:760px; margin-left:auto; margin-right:auto;}
.lb-footer-other{font-size:.78rem;}
.lb-footer-other a{color:var(--accent); font-weight:600;}
.lb-footer-copy{font-size:.68rem; opacity:.7; line-height:1.5;}
.lb-footer-copy a{color:inherit; opacity:.9;}

/* ---------- Index / category / about pages ---------- */
.lb-page-wrap{max-width:900px; margin:0 auto; padding:36px 20px 80px;}
.lb-page-wrap h1{font-size:1.9rem;}
.lb-page-wrap h2{font-size:1.2rem; margin-top:1.8em; color:var(--accent);}
.lb-page-wrap p, .lb-page-wrap li{color:var(--text-soft); line-height:1.75; font-size:1rem;}
.lb-page-wrap ul{padding-left:1.3em;}
.lb-callout{background:var(--bg-panel-alt); border:1px solid var(--border); border-left:4px solid var(--maroon); border-radius:6px; padding:16px 20px; margin:1.5em 0;}
.lb-callout.good{border-left-color:var(--teal);}
.lb-index-filter{display:flex; gap:6px; flex-wrap:wrap; margin:18px 0 24px;}
.lb-index-filter button{font-size:.82rem; font-weight:600; padding:7px 14px; border-radius:99px; border:1px solid var(--border); background:var(--bg-panel); color:var(--text-soft); cursor:pointer;}
.lb-index-filter button.active{background:var(--accent); border-color:var(--accent); color:#fff;}
.lb-index-list{display:flex; flex-direction:column; gap:10px;}
.lb-index-item{background:var(--bg-panel); border:1px solid var(--border); border-radius:8px; padding:14px 18px;}
.lb-index-item a{font-weight:700; font-size:1.02rem;}
.lb-index-item .ref{display:block; font-size:.8rem; color:var(--text-soft); font-weight:600; margin-top:2px;}
.lb-mtop-back-fallback{display:none;}

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
  .lb-layout{grid-template-columns:1fr;}
  .lb-side, .lb-topics-col{position:static; max-height:none; display:none; margin-bottom:16px;}
  .lb-side.open, .lb-topics-col.open{display:block;}
  .lb-main{padding:20px 16px 30px;}
}
@media (max-width: 640px){
  .lb-toolbar-inner{gap:6px;}
  .lb-select{min-width:100px; flex:1 1 auto;}
  .lb-search-wrap{order:5; flex-basis:100%;}
  .lb-chapter-head h1{font-size:1.5rem;}
  .lb-nav-btns{order:4;}
  .lb-scripture-card{flex-direction:column; align-items:stretch; text-align:center;}
}
@media (max-width: 780px){
  .lb-header{display:none;}
  .lb-mtop{display:flex;}
  .lb-bottom-nav{display:flex;}
  .lb-mtop-back-fallback{
    display:block; position:sticky; top:0; z-index:75; background:var(--navy-deep); color:var(--cream);
    padding:12px 16px; padding-top:calc(12px + env(safe-area-inset-top)); font-weight:600; font-size:.92rem;
    border-bottom:2px solid var(--gold); text-align:center;
  }
  .lb-other-bibles-sheet{display:flex; flex-direction:column; gap:2px; padding-top:10px; margin-top:6px; border-top:1px solid var(--border);}
  .lb-other-bibles-label{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-soft); font-weight:700; padding:4px 4px 2px;}
  .lb-other-bibles-sheet a{padding:9px 6px; border-radius:6px; font-weight:600; color:var(--accent);}
  .lb-other-bibles-sheet a:hover{background:var(--bg-panel-alt); text-decoration:none;}

  .lb-toolbar{position:fixed; top:auto; bottom:0; left:0; right:0; z-index:60; border-radius:16px 16px 0 0; border:1px solid var(--border); border-bottom:none; box-shadow:0 -10px 30px rgba(0,0,0,.25); max-height:78vh; overflow-y:auto; transform:translateY(105%); transition:transform .25s ease; padding-bottom:env(safe-area-inset-bottom);}
  .lb-toolbar.mobile-open{transform:translateY(0);}
  .lb-sheet-handle{display:block; width:40px; height:4px; border-radius:99px; background:var(--border); margin:10px auto 2px;}
  .lb-toolbar-inner{flex-direction:column; align-items:stretch; padding:8px 16px 18px;}
  .lb-toolbar-inner .lb-select, .lb-toolbar-inner .lb-input, .lb-toolbar-inner .lb-search-btn{width:100%;}
  .lb-nav-btns{display:grid; grid-template-columns:1fr 1fr;}
  .lb-search-wrap{margin:2px 0;}
  .lb-tool-group{display:grid; grid-template-columns:1fr 1fr; margin-top:2px;}
  .lb-tool-group .lb-btn{width:100%;}

  .lb-side, .lb-topics-col{position:fixed !important; top:0; bottom:0; z-index:65; width:86vw; max-width:360px; max-height:none; margin:0; background:var(--bg-panel); padding:16px 16px calc(16px + env(safe-area-inset-bottom)); box-shadow:0 0 30px rgba(0,0,0,.3); transition:transform .25s ease;}
  .lb-side{left:0; transform:translateX(-105%);}
  .lb-side.open{transform:translateX(0);}
  .lb-topics-col{right:0; transform:translateX(105%);}
  .lb-topics-col.open{transform:translateX(0);}

  .lb-layout{padding-bottom:78px;}
  .lb-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  .lb-to-top{bottom:calc(78px + env(safe-area-inset-bottom) + 10px);}
}

/* ---------- Print ---------- */
@media print{
  .lb-header, .lb-mtop, .lb-notice, .lb-version-banner, .lb-toolbar, .lb-bottom-nav, .lb-side, .lb-topics-col,
  .lb-to-top, .lb-footer, .lb-chapter-nav, .lb-sheet-backdrop{display:none !important;}
  .lb-layout{display:block; padding:0;}
  .lb-main{border:none; padding:0;}
}
