/* Publikationsliste (Frontend und Editor) – beide Darstellungen und die einzelne Publikation.
   Nach dem Prototyp: index.html „Die Studien hinter dem Modell“ (fk.css .publikationen/.netz/.pub*)
   und theorie.html #literatur (theorie.css .literatur/.quelle). */

.fk-publikationen.alignfull { margin-block: 0; }

/* Kopf rechts: kurzer Text und/oder Textlink */
.fk-publikationen__kopf-rechts { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-3); }
.fk-publikationen__kopf-rechts p { margin: 0; }
.fk-publikationen--netz .fk-publikationen__kopf-rechts { align-items: flex-end; }
@media (max-width: 52rem) { .fk-publikationen--netz .fk-publikationen__kopf-rechts { align-items: flex-start; } }

/* Hinweis unter der Liste (z. B. laufende Studie mit Präregistrierung).
   Ein ganzer Satz: Etikett-Schrift statt Daten-Schrift (Stil „Dunkel“ Plex Mono wie gebaut, „Klinisch“ Plex Sans) */
.fk-publikationen .fk-publikationen__hinweis {
	margin: var(--s-5) 0 0; max-width: 60rem;
	font-family: var(--etikett-schrift); font-size: calc(.72rem * var(--etikett-mass)); line-height: 1.6; letter-spacing: calc(.02em * var(--sperrung)); color: var(--text-leise);
}
.fk-publikationen .fk-publikationen__hinweis a { color: var(--akzent); text-underline-offset: 2px; }
.fk-publikationen--netz .fk-publikationen__hinweis { color: var(--buehne-leise); }
.fk-publikationen--netz .fk-publikationen__hinweis a { color: var(--buehne-akzent); }

/* Gestaffeltes Einblenden der Einträge */
.fk-publikationen :is(.fk-pub-liste, .fk-literatur) > :nth-child(2) { --i: 1; }
.fk-publikationen :is(.fk-pub-liste, .fk-literatur) > :nth-child(3) { --i: 2; }
.fk-publikationen :is(.fk-pub-liste, .fk-literatur) > :nth-child(4) { --i: 3; }
.fk-publikationen :is(.fk-pub-liste, .fk-literatur) > :nth-child(5) { --i: 4; }
.fk-publikationen :is(.fk-pub-liste, .fk-literatur) > :nth-child(n+6) { --i: 5; }

/* ---------- Darstellung „Netz“ (dunkel) ---------- */
.fk-publikationen__raster { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--s-8); align-items: start; }
.fk-publikationen__liste { min-width: 0; }
.fk-netz { position: sticky; top: calc(var(--header-hoehe) + 2rem); aspect-ratio: 1; }
.fk-netz canvas, .fk-netz__bild { display: block; width: 100%; height: 100%; }
/* Standbild (netz-bild.php): ohne JavaScript und bei angehaltener Animation statt der Leinwand –
   netz.js zeichnet nichts, wenn die Pause schon beim Laden gilt */
.fk-netz__ruhe { position: absolute; inset: 0; }
.fk-js .fk-netz__ruhe { display: none; }
.fk-js.fk-bewegung-aus .fk-netz__ruhe { display: block; }
.fk-js.fk-bewegung-aus .fk-netz canvas { visibility: hidden; }
/* Pause-Knopf sitzt unten rechts am Netz statt oben in einem Seitenkopf */
.fk-netz .fk-bewegung-knopf { top: auto; bottom: 0; right: 0; }

.fk-publikationen .fk-pub-liste { list-style: none; margin: 0; padding: 0; }
.fk-publikationen .fk-pub { border-top: 1px solid var(--buehne-linie); padding: var(--s-5) 0; margin: 0; display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--s-4); }
.fk-publikationen .fk-pub:last-child { border-bottom: 1px solid var(--buehne-linie); }
.fk-publikationen .fk-pub__jahr { font-family: var(--schrift-daten); font-size: .8rem; color: var(--buehne-akzent); padding-top: .3rem; }
.fk-publikationen .fk-pub__text { grid-column: 2; min-width: 0; }
.fk-publikationen .fk-pub__titel { font-family: var(--schrift-titel); font-weight: calc(620 * var(--gewicht-mass)); font-size: 1.15rem; line-height: 1.25; color: var(--buehne-titel); margin: 0 0 .4rem; }
.fk-publikationen .fk-pub__titel a {
	color: inherit; text-decoration: none;
	background: linear-gradient(var(--buehne-akzent), var(--buehne-akzent)) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--bewegung);
}
.fk-publikationen .fk-pub__titel a:hover, .fk-publikationen .fk-pub__titel a:focus-visible { background-size: 100% 1px; }
.fk-publikationen .fk-pub__autoren { font-size: .92rem; color: var(--buehne-leise); margin: 0; }
/* Fundstelle: heller als im Prototyp (buehne-gedaempft), damit die kleine Schrift lesbar bleibt (Kontrast > 4,5 : 1).
   Zeitschriftennamen sind Text, keine Zahlen: Etikett-Schrift wie beim Hinweis oben */
