/* Language UI only. site.css remains owned by the layout batch. */
.site-header .language-menu { position: relative; display: block; }
.language-menu-toggle {
  cursor: pointer; list-style: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 8px 12px; border: 1px solid var(--cera-control-border);
  border-radius: 8px; background: #fff; color: var(--cera-ink);
  font: inherit; font-weight: 600; line-height: 1.65; white-space: nowrap;
}
.language-menu-toggle:hover { background: var(--cera-surface); }
.language-menu-toggle:focus-visible { outline: 3px solid var(--cera-focus); outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
.language-globe { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.language-caret { width: 6px; height: 6px; margin: -3px 2px 0 4px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.language-menu[open] .language-caret { margin-top: 3px; transform: rotate(225deg); }
.site-header .language-options, .site-header .language-list { margin: 0; padding: 0; list-style: none; }
.site-header .language-menu > .language-options { position: absolute; top: 100%; right: 0; z-index: 1000; min-width: 196px; padding: 6px; margin-top: 6px !important; border: 1px solid var(--cera-card-border); border-radius: 10px; background: #fff; box-shadow: 0 10px 28px #06112624; }
.site-header .language-option { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 9px 10px; border-radius: 6px; color: var(--cera-ink); font-size: .875rem; line-height: 1.65; text-decoration: none; }
.site-header .language-option:hover, .site-header .language-option:focus { color: var(--cera-ink); background: var(--cera-surface); text-decoration: none; }
.site-header .language-option[aria-current="true"] { color: var(--cera-ink); font-weight: 700; text-decoration: none; }
.language-check, .language-check-space { flex: 0 0 18px; width: 18px; height: 18px; }
.language-check { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.site-header .language-list { display: grid; width: 100%; gap: 2px; }
.site-header .language-list .language-option { font-size: 1rem; }

/* Absolute native disclosure content preserves header geometry before JS loads. */
.language-menu-toggle::-webkit-details-marker { display: none; }
.language-menu-toggle::marker { content: ""; }
.site-header .language-menu:not([open]) > .language-options { display: none; }
.site-header .language-menu[open] > .language-options { display: block; }
