:root {
    --swpw3-bg-image: url('/assets/images/bg-parkwachter.png');
    --swpw3-bg-image-light: url('/assets/images/bg-parkwachter-light.png');
}

html {
    background-color: #ffffff;
    overscroll-behavior-y: none;
}

html.theme-dark {
    background-color: #020617;
}

body {
    background-color: transparent;
    overscroll-behavior-y: none;
}

.swpw3-animated-bg {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    contain: strict;
}

html.theme-light .swpw3-animated-bg {
    background-color: #ffffff;
}

html.theme-dark .swpw3-animated-bg {
    background-color: #020617;
}

.swpw3-animated-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--swpw3-bg-image) center / cover no-repeat;
}

html.theme-light .swpw3-animated-bg::before {
    background: var(--swpw3-bg-image-light) center / cover no-repeat;
}

/* Simple gradient overlay - no animation, better performance */
.swpw3-animated-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}

html.theme-light .swpw3-animated-bg::after {
    background: linear-gradient(180deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.90) 50%, 
        rgba(255, 255, 255, 0.92) 100%
    );
}

html.theme-dark .swpw3-animated-bg::after {
    background: linear-gradient(180deg, 
        rgba(2, 6, 23, 0.90) 0%, 
        rgba(15, 23, 42, 0.85) 50%, 
        rgba(2, 6, 23, 0.92) 100%
    );
}

/* Subtle floating orbs - much lighter than waves */
.swpw3-animated-bg__orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2;
    opacity: 0.4;
    filter: blur(80px);
}

html.theme-light .swpw3-animated-bg__orb--1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, transparent 70%);
    top: 10%;
    left: 5%;
    animation: float-1 20s ease-in-out infinite;
}

html.theme-light .swpw3-animated-bg__orb--2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 70%);
    top: 60%;
    right: 10%;
    animation: float-2 25s ease-in-out infinite;
}

html.theme-light .swpw3-animated-bg__orb--3 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.10) 0%, transparent 70%);
    bottom: 20%;
    left: 30%;
    animation: float-3 22s ease-in-out infinite;
}

html.theme-dark .swpw3-animated-bg__orb--1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.20) 0%, transparent 70%);
    top: 10%;
    left: 5%;
    animation: float-1 20s ease-in-out infinite;
}

html.theme-dark .swpw3-animated-bg__orb--2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
    top: 60%;
    right: 10%;
    animation: float-2 25s ease-in-out infinite;
}

html.theme-dark .swpw3-animated-bg__orb--3 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.12) 0%, transparent 70%);
    bottom: 20%;
    left: 30%;
    animation: float-3 22s ease-in-out infinite;
}

@keyframes float-1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -20px) scale(1.05); }
    66% { transform: translate(-20px, 15px) scale(0.95); }
}

@keyframes float-2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(-25px, 20px) scale(1.05); }
    66% { transform: translate(15px, -15px) scale(0.95); }
}

@keyframes float-3 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(20px, 25px) scale(1.05); }
    66% { transform: translate(-30px, -10px) scale(0.95); }
}

/* Tablet and mobile - reduce to 2 orbs and simplify */
@media (max-width: 1024px) {
    .swpw3-animated-bg__orb--3 {
        display: none;
    }
    
    .swpw3-animated-bg__orb--1,
    .swpw3-animated-bg__orb--2 {
        animation-duration: 30s !important;
        opacity: 0.3;
    }
}

@media (max-width: 768px) {
    .swpw3-animated-bg__orb--2 {
        display: none;
    }
    
    .swpw3-animated-bg__orb--1 {
        width: 300px;
        height: 300px;
        animation-duration: 35s !important;
        opacity: 0.25;
    }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .swpw3-animated-bg__orb {
        animation: none !important;
    }
}
