.geosm-language-switcher {
    display: inline-block; flex: 0 0 auto; position: relative; margin: 0; padding: 0;
    max-width: 100%; border: 0; background: transparent;
    font: 600 11px/1.2 Arial, sans-serif; box-sizing: border-box;
}
.geosm-language-switcher__dropdown { position: relative; }
.geosm-language-switcher__toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    min-width: 59px; min-height: 30px; padding: 6px 10px; box-sizing: border-box;
    border: 1px solid #dfe3e8; border-radius: 6px; background: #fff; color: #3b4149;
    list-style: none; cursor: pointer; user-select: none;
}
.geosm-language-switcher__toggle::-webkit-details-marker { display: none; }
.geosm-language-switcher__toggle::marker { content: ''; }
.geosm-language-switcher__arrow {
    display: block; width: 5px; height: 5px; border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor; transform: translateY(-1px) rotate(45deg);
}
.geosm-language-switcher__dropdown[open] .geosm-language-switcher__arrow { transform: translateY(2px) rotate(225deg); }
.geosm-language-switcher__list {
    position: absolute; top: calc(100% + 6px); right: 0; z-index: 10000;
    width: max-content; min-width: 150px; max-width: min(260px, 90vw);
    padding: 4px; border: 1px solid #e2e6ea; border-radius: 8px;
    background: #fff; box-shadow: 0 8px 24px #001b2526;
}
.geosm-language-switcher .geosm-language-switcher__link {
    display: flex; align-items: center; gap: 10px; min-height: 34px;
    padding: 7px 9px; box-sizing: border-box; border-radius: 4px;
    color: #3b4149; text-decoration: none; white-space: nowrap;
}
.geosm-language-switcher .geosm-language-switcher__link:hover { background: #f0f2f5; color: #101820; }
.geosm-language-switcher .geosm-language-switcher__link[aria-current="true"] { background: #edf5f1; color: #145636; font-weight: 700; text-decoration: none; }
.geosm-language-switcher__code { min-width: 22px; }
.geosm-language-switcher__name { font-size: 12px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.geosm-language-switcher__toggle:focus-visible,
.geosm-language-switcher .geosm-language-switcher__link:focus-visible { outline: 2px solid #135e96; outline-offset: 2px; }
@media (max-width: 767px) {
    .header__container-top > .container { flex-wrap: wrap; gap: 8px 12px; height: auto; min-height: 50px; padding-top: 8px; padding-bottom: 8px; }
    .header__container-top .geosm-language-switcher { margin-left: auto; }
    .geosm-language-switcher__toggle { min-height: 34px; }
    .geosm-language-switcher .geosm-language-switcher__link { min-height: 40px; }
}
