/*
 * SANDS directional layer.
 * The document's dir attribute is the single source of truth. The existing
 * AutoDetail .rtl rules remain intact; this file fills the production gaps
 * needed by the WordPress/Clubium language flow without changing page markup.
 */

html[dir="rtl"] body {
  direction: rtl;
  text-align: right;
}

html[dir="ltr"] body {
  direction: ltr;
  text-align: left;
}

/* Bootstrap-style directional utilities used by the source markup. */
html[dir="rtl"] .text-start,
html[dir="rtl"] .text-sm-start,
html[dir="rtl"] .text-md-start,
html[dir="rtl"] .text-lg-start,
html[dir="rtl"] .text-xl-start { text-align: right !important; }
html[dir="rtl"] .text-end,
html[dir="rtl"] .text-sm-end,
html[dir="rtl"] .text-md-end,
html[dir="rtl"] .text-lg-end,
html[dir="rtl"] .text-xl-end { text-align: left !important; }
html[dir="rtl"] .float-start { float: right !important; }
html[dir="rtl"] .float-end { float: left !important; }

html[dir="rtl"] .ms-auto { margin-right: auto !important; margin-left: 0 !important; }
html[dir="rtl"] .me-auto { margin-left: auto !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-0 { margin-right: 0 !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-1 { margin-right: .25rem !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-2 { margin-right: .5rem !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-3 { margin-right: 1rem !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-4 { margin-right: 1.5rem !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-5 { margin-right: 3rem !important; margin-left: 0 !important; }
html[dir="rtl"] .me-0 { margin-left: 0 !important; margin-right: 0 !important; }
html[dir="rtl"] .me-1 { margin-left: .25rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-2 { margin-left: .5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-3 { margin-left: 1rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-5 { margin-left: 3rem !important; margin-right: 0 !important; }
html[dir="rtl"] .ps-0 { padding-right: 0 !important; padding-left: 0 !important; }
html[dir="rtl"] .ps-1 { padding-right: .25rem !important; padding-left: 0 !important; }
html[dir="rtl"] .ps-2 { padding-right: .5rem !important; padding-left: 0 !important; }
html[dir="rtl"] .ps-3 { padding-right: 1rem !important; padding-left: 0 !important; }
html[dir="rtl"] .ps-4 { padding-right: 1.5rem !important; padding-left: 0 !important; }
html[dir="rtl"] .ps-5 { padding-right: 3rem !important; padding-left: 0 !important; }
html[dir="rtl"] .pe-0 { padding-left: 0 !important; padding-right: 0 !important; }
html[dir="rtl"] .pe-1 { padding-left: .25rem !important; padding-right: 0 !important; }
html[dir="rtl"] .pe-2 { padding-left: .5rem !important; padding-right: 0 !important; }
html[dir="rtl"] .pe-3 { padding-left: 1rem !important; padding-right: 0 !important; }
html[dir="rtl"] .pe-4 { padding-left: 1.5rem !important; padding-right: 0 !important; }
html[dir="rtl"] .pe-5 { padding-left: 3rem !important; padding-right: 0 !important; }

@media (min-width: 992px) {
  html[dir="rtl"] .me-lg-3 { margin-left: 1rem !important; margin-right: 0 !important; }
  html[dir="rtl"] .ms-lg-3 { margin-right: 1rem !important; margin-left: 0 !important; }
}

/* Main page flow. Rows/flexes mirror naturally while centered content stays centered. */
html[dir="rtl"] .row,
html[dir="rtl"] .de-flex,
html[dir="rtl"] .d-flex:not(.sands-direction-preserve) {
  direction: rtl;
}
html[dir="rtl"] .text-center,
html[dir="rtl"] .text-center-sm,
html[dir="rtl"] .btn-main,
html[dir="rtl"] .sands-theme-toggle {
  text-align: center;
}

/* Header / topbar / navigation. */
html[dir="rtl"] #topbar,
html[dir="rtl"] header,
html[dir="rtl"] #mainmenu,
html[dir="rtl"] #mainmenu ul { direction: rtl; }
html[dir="rtl"] #mainmenu > li { text-align: right; }
html[dir="rtl"] #mainmenu li ul {
  left: auto;
  right: 0;
}
html[dir="rtl"] #mainmenu li li a { text-align: right; }
html[dir="rtl"] #mainmenu li.has-child::after {
  padding-left: 0;
  padding-right: 5px;
}
html[dir="rtl"] .menu_side_area {
  margin-left: 0;
  margin-right: 20px;
}
html[dir="rtl"] #btn-extra {
  margin-left: 0;
  margin-right: 20px;
}
html[dir="rtl"] #menu-btn {
  margin-left: 0;
  margin-right: 20px;
}
html[dir="rtl"] .de-quick-search { text-align: right; }

/* Directional icons only. Logos and non-directional graphics are never mirrored. */
html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .icofont-arrow-right,
html[dir="rtl"] .icofont-rounded-right,
html[dir="rtl"] .icofont-long-arrow-right {
  transform: scaleX(-1);
}

/* Forms: labels and ordinary values follow RTL; machine-like values remain LTR. */
html[dir="rtl"] label,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] .form-control,
html[dir="rtl"] .form-select {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="number"],
html[dir="rtl"] [data-direction="ltr"],
html[dir="rtl"] .sands-ltr-value {
  direction: ltr;
  unicode-bidi: plaintext;
  text-align: right;
}
html[dir="rtl"] .form-check {
  padding-left: 0;
  padding-right: 1.5em;
}
html[dir="rtl"] .form-check .form-check-input {
  float: right;
  margin-left: 0;
  margin-right: -1.5em;
}
html[dir="rtl"] .input-group > :not(:first-child):not(.dropdown-menu) {
  margin-left: 0;
  margin-right: -1px;
}

/* Lists / breadcrumbs / pagination / tables. */
html[dir="rtl"] .breadcrumb,
html[dir="rtl"] .pagination,
html[dir="rtl"] .list-unstyled,
html[dir="rtl"] .list-inline,
html[dir="rtl"] .menu-simple,
html[dir="rtl"] .ul-check {
  padding-inline-start: 0;
}
html[dir="rtl"] .breadcrumb,
html[dir="rtl"] .pagination,
html[dir="rtl"] .menu-simple,
html[dir="rtl"] .social-icons { direction: rtl; }
html[dir="rtl"] table,
html[dir="rtl"] .table,
html[dir="rtl"] .de_table { direction: rtl; }
html[dir="rtl"] table th,
html[dir="rtl"] table td,
html[dir="rtl"] .table th,
html[dir="rtl"] .table td { text-align: right; }

/* Accordions / collapsibles. */
html[dir="rtl"] .accordion-section-title::before { float: left; }
html[dir="rtl"] .collapsible-link::before {
  right: auto;
  left: 0;
}
html[dir="rtl"] .collapsible-link::after {
  right: auto;
  left: 6px;
}

/* Side panel opens from the logical start edge in RTL. */
html[dir="rtl"] #extra-wrap {
  right: auto;
  left: -500px;
}
html[dir="rtl"] #extra-wrap.open {
  right: auto;
  left: 0;
}
html[dir="rtl"] #extra-content {
  left: -17px;
  right: 0;
}
html[dir="rtl"] #btn-close {
  right: auto;
  left: 50px;
}

