/* ============================================================
   bible.css — rules from styles.css used by one page, /bible.
   They were moved here so that no other page downloads them; their
   order, and the comments that went with them, are as they were.
   Linked straight after styles.css (and any family sheet).
   ============================================================ */

/* A leather Bible, a legal pad and a cup of coffee on whitewashed planks — the
   only masthead on the site that is not sacred art or Roman stone, and
   deliberately so: this page is not about the Bible as an object of reverence
   but about reading one, which is a thing done at a kitchen table.

   The subjects sit in the right half and the left is bare plank, so the crop is
   set by the vertical. 44% puts the band across the book's corner with its
   blind-stamped title clear of the right margin and the base of the cup showing
   top-right, while the empty boards run out behind the h1 — the one place on
   the photograph with nothing in it, which is where the type needs to be.
   Horizontal position is inert on a wide screen (the source is 3:2, far taller
   in proportion than this band, so `cover` crops height only) and near-inert on
   a narrow one, where the aspects almost meet.

   The veil is lifted a little off the shared default. Every other photograph
   here is stone or paint at gallery exposure; this one is a bright key on white
   wood, and the standard .62 opening flattens the grain into brown mud. .56
   holds the plank seams and the leather without touching the contrast the title
   needs — the type sits over the dark boards left of centre either way. */
.bible-head{
  --pagehead-image:url("images/bible-masthead.webp");
  --pagehead-position:center 44%;
  --pagehead-position-mobile:center 44%;
  --pagehead-veil:linear-gradient(180deg,rgba(26,18,11,.56) 0%,rgba(26,18,11,.73) 70%,rgba(26,18,11,.92) 100%);
}

/* ───────────────── BIBLE MODULE ───────────────── */

/* book grid */
.bible-books-grid{max-width:var(--wide);margin:0 auto;}
.bible-book-group{margin-bottom:36px;}
.bible-group-heading{
  font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.22em;
  color:var(--gold-deep);margin-bottom:12px;
  padding-bottom:8px;border-bottom:1px solid var(--rule);
}
.bible-book-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;}
.bible-book-btn{
  display:flex;flex-direction:column;gap:2px;text-align:left;
  padding:14px 16px;border:1px solid var(--rule);border-radius:4px;
  background:var(--paper-card);cursor:pointer;
  transition:border-color .2s,box-shadow .2s,background .2s;
  font-family:var(--body);
}
.bible-book-name{font-family:var(--head);font-size:19px;font-weight:600;color:var(--ink);line-height:1.2;}
.bible-book-common{font-family:var(--head);font-style:italic;font-size:14px;color:var(--muted);}
.bible-book-meta{font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:8px;}
.bible-deutero-tag{
  display:inline-block;font-size:9px;font-weight:600;letter-spacing:.08em;
  color:var(--gold-deep);border:1px solid var(--gold-deep);border-radius:2px;
  padding:1px 5px;line-height:1.3;
}
.bible-book-overview{
  max-width:900px;margin:0 0 28px;padding:20px 22px;
  background:rgba(154,122,46,.06);border:1px solid var(--rule);border-radius:6px;
}
.bible-book-overview-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.bible-book-overview-meta span{
  font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-deep);border:1px solid rgba(154,122,46,.35);border-radius:999px;padding:4px 9px;
}
.bible-book-description{font-size:17px;line-height:1.55;color:var(--ink);margin:0;}
.bible-book-author{font-size:14px;color:var(--muted);margin:10px 0 0;}

