select.gs-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background-image: none !important;
}

.gs-select {
    cursor: pointer;
}

.gs-listbox {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    max-height: 380px;
    margin: 0;
    padding: 6px;
    overflow-y: auto;
    list-style: none;
    text-align: left;
    background: #fff;
    border: 1px solid #dbdbdb;
    border-radius: 14px;
    box-shadow: 0 24px 56px -18px rgba(0, 0, 0, .4);
    outline: 0;
    cursor: default;
    scrollbar-width: thin;
    scrollbar-color: #cfcfcf transparent;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .15s, transform .15s, visibility 0s .15s;
}

.gs-listbox--up {
    top: auto;
    bottom: calc(100% + 8px);
    transform: translateY(6px);
}

[data-open] > .gs-listbox {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .15s, transform .15s;
}

.gs-option {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 40px 0 14px;
    font: 400 16px/1.2 'Rubik', sans-serif;
    color: #111;
    border-radius: 9px;
    cursor: pointer;
}

.gs-option.is-active {
    background: #f3efe9;
}

.gs-option[aria-selected="true"] {
    font-weight: 500;
}

.gs-option[aria-selected="true"]::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 14px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff7c00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 16px;
}

.gs-dd {
    position: relative;
    z-index: 3000;
    vertical-align: middle;
}

.gs-dd .gs-listbox {
    position: fixed;
    left: 0;
    min-width: 168px;
}

.gs-dd .gs-listbox--right {
    left: auto;
    right: 0;
}

.gs-select--lang {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 5px 18px 0 0;
    font: 400 14px/1.5 'Rubik', sans-serif;
    color: #fff;
    text-align: left;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
}

.gs-select--lang:focus-visible {
    outline: 2px solid #ff7c00;
    outline-offset: 3px;
    border-radius: 4px;
}

.gs-select--lang::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 10px;
    margin-top: -2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 10px;
    transition: transform .2s;
    pointer-events: none;
}

[data-open] > .gs-select--lang::after {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .gs-listbox,
    .gs-select--lang::after { transition: none; }
}
