/* =========================================================
   LANGUAGE SWITCHER — ONLY #site-language
   Fully isolated from the site's base layout.
   ========================================================= */

#site-language.site-language {
    position: fixed !important;
    top: 24px !important;
    left: 24px !important;
    width: 170px !important;
    height: 44px !important;
    display: block !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2147483647 !important;
    direction: ltr !important;
    text-align: left !important;
    transform: none !important;
    isolation: isolate !important;
    font-family: inherit !important;
}

#site-language .site-language__toggle {
    position: relative !important;
    z-index: 2 !important;
    width: 170px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 10px !important;
    background: #080a0c !important;
    color: #ffffff !important;
    box-shadow: 0 8px 25px rgba(0,0,0,.45) !important;
    cursor: pointer !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: inherit !important;
    direction: ltr !important;
    text-align: left !important;
    left: 8em;
    bottom: 0.35em;
}

#site-language .site-language__toggle:hover {
    border-color: rgba(207,255,58,.65) !important;
}

#site-language .site-language__globe {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
}

#site-language .site-language__current {
    flex: 1 1 auto !important;
    display: block !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-align: left !important;
}

#site-language .site-language__arrow {
    flex: 0 0 8px !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(45deg) translateY(-2px) !important;
    transition: transform .18s ease !important;
}

#site-language.is-open .site-language__arrow {
    transform: rotate(225deg) translate(-1px, -1px) !important;
}

/* Critical: menu is NOT inside an overflow-hidden/transform context.
   It is explicitly visible and above every site element. */
#site-language .site-language__menu {
    position: absolute !important;
    z-index: 2147483647 !important;
    top: 51px !important;
    top: 3em !important;
    left: 8em !important;
    min-height: 160px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 10px !important;
    background: #080a0c !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.60) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-6px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    direction: ltr !important;
    overflow: visible !important;
}

#site-language .site-language__menu[hidden] {
    display: flex !important;
}

#site-language .site-language__menu.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

#site-language .site-language__menu a {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 34px !important;
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #fff !important;
    text-decoration: none !important;
    cursor: pointer !important;
    direction: ltr !important;
    text-align: left !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

#site-language .site-language__menu a:hover {
    background: rgba(207,255,58,.14) !important;
    color: #fff !important;
}

#site-language .site-language__menu a span:first-child {
    flex: 0 0 22px !important;
    width: 22px !important;
    text-align: center !important;
    font-size: 15px !important;
}

@media (max-width: 700px) {
    #site-language.site-language {
        top: 12px !important;
        left: 12px !important;
        width: 150px !important;
    }

    #site-language .site-language__toggle {
        left: 5em !important;
        top: 0.35em !important;
       
    }
    #site-language .site-language__menu {
        left: 5em !important;
        top: 3.5em !important;
        
    }
}