/* ==========================================================================
   Verweiskarte auf eigene Beiträge  (.kk-verweis)
   --------------------------------------------------------------------------
   Ersetzt die oEmbed-Einbettung bei Adressen der eigenen Domain. Ein einziges
   Ziel, die ganze Fläche klickbar, Höhe vom ersten Bildpunkt an bekannt.

   Entwurf: wissen-ux/agenten-beitraege/2026-10-04-elke-klein-verweisboxen.md,
   FASSUNG B ("Tafel") - Betreiberentscheidung vom 04.10.2026, zweite Runde,
   nach Sichtung der Fassung A im Betrieb. elke-klein hatte A empfohlen und B
   als Austauschblock von zwölf Zeilen bei gleichem Markup ausgearbeitet; genau
   dieser Block ist hier eingesetzt, unverändert in den Werten.

   Die Begründungen im Entwurf sind maßgeblich; hier stehen sie gekürzt und nur
   dort ausführlich, wo die Umsetzung abweicht.

   ZWEI ABWEICHUNGEN VOM ENTWURF, BEIDE BENANNT:

   1. Das Markup ist <span>, nicht <aside>/<div>/<p> (Auflage 3 der
      Sperre-1-Prüfung: die VG-WORT-Zählmarke fällt auf die letzte `</p>`
      zurück und dürfte nicht in der Karte landen). Deshalb stehen hier
      `display`-Angaben, die der Entwurf nicht brauchte: ein <span> ist
      standardmäßig inline, und auf inline-Elementen wirken weder
      `aspect-ratio` noch `overflow` noch `margin-block`.

   2. Die Zeile .kk-verweis__mehr ("Hier weiterlesen ›") ist neu gegenüber dem
      Entwurf - Betreiberwortlaut vom 04.10.2026. Sie ist KEIN Verweis: das
      eine Klickziel bleibt a.kk-verweis__link am Titel. Der Winkel ist vom
      Titel hierher gewandert.

   FASSUNGSGESCHICHTE: 1.0.4 war Fassung A ohne Anriss. 1.1.0 ist Fassung B
   mit Anriss und Weiterlesen-Zeile. Beide Änderungen kehren Entscheidungen
   vom selben Tag um; das ist Betreiberwille und kein Versehen.
   1.1.1 behebt EINEN in 1.1.0 gemessenen Fehler: der Fokusring setzte den
   Eckenradius von 4 px auf 2 px zurück (Rest aus Fassung A) - die Ecken
   sprangen beim Antabben. Siehe die Regel am Fokusring.

   GRUNDSATZ, unverändert: kein neues Merkmal. Jeder Wert unten ist ein
   vorhandenes Token oder eine Zahl, die im Entwurf begründet ist.
   ========================================================================== */

/*
 * Die Karte steht in figure.wp-block-embed > div.wp-block-embed__wrapper.
 * Die Figur bringt eigene Außenabstände mit; die Karte setzt ihre eigenen
 * (24/40). Beides zusammen wäre doppelt.
 *
 * :has() ist im Haus bereits Voraussetzung (kk.css:2745, 2890). Ohne :has()
 * steht die Karte etwas luftiger - kein Fehler, nur nicht die entworfene
 * Rhythmik.
 */
figure.wp-block-embed:has(> .wp-block-embed__wrapper > .kk-verweis) {
	margin-block: 0;
}