/* Carousels. Swiper natively understands dir=rtl; legacy Owl remains LTR at
 * the track level per the original AutoDetail CSS and its items stay RTL. */
html[dir="rtl"] .swiper,
html[dir="rtl"] .swiper-wrapper,
html[dir="rtl"] .swiper-slide { direction: rtl; }
html[dir="rtl"] .swiper { text-align: right; }
html[dir="rtl"] .owl-carousel,
html[dir="rtl"] .bx-wrapper { direction: ltr; }
html[dir="rtl"] .owl-carousel .owl-item,
html[dir="rtl"] .bx-wrapper > * { direction: rtl; }

/* Modal / close placement. */
html[dir="rtl"] .modal-header .btn-close { margin: -.5rem auto -.5rem -.5rem; }
html[dir="rtl"] .offcanvas-header .btn-close { margin-left: -.5rem; margin-right: auto; }

/* Mobile navigation needs explicit mirroring because the source CSS uses
 * physical left/right offsets. */
@media only screen and (max-width: 992px) {
  html[dir="rtl"] #menu-btn {
    float: left;
    right: auto;
    left: 0;
  }
  html[dir="rtl"] .header-col-mid #mainmenu {
    left: auto;
    right: 20px;
  }
  html[dir="rtl"] #mainmenu a.menu-item,
  html[dir="rtl"] header.header-mobile #mainmenu a.menu-item {
    text-align: right;
    padding-left: 0;
  }
  html[dir="rtl"] #mainmenu > li.menu-item-has-children > a.menu-item {
    padding-right: 0;
    padding-left: 15px;
  }
  html[dir="rtl"] #mainmenu > li.menu-item-has-children > a.menu-item::after {
    right: auto;
    left: 0;
  }
  html[dir="rtl"] #mainmenu li ul li,
  html[dir="rtl"] header.header-mobile #mainmenu li ul li {
    padding-left: 0;
    padding-right: 40px;
  }
  html[dir="rtl"] header.header-mobile #mainmenu {
    padding-right: 0;
    padding-left: 30px;
  }
  html[dir="rtl"] header.header-mobile #mainmenu li ul {
    left: auto;
    right: 0;
  }
  html[dir="rtl"] header.header-mobile #mainmenu > li > span,
  html[dir="rtl"] header.header-mobile #mainmenu li > ul > li > span {
    right: auto;
    left: 0;
  }
  html[dir="rtl"] #extra-wrap {
    width: min(500px, 100%);
    left: -100%;
  }
  html[dir="rtl"] #extra-wrap.open { left: 0; }
  html[dir="rtl"] #extra-content {
    padding-inline: clamp(24px, 8vw, 50px);
  }
  html[dir="rtl"] #btn-close { left: 24px; }
}

