/* =========================================================
   SAHABA WEB PORTAL — نظام تصميم البوابة العامة
   الهوية منقولة كما هي من index.html المعتمد (بروفايل 2026).
   قاعدة RTL: خصائص منطقية حصراً — لا left/right في التخطيط.
   ========================================================= */

/* اللوحة مشتقّة من شعار الشركة: أزرق السحابة + رمادي الهلال و«COMPANY».
   قاعدة مهمّة: --sky هو أزرق الشعار الصريح، ونسبة تباينه على الأبيض
   2.93:1 — فهو لون رسوم وحدود وأيقونات، لا يُستعمل نصاً على أبيض.
   نصوص الروابط والأزرار تمرّ عبر --blue (4.61:1)، وكل الأزواج مفحوصة. */
:root{
  --navy:#12435F; --navy-2:#1B5B7D; --blue:#1A7CB0; --sky:#29A0DC; --sky-soft:#9CD0EC;
  --mist:#EAF6FD; --paper:#F6FBFE; --white:#FFFFFF;
  --ink:#3F4245; --body:#565A5E; --muted:#73777A; --line:#D8E6EE; --line-2:#EBF3F8;
  --grey:#6D6E71; --grey-soft:#A9ADB0;
  --amber:#D98A2B; --error:#C0392B;
  --accent:#FFC629;   /* أصفر الغلاف — لمسة تمييز */
  --display:'Almarai', system-ui, sans-serif;
  --text:'IBM Plex Sans Arabic', system-ui, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
  --r:14px; --r-s:9px;
  --shadow:0 1px 2px rgba(18,67,95,.06), 0 8px 24px -12px rgba(18,67,95,.20);
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--body);font-family:var(--text);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.35;margin:0;font-weight:800;letter-spacing:-.2px}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button,input,select,textarea{font-family:inherit;font-size:inherit}
:focus-visible{outline:2.5px solid var(--sky);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em}
.skip{position:absolute;inset-inline-start:-9999px}
.skip:focus{inset-inline-start:12px;top:12px;background:#fff;padding:10px 16px;border-radius:var(--r-s);z-index:200}

/* ---------- الترويسة ---------- */
.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2)}
.top .wrap{display:flex;align-items:center;gap:26px;height:72px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand .mark{width:44px;height:auto;flex-shrink:0;object-fit:contain}
.brand b{font-family:var(--display);font-weight:800;color:var(--navy);font-size:1.02rem;display:block;line-height:1.2;letter-spacing:.4px}
.brand span span{display:block;font-size:.63rem;color:var(--muted);letter-spacing:.06em;line-height:1.2}
.nav{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
.nav a{padding:7px 12px;border-radius:var(--r-s);font-size:.9rem;font-weight:500;color:var(--body);transition:.18s}
.nav a:hover{background:var(--mist);color:var(--blue)}
.nav a.on{color:var(--blue);background:var(--mist);font-weight:600}
.top-cta{display:flex;gap:8px;flex-shrink:0}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:var(--r-s);padding:8px 11px;cursor:pointer;color:var(--navy)}

/* ---------- الأزرار ----------
   ثلاث قواعد تحكم هذا النظام:
   1) الزر الثانوي (.btn-g) هو الأكثر استعمالاً في الموقع، وكان حدّه بلون
      --line الفاتح جداً فلا يكاد يُقرأ كزر. صار حدّه أوضح ونصّه أغمق.
   2) لكل زر ردّ فعل عند الضغط (يهبط قليلاً) — بلا ذلك يبدو الزر ميتاً.
   3) ارتفاع موحّد (--btn-h) يجعل الأزرار تحاذي حقول النماذج بجانبها. */
.btn{
  --btn-h:42px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--btn-h);padding:0 18px;
  border:1px solid transparent;border-radius:var(--r-s);
  font-family:var(--text);font-size:.9rem;font-weight:600;line-height:1.2;
  cursor:pointer;position:relative;white-space:nowrap;
  transition:background .18s ease, border-color .18s ease, color .18s ease,
             box-shadow .18s ease, transform .12s ease;
}
.btn:active{transform:translateY(1px)}

/* أساسي */
.btn-p{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(18,67,95,.22)}
.btn-p:hover{background:var(--navy);box-shadow:0 4px 12px -4px rgba(18,67,95,.45)}
.btn-p:active{box-shadow:0 1px 2px rgba(18,67,95,.28)}

