/* Paket 71 (Aykut 17.10.): jeder Belegerl reagiert aufs Antippen – jede Figur anders, lustig und sympathisch (nicht immer zwinkern).
   Die Klasse kommt auf das Bild selbst (die Hülle darf weiter schweben). Teilchen (Konfetti, Herzen, Zzz, Bons) fliegen aus einer festen Ebene. */
.bl-rx { will-change: transform; transform-origin: 50% 85%; backface-visibility: hidden; transition: none !important; }
.bl-rx-hop    { animation: blrx-hop .9s cubic-bezier(.3,0,.2,1) both !important; }
.bl-rx-wave   { animation: blrx-wave 1.1s ease-in-out both !important; transform-origin: 50% 100% !important; }
.bl-rx-lupe   { animation: blrx-lupe 1.2s cubic-bezier(.2,.8,.2,1) both !important; transform-origin: 60% 40% !important; }
.bl-rx-spin   { animation: blrx-spin .9s cubic-bezier(.4,0,.2,1) both !important; transform-origin: 50% 50% !important; }
.bl-rx-nap    { animation: blrx-nap 2.4s ease-in-out both !important; }
.bl-rx-shake  { animation: blrx-shake .8s ease-in-out both !important; transform-origin: 50% 70% !important; }
.bl-rx-cheer  { animation: blrx-cheer 1s cubic-bezier(.3,0,.2,1) both !important; }
.bl-rx-wobble { animation: blrx-wobble 1s ease-out both !important; transform-origin: 50% 100% !important; }
.bl-rx-peek   { animation: blrx-peek 1.1s cubic-bezier(.3,0,.2,1) both !important; transform-origin: 50% 100% !important; }
.bl-rx-heart  { animation: blrx-heart 1.1s ease-in-out both !important; transform-origin: 50% 60% !important; }
.bl-rx-dizzy  { animation: blrx-dizzy 1.4s ease-in-out both !important; transform-origin: 50% 80% !important; }
.bl-rx-tada   { animation: blrx-tada 1s ease-in-out both !important; transform-origin: 50% 60% !important; }

@keyframes blrx-hop { 0% { transform: none; } 15% { transform: scale(1.08,.9) translateY(4%); } 40% { transform: scale(.96,1.06) translateY(-16%); } 62% { transform: scale(1.03,.97) translateY(0); } 78% { transform: translateY(-6%); } 100% { transform: none; } }
@keyframes blrx-wave { 0%,100% { transform: rotate(0); } 15% { transform: rotate(-9deg); } 35% { transform: rotate(8deg); } 55% { transform: rotate(-7deg); } 75% { transform: rotate(5deg); } 90% { transform: rotate(-2deg); } }
@keyframes blrx-lupe { 0% { transform: none; } 30% { transform: scale(1.16) translate(-3%, 2%) rotate(-4deg); } 55% { transform: scale(1.14) translate(2%, 2%) rotate(3deg); } 75% { transform: scale(1.1) translate(-1%, 1%); } 100% { transform: none; } }
@keyframes blrx-spin { 0% { transform: perspective(600px) rotateY(0); } 100% { transform: perspective(600px) rotateY(360deg); } }
@keyframes blrx-nap { 0% { transform: none; } 25% { transform: rotate(7deg) translateY(3%); } 60% { transform: rotate(9deg) translateY(4%); } 68% { transform: rotate(-6deg) translateY(-6%) scale(1.04); } 76% { transform: rotate(4deg); } 84% { transform: rotate(-2deg); } 100% { transform: none; } }
@keyframes blrx-shake { 0%,100% { transform: rotate(0); } 15% { transform: rotate(-12deg); } 30% { transform: rotate(11deg); } 45% { transform: rotate(-9deg); } 60% { transform: rotate(7deg); } 75% { transform: rotate(-4deg); } 90% { transform: rotate(2deg); } }
@keyframes blrx-cheer { 0% { transform: none; } 12% { transform: scale(1.1,.88); } 45% { transform: scale(.95,1.08) translateY(-24%) rotate(-5deg); } 60% { transform: translateY(-20%) rotate(5deg); } 80% { transform: scale(1.04,.96) translateY(0); } 100% { transform: none; } }
@keyframes blrx-wobble { 0% { transform: scale(1); } 20% { transform: scale(1.14,.86); } 40% { transform: scale(.9,1.12); } 60% { transform: scale(1.07,.94); } 80% { transform: scale(.97,1.03); } 100% { transform: none; } }
@keyframes blrx-peek { 0% { transform: none; } 30% { transform: scaleY(.55) scaleX(1.12) translateY(20%); } 45% { transform: scaleY(.55) scaleX(1.12) translateY(20%); } 65% { transform: scaleY(1.12) scaleX(.94) translateY(-10%); } 85% { transform: scaleY(.98) scaleX(1.02); } 100% { transform: none; } }
@keyframes blrx-heart { 0%,100% { transform: scale(1); } 20% { transform: scale(1.12); } 40% { transform: scale(1.02); } 60% { transform: scale(1.14); } 80% { transform: scale(1.03); } }
@keyframes blrx-dizzy { 0% { transform: none; } 20% { transform: rotate(-8deg) translateX(-3%); } 40% { transform: rotate(8deg) translateX(3%); } 60% { transform: rotate(-6deg) translateX(-2%) scale(1.02); } 80% { transform: rotate(4deg) translateX(1%); } 100% { transform: none; } }
@keyframes blrx-tada { 0%,100% { transform: scale(1) rotate(0); } 10%,20% { transform: scale(.92) rotate(-3deg); } 30%,50%,70%,90% { transform: scale(1.1) rotate(3deg); } 40%,60%,80% { transform: scale(1.1) rotate(-3deg); } }