.fk-publikationen .fk-pub__ort { font-family: var(--etikett-schrift); font-size: calc(.72rem * var(--etikett-mass)); color: var(--buehne-quelle); margin: .35rem 0 0; letter-spacing: calc(.02em * var(--sperrung)); }

@media (max-width: 56rem) {
	.fk-publikationen__raster { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); }
	.fk-netz { position: relative; top: 0; width: 100%; max-width: 22rem; margin: 0 auto; }
}
@media (max-width: 30rem) {
	.fk-publikationen .fk-pub { grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--s-3); }
	.fk-publikationen .fk-pub__titel { font-size: 1.05rem; }
}

/* ---------- Darstellung „Karten“ (hell) ---------- */
.fk-publikationen .fk-literatur { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); }
.fk-publikationen .fk-quelle {
	display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; gap: var(--s-5); align-items: start; margin: 0;
	padding: var(--s-5); background: var(--karte); border: 1px solid var(--linie); border-radius: var(--radius-l); box-shadow: var(--schatten-karte); transition: border-color .3s;
}
.fk-publikationen .fk-quelle:hover { border-color: var(--akzent); }
.fk-publikationen .fk-quelle__jahr { font-family: var(--schrift-titel); font-weight: calc(650 * var(--gewicht-mass)); font-stretch: 112%; font-size: 1.6rem; color: var(--akzent); line-height: 1; }
.fk-publikationen .fk-quelle__text { grid-column: 2; min-width: 0; }
.fk-publikationen .fk-quelle__titel { font-family: var(--schrift-titel); font-weight: calc(650 * var(--gewicht-mass)); font-size: 1.08rem; line-height: 1.3; color: var(--titel); margin: 0 0 .3rem; }
.fk-publikationen .fk-quelle__autoren { font-size: .95rem; color: var(--text); margin: 0; }
.fk-publikationen .fk-quelle__ort { font-family: var(--etikett-schrift); font-size: calc(.72rem * var(--etikett-mass)); color: var(--text-leise); margin: .3rem 0 0; }
.fk-publikationen .fk-quelle__doi {
	grid-column: 3;
	font-family: var(--schrift-daten); font-size: .74rem; white-space: nowrap; color: var(--akzent); text-decoration: none;
	border: 1px solid var(--linie-stark); padding: .35rem .6rem; border-radius: 99px; transition: border-color .2s;
}
.fk-publikationen .fk-quelle__doi:hover, .fk-publikationen .fk-quelle__doi:focus-visible { border-color: var(--akzent); }
@media (max-width: 52rem) {
	.fk-publikationen .fk-quelle { grid-template-columns: minmax(0, 1fr); gap: var(--s-2); }
	.fk-publikationen :is(.fk-quelle__text, .fk-quelle__doi) { grid-column: auto; }
	.fk-publikationen .fk-quelle__doi { justify-self: start; margin-top: var(--s-2); white-space: normal; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
	.fk-publikationen .fk-pub__titel a, .fk-publikationen .fk-quelle { transition: none; }
}

/* ---------- Nur im Editor ---------- */
.fk-publikationen--editor .fk-netz { position: relative; top: 0; }
.fk-publikationen--editor .fk-pub__ohne-doi { display: block; margin-top: .35rem; font-family: var(--etikett-schrift); font-size: calc(.66rem * var(--etikett-mass)); color: var(--warnung-text); }
.fk-publikationen--editor .fk-quelle__doi--leer { color: var(--hinweis); border-style: var(--strich-art); }
/* Plus zum Anhängen: WordPress legt es absolut unten rechts in die Liste – dort verdeckte es die letzte
   Fundstelle bzw. die Ecke der letzten Karte. Hier steht es unter der Liste, rechtsbündig. */
.fk-publikationen.fk-publikationen--editor :is(.fk-pub-liste, .fk-literatur) > .block-list-appender {
	position: static; width: fit-content; margin: var(--s-3) 0 0 auto;
}
/* Der letzte Eintrag ist im Editor nicht mehr :last-child (danach folgt das Plus) – Abschlusslinie wie im Frontend */
.fk-publikationen--editor .fk-pub:has(+ .block-list-appender) { border-bottom: 1px solid var(--buehne-linie); }
.fk-publikationen--editor .fk-textlink [data-rich-text-placeholder] { opacity: .6; }
