html,
        body {
            background: radial-gradient(circle at 50% 0%, #0a1931 0%, #050d1a 60%, #020610 100%) !important;
            background-attachment: fixed !important;
        }

        .ws-ambient,
        .ws-ambient * {
            box-sizing: border-box;
        }

        .ws-ambient {
            --bg-main: #050d1a;
            --accent-blue: #2563eb;

            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            z-index: 1;
            pointer-events: none;
            overflow: hidden;
        }

        .ws-ambient .ambient-bg {
            position: fixed;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            overflow: hidden;
            background:
                radial-gradient(circle at 50% 40%, rgba(255,255,255,0.025) 0%, transparent 42%),
                var(--bg-main);
        }

        .ws-ambient .ambient-orb {
            position: absolute;
            border-radius: 50%;
            filter: blur(56px);
            opacity: 0.68;
            pointer-events: none;
            will-change: transform;
            transition: transform 0.1s ease-out;
        }

        .ws-ambient .ambient-orb--one {
            width: 800px;
            height: 800px;
            top: -200px;
            right: -200px;
            background: radial-gradient(circle, rgba(255,255,255,0.13) 0%, transparent 70%);
            animation: floatOrb 25s infinite alternate ease-in-out;
        }

        .ws-ambient .ambient-orb--two {
            width: 600px;
            height: 600px;
            top: 20%;
            left: -200px;
            background: radial-gradient(circle, rgba(255,255,255,0.105) 0%, transparent 70%);
            animation: floatOrb 18s infinite alternate-reverse ease-in-out;
            animation-delay: -5s;
        }

        .ws-ambient .ambient-orb--three {
            width: 400px;
            height: 400px;
            top: 40%;
            left: 30%;
            background: radial-gradient(circle, rgba(37,99,235,0.18) 0%, transparent 70%);
            animation: floatOrb 20s infinite alternate ease-in-out;
        }

        .ws-ambient .ambient-orb--four {
            width: 1000px;
            height: 1000px;
            bottom: -300px;
            left: -200px;
            background: radial-gradient(circle, rgba(255,255,255,0.09) 0%, transparent 70%);
            animation: floatOrb 35s infinite alternate ease-in-out;
        }

        .ws-ambient .ambient-orb--five {
            width: 700px;
            height: 350px;
            bottom: 15%;
            right: 10%;
            background: radial-gradient(circle, rgba(255,255,255,0.105) 0%, transparent 70%);
            border-radius: 50% / 30%;
            transform: rotate(25deg);
            animation: floatOrb 22s infinite alternate-reverse ease-in-out;
        }

        @keyframes floatOrb {
            0% {
                transform: translate(0, 0) rotate(0deg);
            }

            100% {
                transform: translate(60px, 40px) rotate(10deg);
            }
        }

        .ws-ambient .micro-orbs {
            position: absolute;
            inset: 0;
            z-index: 2;
            pointer-events: none;
            overflow: hidden;
        }

        .ws-ambient .micro-orb {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            will-change: transform;
            opacity: 0.24;
            background: radial-gradient(
                circle at 30% 30%,
                rgba(255,255,255,0.62) 0%,
                rgba(255,255,255,0.11) 58%,
                transparent 100%
            );
            border: 1px solid rgba(255,255,255,0.18);
            box-shadow:
                inset 0 1px 5px rgba(255,255,255,0.18),
                0 10px 30px rgba(255,255,255,0.035),
                0 10px 30px rgba(0,0,0,0.3);
            filter: blur(0.4px);
        }

        .ws-ambient .micro-orb.is-blue {
            background: radial-gradient(
                circle at 30% 30%,
                rgba(37,99,235,0.34) 0%,
                rgba(37,99,235,0.075) 60%,
                transparent 100%
            );
            border: 1px solid rgba(37,99,235,0.18);
            opacity: 0.20;
        }

        /*
            Основная логика слоев.
            Фон находится на z-index: 1.
            Контент сайта выше фона.
        */

        body,
        #page,
        .site {
            background: transparent !important;
        }

        main,
        #page,
        .site,
        .site-content,
        .content-area,
        .elementor-location-single,
        [data-elementor-type="wp-page"],
        [data-elementor-type="single-page"] {
            position: relative;
            z-index: 5;
            background: transparent !important;
        }

        /*
            ШАПКА:
            ВАЖНО: здесь нет position: fixed, relative, sticky.
            Мы не трогаем поведение шапки, чтобы она работала как раньше.
            Только убираем белую подложку и делаем стеклянный фон.
        */

        header,
        .site-header,
        .elementor-location-header,
        [data-elementor-type="header"] {
            z-index: 100 !important;
            background: rgba(8, 8, 8, 0.46) !important;
            backdrop-filter: blur(22px);
            -webkit-backdrop-filter: blur(22px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.10);
            box-shadow: none !important;
        }

        .elementor-location-header,
        .elementor-location-header .elementor-section,
        .elementor-location-header .elementor-container,
        .elementor-location-header .elementor-widget-wrap,
        .elementor-location-header .e-con,
        .elementor-location-header .e-con-inner,
        [data-elementor-type="header"],
        [data-elementor-type="header"] .elementor-section,
        [data-elementor-type="header"] .elementor-container,
        [data-elementor-type="header"] .elementor-widget-wrap,
        [data-elementor-type="header"] .e-con,
        [data-elementor-type="header"] .e-con-inner {
            background-color: transparent !important;
            background-image: none !important;
        }

        /*
            Футер и шорткод выше фона.
        */

        footer,
        .site-footer,
        .elementor-location-footer,
        [data-elementor-type="footer"],
        .elementor-shortcode {
            position: relative !important;
            z-index: 50 !important;
        }

        @media (max-width: 768px) {
            .ws-ambient .ambient-orb--one {
                width: 300px;
                height: 300px;
                top: 0;
                right: -50px;
            }

            .ws-ambient .ambient-orb--two {
                width: 200px;
                height: 200px;
                left: -100px;
            }

            .ws-ambient .ambient-orb--three {
                display: none;
            }

            .ws-ambient .ambient-orb--four {
                width: 400px;
                height: 400px;
                bottom: -100px;
                left: -100px;
            }

            .ws-ambient .ambient-orb--five {
                width: 300px;
                height: 150px;
                bottom: 5%;
            }

            .ws-ambient .ambient-orb {
                filter: blur(22px);
                opacity: 0.42;
            }

            .ws-ambient .micro-orb {
                opacity: 0.28;
                border-color: rgba(255,255,255,0.20);
            }

            .ws-ambient .micro-orb.is-blue {
                opacity: 0.22;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .ws-ambient .ambient-orb {
                animation: none !important;
                transform: none !important;
            }
        }
