
/* -------------------- Button Back-to-top -------------------- */
.back-to-top {
    position: fixed;
    right: 1rem;
    bottom: calc(1rem + env(safe-area-inset-bottom, 0));
    z-index: 9000;
    width: 50px;
    height: 50px;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .18), 0 6px 6px rgba(0, 0, 0, .12);
    border: none;
    cursor: pointer;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .25s ease,
    transform .25s ease,
    border .25s ease,
    background .2s ease,
    color .2s ease;
}

.back-to-top svg {
    width: 28px;
}

.back-to-top svg * {
    fill: var(--color-text);
}

/* Visible après scroll */
.back-to-top.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Hover/Focus */
.back-to-top:hover,
.back-to-top:focus-visible {
    background: var(--color-background--dark-hover);
    outline: none;
    border: 1px solid var(--color-navigation-border);
}

.back-to-top:hover svg *,
.back-to-top:focus-visible svg * {
    fill: var(--color-text--light);
}

@media (max-width: 576px) {
    .back-to-top {
        width: 45px;
        height: 45px;
    }

    .back-to-top svg {
        width: 24px;
    }
}
