/* Opening-Banner + Preis-Hinweis (13.10.2026). Eckig, ohne Schatten, Akzent #ff4400 */
.promo-bar{position:fixed;top:0;left:0;right:0;z-index:101;height:40px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 48px 0 16px;color:#fff;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;
  /* Orange mit langsam wandernden Diagonalstreifen (seit 13.10.2026 auffälliger) */
  background-color:#ff4400;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.09) 0 14px,rgba(255,255,255,0) 14px 28px);background-size:40px 40px;
  animation:promo-in .5s cubic-bezier(.2,.8,.2,1) both, promo-stripes 2.4s linear infinite}
.promo-bar > .ti{color:#fff;font-size:16px;flex-shrink:0;animation:promo-hop 3.6s ease-in-out 1.2s infinite}
.promo-bar strong{font-weight:700}
.promo-txt{overflow:hidden;text-overflow:ellipsis}
.promo-short{display:none;flex-shrink:0}
.promo-code{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;font:inherit;font-family:'DM Mono',monospace;font-size:13px;font-weight:600;letter-spacing:.06em;padding:4px 10px;background:#111;color:#fff;border:0;border-radius:0;cursor:pointer;flex-shrink:0}
/* Lichtstreif über das Code-Schild, alle 3,6 s */
.promo-code::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:skewX(-20deg);animation:promo-shine 3.6s ease-in-out 1.2s infinite;pointer-events:none}
.promo-copy{font-family:inherit;font-weight:400;font-size:11px;letter-spacing:0;opacity:.8;border-left:1px solid rgba(255,255,255,.35);padding-left:8px}
.promo-code:hover{background:#000}
.promo-until{color:rgba(255,255,255,.85);font-size:12px;flex-shrink:0}
.promo-link{color:#fff;text-decoration:underline;text-underline-offset:3px;flex-shrink:0}
.promo-link .ti{font-size:13px;vertical-align:-1px}
.promo-x{position:absolute;right:8px;top:4px;width:32px;height:32px;padding:0;border:0;background:none;color:#fff;font-size:16px;cursor:pointer;border-radius:0}
body.has-promo .nav{top:40px}
body.has-promo .hero{padding-top:140px}
.promo-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;max-width:640px;font-size:14px;color:var(--text-muted,#444)}
.promo-note .ti{color:#ff4400;font-size:16px}
.promo-note strong{font-family:'DM Mono',monospace;color:#111;background:#fff1ea;padding:1px 6px}
.promo-note.is-year{opacity:.8}
.promo-fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:9400}
@media (max-width:760px){
  .promo-bar{justify-content:flex-start;gap:8px;padding-right:44px;font-size:12px}
  .promo-txt,.promo-until,.promo-link{display:none}
  .promo-short{display:inline}
  .promo-copy{display:none}
  .promo-code{padding:4px 8px;font-size:12px}
  .promo-short{overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}
}
@keyframes promo-in{from{transform:translateY(-100%)}to{transform:none}}
@keyframes promo-stripes{from{background-position:0 0}to{background-position:40px 0}}
@keyframes promo-shine{0%,62%{left:-60%}88%,100%{left:130%}}
@keyframes promo-hop{0%,62%,100%{transform:none}70%{transform:translate(2px,-4px) rotate(-8deg)}80%{transform:translate(-1px,1px)}}
@media (prefers-reduced-motion:reduce){.promo-bar,.promo-bar > .ti,.promo-code::after{animation:none}}
