/* Arabic V2 typography and language-specific spacing. */
html[lang="ar"] {
  --sans: "Noto Sans Arabic", Tahoma, Arial, sans-serif;
  --serif: "Noto Naskh Arabic", "Amiri", Georgia, serif;
  font-feature-settings: normal;
}

html[lang="ar"] body,
html[lang="ar"] button,
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea {
  font-family: var(--sans);
  line-height: 1.82;
  word-break: normal;
  line-break: auto;
  overflow-wrap: anywhere;
}

html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] .serif,
html[lang="ar"] .lt-footer-brand h2,
html[lang="ar"] .lt-location-heading strong {
  font-family: var(--serif) !important;
  line-height: 1.38;
  letter-spacing: .01em;
}

html[lang="ar"] .main-nav,
html[lang="ar"] .main-nav a,
html[lang="ar"] .nav-book-link {
  font-size: 13px;
}

html[lang="ar"] .hero-copy h1 {
  letter-spacing: 0;
  font-size: clamp(42px, 4.4vw, 60px);
}

html[lang="ar"] .booking-field small,
html[lang="ar"] .proof-strip > div > span,
html[lang="ar"] .treatment-category-copy > small,
html[lang="ar"] .lt-footer-label,
html[lang="ar"] .lt-language-label {
  letter-spacing: .03em;
  text-transform: none;
}

html[lang="ar"] .lt-footer-brand-heading h2 span {
  white-space: normal;
}

/* Arabic needs real line-breaking space rather than English-only nowrap rules. */
html[lang="ar"] .collection-hero .page-banner__title,
html[lang="ar"] .collection-faq-list summary,
html[lang="ar"] .hof-card h3,
html[lang="ar"] .hof-card-quote p,
html[lang="ar"] .hof-card-context p,
html[lang="ar"] .pl-service-editorial__visual figcaption strong,
html[lang="ar"] .so-hero h1 {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: auto;
}

html[lang="ar"] .collection-variant-signatures .collection-hero .page-banner__title {
  max-width: 790px;
  font-size: clamp(42px, 5.3vw, 68px);
  line-height: 1.28;
  white-space: normal;
}

html[lang="ar"] .collection-variant-signatures .collection-hero .page-banner__title em {
  display: block;
}

html[lang="ar"] .collection-faq-list summary {
  gap: 14px;
  font-size: 21px;
}

html[lang="ar"] .collection-faq-list summary i {
  flex: 0 0 auto;
}

/* Keep reviewed Arabic copy visible inside shared cards instead of clipping it. */
html[lang="ar"] .v2-service-page .sl-hero .pl-hero__intro {
  display: block;
  max-width: 760px;
  overflow: visible;
  font-size: 13px;
  line-height: 1.7;
  -webkit-line-clamp: unset;
}

html[lang="ar"] .sl-price-card__description {
  height: auto;
  min-height: calc(12px * 1.65 * 5);
  -webkit-line-clamp: 5;
}

html[lang="ar"] .collection-services .service-card p {
  min-height: 6.4em;
  -webkit-line-clamp: 4;
}

html[lang="ar"] .pl-service-card .pl-service-content > p {
  display: block;
  min-height: 0;
  overflow: visible;
  -webkit-line-clamp: unset;
}

html[lang="ar"] #journal .journal-copy p {
  min-height: 4.86em;
  -webkit-line-clamp: 3;
}

html[lang="ar"] .hof-card-context p {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

/* English artwork often forces single-line display. Arabic copy must be
   allowed to wrap inside the original frame rather than being clipped. */
html[lang="ar"] .hero-copy h1,
html[lang="ar"] .hero-copy h1 span,
html[lang="ar"] .expertise .expertise-points strong,
html[lang="ar"] .specialist-ritual-card h3,
html[lang="ar"] .about-book-title,
html[lang="ar"] .cbd-hero-title-main,
html[lang="ar"] .cbd-science-definitions h3.cbd-science-title-single-line,
html[lang="ar"] #featured-title {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: auto;
}

html[lang="ar"] .about-book-grid,
html[lang="ar"] .about-book-copy,
html[lang="ar"] .cbd-container,
html[lang="ar"] .cbd-hero-inner,
html[lang="ar"] .section-heading {
  min-width: 0;
  max-width: 100%;
}

