/* Locale direction layer for the shared Rasa theme chrome and core pages. */
html[dir="ltr"] body.rwse-core-language-en,
html[dir="ltr"] body.rwse-language-en,
html[dir="ltr"] body.rwse-core-language-en :where(header, main, footer, section, article, nav, form, dialog, div, h1, h2, h3, h4, h5, h6, p, li, label, input, textarea, select, button, a, span, small, strong, b),
html[dir="ltr"] body.rwse-language-en :where(header, main, footer, section, article, nav, form, dialog, div, h1, h2, h3, h4, h5, h6, p, li, label, input, textarea, select, button, a, span, small, strong, b) {
	direction: ltr !important;
}

html[dir="ltr"] body.rwse-core-language-en :where(h1, h2, h3, h4, h5, h6, p, li, label, button, a, span, small, strong, b),
html[dir="ltr"] body.rwse-language-en :where(h1, h2, h3, h4, h5, h6, p, li, label, button, a, span, small, strong, b) {
	unicode-bidi: plaintext;
}

/*
 * The Persian brand fonts intentionally substitute localized numeral glyphs.
 * Translated English pages use Inter so dates, counters and prices remain
 * genuinely Latin while the Persian and Arabic typography stays untouched.
 */
html[dir="ltr"] body.rwse-core-language-en,
html[dir="ltr"] body.rwse-core-language-en :where(h1, h2, h3, h4, h5, h6, p, li, label, input, textarea, select, button, a, span, small, strong, b, time, blockquote),
html[dir="ltr"] body.rwse-language-en,
html[dir="ltr"] body.rwse-language-en :where(h1, h2, h3, h4, h5, h6, p, li, label, input, textarea, select, button, a, span, small, strong, b, time, blockquote) {
	font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

html[dir="ltr"] body.rwse-core-language-en [dir="rtl"],
html[dir="ltr"] body.rwse-language-en [dir="rtl"] {
	direction: rtl !important;
}

/* Real blog posts stay in their source language until their own translations exist. */
html[dir="ltr"] body.rwse-core-blog :where(.rb-feature, .rb-new-card, .rb-topic, .rb-reading li, #bloglist .elementor-post, option[value]:not([value=""])) {
	direction: rtl !important;
	text-align: right !important;
	font-family: RasaSans, Tahoma, "Segoe UI", sans-serif !important;
}

/* The split home hero and editorial blog headings are intentionally mirrored. */
html[dir="ltr"] body.rwse-core-home .hero-copy,
html[dir="ltr"] body.rwse-core-home .hero-copy :where(h1, h2, h3, p),
html[dir="ltr"] body.rwse-core-blog .rb-hero-grid > div > :where(h1, h2, h3, p),
html[dir="ltr"] body.rwse-core-blog .rb-section-head :where(h2, h3, p),
html[dir="ltr"] body.rwse-core-blog .rhd-post-card :where(h2, h3, p),
html[dir="ltr"] body.rwse-core-blog .rb-filter :where(h2, h3, p, label),
html[dir="ltr"] body.rwse-core-tariffs .rasa-dd-panel-head :where(h2, h3, p) {
	text-align: left !important;
}

/* Keep translated pricing pages on the same grouped tariff architecture as
 * the Persian source while the locale-safe category enhancer is booting. */
html[dir="ltr"] body.rwse-core-tariffs .rasa-tariffs:not([data-category-ready="1"]) .tariff-tabs,
html[dir="rtl"] body.rwse-core-language-ar .rasa-tariffs:not([data-category-ready="1"]) .tariff-tabs {
	opacity: 0 !important;
	visibility: hidden !important;
}

html[dir="ltr"] body.rwse-core-tariffs .rasa-tariff-category-nav,
html[dir="rtl"] body.rwse-core-language-ar .rasa-tariff-category-nav {
	direction: inherit;
}

html[dir="ltr"] body.rwse-core-language-en :where(input, textarea, select) {
	text-align: left;
}

html[dir="ltr"] body.rwse-core-language-en .elementor-location-header .nav > a,
html[dir="ltr"] body.rwse-core-language-en .elementor-location-header .nav > .has-dropdown > .dd-toggle,
html[dir="ltr"] body.rwse-language-en .elementor-location-header .nav > a,
html[dir="ltr"] body.rwse-language-en .elementor-location-header .nav > .has-dropdown > .dd-toggle,
html[dir="ltr"] body.rwse-core-language-en #rwh .nav > a,
html[dir="ltr"] body.rwse-core-language-en #rwh .nav > .has-dropdown > .dd-toggle,
html[dir="ltr"] body.rwse-language-en #rwh .nav > a,
html[dir="ltr"] body.rwse-language-en #rwh .nav > .has-dropdown > .dd-toggle {
	white-space: nowrap !important;
}