/* Keep explicit LTR values stable inside RTL copy. */
html[dir="rtl"] bdi,
html[dir="rtl"] code,
html[dir="rtl"] pre { unicode-bidi: isolate; }

/* v0.1.47 — Arabic typography and deterministic desktop navigation. */
html[lang^="ar"][dir="rtl"] body,
html[lang^="ar"][dir="rtl"] p,
html[lang^="ar"][dir="rtl"] a:not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands),
html[lang^="ar"][dir="rtl"] button,
html[lang^="ar"][dir="rtl"] input,
html[lang^="ar"][dir="rtl"] textarea,
html[lang^="ar"][dir="rtl"] select,
html[lang^="ar"][dir="rtl"] label,
html[lang^="ar"][dir="rtl"] li {
  font-family: "Noto Sans Arabic", Tahoma, Arial, sans-serif !important;
  letter-spacing: 0 !important;
}
html[lang^="ar"][dir="rtl"] h1,
html[lang^="ar"][dir="rtl"] h2,
html[lang^="ar"][dir="rtl"] h3,
html[lang^="ar"][dir="rtl"] h4,
html[lang^="ar"][dir="rtl"] h5,
html[lang^="ar"][dir="rtl"] h6,
html[lang^="ar"][dir="rtl"] #mainmenu a,
html[lang^="ar"][dir="rtl"] .subtitle {
  font-family: "Noto Kufi Arabic", "Noto Sans Arabic", Tahoma, sans-serif !important;
  letter-spacing: 0 !important;
}
html[lang^="ar"][dir="rtl"] body { line-height: 1.9; }
html[lang^="ar"][dir="rtl"] h1,
html[lang^="ar"][dir="rtl"] h2,
html[lang^="ar"][dir="rtl"] h3,
html[lang^="ar"][dir="rtl"] h4,
html[lang^="ar"][dir="rtl"] h5,
html[lang^="ar"][dir="rtl"] h6 { line-height: 1.45 !important; font-weight: 600 !important; }
html[lang^="ar"][dir="rtl"] #mainmenu a { font-weight: 600 !important; }
html[lang^="ar"][dir="rtl"] .subtitle { line-height: 1.7 !important; }

html[lang^="ar"][dir="rtl"] .text-center { text-align: center !important; }
html[lang^="ar"][dir="rtl"] .text-lg-end { text-align: left !important; }
html[lang^="ar"][dir="rtl"] .accordion-section-title,
html[lang^="ar"][dir="rtl"] .accordion-section-content,
html[lang^="ar"][dir="rtl"] .widget,
html[lang^="ar"][dir="rtl"] footer { text-align: right; }
html[lang^="ar"][dir="rtl"] .btn-main { line-height: 1.55; }

