/* HY / EN language dropdown (Views/Shared/_LanguageSwitcher.cshtml).
   Uses Bootstrap's theme variables so it follows the light/dark theme switch. */

.lang-switcher__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 999px;
  background-color: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.lang-switcher__toggle:hover,
.lang-switcher__toggle[aria-expanded="true"] {
  border-color: var(--bs-emphasis-color, #000);
}

.lang-switcher__toggle:focus-visible {
  outline: 2px solid var(--bs-primary, #0d6efd);
  outline-offset: 2px;
}

.lang-switcher__toggle.dropdown-toggle::after {
  margin-left: 2px;
  vertical-align: middle;
}

.lang-switcher img {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 14px;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.lang-switcher__menu {
  min-width: 11rem;
  padding: 0.375rem;
  border-radius: 0.75rem;
}

.lang-switcher__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.5rem 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
}

.lang-switcher__item-code {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 600;
  opacity: 0.55;
}

.lang-switcher__item.active,
.lang-switcher__item:active {
  background-color: var(--bs-tertiary-bg, #f1f3f5);
  color: var(--bs-emphasis-color, #000);
  font-weight: 600;
}

/* User area and admin sidebars: full-width button above the sign-out button */
.tw-user-sidebar .sidebar-footer .lang-switcher,
.tw-admin-sidebar .sidebar-footer .lang-switcher {
  margin-bottom: 0.75rem;
}

.tw-user-sidebar .sidebar-footer .lang-switcher__toggle,
.tw-admin-sidebar .sidebar-footer .lang-switcher__toggle {
  width: 100%;
  justify-content: center;
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
}

.tw-user-sidebar .sidebar-footer .lang-switcher__menu,
.tw-admin-sidebar .sidebar-footer .lang-switcher__menu {
  width: 100%;
}

/* Collapsed (80px) user/admin sidebar: flag only */
@media (min-width: 1200px) {
  .sidebar-mini .tw-user-sidebar .sidebar-footer .lang-switcher__toggle,
  .sidebar-mini .tw-admin-sidebar .sidebar-footer .lang-switcher__toggle {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 0.75rem;
  }

  .sidebar-mini .tw-user-sidebar .sidebar-footer .lang-switcher__code,
  .sidebar-mini .tw-user-sidebar .sidebar-footer .lang-switcher__toggle::after,
  .sidebar-mini .tw-admin-sidebar .sidebar-footer .lang-switcher__code,
  .sidebar-mini .tw-admin-sidebar .sidebar-footer .lang-switcher__toggle::after {
    display: none;
  }

  .sidebar-mini .tw-user-sidebar .sidebar-footer .lang-switcher__menu,
  .sidebar-mini .tw-admin-sidebar .sidebar-footer .lang-switcher__menu {
    width: auto;
  }
}

/* Sign-in / register pages have no header: keep the switch in the top-right corner */
.lang-switcher-corner {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1030;
}
