/* Arabic (right-to-left) pages: loaded only on /ar/ pages, after the page's
   own stylesheets (scripts/build-i18n.mjs adds it). <html dir="rtl"> already
   mirrors flex and grid layouts (header, sticky mobile bar, step tabs, forms);
   the rules below flip the few physical left/right properties, keep numbers,
   prices, phones and emails left-to-right, and set Arabic fonts. */

html[lang="ar"] {
  --font-sans: "Noto Naskh Arabic", "Source Sans 3", system-ui, "Segoe UI", Tahoma, sans-serif;
  --font-serif: "Noto Kufi Arabic", "Noto Naskh Arabic", Georgia, serif;
}
html[lang="ar"] body { line-height: 1.8; }
/* Letter-spacing breaks Arabic letter joining; the Latin logo keeps its own. */
html[lang="ar"] body *:not(.logo):not(.logo *) { letter-spacing: 0 !important; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3 { line-height: 1.4; }
/* Hero headlines: Kufi runs large and tall, so the display sizes are calmer in Arabic (checked at 1440 and 390). */
html[lang="ar"] .vhero h1, html[lang="ar"] .hero h1 { font-size: clamp(34px, 4.4vw, 60px); line-height: 1.32; max-width: 20ch; }
/* Arabic has no true italics: emphasis uses colour/weight only. */
html[lang="ar"] em { font-style: normal; }

/* Numbers, prices, phones and emails stay left-to-right. */
[dir="rtl"] bdi, [dir="rtl"] .price-tag, [dir="rtl"] .choice-body strong,
[dir="rtl"] .order-total b, [dir="rtl"] .mbar b { unicode-bidi: isolate; }
[dir="rtl"] a[href^="tel:"], [dir="rtl"] a[href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"], [dir="rtl"] input[type="number"],
[dir="rtl"] input[type="month"], [dir="rtl"] input[type="url"] { direction: ltr; text-align: right; }

/* Off-screen helpers must sit off the right edge, or RTL pages scroll sideways. */
[dir="rtl"] .skip { left: auto; right: -999px; }
[dir="rtl"] .skip:focus { right: var(--s4); }
[dir="rtl"] .hp-field { left: auto; right: -9999px; }

/* ui.css */
[dir="rtl"] .review-grid { text-align: right; }
[dir="rtl"] .reviews-commitments { text-align: right; }
[dir="rtl"] .reviews-commitments li { padding-left: 0; padding-right: 28px; }
[dir="rtl"] .reviews-commitments li::before { left: auto; right: 0; }
[dir="rtl"] .lang-banner { padding: 8px 18px 8px 8px; }

/* home.css */







[dir="rtl"] .step { padding-right: 0; padding-left: 28px; }
[dir="rtl"] .step::before { left: 0; right: 56px; background: linear-gradient(270deg, rgba(201, 169, 110, .7), rgba(255, 255, 255, .08)); }



/* division.css */




[dir="rtl"] .expect-part ul{ padding-left: 0; padding-right: 18px; }
[dir="rtl"] .legal-page ul, [dir="rtl"] .legal-page .legal-toc ol { padding-left: 0; padding-right: 22px; }
[dir="rtl"] .legal-page .legal-toc { border-left: 0; border-right: 3px solid var(--gold); padding: 4px 20px 4px 0; }


[dir="rtl"] .soon-badge { margin-left: 0; margin-right: 8px; }

/* consultation.css */
[dir="rtl"] #goal-count { text-align: left; }

/* studio.css (Digital Studio) */



[dir="rtl"] .concept .tag { right: auto; left: 12px; }


[dir="rtl"] .pkg .badge { left: auto; right: 28px; }

[dir="rtl"] .steps li::after { left: -14px; right: 58px; background: linear-gradient(270deg, var(--st-gold), transparent); }


/* studio-order.css (order forms) */
[dir="rtl"] .order-note { border-left: 1px solid var(--st-line); border-right: 3px solid var(--st-gold); }
[dir="rtl"] .order-summary .sum-totals div { border-right: 0; border-left: 1px solid var(--st-line); }
[dir="rtl"] .order-summary .sum-totals div:last-child { border-left: 0; }
[dir="rtl"] .order-nav .order-total { margin-left: 0; margin-right: auto; }
@media (max-width: 760px) {
  [dir="rtl"] .order-summary .sum-totals div { border-left: 0; }
  [dir="rtl"] .order-nav .order-total { margin-right: 0; }
}

/* sample.css (samples index) */
[dir="rtl"] .note { border-left: 0; border-right: 4px solid var(--blue); border-radius: 8px 0 0 8px; }
[dir="rtl"] .note-gold { border-right-color: var(--gold); }
[dir="rtl"] .note-warn { border-right-color: var(--warn); }


[dir="rtl"] .doc-sec ul:not([class]), [dir="rtl"] .doc-sec ol:not([class]) { padding-left: 0; padding-right: 22px; }