/* chapter grid */
.bible-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;}
.bible-ch-btn{
  padding:14px 8px;text-align:center;border:1px solid var(--rule);border-radius:4px;
  background:var(--paper-card);cursor:pointer;font-family:var(--display);font-size:16px;
  font-weight:600;color:var(--ink);transition:background .2s,border-color .2s,color .2s;
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.bible-ch-btn.has-data{border-color:var(--gold-deep);color:var(--gold-deep);}
.bible-ch-vc{font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:400;}
.bible-ch-btn.has-data:hover .bible-ch-vc{color:var(--paper);opacity:.8;}

/* verse display */
.bible-verses{max-width:900px;margin:0 auto;}
.bible-chapter-text{
  font-family:var(--body);font-size:18px;line-height:1.75;color:var(--ink);
  text-align:justify;hyphens:auto;
  background:#fff;padding:48px 44px;border-radius:4px;
  box-shadow:0 1px 6px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);
  column-count:2;column-gap:36px;column-rule:1px solid var(--rule);
}
.bible-verse-wrap{scroll-margin-top:90px;display:inline;}
.bible-filter-check{font-family:var(--head);font-size:16px;color:var(--ink);display:flex;align-items:center;gap:8px;padding-top:20px;}
.bible-search-result{
  padding:18px 0;border-bottom:1px solid var(--rule);
}
.bible-search-result:first-child{border-top:1px solid var(--rule);}
.bible-result-ref{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.bible-result-book{font-family:var(--head);font-size:18px;font-weight:600;color:var(--gold-deep);}
.bible-result-common{font-family:var(--head);font-style:italic;font-size:14px;color:var(--muted);}
.bible-result-group{font-family:var(--display);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:auto;}
.bible-result-text{font-family:var(--body);font-size:18px;line-height:1.65;color:var(--ink);}
.bible-result-text mark{background:rgba(201,168,90,.30);color:var(--ink);border-radius:2px;padding:0 2px;}

/* reference mode */
.bible-ref-hint{font-family:var(--head);font-style:italic;font-size:16px;color:var(--muted);margin-bottom:24px;}
.bible-ref-header{text-align:center;margin-bottom:24px;}
.bible-ref-title{font-family:var(--head);font-size:clamp(24px,3.4vw,34px);font-weight:600;color:var(--ink);}
.bible-ref-common{font-family:var(--head);font-style:italic;font-size:17px;color:var(--muted);margin-top:4px;}
.bible-ref-text{max-width:900px;margin:0 auto;}
.bible-ref-chapter-marker{display:block;margin:28px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--rule);color:var(--gold-deep);font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;}
.bible-ref-chapter-marker:first-child{margin-top:0;}
.bible-loading-msg{
  display:none;text-align:center;font-family:var(--head);font-style:italic;
  font-size:19px;color:var(--gold-deep);padding:60px 0;
}
.bible-no-verses{padding:40px 20px;}

/* bible info bar */
.bible-info-bar{margin-bottom:32px;display:flex;flex-direction:column;gap:0;}
.bible-info-panel{border-bottom:1px solid var(--rule);}
.bible-info-panel:first-child{border-top:1px solid var(--rule);}
.bible-info-toggle{font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);cursor:pointer;padding:14px 0;list-style:none;}
.bible-info-toggle::-webkit-details-marker{display:none;}
.bible-info-toggle::before{content:'\25B8';display:inline-block;margin-right:8px;transition:transform .2s;}
[open]>.bible-info-toggle::before{transform:rotate(90deg);}
.bible-info-body{padding:0 0 20px;font-size:17px;line-height:1.7;color:var(--ink);}
.bible-info-body p:last-child{margin-bottom:0;}
.bible-names-table-wrap{overflow-x:auto;margin:12px 0;}
.bible-names-table{width:100%;max-width:480px;border-collapse:collapse;font-size:16px;}
.bible-names-table th{font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-align:left;padding:8px 16px 8px 0;border-bottom:2px solid var(--rule);}
.bible-names-table td{padding:5px 16px 5px 0;border-bottom:1px solid var(--rule);color:var(--ink);}
.bible-search-tips{list-style:none;padding:0;margin:0;}
.bible-search-tips li{padding:6px 0;border-bottom:1px solid var(--rule);}
.bible-search-tips li:last-child{border-bottom:none;}
.bible-copy-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--espresso);color:var(--champagne);font-family:var(--display);font-size:13px;letter-spacing:.08em;padding:10px 20px;border-radius:6px;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none;}

@media(max-width:840px){
  .bible-chapter-text{column-count:1;padding:36px 28px;font-size:18px;}
}

