/*
 * IPC Landing — RTL corrections.
 *
 * Loaded after assets/css/theme.css when the active language is right to left.
 * Canvas already ships its own RTL stylesheet; this file only enforces the
 * Arabic typeface everywhere (Rule 16) and fixes the few places where a
 * physical direction is unavoidable.
 */

/* --------------------------------------------------------------------------
 * 1. Cairo on every element (Rule 16)
 * ----------------------------------------------------------------------- */

html[dir="rtl"] body,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6,
html[dir="rtl"] p,
html[dir="rtl"] a,
html[dir="rtl"] li,
html[dir="rtl"] span,
html[dir="rtl"] small,
html[dir="rtl"] strong,
html[dir="rtl"] label,
html[dir="rtl"] th,
html[dir="rtl"] td,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] button,
html[dir="rtl"] .btn,
html[dir="rtl"] .button,
html[dir="rtl"] .badge,
html[dir="rtl"] .card,
html[dir="rtl"] .entry,
html[dir="rtl"] .menu-link,
html[dir="rtl"] .heading-block,
html[dir="rtl"] .ipc-heading,
html[dir="rtl"] .ipc-hero-title,
html[dir="rtl"] .ipc-hero-subtitle,
html[dir="rtl"] .ipc-hero-badge,
html[dir="rtl"] .ipc-page-title,
html[dir="rtl"] .ipc-footer,
html[dir="rtl"] .ipc-copyrights,
html[dir="rtl"] .form-control,
html[dir="rtl"] .form-select,
html[dir="rtl"] .breadcrumb,
html[dir="rtl"] .widget,
html[dir="rtl"] .widget-title {
	font-family: var(--ipc-font-arabic) !important;
}

/* Font Awesome keeps its own family even inside the elements listed above. */
html[dir="rtl"] i.fa-solid,
html[dir="rtl"] i.fa-regular,
html[dir="rtl"] .button i.fa-solid,
html[dir="rtl"] .button i.fa-regular,
html[dir="rtl"] button i.fa-solid,
html[dir="rtl"] button i.fa-regular {
	font-family: "Font Awesome 6 Free" !important;
}

html[dir="rtl"] i.fa-brands,
html[dir="rtl"] .button i.fa-brands,
html[dir="rtl"] button i.fa-brands {
	font-family: "Font Awesome 6 Brands" !important;
}

/* Arabic menu labels must not be tracked out or uppercased. */
html[dir="rtl"] .menu-link,
html[dir="rtl"] .ipc-header-cta,
html[dir="rtl"] .ipc-button,
html[dir="rtl"] .ipc-hero-badge,
html[dir="rtl"] .ipc-partner-relation,
html[dir="rtl"] .ipc-heading h2,
html[dir="rtl"] .ipc-heading > span {
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html[dir="rtl"] body {
	line-height: 1.9;
}

/* --------------------------------------------------------------------------
 * 2. Direction specific corrections
 * ----------------------------------------------------------------------- */

/* Latin values stay left to right wherever they appear (Rule 17). */
html[dir="rtl"] .ipc-ltr-value,
html[dir="rtl"] .ipc-ltr-input,
html[dir="rtl"] .ipc-stat-value,
html[dir="rtl"] .ipc-404-code {
	direction: ltr;
	unicode-bidi: isolate;
}

html[dir="rtl"] .ipc-ltr-input {
	text-align: right;
}

html[dir="rtl"] .ipc-contact-list li,
html[dir="rtl"] .ipc-trust-item,
html[dir="rtl"] .ipc-quote-author,
html[dir="rtl"] .ipc-course {
	text-align: right;
}

html[dir="rtl"] .ipc-table th,
html[dir="rtl"] .ipc-table td,
html[dir="rtl"] .ipc-faq-question {
	text-align: right;
}

/* The hero arrow is centred, so the horizontal shift stays the same in RTL. */
html[dir="rtl"] .ipc-hero-scroll {
	left: 50%;
	right: auto;
	transform: translateX(-50%);
}

@keyframes ipc-bob-rtl {
	0%, 100% { transform: translate(-50%, 0); }
	50% { transform: translate(-50%, 7px); }
}

html[dir="rtl"] .ipc-hero-scroll {
	animation-name: ipc-bob-rtl;
}

/* Canvas resets the list marker only in LTR. */
html[dir="rtl"] .ipc-footer-menu,
html[dir="rtl"] .ipc-contact-list,
html[dir="rtl"] .ipc-trust-list,
html[dir="rtl"] .ipc-partner-strip {
	padding-right: 0;
	list-style: none;
}

html[dir="rtl"] .ipc-search-form .form-control {
	text-align: right;
}

/* Privacy policy: Cairo throughout, contents on the reading start side. */
html[dir="rtl"] .ipc-privacy-title,
html[dir="rtl"] .ipc-privacy-subtitle,
html[dir="rtl"] .ipc-privacy-heading,
html[dir="rtl"] .ipc-toc,
html[dir="rtl"] .ipc-toc-list a,
html[dir="rtl"] .ipc-privacy-contact,
html[dir="rtl"] .ipc-privacy-print {
	font-family: var(--ipc-font-arabic) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html[dir="rtl"] .ipc-toc-list,
html[dir="rtl"] .ipc-privacy-contact-list {
	padding-right: 0;
	list-style: none;
}

html[dir="rtl"] .ipc-privacy-section .ipc-entry ul,
html[dir="rtl"] .ipc-privacy-section .ipc-entry ol {
	padding-left: 0;
}

html[dir="rtl"] .ipc-privacy-content,
html[dir="rtl"] .ipc-privacy-contact {
	text-align: right;
}

/* Consent banner: Cairo throughout and right aligned text. */
html[dir="rtl"] .ipc-consent,
html[dir="rtl"] .ipc-consent-title,
html[dir="rtl"] .ipc-consent-text,
html[dir="rtl"] .ipc-consent-button,
html[dir="rtl"] .ipc-consent-option,
html[dir="rtl"] .ipc-consent-option-name,
html[dir="rtl"] .ipc-consent-manage {
	font-family: var(--ipc-font-arabic) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html[dir="rtl"] .ipc-consent-body,
html[dir="rtl"] .ipc-consent-option {
	text-align: right;
}

html[dir="rtl"] .ipc-consent-options {
	padding-right: 0;
	list-style: none;
}

/* --------------------------------------------------------------------------
 * 3. Admin side, so the meta boxes read correctly in an Arabic dashboard
 * ----------------------------------------------------------------------- */

body.rtl .ipc-meta .ipc-meta-section-title,
body.rtl .ipc-dashboard .ipc-card-label,
body.rtl .ipc-dashboard h2 {
	font-family: var(--ipc-font-arabic, 'Cairo'), sans-serif;
}
