/* SermonWave Bible word studies (BIBLE_STUDY_PLAN.md §12): interlinear, word card, word study page, word search,
   credits. Builds on sw_bible.css (variables, .sw-bible-pop). Hebrew / Greek fonts: Noto Serif Hebrew + Gentium Plus
   (Google Fonts, SIL Open Font License), loaded by the pages that need them. Mobile first. */

:root {
    --swb-hebrew: 'Noto Serif Hebrew', 'SBL Hebrew', 'Ezra SIL', 'Times New Roman', serif;
    --swb-greek: 'Gentium Plus', 'Gentium', 'SBL Greek', 'Noto Serif', 'Times New Roman', serif;
}
[lang="he"], [lang="arc"], .sw-word-heb { font-family: var(--swb-hebrew); }
[lang="grc"], .sw-word-grc { font-family: var(--swb-greek); }

/* ---------------------------------------------------------------- interlinear */
.bible-text--il .bible-v { display: block; margin: 0 0 4px; }
.bible-text--il .bible-prow { margin-bottom: 4px; }
.bible-il {
    display: flex; flex-wrap: wrap; gap: 6px 4px; align-items: flex-start;
    margin: 6px 0 18px; padding: 10px 8px; border-radius: 10px;
    background: var(--swb-bg); border: 1px solid var(--swb-border);
}
.bible-il--rtl { direction: rtl; }
.bible-il__title {
    flex-basis: 100%; font-family: var(--swb-sans); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--swb-muted); direction: ltr; text-align: start;
}
.bible-il-w {
    display: inline-flex; flex-direction: column; align-items: center; gap: 1px;
    min-width: 44px; max-width: 160px; padding: 4px 6px 5px;
    border: 1px solid transparent; border-radius: 8px; background: none;
    font: inherit; color: var(--swb-text); cursor: pointer; text-align: center; line-height: 1.25;
}
.bible-il-w:hover, .bible-il-w:focus-visible, .bible-il-w--active { background: var(--swb-accent-soft); border-color: rgba(18, 68, 196, 0.25); outline: none; }
.bible-il-w:focus-visible { box-shadow: 0 0 0 2px var(--swb-accent); }
.bible-il-w__o { font-size: 1.32rem; line-height: 1.45; }
.bible-il-w__o[lang="grc"] { font-size: 1.12rem; }
.bible-il-w__t { font-family: var(--swb-sans); font-size: 0.72rem; color: var(--swb-link); font-style: italic; }
.bible-il-w__g { font-family: var(--swb-sans); font-size: 0.78rem; color: var(--swb-text); overflow-wrap: anywhere; }
.bible-il-w__p { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.62rem; color: var(--swb-muted); }
.bible-il-w--variant { opacity: 0.55; border-style: dashed; border-color: var(--swb-border); }
.bible-il-status { font-family: var(--swb-sans); font-size: 0.85rem; color: var(--swb-muted); margin: 6px 0 12px; }
.bible-il-note { font-family: var(--swb-sans); font-size: 0.8rem; color: var(--swb-muted); margin: 0 0 12px; }
@media (max-width: 640px) {
    .bible-il { padding: 8px 4px; gap: 4px 2px; }
    .bible-il-w { min-width: 38px; padding: 3px 4px 4px; }
    .bible-il-w__o { font-size: 1.18rem; }
    .bible-il-w__p { display: none; }
}

/* ---------------------------------------------------------------- word card */
.sw-word-pop { width: min(440px, calc(100vw - 16px)); }
.sw-word-pop__body { padding: 0 16px 14px; }
.sw-word-card__lemma { font-size: 2rem; line-height: 1.25; margin: 0 0 2px; }
.sw-word-card__lemma[lang="grc"] { font-size: 1.7rem; }
.sw-word-card__xlit { font-family: var(--swb-sans); font-weight: 700; margin: 0; }
.sw-word-card__gloss { font-weight: 600; color: var(--swb-text); }
.sw-word-card__id { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; color: var(--swb-muted); }
.sw-word-card__token { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--swb-bg-soft); }
.sw-word-card__here { margin: 0 0 4px; }
.sw-word-card__surface { font-size: 1.25rem; }
.sw-word-card__tr { font-style: italic; color: var(--swb-link); }
.sw-word-card__ref { font-size: 0.75rem; color: var(--swb-muted); white-space: nowrap; }
.sw-word-card__parse { margin: 0 0 4px; font-size: 0.9rem; }
.sw-word-card__label { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--swb-muted); margin-right: 4px; }
.sw-word-card__code { font-size: 0.72rem; color: var(--swb-muted); background: none; }
.sw-word-card__explain { margin: 0; font-size: 0.85rem; color: var(--swb-text); }
.sw-word-card__example { display: block; color: var(--swb-muted); font-style: italic; }
.sw-word-card__note { margin: 8px 0 0; font-size: 0.8rem; color: var(--swb-muted); }
.sw-word-card__dl { margin: 10px 0 0; font-size: 0.88rem; display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; }
.sw-word-card__dl dt { font-weight: 700; color: var(--swb-muted); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; padding-top: 2px; }
.sw-word-card__dl dd { margin: 0; }
.sw-word-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 12px 0 0; }
.sw-word-card__occ { font-size: 0.85rem; font-weight: 600; }
.sw-word-attrib { margin: 10px 0 0; font-family: var(--swb-sans); font-size: 0.72rem; line-height: 1.45; color: var(--swb-muted); }
.sw-word-attrib a { color: inherit; text-decoration: underline; }

