/* ============================================================
   BIBLE  —  Unique Theme  (distinct from Gita)
   Royal Blue · Burgundy · Gold · Parchment
   ============================================================ */
:root{
  /* Core palette */
  --bb-deep:#0a1f44;            /* deep night-sky navy */
  --bb-royal:#1e40af;           /* royal blue (New Testament) */
  --bb-royal-light:#3b82f6;
  --bb-royal-pale:#dbeafe;
  --bb-wine:#7f1d1d;            /* burgundy (Old Testament) */
  --bb-wine-light:#b91c1c;
  --bb-wine-pale:#fee2e2;
  --bb-gold:#fbbf24;
  --bb-gold-dark:#d97706;
  --bb-gold-pale:#fef3c7;
  --bb-parchment:#fdf6e3;       /* warm scroll */
  --bb-parchment-dark:#f5e6c8;
  --bb-cream:#fffbf0;
  --bb-text:#1f2937;
  --bb-text-soft:#4b5563;
  --bb-verse:#b45309;           /* amber-brown verse marker */
  --bb-shadow:0 8px 32px rgba(10,31,68,.12);
  --bb-shadow-hover:0 16px 48px rgba(10,31,68,.22);
  --bb-radius:14px;
  --bb-radius-sm:10px;
  --bb-transition:all .3s cubic-bezier(.4,0,.2,1);
  --bb-serif:Georgia,'Book Antiqua','Palatino Linotype','Times New Roman',serif;
}
html{scroll-behavior:smooth}

/* ---------- Page shell ---------- */
.bible-page{
  background:
    radial-gradient(circle at 15% 15%,rgba(251,191,36,.06) 0,transparent 40%),
    radial-gradient(circle at 85% 85%,rgba(30,64,175,.05) 0,transparent 45%),
    linear-gradient(135deg,var(--bb-parchment) 0%,#fbeed0 55%,#f3e0b8 100%);
  min-height:100vh; padding:1.5rem 0 3rem;
  font-family:var(--bb-serif);
}

/* ---------- Cathedral Hero ---------- */
.bible-hero{
  background:linear-gradient(135deg,#0a1628 0%,var(--bb-deep) 45%,#0f2b52 100%);
  color:#fff; padding:2.5rem 1.5rem; border-radius:var(--bb-radius);
  margin-bottom:2rem; position:relative; overflow:hidden;
  box-shadow:var(--bb-shadow); text-align:center;
}
.bible-hero::before{
  content:'✝';
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  font-size:16rem; line-height:1;
  color:rgba(251,191,36,.07);
  pointer-events:none;
}
.bible-hero::after{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 50% 0%,rgba(251,191,36,.15) 0,transparent 60%);
  pointer-events:none;
}
.bible-hero h1{
  font-family:var(--bb-serif);
  font-size:clamp(1.5rem,4vw,2.75rem); font-weight:700;
  letter-spacing:.05em; margin-bottom:.4rem; position:relative;
  background:linear-gradient(135deg,var(--bb-gold) 0%,#fde047 60%,var(--bb-gold) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.bible-hero .bb-subtitle{
  color:#cbd5e1; font-size:1rem; margin:0; position:relative;
  font-style:italic; letter-spacing:.03em;
}
.bible-hero .bb-hero-icons{
  display:flex; justify-content:center; gap:1rem;
  margin-top:1rem; position:relative; opacity:.85;
}
.bible-hero .bb-hero-icons i{font-size:1.3rem; color:var(--bb-gold)}

/* ---------- Testament section card ---------- */
.bb-testament{
  background:var(--bb-cream); border-radius:var(--bb-radius);
  box-shadow:var(--bb-shadow); overflow:hidden;
  margin-bottom:2rem; border:1px solid rgba(10,31,68,.06);
}
.bb-testament .bb-testament-header{
  padding:1rem 1.4rem; font-weight:700; font-size:1.05rem;
  display:flex; align-items:center; gap:.6rem; color:#fff;
  font-family:var(--bb-serif); letter-spacing:.04em;
}
.bb-testament .bb-testament-header .bi{font-size:1.35rem}
/* Old Testament */
.bb-testament.bb-ot{border-top:5px solid var(--bb-wine)}
.bb-testament.bb-ot .bb-testament-header{
  background:linear-gradient(135deg,var(--bb-wine),var(--bb-wine-light));
}
/* New Testament */
.bb-testament.bb-nt{border-top:5px solid var(--bb-royal)}
.bb-testament.bb-nt .bb-testament-header{
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
}

/* ---------- Book grid ---------- */
.bb-book-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:.6rem; padding:1.1rem;
}
.bb-book-btn{
  display:flex; align-items:center; justify-content:center;
  padding:.65rem .5rem; text-align:center;
  background:var(--bb-parchment);
  border:1.5px solid rgba(10,31,68,.15);
  border-radius:var(--bb-radius-sm);
  color:var(--bb-text); font-family:var(--bb-serif);
  font-weight:600; font-size:.85rem; text-decoration:none;
  transition:var(--bb-transition); position:relative; overflow:hidden;
}
.bb-book-btn::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,transparent 60%,rgba(251,191,36,.15));
  opacity:0; transition:var(--bb-transition);
}
.bb-book-btn:hover{
  transform:translateY(-3px); text-decoration:none;
  box-shadow:0 8px 20px rgba(10,31,68,.18);
  color:#fff;
}
.bb-ot .bb-book-btn:hover{
  background:linear-gradient(135deg,var(--bb-wine),var(--bb-wine-light));
  border-color:var(--bb-wine);
}
.bb-nt .bb-book-btn:hover{
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  border-color:var(--bb-royal);
}
.bb-book-btn:hover::before{opacity:1}

