/* psn Newsticker — Effekte (vanilla, keine externe Lib) */

.psn-ticker { width: 100%; display: block; font-size: inherit; line-height: 1.5; }
.psn-ticker__link { text-decoration: none; }
.psn-ticker__item p:last-child { margin-bottom: 0; }

/* Ausrichtung (wirkt auf Einfliegen/Schreibmaschine/Statisch; Laufband fuellt ohnehin die Breite) */
.psn-ticker--align-links  { text-align: left; }
.psn-ticker--align-mitte  { text-align: center; }
.psn-ticker--align-rechts { text-align: right; }

/* --- statisch + einfliegen + schreibmaschine: Track als Block, Items untereinander --- */
.psn-ticker--statisch .psn-ticker__track,
.psn-ticker--einfliegen .psn-ticker__track,
.psn-ticker--schreibmaschine .psn-ticker__track { display: block; }
.psn-ticker--statisch .psn-ticker__item,
.psn-ticker--einfliegen .psn-ticker__item { display: block; margin: 0 0 .45em; }
.psn-ticker--statisch .psn-ticker__item:last-child,
.psn-ticker--einfliegen .psn-ticker__item:last-child { margin-bottom: 0; }

/* --- einfliegen: Items faden/gleiten nacheinander ein --- */
@keyframes psnTickerIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.psn-ticker--einfliegen .psn-ticker__item { opacity: 0; animation: psnTickerIn .6s ease forwards; }
.psn-ticker--einfliegen .psn-ticker__item:nth-child(1) { animation-delay: .05s; }
.psn-ticker--einfliegen .psn-ticker__item:nth-child(2) { animation-delay: .25s; }
.psn-ticker--einfliegen .psn-ticker__item:nth-child(3) { animation-delay: .45s; }
.psn-ticker--einfliegen .psn-ticker__item:nth-child(4) { animation-delay: .65s; }
.psn-ticker--einfliegen .psn-ticker__item:nth-child(n+5) { animation-delay: .85s; }

/* --- laufband: horizontales Marquee (Track wird per JS verdoppelt -> nahtlos) --- */
.psn-ticker--laufband { overflow: hidden; }
.psn-ticker--laufband .psn-ticker__track { display: inline-flex; flex-wrap: nowrap; white-space: nowrap; will-change: transform; }
.psn-ticker--laufband.is-marquee-ready .psn-ticker__track { animation: psnTickerScroll 30s linear infinite; }
.psn-ticker--laufband .psn-ticker__item { display: inline-block; }
.psn-ticker--laufband .psn-ticker__sep { display: inline-block; margin: 0 2.6em; opacity: .45; }
.psn-ticker--laufband:hover .psn-ticker__track { animation-play-state: paused; }
@keyframes psnTickerScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* --- schreibmaschine: ein Item nach dem anderen, tippt sich mit Cursor --- */
.psn-ticker--schreibmaschine .psn-ticker__item { display: block; }
.psn-ticker--schreibmaschine .psn-ticker__type {
    border-right: 2px solid currentColor;
    padding-right: 2px;
    animation: psnTickerCaret 1s step-end infinite;
}
@keyframes psnTickerCaret { 50% { border-color: transparent; } }

/* --- Barrierefreiheit: bei „reduzierte Bewegung" alles statisch --- */
@media (prefers-reduced-motion: reduce) {
    .psn-ticker--einfliegen .psn-ticker__item { animation: none !important; opacity: 1 !important; }
    .psn-ticker--laufband .psn-ticker__track { animation: none !important; }
    .psn-ticker--schreibmaschine .psn-ticker__type { border-right: none; animation: none; }
}
