/* =====================================================================
   دکمه‌ی «بازگشت به بالای صفحه»
   - درست بالای دکمه‌ی چت آنلاین (.cb-fab) قرار می‌گیرد و هم‌مرکز با آن است.
   - فقط وقتی کاربر کمی به پایین اسکرول کرده باشد ظاهر می‌شود (کلاس .is-visible از ScrollTop.js).
   - وقتی پنل چت باز است پنهان می‌شود تا روی آن نیفتد.
   ===================================================================== */
.scroll-top-btn {
    position: fixed;
    /* همیشه گوشه‌ی راست مثل چت (مستقل از rtl/ltr)؛ ۱.۲۵rem فاصله‌ی چت + نصفِ اختلاف عرض دو دکمه */
    right: 1.65rem;
    left: auto;
    /* ۱.۲۵rem فاصله‌ی چت + ۳.۷rem ارتفاع چت + ۰.۷rem فاصله */
    bottom: calc(5.65rem + env(safe-area-inset-bottom, 0px));
    z-index: 960; /* کمی کمتر از چت (970) */
    display: grid;
    place-items: center;
    width: 2.9rem;
    height: 2.9rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(79, 70, 229, .35), 0 2px 6px rgba(49, 46, 129, .18);
    -webkit-tap-highlight-color: transparent;
    /* حالت مخفی */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(.9rem) scale(.8);
    transition: opacity .3s ease, transform .3s cubic-bezier(.34, 1.56, .64, 1), visibility 0s linear .3s, box-shadow .2s ease;
}

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

    .scroll-top-btn:hover {
        box-shadow: 0 10px 26px rgba(79, 70, 229, .45), 0 2px 8px rgba(49, 46, 129, .22);
    }

    .scroll-top-btn.is-visible:hover {
        transform: translateY(-3px) scale(1.06);
    }

    .scroll-top-btn.is-visible:active {
        transform: scale(.92);
    }

    .scroll-top-btn:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 2px;
        box-shadow: 0 0 0 4px rgba(99, 102, 241, .55);
    }

    .scroll-top-btn svg {
        width: 1.35rem;
        height: 1.35rem;
        display: block;
        pointer-events: none;
    }

/* وقتی پنل چت باز است، دکمه پنهان شود (روی پنل نیفتد) */
body:has(.cb-root.is-open) .scroll-top-btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* موبایل: چت در پایین-راست با ۱rem فاصله است */
@media (max-width: 560px) {
    .scroll-top-btn {
        right: 1.4rem;
        bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
        width: 2.7rem;
        height: 2.7rem;
    }
}

/* اگر کاربر انیمیشن کم خواسته باشد */
@media (prefers-reduced-motion: reduce) {
    .scroll-top-btn,
    .scroll-top-btn.is-visible {
        transition: opacity .01s linear, visibility 0s;
        transform: none;
    }
}

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