.lang_dropdown {
    position: fixed;
    top: max(12px, env(safe-area-inset-top, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    z-index: 30;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
}

.lang_toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px 9px 16px;
    margin: 0;
    border: 1px solid rgba(0, 143, 109, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #232323;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    box-shadow:
        0 4px 24px rgba(35, 35, 35, 0.1),
        0 1px 2px rgba(0, 0, 0, 0.06);
    transition:
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.lang_toggle:hover {
    background: rgba(255, 255, 255, 1);
}

.lang_toggle:focus-visible {
    outline: none;
    box-shadow:
        0 4px 24px rgba(35, 35, 35, 0.1),
        0 0 0 2px rgba(0, 143, 109, 0.35);
}

.lang_toggle_chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform 0.22s ease;
}

.lang_toggle_chevron svg {
    display: block;
    width: 100%;
    height: 100%;
}

.lang_dropdown.is-open .lang_toggle_chevron {
    transform: rotate(90deg);
}

.lang_menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 180px;
    padding: 6px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(0, 143, 109, 0.14);
    border-radius: 12px;
    box-shadow:
        0 8px 28px rgba(35, 35, 35, 0.12),
        0 2px 8px rgba(0, 0, 0, 0.06);
}

.lang_menu[hidden] {
    display: none;
}

.lang_menu_item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #008f6d;
    text-decoration: none;
    font-weight: 500;
    transition: background 0.15s ease;
}

.lang_menu_item:hover,
.lang_menu_item:focus-visible {
    background: rgba(0, 143, 109, 0.08);
    outline: none;
}

.lang_menu_item.is-active {
    font-weight: 700;
}

.lang_flag {
    display: block;
    width: 22px;
    height: auto;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
    flex-shrink: 0;
}

/* Sponsor invitation pages — keep above decorative elements */
.sponsor-invitation-page .lang_dropdown {
    z-index: 40;
}

.sponsor-invitation-page .lang_toggle {
    border-color: var(--sponsor-border, #E6E2D8);
    color: var(--sponsor-text, #1B1B1B);
}

.sponsor-invitation-page .lang_menu_item {
    color: var(--sponsor-brand, #0E3B2A);
}

/* App header v2 — inline switcher inside tu-header__actions / admin topbar */
.lang_dropdown--app {
    position: relative;
    top: auto;
    right: auto;
    z-index: 2;
    font-size: 12px;
}

.lang_dropdown--app .lang_toggle {
    padding: 7px 12px 7px 14px;
    gap: 6px;
    box-shadow: 0 1px 4px rgba(23, 28, 31, 0.08);
}

.lang_dropdown--app .lang_toggle_chevron {
    width: 16px;
    height: 16px;
}

.lang_dropdown--app .lang_menu {
    min-width: 168px;
}

.tu-header__actions .lang_dropdown--app,
.tu-admin-topbar__end .lang_dropdown--app {
    flex-shrink: 0;
}

/* Auth pages — inline next to the back link, never overlay it */
.lang_dropdown--auth {
    position: relative;
    top: auto;
    right: auto;
    flex-shrink: 0;
}
