/* DFB BiblIndex – Pergament & Oxblod */
.dfb-bi-widget, .dfb-bi-overlay, .dfb-bi-oversigt, .dfb-bi-detalje, .dfb-bi-boks {
	--dfb-bi-ox: var(--bb-oxblod, #8b1a1a);
	--dfb-bi-ox-lys: rgba(139, 26, 26, .12);
	--dfb-bi-graa: #6b6259;
	--dfb-bi-linje: rgba(60, 40, 20, .14);
	--dfb-bi-papir: var(--bb-papir, #fbf7ef);
}

/* ---- Widget ---- */
.dfb-bi-widget { font-size: .92rem; }
.dfb-bi-status { margin: 0; color: var(--dfb-bi-graa); }
.dfb-bi-sum { margin: 0 0 .4rem; }
.dfb-bi-sum strong { color: var(--dfb-bi-ox); }
.dfb-bi-top-f { margin: 0 0 .6rem; line-height: 1.5; }
.dfb-bi-top-f a { color: var(--dfb-bi-ox); text-decoration: none; }
.dfb-bi-top-f a:hover { text-decoration: underline; }
.dfb-bi-lbl { color: var(--dfb-bi-graa); }
.dfb-bi-n { color: var(--dfb-bi-graa); font-size: .85em; }
.dfb-bi-versliste { max-height: 340px; overflow-y: auto; margin: 0 -2px; padding: 0 2px; }
.dfb-bi-versrk {
	display: grid; grid-template-columns: 3.1em 1fr 2.6em; grid-template-areas: "nr bar n" "f f f";
	align-items: center; column-gap: .45em; width: 100%; margin: 0; padding: .32em .3em;
	background: none; border: 0; border-bottom: 1px solid var(--dfb-bi-linje); text-align: left;
	font: inherit; color: inherit; cursor: pointer; border-radius: 3px;
}
.dfb-bi-versrk:hover, .dfb-bi-versrk:focus-visible { background: var(--dfb-bi-ox-lys); outline: none; }
.dfb-bi-vnr { grid-area: nr; font-weight: 600; white-space: nowrap; }
.dfb-bi-vbar { grid-area: bar; height: 6px; background: var(--dfb-bi-linje); border-radius: 3px; overflow: hidden; }
.dfb-bi-vbar > span { display: block; height: 100%; background: var(--dfb-bi-ox); border-radius: 3px; }
.dfb-bi-vn { grid-area: n; text-align: right; font-variant-numeric: tabular-nums; color: var(--dfb-bi-graa); }
.dfb-bi-vf { grid-area: f; font-size: .82em; color: var(--dfb-bi-graa); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dfb-bi-kilde-lille { margin: .5rem 0 0; font-size: .78em; color: var(--dfb-bi-graa); }
.dfb-bi-kilde-lille a { color: inherit; }

/* ---- Popup ---- */
.dfb-bi-overlay {
	position: fixed; inset: 0; z-index: 100001; background: rgba(20, 12, 6, .55);
	display: flex; align-items: center; justify-content: center; padding: 16px;
}
.dfb-bi-pop {
	position: relative; background: var(--dfb-bi-papir); color: #2b2118; width: 100%; max-width: 760px;
	max-height: calc(100vh - 32px); overflow-y: auto; border-radius: 10px; padding: 1.3rem 1.4rem 1rem;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}
.dfb-bi-luk {
	position: absolute; top: .4rem; right: .6rem; background: none; border: 0; font-size: 1.8rem;
	line-height: 1; cursor: pointer; color: var(--dfb-bi-graa);
}
.dfb-bi-luk:hover { color: var(--dfb-bi-ox); }
.dfb-bi-pop-titel { font-family: Georgia, 'Times New Roman', serif; margin: 0 2rem .3rem 0; color: var(--dfb-bi-ox); font-size: 1.35rem; }
.dfb-bi-pop-meta { margin: 0 0 .8rem; color: var(--dfb-bi-graa); font-size: .92rem; }
.dfb-bi-pop-meta a { color: var(--dfb-bi-ox); }
.dfb-bi-pf { border-top: 1px solid var(--dfb-bi-linje); padding: .45rem 0; }
.dfb-bi-pf summary { cursor: pointer; display: flex; align-items: baseline; gap: .4em; list-style-position: outside; }
.dfb-bi-pf-navn { font-weight: 600; }
.dfb-bi-aar { color: var(--dfb-bi-graa); font-size: .88em; font-weight: normal; }
.dfb-bi-antal {
	margin-left: auto; background: var(--dfb-bi-ox-lys); color: var(--dfb-bi-ox); border-radius: 999px;
	padding: 0 .55em; font-size: .8em; font-weight: 600; font-variant-numeric: tabular-nums;
}
.dfb-bi-pw { margin: .35rem 0 .2rem 1.1rem; padding: 0; font-size: .92rem; }
.dfb-bi-pw li { margin: .15rem 0; }
.dfb-bi-pw a { color: inherit; }
.dfb-bi-sted { color: var(--dfb-bi-graa); font-size: .88em; }
.dfb-bi-pf-link { margin: .2rem 0 0 1.1rem; font-size: .88rem; }
.dfb-bi-pf-link a, .dfb-bi-boks a { color: var(--dfb-bi-ox); }
.dfb-bi-kilde { font-size: .8rem; color: var(--dfb-bi-graa); margin-top: 1rem; }
.dfb-bi-kilde a { color: inherit; }

/* ---- Shortcode-boks ---- */
.dfb-bi-boks { border: 1px solid var(--dfb-bi-linje); border-left: 3px solid var(--dfb-bi-ox); background: var(--dfb-bi-papir); padding: .8rem 1rem; margin: 1.2rem 0; border-radius: 6px; }
.dfb-bi-boks-titel { margin: 0 0 .5rem; display: flex; gap: .5em; align-items: baseline; }
.dfb-bi-fliste { margin: 0 0 0 1.1rem; padding: 0; }

/* ---- Oversigt ---- */
.dfb-bi-intro { font-size: 1.05rem; max-width: 52rem; }
.dfb-bi-kort { height: 440px; border-radius: 8px; border: 1px solid var(--dfb-bi-linje); background: #e8e2d6; }
.dfb-bi-kort-lille { height: 320px; margin-top: .6rem; }
.dfb-bi-kort-note { font-size: .82rem; color: var(--dfb-bi-graa); margin: .35rem 0 1rem; }
.dfb-bi-kpop ul { margin: .3rem 0 0; padding-left: 1rem; max-height: 220px; overflow-y: auto; }
.dfb-bi-kpop li span { color: #777; font-size: .85em; }
.dfb-bi-filtre { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: flex-end; margin: 1rem 0; }
.dfb-bi-filtre label { display: flex; flex-direction: column; font-size: .82rem; color: var(--dfb-bi-graa); gap: .2rem; }
.dfb-bi-filtre input, .dfb-bi-filtre select { font-size: .95rem; padding: .35rem .5rem; border: 1px solid var(--dfb-bi-linje); border-radius: 5px; background: #fff; min-width: 12rem; }
.dfb-bi-vist { font-size: .85rem; color: var(--dfb-bi-graa); padding-bottom: .45rem; }
.dfb-bi-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .6rem; }
.dfb-bi-kortet a {
	display: flex; flex-direction: column; gap: .1rem; height: 100%; padding: .65rem .8rem; border: 1px solid var(--dfb-bi-linje);
	border-radius: 7px; background: var(--dfb-bi-papir); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.dfb-bi-kortet a:hover { border-color: var(--dfb-bi-ox); box-shadow: 0 2px 10px rgba(139, 26, 26, .12); }
.dfb-bi-k-navn { font-family: Georgia, 'Times New Roman', serif; font-weight: 600; font-size: 1.05rem; color: var(--dfb-bi-ox); }
.dfb-bi-k-en, .dfb-bi-k-meta { font-size: .82rem; color: var(--dfb-bi-graa); }
.dfb-bi-k-antal { margin-top: auto; padding-top: .3rem; font-size: .82rem; font-weight: 600; }

/* ---- Detalje ---- */
.dfb-bi-tilbage a { color: var(--dfb-bi-ox); text-decoration: none; }
.dfb-bi-hoved { border-bottom: 2px solid var(--dfb-bi-ox); padding-bottom: .6rem; margin-bottom: 1rem; }
.dfb-bi-navn { font-family: Georgia, 'Times New Roman', serif; margin: 0; color: var(--dfb-bi-ox); }
.dfb-bi-undernavn { margin: .2rem 0; color: var(--dfb-bi-graa); }
.dfb-bi-tal { margin: .3rem 0 0; }
.dfb-bi-afsnit { margin: 1.4rem 0; }
.dfb-bi-afsnit h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.15rem; margin: 0 0 .6rem; }
.dfb-bi-note { font-size: .8rem; color: var(--dfb-bi-graa); }
.dfb-bi-to { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 720px) { .dfb-bi-to { grid-template-columns: 1fr; } .dfb-bi-kort { height: 340px; } }
.dfb-bi-soejler { list-style: none; margin: 0; padding: 0; }
.dfb-bi-soejler li { display: grid; grid-template-columns: 9.5em 1fr 3.5em; gap: .5em; align-items: center; margin: .18rem 0; font-size: .9rem; }
.dfb-bi-s-navn { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dfb-bi-s-bar { height: 8px; background: var(--dfb-bi-linje); border-radius: 4px; overflow: hidden; }
.dfb-bi-s-bar span { display: block; height: 100%; background: var(--dfb-bi-ox); }
.dfb-bi-s-tal { text-align: right; font-variant-numeric: tabular-nums; color: var(--dfb-bi-graa); }
.dfb-bi-top { margin: 0; padding-left: 1.6rem; columns: 2; column-gap: 1.5rem; font-size: .92rem; }
.dfb-bi-top li { break-inside: avoid; margin: .12rem 0; }
.dfb-bi-top a { color: var(--dfb-bi-ox); }
.dfb-bi-top .dfb-bi-antal { margin-left: .3em; }
.dfb-bi-vaerker { width: 100%; border-collapse: collapse; font-size: .9rem; }
.dfb-bi-vaerker th, .dfb-bi-vaerker td { text-align: left; padding: .3rem .4rem; border-bottom: 1px solid var(--dfb-bi-linje); vertical-align: top; }
.dfb-bi-vaerker th { font-size: .8rem; color: var(--dfb-bi-graa); font-weight: 600; }
.dfb-bi-tal-k { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.dfb-bi-skjult { display: none; }
.dfb-bi-vis-alle { margin-top: .6rem; background: none; border: 1px solid var(--dfb-bi-ox); color: var(--dfb-bi-ox); border-radius: 5px; padding: .35rem .8rem; cursor: pointer; }
.dfb-bi-vis-alle:hover { background: var(--dfb-bi-ox); color: #fff; }
.dfb-bi-links ul { margin: 0; padding-left: 1.1rem; }
.dfb-bi-links a { color: var(--dfb-bi-ox); }
.dfb-bi-tom { font-style: italic; color: var(--dfb-bi-graa); }

/* Sortering i vers-popup (1.0.1) */
.dfb-bi-sort { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .6rem; }
.dfb-bi-sort-lbl { font-size: .82rem; color: var(--dfb-bi-graa); margin-right: .2rem; }
.dfb-bi-sort-knap { font: inherit; font-size: .82rem; line-height: 1.2; padding: .28rem .75rem; border: 1px solid #d6c8b4; border-radius: 999px; background: #fffdf9; color: #5a3e28; cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.dfb-bi-sort-knap:hover { border-color: var(--dfb-bi-ox); color: var(--dfb-bi-ox); }
.dfb-bi-sort-knap[aria-pressed="true"] { background: var(--dfb-bi-ox); border-color: var(--dfb-bi-ox); color: #fff; }
.dfb-bi-sort-knap:focus-visible { outline: 2px solid var(--dfb-bi-ox); outline-offset: 2px; }