/* ---------- Book images row ---------- */
.bb-book-images{
  display:flex; justify-content:center; align-items:center;
  gap:.6rem; flex-wrap:wrap; margin-top:1.5rem; padding:1rem;
}
.bb-book-images img{
  max-width:120px; height:auto; border-radius:8px;
  border:3px solid var(--bb-gold); box-shadow:var(--bb-shadow);
  transition:var(--bb-transition);
}
.bb-book-images img:hover{
  transform:scale(1.06) rotate(-2deg);
  box-shadow:var(--bb-shadow-hover);
}

/* ---------- Responsive iframe frame ---------- */
.bb-iframe-container{
  position:relative; width:100%; background:#fff;
  border-radius:var(--bb-radius); overflow:hidden;
  box-shadow:var(--bb-shadow);
  border:3px solid var(--bb-gold); margin-top:2rem;
}
.bb-iframe-container::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  border-radius:var(--bb-radius);
  box-shadow:inset 0 0 0 1px rgba(10,31,68,.08);
  z-index:2;
}
.bb-iframe-container iframe{
  display:block; width:100%; height:80vh; min-height:560px;
  border:none; background:#fff;
}
@media (max-width:768px){
  .bb-iframe-container iframe{height:70vh; min-height:440px}
}

/* ---------- Chapter header (top of Matthew / Psalms) ---------- */
.bb-chapter-header{
  background:linear-gradient(135deg,var(--bb-deep),#122a56 60%,var(--bb-royal));
  color:var(--bb-gold); padding:1.4rem 1.5rem;
  border-radius:var(--bb-radius); margin:1.5rem 0 1.25rem;
  text-align:center; box-shadow:var(--bb-shadow);
  position:relative; overflow:hidden;
}
.bb-chapter-header::after{
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg,transparent,var(--bb-gold),transparent);
}
.bb-chapter-header h2{
  font-family:var(--bb-serif);
  font-size:clamp(1.15rem,3vw,1.7rem);
  font-weight:700; margin:0; letter-spacing:.04em;
}
.bb-chapter-header .bb-chapter-sub{
  color:#d1d5db; font-size:.9rem; margin-top:.4rem; font-style:italic;
}

/* ---------- Chapter nav (grid of chapter numbers) ---------- */
.bb-chapter-nav{
  display:flex; flex-wrap:wrap; gap:.35rem;
  padding:.9rem; background:var(--bb-cream);
  border:1px solid rgba(10,31,68,.1);
  border-radius:var(--bb-radius-sm); margin-bottom:1.5rem;
  box-shadow:inset 0 2px 8px rgba(10,31,68,.04);
}
.bb-chapter-nav a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:38px; padding:0 .6rem;
  background:var(--bb-parchment);
  border:1.5px solid rgba(10,31,68,.15);
  border-radius:50px;
  color:var(--bb-royal); font-family:var(--bb-serif);
  font-weight:700; font-size:.85rem;
  text-decoration:none; transition:var(--bb-transition);
}
.bb-chapter-nav a:hover{
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  color:#fff; border-color:var(--bb-royal);
  transform:scale(1.1);
  box-shadow:0 4px 12px rgba(30,64,175,.35);
}

