.language-control {
  position: fixed;
  z-index: 1000;
  inset-block-end: 1rem;
  inset-inline-end: 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  max-width: calc(100vw - 2rem);
  padding: .45rem .6rem;
  border: 1px solid #a7b2c2;
  border-radius: .6rem;
  background: #fff;
  color: #142238;
  box-shadow: 0 4px 22px rgb(13 33 54 / 15%);
  font: 600 .8rem/1.3 system-ui, sans-serif;
}
.language-control select {
  min-width: 8.5rem;
  max-width: 10rem;
  padding: .4rem;
  border: 1px solid #68788c;
  border-radius: .35rem;
  background: #fff;
  color: #142238;
  font: inherit;
}
.language-control select:focus-visible { outline: 3px solid #235dc2; outline-offset: 2px; }
@media (max-width: 430px) {
  .language-control { inset-block-end: .5rem; inset-inline-end: .5rem; }
  .language-control label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}

html[dir="rtl"] :is(input[type="email"], input[type="password"], input[type="number"], [data-invoice-amount], [data-invoice-address], [data-invoice-reference], [data-invoice-network], [data-invoice-countdown], [data-invoice-expiry], [data-summary-subtotal], [data-summary-total], [data-summary-method], [data-review-email], [data-workspace-email], .customer-payment-reference) {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}
html[dir="rtl"] .invoice-field code,
html[dir="rtl"] .invoice-reference code {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}

/* Illustration coordinates stay fixed while their Arabic text is shaped by
   the browser. Inheriting rtl would move start-anchored labels off the SVG. */
html[dir="rtl"] svg { direction: ltr; }
