/* ==========================================================================
   نظام النصوص الموحد والمرن — يُحمَّل في كل صفحة بعد tokens.css وقبل أي تنسيق آخر.
   الأساس الآمن: محاذاة البداية (اليمين للعربية). الضبط من الطرفين لا يُفرض إلا على
   المحتوى التحريري الطويل عندما تتسع حاويته. (انظر README-typography.md)
   ========================================================================== */
:root{
  --lh-body:1.9;           /* تباعد أسطر المتن */
  --lh-heading:1.5;        /* العناوين */
  --lh-ui:1.6;             /* التسميات والعناصر القصيرة */
  --flow-space:1.1em;      /* المسافة بين فقرات المتن */
  --prose-width:46rem;     /* عرض القراءة المريح */
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* ١) القواعد المركزية: اتجاه وخط ومسافات. لا Justify هنا. */
body{
  font-family:var(--font-main,'Almarai',Tahoma,sans-serif);
  font-weight:400;
  line-height:var(--lh-body);
  direction:inherit;           /* من dir على <html>: rtl للعربية، ltr للإنجليزية */
  text-align:start;
  text-align-last:auto;
  word-spacing:normal;
  letter-spacing:normal;
  word-break:normal;
  overflow-wrap:break-word;
  font-kerning:normal;
  hyphens:manual;
}
:where(p,li,dd,blockquote,figcaption){text-wrap:pretty}

/* ٢) الأنماط الدلالية */
/* نص بطاقة / عناصر واجهة قصيرة: محاذاة طبيعية بمسافات طبيعية (تُختار تلقائياً لمكونات الموقع) */
.t-card,.card,.svc-card,.c-card,.acc,.cta-box,.cform,.notice,.status-box,.search,.cp-col{
  text-align:start;text-align-last:auto;word-spacing:normal;letter-spacing:normal;
}
/* عنوان وتسمية */
.t-heading,.t-label,:where(h1,h2,h3,h4,h5,h6,label,figcaption,legend){word-spacing:normal;letter-spacing:normal}
/* نص مصمَّم ليكون في المنتصف */
.t-center,.page-title,.section-head,.founder,.error-page,.more-link,.center{text-align:center;text-align-last:center}
/* خيار تحريري على أي عنصر أو مكوّن محتوى: data-align = auto (الافتراضي) | start | justify | center */
[data-align="start"]{text-align:start;text-align-last:auto}
[data-align="justify"]{text-align:justify;text-align-last:start}
[data-align="center"]{text-align:center;text-align-last:center}

/* الأزرار وحقول الإدخال والجداول خارج أي ضبط */
button,input,select,textarea,optgroup{font:inherit;letter-spacing:normal;word-spacing:normal;text-align:start;text-align-last:auto}
button,[role="button"],.btn{text-align:center;text-align-last:center}
:where(td,th){text-align:start;text-align-last:auto}

/* النصوص اللاتينية والأرقام والروابط داخل فقرة عربية: تُعزل باتجاهها الصحيح */
bdi,.ltr{unicode-bidi:isolate}
.ltr{direction:ltr}
bdi,.ltr,a[href^="mailto:"],a[href^="tel:"],a[href^="http"]{overflow-wrap:anywhere}
:where(div,section,article,main,p,li,blockquote)[dir="ltr"]{direction:ltr;text-align:start;text-align-last:auto}

/* ٣) النص التحريري الطويل (.t-editorial / .prose): ضبط من الطرفين دائماً على كل العروض (جوال وغيره)، وآخر سطر إلى اليمين.
      لا استثناء بحسب العرض ولا سكربت. القرار الاستثنائي يكون في المكوّن الضيق نفسه فقط (data-align="start"). */
.t-editorial,.prose{min-width:0}
:is(.t-editorial,.prose):not([data-align]) :where(p,li,blockquote),
:is(.t-editorial,.prose)[data-align="auto"] :where(p,li,blockquote){text-align:justify;text-align-last:start;word-spacing:normal;letter-spacing:normal}
/* مقدمات وخاتمات ضمن النص التحريري تُعامل كعناوين لا كمتن */
:is(.t-editorial,.prose) p:is(.lead,.closing){text-align:start;text-align-last:auto}

/* ٤) مكوّن المحتوى الحر (.prose): خط ومسافات وعناصر */
.prose{max-width:var(--prose-width)}
.prose>*+*{margin-top:var(--flow-space)}
.prose :where(h2,h3,h4){font-weight:700;line-height:var(--lh-heading);color:var(--ink-strong,inherit);text-align:start;text-align-last:auto}
.prose h2{font-size:1.5rem}
.prose h3{font-size:1.25rem}
.prose h4{font-size:1.1rem}
.prose>:where(h2,h3,h4){margin-top:1.8em}
.prose>:where(h2,h3,h4)+*{margin-top:.5em}
.prose :where(ul,ol){padding-inline-start:1.5em}
.prose li+li{margin-top:.35em}
.prose li::marker{color:var(--accent-champagne)}
.prose a{color:var(--ink-strong,inherit);text-decoration:underline;text-decoration-color:var(--accent-champagne);text-underline-offset:.2em}
.prose :where(strong,b){font-weight:700}
.prose :where(em,i){font-style:normal;font-weight:700}
.prose blockquote{border-inline-start:2px solid var(--accent-champagne);padding-inline-start:1em;color:var(--text-secondary)}
.prose img{max-width:100%;height:auto}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.prose :where(td,th){padding:.4em .8em;border:1px solid var(--border-subtle)}
@media(max-width:600px){.prose h2{font-size:1.3rem}.prose h3{font-size:1.15rem}}