/*
 * English navigation labels are intrinsically wider than their Persian
 * counterparts. Preserve the desktop header instead of letting flexbox wrap
 * labels, collide with the brand, or compress the command cluster.
 */
@media (min-width: 769px) and (max-width: 1439px) {
	html[dir="ltr"] body.rwse-core-language-en #rwh .site-header > .container,
	html[dir="ltr"] body.rwse-language-en #rwh .site-header > .container {
		gap: 10px !important;
	}

	html[dir="ltr"] body.rwse-core-language-en #rwh .nav,
	html[dir="ltr"] body.rwse-language-en #rwh .nav {
		gap: 9px !important;
		min-width: 0;
	}

	html[dir="ltr"] body.rwse-core-language-en #rwh .nav > a,
	html[dir="ltr"] body.rwse-core-language-en #rwh .nav > .has-dropdown > .dd-toggle,
	html[dir="ltr"] body.rwse-language-en #rwh .nav > a,
	html[dir="ltr"] body.rwse-language-en #rwh .nav > .has-dropdown > .dd-toggle {
		font-size: 12.5px !important;
		padding-inline: 4px !important;
	}

	html[dir="ltr"] body.rwse-core-language-en #rwh .header-quick-actions,
	html[dir="ltr"] body.rwse-language-en #rwh .header-quick-actions {
		gap: 7px !important;
	}

	html[dir="ltr"] body.rwse-core-language-en #rwh .rasa-header-phone-copy small,
	html[dir="ltr"] body.rwse-language-en #rwh .rasa-header-phone-copy small,
	html[dir="ltr"] body.rwse-core-language-en #rwh .rasa-header-search span,
	html[dir="ltr"] body.rwse-language-en #rwh .rasa-header-search span {
		display: none !important;
	}

	html[dir="ltr"] body.rwse-core-language-en #rwh .rasa-header-search,
	html[dir="ltr"] body.rwse-language-en #rwh .rasa-header-search {
		width: 44px !important;
		min-width: 44px !important;
		padding-inline: 0 !important;
	}
}

/*
 * The source header and mega menus were authored for RTL. On English pages
 * anchoring a dropdown to the parent's right edge sends the wide Services
 * panel outside the viewport. Keep the DOM and interaction contract intact,
 * but anchor and align the shared navigation in its real reading direction.
 */
html[dir="ltr"] body.rwse-core-language-en #rwh .nav > .has-dropdown > .dropdown,
html[dir="ltr"] body.rwse-language-en #rwh .nav > .has-dropdown > .dropdown {
	left: 0 !important;
	right: auto !important;
	inset-inline-start: 0 !important;
	inset-inline-end: auto !important;
	transform-origin: top left !important;
}

/* The blue CTA is the canonical Contact action; never render its plain twin. */
@media (min-width: 769px) {
	html[dir="ltr"] body.rwse-core-language-en #rwh .nav > a[href*="/contact-us/"]:not(.nav-cta),
	html[dir="ltr"] body.rwse-language-en #rwh .nav > a[href*="/contact-us/"]:not(.nav-cta) {
		display: none !important;
	}
}

