/* The DE / EN switch, shared by every page (see templates/_language_switch.html). */
.language-switch {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
}
.language-option {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    color: #6c757d;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 600;
    gap: 0.3rem;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.4rem;
    text-decoration: none;
}
.language-option .flag {
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
    height: 0.8rem;
    width: 1.3rem;
}
.language-option:not(.active) .flag {
    opacity: 0.55;
}
.language-option:hover,
.language-option:focus-visible {
    color: #212529;
}
.language-option:hover .flag,
.language-option:focus-visible .flag {
    opacity: 1;
}
.language-option.active {
    border-color: rgba(0, 0, 0, 0.2);
    color: #212529;
}
.language-switch-dark .language-option {
    color: #adb5bd;
}
.language-switch-dark .language-option:hover,
.language-switch-dark .language-option:focus-visible,
.language-switch-dark .language-option.active {
    color: #fff;
}
.language-switch-dark .language-option.active {
    border-color: rgba(255, 255, 255, 0.35);
}
/* On phones the flags alone say enough; the current one keeps its border. */
@media (max-width: 575.98px) {
    .language-switch-dark .language-option span {
        display: none;
    }
    .language-switch-dark .language-option {
        padding: 0.2rem 0.3rem;
    }
}
