/* Right-to-left overrides for Arabic and Farsi, loaded after site.css with bootstrap.rtl. */
html[lang=ar]{--font-head:'Cairo',system-ui,sans-serif;--font-body:'Cairo',system-ui,sans-serif}
html[lang=fa]{--font-head:'Vazirmatn',system-ui,sans-serif;--font-body:'Vazirmatn',system-ui,sans-serif}
body{line-height:1.85;text-align:right} /* explicit, so English fallback paragraphs (bidi plaintext) stay right-aligned */
/* Arabic script joins letters, so tracking and forced capitals break it */
.eyebrow,.stat .label,.project-card .caption .cat,.post-card .meta a,.post-card .date span,.status-badge,.project-facts dt,.client-logo span,.about-media .years span,.section-sm .text-uppercase{letter-spacing:0!important;text-transform:none}
h1,h2,h3,h4,h5,h6,.font-head{letter-spacing:0;line-height:1.35}

/* Directional icons point the other way */
.bi-arrow-right,.bi-arrow-left,.bi-chevron-right,.bi-chevron-left,.bi-arrow-up-right,.bi-send,.bi-quote{display:inline-block;transform:scaleX(-1)}
.link-arrow:hover i{transform:translateX(-4px) scaleX(-1)}

/* Header */
.navbar .nav-link::after{transform-origin:right}
@media(max-width:1199px){.navbar .dropdown-menu{padding-left:.5rem;padding-right:1rem}}

/* Hero & banners: dark side of the gradient follows the text */
.hero .carousel-item::before{background:linear-gradient(270deg,rgba(14,19,26,.88) 0%,rgba(14,19,26,.6) 45%,rgba(14,19,26,.25) 100%)}
.hero .carousel-indicators{margin-left:15%;margin-right:max(12px,calc((100vw - 1296px)/2 + 12px))}
.hero .carousel-control-prev{right:auto;left:calc(max(12px,(100vw - 1296px)/2) + 76px)}
.hero .carousel-control-next{right:auto;left:max(12px,calc((100vw - 1296px)/2 + 12px))}
.page-header::before{background:linear-gradient(270deg,rgba(14,19,26,.9),rgba(14,19,26,.55))}
.cta-band::before{background:linear-gradient(270deg,rgba(14,19,26,.93),rgba(14,19,26,.7))}
@keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* About */
.about-media .img-small{right:auto;left:0}
.about-media .years{left:auto;right:1.5rem}
.check-list li,.rich-text ul li{padding-left:0;padding-right:1.9rem}
.check-list li::before,.rich-text ul li::before{left:auto;right:0}
.rich-text blockquote{border-left:0;border-right:3px solid var(--accent);padding:.5rem 1.25rem .5rem 0}

/* Cards */
.service-card::after{left:auto;right:0}
.service-card .num{right:auto;left:1.5rem}
.service-img-card .media .icon{left:auto;right:1.5rem}
.stats-band .col+.col .stat,.stats-band [class*=col-]+[class*=col-] .stat{border-left:0;border-right:1px solid rgba(255,255,255,.08)}
@media(max-width:767px){.stats-band [class*=col-] .stat{border-right:0!important}}
.project-card .go{right:auto;left:1.25rem}
.testimonial .quote-icon{right:auto;left:2rem}
.post-card .date{left:auto;right:1rem}

/* Blog & sidebar */
.sidebar-widget h4::after{left:auto;right:0}
.side-links li a{border-left:0;border-right:3px solid transparent}
.side-links li a:hover,.side-links li a.active{border-right-color:var(--accent)}
.tag{margin:0 0 .45rem .35rem}
.article-meta i{margin-right:0;margin-left:.3rem}
.share a{margin-right:0;margin-left:.35rem}

/* Footer */
.site-footer h4::after{left:auto;right:0}
.footer-links a::before{content:"\F284"}

/* Floating buttons & alerts */
.float-whatsapp,.back-top{right:auto;left:20px}
.alert-float{right:auto;left:20px}
.hp-field{left:auto;right:-9999px}

/* Phone numbers, emails and URLs stay left-to-right inside RTL text */
a[href^="tel:"],a[href^="mailto:"],input[type=email],input[type=url]{unicode-bidi:plaintext}
input[type=email],input[type=url]{direction:ltr;text-align:right}
input[type=email]::placeholder,input[type=url]::placeholder{direction:rtl}

/* Untranslated (English fallback) text keeps its own direction, so punctuation lands in the right place */
p,h1,h2,h3,h4,h5,h6,li,dd,blockquote,.eyebrow,.rich-text>*{unicode-bidi:plaintext}
/* Numbers with a suffix ("15+", "98%") read left to right */
.about-media .years strong,.stat .num{direction:ltr;unicode-bidi:isolate}