/* ---------- Chapter content card ---------- */
.bb-chapter-card{
  background:var(--bb-cream);
  border-radius:var(--bb-radius);
  padding:1.5rem 1.75rem 1.15rem;
  margin-bottom:1.5rem;
  box-shadow:var(--bb-shadow);
  border-left:5px solid var(--bb-gold);
  position:relative;
  scroll-margin-top:90px;
  transition:var(--bb-transition);
  background-image:
    linear-gradient(135deg,transparent 0,transparent 98%,rgba(251,191,36,.08) 100%);
}
.bb-chapter-card:hover{box-shadow:var(--bb-shadow-hover)}
.bb-chapter-card .bb-chapter-num{
  display:inline-flex; align-items:center; gap:.4rem;
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  color:#fff; font-family:var(--bb-serif);
  font-weight:700; font-size:.85rem; letter-spacing:.05em;
  padding:.3rem .85rem; border-radius:6px;
  margin-bottom:1rem;
  box-shadow:0 3px 10px rgba(30,64,175,.3);
}
.bb-chapter-card p{
  font-family:var(--bb-serif);
  font-size:1rem; line-height:1.85; color:var(--bb-text);
  text-align:justify; margin-bottom:.75rem;
}
.bb-chapter-card p:last-of-type{margin-bottom:0}
.bb-chapter-card em{
  color:var(--bb-verse); font-style:normal;
  font-weight:600; font-size:.88em; margin-right:.25rem;
}
.bb-chapter-card a{
  color:var(--bb-royal); text-decoration:none;
  border-bottom:1px dotted var(--bb-royal); transition:var(--bb-transition);
}
.bb-chapter-card a:hover{color:var(--bb-gold-dark); border-bottom-color:var(--bb-gold-dark)}

/* ---------- Back to top ---------- */
.bb-back-top{
  display:inline-flex; align-items:center; gap:.35rem;
  background:linear-gradient(135deg,var(--bb-gold),var(--bb-gold-dark));
  color:var(--bb-deep); font-weight:600; font-size:.78rem;
  padding:.3rem .85rem; border-radius:50px;
  text-decoration:none; transition:var(--bb-transition);
  box-shadow:0 2px 8px rgba(217,119,6,.3);
  font-family:var(--bb-serif); margin-top:.85rem;
}
.bb-back-top:hover{
  transform:translateY(-2px); color:var(--bb-deep);
  text-decoration:none;
  box-shadow:0 6px 16px rgba(217,119,6,.5);
}

/* ---------- Psalms ---------- */
.bb-psalm-card{
  background:var(--bb-parchment);
  border-radius:var(--bb-radius);
  padding:1.75rem 1.5rem 1.15rem;
  margin-bottom:1.5rem;
  box-shadow:var(--bb-shadow);
  border-top:4px solid var(--bb-royal);
  position:relative; text-align:center;
  scroll-margin-top:90px;
  background-image:
    radial-gradient(circle at 50% 0%,rgba(251,191,36,.06) 0,transparent 50%);
}
.bb-psalm-card .bb-psalm-num{
  display:inline-block;
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  color:var(--bb-gold); font-family:var(--bb-serif);
  font-weight:800; font-size:1.1rem;
  padding:.35rem 1.1rem; border-radius:50px;
  margin-bottom:1.2rem;
  box-shadow:0 3px 12px rgba(30,64,175,.25);
  letter-spacing:.1em;
}
.bb-psalm-card p{
  font-family:var(--bb-serif);
  font-size:1rem; line-height:1.95;
  color:var(--bb-text);
  margin:0 auto .55rem;
  max-width:560px;
  font-style:italic;
}
.bb-psalm-card p:first-of-type{
  font-weight:600; color:var(--bb-royal);
  font-style:normal;
}

