/**
 * Site-wide desktop layout on phones (pairs with header viewport width=1220).
 */

:root {
    --vk-page-bg: #050b12;
    --vk-page-bg-gradient:
        radial-gradient(circle at 8% 8%, rgba(23, 203, 4, 0.10), transparent 30%),
        radial-gradient(circle at 82% 14%, rgba(139, 69, 255, 0.18), transparent 34%),
        linear-gradient(180deg, #050b12 0%, #07111d 48%, #05080e 100%);
}

html {
    background: var(--vk-page-bg);
    background-image: var(--vk-page-bg-gradient);
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior-x: none;
    height: 100%;
}

html::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -9999;
    background: var(--vk-page-bg);
    background-image: var(--vk-page-bg-gradient);
    pointer-events: none;
}

html::after {
    content: "";
    position: fixed;
    inset: -25% -15%;
    z-index: -9998;
    pointer-events: none;
    opacity: 0.55;
    background:
        radial-gradient(ellipse 55% 42% at 18% 22%, rgba(23, 203, 4, 0.2), transparent 68%),
        radial-gradient(ellipse 48% 38% at 78% 18%, rgba(139, 69, 255, 0.24), transparent 72%),
        radial-gradient(ellipse 52% 40% at 52% 78%, rgba(24, 217, 210, 0.12), transparent 70%),
        radial-gradient(ellipse 40% 32% at 65% 55%, rgba(180, 92, 255, 0.14), transparent 75%);
    filter: blur(42px);
    transform: translate3d(0, 0, 0);
    animation: vk-aurora-drift 22s ease-in-out infinite alternate;
    will-change: transform;
}

@keyframes vk-aurora-drift {
    0% {
        transform: translate3d(-2%, 0, 0) scale(1) rotate(0deg);
        opacity: 0.42;
    }

    33% {
        transform: translate3d(2%, -2%, 0) scale(1.04) rotate(1deg);
        opacity: 0.58;
    }

    66% {
        transform: translate3d(-1%, 2%, 0) scale(1.02) rotate(-1deg);
        opacity: 0.5;
    }

    100% {
        transform: translate3d(3%, 1%, 0) scale(1.06) rotate(0.5deg);
        opacity: 0.56;
    }
}

@media (prefers-reduced-motion: reduce) {
    html::after {
        animation: none;
        opacity: 0.38;
    }
}

body.vk-desktop-viewport {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    min-height: 100%;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    overscroll-behavior-x: none;
    background: var(--vk-page-bg) !important;
    background-image: var(--vk-page-bg-gradient) !important;
}

body.vk-desktop-viewport .site,
body.vk-desktop-viewport #page {
    background-color: transparent !important;
    background-image: none !important;
}

body.vk-desktop-viewport .site-content,
body.vk-desktop-viewport .ast-container {
    background-color: transparent !important;
}

body.vk-desktop-viewport .elementor-location-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: linear-gradient(180deg, #060a12 0%, #040810 100%) !important;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

body.vk-desktop-viewport .elementor-74 .elementor-element.elementor-element-2ebd1b9 {
    display: flex !important;
}

body.vk-desktop-viewport .elementor-74 .elementor-element.elementor-element-16064c8 .elementor-menu-toggle,
body.vk-desktop-viewport .elementor-74 .elementor-element.elementor-element-46d14cd .e-n-menu-toggle {
    display: none !important;
}

body.vk-desktop-viewport .elementor-74 .elementor-element.elementor-element-46d14cd > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading {
    display: flex !important;
}

/* Disable selection / copy on public pages (inputs stay editable). */
body.vk-desktop-viewport,
body.vk-desktop-viewport * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}

body.vk-desktop-viewport input,
body.vk-desktop-viewport textarea,
body.vk-desktop-viewport select,
body.vk-desktop-viewport option,
body.vk-desktop-viewport [contenteditable=""],
body.vk-desktop-viewport [contenteditable="true"],
body.vk-desktop-viewport .e-search-input {
    -webkit-user-select: text !important;
    -moz-user-select: text !important;
    user-select: text !important;
    -webkit-touch-callout: default !important;
}

body.vk-desktop-viewport img,
body.vk-desktop-viewport a img,
body.vk-desktop-viewport video,
body.vk-desktop-viewport svg {
    -webkit-user-drag: none !important;
    user-drag: none !important;
}

/*
 * Touch phones: drop animated/fixed background layers — they repaint on scroll,
 * zoom and pull-to-refresh and cause black flashes + scroll jank.
 */
