/* Language menu — 2026-09-01 (b).
   Names only. Every row starts at the same edge, because the rows no longer
   carry their own direction: a menu of single words reads as a column, and a
   column has one alignment. Colours come from the theme tokens. */
.lang-switch { position: relative; }

.lang-menu {
    position: absolute;
    inset-inline-end: 0;
    top: calc(100% + 8px);
    min-width: 164px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--card);
    box-shadow: var(--shadow, 0 18px 40px rgba(0, 0, 0, .18));
    z-index: 60;
}

.lang-item {
    display: block;
    padding: 9px 12px;
    border-radius: 10px;
    color: var(--fg);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.45;
    text-align: start;
    text-decoration: none;
    white-space: nowrap;
}

.lang-item + .lang-item { margin-top: 2px; }

.lang-item:hover,
.lang-item:focus-visible {
    background: color-mix(in srgb, var(--primary) 10%, transparent);
    color: var(--primary);
}

.lang-item.is-on { color: var(--primary); }

@media (max-width: 560px) {
    .lang-menu { min-width: 148px; }
}
