/* ============================================================
   STEUER-NEWSTICKER
   ============================================================ */
.ticker-band{ position:relative; background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%); border-block:1px solid var(--line); padding-block:20px; }
.ticker-band::before{ content:""; position:absolute; top:-1px; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent 0,var(--red) 22%,var(--red) 78%,transparent 100%); opacity:.45; }
.ticker-band .wrap{ padding-inline:var(--gut); }
.ticker{ display:flex; align-items:stretch; background:var(--white); border:1px solid var(--line);
  border-radius:18px; box-shadow:var(--shadow-md); overflow:hidden; height:210px; position:relative; }
.ticker::before{ content:""; position:absolute; inset:0; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.65); pointer-events:none; z-index:3; }
.ticker-label{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; flex-shrink:0; background:linear-gradient(135deg,var(--red) 0%,var(--red-ink) 100%); color:#fff;
  padding:0 44px 0 30px; font-family:var(--mono); font-size:.86rem; letter-spacing:.18em; text-transform:uppercase;
  font-weight:700; white-space:nowrap; clip-path:polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%); box-shadow:8px 0 24px -8px rgba(228,50,43,.5); position:relative; z-index:2; }
.ticker-label .tk-dot{ width:11px; height:11px; border-radius:50%; background:#fff; flex-shrink:0;
  animation:tkpulse 1.8s ease-out infinite; }
@keyframes tkpulse{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.7);} 70%{ box-shadow:0 0 0 8px rgba(255,255,255,0);} 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0);} }
.ticker-view{ flex:1; min-width:0; overflow:hidden; position:relative; display:flex; align-items:center; margin-left:0; padding-left:34px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 200px, #000 calc(100% - 150px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 200px, #000 calc(100% - 150px), transparent 100%); }
.ticker-track{ display:flex; align-items:center; white-space:nowrap; will-change:transform;
  animation:tickerscroll 240s linear infinite; }
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track{ animation-play-state:paused; }
@keyframes tickerscroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.tk-item{ display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; margin:0 6px; padding:0 30px; height:132px; width:min(30ch,380px); white-space:normal; font-size:1.05rem; font-weight:500;
  color:var(--ink-2); position:relative; border-radius:11px; transition:color .18s, background .18s; }
.tk-item::before{ content:""; position:absolute; left:30px; top:34px; width:6px; height:6px; border-radius:2px; background:var(--red); transform:rotate(45deg);
  box-shadow:0 0 0 3px var(--red-soft); transition:box-shadow .18s; opacity:0; }
.tk-item::after{ content:""; position:absolute; right:-7px; top:50%; transform:translateY(-50%); width:1px; height:104px; background:var(--line); }
.tk-item:hover{ color:var(--ink); background:var(--red-soft); }
.ticker-label .tk-lbl-t{ line-height:1.24; }
.ticker-label .tk-sub{ font-family:var(--sans,inherit); font-size:.74rem; letter-spacing:.01em; text-transform:none; font-weight:500; line-height:1.4; color:rgba(255,255,255,.78); }
@media (max-width:640px){ .ticker-label .tk-sub{ display:none; } }

.tk-item .tk-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.tk-item .tk-head{ display:block; font-size:1.34rem; line-height:1.28; font-weight:600; color:var(--ink); letter-spacing:-.01em; text-wrap:pretty; }
.tk-item:hover .tk-head{ color:var(--red-ink); }
.tk-item:hover::before{ box-shadow:0 0 0 3px rgba(228,50,43,.14); }
.tk-item .tk-date{ font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--red); font-weight:700; flex-shrink:0;
  background:var(--red-soft); border-radius:7px; padding:.34em .62em; transition:background .18s, color .18s; }
.tk-item:hover .tk-date{ background:var(--red); color:#fff; }
.tk-item .tk-cat{ font-family:var(--mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  color:var(--muted); border:1px solid var(--line-2); border-radius:999px; padding:.36em .72em; flex-shrink:0; transition:border-color .18s, color .18s; }
.tk-item:hover .tk-cat{ color:var(--red-ink); border-color:var(--red-soft-2); }
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; }
  .ticker-view{ overflow-x:auto; }
}
@media (max-width:640px){
  .ticker-band{ padding-block:15px; }
  .ticker{ height:200px; border-radius:16px; }
  .ticker-label{ padding:0 30px 0 20px; font-size:.72rem; letter-spacing:.12em; }
  .tk-item{ font-size:.94rem; padding:0 20px; margin:0 4px; gap:10px; height:126px; width:min(26ch,300px); }
  .tk-item .tk-head{ font-size:1.08rem; }
  .tk-item .tk-cat{ display:none; }
}

/* Desktop: Header und Ticker über die gesamte Breite */
@media (min-width:1024px){
  .header > .wrap{ max-width:none; }
  .ticker-band > .wrap{ max-width:none; }
}

/* Logo hinter dem roten Ticker-Label */
.ticker-label::before{ content:""; position:absolute; inset:0; background:url("../assets/steuernest-logo.png") right -18px bottom -12px / auto 150% no-repeat; opacity:.22; mix-blend-mode:luminosity; pointer-events:none; }
.ticker-label > *{ position:relative; z-index:1; }
