.tn-language-menu {
    position: relative;
    z-index: 2100;
}

.tn-language-menu__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 68px;
    height: 38px;
    border: 1px solid #dce3ef;
    border-radius: 8px;
    background: #f8faff;
    color: #14265b;
    padding: 0 10px;
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.tn-language-menu__trigger > i:first-child { color: #243a7b; }
.tn-language-menu__trigger > i:last-child {
    color: #72809d;
    font-size: 8px;
    transition: transform .16s;
}

.tn-language-menu.is-open .tn-language-menu__trigger {
    border-color: #b7c8ed;
    background: #fff;
    box-shadow: 0 4px 14px rgba(22, 40, 82, .08);
}

.tn-language-menu.is-open .tn-language-menu__trigger > i:last-child { transform: rotate(180deg); }

.tn-language-menu__dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 260px;
    overflow: hidden;
    border: 1px solid #dce4f0;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(22, 39, 75, .18);
    text-align: left;
}

.tn-language-menu.is-open .tn-language-menu__dropdown { display: block; }
.tn-language-menu__dropdown > strong {
    display: block;
    padding: 14px 15px 9px;
    color: #14265b;
    font-size: 12px;
}

.tn-language-menu__options { padding: 0 8px 8px; }
.tn-language-menu__options form { margin: 0; }
.tn-language-menu__options button {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #25365a;
    padding: 7px 9px;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.tn-language-menu__options button:hover { background: #f5f8fd; }
.tn-language-menu__options button.is-selected {
    background: #edf3ff;
    color: #174fcc;
}

.tn-language-menu__options button > i {
    visibility: hidden;
    font-size: 10px;
}

.tn-language-menu__options button.is-selected > i { visibility: visible; }
.tn-language-menu__options span { display: grid; gap: 1px; }
.tn-language-menu__options b { font-size: 11px; }
.tn-language-menu__options small { color: #73819c; font-size: 9px; }
.tn-language-menu__options em {
    color: #71809a;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
}

.tn-language-menu__note {
    display: block;
    border-top: 1px solid #edf0f5;
    padding: 10px 15px;
    color: #8792a7;
    font-size: 9px;
}

.tn-nav-actions { gap: 10px; }
.tn-nav-actions .tn-user-menu__button { gap: 7px; padding: 3px 0; }
.tn-nav-actions .tn-user-menu__avatar {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: #13245f;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.tn-nav-actions .tn-user-menu__text small { display: none; }
.tn-nav-actions .tn-user-menu__chevron { margin-left: 1px; font-size: 9px; }

.tn-mobile-language { display: none; }
.tn-mobile-language h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 8px;
    color: #53617d;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.tn-mobile-language > div {
    overflow: hidden;
    border: 1px solid #dce4f0;
    border-radius: 10px;
    background: #fff;
}

.tn-mobile-language form { margin: 0; }
.tn-mobile-language button {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 50px;
    border: 0;
    border-bottom: 1px solid #edf0f5;
    background: #fff;
    color: #25365a;
    padding: 7px 11px;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.tn-mobile-language form:last-child button { border-bottom: 0; }
.tn-mobile-language button.is-selected { background: #edf3ff; color: #174fcc; }
.tn-mobile-language button > i { visibility: hidden; font-size: 10px; }
.tn-mobile-language button.is-selected > i { visibility: visible; }
.tn-mobile-language button span { display: grid; gap: 1px; }
.tn-mobile-language button b { font-size: 12px; }
.tn-mobile-language button small { color: #71809a; font-size: 10px; }
.tn-mobile-language button em {
    color: #71809a;
    font-size: 10px;
    font-style: normal;
    font-weight: 850;
}

@media (max-width: 1050px) {
    .tn-nav-actions > .tn-language-menu,
    .tn-top-actions > .tn-language-menu { display: none; }
    .tn-mobile-language { display: block; margin: 14px 16px; }
}
