/* RTL (Arabic) support. Only active for html[dir=rtl] / :lang(ar); other languages unaffected. */
html:lang(ar) {
  --cjk: 'Geeza Pro', 'SF Arabic', 'Noto Sans Arabic', 'Segoe UI', Tahoma;
  --font: 'Titillium Web', 'Geeza Pro', 'SF Arabic', 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
  --display: 'Barlow Condensed', 'Geeza Pro', 'SF Arabic', 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
}
/* Arabic must stay connected and upright: no italic, skew, letter-spacing or uppercase */
html[dir=rtl] *, html[dir=rtl] *::before, html[dir=rtl] *::after {
  font-style: normal !important; letter-spacing: 0 !important; text-transform: none !important; word-break: normal !important;
}
html[dir=rtl] h1, html[dir=rtl] h2, html[dir=rtl] h3, html[dir=rtl] .gp-title, html[dir=rtl] .hero h1, html[dir=rtl] .hero .hero-sub { line-height: 1.3; }
html[dir=rtl] .gp-title, html[dir=rtl] .hero .gp-title { line-height: 1.15; font-size: clamp(48px, 9vw, 120px); }
html[dir=rtl] .chat-fab, html[dir=rtl] .chat-fab > span, html[dir=rtl] .ticker-track b, html[dir=rtl] .tname::before, html[dir=rtl] h2::after,
html[dir=rtl] .eyebrow::before, html[dir=rtl] .team-row::after { transform: none; }
html[dir=rtl] .tower, html[dir=rtl] .tower * { font-weight: 700; }

/* header / drawer */
html[dir=rtl] .top nav, html[dir=rtl] .drawer a { text-align: right; }
html[dir=rtl] .top .logo { margin-right: 0; margin-left: auto; }
html[dir=rtl] .top .lang-switch { margin-left: 0; margin-right: 0; }
html[dir=rtl] .lang-wrap { padding: 4px 12px 4px 6px; }
html[dir=rtl] .lang-select { direction: rtl; }
html[dir=rtl] .drawer a.on, html[dir=rtl] .drawer a { font-weight: 700; font-size: 26px; }

/* the ticker keeps scrolling in its LTR way */
html[dir=rtl] .ticker, html[dir=rtl] .ticker-track { direction: ltr; }
html[dir=rtl] .ticker-track span { direction: rtl; unicode-bidi: isolate; }

/* numbers, prices, times, phone, email, urls stay left-to-right */
html[dir=rtl] .price, html[dir=rtl] .pp-row b, html[dir=rtl] .promo-bar b, html[dir=rtl] .promo-bar s, html[dir=rtl] .when, html[dir=rtl] .tp,
html[dir=rtl] .sp, html[dir=rtl] a[href^="tel:"], html[dir=rtl] a[href^="mailto:"], html[dir=rtl] input[type=email], html[dir=rtl] input[type=tel],
html[dir=rtl] input[type=date], html[dir=rtl] input[type=number], html[dir=rtl] .tk-stub span, html[dir=rtl] .stats dd { unicode-bidi: isolate; }
html[dir=rtl] input[type=email], html[dir=rtl] input[type=tel] { direction: ltr; text-align: right; }

/* arrows that point "forward" */
html[dir=rtl] .arr, html[dir=rtl] .pb-go i { display: inline-block; transform: scaleX(-1); }

/* physical left/right offsets */
html[dir=rtl] .req { border-left: 0; border-right: 4px solid var(--red); padding: 4px 16px 4px 0; }
html[dir=rtl] .tour .price small { margin-left: 0; margin-right: 6px; }
html[dir=rtl] .badges li::before { margin-right: 0; margin-left: 8px; }
html[dir=rtl] .phone .tag::before { margin-right: 0; margin-left: 6px; }
html[dir=rtl] .stats div { border-right: 0; border-left: 1px solid var(--line); }
html[dir=rtl] .stats dd small, html[dir=rtl] .tname small { margin-left: 0; margin-right: 4px; }
html[dir=rtl] .tname::before { margin-right: 0; margin-left: 10px; }
html[dir=rtl] .tname, html[dir=rtl] .team-row .tname { left: auto; right: 16px; }
html[dir=rtl] .team-row .tname { right: 30%; }
html[dir=rtl] .tk-stub { border-left: 0; border-right: 2px dashed #ffffff26; }
html[dir=rtl] .tk-stub::before, html[dir=rtl] .tk-stub::after { left: auto; right: -12px; }
html[dir=rtl] .ticket-card::before { left: auto; right: 0; }
html[dir=rtl] .why b { right: auto; left: 14px; }
html[dir=rtl] .why > div::before { background: linear-gradient(270deg, var(--red), transparent); }
html[dir=rtl] .chat-fab { right: auto; left: 16px; }
html[dir=rtl] .car span { left: auto; right: 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 10px 100%); padding: 4px 14px 4px 16px; }
html[dir=rtl] .finale .gp-title, html[dir=rtl] .home-cta .gp-title { direction: ltr; }
html[dir=rtl] .hero-scroll .hero-pin::before { background: linear-gradient(270deg, #07070af0 0%, #07070ac4 38%, #07070a50 72%, #07070a30 100%), linear-gradient(180deg, transparent 70%, #07070a 100%); }
@media (max-width: 860px) { html[dir=rtl] .hero-scroll .hero-pin::before { background: linear-gradient(180deg, #07070aa0 0%, #07070a60 45%, #07070ad8 100%); } }
html[dir=rtl] .v2-bar { direction: rtl; }
/* hard-coded Latin labels keep LTR ordering */
html[dir=rtl] .when, html[dir=rtl] .tname, html[dir=rtl] .tk-kicker, html[dir=rtl] .eyebrow { direction: ltr; }
html[dir=rtl] .when { text-align: left; }
html[dir=rtl] #company { unicode-bidi: isolate; }
html[dir=rtl] footer .wrap > div:last-child { unicode-bidi: plaintext; }
html[dir=rtl] .pp-row > span { unicode-bidi: plaintext; }
html[dir=rtl] .tk-stub span, html[dir=rtl] .tk-stub small { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] .ctag span { direction: ltr; unicode-bidi: isolate; }
/* v5: Latin address / opening hours stay LTR and never break inside the postcode */
html[dir=rtl] #addr, html[dir=rtl] address { direction: ltr; unicode-bidi: isolate; text-align: right; display: block; }
