/* A compact, two-language choice that keeps both destinations visible. */
.cha-language-switcher {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 2px;
    list-style: none;
    padding: 3px;
    margin: 0;
    border: 1px solid #c7ceca;
    border-radius: 6px;
    background: #f0eee7;
    font-family: inherit;
    font-size: .78rem;
    line-height: 1;
}
.cha-language-switcher li { margin: 0; padding: 0; }
.cha-language-switcher a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    padding: 0 .8rem;
    border-radius: 3px;
    color: #334f53;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.cha-language-switcher a:hover { background: #e1e5de; color: #102f36; text-decoration: none; }
.cha-language-switcher .current-lang a,
.cha-language-switcher .current-lang a:hover {
    background: #102f36;
    color: #fbf9f4;
    box-shadow: 0 1px 3px #102f3620;
    font-weight: 600;
    text-decoration: none;
}
.cha-language-switcher a:focus-visible { outline: 2px solid #1d6470; outline-offset: 3px; }
@media (max-width:1279px) { .cha-header-inner { flex-wrap:wrap!important; } }
@media (forced-colors:active) {
    .cha-language-switcher .current-lang a { outline: 2px solid Highlight; outline-offset: -3px; }
}

/* Keep the language names readable alongside Polylang’s flag images. */
.cha-language-switcher a { gap: .4rem; }
.cha-language-switcher img { display: block; width: 20px; height: auto; flex: 0 0 20px; border-radius: 1px; }

.cha-language-switcher a::before { content: ""; display:block; width:21px; height:14px; flex:0 0 21px; background-size:cover; border-radius:1px; box-shadow:0 0 0 1px #102f3620; }
.cha-language-switcher .lang-item-en a::before { background-image:url("flag-gb.svg"); }
.cha-language-switcher .lang-item-fr a::before { background-image:url("flag-fr.svg"); }