.kk-verweis {
	/*
	 * SATZSPIEGEL, NICHT SPALTENBREITE - Fortschreibung von E-75.
	 *
	 * Gemessen 04.10.2026, 1440 px: der Einbettungsrahmen misst 734 px ab
	 * x=138, der Absatz daneben 672 px - 62 px Überstand. Derselbe Überstand,
	 * den der Betreiber am 25.09.2026 an Zitat und Faktenkasten beanstandet
	 * hat. E-75 hat Einbettungen ausgenommen, weil sie fremdes Markup waren;
	 * ab jetzt sind sie unser eigenes, und es gilt die Begründung aus E-67.
	 *
	 * Rückfallwert 42rem, falls das Blatt einmal ohne kk.css geladen wird.
	 */
	max-width: var(--kk-prosa-mass, 42rem);

	/*
	 * <span> ist inline - ohne das hier wirkt nichts von dem, was folgt.
	 */
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--kk-sm, 0.5rem);

	/*
	 * Bezugsrahmen für die Ganzflächen-Klickfläche. Ohne das legt sich das
	 * ::after auf den nächsten positionierten Vorfahren - im Zweifel auf
	 * .wp-block-embed__wrapper oder .kk-prosa.
	 */
	position: relative;

	/*
	 * ASYMMETRISCH, MIT GRUND: die Karte ist eine Anmerkung zu dem, was eben
	 * gesagt wurde, also sitzt sie näher am Absatz davor als am Absatz
	 * danach. Beide Werte sind vorhandene Tokens (24 px / 40 px).
	 */
	margin-block: var(--kk-lg, 1.5rem) var(--kk-xl, 2.5rem);

	/*
	 * FASSUNG B "TAFEL" - der Austauschblock aus dem Entwurf, Abschnitt 5,
	 * in seinen Werten unverändert. Er ersetzt die Fassung-A-Zeilen
	 * `padding-top: 0.75rem` und `border-top: 3px solid --kk-primary`.
	 *
	 * Die Reihenfolge ist tragend: `border` setzt alle vier Kanten, erst
	 * danach überschreiben `border-left` und `border-top` einzelne. Umgedreht
	 * wäre der rote Balken wieder weg.
	 *
	 * `border-top` steht ausdrücklich da, obwohl `border` ihn schon gesetzt
	 * hat: so ist im Blatt auf einen Blick zu sehen, dass die Haarlinie aus
	 * Fassung A aufgehoben ist, und nicht bloß durch Weglassen verschwunden.
	 */
	padding: var(--kk-md, 1rem);
	background: var(--kk-low, #fff0ee);
	border: 1px solid var(--kk-outline-var, #e6bdb8);
	border-left: 3px solid var(--kk-primary, #94000b);
	border-top: 1px solid var(--kk-outline-var, #e6bdb8);
	border-radius: var(--kk-r, 0.25rem);

	/*
	 * Nur Farbe und Schatten wechseln beim Überfahren - nichts, was die
	 * Geometrie anfasst. Eine Karte, die beim Überfahren ihre Höhe oder
	 * Rahmenstärke ändert, schiebt den Artikel unter dem Zeiger weg.
	 */
	transition: border-color 0.2s ease, box-shadow 0.2s ease;

	/*
	 * SATZSPIEGEL BLEIBT 672 px (E-120), UND ZWAR AUSSEN.
	 *
	 * Ohne diese Zeile käme bei `content-box` zum 672-px-Satzspiegel der
	 * Innenabstand (2 x 16 px) und der Rahmen (1 + 3 px) HINZU - die Karte
	 * stünde 708 px breit und damit wieder 36 px über der Textkante. Genau
	 * der Überstand, den E-75/E-120 beseitigt haben. Das Haus setzt
	 * border-box global; die Zeile ist der Riegel dagegen, dass eine spätere
	 * Zurücksetzung das still wieder aufmacht.
	 */
	box-sizing: border-box;
}

/* ---- Rubrikschild ------------------------------------------------------- */

.kk-verweis__rubrik {
	/*
	 * Rasterkinder werden sonst auf volle Spaltenbreite gedehnt; .kk-chip ist
	 * inline-flex und sähe dann wie ein Balken aus.
	 */
	justify-self: start;
}

/* ---- Bild --------------------------------------------------------------- */

.kk-verweis__bild {
	/*
	 * .kk-media bringt aspect-ratio: 3/2, overflow: hidden, den Haus-Beschnitt
	 * --kk-bildanker und die Platzhalterfläche mit - aber nur auf einem
	 * Element, das nicht inline ist. Daher display: block.
	 *
	 * DAS VERHÄLTNIS IST PFLICHT, NICHT GESCHMACK. Ausgezählt am Bestand
	 * (88 Ziele): nur 10 sind 3:2, fünf sind HOCHFORMAT (0,75). Ohne eigenes
	 * Verhältnis springt die Karte von Verweis zu Verweis in der Höhe - und
	 * die Höhe wäre erst nach dem Bildladen bekannt. Genau das verhindert
	 * P-CLS.
	 */
	display: block;
	align-self: start;
}

/*
 * DER BESCHNITT MUSSTE ZURÜCKGEHOLT WERDEN - gemessen im echten Frontend am
 * 04.10.2026, 1024 px, Chromium.
 *
 * BELEGT: `.kk-media__img` setzt `width/height: 100%` (kk.css:507) und hat die
 * Spezifität (0,1,0). Im Fließtext liegt die Karte aber in `.kk-prosa`, und
 * dort gilt `.kk-prosa img { height: auto }` - Spezifität (0,1,1). Die
 * Haus-Regel verliert.
 *
 * FOLGE OHNE DIESE REGEL (gemessen): bei einem quadratischen Zielbild stand
 * das <img> 152 x 152 px in einer 152 x 101 px hohen Fläche; der Überstand war
 * durch `overflow: hidden` nur verdeckt. Bei Bildern BREITER als 3:2 (im
 * Bestand vier: zwei mit 1,75 und zwei mit 1,66) wäre es umgekehrt - das Bild
 * füllte die Höhe NICHT und die rosa Platzhalterfläche (--kk-highest) stünde
 * als Streifen darunter.
 *
 * Das Haus-Kartensystem lag nie in `.kk-prosa` - diese Kollision konnte der
 * Entwurf nicht vorhersehen. Sie wird hier mit (0,2,0) aufgelöst und NICHT mit
 * `!important`.
 */
.kk-verweis .kk-media__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Textspalte --------------------------------------------------------- */

/*
 * FASSUNG 1.1.0: diese Ebene ist wieder da. In 1.0.4 war sie entfallen, weil
 * sie ein Einzelkind getragen hätte; jetzt trägt sie Titel, Anriss und die
 * Weiterlesen-Zeile - genau das, wofür der Entwurf sie vorgesehen hat.
 *
 * <span> ist inline: ohne display wirkt weder flex noch gap.
 */
.kk-verweis__text {
	display: flex;
	flex-direction: column;
	gap: var(--kk-xs, 0.25rem);

	/*
	 * Ohne min-width: 0 sitzt die Textspalte auf ihrer min-content-Breite,
	 * also auf der Breite des längsten Wortes. Dieselbe Falle wie bei
	 * .kk-card--kompakt (kk.css:3157). Stand in 1.0.4 am Titel, weil es diese
	 * Ebene nicht gab; hier gehört es hin.
	 */
	min-width: 0;
	overflow-wrap: anywhere;

	/*
	 * Oben angeschlagen, nicht mittig. In 1.0.4 stand der Titel allein neben
	 * einem 101 px hohen Bild und musste mittig gesetzt werden, sonst sah er
	 * abgerutscht aus. Mit Anriss und Weiterlesen-Zeile ist die Textspalte
	 * regelmäßig HÖHER als das Bild; mittig wäre dann der Titel, der nach
	 * oben aus der Bildkante herausragt.
	 */
	align-self: start;
}

/* ---- Titel -------------------------------------------------------------- */

.kk-verweis__titel {
	margin: 0;
	font-family: var(--kk-font-head, "Oswald", "Arial Narrow", system-ui, sans-serif);
	font-size: var(--kk-fs-sm, 1.125rem); /* 18 px */
	line-height: 1.3;

	/*
	 * KEINE VERSALIEN, anders als .kk-card__title. Auf der Rasterkarte sind
	 * Versalien richtig - dort stehen viele Titel nebeneinander und die
	 * Versalhöhe gibt der Zeile ein Band. Hier steht EIN Titel mitten im
	 * gemischt gesetzten Fließtext; gemessener Median 62 Zeichen, Maximum 96.
	 * Die Unterscheidung zum Fließtext leistet die Schriftfamilie (Oswald
	 * gegen Open Sans), nicht die Versalsetzung.
	 */
	text-transform: none;

	/*
	 * Deckel bei drei Zeilen. Gemessenes Maximum 96 Zeichen; bei 18 px in der
	 * 508 px breiten Textspalte zwei Zeilen, am Telefon in 328 px drei bis
	 * vier. Vier Zeilen Oswald fett sind eine Überschrift, kein Verweis.
	 *
	 * display: -webkit-box macht den <span> zugleich zum Blockelement.
	 */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

/*
 * DIE RUHEFARBE DES TITELS BRAUCHT DREI KLASSEN - gemessen im echten
 * Frontend am 04.10.2026.
 *
 * BELEGT: `.kk-body .kk-prosa a { color: var(--kk-primary) }` in
 * kk-integration.css hat die Spezifität (0,2,1). Ein `.kk-verweis__titel a`
 * (0,2,0) verliert dagegen - unabhängig von der Ladereihenfolge. Gemessene
 * Folge: der Titel stand im RUHEZUSTAND rot; Ruhe- und Überfahrfassung waren
 * bis auf den Unterstrich nicht mehr unterscheidbar, und der Entwurf verlangt
 * genau diese Unterscheidung (Abschnitt 7.5).
 *
 * Zwei Klassen reichten NICHT: `.kk-verweis .kk-verweis__titel a` liegt
 * ebenfalls bei (0,2,1), und bei Gleichstand gewinnt das später geladene
 * Blatt - kk-integration.css. Erst die eigene Klasse am <a> bringt das CSS
 * auf (0,3,0) und gewinnt über die Klassenzahl, unabhängig von der
 * Ladereihenfolge. Deshalb trägt der Verweis die Klasse `kk-verweis__link`;
 * sie steht ausschließlich dafür. Kein `!important`, und keine Abhängigkeit
 * von kk-integration.css, die die Karte nicht braucht.
 *
 * Die Überfahr-, Fokus- und Gedrückt-Regeln weiter unten tragen schon drei
 * Klassen und waren von der Kollision nicht betroffen.
 */
.kk-verweis .kk-verweis__titel .kk-verweis__link {
	color: var(--kk-on-surface, #281715);
	text-decoration: none;
	transition: color 0.15s ease;
}

/*
 * DIE GANZE KARTE IST EIN ZIEL - und der Linktext bleibt der Titel.
 *
 * Das ist der Kern des Auftrags. Das Muster steht seit dem Relaunch bei
 * kk.css:2438 für .kk-card__title a ("Die ganze Karte ist anklickbar, ohne
 * verschachtelte Verweise."). Ein <a> um die ganze Karte hätte den
 * zugänglichen Namen auf bis zu 610 Zeichen aufgebläht.
 */
.kk-verweis .kk-verweis__titel .kk-verweis__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ---- Anriss ------------------------------------------------------------- */

/*
 * Der Anriss ist reiner Text in einem <span>, nie ein Verweis. Er liegt unter
 * der Ganzflächen-Klickfläche des einen Verweises - anklickbar, aber kein
 * eigenes Ziel.
 *
 * Die Zeichenzahl ist im PHP gedeckelt (KK_VERWEIS_TEASER_WORTE = 26, im
 * Bestand 130-230 Zeichen). Hier wird die HÖHE gedeckelt. Beides wird
 * gebraucht: der Wortdeckel schützt die VG-WORT-Zählung, der Zeilendeckel
 * das Layout - 26 Wörter brauchen in 466 px zwei bis drei Zeilen, in der
 * 292 px schmalen Telefonspalte aber bis zu fünf.
 */
.kk-verweis__teaser {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;

	margin: 0;
	color: var(--kk-on-surface-var, #5c403c);
	font-size: var(--kk-fs-body-md, 0.875rem); /* 14 px */
	line-height: var(--kk-lh-body-md, 1.57);

	/*
	 * Der Fließtext steht seit E-70/E-69 im Blocksatz. Der Anriss NICHT:
	 * drei Zeilen Blocksatz in einer 466 px schmalen Spalte reißen Löcher,
	 * und die letzte Zeile ist ohnehin abgeschnitten statt abgesetzt.
	 * `.kk-prosa` könnte den Blocksatz vererben - deshalb ausdrücklich.
	 */
	text-align: left;
	hyphens: none;
}

/* ---- "Hier weiterlesen" ------------------------------------------------- */

/*
 * KEIN VERWEIS. Das ist die tragende Eigenschaft dieser Zeile, nicht eine
 * Formsache: ein zweites <a> wäre ein zweites Klickziel und zerstörte den
 * Zweck des Umbaus. Sie steht außerdem AUSSERHALB des <a> im Markup, damit
 * der zugängliche Name des Verweises der Beitragstitel bleibt.
 *
 * Sie sieht deshalb absichtlich NICHT wie ein Verweis aus - keine
 * Unterstreichung im Ruhezustand, kein eigener Zeigerwechsel. Was sie
 * anbietet, bietet die ganze Karte an.
 */
.kk-verweis__mehr {
	display: block;
	margin-top: var(--kk-xs, 0.25rem);
	color: var(--kk-primary, #94000b);
	font-family: var(--kk-font-head, "Oswald", "Arial Narrow", system-ui, sans-serif);
	font-size: var(--kk-fs-body-md, 0.875rem);
	line-height: 1.3;
	letter-spacing: 0.02em;
	transition: color 0.15s ease;
}

.kk-verweis__pfeil {
	display: inline-block;
	color: inherit;
	white-space: nowrap;
	transition: transform 0.15s ease;
}

/* ---- Ab 30em: Bild links, Titel rechts ---------------------------------- */

/*
 * 30em = 480 px, gerechnet und nicht gewählt. Entscheidend ist die Breite der
 * KARTE, nicht die des Fensters: bei 390 px Fenster misst die Prosaspalte
 * 328 px; ein 120-px-Bild ließe 196 px Text, bei 18 px rund 18 Zeichen je
 * Zeile - der Median-Titel von 62 Zeichen also vierzeilig. Genau der Fehler,
 * den kk.css:2436 für die Nebenspalte dokumentiert. Bei 480 px misst die
 * Spalte rund 448 px, 120 px Bild lassen 316 px, also etwa 29 Zeichen.
 */
@media (min-width: 30em) {
	.kk-verweis {
		grid-template-columns: 7.5rem 1fr;
		column-gap: var(--kk-md, 1rem);
	}

	.kk-verweis__rubrik {
		grid-column: 1 / -1;
	}

}

/*
 * Am Telefon zwei Zeilen Anriss statt drei - so im Entwurf, Abschnitt 5.
 * In der 292 px schmalen Telefonspalte trägt eine Zeile rund 42 Zeichen; drei
 * Zeilen Anriss stünden dort unter einem drei- bis vierzeiligen Titel und die
 * Karte wäre höher als der Absatz, zu dem sie gehört.
 */
@media (max-width: 29.99em) {
	.kk-verweis__teaser {
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
}

/*
 * Ab 48em dieselbe Stufe wie .kk-card--kompakt (kk.css:3150). Kein neuer
 * Umschaltpunkt, keine neue Zahl.
 */
@media (min-width: 48em) {
	.kk-verweis {
		grid-template-columns: 9.5rem 1fr;
	}
}

/* ---- Karte ohne Bild ---------------------------------------------------- */

/*
 * Im heutigen Bestand haben 88 von 88 auflösbaren Zielen ein Beitragsbild -
 * der Fall tritt also nicht auf. Er tritt auf, sobald jemand ein Beitragsbild
 * entfernt. Dann fällt das Raster auf eine Spalte zurück, statt eine leere
 * 152-px-Spalte offen zu lassen.
 */
.kk-verweis:not(:has(.kk-verweis__bild)) {
	grid-template-columns: 1fr;
}

/* ---- Überfahren, Tastatur, Antippen ------------------------------------- */

/*
 * Fassung B: beim Überfahren wird der ganze Rahmen rot und die Tafel bekommt
 * den Haus-Schatten. `border-color` setzt alle vier Kanten - der linke Balken
 * bleibt 3 px, er wechselt nur von --kk-primary auf dieselbe Farbe wie die
 * anderen drei. Die Rahmenstärke ändert sich NICHT, also springt nichts.
 */
.kk-verweis:hover {
	border-color: var(--kk-primary, #94000b);
	box-shadow: var(--kk-schatten-2, 0 4px 16px -2px rgb(192 8 20 / 8%));
}

.kk-verweis:hover .kk-verweis__mehr {
	color: var(--kk-primary-container, #c00814);
}

.kk-verweis:hover .kk-verweis__titel .kk-verweis__link {
	color: var(--kk-primary, #94000b);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.kk-verweis:hover .kk-media__img {
	transform: scale(1.03);
}

.kk-verweis:hover .kk-verweis__pfeil {
	transform: translateX(3px);
}

/*
 * DER FOKUSRING LIEGT UM DIE GANZE KARTE, NICHT UM DIE TITELZEILE.
 *
 * Fokusziel ist das <a>, und das umfasst nur den Titeltext. Ein Ring nur
 * darum wäre formal vorhanden und würde die eigentliche Trefferfläche nicht
 * zeigen - derselbe Fehler, den kk.css:8838 für .kk-nasch__karte beschreibt.
 *
 * :has(… :focus-visible) und NICHT :focus-within - letzteres feuert auch beim
 * Mausklick und setzte den Ring bei jedem Zeigerklick.
 */
/*
 * KEIN `border-radius` MEHR IN DIESER REGEL - gemessen am 04.10.2026 im
 * echten Frontend, 1440 px.
 *
 * In Fassung A hatte die Karte keinen Radius, und die Regel gab dem Ring
 * einen (`--kk-r-xs`, 2 px). Fassung B bringt ihren eigenen Radius mit
 * (`--kk-r`, 4 px). Mit der alten Zeile stand die Karte im Ruhezustand bei
 * 4 px und bei Tastaturfokus bei 2 px - GEMESSEN, nicht vermutet: die Ecken
 * sprangen beim Antabben sichtbar. Der Ring folgt dem Radius der Karte von
 * selbst, es braucht hier also nichts.
 */
.kk-verweis:has(.kk-verweis__titel .kk-verweis__link:focus-visible) {
	outline: 3px solid var(--kk-primary-container, #c00814);
	outline-offset: 2px;
}

/*
 * Rückfall für Engines ohne :has().
 *
 * AUSDRÜCKLICH IN @supports GEKLAMMERT, anders als im Entwurf - gesehen im
 * echten Frontend am 04.10.2026: der Entwurf lässt den Ring am <a>
 * zusätzlich stehen ("nimmt dem Ring nichts, fügt nur hinzu"). Gemessen tut
 * er aber etwas: `.kk-verweis__titel` trägt wegen der Dreizeilen-Deckelung
 * `overflow: hidden`, und das schneidet den Ring um den Titeltext an. Übrig
 * blieb ein senkrechter Strich hinter dem Winkel - ein Artefakt, das neben
 * dem Ring um die ganze Karte nichts erklärt.
 *
 * In Engines ohne :has() ist dieser Ring die EINZIGE Fokusanzeige und
 * deshalb unverzichtbar; dort wird er auch nicht doppelt gezeigt.
 */
@supports not selector(:has(*)) {
	.kk-verweis .kk-verweis__titel .kk-verweis__link:focus-visible {
		outline: 3px solid var(--kk-primary-container, #c00814);
		outline-offset: 2px;
	}
}

.kk-verweis:has(.kk-verweis__titel .kk-verweis__link:focus-visible) .kk-verweis__titel .kk-verweis__link {
	color: var(--kk-primary, #94000b);
}

/*
 * Gedrückt-Zustand. Am Telefon gibt es kein Überfahren - ohne :active
 * passiert beim Antippen sichtbar nichts, bis die nächste Seite da ist, und
 * bei einem Portal mit gemessen 50-64 s Aufbauzeit im ungünstigen Fall (B1)
 * ist das die Rückmeldung, die am meisten fehlt.
 */
.kk-verweis:active .kk-verweis__titel .kk-verweis__link {
	color: var(--kk-primary, #94000b);
}

.kk-verweis:active {
	border-color: var(--kk-primary-container, #c00814);
}

/* Auf Zeigergeräten ohne Überfahren bleibt die Überfahrfassung aus. */
@media (hover: none) {
	.kk-verweis:hover .kk-media__img {
		transform: none;
	}

	.kk-verweis:hover .kk-verweis__pfeil {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kk-verweis,
	.kk-verweis .kk-verweis__titel .kk-verweis__link,
	.kk-verweis__mehr,
	.kk-verweis__pfeil,
	.kk-verweis .kk-media__img {
		transition: none;
	}

	.kk-verweis:hover .kk-media__img,
	.kk-verweis:hover .kk-verweis__pfeil {
		transform: none;
	}
}

/*
 * Erzwungene Farben (Windows-Kontrastmodus). Rahmen UND Fläche fallen dort
 * auf Systemfarben; `--kk-low` wird zu Canvas und die Tafel wäre vom Grund
 * nicht mehr zu unterscheiden. CanvasText am Rahmen hält den Kasten sichtbar.
 * Der Fokusring braucht nichts - outline bleibt in erzwungenen Farben.
 */
@media (forced-colors: active) {
	.kk-verweis {
		border-color: CanvasText;
	}
}

/*
 * Druck. print.css kennt .kk-verweis nicht; ohne das hier stünde auf dem
 * Papier ein Bild mit einer Überschrift und ohne jeden Hinweis, wohin der
 * Verweis führt. Die Adresse wird deshalb ausgeschrieben.
 */
@media print {
	.kk-verweis {
		grid-template-columns: 1fr;
		/* Fläche und Schatten kosten Toner und tragen auf Papier nichts. */
		background: none;
		box-shadow: none;
		border: 1pt solid #000;
		padding: 6pt;
	}

	/*
	 * "Hier weiterlesen" ist auf Papier sinnlos - weiterlesen kann dort
	 * niemand. Die Adresse steht stattdessen hinter dem Titel.
	 */
	.kk-verweis__bild,
	.kk-verweis__mehr,
	.kk-verweis__pfeil {
		display: none;
	}

	.kk-verweis__titel,
	.kk-verweis__teaser {
		display: block;
		overflow: visible;
	}

	.kk-verweis .kk-verweis__titel .kk-verweis__link::after {
		content: " (" attr(href) ")";
		position: static;
		font-size: 9pt;
		font-weight: 400;
		word-break: break-all;
	}
}

/*
 * DUNKELMODUS: NICHT AKTIV, und das ist eine Feststellung, keine Lücke.
 *
 * Geprüft von elke-klein am 04.10.2026: `enable_site_mode_switch` ist leer,
 * das Umschaltskript wird in inc/assets.php:47-65 entfernt, und das
 * Inline-Skript im Kopf greift auf document.body zu, bevor es den <body> gibt.
 * Es gibt keinen Dunkelmodus. Eine Karte, die als EINZIGES Element auf
 * body.aft-dark-mode reagiert, sähe in dem Augenblick kaputt aus, in dem
 * jemand die Klasse setzt.
 *
 * Gerechnet gegen den Elterngrund #000000:
 *   --kk-primary        #94000b -> 2,26  (unbrauchbar als Schrift)
 *   --kk-carmine-bright #e81710 -> 4,56  (trägt AA, knapp)
 *
 * Einschalten erst, wenn das Haus einen Dunkelmodus BESCHLIESST.
 */
/*
body.aft-dark-mode .kk-verweis            { border-top-color: var(--kk-carmine-bright); }
body.aft-dark-mode .kk-verweis .kk-verweis__titel .kk-verweis__link { color: #f2f2f2; }
body.aft-dark-mode .kk-verweis:hover .kk-verweis__titel .kk-verweis__link,
body.aft-dark-mode .kk-verweis__pfeil     { color: var(--kk-carmine-bright); }
*/
