/* Arabic component corrections; this file is enqueued only by is_rtl(). */
/* Mirror the template's decorative positions; the original widgets own magnetic hover. */
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-orbit.elementor-element {
  width: max-content;
  top: var(--ac-hero-orbit-top, 445px);
  left: var(--ac-hero-orbit-left, max(24px, calc((100vw - 1384px) / 2))) !important;
  right: auto !important;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-programmer.elementor-element {
  top: var(--ac-hero-programmer-top, 480px);
  right: var(--ac-hero-programmer-right, max(24px, calc((100vw - 1480px) / 2))) !important;
  left: auto !important;
  width: 237px;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-programmer .rs-image img { width: 100%; height: auto; scale: -1 1; }
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-label-source.elementor-element {
  width: max-content;
  max-width: calc(100% - 40px);
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-tech-decoration.elementor-element {
  top: var(--ac-hero-tech-top, 330px) !important;
  right: var(--ac-hero-tech-right, 24%) !important;
  left: auto !important;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-context-decoration.elementor-element {
  top: var(--ac-hero-context-top, 760px) !important;
  left: var(--ac-hero-context-left, 24%) !important;
  right: auto !important;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-label-source .rs-image { overflow: visible; line-height: 0; }
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-inline-size: 112px;
  padding: 8px 16px;
  border: 2px solid currentColor;
  color: #53f5ff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-tech-decoration .ac-hero-label { min-inline-size: 130px; }
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-label-pointer {
  position: absolute;
  inset-block-start: -22px;
  inset-inline-end: -18px;
  width: 26px;
  height: 30px;
  overflow: visible;
}
html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-tech-decoration .ac-hero-label-pointer {
  inset-inline-start: -18px;
  inset-inline-end: auto;
  transform: scaleX(-1);
}
@media (min-width: 1025px) and (max-width: 1600px) {
  html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-orbit.elementor-element { scale: .82; transform-origin: top left; }
  html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-programmer.elementor-element { width: 160px; }
}
@media (max-width: 1024px) {
  html[dir="rtl"] body.ac-bidi .ac-home-hero .ac-hero-programmer.elementor-element { width: 120px; }
}
/* The addon names its trailing numeric unit "prefix"; keep it after the digits visually. */
html[dir="rtl"] body.ac-bidi .elementor-widget-rs-counter .count-number > .prefix { order: -1; }
html[dir="rtl"] body.ac-bidi .ac-header,
html[dir="rtl"] body.ac-bidi .ac-header-bar,
html[dir="rtl"] body.ac-bidi .ac-header-bar > .e-con,
html[dir="rtl"] body.ac-bidi .ac-header .e-con-inner { direction: rtl; }
/* The addon injects !important on the top bar; retain one scoped exception. */
html[dir="rtl"] body.ac-bidi .ac-header-top { direction: rtl !important; }
html[dir="rtl"] body.ac-bidi .ac-header-nav .hfe-nav-menu { direction: rtl; }
html[dir="rtl"] body.ac-bidi .ac-header-nav .sub-menu {
  text-align: start;
  inset-inline-start: 0;
  inset-inline-end: auto;
}
html[dir="rtl"] body.ac-bidi .ac-header-nav .sub-menu .sub-menu {
  inset-inline-start: 100%;
}
/* Physical centering is deliberate; pairing the RTL anchor with +50% avoids double mirroring. */
html[dir="rtl"] body.ac-bidi .ac-inner-hero-art .ac-inner-hero-illustration {
  left: auto;
  right: 50%;
}
html[dir="rtl"] body.ac-bidi .ac-inner-hero-illustration > .elementor-widget-container {
  --e-transform-translateX: 50%;
}
html[dir="rtl"] body.ac-bidi .rs-accordion-area { direction: rtl; text-align: start; }
/* Elementor writes !important on the physical right inset. Clear it once for this widget. */
html[dir="rtl"] body.ac-bidi .elementor-element.elementor-widget-rs-accordions-custom div.rs-accordion-area .accordion-header .elementor-accordion-icon {
  right: auto !important;
  left: 0 !important;
}
html[dir="rtl"] body.ac-bidi .rs-accordion-area .elementor-accordion-icon-closed svg { transform: scaleX(-1); }
html[dir="rtl"] body.ac-bidi .bs-sidebar .wp-block-search__label { display: block; }
html[dir="rtl"] body.ac-bidi .bs-sidebar :is(.wp-block-heading, .wp-block-search__label, .widget-title)::before {
  left: auto;
  right: 0;
}
html[dir="rtl"] body.ac-bidi .bs-sidebar :is(.wp-block-heading, .wp-block-search__label, .widget-title)::after {
  left: auto;
  right: 26px;
}
html[dir="rtl"] body.ac-bidi .bs-sidebar :is(.widget_nav_menu, #categories-2.widget_categories) li {
  padding-inline-end: 32px;
}
html[dir="rtl"] body.ac-bidi .bs-sidebar :is(.widget_nav_menu, #categories-2.widget_categories) ul li a::after {
  right: auto;
  left: 0;
  transform: scaleX(-1);
}
html[dir="rtl"] body.ac-bidi :is(.rs-blog .blog-item:not(.rs-flat), .entry-summary:not(.rs-flat)) .blog-button a { padding-inline-start: 0; padding-inline-end: 1.5em; }
html[dir="rtl"] body.ac-bidi :is(.rs-blog .blog-item:not(.rs-flat), .entry-summary:not(.rs-flat)) .blog-button a::before { right: auto; left: 0; width: 1em; transform: scaleX(-1); }
html[dir="rtl"] body.ac-bidi .ac-header .ac-header-top .address-item a:is([href^="tel:"], [href^="mailto:"]),
html[dir="rtl"] body.ac-bidi [data-elementor-type="footer"] .elementor-widget-rs-contact-box a:is([href^="tel:"], [href^="mailto:"], [href*="wa.me/"]) {
  direction: ltr;
  unicode-bidi: isolate;
}
/* The footer is rendered by HFE under #colophon, without data-elementor-type=footer. */
html[dir="rtl"] body.ac-bidi #colophon .rs-contact-box a:is([href^="tel:"], [href^="mailto:"], [href*="wa.me/"]) {
  display: block;
  direction: ltr;
  unicode-bidi: isolate;
}
html[dir="rtl"] body.ac-bidi #colophon .rs-contact-box a:is([href^="tel:"], [href^="mailto:"], [href*="wa.me/"]) .des {
  text-align: end;
}
/* Chronological controls live outside Swiper's own RTL root. */
/* Widget dee858f emits a global [dir="rtl"] right:55px !important rule. */
body.ac-bidi.rtl :is(.elementor-widget-rs-service-slider, .elementor-widget-rsteam-slider, .elementor-widget-rs-testimonial-slider) .swiper[dir="rtl"] {
  inset-inline: auto !important;
  align-self: auto !important;
}
body.ac-bidi.rtl :is(.elementor-widget-rs-service-slider, .elementor-widget-rsteam-slider, .elementor-widget-rs-testimonial-slider) .swiper-btn-wrapper :is(.swiper-button-prev, .swiper-button-next)::after {
  transform: scaleX(-1);
}

/* Mirror only directional decoration, not labels, photos, or whole widgets. */
html[dir="rtl"] body.ac-bidi :is(.ac-about-shape, .ac-case-shape) .rs-image img { transform: scaleX(-1); }
html[dir="rtl"] body.ac-bidi .ac-faq-categories .nav-btn-icon svg { transform: scaleX(-1); }
html[dir="rtl"] body.ac-bidi .rs-addon-services.style7 .media_wrap svg { transform: scaleX(-1); }
html[dir="rtl"] body.ac-bidi .ac-inner-hero-shell.elementor-element::before {
  background-position: right 40px top 40px;
}
/* The parent form stylesheet sets text-align: inherit !important on every input. */
html[dir="rtl"] body.ac-bidi #colophon .wpcf7[data-wpcf7-id="651"] input[type="email"]:placeholder-shown { text-align: right !important; }
/* Open the number into the text column; isolate its digits without changing the reveal side. */
html[dir="rtl"] body.ac-bidi .rs-team-slider.team-slider-style13 .team-content .contact-part .phone-part a {
  left: auto;
  right: calc(var(--icon-size-measure) - 15px);
  white-space: nowrap;
}
html[dir="rtl"] body.ac-bidi .rs-team-slider.team-slider-style13 .team-content .contact-part .phone-part:is(:hover, :focus-within) a {
  right: calc(var(--icon-size-measure) + 15px);
}
/* Mirror the glyph while preserving the parent arrow's vertical centering and hover fade. */
html[dir="rtl"] body.ac-bidi #colophon .footer-width-fixer .hfe-layout-vertical .rs__menu_sp_dyc i { transform: scaleX(-1); }
/* The circuit artwork is the only mirrored layer of the story section. */
html[dir="rtl"] body.ac-bidi .ac-story-section::after { transform: scaleX(-1); }
@media (max-width: 1024px) {
  html[dir="rtl"] body.ac-bidi .ac-inner-hero-shell.elementor-element::before { background-position: right 10px top 20px; }
}
@media (max-width: 767px) {
  html[dir="rtl"] body.ac-bidi .ac-inner-hero-shell.elementor-element::before { background-position: right 10px top 10px; }
}

html[dir="rtl"] body.ac-bidi .ac-news-section .blog-btn-part svg { transform: scaleX(-1); }
