/* Arabic Localization 1.0 — RTL and Arabic typography layer.
   Loaded only by html[lang="ar"] review routes. */
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/ibm-plex-sans-arabic-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/ibm-plex-sans-arabic-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/ibm-plex-sans-arabic-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

html[lang="ar"] {
  --font-ar: "IBM Plex Sans Arabic", Arial, sans-serif;
  --font-display: var(--font-ar);
  --font-body: var(--font-ar);
  --font-technical: var(--font-ar);
  direction: rtl;
}

html[lang="ar"] body {
  font-family: var(--font-ar);
  font-synthesis: none;
  line-height: 1.68;
  text-align: start;
}

html[lang="ar"] .ar-ltr-token {
  direction: ltr;
  unicode-bidi: isolate;
}

html[lang="ar"] .ar-ltr-token--nowrap {
  white-space: nowrap;
}

/* Arabic review pages render their real section heights instead of the
   generic off-screen 1000px performance placeholder. */
html[lang="ar"] .home-hero ~ .section {
  content-visibility: visible;
  contain-intrinsic-size: none;
}

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] h4 {
  font-family: var(--font-ar);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-wrap: balance;
}

html[lang="ar"] p,
html[lang="ar"] li,
html[lang="ar"] dd,
html[lang="ar"] td,
html[lang="ar"] th {
  letter-spacing: 0;
}

html[lang="ar"] .eyebrow,
html[lang="ar"] .fleet-progress__meta,
html[lang="ar"] .fleet-level__copy span,
html[lang="ar"] .payment-options__position,
html[lang="ar"] .project-provenance,
html[lang="ar"] .service-card__meta {
  font-family: var(--font-ar);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
}

html[lang="ar"] .button,
html[lang="ar"] button,
html[lang="ar"] .nav-link,
html[lang="ar"] label,
html[lang="ar"] .contact-primary-action {
  font-family: var(--font-ar);
  font-weight: 700;
  letter-spacing: 0;
}

html[lang="ar"] .service-card__title,
html[lang="ar"] .project-card__title,
html[lang="ar"] .service-item__copy h3,
html[lang="ar"] .page-link-card strong,
html[lang="ar"] .fleet-logic-card h3,
html[lang="ar"] .payment-options__grid strong {
  font-family: var(--font-ar);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

html[lang="ar"] .home-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.35rem, 9.5vw, 3.2rem);
  line-height: 1.15;
}

html[lang="ar"] .page-hero h1,
html[lang="ar"] .service-hero h1,
html[lang="ar"] .contact-hero h1 {
  max-width: 18ch;
  font-size: clamp(2.45rem, 9vw, 3.7rem);
  line-height: 1.14;
}

html[lang="ar"] .section-heading h2,
html[lang="ar"] .fleet-configurator__title h2 {
  line-height: 1.22;
}

html[lang="ar"] .site-nav__links,
html[lang="ar"] .nav-list,
html[lang="ar"] .header-actions,
html[lang="ar"] .button-row,
html[lang="ar"] .contact-primary-actions,
html[lang="ar"] .language-switcher {
  direction: rtl;
}

html[lang="ar"] .brand-link,
html[lang="ar"] .brand-lockup,
html[lang="ar"] .payment-option__mark,
html[lang="ar"] .manufacturer-logo,
html[lang="ar"] picture,
html[lang="ar"] img,
html[lang="ar"] svg[aria-label] {
  direction: ltr;
}

html[lang="ar"] .breadcrumb ol,
html[lang="ar"] .breadcrumb-list {
  direction: rtl;
}

html[lang="ar"] .breadcrumb li:not(:last-child)::after {
  transform: scaleX(-1);
}

html[lang="ar"] .ltr,
html[lang="ar"] [dir="ltr"],
html[lang="ar"] a[href^="tel:"],
html[lang="ar"] a[href^="mailto:"],
html[lang="ar"] input[type="tel"],
html[lang="ar"] input[type="email"],
html[lang="ar"] .price,
html[lang="ar"] [data-current-price],
html[lang="ar"] [data-regular-price] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: start;
}

html[lang="ar"] .trust-rail,
html[lang="ar"] .services-carousel__track,
html[lang="ar"] .projects-carousel__track,
html[lang="ar"] .payment-options__grid {
  direction: rtl;
}

html[lang="ar"] .carousel-arrow svg,
html[lang="ar"] [data-fleet-back] svg,
html[lang="ar"] [data-fleet-next] svg {
  transform: scaleX(-1);
}

html[lang="ar"] input,
html[lang="ar"] textarea,
html[lang="ar"] select {
  font-family: var(--font-ar);
  text-align: start;
}

html[lang="ar"] .legal-copy,
html[lang="ar"] .legal-nav {
  font-family: var(--font-ar);
}

html[lang="ar"] .legal-copy p,
html[lang="ar"] .legal-copy li {
  font-weight: 400;
  line-height: 1.82;
}

html[lang="ar"] .legal-copy h2,
html[lang="ar"] .legal-copy h3,
html[lang="ar"] .legal-nav a {
  font-weight: 600;
  line-height: 1.45;
}

html[lang="ar"] .fleet-step__intro h3 {
  max-width: 22ch;
  line-height: 1.28;
}

html[lang="ar"] .cookie-consent,
html[lang="ar"] .cookie-settings,
html[lang="ar"] [data-cookie-consent] {
  direction: rtl;
  text-align: start;
}

@media (max-width: 47.999rem) {
  html[lang="ar"] .site-nav {
    text-align: start;
  }

  html[lang="ar"] .trust-rail,
  html[lang="ar"] .payment-options__grid {
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
  }

  html[lang="ar"] .home-hero h1 {
    max-width: 13ch;
    font-size: clamp(2.1rem, 8.6vw, 2.9rem);
    line-height: 1.12;
  }

  /* Keep consent access available without covering Fleet or contact controls. */
  html[lang="ar"] .cookie-preferences-button {
    position: static;
    display: block;
    width: fit-content;
    max-width: calc(100% - 2rem);
    margin: 0.75rem auto 1.25rem 1rem;
  }
}

@media (min-width: 60rem) {
  html[lang="ar"] .home-hero__inner,
  html[lang="ar"] .service-hero__grid,
  html[lang="ar"] .contact-hero__grid {
    direction: rtl;
  }

  html[lang="ar"] .home-hero h1 {
    max-width: 15ch;
    font-size: clamp(3rem, 4vw, 4.35rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html[lang="ar"] * {
    scroll-behavior: auto;
  }
}
