/* ARSVOIM_LANGUAGE_MENU_3_1_0 — shared signed-in language switcher */
.arsvoim-language-menu {
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
    color:#17171d;
}

.arsvoim-language-menu-trigger {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-width:76px;
    height:38px;
    padding:0 11px;
    border:1px solid #d9dce4;
    border-radius:999px;
    background:#fff;
    color:#20212a;
    box-shadow:0 3px 12px rgba(23,24,32,.07);
    font:inherit;
    font-size:12px;
    font-weight:850;
    letter-spacing:.025em;
    cursor:pointer;
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.arsvoim-language-menu-trigger:hover,
.arsvoim-language-menu.is-open .arsvoim-language-menu-trigger {
    border-color:#c7cbd5;
    background:#f8f9fb;
    box-shadow:0 5px 16px rgba(23,24,32,.09);
}

.arsvoim-language-menu-trigger:active { transform:translateY(1px); }
.arsvoim-language-menu-trigger:focus { outline:none; }
.arsvoim-language-menu-trigger:focus-visible,
.arsvoim-language-menu-option:focus-visible {
    outline:3px solid rgba(87,74,226,.25);
    outline-offset:2px;
}

.arsvoim-language-menu-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    color:#596171;
    flex:0 0 16px;
}

.arsvoim-language-menu-icon svg {
    display:block;
    width:16px;
    height:16px;
    overflow:visible;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.arsvoim-language-menu-icon img {
    display:block;
    width:16px;
    height:16px;
    object-fit:contain;
}

.arsvoim-language-menu-current { min-width:20px;text-align:center; }
.arsvoim-language-menu-chevron {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:13px;
    height:13px;
    color:#737887;
    flex:0 0 13px;
    transition:transform .16s ease;
}

.arsvoim-language-menu-chevron svg {
    display:block;
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.arsvoim-language-menu.is-open .arsvoim-language-menu-chevron { transform:rotate(180deg); }
.arsvoim-language-menu-panel {
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:1200;
    width:224px;
    max-width:calc(100vw - 20px);
    max-height:min(520px,calc(100vh - 92px));
    overflow:auto;
    padding:8px;
    border:1px solid #dedfe6;
    border-radius:15px;
    background:#fff;
    box-shadow:0 18px 46px rgba(21,22,31,.15);
}

[dir="rtl"] .arsvoim-language-menu-panel { right:auto;left:0; }
.arsvoim-language-menu-panel[hidden] { display:none!important; }
.arsvoim-language-menu-heading {
    padding:6px 9px 8px;
    color:#727786;
    font-size:11px;
    font-weight:800;
    letter-spacing:.035em;
    text-transform:none;
}

.arsvoim-language-menu-option {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 18px;
    align-items:center;
    gap:8px;
    width:100%;
    min-height:42px;
    padding:7px 9px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#262730;
    font:inherit;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    transition:background-color .14s ease,color .14s ease;
}

/* Internal menus share the same rows, independent of surrounding nav styles. */
.arsvoim-language-menu-internal .arsvoim-language-menu-option {
    height:40px;
    padding:0 12px;
    border:1px solid var(--av3-border,#e4e7ec);
    border-radius:10px;
    background:var(--av3-white,#fff);
}
.arsvoim-language-menu-option:hover { background:#f4f5f8; }
.arsvoim-language-menu-option.is-active { background:#f0edff;color:#4937bd;box-shadow:inset 0 0 0 1px #d9d2ff; }
.arsvoim-language-menu-code {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    min-height:24px;
    border:1px solid #e1e3e9;
    border-radius:8px;
    background:#fff;
    color:#717683;
    font-size:10px;
    font-weight:900;
    letter-spacing:.045em;
}

.arsvoim-language-menu-option.is-active .arsvoim-language-menu-code { border-color:#d9d2ff;color:#4937bd; }
.arsvoim-language-menu-name {
    overflow:hidden;
    font-size:14px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.arsvoim-language-menu-check { opacity:0;color:#4937bd;font-size:14px;font-weight:900; }
.arsvoim-language-menu-option.is-active .arsvoim-language-menu-check { opacity:1; }

@media (max-width:620px) {
    .arsvoim-language-menu-trigger {
        min-width:58px;
        height:34px;
        gap:5px;
        padding:0 9px;
        font-size:10px;
    }
    .arsvoim-language-menu-panel { top:calc(100% + 7px);width:210px; }
}

@media (prefers-reduced-motion:reduce) {
    .arsvoim-language-menu-trigger,
    .arsvoim-language-menu-chevron,
    .arsvoim-language-menu-option { transition:none; }
}
