/* ============================================================
   BibleTools — shared layout for simple content circuits
   (About now; reusable for Definitions / Topical / Library).
   Loaded via #Application.CSSURL#circuit20260628.css. CSS-only.

   Mobile-first: the section sub-nav stacks above the content as a
   titled list. On desktop (>=920px) it becomes a sticky left
   sidebar beside the content. Scoped to .bt-circuit* / .bt-subnav*
   so it won't disturb existing circuit styles. Relies on the
   --bt-* variables defined in responsive20260628.css.
   ============================================================ */

.bt-circuit{ display:block; }
.bt-circuit-main{ min-width:0; line-height:1.65; }

/* Keep legacy inner content (images, wide tables) from overflowing on small
   screens. Images cap to the container; wide tables scroll horizontally
   instead of forcing a full-page horizontal scroll. */
.bt-circuit-main img{ max-width:100%; height:auto; }
@media (max-width:919px){
  .bt-circuit-main table{ display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* ---------- Simple section page (styled title + content, no sub-nav) ---------- */
.bt-section-title{ font-family:Georgia,"Times New Roman",serif; font-size:1.6rem; font-weight:700; line-height:1.2; margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--bt-line,#e3e3e3); }

/* ---------- Horizontal category nav (Library) ---------- */
.bt-catnav{ display:flex; flex-wrap:wrap; gap:8px; }
.bt-catnav a{ border:1px solid var(--bt-line,#e3e3e3); border-radius:20px; padding:7px 14px; font-size:.88rem; color:#1a1a1a; background:#fafafa; text-decoration:none; white-space:nowrap; }
.bt-catnav a:hover{ border-color:var(--bt-accent,#0488cd); color:var(--bt-accent,#0488cd); text-decoration:none; }
.bt-catnav a.active{ background:#000; color:#fff; border-color:#000; }
.bt-library-content{ margin:16px 0; }
/* the nav repeated below the content gets a divider above it */
.bt-library-content + .bt-catnav{ margin-top:8px; padding-top:18px; border-top:1px solid var(--bt-line,#e3e3e3); }

/* ---------- Email: available newsletters (list + subscribe box) ---------- */
.bt-news{ display:flex; flex-direction:column; gap:24px; }
.bt-news-list{ min-width:0; }
.bt-news-item{ display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.bt-news-item:last-child{ margin-bottom:0; }
.bt-news-thumb{ flex:0 0 auto; width:96px; height:auto; }
.bt-news-text{ min-width:0; }
.bt-subscribe-box{ background:#f7f7f7; border:1px solid var(--bt-line,#e3e3e3); border-radius:10px; padding:16px 16px 18px; }
.bt-subscribe-box h3{ font-size:.95rem; margin:0 0 4px; }
.bt-subscribe-hint{ margin:0 0 10px; color:#6b6b6b; font-size:.85rem; }
.bt-subscribe-label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#6b6b6b; margin-bottom:5px; }
.bt-subscribe-box input[type=text]{ width:100%; padding:9px 10px; border:1px solid var(--bt-line,#e3e3e3); border-radius:7px; font-size:15px; margin-bottom:10px; }
.bt-subscribe-box input[type=submit]{ cursor:pointer; border:none; color:#fff; background:linear-gradient(#2eaef0,#0488cd); padding:9px 18px; border-radius:7px; font-size:14px; font-weight:600; }
.bt-subscribe-box input[type=submit]:hover{ background:linear-gradient(#0488cd,#2eaef0); }
.bt-subscribe-divider{ border:none; border-top:1px solid var(--bt-line,#e3e3e3); margin:16px 0; }

/* ---------- Email: subscribe / update + email-to-friend forms ---------- */
.bt-subform{ max-width:560px; }
.bt-msg{ margin:0 0 18px; }
.bt-msg .alert{ color:#c0392b; }
.bt-check{ display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.bt-check input[type=checkbox]{ flex:0 0 auto; width:18px; height:18px; margin-top:3px; }
.bt-check-text{ min-width:0; }
.bt-check-text b{ display:block; margin-bottom:2px; }
.bt-fieldrow{ margin-bottom:14px; }
.bt-fieldrow label{ display:block; font-weight:600; margin-bottom:5px; }
.bt-fieldrow .opt{ font-weight:400; color:#6b6b6b; font-size:.85rem; }
.bt-subform input[type=text]{ width:100%; max-width:320px; padding:9px 10px; border:1px solid var(--bt-line,#e3e3e3); border-radius:7px; font-size:15px; }
.bt-subform input[type=submit]{ cursor:pointer; border:none; color:#fff; background:linear-gradient(#2eaef0,#0488cd); padding:11px 24px; border-radius:8px; font-size:15px; font-weight:600; margin-top:8px; }
.bt-subform input[type=submit]:hover{ background:linear-gradient(#0488cd,#2eaef0); }

@media (min-width:920px){
  .bt-news{ flex-direction:row; align-items:flex-start; }
  .bt-news-list{ flex:1 1 auto; }
  .bt-news-subscribe{ flex:0 0 240px; }
}

/* ---------- Section sub-nav ---------- */
.bt-subnav{ margin:0 0 22px; }
.bt-subnav-title{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#6b6b6b; margin:0 0 8px; }
.bt-subnav ul{ list-style:none; margin:0; padding:0; }
.bt-subnav li{ border-bottom:1px solid #f2f2f2; }
.bt-subnav li:last-child{ border-bottom:none; }
.bt-subnav a{ display:block; padding:11px 2px; font-size:.95rem; color:var(--bt-accent,#0488cd); text-decoration:none; }
.bt-subnav a:hover{ text-decoration:underline; }
.bt-subnav a.active{ font-weight:700; color:#1a1a1a; text-decoration:none; }
.bt-subnav a.active::before{ content:"\25B8 "; color:var(--bt-accent,#0488cd); }

/* ============================================================
   DESKTOP (>= 920px): two columns; sub-nav becomes a left sidebar
   ============================================================ */
@media (min-width:920px){
  .bt-circuit{ display:grid; grid-template-columns:240px 1fr; gap:30px; align-items:start; }
  .bt-subnav{ position:sticky; top:120px; margin:0; }
}