@media (min-width: 993px) {
  html[dir="rtl"] header .de-flex,
  html[dir="rtl"] header .header-col-mid { direction: rtl; }
  html[dir="rtl"] #mainmenu {
    display: flex !important;
    flex-direction: row !important;
    direction: rtl !important;
    justify-content: flex-start;
    align-items: center;
  }
  html[dir="rtl"] #mainmenu > li {
    float: none !important;
    text-align: right !important;
  }
  html[dir="rtl"] #mainmenu > li > ul {
    right: 0 !important;
    left: auto !important;
  }
  html[dir="rtl"] #mainmenu li li,
  html[dir="rtl"] #mainmenu li li a { text-align: right !important; }
}


/* v0.1.49 — Arabic hero alignment and refined footer rhythm. */
html[lang^="ar"][dir="rtl"] .sands-our-work-hero-copy,
html[lang^="ar"][dir="rtl"] .sands-ppf-hero-copy{
  text-align:center !important;
}
html[lang^="ar"][dir="rtl"] .sands-footer-brand p{
  line-height: 2;
}
html[lang^="ar"][dir="rtl"] .sands-footer-brand,
html[lang^="ar"][dir="rtl"] .sands-footer-brand p{
  text-wrap: pretty;
}

/* v0.1.112 — Arabic-only visual refinement. English/LTR remains untouched. */
html[lang^="ar"][dir="rtl"] {
  --h1-font-size: 50px;
  --h2-font-size: 40px;
  --h3-font-size: 24px;
  --h4-font-size: 19px;
  --h5-font-size: 17px;
  --h6-font-size: 15px;
}

/* Large custom headings that bypass the shared heading variables. */
html[lang^="ar"][dir="rtl"] .sands-home-hero__title {
  font-size: clamp(38px, 4.7vw, 58px);
}
html[lang^="ar"][dir="rtl"] .sands-home .sands-home-section-head h2,
html[lang^="ar"][dir="rtl"] .sands-home .sands-configurator-heading h2 {
  font-size: clamp(28px, 3.4vw, 44px);
}
html[lang^="ar"][dir="rtl"] .sands-home-b2b__content h2 {
  font-size: clamp(30px, 3.3vw, 42px);
}
html[lang^="ar"][dir="rtl"] .sands-home-final-cta h2 {
  font-size: clamp(26px, 2.9vw, 36px);
}
html[lang^="ar"][dir="rtl"] .sands-b2b-hero__title {
  font-size: clamp(40px, 5.2vw, 72px);
}
html[lang^="ar"][dir="rtl"] .sands-b2b-section-title {
  font-size: clamp(30px, 3.6vw, 46px);
}
html[lang^="ar"][dir="rtl"] .sands-b2b-cta h2 {
  font-size: clamp(25px, 2.7vw, 34px);
}
html[lang^="ar"][dir="rtl"] .sands-configurator-heading h2 {
  font-size: clamp(30px, 3.5vw, 46px);
}

/* Checked lists: icon belongs on the right in Arabic, then the text. */
html[lang^="ar"][dir="rtl"] .ul-check li {
  padding-left: 0 !important;
  padding-right: 30px !important;
  text-align: right;
}
html[lang^="ar"][dir="rtl"] .ul-check li::before {
  content: "\f00c" !important;
  display: inline-block !important;
  position: absolute;
  right: 0 !important;
  left: auto !important;
  margin: 0 !important;
  font-family: "FontAwesome" !important;
  text-align: center;
}
html[lang^="ar"][dir="rtl"] .ul-check li::after {
  content: none !important;
  display: none !important;
}
html[lang^="ar"][dir="rtl"] .ul-check-inline {
  direction: rtl;
  text-align: right;
}
html[lang^="ar"][dir="rtl"] .ul-check-inline li {
  padding-right: 0;
  padding-left: 20px;
}
html[lang^="ar"][dir="rtl"] .ul-check-inline li::before {
  margin-right: 0;
  margin-left: 10px;
}

