/* ===== LANGUAGES: language menu, non-Latin scripts, right-to-left (Urdu) ===== */

/* Language menu: top bar (full names; codes on small screens) and mobile drawer */
.topbar-langs { display: flex; align-items: center; gap: 10px; min-width: 0; white-space: nowrap; }
.topbar-brokerage::after { content: '\00b7'; margin-inline-start: 10px; color: var(--ls-text-on-dark); }
.lang-switch { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0 6px; }
.lang-switch a { color: var(--ls-gold-light); }
.lang-switch a[aria-current] { color: var(--ls-white); text-decoration: underline; text-underline-offset: 4px; }
.lang-sep { color: var(--ls-text-on-dark); opacity: 0.6; }
.lang-code { display: none; }
.lang-contact { color: var(--ls-text-on-dark); }
.lang-contact::before { content: '\00b7'; margin-inline-end: 10px; }
@media (max-width: 1279px) { .lang-contact { display: none; } }
@media (max-width: 1023px) {
  .topbar-inner { flex-direction: column; gap: 0; }
  .topbar-brokerage { display: none; }
  .lang-switch .lang-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .lang-switch .lang-code { display: inline; letter-spacing: 1px; }
}

.mobile-nav-langs { padding: 10px 32px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.mobile-nav-langs .lang-switch { gap: 0 16px; font-size: 0.85rem; }
.mobile-nav-langs .lang-sep { display: none; }
.mobile-nav-langs .lang-switch a { display: inline-flex; align-items: center; min-height: 44px; }
.mobile-nav-langs .lang-switch a[aria-current] { color: var(--ls-gold); }

/* Scripts the Latin fonts don't cover (fonts loaded on those pages only). Latin text keeps
   Montserrat / Cormorant; the Noto font takes over for the other script. */
html:lang(hi) {
  --sans: 'Montserrat', 'Noto Sans Devanagari', 'Helvetica Neue', sans-serif;
  --serif: 'Cormorant Garamond', 'Noto Serif Devanagari', Georgia, serif;
}
html:lang(pa) {
  --sans: 'Montserrat', 'Noto Sans Gurmukhi', 'Helvetica Neue', sans-serif;
  --serif: 'Cormorant Garamond', 'Noto Serif Gurmukhi', Georgia, serif;
}
html:lang(ur) {
  --sans: 'Montserrat', 'Noto Nastaliq Urdu', 'Helvetica Neue', sans-serif;
  --serif: 'Cormorant Garamond', 'Noto Nastaliq Urdu', Georgia, serif;
}
/* Letter-spacing breaks joined letters in Devanagari, Gurmukhi and Nastaliq; italics don't exist. */
:lang(hi), :lang(pa), :lang(ur) { letter-spacing: normal !important; font-style: normal !important; }
html:lang(hi) body, html:lang(pa) body { line-height: 1.85; }
html:lang(ur) body { line-height: 2.2; }
html:lang(hi) :is(h1, h2, h3, h4), html:lang(pa) :is(h1, h2, h3, h4) { line-height: 1.45; }
html:lang(ur) :is(h1, h2, h3, h4) { line-height: 1.9; }
/* Nastaliq is tall: keep the navigation and labels compact. */
html:lang(ur) :is(.nav-links a, .dropdown a, .section-label, .btn, .topbar) { line-height: 1.9; }

/* ===== Right-to-left ===== */
[dir="rtl"] .skip-link { left: auto; right: 16px; }
[dir="rtl"] :is(.service-card, .service-card-light)::before { left: auto; right: 0; transform-origin: right; }
[dir="rtl"] button.faq-q,
[dir="rtl"] .data-table caption,
[dir="rtl"] .data-table th,
[dir="rtl"] .data-table td { text-align: right; }
[dir="rtl"] .fact-box,
[dir="rtl"] .form-status { border-left: 0; border-right: 3px solid var(--ls-gold); }
[dir="rtl"] .article-body blockquote { border-left: 0; border-right: 3px solid var(--ls-gold); padding: 4px 18px 4px 0; }
/* Off-screen honeypot: to the right is outside the scrollable area in RTL. */
[dir="rtl"] .hp-field { left: auto !important; right: -10000px !important; }

[dir="rtl"] .nav-arrow { margin-left: 0; margin-right: 2px; }
[dir="rtl"] .dropdown { left: auto; right: 0; }
[dir="rtl"] .dropdown-toggle { margin-left: 0; margin-right: -13px; padding: 8px 3px 8px 9px; }
[dir="rtl"] .dropdown a:hover { padding-left: 24px; padding-right: 28px; }
[dir="rtl"] .nav-cta { margin-left: 0; margin-right: 8px; }

[dir="rtl"] .mobile-nav { right: auto; left: -320px; transition: left 0.4s ease; border-left: 0; border-right: 1px solid rgba(201,169,110,0.15); }
[dir="rtl"] .mobile-nav.open { left: 0; }
[dir="rtl"] .mobile-dropdown-toggle { margin-right: 0; margin-left: 10px; }

[dir="rtl"] .hero-video-toggle { right: auto; left: 24px; }
[dir="rtl"] .intro-img-wrap::after { right: auto; left: -20px; }
[dir="rtl"] .about-img::before { left: auto; right: -20px; }

[dir="rtl"] .service-main ul li { padding: 8px 24px 8px 0; }
[dir="rtl"] .service-main ul li::before { left: auto; right: 0; }
[dir="rtl"] .sidebar-links a:hover,
[dir="rtl"] .sidebar-links a.active { padding-left: 0; padding-right: 8px; }
[dir="rtl"] .area-amenity li { padding: 5px 18px 5px 0; }
[dir="rtl"] .area-amenity li::before { left: auto; right: 0; }

/* Previous/next arrows point the reading direction. */
[dir="rtl"] :is(.review-prev, .review-next, .swipe-prev, .swipe-next) svg { transform: scaleX(-1); }
/* Phone numbers are isolated left-to-right runs (scripts/build.mjs); flex links drop the space before them. */
[dir="rtl"] :is(.topbar a, .mobile-nav-phone, .mobile-nav-cta, .footer-col a, .btn) { column-gap: 0.3em; }
