/* ============================================================
   Dubai Transfers — the page in another language, and the other way round.

   The inline script in <head> holds the body back while a non-English
   dictionary is on its way, so nobody sees the English flash first. The
   rest of this file is what right-to-left needs beyond the logical
   properties the main stylesheets already use.
   ============================================================ */
html.i18n-pending body { visibility: hidden; }

/* ---- right-to-left ----
   The main stylesheets use logical properties, so the layout mirrors on
   its own: rails, the fleet strip, the map legend, the sheets, the fixed
   fare bar. What does not mirror by itself is anything that moves along
   the x axis by hand — hover nudges, the drawer sliding in from the edge,
   the marquee — and the arrows drawn as glyphs or borders. */
[dir="rtl"] .btn:hover .go { transform: translateX(-4px); }
[dir="rtl"] .rail-end:hover .rail-end-go { transform: translateX(-8px); }
[dir="rtl"] .svc-tab:hover .svc-name { transform: translateX(-6px); }
[dir="rtl"] .ops-route:hover .ops-route-name, [dir="rtl"] .ops-route.is-active .ops-route-name { transform: translateX(-5px); }
[dir="rtl"] .tbx-card:hover .tbx-go { transform: translateX(-4px); }
@media (min-width: 640px) {
  [dir="rtl"] .drawer { transform: translateX(-100%); }
  [dir="rtl"] .drawer.show { transform: none; }
}
[dir="rtl"] .hx-card-arrow, [dir="rtl"] .rail-end-go, [dir="rtl"] .tbx-go { transform: scaleX(-1); }
[dir="rtl"] .rail-end:hover .rail-end-go { transform: scaleX(-1) translateX(8px); }
[dir="rtl"] .tbx-card:hover .tbx-go { transform: scaleX(-1) translateX(4px); }
@keyframes mq-move-rtl { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(50%, 0, 0); } }
[dir="rtl"] .mq-track { animation-name: mq-move-rtl; }
[dir="rtl"] .nav-tab svg, [dir="rtl"] .to-top svg { transform: none; }
/* the rail meter fills from the right, the way its cards arrive */
[dir="rtl"] .rail-meter b { transform-origin: right; }
/* codes, flight numbers and fares read left to right inside Arabic text */
[dir="rtl"] .tnum, [dir="rtl"] .price, [dir="rtl"] .price-cur, [dir="rtl"] .cur-code, [dir="rtl"] .cur-sym,
[dir="rtl"] #flightNo, [dir="rtl"] #flCode, [dir="rtl"] .recap, [dir="rtl"] .ops-air-code { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .price-wrap { justify-content: flex-start; }

/* The hero's scrim darkens the side the words are on; its right-to-left
   mirror is declared with the photographs' tokens in styles/main.css. */
[dir="rtl"] .inp[type="time"], [dir="rtl"] .inp[type="date"] { direction: ltr; text-align: end; }

/* The header's fitting (js/i18n.js fitNav) and the language popover are
   styled in styles/header.css. */
