/* VESSELBORN language switcher and language suggestion bar */
.lang { position: relative; display: inline-flex; align-items: center; }
.lang-btn { display: inline-flex; align-items: center; gap: .35rem; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: var(--dim, #8a8a90); font: inherit; font-family: Georgia, 'Times New Roman', serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.lang-btn:hover, .lang-btn[aria-expanded="true"] { color: var(--bright, #ececec); }
.lang-btn svg { width: .95rem; height: .95rem; flex: none; }
.lang-menu { position: absolute; top: calc(100% + .7rem); right: 0; min-width: 9.5rem; margin: 0; padding: .35rem 0; list-style: none; background: var(--panel, #0d0d0f); border: 1px solid var(--rule, #1f1f23); box-shadow: 0 12px 30px rgba(0,0,0,.55); z-index: 20; }
.lang-menu[hidden] { display: none; }
.lang-menu a { display: block; padding: .5rem 1rem; color: var(--text, #cfcfcf); text-decoration: none; font-size: .8rem; letter-spacing: .06em; text-transform: none; }
.lang-menu a:hover, .lang-menu a:focus-visible { background: var(--panel-hi, #121215); color: var(--bright, #ececec); }
.lang-menu a[aria-current] { color: var(--brass-hi, #b39a76); }
.lang-bar { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 30; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem 1rem; width: min(34rem, calc(100% - 2rem)); padding: .85rem 1.1rem; background: var(--panel, #0d0d0f); border: 1px solid var(--rule, #1f1f23); border-top: 2px solid var(--brass, #8b7355); box-shadow: 0 14px 40px rgba(0,0,0,.6); font-family: Georgia, 'Times New Roman', serif; color: var(--text, #cfcfcf); font-size: .9rem; }
.lang-bar p { margin: 0; }
.lang-bar a, .lang-bar button { font: inherit; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.lang-bar a { color: var(--ink, #050506); background: var(--brass-hi, #b39a76); padding: .45rem .9rem; text-decoration: none; }
.lang-bar a:hover { background: var(--bright, #ececec); }
.lang-bar button { background: none; border: 0; color: var(--dim, #8a8a90); padding: .45rem .3rem; }
.lang-bar button:hover { color: var(--bright, #ececec); }
.lang-fixed { position: fixed; top: 2rem; right: 2rem; z-index: 100; }
.lang-fixed .lang-btn { font-size: .75rem; letter-spacing: 2px; }
