/*
 * CaliGo Movers Live v1.5.12
 * Seamless homepage canvas and global back-to-top control.
 */

/* A single calm canvas across the complete homepage, without section bands. */
body.home,
body.page-template-front-page {
    background-color: #020b20 !important;
    background-image:
        radial-gradient(ellipse at 50% -8%, rgba(24, 96, 200, 0.11), transparent 42%),
        radial-gradient(ellipse at -8% 58%, rgba(255, 91, 11, 0.025), transparent 32%),
        radial-gradient(ellipse at 108% 80%, rgba(20, 116, 255, 0.045), transparent 34%),
        linear-gradient(180deg, #020b20 0%, #031127 52%, #020b20 100%) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
}

/*
 * Remove the remaining full-width decorative separators around the video and
 * statistics sections. Their actual cards, player frame and statistics panel
 * remain unchanged.
 */
body.home .caligo-video-process::before,
body.home .caligo-video-process::after,
body.home .caligo-statistics::before,
body.home .caligo-statistics::after,
body.page-template-front-page .caligo-video-process::before,
body.page-template-front-page .caligo-video-process::after,
body.page-template-front-page .caligo-statistics::before,
body.page-template-front-page .caligo-statistics::after {
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}

body.home .caligo-video-process,
body.home .caligo-statistics,
body.page-template-front-page .caligo-video-process,
body.page-template-front-page .caligo-statistics {
    border-block: 0 !important;
    box-shadow: none !important;
}

/* Fixed back-to-top button. */
.caligo-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9998;
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 91, 11, 0.72);
    border-radius: 50%;
    color: #ffffff;
    background:
        linear-gradient(145deg, rgba(7, 22, 48, 0.90), rgba(2, 11, 29, 0.96));
    box-shadow:
        0 0 0 1px rgba(22, 135, 255, 0.14) inset,
        0 10px 30px rgba(0, 0, 0, 0.36),
        0 0 18px rgba(255, 91, 11, 0.15);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(0.92);
    pointer-events: none;
    transition:
        opacity 180ms ease,
        visibility 180ms ease,
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.caligo-back-to-top::before,
.caligo-back-to-top::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    top: 25px;
}

.caligo-back-to-top::before {
    transform: translateX(-88%) rotate(-45deg);
}

.caligo-back-to-top::after {
    transform: translateX(-12%) rotate(45deg);
}

.caligo-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.caligo-back-to-top:hover,
.caligo-back-to-top:focus-visible {
    border-color: #ff5b0b;
    transform: translateY(-3px) scale(1.03);
    box-shadow:
        0 0 0 1px rgba(44, 157, 255, 0.28) inset,
        0 12px 32px rgba(0, 0, 0, 0.42),
        0 0 24px rgba(255, 91, 11, 0.30),
        0 0 16px rgba(24, 135, 255, 0.16);
    outline: none;
}

.caligo-back-to-top:active {
    transform: translateY(-1px) scale(0.98);
}

@media (max-width: 767px) {
    .caligo-back-to-top {
        right: 14px;
        bottom: 14px;
        width: 46px;
        height: 46px;
    }

    .caligo-back-to-top::before,
    .caligo-back-to-top::after {
        top: 21px;
        width: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .caligo-back-to-top {
        transition: none;
    }
}
