/* SaaleSpa · Effekte (27.10.2026): Aurora im Kopfbereich, Lichtkante an „Arrangements“, Funkeln am Gutscheinknopf, sanftes Einblenden.
   Nachbau nach Vorbild Magic UI / Aceternity ohne Bibliothek. Bei „Bewegung reduzieren“ ruhen alle Bewegungen. */
@property --fx-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.fx-aurora{position:absolute;inset:0;pointer-events:none;z-index:2;mix-blend-mode:screen;opacity:.75;overflow:hidden}
.fx-aurora i{position:absolute;width:70%;height:70%;border-radius:50%;filter:blur(60px);opacity:.55;animation:fx-aurora 14s ease-in-out infinite alternate}
.fx-aurora i:nth-child(1){left:-10%;top:-20%;background:#2f9c9a}
.fx-aurora i:nth-child(2){right:-15%;top:10%;background:#c9a35c;animation-duration:18s}
.fx-aurora i:nth-child(3){left:20%;bottom:-30%;background:#4b5e9c;animation-duration:22s}
@keyframes fx-aurora{0%{transform:translate(0,0) scale(1)}50%{transform:translate(12%,8%) scale(1.15)}100%{transform:translate(-8%,12%) scale(.95)}}
.fx-shine{position:relative;isolation:isolate;box-shadow:0 0 0 1px #e9cf8f66,0 18px 50px -12px #c9a35c88}
.fx-shine::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;background:conic-gradient(from var(--fx-a),#e9cf8f33 0 55%,#e9cf8f 70%,#fff6dd 78%,#e9cf8f 86%,#e9cf8f33 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fx-spin 4s linear infinite;pointer-events:none;z-index:6}
@keyframes fx-spin{to{--fx-a:360deg}}
.fx-badge{position:absolute;z-index:7;top:12px;left:12px;font:600 11px/1 system-ui,-apple-system,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#2a2210;background:linear-gradient(90deg,#e9cf8f,#fff2cc,#e9cf8f);padding:7px 10px;border-radius:999px;pointer-events:none}
.fx-gift-host{position:relative}
.fx-spark{position:absolute;pointer-events:none;z-index:5;opacity:0;animation:fx-twinkle var(--t,2.4s) ease-in-out infinite;animation-delay:var(--d,0s)}
.fx-spark::before{content:"";position:absolute;inset:0;background:#f6dc9a;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 4px #ffe7a8)}
@keyframes fx-twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.gift-section .button.gold.fx-glow{position:relative;overflow:hidden;box-shadow:0 0 0 1px #f3dc9f66,0 10px 40px -8px #e9cf8faa}
.gift-section .button.gold.fx-glow::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#fff9 50%,transparent 65%);transform:translateX(-120%);animation:fx-sweep 3.2s ease-in-out infinite;pointer-events:none}
@keyframes fx-sweep{60%,100%{transform:translateX(120%)}}
.fx-bf{opacity:0;filter:blur(10px);transform:translateY(18px);transition:opacity .8s ease var(--fx-d,0ms),filter .8s ease var(--fx-d,0ms),transform .8s ease var(--fx-d,0ms)}
.fx-bf.fx-in{opacity:1;filter:none;transform:none}
@media (prefers-reduced-motion:reduce){.fx-aurora i,.fx-shine::after,.fx-spark,.gift-section .button.gold.fx-glow::after{animation:none}.fx-spark{display:none}.fx-bf{opacity:1;filter:none;transform:none;transition:none}}
