.dfb-kbu { --kbu-oxblod: #8b1a1a; --kbu-papir: #faf6ef; --kbu-kant: #e6dccb; --kbu-blaek: #2b2118; --kbu-daempet: #7a6a58; position: relative; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--kbu-blaek); }
.dfb-kbu-bar { display: flex; flex-wrap: wrap; gap: .5em .8em; align-items: center; margin-bottom: .6em; }
.dfb-kbu-bar label { display: flex; gap: .4em; align-items: center; font-weight: 600; font-size: .92em; }
.dfb-kbu-bar select { padding: .35em .5em; border: 1px solid var(--kbu-kant); border-radius: 4px; background: #fff; font: inherit; font-weight: 400; max-width: 14em; }
.dfb-kbu-bar button { border: 1px solid var(--kbu-kant); background: #fff; border-radius: 4px; padding: .38em .8em; cursor: pointer; font: inherit; font-size: .92em; }
.dfb-kbu-bar .dfb-kbu-vis { background: var(--kbu-oxblod); border-color: var(--kbu-oxblod); color: #fff; }
.dfb-kbu-bar .dfb-kbu-gitter-knap { margin-left: auto; }
.dfb-kbu-status { font-size: .92em; color: var(--kbu-daempet); margin: .3em 0 .6em; }
.dfb-kbu-status strong { color: var(--kbu-blaek); }
.dfb-kbu-flade { background: var(--kbu-papir); border: 1px solid var(--kbu-kant); border-radius: 6px; padding: 6px; }
.dfb-kbu-svg { display: block; width: 100%; height: auto; }
.dfb-kbu-gitter { max-width: 820px; margin: 0 auto; }
.dfb-kbu-gl { font-size: 7.5px; fill: var(--kbu-daempet); }
.dfb-kbu-gl.nt { fill: var(--kbu-oxblod); }
.dfb-kbu-celle { fill: var(--kbu-oxblod); cursor: pointer; }
.dfb-kbu-celle.tom { fill: #efe7da; fill-opacity: .5; cursor: default; }
.dfb-kbu-celle:not(.tom):hover { stroke: var(--kbu-blaek); stroke-width: 1.2; }
.dfb-kbu-skel { stroke: var(--kbu-blaek); stroke-width: 1; opacity: .5; }
.dfb-kbu-bogtitel { font-family: Georgia, "Times New Roman", serif; font-size: 30px; fill: #a99a86; }
.dfb-kbu-bognavn { font-size: 11px; fill: var(--kbu-daempet); }
.dfb-kbu-akse { stroke: var(--kbu-kant); stroke-width: 1; }
.dfb-kbu-tick { stroke: #bfb09a; stroke-width: 1; }
.dfb-kbu-kapnr { font-size: 10px; fill: var(--kbu-daempet); font-variant-numeric: tabular-nums; }
.dfb-kbu-kapzone { fill: transparent; cursor: pointer; }
.dfb-kbu-kap:hover .dfb-kbu-kapzone, .dfb-kbu-kap.valgt .dfb-kbu-kapzone { fill: rgba(139, 26, 26, .09); }
.dfb-kbu-kap.valgt .dfb-kbu-kapnr { fill: var(--kbu-oxblod); font-weight: 700; }
.dfb-kbu-l { fill: none; stroke: var(--kbu-oxblod); stroke-opacity: calc(var(--alfa, .2) * var(--s, 1)); stroke-width: var(--w, 1); cursor: pointer; pointer-events: visibleStroke; }
.dfb-kbu-linjer .dfb-kbu-l:hover { stroke-opacity: 1; stroke-width: 2.4; }
.har-fokus .dfb-kbu-l { stroke-opacity: .03; }
.har-fokus .dfb-kbu-l.fokus { stroke-opacity: .85; }
.dfb-kbu-tip { position: absolute; z-index: 20; pointer-events: none; background: var(--kbu-blaek); color: #fff; font-size: .82em; padding: .35em .6em; border-radius: 4px; max-width: 22em; line-height: 1.35; box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.dfb-kbu-panel { position: relative; margin-top: .8em; background: #fff; border: 1px solid var(--kbu-kant); border-left: 3px solid var(--kbu-oxblod); border-radius: 4px; padding: .8em 2.2em .8em 1em; }
.dfb-kbu-panel h4 { margin: 0 0 .5em; font-size: 1em; }
.dfb-kbu-luk { position: absolute; top: .3em; right: .4em; border: 0; background: none; font-size: 1.4em; line-height: 1; cursor: pointer; color: var(--kbu-daempet); }
.dfb-kbu-to { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1em; align-items: start; }
.dfb-kbu-pil { color: var(--kbu-oxblod); font-size: 1.4em; padding-top: .1em; }
.dfb-kbu-vers a { font-weight: 700; color: var(--kbu-oxblod); text-decoration: none; }
.dfb-kbu-vers p { margin: .3em 0 0; font-family: Georgia, "Times New Roman", serif; line-height: 1.5; }
.dfb-kbu-overs { color: var(--kbu-daempet); font-family: system-ui, sans-serif; font-size: .8em; }
.dfb-kbu-liste { list-style: none; margin: 0; padding: 0; columns: 2 16em; column-gap: 1.5em; }
.dfb-kbu-liste button { border: 0; background: none; padding: .15em 0; cursor: pointer; color: var(--kbu-oxblod); font: inherit; font-size: .92em; text-align: left; }
.dfb-kbu-liste button:hover { text-decoration: underline; }
.dfb-kbu-kilde { font-size: .78em; color: var(--kbu-daempet); margin-top: .8em; }
@media (max-width: 640px) {
	.dfb-kbu-to { grid-template-columns: 1fr; }
	.dfb-kbu-pil { display: none; }
	.dfb-kbu-bar .dfb-kbu-gitter-knap { margin-left: 0; }
}
.dfb-kbu-l.citat { stroke: var(--kbu-guld, #b8862b); }
.dfb-kbu { --kbu-guld: #b8862b; }
.dfb-kbu-forklaring { font-size: .8em; color: var(--kbu-daempet); margin: -.3em 0 .6em; display: flex; gap: .4em; align-items: center; flex-wrap: wrap; }
.dfb-kbu-forklaring[hidden] { display: none; }
.dfb-kbu-fk-l, .dfb-kbu-fk-c { display: inline-block; width: 22px; height: 0; border-top: 2px solid var(--kbu-oxblod); opacity: .7; }
.dfb-kbu-fk-c { border-top: 3px solid var(--kbu-guld); opacity: 1; margin-left: .8em; }
.dfb-kbu-pil small { display: block; font-size: .5em; color: var(--kbu-daempet); text-align: center; }
.dfb-kbu-begge-l { font-weight: 400 !important; }

/* Hele Bibelen */
.dfb-kbb-flade { position: relative; background: var(--kbu-papir); border: 1px solid var(--kbu-kant); border-radius: 6px; overflow: hidden; }
.dfb-kbb-flade canvas { position: absolute; left: 0; top: 0; display: block; }
.dfb-kbb-c0 { transition: opacity .15s; }
.dfb-kbb-kol { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5em; }
.dfb-kbb-kol h5 { margin: 0 0 .4em; font-size: .78em; text-transform: uppercase; letter-spacing: .06em; color: var(--kbu-daempet); }
.dfb-kbb-top, .dfb-kbb-kap { margin: 0; padding: 0; list-style: none; font-size: .92em; }
.dfb-kbb-top li { display: grid; grid-template-columns: 11em 1fr 3.5em; gap: .6em; align-items: center; padding: .12em 0; }
.dfb-kbb-top a, .dfb-kbb-kap a { color: var(--kbu-oxblod); text-decoration: none; }
.dfb-kbb-top a:hover, .dfb-kbb-kap a:hover { text-decoration: underline; }
.dfb-kbb-top em, .dfb-kbb-kap em { font-style: normal; color: var(--kbu-daempet); text-align: right; font-variant-numeric: tabular-nums; }
.dfb-kbb-spor { height: .45em; background: var(--kbu-kant); border-radius: 9px; overflow: hidden; }
.dfb-kbb-spor span { display: block; height: 100%; background: var(--kbu-oxblod); }
.dfb-kbb-hint { font-size: .8em; color: var(--kbu-daempet); margin-top: .8em; }
@media (max-width: 640px) { .dfb-kbb-kol { grid-template-columns: 1fr; } .dfb-kbb-top li { grid-template-columns: 8em 1fr 3em; } }

/* Grundtekst-filtre og typer */
.dfb-kbu { --kbu-tema: #8f8270; }
.dfb-kbu-bar2 { background: #f5efe3; border: 1px solid var(--kbu-kant); border-radius: 6px; padding: .45em .7em; }
.dfb-kbu-bar2-titel { font-size: .72em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--kbu-oxblod); }
.dfb-kbu-ord { padding: .35em .5em; border: 1px solid var(--kbu-kant); border-radius: 4px; font: inherit; font-weight: 400; width: 13em; font-family: var(--ms-graesk, 'Gentium Plus', 'SBL Greek', Georgia, serif); }
.dfb-kbu-typer { display: inline-flex; gap: .7em; flex-wrap: wrap; }
.dfb-kbu-typer label { font-weight: 400 !important; display: inline-flex; gap: .3em; align-items: center; }
.dfb-kbu-typer label::before { content: ''; width: 14px; height: 0; border-top: 3px solid var(--kbu-oxblod); }
.dfb-kbu-typer .t-c::before { border-color: var(--kbu-guld); }
.dfb-kbu-typer .t-t::before { border-color: var(--kbu-tema); }
.dfb-kbu-l.tema { stroke: var(--kbu-tema); }
.dfb-kbu-fk-t { display: inline-block; width: 22px; height: 0; border-top: 2px solid var(--kbu-tema); margin-left: .8em; }
.dfb-kbu-fk-l { margin-left: .8em; }
.dfb-kbu-fk-c { margin-left: 0; }
.dfb-kbu-tip-ord { font-family: 'Gentium Plus', 'SBL Greek', Georgia, serif; opacity: .9; }
.dfb-kbu-grund { margin: .8em 0 0; padding-top: .6em; border-top: 1px dashed var(--kbu-kant); font-size: .9em; color: var(--kbu-daempet); }
.dfb-kbu-grund span { font-family: 'Gentium Plus', 'SBL Greek', 'SBL Hebrew', Georgia, serif; color: var(--kbu-blaek); font-size: 1.1em; }

/* Liste over alle vers */
.dfb-kbu-listeboks { margin-top: 1.2em; }
.dfb-kbu-lh { display: flex; flex-wrap: wrap; gap: .5em 1em; align-items: center; justify-content: space-between; border-bottom: 2px solid var(--kbu-oxblod); padding-bottom: .4em; margin-bottom: .4em; }
.dfb-kbu-lh h3 { margin: 0; font-size: 1.05em; }
.dfb-kbu-lh label { font-size: .88em; display: flex; gap: .4em; align-items: center; }
.dfb-kbu-lh select, .dfb-kbu-lh button, .dfb-kbu-lflere { border: 1px solid var(--kbu-kant); background: #fff; border-radius: 4px; padding: .3em .6em; font: inherit; font-size: .9em; cursor: pointer; }
.dfb-kbu-lr-liste { list-style: none; margin: 0; padding: 0; }
.dfb-kbu-lr { display: grid; grid-template-columns: 1fr 5.5em 1fr; gap: .4em 1em; padding: .75em .3em .75em .7em; border-bottom: 1px solid var(--kbu-kant); border-left: 3px solid var(--kbu-oxblod); }
.dfb-kbu-lr.t-c { border-left-color: var(--kbu-guld); }
.dfb-kbu-lr.t-t { border-left-color: var(--kbu-tema); }
.dfb-kbu-lr:hover { background: #fbf7f0; }
.dfb-kbu-lv a { font-weight: 700; color: var(--kbu-oxblod); text-decoration: none; }
.dfb-kbu-lv p { margin: .2em 0 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5; font-size: .95em; }
.dfb-kbu-lp { text-align: center; color: var(--kbu-oxblod); font-size: 1.3em; line-height: 1.2; }
.dfb-kbu-lp small { display: block; font-size: .55em; color: var(--kbu-daempet); text-transform: uppercase; letter-spacing: .05em; }
.dfb-kbu-lm { grid-column: 1 / -1; font-size: .8em; color: var(--kbu-daempet); }
.dfb-kbu-lm span { font-family: 'Gentium Plus', 'SBL Greek', 'SBL Hebrew', Georgia, serif; font-size: 1.15em; color: var(--kbu-blaek); }
.dfb-kbu-l.valgt { stroke-opacity: 1 !important; stroke-width: 2.6 !important; }
@media (max-width: 640px) { .dfb-kbu-lr { grid-template-columns: 1fr; } .dfb-kbu-lp { text-align: left; font-size: 1em; } .dfb-kbu-lp small { display: inline; margin-left: .4em; } }

/* ⓘ-forklaring af stemmer ved Styrke */
.dfb-kbu-bar label { position: relative; }
.dfb-kbu-bar .dfb-kbu-info { width: 1.35em; height: 1.35em; padding: 0; border-radius: 50%; border-color: var(--kbu-daempet); color: var(--kbu-daempet); font: italic 700 .8em/1 Georgia, serif; display: inline-flex; align-items: center; justify-content: center; }
.dfb-kbu-bar .dfb-kbu-info:hover, .dfb-kbu-bar .dfb-kbu-info[aria-expanded="true"] { background: var(--kbu-oxblod); border-color: var(--kbu-oxblod); color: #fff; }
.dfb-kbu-info-tip { display: none; position: absolute; top: calc(100% + .5em); left: 0; z-index: 20; width: min(20em, 85vw); padding: .7em .85em; background: var(--kbu-blaek); color: #fff; border-radius: 6px; font-size: .85rem; font-weight: 400; line-height: 1.45; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.dfb-kbu-info:hover + .dfb-kbu-info-tip, .dfb-kbu-info:focus-visible + .dfb-kbu-info-tip, .dfb-kbu-info[aria-expanded="true"] + .dfb-kbu-info-tip { display: block; }

.dfb-kbb-frys { display: inline-block; background: var(--kbu-oxblod); color: #fff; padding: .15em .6em; border-radius: 4px; margin-right: .4em; }
.dfb-kbb-frys strong { color: #fff; }
.dfb-kbb-slip { border: 1px solid var(--kbu-kant); background: #fff; border-radius: 4px; padding: .15em .6em; cursor: pointer; font: inherit; font-size: .9em; margin-left: .3em; }
.er-frosset .dfb-kbb-flade { box-shadow: 0 0 0 2px var(--kbu-oxblod); }