html[lang="ar"] .about-book-title {
  font-size: clamp(36px, 3vw, 48px);
  line-height: 1.25;
}

html[lang="ar"] .cbd-science-definitions h3.cbd-science-title-single-line {
  font-size: clamp(20px, 2vw, 25px);
}

html[lang="ar"] #featured-title {
  font-size: clamp(34px, 3.4vw, 46px);
  line-height: 1.28;
}

@media (min-width: 1181px) {
  html[lang="ar"] .treatment-category-copy h3 {
    min-height: 2.44em;
    font-size: clamp(22px, 1.7vw, 25px);
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-wrap: balance;
    white-space: normal;
  }

  html[lang="ar"] .expertise .expertise-points strong {
    min-height: 2.44em;
    font-size: 15px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}

@media (max-width: 760px) {
  html[lang="ar"] .hero-copy h1 {
    font-size: clamp(30px, 8.2vw, 36px);
    line-height: 1.22;
  }

  html[lang="ar"] .about-book-title {
    font-size: clamp(25px, 7vw, 31px);
  }

  html[lang="ar"] .cbd-hero h1 {
    max-width: 100%;
    font-size: clamp(29px, 8.2vw, 34px);
    line-height: 1.25;
  }

  html[lang="ar"] .collection-variant-signatures .collection-hero .page-banner__title {
    font-size: clamp(27px, 8vw, 36px);
    line-height: 1.34;
  }

  html[lang="ar"] .collection-faq-list summary {
    gap: 10px;
    font-size: 19px;
  }

  html[lang="ar"] .so-hero h1,
  html[lang="ar"] .so-hero h1.so-hero-title--weekday {
    font-size: clamp(38px, 11vw, 46px);
    line-height: 1.3;
  }

  html[lang="ar"] .pl-service-editorial__visual {
    width: 100%;
    aspect-ratio: auto;
  }

  html[lang="ar"] .pl-service-editorial__visual figcaption strong {
    font-size: 23px;
    line-height: 1.35;
  }

  html[lang="ar"] .hof-card h3 {
    font-size: 18px;
    line-height: 1.35;
  }

  html[lang="ar"] .booking-service-field {
    min-height: 150px;
  }
}

/* Arabic: preserve the geo and Journal card frames without
   clipping natural localized copy. */
html[lang="ar"] #geo-title {
  max-width: 100%;
  overflow: visible;
  line-height: 1.25;
}

/* The site structure stays LTR: navigation order, card order, columns and
   media placement are never mirrored. Arabic prose receives its natural
   reading direction only inside textual blocks. */
html[lang="ar"],
html[lang="ar"] body {
  direction: ltr;
}

html[lang="ar"] :where(h1, h2, h3, h4, h5, h6, p, li, summary, label, dt, dd, blockquote, figcaption) {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}

html[lang="ar"] :where(a, button, small, span, strong, em) {
  unicode-bidi: plaintext;
}

html[lang="ar"] :where(.main-nav, .lt-footer-main, .lt-footer-bottom, .lt-footer-nav-groups, .lt-location-list, .so-service-grid, .collection-services, .pl-service-grid) {
  direction: ltr;
}

html[lang="ar"] .geo-hero__title-line,
html[lang="ar"] .geo-hero__title-line.is-long,
html[lang="ar"] .geo-hero__title-line.is-very-long {
  display: block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-wrap: balance;
}

html[lang="ar"] #journal .journal-copy p {
  min-height: 6.48em;
  -webkit-line-clamp: 4;
}

/* Arabic glyphs extend farther vertically than the Latin footer label.
   Keep the existing visual rhythm while allowing the full letterforms. */
html[lang="ar"] .lt-locations-cta strong {
  overflow: visible;
  line-height: 1.6;
  text-overflow: clip;
}

/* Keep compact service-card actions inside their frame at the tablet
   breakpoint, where Arabic labels need slightly more horizontal room. */
html[lang="ar"] .loft-service-card .bt-tretment .btn-voucher {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  padding-inline: 12px !important;
  font-size: 13px !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
  html[lang="ar"] #geo-title {
    font-size: clamp(34px, 5.2vw, 40px);
  }
}