/* Laser & Lichteffekte (Plugin) */
.hero-fx.lz { position: absolute; inset: 0; pointer-events: none; overflow: hidden; display: block; }
.hero-fx.lz-theme { display: var(--hero-fx-display, none); }
.lz { --lz-c1-v: var(--lz-c1, var(--accent)); --lz-c2-v: var(--lz-c2, var(--ember)); --lz-c3-v: var(--lz-c3, var(--lilac)); --lz-op: .42; --lz-w: 2px; }
.lz-low { --lz-op: .22; } .lz-high { --lz-op: .75; }
.lz-w-thin { --lz-w: 1px; } .lz-w-thick { --lz-w: 4px; }
.lz span { position: absolute; top: -20%; width: var(--lz-w); height: 140%; opacity: var(--lz-op); transform-origin: top center; transform: rotate(var(--lz-rot, 0deg)); filter: blur(.5px); }
.lz .lz-c1 { background: linear-gradient(to bottom, transparent, var(--lz-c1-v), transparent); --lz-col: var(--lz-c1-v); }
.lz .lz-c2 { background: linear-gradient(to bottom, transparent, var(--lz-c2-v), transparent); --lz-col: var(--lz-c2-v); }
.lz .lz-c3 { background: linear-gradient(to bottom, transparent, var(--lz-c3-v), transparent); --lz-col: var(--lz-c3-v); }
.lz-glow span { box-shadow: 0 0 10px 1px color-mix(in srgb, var(--lz-col) 70%, transparent), 0 0 30px 4px color-mix(in srgb, var(--lz-col) 30%, transparent); }
@media (prefers-reduced-motion: no-preference) {
  .lz span { animation: lz-sweep var(--lz-dur, 8s) ease-in-out var(--lz-delay, 0s) infinite alternate; }
  .lz-speed-slow span { animation-duration: calc(var(--lz-dur, 8s) * 1.8); }
  .lz-speed-fast span { animation-duration: calc(var(--lz-dur, 8s) * .4); }
  .lz-speed-off span { animation: none; }
}
@keyframes lz-sweep { from { transform: rotate(-22deg); } to { transform: rotate(22deg); } }
@media (max-width: 759px) { .lz-nomobile { display: none !important; } }
