.lc-translator { position: relative; flex: 0 0 auto; }
.lc-translator__button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 8px; border: 0; border-radius: 50%; background: transparent; color: #007aff; cursor: pointer; }
.lc-translator__button svg { width: 24px; height: 24px; }
.lc-translator__button:hover, .lc-translator__button[aria-expanded="true"] { background: #e5f3ff; }
.lc-translator__button:focus-visible { outline: 2px solid #007aff; outline-offset: 2px; }
.lc-translator__panel { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; z-index: 1100; width: 260px; max-width: calc(100vw - 24px); padding: 16px; border: 1px solid #deefff; border-radius: 14px; background: #fff; color: #080958; box-shadow: 0 8px 28px #183e6c22; font-size: 14px; line-height: 1.5; }
.lc-translator__panel[hidden], .lc-translator__retry[hidden], .lc-translator__status[hidden] { display: none; }
.lc-translator__status { margin: 8px 0; color: #5064a3; font-size: 13px; }
.lc-translator__panel .goog-te-combo { width: 100%; min-height: 40px; padding: 8px; border: 1px solid #dce8f6; border-radius: 8px; background: #fff; font-size: 14px; }
.lc-translator__retry { margin-top: 8px; padding: 7px 12px; border: 1px solid #007aff; border-radius: 8px; background: #fff; color: #007aff; cursor: pointer; }
@media (max-width: 760px) {
  .pt-body .pt-topbar, .dd-body .dd-topbar { grid-template-columns: auto minmax(0, 1fr) auto auto auto; }
  .pt-body .pt-topbar > .lc-translator, .dd-body .dd-topbar > .lc-translator { grid-column: 4; grid-row: 1; }
  .pt-body .pt-topbar > .pt-usermenu-wrap, .dd-body .dd-topbar > .dd-usermenu-wrap { grid-column: 5; }
}

/* Public/auth pages use the same control without needing a portal header. */
.lc-translator-floating { position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 1100; }
.lc-translator-floating .lc-translator__button { background: #fff; border: 1px solid #deefff; box-shadow: 0 4px 16px #183e6c22; }
.lc-translator-floating .lc-translator__panel { top: auto; bottom: calc(100% + 10px); }

/* Keep utility labels readable while the rest of the document follows its locale. */
.lc-translator { direction: ltr; text-align: left; }
html[dir="rtl"] .lc-translator__panel { left: 0; right: auto; }
html[dir="rtl"] body { text-align: start; }
html[dir="rtl"] :is(input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"]) { direction: ltr; text-align: left; }
html[dir="rtl"] :is(.pt-usermenu, .dd-usermenu) { left: 0; right: auto; text-align: start; }
html[dir="rtl"] :is(.pt-body .pt-topbar > .pt-search, .dd-body .dd-topbar > .dd-search) { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .dd-topbar > .dd-menu { margin-left: auto; margin-right: 0; }
html[dir="rtl"] :is(.pt-nav__badge, .dd-nav__badge) { margin-left: 0; margin-right: auto; }
html[dir="rtl"] :is(.pt-profile, .dd-profile, .pt-nav__item, .dd-nav__item) { text-align: start; }
html[dir="rtl"] :is(.pt-body .pt-sidebar, .dd-body .dd-sidebar) { border-radius: 16px 0 0 16px; border-right: 0; border-left: 1px solid #e3ebf6; }
html[dir="rtl"] :is(.nav__cta-arrow, .dr-back svg, .pt-back svg, .dd-back svg) { transform: scaleX(-1); }
@media (max-width: 1024px) {
  html[dir="rtl"] :is(.pt-body .pt-sidebar, .dd-body .dd-sidebar) { left: auto; right: 0; transform: translateX(105%); }
  html[dir="rtl"] :is(.pt-body .pt-sidebar.is-open, .dd-body .dd-sidebar.is-open) { transform: translateX(0); }
}

/* Mirror navigation glyphs, preserving their existing hover animations. */
html[dir="rtl"] svg > use:is([href="#pt-arrow"], [href="#pt-arrow-left"], [href="#pt-chev-right"], [href="#dd-arrow"], [href="#dd-arrow-left"], [href="#dd-chev-right"], [href="#dd-chev-left"], [href="#i-arrow"], [href="#i-arrow-r"], [href="#i-arrow-l"]) {
  transform: scaleX(-1);
  transform-origin: center;
  transform-box: fill-box;
}
html[dir="rtl"] :is(.lc-home, .panel__cta-arrow) svg,
html[dir="rtl"] .panel__cta-arrow { transform: scaleX(-1); }
/* Arabic scripts need natural letter spacing and room for connected glyphs. */
html[dir="rtl"] :is(h1, h2, h3, p, label, button, .pt-nav__item, .dd-nav__item) { letter-spacing: normal; }
html[dir="rtl"] :is(.pt-nav__item, .dd-nav__item) { height: auto; min-height: 48px; padding-block: 10px; line-height: 1.6; }
html[dir="rtl"] :is(.pt-nav__item, .dd-nav__item) > span { white-space: normal; overflow-wrap: anywhere; }
html[dir="rtl"] :is(.pt-nav__icon, .dd-nav__icon, .pt-search__icon, .dr-ico) { flex-shrink: 0; }
html[dir="rtl"] :is(.pt-head__title, .pt-head__sub, .dd-workspace-title) { overflow-wrap: anywhere; }
html[dir="rtl"] :is(.pt-nav__badge, .dd-nav__badge, .pt-bell__count, .dd-bell__count) { direction: ltr; unicode-bidi: isolate; }