/* Teilchen-Ebene (fixed, über allem, nicht klickbar) */
.bl-rx-fx { position: fixed; left: 0; top: 0; width: 0; height: 0; z-index: 2147483000; pointer-events: none; }
.bl-rx-fx i { position: absolute; left: 0; top: 0; font-style: normal; font-size: var(--s, 18px); line-height: 1; opacity: 0; filter: drop-shadow(0 2px 4px rgba(15,23,42,.18));
  animation: blrx-fly var(--d, 1s) cubic-bezier(.2,.7,.3,1) var(--w, 0s) both; }
.bl-rx-fx i.sym { display: block; width: var(--s, 12px); height: var(--s, 12px); border-radius: 3px; background: var(--c, #2563EB); }
.bl-rx-fx i.dot { border-radius: 50%; }
@keyframes blrx-fly { 0% { opacity: 0; transform: translate(0,0) scale(.4) rotate(0); } 12% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), var(--y)) scale(1) rotate(var(--r, 0deg)); } }
@media (prefers-reduced-motion: reduce) { .bl-rx { animation: none !important; } .bl-rx-fx { display: none; } }

/* Paket 71 — Link „Alle Funktionen im Vergleich (PDF)“ unter dem Preis-Knopf */
.price-cta { flex-wrap: wrap; }
.price-cta .price-pdf { flex-basis: 100%; text-align: center; margin-top: 10px; font-size: .92rem; }

/* Paket 73 — Aktionsleiste HALLOWEEN26 (20.–31.10.) */
.aktion-bar { background: linear-gradient(90deg, #1F1300, #4A1D00 40%, #7C2D12); color: #FFEDD5; }
.aktion-bar .wrap { display: flex; align-items: center; gap: 12px; padding: 10px var(--gutter, 20px); max-width: 1180px; margin: 0 auto; font-size: .9rem; line-height: 1.35; }
.aktion-bar p { margin: 0; flex: 1 1 auto; } .aktion-bar b { color: #FDBA74; }
.aktion-bar .ab-emoji { font-size: 1.3rem; flex: none; }
.aktion-bar .ab-go { flex: none; padding: 8px 14px; border-radius: 999px; background: #F97316; color: #1F1300; font-weight: 700; text-decoration: none; white-space: nowrap; }
.aktion-bar .ab-go:hover { background: #FB923C; }
@media (max-width: 700px) { .aktion-bar .wrap { flex-wrap: wrap; font-size: .84rem; } .aktion-bar .ab-go { flex-basis: 100%; text-align: center; } }
.aktion-bar { padding-top: calc(62px + env(safe-area-inset-top)); }
.has-aktion .hero { padding-top: 12px; }

/* Paket 74 – Sprite-Overlay (animierter Belegerl aus dem Higgsfield-Clip), liegt deckungsgleich über dem Standbild */
.bl-sp { position: absolute; z-index: 3; pointer-events: none; background-repeat: no-repeat; opacity: 0; transition: opacity .22s ease; }
.bl-sp.on { opacity: 1; }
/* Paket 99 (Aykut 20.10.: „nicht lesbar aufgrund der Farbe – such Fehler gleicher Art“): Kopfzeile liegt oben auf dem dunklen
   Aktionsstreifen → Schriftzug und Menü hell, solange nicht gescrollt (danach weiße Glasleiste mit dunkler Schrift wie bisher). */
.has-aktion .top:not(.is-scrolled) .brand span,
.has-aktion .top:not(.is-scrolled) .top-nav a { color: #FFF7ED; }
.has-aktion .top:not(.is-scrolled) .top-nav a:hover { color: #FDBA74; }
