/* Lone Trumpet Bible Study — local styles, layered on top of /assets/css/style.css */

.bs-main { padding: 1.5rem 0 4rem; }
.bs-wrap { max-width: 1100px; margin: 0 auto; padding: 0 1.2rem; }
.bs-narrow { max-width: 640px; }

.bs-hero { text-align: center; margin: 1.5rem auto 2.5rem; }
.bs-hero h1 { font-family: var(--serif, "Cormorant Garamond", serif); font-size: 2.4rem; margin: 0 0 .5rem; }
.bs-lede { color: var(--ink-soft, #555); max-width: 680px; margin: 0 auto 1.5rem; font-family: var(--serif, serif); font-size: 1.1rem; }
.bs-hint { color: var(--ink-soft, #555); font-size: .92rem; text-align: center; margin: .8rem 0; }
.bs-meta { color: var(--ink-soft, #666); font-size: .92rem; margin: .3rem 0 1rem; }
.bs-error { background: #fde7e7; border-left: 4px solid #b00; padding: .8rem 1rem; border-radius: 4px; }
.bs-flash { background: #e9f6e9; border-left: 4px solid #2a7d2a; padding: .8rem 1rem; border-radius: 4px; }

.bs-onebox { display: flex; gap: .5rem; max-width: 680px; margin: 0 auto; }
.bs-onebox input[type=search] { flex: 1; padding: .75rem 1rem; font-size: 1.05rem; border: 1px solid var(--line, #ccc); border-radius: 4px; }
.bs-onebox button { padding: .75rem 1.4rem; background: var(--brand, #1c2a44); color: #fff; border: 0; border-radius: 4px; font-weight: 600; cursor: pointer; }
.bs-search-form { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.5rem; align-items: center; }
.bs-search-form input[type=search] { flex: 1; min-width: 14rem; padding: .65rem .9rem; border: 1px solid var(--line, #ccc); border-radius: 4px; }
.bs-search-form select, .bs-search-form button { padding: .65rem .9rem; border: 1px solid var(--line, #ccc); border-radius: 4px; background: #fff; cursor: pointer; }
.bs-search-form button { background: var(--brand, #1c2a44); color: #fff; border: 0; font-weight: 600; }
.bs-secondary { align-self: center; font-size: .92rem; color: var(--brand, #1c2a44); }

/* Tiles */
.bs-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 2rem 0; }
.bs-tile { display: block; padding: 1.2rem 1.4rem; border: 1px solid var(--line, #ddd); border-radius: 8px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
.bs-tile:hover { border-color: var(--brand, #1c2a44); transform: translateY(-1px); }
.bs-tile h3 { margin: 0 0 .3rem; font-family: var(--serif, serif); font-size: 1.2rem; }
.bs-tile p  { margin: 0; color: var(--ink-soft, #555); font-size: .92rem; }
.bs-tile-disabled { opacity: .55; }

/* Books grid */
.bs-books h2 { font-family: var(--serif, serif); margin: 2rem 0 .5rem; }
.bs-books h3 { font-family: var(--serif, serif); margin: 1.2rem 0 .5rem; font-weight: 400; color: var(--ink-soft, #555); }
.bs-bookgrid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .35rem; }
.bs-bookgrid a { display: block; padding: .35rem .6rem; border: 1px solid var(--line, #eee); border-radius: 4px; text-decoration: none; font-size: .92rem; color: inherit; }
.bs-bookgrid a:hover { background: var(--bg-soft, #f6f3ee); border-color: var(--brand, #1c2a44); }

/* Search results */
.bs-results { list-style: decimal-leading-zero inside; padding: 0; margin: 1.2rem 0; }
.bs-results li { padding: .8rem 0; border-bottom: 1px solid var(--line, #eee); }
.bs-ref { display: inline-block; min-width: 8rem; font-weight: 600; color: var(--brand, #1c2a44); text-decoration: none; }
.bs-ref:hover { text-decoration: underline; }
.bs-text { font-family: var(--serif, serif); font-size: 1.05rem; }
.bs-text mark { background: #fff2a8; padding: 0 .12em; }
.bs-tag { display: inline-block; padding: 0 .5em; font-size: .8rem; border: 1px solid var(--line, #ccc); border-radius: 999px; color: var(--ink-soft, #666); margin-left: .5rem; }
.bs-pager { display: flex; justify-content: center; gap: 1rem; margin: 1rem 0; align-items: center; font-size: .95rem; }
.bs-pager a { color: var(--brand, #1c2a44); text-decoration: none; }
.bs-pager a:hover { text-decoration: underline; }

/* Passage view */
.bs-passage-head { margin: 1rem 0 .8rem; }
.bs-passage-head h1 { font-family: var(--serif, serif); font-size: 2rem; margin: 0 0 .2rem; }
.bs-passage { font-family: var(--serif, serif); font-size: 1.15rem; line-height: 1.7; max-width: 720px; }
.bs-verse { margin: .35rem 0 .8rem; }
.bs-vnum  { display: inline-block; min-width: 1.6em; color: var(--ink-soft, #888); font-weight: 600; text-decoration: none; font-family: var(--sans, sans-serif); font-size: .85em; vertical-align: super; }
.bs-tags-row { display: block; margin: .35em 0 0 1.6em; padding: .4em .6em; background: var(--bg-soft, #fafafa); border-radius: 4px; font-family: var(--sans, sans-serif); font-size: .85rem; line-height: 1.8; }
.bs-wt-link  { display: inline-block; margin-right: .6em; color: var(--ink-soft, #555); text-decoration: none; border-bottom: 1px dotted var(--ink-soft, #aaa); white-space: nowrap; }
.bs-wt-link:hover { color: var(--brand, #1c2a44); border-bottom-color: var(--brand, #1c2a44); }
.bs-wt-link sup { font-size: .75em; color: var(--brand, #1c2a44); margin-left: 2px; font-weight: 600; }

/* Strong's card + list */
.bs-strongs-card { padding: 1.2rem 1.4rem; border: 1px solid var(--line, #ddd); border-radius: 8px; background: var(--bg-soft, #fafafa); margin: 1rem 0 1.5rem; }
.bs-strongs-card header { display: flex; flex-wrap: wrap; gap: .8rem; align-items: baseline; margin-bottom: .8rem; }
.bs-strongs-num { font-family: var(--sans, sans-serif); font-weight: 700; color: var(--brand, #1c2a44); font-size: 1.1rem; }
.bs-original    { font-family: serif; font-size: 1.4rem; }
.bs-translit    { font-style: italic; color: var(--ink-soft, #555); }
.bs-lang        { font-size: .85rem; color: var(--ink-soft, #888); padding: 0 .5em; border: 1px solid var(--line, #ccc); border-radius: 999px; }
.bs-def         { margin: 0 0 .8rem; }
.bs-desc        { color: var(--ink-soft, #444); }
.bs-strongs-list { list-style: none; padding: 0; }
.bs-strongs-list li { padding: .6rem 0; border-bottom: 1px solid var(--line, #eee); display: grid; grid-template-columns: 5rem 1fr; gap: .5rem 1rem; align-items: baseline; }
.bs-strongs-list li > a { font-weight: 600; color: var(--brand, #1c2a44); }
.bs-def-snip { grid-column: 2; font-size: .92rem; color: var(--ink-soft, #555); }

/* Cross-refs */
.bs-xrefs { margin: 2rem 0; padding-top: 1rem; border-top: 1px solid var(--line, #eee); }
.bs-xrefs h2 { font-family: var(--serif, serif); font-size: 1.3rem; }
.bs-xrefs ul { list-style: none; padding: 0; }
.bs-xrefs li { padding: .4rem 0; }
.bs-xref-text { font-family: var(--serif, serif); color: var(--ink-soft, #555); margin-left: .5rem; }
.bs-attr { font-size: .82rem; color: var(--ink-soft, #888); margin-top: 1rem; font-style: italic; }

/* Cards / forms */
.bs-card { padding: 1.2rem 1.4rem; border: 1px solid var(--line, #ddd); border-radius: 8px; background: #fff; margin: 1rem 0; }
.bs-card label { display: block; margin: .6rem 0; }
.bs-card input, .bs-card textarea, .bs-card select { width: 100%; padding: .6rem .8rem; border: 1px solid var(--line, #ccc); border-radius: 4px; font-family: inherit; font-size: 1rem; box-sizing: border-box; }
.bs-card textarea { font-family: var(--serif, serif); line-height: 1.5; min-height: 6rem; }
.bs-card button { padding: .65rem 1.4rem; background: var(--brand, #1c2a44); color: #fff; border: 0; border-radius: 4px; font-weight: 600; cursor: pointer; }
.bs-card button:hover { opacity: .92; }
.bs-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.bs-inline { display: inline-block; margin-right: .5rem; }
.bs-link-btn { background: none !important; color: var(--ink-soft, #888) !important; padding: 0 !important; font-weight: 400 !important; text-decoration: underline; cursor: pointer; }
.bs-danger { margin-top: 2rem; }
.bs-danger button { background: #b00 !important; }

/* Builder head + lists */
.bs-builder-head { margin-bottom: 1rem; }
.bs-builder-head h1 { font-family: var(--serif, serif); margin: 0; }
.bs-list { list-style: none; padding: 0; }
.bs-list li { padding: .6rem 0; border-bottom: 1px solid var(--line, #eee); display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.bs-list li small { color: var(--ink-soft, #888); }
.bs-verselist { padding-left: 1.5rem; }
.bs-verselist li { padding: .55rem 0; border-bottom: 1px solid var(--line, #eee); }
.bs-add-form { display: flex; gap: .5rem; margin-top: 1rem; align-items: center; flex-wrap: wrap; }
.bs-add-form input, .bs-add-form select { padding: .5rem .7rem; border: 1px solid var(--line, #ccc); border-radius: 4px; font-size: .95rem; }
.bs-add-form button { padding: .5rem 1rem; background: var(--brand, #1c2a44); color: #fff; border: 0; border-radius: 4px; cursor: pointer; }

/* Admin tables / status */
.bs-stats { list-style: none; padding: 0; }
.bs-stats li { padding: .2rem 0; }
.bs-files { list-style: none; padding: 0; }
.bs-files li { padding: .35rem 0; border-bottom: 1px dashed var(--line, #eee); }
.bs-files small { color: var(--ink-soft, #888); margin-left: .5rem; }
.bs-progress { background: var(--bg-soft, #fafafa); }
.bs-bar { height: 10px; background: var(--line, #eee); border-radius: 4px; overflow: hidden; margin-top: .5rem; }
.bs-bar-fill { height: 100%; background: var(--brand, #1c2a44); transition: width .25s ease; }
.bs-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.bs-table th, .bs-table td { padding: .5rem .6rem; border-bottom: 1px solid var(--line, #eee); text-align: left; vertical-align: top; }
.bs-table th { background: var(--bg-soft, #fafafa); }
.bs-status { padding: .15rem .6rem; border-radius: 999px; font-size: .82rem; }
.bs-status-pending { background: #eee; color: #555; }
.bs-status-running { background: #fff3c1; color: #7a5a00; }
.bs-status-done    { background: #d6f0d6; color: #2a7d2a; }
.bs-status-error   { background: #fcd2d2; color: #b00; }
.bs-msg            { background: var(--bg-soft, #fafafa); }

/* Sermon-generator preview + published sermon styling
   (lt-* classes also style the published article at /articles/<slug>.html) */
.bs-sermon-preview { font-family: var(--serif, serif); font-size: 1.08rem; line-height: 1.65; max-width: 720px; margin: 1rem 0; }
.bs-sermon-preview p { margin: 0 0 1rem; }
.bs-sermon-preview h2, .bs-sermon-preview h3 { font-family: var(--serif, serif); margin: 1.6rem 0 .55rem; line-height: 1.3; }
.bs-sermon-preview h2 { font-size: 1.45rem; }
.bs-sermon-preview h3 { font-size: 1.2rem; }

/* Verse blockquote — same look in admin preview and published article */
.lt-sermon-quote { margin: 1rem 0; padding: .75rem 1.1rem; background: var(--bg-soft, #f6f3ee); border-left: 4px solid var(--brand, #1c2a44); font-style: italic; font-family: var(--serif, serif); }

/* Strong's superscript footnote-style link */
.lt-strongs { font-size: .7em; vertical-align: super; margin: 0 .12em; }
.lt-strongs a { color: var(--brand, #1c2a44); text-decoration: none; font-weight: 600; padding: 0 .15em; border-bottom: 1px dotted var(--brand, #1c2a44); }
.lt-strongs a:hover { background: var(--bg-soft, #f6f3ee); }

/* Verse-reference link */
.lt-vref { color: var(--brand, #1c2a44); text-decoration: none; border-bottom: 1px dotted var(--ink-soft, #888); }
.lt-vref:hover { border-bottom-color: var(--brand, #1c2a44); }

/* Closing prayer block */
.lt-sermon-prayer { margin: 2rem 0 1rem; padding: 1.2rem 1.4rem; background: var(--bg-soft, #f6f3ee); border-radius: 6px; font-family: var(--serif, serif); }
.lt-sermon-prayer h3 { font-family: var(--serif, serif); margin: 0 0 .4rem; font-size: 1.15rem; color: var(--brand, #1c2a44); font-style: italic; font-weight: 600; }
.lt-sermon-prayer p { margin: 0; line-height: 1.6; font-style: italic; }

/* Print view (sermon-builder?print=1) */
.bs-print .bs-add-form, .bs-print .bs-danger, .bs-print .bs-builder-head .bs-meta { display: none; }
@media print {
  .site-header, .site-footer, .bs-add-form, .bs-danger { display: none; }
  body { background: #fff; color: #000; }
  .bs-wrap { max-width: 7in; }
}
