/* Right-to-left pages (Arabic, /ar/, 2026-10-15). Loaded only when the page is RTL.
   Layout already mirrors on its own: flex/grid follow `dir`, and the stylesheets use logical
   properties (tools/css_logical.py). This file holds what neither can do. */

/* Arabic text in IBM Plex Sans Arabic; Latin runs (hotel names, codes, prices) keep Plus Jakarta Sans. */
:root {
  --font-body:    'IBM Plex Sans Arabic', 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', 'Segoe UI', Tahoma, Arial, sans-serif;
  --font-display: 'IBM Plex Sans Arabic', 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', 'Segoe UI', Tahoma, Arial, sans-serif;
}
/* Arabic script needs a taller line box and no Latin letter-spacing/italics. */
body { line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { line-height: 1.4; letter-spacing: 0 !important; }
[dir="rtl"] em, [dir="rtl"] i:not([class]) { font-style: normal; }
[dir="rtl"] * { letter-spacing: normal; }

/* Codes, references, phone numbers, e-mails, times and prices keep left-to-right order inside Arabic text. */
input[type="email"], input[type="tel"], input[type="url"], input[name*="flight"], input[name*="passport"],
input[name*="email"], input[name*="phone"], .londonos-phone-input input { direction: ltr; text-align: end; }
input[type="email"]::placeholder, input[type="tel"]::placeholder { text-align: end; }

/* Directional icons (chevrons, arrows drawn as SVG) point the other way. */
.cmp-slide-prev svg, .cmp-slide-next svg,
.room-photo-prev svg, .room-photo-next svg,
.room-dlg-prev svg, .room-dlg-next svg,
.hotel-gallery-lightbox-prev svg, .hotel-gallery-lightbox-next svg,
.lpc-prev svg, .lpc-next svg,
.pagination svg, .nav-links .page-numbers svg,
.breadcrumb svg, .breadcrumbs svg,
[class*="-arrow"] svg, .btn svg[class*="arrow"], .icon-arrow { transform: scaleX(-1); }

/* Package journey: the little pointer on each card points back to the centre line. */
.cmp-j-card::after { transform: translateY(-50%) rotate(-45deg); }
.cmp-j-step.cmp-j-r .cmp-j-card::after { transform: translateY(-50%) rotate(135deg); }
.cmp-j-card strong::before { margin: 0 0 .1rem .4rem; }
.cmp-j-step:not(.cmp-j-r) .cmp-j-card strong::after { margin: 0 .4rem .1rem 0; }
@media (max-width: 700px) {
  .cmp-j-card::after, .cmp-j-step.cmp-j-r .cmp-j-card::after { transform: translateY(-50%) rotate(135deg); }
  /* the desktop centre line (left: 50%) moves to the start side */
  .cmp-journey::before { left: auto; }
}

/* Hover nudge on footer links goes inward. */
.footer-link:hover { padding-inline-start: 4px; }

/* "1 / 6" counters and "3 / 10" scores read left to right (bidi turned them into "6 / 1"). */
.room-photo-counter, .room-dlg-counter, .cmp-slide-count, #hotel-gallery-lightbox-counter,
.hotel-gallery-lightbox-counter, [data-room-photo-counter] { direction: ltr; unicode-bidi: isolate; }
