/* Shared language controls keep native scripts readable in all six layouts. */
:root:lang(hi), :root:lang(mr) { --locale-font: "Noto Sans Devanagari", "Kohinoor Devanagari", Mangal, sans-serif; }
:root:lang(bn) { --locale-font: "Noto Sans Bengali", "Kohinoor Bangla", Vrinda, sans-serif; }
:root:lang(te) { --locale-font: "Noto Sans Telugu", "Kohinoor Telugu", Gautami, sans-serif; }
:root:lang(ta) { --locale-font: "Noto Sans Tamil", "Tamil Sangam MN", Latha, sans-serif; }
:root:lang(kn) { --locale-font: "Noto Sans Kannada", "Kannada Sangam MN", Tunga, sans-serif; }
:root:lang(ml) { --locale-font: "Noto Sans Malayalam", "Malayalam Sangam MN", Kartika, sans-serif; }
html:not(:lang(en)) body, html:not(:lang(en)) button, html:not(:lang(en)) input, html:not(:lang(en)) select, html:not(:lang(en)) textarea { font-family: var(--locale-font, sans-serif); }
html[lang]:not(:lang(en)) body :is(h1,h2,h3,h4,p,button,label,summary,.desktop-nav__link,.mobile-bottom-nav__link,.wingo-subtab,.wingo-mode) { text-transform: none; letter-spacing: normal; line-height: 1.5; }
html[lang]:not(:lang(en)) body :is(.desktop-nav__link,.desktop-nav__download,.history-actions button,.wingo-subtab,.wingo-mode) { white-space: normal; }
html[lang]:not(:lang(en)) .history-query__main { --history-main-field-min: 16rem; }
/* Reserve a usable domain field; longer native labels move intact to a full row.
   The shared form ID also overrides the editorial grid and layout button widths. */
html[lang]:not(:lang(en)) #verify-form { display: flex; flex-wrap: wrap; }
html[lang]:not(:lang(en)) #verify-form .search__input { flex: 999 1 14ch; width: auto; min-width: min(100%, max(10rem, 14ch)); min-height: 2.75rem; }
html[lang]:not(:lang(en)) #verify-form .btn--search { flex: 1 0 max-content; width: auto; min-width: max-content; min-height: 2.75rem; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
/* Native labels can add nav rows; reserve its measured height plus breathing room. */
html[data-landing-nav-clearance] body main.container { padding-bottom: var(--landing-nav-clearance); }
.language-trigger, .language-option, .language-panel__close { min-height: 44px; border: 1px solid var(--brand-border); border-radius: var(--radius-sm, 8px); color: var(--brand-text); background: var(--brand-surface); font: inherit; cursor: pointer; }
.language-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 0 0 auto; align-self: center; max-width: 11rem; padding: 8px 10px; line-height: 1.5; }
.language-trigger [data-language-name] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.language-trigger__icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; background: currentColor; -webkit-mask: url("../images/icons/language-globe.svg") center / contain no-repeat; mask: url("../images/icons/language-globe.svg") center / contain no-repeat; }
.language-trigger:focus-visible, .language-panel :focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 3px; }
.language-panel { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgb(0 0 0 / 62%); overscroll-behavior: contain; }
.language-panel[hidden], .language-panel.hidden { display: none; }
.language-panel__content { width: 440px; max-width: 100%; max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; padding: 20px; border: 1px solid var(--brand-border); border-radius: var(--radius-lg, 16px); background: var(--brand-panel); color: var(--brand-text); }
.language-panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.language-panel__header h2 { margin: 4px 0 0; font-size: 1.2rem; line-height: 1.5; }
.language-panel__close { flex: 0 0 44px; font-size: 1.6rem; }
.language-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.language-option { display: flex; flex-direction: column; justify-content: center; padding: 10px 12px; text-decoration: none; text-align: start; line-height: 1.5; overflow-wrap: anywhere; }
.language-option small { font-size: .78rem; color: var(--brand-text-muted); }
.language-option[aria-current="true"] { border-color: var(--brand-primary); box-shadow: inset 0 0 0 1px var(--brand-primary); }
.language-option--browser { grid-column: 1 / -1; text-align: center; align-items: center; }
.language-status { margin: 12px 0 0; font-size: .875rem; line-height: 1.5; }
.language-status:empty { display: none; }
@media (max-width: 767px) {
  .language-trigger { max-width: 8.6rem; font-size: .8rem; }
  .language-panel { align-items: flex-end; padding: 0; }
  .language-panel__content { width: 100%; max-height: 85dvh; padding: 18px 16px calc(18px + env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; }
}
@media (max-width: 359px) { .language-trigger { max-width: 6.5rem; padding-inline: 7px; } }
/* Static links remain usable with scripts disabled and clear the fixed mobile nav. */
.language-fallback { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; max-width: 64rem; margin: 24px auto; padding: 16px 16px calc(7rem + env(safe-area-inset-bottom)); color: var(--brand-text); }
.language-fallback a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--brand-border); border-radius: var(--radius-sm, 8px); background: var(--brand-surface); color: var(--brand-text); font-family: system-ui, sans-serif; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.language-fallback a:focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 3px; }
@media (max-width: 640px) {
  /* Both tools stay in the header; their accessible names remain complete. */
  .site-header .share-trigger--primary { width: 44px; min-width: 44px; padding: 10px; }
  .site-header .share-trigger--primary > span:not(.share-icon) { display: none; }
  .site-header .brand { min-width: 0; flex-shrink: 1; }
}
