.locale-menu { position: relative; flex: 0 0 auto; color: inherit; }
.locale-menu > summary { list-style: none; }
.locale-menu > summary::-webkit-details-marker { display: none; }
.locale-menu-trigger {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; border: 0;
  border-radius: 8px; background: transparent; color: inherit; cursor: pointer;
  opacity: 0.78; transition: background-color 120ms ease, opacity 120ms ease;
}
.locale-menu-trigger:hover,
.locale-menu[open] > .locale-menu-trigger {
  background: var(--contextify-primary-light, var(--panel-soft, rgba(74, 123, 167, 0.1)));
  opacity: 1;
}
.locale-menu-trigger:focus-visible {
  outline: 3px solid var(--contextify-primary, var(--accent, #4A7BA7));
  outline-offset: 3px; opacity: 1;
}
.locale-menu-panel {
  position: absolute; z-index: 1200; top: calc(100% + 8px); right: 0;
  min-width: 10rem; padding: 6px; border: 1px solid var(--border-default, var(--line, #CBD5E1));
  border-radius: 10px; background: var(--bg-surface, var(--panel, Canvas));
  color: var(--text-primary, var(--ink, var(--text, CanvasText)));
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.2);
}
.locale-menu-link {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px; padding: 8px 10px; border-radius: 7px;
  color: inherit !important; font: inherit; font-weight: 500; text-decoration: none !important;
}
.locale-menu-link:hover { background: var(--slate-100, var(--panel-soft, rgba(74, 123, 167, 0.1))); }
.locale-menu-link:focus-visible {
  outline: 3px solid var(--contextify-primary, var(--accent, #4A7BA7));
  outline-offset: -1px;
}
.locale-menu-link[aria-current="page"] { font-weight: 700; }
.locale-menu-check { visibility: hidden; color: var(--contextify-primary, var(--accent, #4A7BA7)); }
.locale-menu-link[aria-current="page"] .locale-menu-check { visibility: visible; }
header > .locale-menu { float: right; margin-left: 16px; }
@media (prefers-color-scheme: dark) {
  .locale-menu-panel { box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45); }
}