@media(max-width:640px){
  .bible-book-list{grid-template-columns:1fr;}
  .bible-chapter-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));}
  .bible-chapter-text{font-size:17px;text-align:left;padding:28px 20px;column-count:1;}
}
.bible-static-books{display:flex;flex-direction:column;gap:18px;margin-bottom:28px;}
.bible-static-book{background:var(--espresso-2);border:1px solid var(--rule-dark);border-radius:10px;padding:14px 18px;}
.bible-static-book-head{font-family:var(--display);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);margin-bottom:6px;}
.bible-static-book-head strong{color:var(--champagne);}
.bible-static-chapters{font-family:var(--body);font-size:.88rem;line-height:1.9;color:var(--muted-dark);}
.bible-static-chapters a{color:var(--champagne);text-decoration:none;margin-right:4px;}

/* ─────────────────────────────────────────────────────────
   BIBLE READING PLANS
   ───────────────────────────────────────────────────────── */
.plan-intro{
  max-width:640px;margin:0 auto 30px;text-align:center;
  font-family:var(--head);font-style:italic;font-size:19px;line-height:1.6;color:var(--muted);
}

/* Filter chips */
.plan-filter-bar{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px;
}
.plan-filter-chip{
  font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:9px 18px;border:1px solid var(--rule);border-radius:999px;background:transparent;
  color:var(--muted);cursor:pointer;transition:all .2s;
}

/* Plan gallery cards */
.plan-card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:900px){.plan-card-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.plan-card-grid{grid-template-columns:1fr;}}

.plan-card{
  display:flex;flex-direction:column;text-align:left;
  border:1px solid var(--rule);border-radius:10px;padding:26px 24px 22px;
  background:linear-gradient(180deg,#fdfaf2 0%,#faf5e9 100%);
  cursor:pointer;transition:border-color .22s,box-shadow .22s,transform .22s;
  position:relative;overflow:hidden;
}
.plan-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--gold);opacity:0;transition:opacity .22s;
}
.plan-card:hover::before{opacity:1;}
.plan-card-span{
  font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);
}
.plan-card-title{
  font-family:var(--head);font-size:25px;font-weight:600;color:var(--ink);margin:6px 0 10px;line-height:1.15;
}
.plan-card-blurb{
  font-family:var(--body);font-size:15.5px;line-height:1.6;color:var(--ink);margin-bottom:18px;flex:1;
}
.plan-card-stats{
  display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:14px;border-top:1px solid var(--rule);
  font-family:var(--body);font-size:13.5px;color:var(--muted);
}
.plan-card-stat strong{color:var(--ink);font-weight:600;}
.plan-card-progress{margin-top:16px;}
.plan-card-bar{height:6px;border-radius:3px;background:rgba(154,122,46,.16);overflow:hidden;}
.plan-card-bar span{display:block;height:100%;background:var(--gold);border-radius:3px;transition:width .3s;}
.plan-card-progress-meta{
  display:flex;justify-content:space-between;margin-top:7px;
  font-family:var(--display);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);
}
.plan-card-cta{
  margin-top:18px;font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-deep);display:inline-flex;align-items:center;gap:7px;
}

/* Plan detail */
.plan-back{
  font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);
  background:none;border:none;cursor:pointer;padding:6px 0;margin-bottom:18px;
  display:inline-flex;align-items:center;gap:8px;transition:color .2s;
}

.plan-detail-head{text-align:center;margin-bottom:24px;}
.plan-detail-span{
  font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);
}
.plan-detail-title{
  font-family:var(--head);font-size:34px;font-weight:600;color:var(--ink);margin:6px 0 4px;line-height:1.1;
}
.plan-detail-sub{font-family:var(--body);font-size:15px;color:var(--muted);}

.plan-progress-wrap{max-width:560px;margin:0 auto 26px;}
.plan-progress-bar{height:9px;border-radius:5px;background:rgba(154,122,46,.16);overflow:hidden;}
.plan-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold));border-radius:5px;transition:width .35s;}
.plan-progress-meta{
  display:flex;justify-content:space-between;margin-top:9px;
  font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}

