:root {
    --clonable-language-switcher-radius: 6px;
    --clonable-language-switcher-padding-y: 8px;
    --clonable-language-switcher-padding-x: 12px;
    --clonable-language-switcher-gap: 8px;
    --clonable-language-switcher-bg-hover: rgba(0, 0, 0, 0.06);
    --clonable-language-switcher-outline: 2px solid rgba(0, 0, 0, 0.35);
    --clonable-language-switcher-outline-offset: 2px;
    --clonable-language-switcher-flag-size: 1.25rem;
    --clonable-language-switcher-font-size: 0.95rem;
    --clonable-language-switcher-flag-radius: 50%;
    --clonable-language-switcher-fflag-margin-right: 6px;
    --clonable-language-switcher-fflag-width: 20px;
    --clonable-language-switcher-fflag-height: 20px;
    --clonable-language-switcher-lan-container-gap: 8px;
    --clonable-language-switcher-lan-container-line-height: 1.2;
}

.cl-language-switcher-menu-item {
    border-radius: var(--clonable-language-switcher-radius);
    transition: background-color 0.2s ease;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cl-language-switcher-menu-item:hover,
.cl-language-switcher-menu-item:focus-within {
    background-color: var(--clonable-language-switcher-bg-hover);
}

.cl-language-switcher-link {
    display: flex;
    align-items: center;
    gap: var(--clonable-language-switcher-gap);
    width: 100%!important;
    padding: var(--clonable-language-switcher-padding-y) var(--clonable-language-switcher-padding-x);
    color: inherit;
    text-decoration: none;
    border-radius: var(--clonable-language-switcher-radius);
}

.cl-language-switcher-link, 
.cl-language-switcher-link:focus-visible,
.cl-language-switcher-link:hover {
    outline: none;
    border: none;
}

.cl-language-switcher-link:focus-visible {
    outline: var(--clonable-language-switcher-outline);
    outline-offset: var(--clonable-language-switcher-outline-offset);
}

.cl-language-switcher-lan-container {
    display: inline-flex;
    align-items: center;
    gap: var(--clonable-language-switcher-lan-container-gap);
    line-height: var(--clonable-language-switcher-lan-container-line-height);
}

.cl-language-switcher-lan-flag {
    display: inline-block;
    flex: 0 0 auto;
    width: var(--clonable-language-switcher-flag-size);
    height: var(--clonable-language-switcher-flag-size);
    border-radius: var(--clonable-language-switcher-flag-radius);
}

.cl-language-switcher-lan-name {
    font-size: var(--clonable-language-switcher-font-size);
    white-space: nowrap;
}

.clonable-language-switcher i.fflag.ff-md {
    margin-right: var(--clonable-language-switcher-fflag-margin-right);
    width: var(--clonable-language-switcher-fflag-width);
    height: var(--clonable-language-switcher-fflag-height);
}