/* ---------------------------------------------------------------- word study page */
.bible-word-hero__lemma { font-size: clamp(2.2rem, 7vw, 3.4rem); line-height: 1.2; margin: 6px 0 0; color: #fff; font-weight: 400; }
.bible-word-hero__xlit { font-family: var(--swb-sans); font-weight: 700; font-size: 1.15rem; color: rgba(255, 255, 255, 0.92); margin: 4px 0 0; }
.bible-word-hero__meta { color: rgba(255, 255, 255, 0.72); margin: 6px 0 0; font-size: 0.95rem; }
.bible-word-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@media (min-width: 980px) { .bible-word-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); } }
.bible-card {
    background: var(--swb-bg); border: 1px solid var(--swb-border); border-radius: var(--swb-radius);
    padding: 18px 18px 16px; margin: 0 0 20px; min-width: 0;
}
.bible-card h2 { font-family: var(--swb-sans); font-size: 1.05rem; font-weight: 800; margin: 0 0 10px; }
.bible-card h3 { font-family: var(--swb-sans); font-size: 0.9rem; font-weight: 700; margin: 14px 0 6px; }
.bible-card__muted { color: var(--swb-muted); font-size: 0.85rem; margin: 0 0 8px; }
.bible-lex { font-family: var(--swb-serif); font-size: 0.98rem; line-height: 1.6; overflow-wrap: anywhere; }
.bible-lex .bible-lex-sense { margin: 2px 0 2px 14px; }
.bible-lex .bible-lex-n { font-weight: 700; color: var(--swb-muted); }
.bible-lex .bible-lex-he { font-family: var(--swb-hebrew); font-size: 1.08em; }
.bible-lex .bible-lex-src { border-bottom: 1px dotted var(--swb-muted); }
.bible-lex a.bible-lex-ref { color: var(--swb-link); }
.bible-lex--collapsed { max-height: 22em; overflow: hidden; position: relative; }
.bible-lex--collapsed::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4em; background: linear-gradient(transparent, var(--swb-bg)); }
.bible-senses { list-style: none; margin: 0; padding: 0; }
.bible-senses li { padding: 6px 0; border-top: 1px solid var(--swb-border); display: flex; justify-content: space-between; gap: 10px; }
.bible-senses li:first-child { border-top: 0; }
.bible-senses__n { color: var(--swb-muted); font-size: 0.85rem; white-space: nowrap; }
.bible-related { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.bible-related a {
    display: inline-flex; flex-direction: column; padding: 6px 10px; border: 1px solid var(--swb-border); border-radius: 10px;
    text-decoration: none; color: var(--swb-text); background: var(--swb-bg); line-height: 1.3;
}
.bible-related a:hover { border-color: var(--swb-link); background: var(--swb-accent-soft); }
.bible-related__l { font-size: 1.15rem; }
.bible-related__m { font-family: var(--swb-sans); font-size: 0.72rem; color: var(--swb-muted); }

/* frequency chart: plain HTML bars (no chart library); the table is the accessible source */
.bible-freq { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.bible-freq li { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) 3em; align-items: center; gap: 8px; font-family: var(--swb-sans); font-size: 0.8rem; }
.bible-freq__label { text-align: right; color: var(--swb-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bible-freq__label a { color: inherit; text-decoration: none; }
.bible-freq__label a:hover { color: var(--swb-link); text-decoration: underline; }
.bible-freq__bar { height: 12px; border-radius: 0 4px 4px 0; background: var(--swb-accent); min-width: 2px; }
.bible-freq__n { color: var(--swb-muted); font-variant-numeric: tabular-nums; }
.bible-freq-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; margin-top: 8px; }
.bible-freq-table th, .bible-freq-table td { padding: 3px 6px; border-bottom: 1px solid var(--swb-border); text-align: left; }
.bible-freq-table td:last-child, .bible-freq-table th:last-child { text-align: right; font-variant-numeric: tabular-nums; }
details.bible-details > summary { cursor: pointer; font-family: var(--swb-sans); font-size: 0.82rem; font-weight: 600; color: var(--swb-link); margin-top: 8px; }

.bible-rend { display: grid; gap: 14px; }
.bible-rend__head { display: flex; justify-content: space-between; gap: 8px; font-family: var(--swb-sans); font-size: 0.85rem; font-weight: 700; }
.bible-rend__list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 3px; }
.bible-rend__list li { display: grid; grid-template-columns: minmax(0, 8em) minmax(0, 1fr) 3.4em; gap: 8px; align-items: center; font-size: 0.85rem; }
.bible-rend__w { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bible-rend__bar { height: 10px; border-radius: 0 4px 4px 0; background: var(--swb-link); min-width: 2px; opacity: 0.8; }
.bible-rend__pct { text-align: right; color: var(--swb-muted); font-variant-numeric: tabular-nums; }
.bible-rend__note { font-size: 0.75rem; color: var(--swb-muted); margin: 4px 0 0; }

.bible-occ { list-style: none; margin: 0; padding: 0; }
.bible-occ li { padding: 10px 0; border-top: 1px solid var(--swb-border); }
.bible-occ li:first-child { border-top: 0; }
.bible-occ__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 3px; }
.bible-occ__ref { font-family: var(--swb-sans); font-weight: 700; font-size: 0.9rem; }
.bible-occ__orig { font-size: 1.1rem; }
.bible-occ__parse { font-family: var(--swb-sans); font-size: 0.75rem; color: var(--swb-muted); }
.bible-occ__text { margin: 0; font-family: var(--swb-serif); font-size: 0.95rem; line-height: 1.55; }
.bible-occ__text mark, .bible-search-hit__text mark { background: var(--swb-highlight); border-bottom: 2px solid var(--swb-highlight-edge); padding: 0 1px; color: inherit; }
.bible-occ-filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 10px; font-family: var(--swb-sans); font-size: 0.85rem; }
.bible-pager { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; font-family: var(--swb-sans); font-size: 0.85rem; }
.bible-pager .bible-btn[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }
.bible-forms { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bible-forms li { display: flex; justify-content: space-between; gap: 8px; font-size: 0.85rem; }
.bible-forms__o { font-size: 1.1rem; }
.bible-names li { margin-bottom: 8px; }
.bible-word-attrib {
    max-width: 1140px; margin: 0 auto; padding: 0 16px 40px;
    font-family: var(--swb-sans); font-size: 0.78rem; line-height: 1.5; color: var(--swb-muted);
}
.bible-word-attrib a { color: inherit; }

/* ---------------------------------------------------------------- word search */
.bible-wsearch { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.bible-wsearch__q { flex: 1 1 260px; min-width: 0; padding: 10px 12px; border: 1px solid var(--swb-border); border-radius: 10px; font-size: 1rem; }
.bible-wfilters { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 8px 0 0; }
.bible-wfilters label { display: grid; gap: 2px; font-family: var(--swb-sans); font-size: 0.75rem; font-weight: 700; color: var(--swb-muted); }
.bible-wfilters select, .bible-wfilters input { font-size: 0.9rem; padding: 6px 8px; border: 1px solid var(--swb-border); border-radius: 8px; background: var(--swb-bg); min-width: 0; }
.bible-wsearch-meta { font-family: var(--swb-sans); font-size: 0.85rem; color: var(--swb-muted); margin: 0 0 6px; }
.bible-wsearch-meta strong { color: var(--swb-text); }
.bible-search-hit { padding: 10px 0; border-top: 1px solid var(--swb-border); }
.bible-search-hit__words { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 4px 0; }
.bible-search-hit__word { font-size: 0.85rem; }
.bible-search-hit__word a { text-decoration: none; }
.bible-search-hit__text { margin: 0; font-family: var(--swb-serif); font-size: 0.95rem; line-height: 1.55; }
.bible-word-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.bible-word-list a { display: block; padding: 8px 10px; border: 1px solid var(--swb-border); border-radius: 10px; text-decoration: none; color: var(--swb-text); background: var(--swb-bg); }
.bible-word-list a:hover { border-color: var(--swb-link); }
.bible-word-list__l { font-size: 1.2rem; display: block; }
.bible-word-list__m { font-family: var(--swb-sans); font-size: 0.75rem; color: var(--swb-muted); }

/* ---------------------------------------------------------------- credits */
.bible-credits { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.bible-credits th, .bible-credits td { padding: 8px 6px; border-bottom: 1px solid var(--swb-border); text-align: left; vertical-align: top; }
.bible-credits td { overflow-wrap: anywhere; }
@media (max-width: 720px) {
    .bible-credits thead { display: none; }
    .bible-credits tr { display: block; padding: 8px 0; border-bottom: 1px solid var(--swb-border); }
    .bible-credits td { display: block; border: 0; padding: 2px 0; }
}

/* dark pages (/listen panel) */
[data-bs-theme="dark"] .bible-il { background: #16161f; border-color: rgba(255, 255, 255, 0.12); }
[data-bs-theme="dark"] .bible-il-w { color: #e8e8e8; }
[data-bs-theme="dark"] .sw-word-card__token { background: #1c1c28; }