/* Keep the Arabic footer brand/logo anchored to the physical right edge of its column. */
html[lang^="ar"][dir="rtl"] footer .sands-footer-brand {
  text-align: right !important;
}
html[lang^="ar"][dir="rtl"] footer .sands-footer-brand .logo-footer {
  display: block;
  float: none;
  margin-right: 0 !important;
  margin-left: auto !important;
}

@media (max-width: 767.98px) {
  html[lang^="ar"][dir="rtl"] {
    --h1-font-size: 38px;
    --h2-font-size: 31px;
    --h3-font-size: 22px;
    --h4-font-size: 18px;
    --h5-font-size: 16px;
    --h6-font-size: 15px;
  }
  html[lang^="ar"][dir="rtl"] .sands-home-hero__title {
    font-size: clamp(32px, 9vw, 40px);
  }
  html[lang^="ar"][dir="rtl"] .sands-home .sands-home-section-head h2,
  html[lang^="ar"][dir="rtl"] .sands-home .sands-configurator-heading h2,
  html[lang^="ar"][dir="rtl"] .sands-home-b2b__content h2,
  html[lang^="ar"][dir="rtl"] .sands-configurator-heading h2 {
    font-size: clamp(27px, 7.5vw, 34px);
  }
  html[lang^="ar"][dir="rtl"] .sands-b2b-hero__title {
    font-size: clamp(34px, 10vw, 46px);
  }
  html[lang^="ar"][dir="rtl"] .sands-b2b-section-title {
    font-size: clamp(28px, 8vw, 36px);
  }
}

/* v0.1.113 — Arabic headline refinement: slightly smaller scale and softer rounded heading face. */
html[lang^="ar"][dir="rtl"] h1,
html[lang^="ar"][dir="rtl"] h2,
html[lang^="ar"][dir="rtl"] h3,
html[lang^="ar"][dir="rtl"] h4,
html[lang^="ar"][dir="rtl"] h5,
html[lang^="ar"][dir="rtl"] h6,
html[lang^="ar"][dir="rtl"] #mainmenu a,
html[lang^="ar"][dir="rtl"] .subtitle {
  font-family: "Cairo", "Noto Sans Arabic", Tahoma, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html[lang^="ar"][dir="rtl"] h1 {
  font-size: clamp(2.15rem, 3.7vw, 3.45rem) !important;
  line-height: 1.35 !important;
}

html[lang^="ar"][dir="rtl"] h2 {
  font-size: clamp(1.8rem, 3vw, 2.75rem) !important;
  line-height: 1.38 !important;
}

html[lang^="ar"][dir="rtl"] h3 {
  font-size: clamp(1.45rem, 2.35vw, 2.1rem) !important;
  line-height: 1.42 !important;
}

html[lang^="ar"][dir="rtl"] h4 {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem) !important;
  line-height: 1.45 !important;
}

html[lang^="ar"][dir="rtl"] h5 {
  font-size: clamp(1.05rem, 1.35vw, 1.25rem) !important;
}

html[lang^="ar"][dir="rtl"] h6 {
  font-size: clamp(0.98rem, 1.1vw, 1.1rem) !important;
}

html[lang^="ar"][dir="rtl"] .sands-our-work-hero-copy h1,
html[lang^="ar"][dir="rtl"] .sands-ppf-hero-copy h1,
html[lang^="ar"][dir="rtl"] .sands-our-work-hero-copy h2,
html[lang^="ar"][dir="rtl"] .sands-ppf-hero-copy h2,
html[lang^="ar"][dir="rtl"] .de_title h1,
html[lang^="ar"][dir="rtl"] .de_title h2,
html[lang^="ar"][dir="rtl"] section h1.display-4,
html[lang^="ar"][dir="rtl"] section h2.display-4 {
  line-height: 1.28 !important;
}

@media (max-width: 992px) {
  html[lang^="ar"][dir="rtl"] h1 {
    font-size: clamp(1.85rem, 7vw, 2.65rem) !important;
  }

  html[lang^="ar"][dir="rtl"] h2 {
    font-size: clamp(1.55rem, 5.8vw, 2.15rem) !important;
  }

  html[lang^="ar"][dir="rtl"] h3 {
    font-size: clamp(1.3rem, 4.8vw, 1.75rem) !important;
  }
}

/* v0.1.114 — Arabic role-based heading scale.
 * Arabic headings are sized by UI role instead of sharing one oversized global scale.
 * English/LTR remains untouched. */
