/* Shared, additive language controls. Keep each product's approved design intact. */
.language-bar { background: #f5f7fa; color: #172842; border-block-end: 1px solid #d8e0e8; padding: .7rem max(1rem, calc((100vw - 1200px) / 2)); font: 400 .9rem/1.6 system-ui, sans-serif; }
.language-picker { position: relative; inline-size: fit-content; max-inline-size: 100%; margin: 0; border: 0; padding: 0; }
.language-picker summary { display: flex; align-items: center; gap: .65rem; min-block-size: 44px; padding: .5rem .85rem; border: 1px solid #ced9e4; border-radius: .65rem; background: white; color: #164e80; font: 650 1rem/1.4 system-ui, sans-serif; cursor: pointer; list-style: none; }
.language-picker summary::-webkit-details-marker { display: none; }
.language-flag { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 1.8rem; font-size: 1.55rem; line-height: 1; }
.language-chevron { margin-inline-start: .4rem; font-size: 1.3rem; line-height: 1; }
.language-menu { position: absolute; inset-block-start: calc(100% + .5rem); inset-inline-start: 0; z-index: 100; display: block; inline-size: min(20rem, calc(100vw - 2rem)); max-block-size: min(28rem, 65vh); overflow-y: auto; padding: .35rem 0; background: white; border: 1px solid #d7e1e9; border-radius: .65rem; box-shadow: 0 12px 32px #17284226; }
.language-bar .language-option { display: flex; align-items: center; gap: .8rem; min-block-size: 48px; padding: .65rem 1rem; color: #263a4e; text-decoration: none; font: 500 1rem/1.4 system-ui, sans-serif; }
.language-bar .language-option:hover, .language-bar .language-option:focus-visible { background: #edf6fb; }
.language-bar .language-option[aria-current="page"] { background: #d7eef9; color: #153e58; font-weight: 700; }
.language-check { margin-inline-start: auto; font-size: 1.2rem; }
.language-bar .language-storage { border-block-start: 1px solid #e4eaf0; padding: .75rem 1rem; font-size: .75rem; color: #536577; }
.language-bar p { margin: .3rem 0 0; max-width: none; font-size: .85rem; }
.language-bar a { color: #164e80; text-decoration: underline; }
.language-bar :focus-visible { outline: 3px solid #c26a00; outline-offset: 3px; }
html { overflow-wrap: anywhere; }
html[dir="rtl"] body { text-align: start; }
html[dir="rtl"] .brand, html[dir="rtl"] .brand-name, html[dir="rtl"] .footer-brand img { direction: ltr; }
html[dir="rtl"] .check-list { padding-inline-start: 0; }
html[dir="rtl"] .check-list li { padding-left: 0; padding-inline-start: 1.8rem; }
html[dir="rtl"] .check-list li::before { left: auto; right: 0; }
@media (max-width: 600px) {
  .language-picker summary { font-size: .95rem; }
}
/* Longer labels must wrap rather than hide navigation or widen the viewport. */
.primary-navigation, .primary-nav { flex-wrap: wrap; }
.primary-navigation a, .primary-nav a, .button { white-space: normal; text-align: center; }
html:lang(th) h1, html:lang(th) h2, html:lang(th) h3,
html:lang(ar) h1, html:lang(ar) h2, html:lang(ar) h3,
html:lang(ur) h1, html:lang(ur) h2, html:lang(ur) h3,
html:lang(hi) h1, html:lang(hi) h2, html:lang(hi) h3,
html:lang(bn) h1, html:lang(bn) h2, html:lang(bn) h3 { line-height: 1.4; letter-spacing: normal; }
html:lang(th) .eyebrow, html:lang(ar) .eyebrow, html:lang(ur) .eyebrow,
html:lang(hi) .eyebrow, html:lang(bn) .eyebrow { letter-spacing: normal; }


/* Compact language control — owner-requested mobile refinement */
.language-bar { padding: .3rem 1rem; }
.language-picker summary { white-space: nowrap; }
@media (max-width: 600px) {
  .language-bar { padding: 0 .75rem; display: flex;
    justify-content: flex-end; min-height: 44px; align-items: center; }
  .language-picker summary { width: 44px; height: 44px;
    min-height: 44px; box-sizing: border-box; padding: 0;
    justify-content: center; border: 0; background: transparent; }
  .language-picker summary > span[lang],
  .language-picker summary > .language-chevron { display: none; }
  .language-menu { inset-inline-start: auto; inset-inline-end: 0; }
}


.language-bar { padding:0; background:transparent; border:0;
  flex:0 0 auto; min-height:0; display:block; }
.language-picker summary { white-space:nowrap; }
.language-menu { inset-inline-start:auto; inset-inline-end:0; }
@media (max-width:600px) {
  .topbar, .header-inner { gap:8px; }
  .topbar > .brand, .header-inner > .brand { margin-inline-end:auto; }
  .language-bar { padding:0; min-height:0; }
  .language-picker summary { width:44px; height:44px; min-height:44px;
    box-sizing:border-box; padding:0; justify-content:center;
    border:0; background:transparent; }
  .language-picker summary > span[lang],
  .language-picker summary > .language-chevron { display:none; }
}


@media (max-width:600px) {
  .topbar, .header-inner { position:relative; }
  .topbar .language-picker,
  .header-inner .language-picker { position:static; }
  .topbar .language-menu,
  .header-inner .language-menu {
    position:absolute; inset-block-start:100%;
    inset-inline-start:auto; inset-inline-end:12px;
    inline-size:min(20rem, calc(100vw - 24px));
    max-inline-size:calc(100vw - 24px); box-sizing:border-box;
    max-block-size:65vh; overflow-y:auto; z-index:100;
  }
}