@media (hover: none) and (pointer: coarse) {
    html {
        background-color: var(--vk-page-bg);
        background-image: none;
        background-attachment: scroll;
        min-height: 100%;
        scroll-behavior: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: none;
        overscroll-behavior-y: auto;
    }

    html::before,
    html::after {
        content: none !important;
        display: none !important;
        animation: none !important;
        filter: none !important;
        will-change: auto !important;
    }

    body.vk-desktop-viewport,
    body.vk-desktop-viewport.custom-background {
        min-height: 100% !important;
        background-color: var(--vk-page-bg) !important;
        background-image: none !important;
        background-attachment: scroll !important;
        -webkit-overflow-scrolling: touch;
    }

    body.vk-desktop-viewport::before {
        content: none !important;
        display: none !important;
    }

    body.vk-desktop-viewport #page,
    body.vk-desktop-viewport .site,
    body.vk-desktop-viewport .site-content,
    body.vk-desktop-viewport .ast-container {
        background-color: var(--vk-page-bg) !important;
        background-image: none !important;
    }

    body.vk-desktop-viewport .elementor-location-header {
        transform: none !important;
        -webkit-transform: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: none !important;
    }

    .vk-product-shell .price-seller,
    .vk-product-shell .sticky-header-wrapper .price-seller,
    .sticky-header-wrapper .price-seller {
        position: static !important;
        top: auto !important;
        box-shadow: none !important;
    }

    body.vk-product-desktop-parity .vk-product-shell.product-container,
    body.vk-product-desktop-parity .vk-product-shell .product-images,
    body.vk-product-desktop-parity .vk-product-shell .product-details,
    body.vk-product-desktop-parity .vk-product-shell .vitalkeys-showcase,
    body.vk-product-desktop-parity .vk-product-shell .vk-showcase-unified,
    body.vk-product-desktop-parity .vk-product-shell .vk-showcase-pane,
    body.vk-product-desktop-parity .vk-product-shell .vk-showcase-card,
    body.vk-product-desktop-parity .vk-product-shell .vitalkeys-showcase-reviews,
    body.vk-product-desktop-parity .vk-product-shell .tab-content {
        background-color: var(--vk-page-bg) !important;
        background-image: none !important;
    }

    .elementor-74 .elementor-element.elementor-element-962ef2a {
        min-height: 56px !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    .elementor-74 .vitalkeys-logo-home {
        width: 146px !important;
        height: 68px !important;
        flex: 0 0 146px !important;
    }

    .elementor-74 .vitalkeys-logo-home::before {
        background-size: 168px 168px !important;
        background-position: -18px -57px !important;
    }

    /* v1.0.180 — touch scroll: flat paint; keep pinch-zoom + pull-to-refresh */
    html,
    body,
    body.custom-background,
    body.vk-desktop-viewport,
    body.vk-desktop-viewport #page,
    body.vk-desktop-viewport .site,
    body.vk-desktop-viewport .site-content,
    body.vk-desktop-viewport .ast-container {
        background-color: var(--vk-page-bg) !important;
        background-image: none !important;
        overscroll-behavior-x: none;
        overscroll-behavior-y: auto;
        touch-action: auto;
    }

    body::before {
        content: none !important;
        display: none !important;
    }

    .elementor-location-header,
    .elementor-233 .elementor-element.elementor-element-8a1915e,
    .elementor-233 .elementor-element.elementor-element-0e33a63 .wc-top-categories-slider-container,
    .elementor-233 .elementor-element.elementor-element-56c76bb > .elementor-widget-container,
    .elementor-233 .elementor-element.elementor-element-48730de,
    .elementor-233 .elementor-element.elementor-element-68c5cc8,
    .wc-top-category-slide,
    .brands-slider .slide,
    .woocommerce ul.products li.product,
    .elementor-widget-woocommerce-products ul.products li.product {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: none !important;
    }

    .woocommerce ul.products li.product:hover,
    .elementor-widget-woocommerce-products ul.products li.product:hover,
    .wc-top-category-slide:hover,
    .brands-slider .slide:hover {
        transform: none !important;
    }

    #page,
    .site-content,
    .ast-container {
        contain: layout style;
    }

    html.vk-is-scrolling *,
    html.vk-is-scrolling *::before,
    html.vk-is-scrolling *::after {
        transition-duration: 0s !important;
        transition-delay: 0s !important;
        animation-play-state: paused !important;
    }

    html.vk-at-scroll-edge .elementor-location-header {
        box-shadow: none !important;
    }
}