/* Tracking controls */
.plan-track{
  max-width:620px;margin:0 auto 28px;padding:20px 22px;border:1px solid var(--rule);border-radius:10px;
  background:var(--paper-card);
}
.plan-track-prompt{font-family:var(--head);font-style:italic;font-size:17px;color:var(--muted);margin-bottom:14px;text-align:center;}
.plan-track-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;}
.plan-date-input{
  font-family:var(--body);font-size:15px;color:var(--ink);padding:9px 12px;
  border:1px solid var(--rule);border-radius:7px;background:#fff;
}
.plan-track-active{text-align:center;}
.plan-track-line{font-family:var(--body);font-size:16px;color:var(--ink);margin-bottom:14px;}
.plan-track-line strong{color:var(--gold-deep);}
.plan-track-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.plan-mini-btn{
  font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--gold);border-radius:7px;background:var(--gold);color:var(--paper);
  cursor:pointer;transition:all .2s;
}
.plan-mini-btn-quiet{background:transparent;color:var(--gold-deep);}

/* Today's reading card */
.plan-day-card{
  max-width:720px;margin:0 auto 34px;padding:26px 26px 22px;border:1px solid var(--rule);border-radius:12px;
  background:linear-gradient(180deg,#fdfaf2 0%,#faf5e9 100%);box-shadow:0 4px 18px rgba(26,18,11,.06);
  transition:max-width .35s ease;
}
/* When a passage is open, widen the card so the text reads in a fuller, low-scroll measure */
.plan-day-card.is-reading{max-width:1040px;}
.plan-day-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:18px;}
.plan-day-label{display:flex;flex-direction:column;gap:3px;}
.plan-day-kicker{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);}
.plan-day-of{color:var(--muted);}
.plan-day-date{font-family:var(--body);font-size:14px;color:var(--muted);}
.plan-day-today{
  display:inline-block;margin-left:6px;font-family:var(--display);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--paper);background:var(--gold);padding:2px 8px;border-radius:999px;vertical-align:middle;
}
.plan-day-refs{font-family:var(--head);font-size:24px;font-weight:600;color:var(--ink);text-align:right;line-height:1.25;}
@media(max-width:560px){.plan-day-refs{text-align:left;}}

.plan-day-actions{display:flex;gap:12px;flex-wrap:wrap;}
.plan-read-btn{
  flex:1;min-width:180px;font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 20px;border:1px solid var(--gold);border-radius:8px;background:var(--gold);color:var(--paper);
  cursor:pointer;transition:all .2s;
}
.plan-done-btn{
  flex:1;min-width:160px;font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  padding:14px 20px;border:1px solid var(--rule);border-radius:8px;background:transparent;color:var(--gold-deep);
  cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.plan-check{font-size:14px;line-height:1;}

.plan-reading{margin-top:22px;padding-top:20px;border-top:1px solid var(--rule);}
.plan-reading-heading{
  font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);
  margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule);
}
.plan-reading-heading:first-child{margin-top:0;}

.plan-day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;}

/* Full schedule list */
.plan-schedule-head{
  max-width:720px;margin:0 auto 14px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;
}
.plan-schedule-title{font-family:var(--head);font-size:22px;font-weight:600;color:var(--ink);}
.plan-schedule-hint{font-family:var(--body);font-size:13px;font-style:italic;color:var(--muted);}
.plan-schedule-list{
  max-width:720px;margin:0 auto;max-height:440px;overflow-y:auto;
  border:1px solid var(--rule);border-radius:10px;background:var(--paper-card);
}
.plan-row{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  padding:12px 18px;border:none;border-bottom:1px solid var(--rule);background:transparent;cursor:pointer;
  transition:background .15s;
}
.plan-row:last-child{border-bottom:none;}
.plan-row:hover{background:rgba(154,122,46,.08);}
.plan-row-num{
  flex:none;width:38px;font-family:var(--display);font-size:12px;letter-spacing:.06em;color:var(--muted);
}
.plan-row-ref{flex:1;font-family:var(--body);font-size:16px;color:var(--ink);line-height:1.4;}
.plan-row-mark{flex:none;width:22px;text-align:center;color:#3f5135;font-size:15px;}
.plan-row.is-viewed{background:rgba(154,122,46,.14);}
.plan-row.is-viewed .plan-row-num{color:var(--gold-deep);font-weight:600;}
.plan-row.is-today{box-shadow:inset 3px 0 0 var(--gold);}
.plan-row.is-today .plan-row-num{color:var(--gold-deep);}

@media(max-width:560px){
  .plan-detail-title{font-size:27px;}
  .plan-day-card{padding:20px 18px 18px;}
  .plan-day-refs{font-size:20px;}
}
