/* DFB Diskursanalyse – visning (bruges ogsaa i backendens forhaandsvisning). */

.dfb-dk {
	--dk-blaek: var(--ny-blaek, #2a201a);
	--dk-graa: var(--ny-graa, #6b6058);
	--dk-kant: var(--ny-kant, #e4dccf);
	--dk-linje: #d9cfbf;
	--dk-oxblod: var(--ny-oxblod, #8b1a1a);
	font-family: var(--ny-sans, 'Source Sans 3', system-ui, sans-serif);
	color: var(--dk-blaek);
}

.dfb-dk-enhed { margin: 0 0 18px; }
.dfb-dk-enhed-top {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	padding: 0 0 6px;
	margin: 0 0 2px;
	border-bottom: 1.5px solid var(--dk-linje);
}
.dfb-dk-ref { font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--dk-oxblod); white-space: nowrap; }
.dfb-dk-titel { font-family: var(--ny-display, Georgia, serif); font-size: 17px; font-weight: 600; color: var(--dk-blaek); }
.dfb-dk-forhold { font-size: 12.5px; color: var(--dk-graa); font-style: italic; }
.dfb-dk-sig { font-style: normal; }

.dfb-dk-led {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: baseline;
	padding: 5px 0;
	border-bottom: 1px solid #f1ece4;
}
.dfb-dk-tekst {
	font-family: var(--ny-serif, Georgia, 'Times New Roman', serif);
	font-size: 16px;
	line-height: 1.55;
}
.dfb-dk-n1 .dfb-dk-tekst { padding-left: 22px; border-left: 2px solid var(--dk-linje); margin-left: 2px; }
.dfb-dk-n2 .dfb-dk-tekst { padding-left: 22px; border-left: 2px solid var(--dk-linje); margin-left: 28px; }
.dfb-dk-n3 .dfb-dk-tekst { padding-left: 22px; border-left: 2px solid var(--dk-linje); margin-left: 54px; }
.dfb-dk-vnr { font-family: var(--ny-sans, system-ui, sans-serif); font-size: 11px; font-weight: 700; color: var(--dk-oxblod); margin-right: 3px; }

.dfb-dk-signal { font-size: 12px; color: var(--dk-graa); white-space: nowrap; display: none; }
.dfb-dk--signaler .dfb-dk-signal,
.dfb-dk--redaktoer .dfb-dk-signal { display: inline; }

.dfb-dk-tag {
	justify-self: start;
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	padding: 2px 8px;
	border-radius: 999px;
	white-space: nowrap;
	cursor: default;
}
.dfb-dk-e-hovedudsagn   { background: #ecebfb; color: #3c3489; }
.dfb-dk-e-grund         { background: #e1f5ee; color: #085041; }
.dfb-dk-e-foelge        { background: #ece9e1; color: #444441; }
.dfb-dk-e-formaal       { background: #e6f1fb; color: #0c447c; }
.dfb-dk-e-betingelse    { background: #dfeefb; color: #0c447c; }
.dfb-dk-e-modsaetning   { background: #faeeda; color: #633806; }
.dfb-dk-e-uddybning     { background: #faece7; color: #712b13; }
.dfb-dk-e-tilfoejelse   { background: #fbeaf0; color: #72243e; }
.dfb-dk-e-omstaendighed { background: #fff; color: var(--dk-graa); box-shadow: inset 0 0 0 1px #c9c1b4; }
.dfb-dk-e-parallel      { background: #eaf3de; color: #27500a; box-shadow: inset 0 0 0 1px #c0dd97; }
.dfb-dk-e-sammenligning { background: #fcebeb; color: #791f1f; box-shadow: inset 0 0 0 1px #f7c1c1; }

.dfb-dk-tvivl { color: #b26b00; font-family: var(--ny-sans, system-ui, sans-serif); cursor: help; }
.dfb-dk-note { display: block; font-family: var(--ny-sans, system-ui, sans-serif); font-size: 12.5px; color: #8a5a00; margin-top: 2px; }

.dfb-dk-forklaring {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	padding-top: 10px;
	font-size: 12.5px;
	color: var(--dk-graa);
}
.dfb-dk-fk { display: inline-flex; align-items: baseline; gap: 6px; }

.dfb-dk-ikke-godkendt { background: #fff6e0; border-left: 3px solid #b26b00; padding: 8px 12px; font-size: 14px; }

@media (max-width: 640px) {
	.dfb-dk-led { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.dfb-dk-signal { white-space: normal; }
	.dfb-dk-n2 .dfb-dk-tekst { margin-left: 14px; }
	.dfb-dk-n3 .dfb-dk-tekst { margin-left: 26px; }
}

/* --- Widget ---------------------------------------------------------- */

.dfb-dk-w-tekst { margin: 0 0 10px; font-size: 14px; line-height: 1.45; color: var(--ny-graa, #6b6058); }
.dfb-dk-w-knap {
	display: inline-block;
	padding: 8px 16px;
	border: none;
	border-radius: 999px;
	background: var(--ny-oxblod, #8b1a1a);
	color: #fff;
	font: 600 14px/1.2 var(--ny-sans, system-ui, sans-serif);
	cursor: pointer;
}
.dfb-dk-w-knap:hover { background: var(--ny-oxblod-moerk, #6e1414); }
.dfb-dk-w-red { margin: 8px 0 0; font-size: 12.5px; color: #8a5a00; }
.dfb-dk-w-red a { color: inherit; }

/* --- Overlay --------------------------------------------------------- */

.dfb-dk-overlay {
	position: fixed;
	inset: 0;
	z-index: 100050;
	background: rgba(20, 14, 10, .55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 5vh 16px;
	overflow-y: auto;
}
.dfb-dk-overlay[hidden] { display: none; }
.dfb-dk-pop {
	position: relative;
	width: 100%;
	max-width: 860px;
	background: #fff;
	border-radius: 14px;
	padding: 26px 28px 20px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
}
.dfb-dk-luk {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: none;
	font-size: 26px;
	line-height: 1;
	color: var(--ny-graa, #6b6058);
	cursor: pointer;
}
.dfb-dk-luk:hover { background: #f4ece0; color: var(--ny-oxblod, #8b1a1a); }
.dfb-dk-over { margin: 0 0 2px; font: 600 12px/1.2 var(--ny-sans, system-ui, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--ny-oxblod, #8b1a1a); }
.dfb-dk-pop-titel { margin: 0 40px 6px 0; font-family: var(--ny-display, Georgia, serif); font-size: 26px; }
.dfb-dk-signalvalg { display: inline-flex; gap: 6px; align-items: center; margin: 0 0 14px; font: 14px var(--ny-sans, system-ui, sans-serif); color: var(--ny-graa, #6b6058); cursor: pointer; }
.dfb-dk-kilde { margin: 14px 0 0; font: 12.5px/1.45 var(--ny-sans, system-ui, sans-serif); color: var(--ny-graa, #6b6058); }
@media (max-width: 640px) { .dfb-dk-pop { padding: 22px 16px 16px; } .dfb-dk-overlay { padding: 0; } .dfb-dk-pop { border-radius: 0; min-height: 100%; } }

/* --- Brugerens egen version ----------------------------------------- */

.dfb-dk-min-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 0 0 14px;
	padding: 10px 12px;
	background: #f8f4ec;
	border-radius: 10px;
	font: 14px/1.45 var(--ny-sans, system-ui, sans-serif);
	color: var(--ny-graa, #6b6058);
}
.dfb-dk-min-bar[hidden], .dfb-dk-min-fod[hidden] { display: none; }
.dfb-dk-min-tekst { margin: 0; flex: 1 1 260px; }
.dfb-dk-min-tekst a { color: var(--ny-oxblod, #8b1a1a); font-weight: 600; }
.dfb-dk-min-status { font-size: 13px; color: #3b6d11; }
.dfb-dk-min-advarsel { flex-basis: 100%; font-size: 13px; color: #8a5a00; }
.dfb-dk-min-vaelg { display: inline-flex; border: 1px solid #d9cfbf; border-radius: 999px; overflow: hidden; }
.dfb-dk-min-vaelg .dfb-dk-k { border: none; border-radius: 0; }
.dfb-dk-min-vaelg .dfb-dk-k.er-valgt { background: var(--ny-oxblod, #8b1a1a); color: #fff; }

.dfb-dk-k {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 14px;
	border: 1px solid #d9cfbf;
	border-radius: 999px;
	background: #fff;
	color: var(--ny-blaek, #2a201a);
	font: 600 13.5px/1.2 var(--ny-sans, system-ui, sans-serif);
	cursor: pointer;
}
.dfb-dk-k:hover:not(:disabled) { border-color: var(--ny-oxblod, #8b1a1a); color: var(--ny-oxblod, #8b1a1a); }
.dfb-dk-k:disabled { opacity: .45; cursor: default; }
.dfb-dk-k--hoved { background: var(--ny-oxblod, #8b1a1a); border-color: var(--ny-oxblod, #8b1a1a); color: #fff; }
.dfb-dk-k--hoved:hover:not(:disabled) { background: var(--ny-oxblod-moerk, #6e1414); color: #fff; }
.dfb-dk-k--lille { min-width: 28px; height: 28px; padding: 0 6px; font-size: 14px; }
.dfb-dk-k--fare { color: #a32d2d; }

.dfb-dk-min-fod { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--ny-kant, #e4dccf); }
.dfb-dk-min-label { flex-basis: 100%; font: 600 13px var(--ny-sans, system-ui, sans-serif); color: var(--ny-graa, #6b6058); }
.dfb-dk-min-besked { flex-basis: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #d9cfbf; border-radius: 8px; font: 14px/1.45 var(--ny-sans, system-ui, sans-serif); }
.dfb-dk-min-fejl { flex-basis: 100%; margin: 0; font-size: 13px; color: #a32d2d; }
.dfb-dk-min-fejl:empty { display: none; }

/* Redigering */
.dfb-dk--ret .dfb-dk-led { grid-template-columns: 132px minmax(0, 1fr) auto; }
.dfb-dk-ret-top { gap: 6px 8px; align-items: center; }
.dfb-dk-ret-titel { flex: 1 1 200px; min-width: 0; padding: 5px 8px; border: 1px solid #d9cfbf; border-radius: 6px; font-family: var(--ny-display, Georgia, serif); font-size: 16px; }
.dfb-dk-ret-forhold { max-width: 100%; padding: 4px 6px; border: 1px solid #d9cfbf; border-radius: 6px; font-size: 13px; }
.dfb-dk-ret-etiket { appearance: auto; border: none; font-family: var(--ny-sans, system-ui, sans-serif); cursor: pointer; max-width: 132px; }
.dfb-dk-ret-styr { display: inline-flex; gap: 4px; white-space: nowrap; }
.dfb-dk-ret-led .dfb-dk-tekst { align-self: center; }

/* Markering af det, brugeren har aendret */
.dfb-dk-led.er-aendret .dfb-dk-tag { outline: 2px dashed currentColor; outline-offset: 1px; }
.dfb-dk-enhed.er-aendret > .dfb-dk-enhed-top,
.dfb-dk-ret-top.er-aendret { border-bottom-style: dashed; border-bottom-color: var(--ny-oxblod, #8b1a1a); }

@media (max-width: 640px) {
	.dfb-dk--ret .dfb-dk-led { grid-template-columns: minmax(0, 1fr) auto; }
	.dfb-dk--ret .dfb-dk-tekst { grid-column: 1 / -1; grid-row: 2; }
}

/* Afsnit der uddyber eller begrunder det foregående (1.3.2) */
.dfb-dk-enhed--under { margin-left: 22px; padding-left: 14px; border-left: 2px solid var(--dk-linje); }
@media (max-width: 600px) { .dfb-dk-enhed--under { margin-left: 8px; padding-left: 10px; } }

/* Visningsvalg: kapiteloversigt / tekst og funktion (1.4.0) */
.dfb-dk-visvalg { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 14px; }
.dfb-dk-visvalg[hidden] { display: none; }
.dfb-dk-visvalg .dfb-dk-signalvalg { margin: 0; }
.dfb-dk-vis-seg { display: inline-flex; border: 1px solid #d9cfbf; border-radius: 999px; overflow: hidden; }
.dfb-dk-vis-seg .dfb-dk-k { border: none; border-radius: 0; }
.dfb-dk-vis-seg .dfb-dk-k + .dfb-dk-k { border-left: 1px solid #d9cfbf; }
.dfb-dk-vis-seg .dfb-dk-k.er-valgt { background: var(--ny-oxblod, #8b1a1a); color: #fff; }
.dfb-dk-signalvalg.er-slaaet-fra { opacity: .45; cursor: default; }

.dfb-dk--oversigt .dfb-dk-led,
.dfb-dk--oversigt .dfb-dk-forklaring { display: none; }
.dfb-dk--oversigt .dfb-dk-enhed { margin-bottom: 0; }
.dfb-dk--oversigt .dfb-dk-enhed-top { padding: 9px 0; margin: 0; border-bottom: 1px solid #f1ece4; }
.dfb-dk--oversigt .dfb-dk-ref { min-width: 88px; }
@media (max-width: 640px) { .dfb-dk-vis-seg .dfb-dk-k { padding: 6px 10px; font-size: 13px; } }

/* Vis indrykninger slaaet fra (1.4.1): alle afsnit staar ude til venstre */
.dfb-dk--flad .dfb-dk-enhed--under { margin-left: 0; padding-left: 0; border-left: none; }

/* Kapiteloversigt viser kun reference og titel – forholdet (fx 'begrunder det foregående · γάρ') kun i Tekst og funktion (1.4.2) */
.dfb-dk--oversigt .dfb-dk-forhold { display: none; }

/* Godkend fra laeseren (1.5.0) */
.dfb-dk-w-godkend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--ny-kant, #e4dccf); font-size: 13.5px; }
.dfb-dk-w-godkendt { color: #3b6d11; font-weight: 600; }
.dfb-dk-w-status { color: #8a5a00; flex-basis: 100%; }
.dfb-dk-ikke-godkendt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.dfb-dk-godkend-knap { margin-left: auto; }


/* --- 1.6.0: Tekstens opbygning vist i stedet for teksten ---------------- */
.dfb-dk-inline-aktiv > .dfb-vers-liste { display: none !important; }
.dfb-dk-pop.dfb-dk-pop--inline { max-width: none; width: auto; padding: 0; margin: 0 0 1.25rem; background: transparent; box-shadow: none; border-radius: 0; min-height: 0; }
.dfb-dk-pop--inline .dfb-dk-luk,
.dfb-dk-pop--inline .dfb-dk-pop-titel { display: none; }
.dfb-dk-inline-note { font-style: italic; opacity: .75; margin: 0 0 1em; font-size: .92rem; }
