/* ============================================================
   eyedee - Kennzeichnung externer Links (Kanon 5.33)
   BFSG / WCAG 2.1 AA

   Gesetzt wird die Klasse .ey-ext zentral vom Render-Hook auf
   dem fertigen HTML (page.render:after, vgl. 1.1) - nicht je
   Link von Hand. Nur so sind Redaktionslinks aus Beitraegen
   miterfasst und kuenftige automatisch.
   ============================================================ */

/* Screenreader-Text: clip-path, NICHT display:none - letzteres
   wuerde den Text auch fuer Screenreader entfernen und damit
   genau die Information beseitigen, um die es geht. */
.ey-sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* Sichtbare Markierung UEBERALL, wo der Link Text traegt (5.33,
   Neufassung v3.6). Bis v3.5 stand hier eine Liste von drei
   Fliesstext-Klassen, die jedes Projekt selbst ergaenzen sollte -
   das ist kaum passiert, und deshalb trug fast kein externer Link
   einen Pfeil. Jetzt umgekehrt: Standard ist "ueberall",
   Ausnahmen stehen unten und sind abschliessend. */
a.ey-ext::after{
  content:"";
  display:inline-block;
  width:.62em; height:.62em;
  margin-left:.28em;
  vertical-align:baseline;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  /* Pfeil als HINTERGRUNDBILD, nicht als content-Zeichen: ein
     Unicode-Pfeil wuerde von manchen Screenreadern mitgelesen
     ("Pfeil nach Nordost") und den Hinweistext doppeln.
     [PROJEKT] stroke-Farbe an die Akzentfarbe anpassen -
     %23 ist das URL-codierte #. */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23b30c47' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h7v7'/%3E%3Cpath d='M13 3 3 13'/%3E%3C/svg%3E");
  opacity:.75;
}

/* Ausnahmen, abschliessend: Links OHNE Text. Dort gibt es nichts,
   an das sich der Pfeil haengen koennte - er landet neben dem Bild
   und sieht aus wie ein Fehler. Die Information traegt hier das
   aria-label, das der Hook erweitert (5.33, dritter Fallstrick). */
a.ey-ext:has(img)::after,
a.ey-ext:has(svg)::after,
a.ey-ext:has(picture)::after,
a.ey-ext:empty::after{
  content:none;
}

/* Weitere Ausnahmen NUR mit Begruendung im Projektblatt (5.33).
   Wer hier etwas ergaenzt, schreibt daneben, warum. */