html[dir="ltr"] body.rwse-core-language-en #rwh .rasa-dd-shell,
html[dir="ltr"] body.rwse-language-en #rwh .rasa-dd-shell {
	direction: ltr !important;
}

html[dir="ltr"] body.rwse-core-language-en #rwh :is(.rasa-dd-tab, .rasa-dd-panel-head, .rasa-dd-service-card, .rasa-dd-platform-links a),
html[dir="ltr"] body.rwse-language-en #rwh :is(.rasa-dd-tab, .rasa-dd-panel-head, .rasa-dd-service-card, .rasa-dd-platform-links a) {
	text-align: left !important;
}

html[dir="ltr"] body.rwse-core-language-en #rwh .rasa-dd-tab:hover,
html[dir="ltr"] body.rwse-language-en #rwh .rasa-dd-tab:hover {
	transform: translateX(2px);
}

html[dir="ltr"] body.rwse-core-language-en #rwh :is(.rasa-dd-tab-arrow, .rasa-dd-card-arrow),
html[dir="ltr"] body.rwse-language-en #rwh :is(.rasa-dd-tab-arrow, .rasa-dd-card-arrow) {
	transform: scaleX(-1);
}

/* Keep the wide tabbed panel inside constrained desktop/tablet viewports. */
@media (min-width: 769px) and (max-width: 1024px) {
	html[dir="ltr"] body.rwse-core-language-en #rwh .nav > .has-dropdown > .dropdown,
	html[dir="ltr"] body.rwse-language-en #rwh .nav > .has-dropdown > .dropdown {
		position: fixed !important;
		top: 84px !important;
		left: 24px !important;
		right: 24px !important;
		width: auto !important;
		max-width: none !important;
	}

	body.admin-bar.rwse-core-language-en #rwh .nav > .has-dropdown > .dropdown,
	body.admin-bar.rwse-language-en #rwh .nav > .has-dropdown > .dropdown {
		top: 116px !important;
	}
}

@media (max-width: 782px) {
	html[dir="ltr"] body.rwse-core-language-en .rasa-mobile-menu,
	html[dir="ltr"] body.rwse-language-en .rasa-mobile-menu {
		direction: ltr !important;
		text-align: left !important;
	}

	html[dir="ltr"] body.rwse-core-language-en .rasa-mobile-menu :is(.rasa-mobile-menu-heading, .rasa-mobile-menu-kicker, .rasa-mobile-menu-section-label, .rasa-mobile-menu-title, .rasa-mobile-menu-main-label, .rasa-mobile-submenu-section-title),
	html[dir="ltr"] body.rwse-language-en .rasa-mobile-menu :is(.rasa-mobile-menu-heading, .rasa-mobile-menu-kicker, .rasa-mobile-menu-section-label, .rasa-mobile-menu-title, .rasa-mobile-menu-main-label, .rasa-mobile-submenu-section-title) {
		text-align: left !important;
	}

	html[dir="ltr"] body.rwse-core-language-en .rasa-mobile-menu :is(.rasa-mobile-menu-link, .rasa-mobile-menu-forward)::after,
	html[dir="ltr"] body.rwse-language-en .rasa-mobile-menu :is(.rasa-mobile-menu-link, .rasa-mobile-menu-forward)::after,
	html[dir="ltr"] body.rwse-core-language-en .rasa-mobile-menu .rasa-mobile-menu-back svg,
	html[dir="ltr"] body.rwse-language-en .rasa-mobile-menu .rasa-mobile-menu-back svg {
		transform: scaleX(-1);
	}

	html[dir="ltr"] body.rwse-core-language-en .rasa-mobile-menu .rasa-mobile-menu-view.is-behind,
	html[dir="ltr"] body.rwse-language-en .rasa-mobile-menu .rasa-mobile-menu-view.is-behind {
		transform: translateX(-34px);
	}
}