/* ---------- Article / prose cards ---------- */
.bb-article-card{
  background:var(--bb-cream);
  border-radius:var(--bb-radius);
  padding:1.75rem;
  margin-bottom:1.5rem;
  box-shadow:var(--bb-shadow);
  border-top:4px solid var(--bb-wine);
  scroll-margin-top:90px;
}
.bb-article-card h2, .bb-article-card h3, .bb-article-card h4{
  color:var(--bb-wine); font-family:var(--bb-serif);
  font-weight:700; display:flex; align-items:center; gap:.55rem;
  border-bottom:2px dashed rgba(127,29,29,.2);
  padding-bottom:.65rem; margin-bottom:1rem;
}
.bb-article-card h2{font-size:1.25rem}
.bb-article-card h3{font-size:1.1rem}
.bb-article-card h4{font-size:1rem}
.bb-article-card p{
  font-family:var(--bb-serif);
  font-size:.97rem; line-height:1.8;
  color:var(--bb-text); text-align:justify; margin-bottom:.85rem;
}
.bb-article-card ol, .bb-article-card ul{
  padding-left:1.75rem; margin-bottom:.85rem;
}
.bb-article-card ol li, .bb-article-card ul li{
  font-family:var(--bb-serif);
  font-size:.95rem; line-height:1.75;
  margin-bottom:.65rem; color:var(--bb-text);
}
.bb-article-card li em{
  color:var(--bb-royal); font-style:italic; font-weight:600;
}

/* ---------- Two-tablet Ten Commandments ---------- */
.bb-tablets{
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:2rem 0;
}
@media (max-width:768px){
  .bb-tablets{grid-template-columns:1fr}
}
.bb-tablet{
  background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%);
  border:6px solid #6b7280;
  border-radius:60px 60px 20px 20px;
  padding:2rem 1.5rem 1.75rem;
  box-shadow:
    inset 0 0 60px rgba(0,0,0,.15),
    0 12px 32px rgba(0,0,0,.2);
  position:relative; overflow:hidden;
}
.bb-tablet::before{
  content:''; position:absolute; inset:0;
  background:
    repeating-linear-gradient(45deg,transparent 0 8px,rgba(0,0,0,.02) 8px 9px);
  pointer-events:none;
}
.bb-tablet-title{
  text-align:center; color:#374151;
  font-family:var(--bb-serif); font-weight:700;
  font-size:1.1rem; margin-bottom:1.25rem;
  padding-bottom:.75rem;
  border-bottom:2px solid rgba(55,65,81,.25);
  position:relative;
}
.bb-commandment{
  display:flex; gap:.9rem; margin-bottom:1.1rem;
  padding-bottom:1.1rem;
  border-bottom:1px dashed rgba(55,65,81,.2);
  position:relative;
}
.bb-commandment:last-child{
  border-bottom:none; margin-bottom:0; padding-bottom:0;
}
.bb-commandment .bb-cmd-num{
  flex-shrink:0; width:38px; height:38px;
  background:linear-gradient(135deg,var(--bb-wine),var(--bb-wine-light));
  color:var(--bb-gold);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--bb-serif); font-weight:800; font-size:.95rem;
  box-shadow:0 2px 8px rgba(127,29,29,.35);
}
.bb-commandment .bb-cmd-text{
  font-family:var(--bb-serif);
  font-size:.95rem; line-height:1.7; color:#1f2937;
  padding-top:.35rem; font-style:italic;
}

/* ---------- Comparison table (religions) ---------- */
.bb-table-wrap{
  overflow-x:auto; border-radius:var(--bb-radius-sm);
  box-shadow:var(--bb-shadow); margin:1.25rem 0;
  background:#fff; border:1px solid rgba(10,31,68,.1);
}
.bb-table{
  width:100%; border-collapse:collapse;
  font-family:var(--bb-serif); font-size:.88rem;
}
.bb-table thead th{
  background:linear-gradient(135deg,var(--bb-deep),var(--bb-royal));
  color:var(--bb-gold); padding:.8rem .65rem;
  font-weight:700; text-align:left;
  border-bottom:3px solid var(--bb-gold);
  white-space:nowrap;
}
.bb-table tbody td{
  padding:.65rem .7rem; border-bottom:1px solid rgba(10,31,68,.08);
  color:var(--bb-text); vertical-align:top;
}
.bb-table tbody tr:nth-child(even){background:var(--bb-parchment)}
.bb-table tbody tr:hover{background:var(--bb-gold-pale)}
.bb-table tbody td:first-child{
  font-weight:600; color:var(--bb-wine);
}

