.xtalk-language-switcher {
    display: inline-grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    place-items: center;
    justify-self: end;
}

.xtalk-language-switcher__trigger {
    display: inline-grid;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 1px solid #dce2ec;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 20px -18px rgba(15, 29, 56, .42);
    color: #0f1d38;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.xtalk-language-switcher__trigger:hover,
.xtalk-language-switcher__trigger:focus-visible {
    border-color: #aeb9cc;
    box-shadow: 0 10px 22px -17px rgba(15, 29, 56, .55);
    outline: none;
}

.xtalk-language-switcher__trigger:active { transform: scale(.95); }
.xtalk-language-switcher__trigger:disabled { cursor: wait; opacity: .62; }

.xtalk-language-switcher__trigger svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.85;
}

.xtalk-language-sheet,
.xtalk-language-sheet * { box-sizing: border-box; }
.xtalk-language-sheet[hidden] { display: none; }

.xtalk-language-sheet {
    position: fixed;
    z-index: 1900;
    inset: 0;
    display: grid;
    align-items: end;
    background: rgba(15, 29, 56, 0);
    transition: background .24s ease;
}

.xtalk-language-sheet.is-open { background: rgba(15, 29, 56, .34); }

.xtalk-language-sheet__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
    cursor: default;
}

.xtalk-language-sheet__panel {
    position: relative;
    width: min(100%, 760px);
    max-height: min(590px, calc(100svh - 24px));
    max-height: min(590px, calc(100dvh - 24px));
    margin: 0 auto;
    padding: 10px 18px max(22px, env(safe-area-inset-bottom));
    overflow-y: auto;
    border: 1px solid rgba(229, 233, 241, .95);
    border-bottom: 0;
    border-radius: 26px 26px 0 0;
    background: #fff;
    box-shadow: 0 -16px 42px rgba(15, 29, 56, .16);
    color: #0f1d38;
    font: inherit;
    transform: translateY(104%);
    transition: transform .28s cubic-bezier(.22, .8, .24, 1);
}

.xtalk-language-sheet.is-open .xtalk-language-sheet__panel { transform: translateY(0); }

.xtalk-language-sheet__handle {
    width: 38px;
    height: 4px;
    margin: 0 auto 12px;
    border-radius: 999px;
    background: #dce2ec;
}

.xtalk-language-sheet__header {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.xtalk-language-sheet__header h2 {
    margin: 0;
    color: #0f1d38;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.015em;
}

.xtalk-language-sheet__close {
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #f3f5f8;
    color: #0f1d38;
    cursor: pointer;
    font: inherit;
    font-size: 25px;
    font-weight: 350;
    line-height: 1;
}

.xtalk-language-sheet__list {
    display: grid;
    gap: 4px;
    margin-top: 9px;
}

.xtalk-language-sheet__option {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 26px;
    width: 100%;
    min-height: 56px;
    align-items: center;
    gap: 12px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: transparent;
    color: #0f1d38;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.xtalk-language-sheet__option:hover,
.xtalk-language-sheet__option:focus-visible {
    border-color: #e3e7ee;
    background: #f7f8fb;
    outline: none;
}

.xtalk-language-sheet__option.is-active { border-color: #fee0e3; background: #fff5f6; }

.xtalk-language-sheet__flag {
    display: block;
    width: 38px;
    height: 38px;
    overflow: hidden;
    border: 1px solid rgba(15, 29, 56, .08);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, #aab6c9 0 13%, transparent 14%), #eff2f7;
    box-shadow: 0 2px 5px rgba(15, 29, 56, .12);
}

.xtalk-language-sheet__flag--de { background: linear-gradient(#1c1c1f 0 33.33%, #e94248 33.33% 66.66%, #facf45 66.66%); }
.xtalk-language-sheet__flag--hu { background: linear-gradient(#d13d43 0 33.33%, #fff 33.33% 66.66%, #2f905b 66.66%); }
.xtalk-language-sheet__flag--it { background: linear-gradient(90deg, #18814d 0 33.33%, #fff 33.33% 66.66%, #d5444e 66.66%); }
.xtalk-language-sheet__flag--in { background: radial-gradient(circle at 50% 50%, #214f9c 0 8%, transparent 9%), linear-gradient(#ef8d3d 0 33.33%, #fff 33.33% 66.66%, #18885d 66.66%); }
.xtalk-language-sheet__flag--fr { background: linear-gradient(90deg, #234aa0 0 33.33%, #fff 33.33% 66.66%, #df3f4b 66.66%); }
.xtalk-language-sheet__flag--gr { background: repeating-linear-gradient(#1f67ae 0 4px, #fff 4px 8px); }
.xtalk-language-sheet__flag--pl { background: linear-gradient(#fff 0 50%, #da4a54 50%); }
.xtalk-language-sheet__flag--es { background: linear-gradient(#b7343a 0 25%, #f7cc46 25% 75%, #b7343a 75%); }
.xtalk-language-sheet__flag--pt { background: linear-gradient(90deg, #178052 0 42%, #d8444d 42%); }
.xtalk-language-sheet__flag--nl { background: linear-gradient(#c83c46 0 33.33%, #fff 33.33% 66.66%, #2453a5 66.66%); }
.xtalk-language-sheet__flag--ro { background: linear-gradient(90deg, #244aa0 0 33.33%, #f3c544 33.33% 66.66%, #d64049 66.66%); }
.xtalk-language-sheet__flag--bg { background: linear-gradient(#fff 0 33.33%, #2d995f 33.33% 66.66%, #d8454b 66.66%); }
.xtalk-language-sheet__flag--tr { background: #d83b45; }
.xtalk-language-sheet__flag--ua { background: linear-gradient(#2f68b2 0 50%, #f3cd3f 50%); }
.xtalk-language-sheet__flag--ru { background: linear-gradient(#fff 0 33.33%, #2e5ba8 33.33% 66.66%, #d44048 66.66%); }
.xtalk-language-sheet__flag--jp { background: radial-gradient(circle at 50% 50%, #d63e49 0 33%, transparent 34%), #fff; }
.xtalk-language-sheet__flag--cn { background: #d84149; }
.xtalk-language-sheet__flag--kr { background: radial-gradient(circle at 50% 43%, #d8474f 0 20%, #2b61a7 21% 40%, transparent 41%), #fff; }
.xtalk-language-sheet__flag--gb { background: #173e84; }
.xtalk-language-sheet__flag--ae { background: linear-gradient(90deg, #ef3340 0 27%, transparent 27%), linear-gradient(#00732f 0 33.33%, #fff 33.33% 66.66%, #101820 66.66%); }
.xtalk-language-sheet__flag--gb svg { display: block; width: 100%; height: 100%; }

.xtalk-language-sheet__name {
    min-width: 0;
    font-size: 15px;
    font-weight: 650;
    letter-spacing: -.01em;
}

.xtalk-language-sheet__check {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: #f22939;
}

.xtalk-language-sheet__check svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

body.xtalk-language-sheet-open { overflow: hidden; }

@media (max-width: 560px) {
    .xtalk-language-switcher,
    .xtalk-language-switcher__trigger { width: 40px; min-width: 40px; height: 40px; }
    .xtalk-language-sheet__panel { padding-right: 14px; padding-left: 14px; }
}
