.c-scroll-top {
    position: fixed;
    left: 1.5rem;
    bottom: 1.5rem;
    z-index: 900;

    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: var(--vt-color-bg);
    color: var(--vt-color-secondary);

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    box-shadow: var(--vt-box-shadow-light);

    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.4s ease,
        visibility 0.4s ease;
}

.c-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.c-scroll-top__icon {
    width: 25px;
    height: 25px;
    display: block;
}

.c-scroll-top__icon svg {
    width: 25px;
    height: 25px;
    display: block;
}

.c-scroll-top:hover,
.c-scroll-top:focus-visible {
    background: var(--vt-color-secondary);
    color: var(--vt-color-white);
    transform: translateY(-4px);
    box-shadow: var(--vt-box-shadow);
}

.c-scroll-top:focus-visible {
    outline: 3px solid rgba(13, 121, 191, 0.28);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .c-scroll-top {
        transition: none;
        transform: none;
    }

    .c-scroll-top.is-visible {
        transform: none;
    }
}

@media (max-width: 991.98px) {
    .c-scroll-top {
        right: 1rem;
        bottom: 1rem;
    }
}