/* Floating scroll-to-top — admin + public site */

body.admin-app > .scroll-to-top,
.scroll-to-top {
    --scroll-top-size: 2.85rem;
    --scroll-top-accent: #d4622a;
    --scroll-top-accent-deep: #a84418;

    position: fixed !important;
    right: max(1.1rem, env(safe-area-inset-right, 0px));
    bottom: calc(1.15rem + env(safe-area-inset-bottom, 0px));
    z-index: 10150;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--scroll-top-size);
    height: var(--scroll-top-size);
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    cursor: pointer;
    color: #fff;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.28), transparent 52%),
        linear-gradient(145deg, #e87840 0%, var(--scroll-top-accent) 42%, var(--scroll-top-accent-deep) 100%);
    box-shadow:
        0 10px 28px rgba(168, 68, 24, 0.34),
        0 2px 8px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px) scale(0.9);
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease,
        transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.2s ease,
        filter 0.2s ease;
}

.scroll-to-top svg {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}

.scroll-to-top i {
    font-size: 1.35rem;
    line-height: 1;
    transform: translateY(-1px);
}

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

.scroll-to-top:hover {
    filter: brightness(1.06);
    box-shadow:
        0 14px 34px rgba(168, 68, 24, 0.42),
        0 4px 12px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.scroll-to-top:active {
    transform: translateY(1px) scale(0.96);
}

.scroll-to-top:focus-visible {
    outline: 2px solid rgba(240, 184, 120, 0.95);
    outline-offset: 3px;
}

body.admin-nav-is-open .scroll-to-top,
body.inv-drawer-is-open .scroll-to-top,
body.admin-global-search-is-open .scroll-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (min-width: 992px) {
    .scroll-to-top {
        right: 1.35rem;
        bottom: 1.35rem;
    }
}

@media (max-width: 575.98px) {
    .scroll-to-top {
        --scroll-top-size: 2.65rem;
        right: 0.85rem;
        bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
    }
}

@media print {
    .scroll-to-top {
        display: none !important;
    }
}
