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

html[dir="rtl"] .tp-main-menu ul,
html[dir="rtl"] .tp-header-top-lang-list,
html[dir="rtl"] .breadcrumb,
html[dir="rtl"] .list-unstyled {
  padding-right: 1.2rem;
  padding-left: 0;
}

html[dir="rtl"] .tp-header-2-right,
html[dir="rtl"] .tp-footer,
html[dir="rtl"] .tp-contact-form,
html[dir="rtl"] .tp-search-form {
  direction: rtl;
}

/* Header contact line: prevent overlap and keep consistent spacing in RTL. */
html[dir="rtl"] .tp-header-2-info ul {
  padding-left: 0;
  padding-right: 30px;
  flex-wrap: wrap;
  row-gap: 8px;
}
html[dir="rtl"] .tp-header-2-info ul li:not(:last-child) {
  margin-right: 0;
  margin-left: 20px;
  padding-right: 0;
  padding-left: 20px;
}
html[dir="rtl"] .tp-header-2-info ul li:not(:last-child)::before {
  right: auto;
  left: 0;
}

/* Offcanvas contact block: keep icon/text spacing readable in RTL. */
html[dir="rtl"] .tpoffcanvas__contact-info ul li {
  align-items: flex-start;
  column-gap: 10px;
}

/* Keep technical strings readable in LTR (emails, phones, map text). */
html[dir="rtl"] .tp-header-2-info a[href^="mailto:"],
html[dir="rtl"] .tp-header-2-info a[href^="tel:"],
html[dir="rtl"] .tpoffcanvas__contact-info a[href^="mailto:"],
html[dir="rtl"] .tpoffcanvas__contact-info a[href^="tel:"],
html[dir="rtl"] .tpoffcanvas__contact-info a[href*="google.com/maps"],
html[dir="rtl"] input[type="email"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Flip only explicit directional arrow icons used in CTAs. */
html[dir="rtl"] .tp-btn .fa-arrow-right,
html[dir="rtl"] .tp-btn i[class*="arrow-right"] {
  transform: scaleX(-1);
}

/* CTA buttons in RTL: keep icon readable and prevent text/icon overlap. */
html[dir="rtl"] .tp-btn-switch-animation {
  display: inline-flex;
  align-items: center;
}
html[dir="rtl"] .tp-btn-switch-animation .btn-text {
  margin-left: 0;
  margin-right: 0;
}
html[dir="rtl"] .tp-btn-switch-animation .btn-icon {
  margin-left: 0;
  margin-right: 10px;
  line-height: 1;
}
html[dir="rtl"] .tp-btn-switch-animation .btn-icon + .btn-icon {
  display: none;
}
html[dir="rtl"] .tp-btn-switch-animation:hover .btn-text,
html[dir="rtl"] .tp-btn-switch-animation:hover .btn-icon {
  transform: none;
  opacity: 1;
}

/* Service details join section: keep image/form separated in RTL. */
html[dir="rtl"] .tp-join-5-thumb {
  left: auto;
  right: 0;
}
html[dir="rtl"] .tp-join-5-form-wrap {
  margin-left: 0;
  margin-right: 55px;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  html[dir="rtl"] .tp-join-5-form-wrap {
    margin-right: 0;
  }
}

/* Testimonial quote mark in RTL: keep decorative icon away from content. */
html[dir="rtl"] .tp-testimonial-2-slider {
  padding-top: 24px;
  overflow: hidden;
}
html[dir="rtl"] .tp-testimonial-2-qoute {
  right: auto;
  left: 0;
  top: 8px;
  z-index: 0;
  opacity: 0.45;
  pointer-events: none;
}
html[dir="rtl"] .tp-testimonial-2-slider > *:not(.tp-testimonial-2-qoute) {
  position: relative;
  z-index: 1;
}

/* Contact page carousel in RTL: rebalance text block and controls. */
html[dir="rtl"] .tp-contact-slider-thumb {
  padding-left: 0;
  padding-right: 60px;
  text-align: right;
}
html[dir="rtl"] .tp-contact-office-email {
  padding-left: 0;
  padding-right: 20px;
}
html[dir="rtl"] .tp-contact-email-border {
  margin-left: 17px;
  margin-right: 55px;
}
html[dir="rtl"] .tp-contact-navigation {
  right: auto;
  left: 60px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  html[dir="rtl"] .tp-contact-slider-thumb {
    padding-right: 30px;
  }
}
@media (max-width: 574.98px) {
  html[dir="rtl"] .tp-contact-navigation {
    left: 30px;
  }
}

/* Job detail lists in RTL: keep bullets/numbers clean and aligned. */
html[dir="rtl"] .job-purpose-list {
  direction: rtl;
  list-style-position: outside;
  padding-right: 1.35rem;
  padding-left: 0;
  margin-right: 0;
}
html[dir="rtl"] .job-purpose-list li {
  text-align: right;
  padding-right: 0;
  padding-left: 0;
  margin-right: 0;
}
html[dir="rtl"] .job-purpose-list li::marker {
  color: #5f7474;
  font-weight: 600;
}

/* Keep brand name readable in LTR inside Arabic flow. */
html[dir="rtl"] .brand-ltr {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}

/* Job detail section-title marker: reduce size and align cleanly in RTL. */
html[dir="rtl"] .tp-faq-6-wrap .tp-faq-3-wrapper .accordion-button.tp-faq-btn-2 {
  padding-right: 30px !important;
  padding-left: 64px !important;
}
html[dir="rtl"] .tp-faq-3-wrapper .accordion-button::before {
  right: auto;
  left: 15px;
}
html[dir="rtl"] .tp-faq-3-wrapper .accordion-button::after {
  right: auto;
  left: 27px;
  margin-left: 0;
}
html[dir="rtl"] .tp-faq-6-wrap .tp-faq-3-wrapper .accordion-button::before {
  width: 28px;
  height: 28px;
  right: auto;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}

/* Swiper controls/pagination in RTL: keep them on the left side. */
html[dir="rtl"] .swiper-horizontal > .swiper-pagination-bullets,
html[dir="rtl"] .swiper-pagination-bullets.swiper-pagination-horizontal,
html[dir="rtl"] .swiper-pagination-custom,
html[dir="rtl"] .swiper-pagination-fraction {
  left: 0;
  right: auto;
}
html[dir="rtl"] .swiper-button-prev,
html[dir="rtl"] .swiper-button-next {
  left: 0;
  right: auto;
}
html[dir="rtl"] .swiper-button-next {
  left: 48px;
}
@media (max-width: 574.98px) {
  html[dir="rtl"] .swiper-button-next {
    left: 40px;
  }
}
