/*
 * ZendaSoftware — ZS-6O-B3
 *
 * Narrow browser-runtime repair layer.
 *
 * Scope:
 *  - deterministic logo rendering
 *  - persistent mobile close control
 *  - authoritative Home scroll-to-top positioning
 *
 * Existing visual architecture remains intact.
 */


/* =========================================================
 * LOGO RENDERING
 * ========================================================= */

img[data-zenda-logo-slot] {
    opacity:
        1 !important;

    visibility:
        visible;

    filter:
        none !important;

    -webkit-filter:
        none !important;

    mix-blend-mode:
        normal !important;

    isolation:
        auto;

    image-rendering:
        auto;
}


#site-header
a[aria-label="ZendaSoftware Home"] {
    opacity:
        1 !important;

    filter:
        none !important;

    mix-blend-mode:
        normal !important;
}


#site-header
a[aria-label="ZendaSoftware Home"]
img[data-zenda-logo-slot] {
    opacity:
        1 !important;

    filter:
        none !important;

    -webkit-filter:
        none !important;

    mix-blend-mode:
        normal !important;
}


/*
 * The theme utilities continue to own display.
 * These rules never force both logos visible.
 */

html:not(.dark)
img[data-zenda-logo-slot="light"] {
    filter:
        none !important;

    -webkit-filter:
        none !important;

    opacity:
        1 !important;
}


html.dark
img[data-zenda-logo-slot="dark"] {
    filter:
        none !important;

    -webkit-filter:
        none !important;

    opacity:
        1 !important;
}


/* =========================================================
 * MOBILE TOPBAR / CLOSE CONTROL
 * ========================================================= */

@media (max-width: 1023px) {

    #mobile-panel
    .zenda-mobile-topbar {
        position:
            sticky !important;

        top:
            0 !important;

        z-index:
            40 !important;

        flex:
            0 0 auto !important;

        isolation:
            isolate;

        background:
            rgba(9, 7, 17, .96) !important;

        box-shadow:
            0 1px 0 rgba(148,163,184,.14),
            0 12px 32px rgba(0,0,0,.20);
    }


    #mobile-close {
        position:
            relative !important;

        z-index:
            50 !important;

        display:
            grid !important;

        place-items:
            center !important;

        flex:
            0 0 44px !important;

        width:
            44px !important;

        min-width:
            44px !important;

        height:
            44px !important;

        min-height:
            44px !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        pointer-events:
            auto !important;

        color:
            #f8fafc !important;

        border:
            1px solid rgba(255,255,255,.18)
            !important;

        background:
            rgba(255,255,255,.065)
            !important;

        box-shadow:
            0 8px 24px rgba(0,0,0,.18);

        -webkit-tap-highlight-color:
            transparent;
    }


    #mobile-close i {
        display:
            block !important;

        opacity:
            1 !important;

        visibility:
            visible !important;

        color:
            #ffffff !important;

        font-size:
            20px !important;

        line-height:
            1 !important;
    }


    #mobile-close:active {
        transform:
            scale(.96);
    }

}


/* =========================================================
 * HOME BACK TO TOP — FINAL VISUAL AUTHORITY
 * ========================================================= */

#back-to-top.zenda-b3-scrolltop {
    --zenda-scroll:
        0;

    position:
        fixed !important;

    z-index:
        119 !important;

    inset-inline-start:
        20px !important;

    inset-inline-end:
        auto !important;

    bottom:
        calc(
            92px
            + env(safe-area-inset-bottom)
        )
        !important;

    display:
        grid !important;

    place-items:
        center !important;

    width:
        48px !important;

    height:
        48px !important;

    min-width:
        48px !important;

    min-height:
        48px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        1px solid rgba(129,140,248,.24)
        !important;

    border-radius:
        999px !important;

    background:
        rgba(15, 12, 27, .94)
        !important;

    color:
        #f8fafc !important;

    box-shadow:
        0 18px 44px rgba(5,5,18,.28),
        inset 0 1px 0 rgba(255,255,255,.08);

    opacity:
        0 !important;

    visibility:
        hidden !important;

    pointer-events:
        none !important;

    transform:
        translateY(10px)
        scale(.94);

    transition:
        opacity .22s ease,
        visibility .22s ease,
        transform .22s ease;

    -webkit-backdrop-filter:
        blur(16px);

    backdrop-filter:
        blur(16px);

    -webkit-tap-highlight-color:
        transparent;
}


#back-to-top.zenda-b3-scrolltop.is-visible {
    opacity:
        1 !important;

    visibility:
        visible !important;

    pointer-events:
        auto !important;

    transform:
        translateY(0)
        scale(1);
}


#back-to-top.zenda-b3-scrolltop
.zenda-b1-scrolltop-svg {
    pointer-events:
        none;
}


#back-to-top.zenda-b3-scrolltop
.zenda-b1-scrolltop-tooltip {
    pointer-events:
        none;
}


@media (max-width: 640px) {

    #back-to-top.zenda-b3-scrolltop {
        inset-inline-start:
            18px !important;

        bottom:
            calc(
                88px
                + env(safe-area-inset-bottom)
            )
            !important;

        width:
            46px !important;

        height:
            46px !important;
    }

}


@media (prefers-reduced-motion: reduce) {

    #back-to-top.zenda-b3-scrolltop,
    #mobile-close {
        transition:
            none !important;
    }

}
