/* Language switch in the top bar (js/nx-i18n.js): an "EN" pill like the Start-here pill, with a short list under it. */
.nx-lang { position: relative; display: inline-flex; align-self: center; flex: none; }
.nx-lang-btn { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px 0 14px; border: 2px solid #282858; border-radius: 100px; background: #fff; box-shadow: 4px 4px 0 #282858; color: #282858; font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .04em; line-height: 1; cursor: pointer; }
.nx-lang-btn::after { content: ""; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.nx-lang-btn:hover { background: #fff6d6; }
.nx-lang-btn:focus-visible { outline: 3px solid #4f46e5; outline-offset: 3px; }
.nx-lang-list { position: absolute; top: calc(100% + 10px); right: 0; z-index: 1000; min-width: 210px; max-height: min(70vh, 520px); overflow-y: auto; margin: 0; padding: 6px; list-style: none; background: #fff; border: 2px solid #282858; border-radius: 14px; box-shadow: 4px 4px 0 #282858; }
[dir="rtl"] .nx-lang-list { right: auto; left: 0; }
.nx-lang-open { z-index: 5001 !important; }
.nx-lang-spot { display: inline-flex; flex: none; align-items: center; }
.nx-lang-list[hidden] { display: none; }
.nx-lang-list button { display: flex; width: 100%; align-items: baseline; gap: 10px; padding: 9px 10px; border: 0; border-radius: 8px; background: none; color: #282858; font: inherit; font-size: 15px; line-height: 1.3; text-align: start; cursor: pointer; }
.nx-lang-list b { flex: none; min-width: 2.2em; font-size: 12px; letter-spacing: .04em; }
.nx-lang-list button:hover { background: #fff6d6; }
.nx-lang-list button:focus-visible { outline: 2px solid #4f46e5; outline-offset: -2px; }
.nx-lang-list button[aria-current] { background: #fedb71; }
.nx-lang--bar { display: none; }
@media screen and (max-width: 991px) {
  .nx-lang--bar { display: inline-flex; justify-self: end; }
  .nav .navbar-wrapper { grid-template-columns: 1fr auto auto; }
}
/* Set by nx-i18n.js only when a translated menu doesn't fit the desktop bar. */
@media screen and (min-width: 992px) {
  .nx-fit-1 .nav-button-wrapper:not(.mobile) .nx-pn-item:not(.is-main) { display: none; }
  .nx-fit-2 .nav-menu > li:first-child { display: none; }
  .nx-fit-3 .nav-menu .nav-link { padding-left: 4px; padding-right: 4px; font-size: 12px; }
}
/* Some translated words are longer than a phone is wide at heading size; let them hyphenate or break. */
html:not([lang="en"]) :is(h1, h2, h3, .nx-founding-card) { overflow-wrap: anywhere; hyphens: auto; }
html:not([lang="en"]) .nx-founding-card .button-p, html:not([lang="en"]) .nx-founding-card .button-p * { white-space: normal; }
/* Arabic reads right to left; the demo keypad keeps its phone order. */
[dir="rtl"] .nx-demo-phone { direction: ltr; }
/* A visitor who chose another language doesn't see the English page flash first; never hidden longer than 1.5 s. */
.nx-i18n-wait body { opacity: 0; animation: nx-i18n-show 0s linear 1.5s forwards; }
@keyframes nx-i18n-show { to { opacity: 1; } }
/* Policies: shown only in a translation, above the text. */
.nx-i18n-note { margin: 12px 0 0; padding: 10px 14px; border-left: 4px solid #fedb71; background: #fff; color: #282858; font-size: 15px; line-height: 1.45; }
html[lang="en"] .nx-i18n-note { display: none; }

/* .nx-nowrap keeps short English phrases together ("money-back"); a translation can be much longer, so it may wrap. */
html:not([lang="en"]) .nx-nowrap { white-space: normal; }
