/* The public language control mirrors the application's shared dropdown geometry. */
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/Vazirmatn-wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.bhq-language-menu {
  position: relative;
  z-index: 30;
  inline-size: max-content;
  max-inline-size: 100%;
}

.bhq-language-toggle {
  gap: .45rem;
  min-height: 40px;
  max-inline-size: 100%;
  padding: .5rem .7rem;
  border-color: var(--line);
  color: var(--ink);
  box-shadow: none;
  white-space: nowrap;
}

.bhq-language-toggle:hover,
.bhq-language-toggle[aria-expanded="true"] {
  border-color: #b9d8d2;
  background: var(--white);
  color: var(--teal);
}

.bhq-language-toggle::after {
  display: none;
}

.bhq-language-caret {
  inline-size: .45rem;
  block-size: .45rem;
  margin-inline-start: .15rem;
  border-inline-end: 1.5px solid currentColor;
  border-block-end: 1.5px solid currentColor;
  transform: translateY(-.12rem) rotate(45deg);
  transition: transform .16s ease;
}

.bhq-language-toggle[aria-expanded="true"] .bhq-language-caret {
  transform: translateY(.12rem) rotate(225deg);
}

.bhq-language-menu .dropdown-menu {
  position: absolute;
  inset-block-start: calc(100% + .45rem);
  inset-inline-end: 0;
  z-index: 40;
  inline-size: max-content;
  min-inline-size: 12rem;
  max-inline-size: calc(100vw - 1rem);
  margin: 0;
  padding: .4rem;
  border: 1px solid #091a2f14;
  border-radius: 9px;
  background: var(--white);
  box-shadow: 0 16px 40px #0f172a2e;
  list-style: none;
  text-align: start;
}

.bhq-language-menu .dropdown-menu[hidden] {
  display: none;
}

.bhq-language-menu .dropdown-item {
  display: flex;
  align-items: center;
  inline-size: 100%;
  gap: .5rem;
  padding: .55rem .7rem;
  border-radius: 6px;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.bhq-language-menu .dropdown-item:hover,
.bhq-language-menu .dropdown-item:focus-visible {
  outline: none;
  background: var(--mint);
  color: var(--teal);
}

.bhq-language-menu .dropdown-item.active {
  background: #0b887f14;
  color: var(--teal);
}

.bhq-language-menu .dropdown-item.active::after {
  content: "✓";
  margin-inline-start: auto;
  font-weight: 800;
}

.lang-flag {
  flex: none;
  inline-size: 1.35rem;
  font-size: 1.05rem;
  line-height: 1;
  text-align: center;
}

html[lang="fa"] {
  --home-fa-font: "Vazirmatn", Tahoma, sans-serif;
}

html[lang="fa"],
html[lang="fa"] body,
html[lang="fa"] * {
  font-family: var(--home-fa-font) !important;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1;
  font-variant-numeric: proportional-nums;
  letter-spacing: 0;
}

@media (max-width: 680px) {
  .bhq-language-menu,
  .bhq-language-toggle {
    inline-size: 100%;
  }

  .bhq-language-menu .dropdown-menu {
    position: static;
    inline-size: 100%;
    max-inline-size: 100%;
    margin-block-start: .4rem;
    box-shadow: 0 9px 24px #0f172a1f;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bhq-language-caret {
    transition: none;
  }
}