html[lang^="ar"][dir="rtl"] {
  --sands-ar-hero-title: clamp(2.35rem, 4.25vw, 3.45rem);
  --sands-ar-page-title: clamp(2.05rem, 3.45vw, 2.85rem);
  --sands-ar-section-title: clamp(1.75rem, 2.55vw, 2.25rem);
  --sands-ar-card-title: clamp(1.3rem, 1.75vw, 1.65rem);
  --sands-ar-small-title: clamp(1.08rem, 1.35vw, 1.3rem);
}

/* Baseline semantic hierarchy for Arabic pages. */
html[lang^="ar"][dir="rtl"] h1 {
  font-size: var(--sands-ar-page-title) !important;
  line-height: 1.38 !important;
}
html[lang^="ar"][dir="rtl"] h2 {
  font-size: var(--sands-ar-section-title) !important;
  line-height: 1.42 !important;
}
html[lang^="ar"][dir="rtl"] h3 {
  font-size: var(--sands-ar-card-title) !important;
  line-height: 1.48 !important;
}
html[lang^="ar"][dir="rtl"] h4,
html[lang^="ar"][dir="rtl"] h5,
html[lang^="ar"][dir="rtl"] h6 {
  font-size: var(--sands-ar-small-title) !important;
  line-height: 1.5 !important;
}

/* Hero/page-level headings are allowed one deliberate step above normal sections. */
html[lang^="ar"][dir="rtl"] .sands-home-hero__title,
html[lang^="ar"][dir="rtl"] .sands-our-work-hero-copy h1,
html[lang^="ar"][dir="rtl"] .sands-ppf-hero-copy h1,
html[lang^="ar"][dir="rtl"] .subheader h1,
html[lang^="ar"][dir="rtl"] #subheader h1 {
  font-size: var(--sands-ar-hero-title) !important;
  line-height: 1.3 !important;
}

/* Homepage: enforce a clear Arabic hierarchy independent of the English page CSS. */
html[lang^="ar"][dir="rtl"] .sands-home .sands-home-section-head h2,
html[lang^="ar"][dir="rtl"] .sands-home .sands-configurator-heading h2,
html[lang^="ar"][dir="rtl"] .sands-home .sands-home-b2b__content h2 {
  font-size: var(--sands-ar-section-title) !important;
  line-height: 1.42 !important;
  margin-top: 8px;
}

/* The packages heading shown as “ثلاث باقات متكاملة من ساندز” is a section title,
 * not a hero title. Keep it compact even when the translation wraps. */
html[lang^="ar"][dir="rtl"] .sands-home-packages .sands-home-section-head h2,
html[lang^="ar"][dir="rtl"] #sands-home-packages-title {
  font-size: clamp(1.7rem, 2.35vw, 2.15rem) !important;
  line-height: 1.46 !important;
  max-width: 760px;
  margin-inline: auto;
  text-wrap: balance;
}

html[lang^="ar"][dir="rtl"] .sands-home-service-card__body h3 {
  font-size: clamp(1.28rem, 1.7vw, 1.58rem) !important;
  line-height: 1.48 !important;
}
html[lang^="ar"][dir="rtl"] .sands-home-package-card__body h3,
html[lang^="ar"][dir="rtl"] .sands-home-partner-panel__head h3 {
  font-size: clamp(1.18rem, 1.5vw, 1.45rem) !important;
  line-height: 1.5 !important;
}
html[lang^="ar"][dir="rtl"] .sands-home-why__card h3 {
  font-size: clamp(1.05rem, 1.25vw, 1.25rem) !important;
  line-height: 1.5 !important;
}
html[lang^="ar"][dir="rtl"] .sands-home-warranty__copy h2 {
  font-size: clamp(1.55rem, 2.05vw, 1.95rem) !important;
  line-height: 1.45 !important;
}
html[lang^="ar"][dir="rtl"] .sands-home-final-cta h2 {
  font-size: clamp(1.5rem, 2vw, 1.9rem) !important;
  line-height: 1.45 !important;
}