/* ---------- TOC ---------- */
.bb-toc{
  background:var(--bb-cream); border-radius:var(--bb-radius);
  padding:1.5rem; margin-bottom:2rem;
  box-shadow:var(--bb-shadow);
  border-top:4px solid var(--bb-wine);
}
.bb-toc h3{
  color:var(--bb-wine); font-family:var(--bb-serif);
  font-weight:700; margin-bottom:1rem;
  display:flex; align-items:center; gap:.55rem;
  font-size:1.1rem;
}
.bb-toc .bb-toc-item{
  display:flex; align-items:center; gap:.75rem;
  padding:.7rem 1rem; margin-bottom:.45rem;
  background:var(--bb-parchment);
  border-radius:var(--bb-radius-sm);
  color:var(--bb-text); text-decoration:none;
  transition:var(--bb-transition);
  border-left:3px solid transparent;
  font-family:var(--bb-serif); font-size:.92rem;
}
.bb-toc .bb-toc-item:hover{
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  color:#fff; border-left-color:var(--bb-gold);
  transform:translateX(4px); text-decoration:none;
}
.bb-toc .bb-toc-item .bb-toc-num{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:32px; height:32px;
  background:var(--bb-wine); color:#fff;
  border-radius:50%; font-weight:700; font-size:.8rem;
  padding:0 .35rem; flex-shrink:0;
}
.bb-toc .bb-toc-item:hover .bb-toc-num{
  background:var(--bb-gold); color:var(--bb-deep);
}

/* ---------- Divider ---------- */
.bb-divider{
  display:flex; align-items:center; justify-content:center;
  gap:.75rem; margin:2rem 0;
  color:var(--bb-gold); font-size:1.4rem;
}
.bb-divider::before,.bb-divider::after{
  content:''; flex:1; height:2px;
  background:linear-gradient(90deg,transparent,var(--bb-gold-dark),transparent);
}

/* ---------- Closing banner ---------- */
.bb-closing{
  background:linear-gradient(135deg,var(--bb-deep),#122a56);
  color:#fff; border-radius:var(--bb-radius);
  padding:2rem 1.5rem; text-align:center;
  margin-top:2rem; box-shadow:var(--bb-shadow);
  position:relative; overflow:hidden;
}
.bb-closing::before{
  content:'✝'; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  font-size:12rem; color:rgba(251,191,36,.06);
  line-height:1; pointer-events:none;
}
.bb-closing .bb-closing-title{
  color:var(--bb-gold); font-family:var(--bb-serif);
  font-weight:700; font-size:1.05rem; margin-bottom:.75rem;
  position:relative; letter-spacing:.04em;
}
.bb-closing .bb-closing-text{
  color:#cbd5e1; font-size:.95rem; line-height:1.75;
  position:relative; font-style:italic;
}

/* ---------- Floating back-to-top ---------- */
.bb-fab-top{
  position:fixed; bottom:2rem; right:2rem;
  width:52px; height:52px; border-radius:50%;
  background:linear-gradient(135deg,var(--bb-royal),var(--bb-royal-light));
  color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem;
  box-shadow:0 6px 20px rgba(30,64,175,.4);
  cursor:pointer; transition:var(--bb-transition);
  z-index:1000; opacity:0; visibility:hidden;
}
.bb-fab-top.show{opacity:1; visibility:visible}
.bb-fab-top:hover{
  transform:translateY(-4px) scale(1.05);
  box-shadow:0 10px 28px rgba(30,64,175,.55);
}

/* ---------- Mobile tweaks ---------- */
@media (max-width:576px){
  .bible-hero{padding:1.5rem 1rem}
  .bb-book-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.4rem}
  .bb-book-btn{font-size:.78rem; padding:.55rem .35rem}
  .bb-chapter-card{padding:1.15rem}
  .bb-psalm-card{padding:1.25rem 1rem .85rem}
  .bb-article-card{padding:1.25rem}
  .bb-tablet{padding:1.5rem 1rem; border-radius:40px 40px 15px 15px}
  .bb-commandment{gap:.6rem; margin-bottom:.85rem; padding-bottom:.85rem}
  .bb-commandment .bb-cmd-num{width:32px; height:32px; font-size:.82rem}
  .bb-chapter-nav a{min-width:38px; height:34px; font-size:.78rem}
  .bb-fab-top{bottom:1rem; right:1rem; width:46px; height:46px}
}
@media print{
  .bb-fab-top, .bb-back-top, .bb-chapter-nav{display:none!important}
  .bible-hero, .bb-testament-header, .bb-chapter-header{color:#000!important; background:#fff!important}
}