/* ثانوي — الأكثر استعمالاً */
.btn-g{background:#fff;color:var(--blue);border-color:var(--sky-soft)}
.btn-g:hover{border-color:var(--sky);background:var(--mist);color:var(--navy)}
.btn-g:active{background:#DCEFFA}

/* على الخلفيات الداكنة */
.btn-w{background:#fff;color:var(--navy);box-shadow:0 2px 10px -4px rgba(0,0,0,.4)}
.btn-w:hover{background:var(--mist);color:var(--blue)}

/* زر نصّي بلا إطار */
.btn-t{background:transparent;color:var(--blue);padding:0 10px}
.btn-t:hover{background:var(--mist)}

/* المقاسات */
.btn-sm{--btn-h:34px;padding:0 13px;font-size:.83rem}
.btn-lg{--btn-h:52px;padding:0 26px;font-size:.97rem}

/* حلقة تركيز تناسب كل خلفية: حلقة بيضاء داخلية ثم لون الهوية */
.btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff, 0 0 0 4.5px var(--sky)}
.hero .btn:focus-visible,
.band .btn:focus-visible{box-shadow:0 0 0 2px var(--navy), 0 0 0 4.5px #fff}

/* معطّل */
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}

/* حالة الإرسال: يحتفظ الزر بعرضه ويُظهر دوّارة بدل قفزة النص */
.btn.is-loading{color:transparent !important;pointer-events:none}
.btn.is-loading::after{
  content:"";position:absolute;width:17px;height:17px;border-radius:50%;
  border:2px solid currentColor;border-block-start-color:transparent;
  color:#fff;animation:btn-spin .6s linear infinite;
}
.btn-g.is-loading::after,.btn-w.is-loading::after,.btn-t.is-loading::after{color:var(--blue)}
@keyframes btn-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){ .btn.is-loading::after{animation-duration:1.6s} }

/* أزرار متجاورة تلتف بانتظام على الشاشات الضيقة */
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- الواجهة العلوية ---------- */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset-inline-end:-12%;top:-45%;width:70%;height:190%;background:radial-gradient(circle at 50% 50%, rgba(41,160,220,.34), transparent 62%);pointer-events:none}
.hero .wrap{position:relative;padding:72px 22px 0}
.eyebrow{font-size:.72rem;letter-spacing:.16em;color:var(--sky-soft);font-weight:600;margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.35rem);letter-spacing:-1px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--sky)}
.hero .lead{color:#C4E3F5;font-size:1.06rem;max-width:56ch;margin-top:18px}

/* أداة البحث */
.finder{margin-top:34px;background:rgba(255,255,255,.06);border:1px solid rgba(156,208,236,.30);border-radius:var(--r);padding:16px}
.finder-row{display:flex;gap:10px}
.finder input{flex:1;background:#fff;border:0;border-radius:var(--r-s);padding:15px 18px;color:var(--ink);font-size:1rem}
.finder input::placeholder{color:#8B979E}
.finder-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:13px;font-size:.82rem;color:#C4E3F5}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{background:rgba(255,255,255,.09);border:1px solid rgba(156,208,236,.32);color:#DCEFFA;border-radius:99px;padding:5px 13px;font-size:.79rem;cursor:pointer;transition:.16s}
.chip:hover{background:var(--sky);border-color:var(--sky);color:#0C3346}
.count{font-family:var(--mono);color:var(--sky);font-weight:500}
.hint-list{margin-top:12px;background:#fff;border-radius:var(--r-s);overflow:hidden;box-shadow:var(--shadow)}
.hint-list a{display:flex;justify-content:space-between;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line-2);color:var(--ink);font-size:.9rem}
.hint-list a:last-child{border-bottom:0}
.hint-list a:hover{background:var(--mist)}
.hint-list small{color:var(--muted);font-family:var(--mono);font-size:.72rem}

/* شريط الأرقام */
.stats{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(156,208,236,.24);margin-top:56px}
.stat{padding:22px 8px 30px;border-inline-start:1px solid rgba(156,208,236,.18)}
.stat:first-child{border:0}
.stat b{display:block;font-family:var(--display);font-size:1.5rem;color:#fff;font-weight:800}
.stat span{font-size:.76rem;color:#AFD7EE;line-height:1.5;display:block}

/* ---------- الأقسام ---------- */
section{padding:74px 0}
.sec-alt{background:var(--paper);border-block:1px solid var(--line-2)}
.sec-head{max-width:62ch;margin-bottom:38px}
.sec-head .kicker{color:var(--sky);font-weight:700;font-size:.78rem;letter-spacing:.14em;margin-bottom:12px}
.sec-head h2{font-size:clamp(1.5rem,3vw,2.05rem)}
.sec-head p{margin-top:12px;color:var(--body)}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

/* البطاقات */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:.2s}
.card:hover{border-color:var(--sky-soft);box-shadow:var(--shadow);transform:translateY(-2px)}
.card h3{font-size:1.04rem;margin-bottom:8px}
.card p{font-size:.9rem;color:var(--body);margin:0}
.track{border-top:3px solid var(--sky)}
.track .no{font-family:var(--mono);color:var(--sky);font-size:.75rem;margin-bottom:10px}
.track ul{margin:12px 0 0;padding-inline-start:18px;font-size:.88rem;color:var(--body)}
.track li{margin-bottom:5px}

/* بطاقة الدورة */
.c-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s}
.c-card:hover{border-color:var(--sky);box-shadow:var(--shadow);transform:translateY(-2px)}
.c-top{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
.tag{font-size:.72rem;font-weight:600;color:var(--blue);background:var(--mist);border-radius:99px;padding:4px 11px}
.tag-open{color:#166534;background:#DCFCE7}
.c-card h3{font-size:1rem;padding:10px 20px 0;line-height:1.5}
.c-card .desc{padding:8px 20px 16px;font-size:.86rem;color:var(--muted);margin:0;flex:1}
.c-foot{border-top:1px solid var(--line-2);padding:12px 20px;display:flex;gap:16px;flex-wrap:wrap;font-size:.79rem;color:var(--body);background:var(--paper)}
.c-foot span{display:flex;align-items:center;gap:6px}
.dot{width:5px;height:5px;border-radius:50%;background:var(--sky);flex-shrink:0}

/* ---------- الكتالوج ---------- */
.cat-layout{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:start}
.filters{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.f-group{margin-bottom:20px}
.f-group:last-child{margin-bottom:0}
.f-group h4{font-size:.8rem;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:10px;font-family:var(--text)}
.f-opt{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:.88rem;cursor:pointer;color:var(--body)}
.f-opt input{accent-color:var(--blue);width:15px;height:15px}
.f-opt:hover{color:var(--blue)}
.searchbar{display:flex;gap:10px;margin-bottom:18px}
.searchbar input,.searchbar select{border:1px solid var(--line);border-radius:var(--r-s);padding:11px 14px;background:#fff;color:var(--ink)}
.searchbar input{flex:1}
.res-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;font-size:.86rem;color:var(--muted)}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:46px 24px;text-align:center;color:var(--muted)}
.pager{display:flex;gap:8px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.pager a,.pager span{border:1px solid var(--line);border-radius:var(--r-s);padding:8px 14px;font-size:.86rem;color:var(--body);background:#fff}
.pager .on{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}

/* ---------- صفحة الدورة ---------- */
.detail{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start}
.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.crumbs a:hover{color:var(--blue)}
.meta-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}
.pill{border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:.8rem;color:var(--body);background:#fff}
.block{margin-bottom:32px}
.block h3{font-size:1.1rem;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.axes{list-style:none;margin:0;padding:0}
.axes li{display:flex;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line-2);font-size:.94rem}
.axes li:last-child{border:0}
.axes .n{font-family:var(--mono);color:var(--sky);font-size:.78rem;padding-top:4px}
.out{list-style:none;margin:0;padding:0}
.out li{position:relative;padding-inline-start:24px;margin-bottom:9px;font-size:.94rem}
.out li::before{content:"";position:absolute;inset-inline-start:0;top:11px;width:9px;height:9px;border-radius:2px;background:var(--sky)}
.side{position:sticky;top:92px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:#fff}
.side-head{background:var(--navy);color:#fff;padding:20px}
.side-head b{font-family:var(--display);font-size:1.05rem;display:block}
.side-head span{color:#AFD7EE;font-size:.8rem}
.side dl{margin:0;padding:6px 20px}
.side .row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2);font-size:.88rem}
.side .row:last-child{border:0}
.side .row dt{color:var(--muted)}
.side .row dd{margin:0;color:var(--ink);font-weight:600;text-align:end}
.side-foot{padding:18px 20px;background:var(--paper);border-top:1px solid var(--line-2)}
.side-foot .btn{width:100%}
.side-note{font-size:.76rem;color:var(--muted);margin-top:10px;text-align:center}
.faq-item{border-bottom:1px solid var(--line-2);padding:14px 0}
.faq-item:last-child{border:0}
.faq-item b{display:block;color:var(--ink);font-family:var(--text);font-weight:600;margin-bottom:6px}
.faq-item p{font-size:.9rem;margin:0}

/* ---------- الخدمات والقوائم ---------- */
.srv{display:flex;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:.2s}
.srv:hover{border-color:var(--sky-soft);box-shadow:var(--shadow)}
.srv .ico{width:42px;height:42px;border-radius:11px;background:var(--mist);display:grid;place-items:center;flex-shrink:0;color:var(--blue)}
.srv h3{font-size:.98rem;margin-bottom:5px}
.srv p{font-size:.87rem;color:var(--muted);margin:0}
.pill-wall{display:flex;flex-wrap:wrap;gap:9px}
.pill-wall span{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 16px;font-size:.86rem;color:var(--body)}
.logo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.logo-wall div{border:1px solid var(--line);border-radius:var(--r-s);background:#fff;padding:16px 12px;text-align:center;font-size:.86rem;color:var(--body);font-weight:500}

/* الخط الزمني */
.tl{border-inline-start:2px solid var(--line);padding-inline-start:26px;margin-inline-start:8px}
.tl-item{position:relative;padding-bottom:26px}
.tl-item::before{content:"";position:absolute;inset-inline-start:-34px;top:8px;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--sky)}
.tl-item b{font-family:var(--mono);color:var(--blue);font-size:.85rem}
.tl-item h4{font-size:.98rem;margin:3px 0 5px}
.tl-item p{font-size:.88rem;color:var(--muted);margin:0}

/* النماذج */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.86rem;font-weight:600;color:var(--ink);margin-bottom:7px}
.field .req{color:var(--amber)}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(41,160,220,.16)}
.field small{display:block;color:var(--muted);font-size:.78rem;margin-top:6px}
.field.err input,.field.err select,.field.err textarea{border-color:var(--error);background:#FDF3F2}
.field .msg{color:var(--error);font-size:.79rem;margin-top:5px;display:none}
.field.err .msg{display:block}
.form-actions{display:flex;gap:10px;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-2)}
.note{background:var(--mist);border:1px solid #D3E7F5;border-radius:var(--r-s);padding:14px 16px;font-size:.85rem;color:var(--blue)}

/* معالج الخطوات */
.steps{display:flex;margin-bottom:30px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.step{flex:1;padding:14px 16px;font-size:.87rem;color:var(--muted);border-inline-start:1px solid var(--line);display:flex;align-items:center;gap:9px}
.step:first-child{border:0}
.step b{width:22px;height:22px;border-radius:50%;background:var(--mist);color:var(--blue);display:grid;place-items:center;font-size:.75rem;font-family:var(--mono)}
.step.on{background:var(--mist);color:var(--blue);font-weight:600}
.step.on b{background:var(--blue);color:#fff}
.step.done b{background:var(--sky);color:#fff}

/* جدول المراجعة */
.review{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;margin-bottom:18px}
.review div{display:flex;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-2);font-size:.89rem}
.review div:last-child{border:0}
.review span:first-child{color:var(--muted)}
.review span:last-child{color:var(--ink);font-weight:600;text-align:end}

/* شاشة النجاح */
.success{text-align:center;padding:44px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.success .code{font-family:var(--mono);font-size:1.55rem;color:var(--navy);background:var(--mist);border:1px dashed var(--sky);border-radius:var(--r-s);padding:14px 26px;display:inline-block;margin:16px 0;letter-spacing:.06em}
.tick{width:56px;height:56px;border-radius:50%;background:var(--mist);color:var(--blue);display:grid;place-items:center;margin:0 auto 8px;font-size:1.5rem}

/* خط حالة الطلب */
.status{list-style:none;margin:22px 0 0;padding:0}
.status li{display:flex;gap:16px;padding-bottom:20px;position:relative}
.status li::after{content:"";position:absolute;inset-inline-start:11px;top:26px;bottom:0;width:2px;background:var(--line)}
.status li:last-child::after{display:none}
.status .bul{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);background:#fff;flex-shrink:0;display:grid;place-items:center;font-size:.7rem;color:var(--muted);z-index:1}
.status li.ok .bul{background:var(--sky);border-color:var(--sky);color:#fff}
.status li.now .bul{border-color:var(--blue);color:var(--blue);font-weight:700}
.status b{display:block;font-size:.93rem;color:var(--ink);font-family:var(--text);font-weight:600}
.status span span{font-size:.82rem;color:var(--muted)}

/* تنبيهات */
.toast{position:fixed;inset-block-end:24px;inset-inline-start:24px;background:var(--navy);color:#fff;padding:13px 20px;border-radius:var(--r-s);box-shadow:var(--shadow);z-index:200;font-size:.9rem;max-width:340px}
.toast.err{background:var(--error)}

/* شريط الدعوة */
.band{background:var(--navy);color:#fff;border-radius:var(--r);padding:40px;display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.band h3{color:#fff;font-size:1.35rem}
.band p{color:#C4E3F5;margin:8px 0 0;font-size:.94rem}

/* التذييل */
footer{background:var(--navy);color:#AFD7EE;padding:56px 0 26px;font-size:.88rem}
footer h4{color:#fff;font-size:.92rem;margin-bottom:14px}
footer a:hover{color:var(--sky)}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:34px}
.f-grid ul{list-style:none;margin:0;padding:0}
.f-grid li{margin-bottom:8px}
.f-bot{border-top:1px solid rgba(156,208,236,.20);margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem}
.f-bot .mono{color:var(--sky-soft)}

/* أدوات */
.reveal{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media(max-width:960px){
  .g4{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr} .side{position:static}
  .cat-layout{grid-template-columns:1fr} .filters{position:static}
  .stats{grid-template-columns:repeat(3,1fr)} .f-grid{grid-template-columns:repeat(2,1fr)}
  .nav{display:none;position:absolute;top:72px;inset-inline:0;background:#fff;border-bottom:1px solid var(--line);padding:12px;flex-direction:column;box-shadow:var(--shadow)}
  .nav.open{display:flex} .burger{display:block;margin-inline-start:auto} .top-cta .btn:first-child{display:none}
}
@media(max-width:620px){
  .g4,.g3,.g2{grid-template-columns:1fr} .stats{grid-template-columns:repeat(2,1fr)}
  .f-grid{grid-template-columns:1fr} section{padding:52px 0} .band{padding:26px}
  .finder-row{flex-direction:column}
}

/* نافذة التسجيل في المبادرات */
.ini-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:300;
  display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.ini-overlay[hidden]{display:none}
.ini-box{position:relative;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);
  padding:30px 26px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}
.ini-box h3{margin-bottom:4px}
.ini-close{position:absolute;inset-block-start:14px;inset-inline-end:16px;border:0;background:none;
  font-size:1.05rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px}
.ini-close:hover{color:var(--ink)}

/* =========================================================
   بوابات الحسابات (المتدرّب والمدرّب)
   صفحات على خلفية بيضاء، فلها مكوّناتها الخاصة:
   شريط .stats الأصلي مصمَّم للواجهة الداكنة (نصّه أبيض)،
   واستعماله هنا كان يجعل الأرقام غير مرئية.
   ========================================================= */

/* ترويسة البوابة */
.p-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  flex-wrap:wrap;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line-2)}
.p-head h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin:0}
.p-head .who{font-size:.86rem;color:var(--muted);margin-top:6px}
.p-head .who .mono{color:var(--blue)}

/* بطاقات أرقام فاتحة */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:38px}
.tile{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r);padding:18px 20px}
.tile b{display:block;font-family:var(--display);font-size:1.7rem;color:var(--navy);font-weight:800;line-height:1.2}
.tile span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}

/* عنوان قسم داخل البوابة */
.p-sec{display:flex;align-items:baseline;gap:10px;margin:42px 0 18px}
.p-sec h3{font-size:1.15rem;margin:0}
.p-sec .n{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.p-sec:first-of-type{margin-top:0}

/* بطاقة سجلّ: عنوان + بيانات وصفية + إجراءات */
.rec{display:flex;flex-direction:column;gap:8px}
.rec h4{font-size:1rem;color:var(--ink);margin:0;line-height:1.5}
.rec .meta{font-size:.85rem;color:var(--muted);margin:0}
.rec .meta i.dot{display:inline-block;width:3px;height:3px;border-radius:50%;
  background:currentColor;vertical-align:middle;margin:0 7px;opacity:.55}
.rec .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}

/* شارات الحالة — بدلالة لونية لا لون واحد للجميع */
.pill{display:inline-block;font-size:.74rem;font-weight:600;border-radius:99px;padding:4px 11px;
  background:var(--mist);color:var(--blue);border:1px solid transparent}
.pill-ok{background:#DCFCE7;color:#166534}
.pill-wait{background:#FEF3C7;color:#92400E}
.pill-off{background:#F1F5F9;color:#64748B}
.pill-bad{background:#FEE2E2;color:#991B1B}

/* جدول بيانات — يتحوّل بطاقات على الجوّال */
.dt-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.dt{width:100%;border-collapse:collapse;font-size:.9rem}
.dt th{text-align:start;font-weight:600;color:var(--ink);background:var(--paper);
  padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.dt td{padding:12px 16px;border-bottom:1px solid var(--line-2);color:var(--body)}
.dt tr:last-child td{border-bottom:0}
.dt tbody tr:hover{background:var(--paper)}

@media(max-width:720px){
  .dt thead{position:absolute;inset-inline-start:-9999px}
  .dt tr{display:block;border-bottom:1px solid var(--line);padding:10px 4px}
  .dt tr:last-child{border-bottom:0}
  .dt td{display:flex;justify-content:space-between;gap:14px;border:0;padding:6px 14px}
  .dt td::before{content:attr(data-label);color:var(--muted);font-size:.82rem;flex-shrink:0}
}
@media(max-width:900px){ .tiles{grid-template-columns:repeat(2,1fr)} }
@media(max-width:420px){ .tiles{grid-template-columns:1fr} }

/* =========================================================
   لمسات أخيرة على الواجهة
   ========================================================= */

/* الترويسة ملتصقة بأعلى الشاشة، فالمرساة تختفي تحتها بلا هذا الهامش */
:target, [id]{scroll-margin-top:92px}

/* نصوص طويلة بلا مسافات (روابط، رموز) لا تكسر التخطيط */
.rec .mono, .dt td, .f-grid li, .note{overflow-wrap:anywhere}

/* حالة فارغة أوضح */
.empty b{display:block;color:var(--ink);font-size:1.02rem;font-family:var(--display)}
.empty .btn{margin-top:16px}

/* الروابط داخل النصوص تُميَّز بخط سفلي لا باللون وحده (لضعاف تمييز الألوان) */
.card p a:not(.btn), .detail a:not(.btn), .note a, footer a{text-decoration:underline;text-underline-offset:3px}
.nav a, .f-grid a{text-decoration:none}

/* ---------- الطباعة ----------
   صفحة التحقق من الشهادة تُطبع أو تُرفق كإثبات، فتُنظَّف من عناصر التصفّح. */
@media print{
  .top, footer, .burger, .top-cta, .band, .toast, .skip,
  .btn, form, .ini-overlay{display:none !important}
  body{background:#fff;color:#000;font-size:12pt}
  section{padding:0}
  .wrap{max-width:100%;padding:0}
  .card, .dt-wrap{border:1px solid #999;box-shadow:none;break-inside:avoid}
  .card:hover{transform:none}
  a[href]::after{content:""}          /* لا نطبع الروابط الخام */
  .pill{border:1px solid #999;background:#fff !important;color:#000 !important}
  .tile b{color:#000}
  h1,h2,h3,h4{color:#000}
}

/* =========================================================
   الترويسة: منع اسم طويل من دفع القائمة والأزرار
   السبب الأصلي: كان الاسم الإنكليزي الكامل (٦٨ حرفاً) يُعرض في
   الشريط، فيتمدّد بلوك الهوية ويزيح ما بعده.
   ========================================================= */
.brand{max-width:min(46vw,300px);min-width:0}
.brand > span{min-width:0}
.brand b,
.brand span span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}

/* القائمة تتقلّص قبل الأزرار، والأزرار لا تنكمش أبداً */
.nav{min-width:0;flex-shrink:1}
.top-cta{flex-shrink:0;align-items:center}
.top .wrap{gap:18px}

@media(max-width:1120px){ .nav a{padding:7px 9px;font-size:.86rem} }
@media(max-width:960px){ .brand{max-width:none} }
@media(max-width:420px){
  .brand b{font-size:.94rem}
  .top-cta .btn{padding:9px 13px;font-size:.84rem}
}

/* =========================================================
   الصفحة الرئيسية: «من نحن» وشبكة «تصفّح الموقع»
   ========================================================= */

/* من نحن: نصّ إلى جانب بطاقتَي الرؤية والرسالة */
.about-row{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:start}
.about-side{display:grid;gap:14px}
.about-side .card{background:#fff}
.about-side .card h3{font-size:1rem;color:var(--blue)}

/* بطاقة تبويب: البطاقة كلها رابط */
.nav-card{display:flex;flex-direction:column;gap:8px;height:100%;color:inherit}
.nav-card h3{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:1.02rem;margin:0}
.nc-ico{width:40px;height:40px;border-radius:11px;background:var(--mist);color:var(--blue);
  display:grid;place-items:center;font-size:1.05rem;flex-shrink:0;transition:.2s}
.nav-card:hover .nc-ico{background:var(--blue);color:#fff}
.nc-n{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--blue);
  background:var(--mist);border-radius:99px;padding:2px 9px}
.nav-card p{font-size:.88rem;color:var(--muted);flex:1}
.nc-go{font-size:.83rem;font-weight:600;color:var(--blue);margin-top:2px}
.nav-card:hover .nc-go{color:var(--navy)}

@media(max-width:960px){ .about-row{grid-template-columns:1fr;gap:24px} }

/* =========================================================
   الواجهة العلوية: هوية الشركة أول ما يُرى
   اسم الشركة هو العنوان الرئيسي نفسه، فلا شعار مكرّر بجانبه.
   ========================================================= */

/* دلائل الجدّية أسفل النصّ التعريفي */
.hero-cred{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;
  margin:20px 0 0;padding:0;font-size:.84rem;color:#C4E3F5}
.hero-cred li{display:flex;align-items:center;gap:8px}
.hero-cred i{color:var(--sky);font-size:.9rem}
.hero-cred .mono{color:#DCEFFA}

@media(max-width:620px){
  .hero-cred{gap:8px 16px;font-size:.79rem}
}

/* =========================================================
   أقسام الصفحة الرئيسية الجديدة
   ========================================================= */

/* تصفّح حسب المجال */
.cat-wall{display:flex;flex-wrap:wrap;gap:10px}
.cat-pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:99px;padding:9px 17px;font-size:.9rem;font-weight:600;color:var(--ink);transition:.18s}
.cat-pill span{font-family:var(--mono);font-size:.74rem;font-weight:500;color:var(--blue);
  background:var(--mist);border-radius:99px;padding:1px 8px}
.cat-pill:hover{border-color:var(--sky);background:var(--mist);color:var(--blue);transform:translateY(-1px)}
.cat-all{background:var(--blue);color:#fff;border-color:var(--blue)}
.cat-all:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* بيانات الدبلوم */
.d-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:.84rem;color:var(--muted)}
.d-meta span{display:flex;align-items:center;gap:7px}

/* خطوات التسجيل */
.step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 20px 20px}
.sc-n{position:absolute;inset-block-start:-13px;inset-inline-start:20px;width:28px;height:28px;
  border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;
  font-family:var(--mono);font-size:.8rem;font-weight:600}
.sc-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;
  background:var(--mist);color:var(--blue);font-size:1.05rem;margin-bottom:12px}
.step-card h3{font-size:1rem;margin-bottom:6px}
.step-card p{font-size:.88rem;color:var(--muted);margin:0}

/* جدار الشركاء */
.pw-item{border:1px solid var(--line);border-radius:var(--r-s);background:#fff;padding:14px 12px;
  text-align:center;font-size:.85rem;color:var(--body);font-weight:600;display:grid;place-items:center;
  min-height:56px;transition:.18s}
.pw-item:hover{border-color:var(--sky-soft);color:var(--blue)}

/* الأسئلة الشائعة القابلة للطي */
.faq-item summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:.98rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--blue);font-size:1.25rem;font-weight:400;flex-shrink:0}
.faq-item[open] summary::after{content:"−"}
.faq-item[open] summary{color:var(--blue)}
.faq-item p{margin-top:10px}

/* بطاقات التواصل */
.contact-card{text-align:start}
.cc-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;
  background:var(--mist);color:var(--blue);font-size:1.05rem;margin-bottom:12px}
.contact-card h3{font-size:1rem;margin-bottom:8px}
.contact-card p{margin:0 0 6px;font-size:.9rem}
.contact-card a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   الواجهة المقسومة — على فكرة غلاف الشركة
   الهوية والنصّ في جهة، وصورة الخريجين في الجهة الأخرى،
   يذوب بينهما تدرّج أزرق. النصّ حيّ لا مطبوع على الصورة،
   فيبقى قابلاً للتحرير والقراءة الآلية والترجمة.
   ========================================================= */
.hero-split{position:relative;isolation:isolate}

/* شريط أصفر علوي — مأخوذ من الغلاف */
.hero-split::after{content:"";position:absolute;inset-block-start:0;inset-inline:0;
  height:5px;background:var(--accent);z-index:3}

.hero-photo{position:absolute;inset:0;width:100%;z-index:0;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}

/* التدرّج يذيب حافة الصورة في خلفية الواجهة بدل قطعها بخط حاد */
.hero-photo::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to left, rgba(18,67,95,.93) 0%, rgba(18,67,95,.80) 26%,
                             rgba(18,67,95,.42) 52%, rgba(18,67,95,.12) 72%, transparent 88%)}

.hero-inner{position:relative;z-index:2}
.hero-split .hero-inner{max-width:var(--max)}
/* النصّ يتجاوز حافة الصورة ويستقرّ فوقها — كما في الغلاف */
.hero-split h1,
.hero-split .lead,
.hero-split .hero-desc,
.hero-split .hero-en,
.hero-split .hero-cred{max-width:min(620px,52%)}

@media(max-width:1100px){
  .hero-split h1,.hero-split .lead,.hero-split .hero-desc,
  .hero-split .hero-en,.hero-split .hero-cred{max-width:62%}
}
@media(max-width:860px){
  /* على الجوّال: الصورة شريط علوي والنصّ تحته — لا تزاحم */
  .hero-photo img{object-position:22% center}
  .hero-photo::before{background:linear-gradient(to bottom, rgba(18,67,95,.55) 0%,
                       rgba(18,67,95,.86) 45%, rgba(18,67,95,.96) 100%)}
  .hero-split h1,.hero-split .lead,.hero-split .hero-desc,
  .hero-split .hero-en,.hero-split .hero-cred{max-width:none}
  .hero-split .wrap{padding-top:0}
}

/* اسم الشركة عنواناً رئيسياً في الواجهة — على هيئة الغلاف */
/* يحاذي الاسم العربي من جهة البداية نفسها، بعرضه الطبيعي بلا مطّ */
.hero-en{font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,3.4vw,2.6rem);
  color:#fff;letter-spacing:.02em;line-height:1.1;margin:0 0 6px}
.hero-name{color:#fff;font-size:clamp(1.9rem,4.6vw,3.4rem);letter-spacing:-.5px;
  line-height:1.15;margin:0}
.hero-desc{color:var(--sky);font-family:var(--display);font-weight:700;
  font-size:clamp(1rem,2vw,1.4rem);line-height:1.5;margin:8px 0 0}
.hero-split .lead{margin-top:16px}

/* ترويسة قسم بعرض المحتوى كاملاً — الافتراضي محدود بـ 62ch لراحة القراءة،
   وهذا الصنف يرفع الحدّ حين يُراد للنصّ أن يمتدّ بعرض الشبكة تحته. */
.sec-head.sec-wide{max-width:none}

/* بطاقة خدمة على الرئيسية: وصف مقتضب حتى لا تتفاوت أطوال البطاقات
   بين خدمة وُصفت بفقرة كاملة وأخرى بسطرين. الوصف الكامل في /services */
.srv-brief p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* =========================================================
   ضبط النصوص من الطرفين (Justify) — على كامل الموقع
   ---------------------------------------------------------
   المرجع هو بطاقات الخدمات: نص الفقرة يمتد من الحافة إلى
   الحافة بحوافّ مستقيمة على الجانبين.

   يشمل: فقرات الأقسام والبطاقات ونصوص الصفحات والمقالات
          وقوائم المخرجات والأسئلة الشائعة.
   لا يشمل: العناوين والأزرار والأرقام والقوائم المرقّمة
            ذات التخطيط الأفقي — الضبط فيها بلا أثر أو مضرّ.

   text-align-last:start يُبقي السطر الأخير محاذياً لليمين
   (بداية الاتجاه في RTL) بدل تمديده على كامل العرض.
   ========================================================= */
p,
.lead,
.hero-desc,
.out li,
.detail li,
.faq-item p,
.srv p,
.card p,
.sec-head p{
  text-align:justify;
  text-align-last:start;
  text-justify:inter-word;
  hyphens:none;
}

/* استثناءات: كل ما صُمّم متمركزاً أو محاذياً للطرف يرث محاذاة حاويته،
   وإلا انكسر تمركز حالات الفراغ ورسائل النجاح وبطاقات الشركاء. */
.empty p,
.success p,
.side-note,
.pw-item p,
.logo-wall div p,
.stat p,
td p, th p,
[style*="text-align:center"] p,
[style*="text-align: center"] p{
  text-align:inherit;
  text-align-last:auto;
}