/* Compact subtitles/eyebrows remain visually subordinate to headings. */
html[lang^="ar"][dir="rtl"] .subtitle,
html[lang^="ar"][dir="rtl"] .sands-home-package-card__body > span,
html[lang^="ar"][dir="rtl"] .sands-home-partner-panel__eyebrow {
  font-size: .78rem !important;
  line-height: 1.75 !important;
}

@media (max-width: 992px) {
  html[lang^="ar"][dir="rtl"] {
    --sands-ar-hero-title: clamp(2rem, 7.5vw, 2.65rem);
    --sands-ar-page-title: clamp(1.8rem, 6.4vw, 2.35rem);
    --sands-ar-section-title: clamp(1.5rem, 5.4vw, 1.95rem);
    --sands-ar-card-title: clamp(1.2rem, 4.4vw, 1.5rem);
    --sands-ar-small-title: clamp(1rem, 3.6vw, 1.2rem);
  }

  html[lang^="ar"][dir="rtl"] .sands-home-packages .sands-home-section-head h2,
  html[lang^="ar"][dir="rtl"] #sands-home-packages-title {
    font-size: clamp(1.48rem, 5.1vw, 1.85rem) !important;
    line-height: 1.5 !important;
    max-width: 92%;
  }
}

@media (max-width: 575px) {
  html[lang^="ar"][dir="rtl"] {
    --sands-ar-hero-title: clamp(1.85rem, 8.6vw, 2.3rem);
    --sands-ar-page-title: clamp(1.65rem, 7.4vw, 2.05rem);
    --sands-ar-section-title: clamp(1.4rem, 6.3vw, 1.72rem);
    --sands-ar-card-title: clamp(1.14rem, 5.2vw, 1.38rem);
  }

  html[lang^="ar"][dir="rtl"] .sands-home-packages .sands-home-section-head h2,
  html[lang^="ar"][dir="rtl"] #sands-home-packages-title {
    font-size: clamp(1.38rem, 6vw, 1.65rem) !important;
    max-width: 100%;
  }
}

/* v0.1.115 — Arabic hero arrows + footer logo visibility fix. */
/* Home hero Swiper arrows must stay on opposite sides in Arabic RTL.
   Swiper's internal RTL navigation swap plus page CSS could place both arrows on the right. */
html[lang^="ar"][dir="rtl"] .sands-home-hero__swiper .swiper-button-prev {
  left: 26px !important;
  right: auto !important;
}

html[lang^="ar"][dir="rtl"] .sands-home-hero__swiper .swiper-button-next {
  right: 26px !important;
  left: auto !important;
}

/* Footer must show only one active logo variant in Arabic. */
html[lang^="ar"][dir="rtl"] body:not(.sands-theme-light):not(.sands-theme-dark) footer .sands-footer-brand .sands-logo--dark {
  display: block !important;
}
html[lang^="ar"][dir="rtl"] body:not(.sands-theme-light):not(.sands-theme-dark) footer .sands-footer-brand .sands-logo--light {
  display: none !important;
}
html[lang^="ar"][dir="rtl"] body.sands-theme-dark footer .sands-footer-brand .sands-logo--dark {
  display: block !important;
}
html[lang^="ar"][dir="rtl"] body.sands-theme-dark footer .sands-footer-brand .sands-logo--light {
  display: none !important;
}
html[lang^="ar"][dir="rtl"] body.sands-theme-light footer .sands-footer-brand .sands-logo--dark {
  display: none !important;
}
html[lang^="ar"][dir="rtl"] body.sands-theme-light footer .sands-footer-brand .sands-logo--light {
  display: block !important;
}

/* v0.1.116 — Arabic footer brand alignment. */
/* Keep the Arabic footer logo physically aligned with the right edge of the
   footer copy instead of allowing auto margins to leave it visually inset. */
html[lang^="ar"][dir="rtl"] footer .sands-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  direction: rtl;
  text-align: right !important;
}

html[lang^="ar"][dir="rtl"] footer .sands-footer-brand .logo-footer {
  align-self: flex-start;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
}

html[lang^="ar"][dir="rtl"] footer .sands-footer-brand > p,
html[lang^="ar"][dir="rtl"] footer .sands-footer-brand > .social-icons,
html[lang^="ar"][dir="rtl"] footer .sands-footer-brand > .sands-footer-business-profile {
  width: 100%;
  text-align: right !important;
}
