/* ═══════════════════════════════════════════════════════════════════════
   وسام الجنوب للاستقدام — نظام التصميم
   Wesam Al-Ganob Recruitment — design system

   ⛔ قاعدة الاتجاه: لا تستعمل left/right ولا margin-left/padding-right.
      استعمل الخصائص المنطقية: inline-start / inline-end / block-start.
      السبب: العربية RTL والإنجليزية LTR ينقلبان بتبديل dir وحده —
      بلا ورقة أنماط ثانية وبلا [dir=rtl] مبعثرة في الملف.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --grad-end:left;
  /* العلامة — القيم مسحوبة من بكسلات الشعار، والأسماء بدلالتها لا بلونها.
     وسام الجنوب 2026-09-26: الأخضر هو الأساسي والذهبي لكنة (الشعار وسام ذهبي بشريط أخضر).
     ⇒ تبديل اللون لاحقاً = تعديل هذه القيم وحدها، لا بحث واستبدال في القوالب. */
  --brand:#00693C;     /* الأساسي — الأخضر من الشعار (متوسّط عنقود الأخضر بـGD) */
  --brand-d:#00522F;
  --brand-l:#0B8A50;
  /* درجة النصّ على الأبيض: #00552F تباينه ≈ 8.3 — يصلح للعناوين والروابط الصغيرة. */
  --brand-t:#00552F;
  /* نصّ فوق الأخضر: الأبيض على #00693C تباينه ≈ 6.4 ⇒ فوق AA بوضوح. */
  --on-brand:#FFFFFF;

  --accent:#F3B42F;    /* اللكنة — الذهبي من الشعار */
  --accent-d:#8A5F00;  /* درجة نصّ للذهبي: الفاتح تباينه على الأبيض ≈ 1.9 فلا يصلح نصّاً */ 

  /* ⛔ الأسطح الداكنة تبقى خضراء: برتقالي داكن غير صالح كخلفية —
     يضرب التباين ويجعل النصّ الأبيض غير مريح. */
  --deep:#00693C;
  --deep-d:#00522F;
  --deep-x:#063A21;
  --deep-xx:#052E1A;

  --ink:#0E1A14;
  --ink-2:#3C4A43;
  --ink-3:#6B7A72;
  --line:#E2E8E4;
  --bg:#FFFFFF;
  --bg-2:#F6F9F7;
  --bg-3:#EEF4F0;

  --r-sm:8px; --r:14px; --r-lg:22px; --r-xl:30px;
  --sh-sm:0 1px 2px rgba(13,107,54,.05), 0 2px 8px rgba(13,107,54,.045);
  --sh:0 4px 14px rgba(13,107,54,.08), 0 12px 32px rgba(13,107,54,.06);
  --sh-lg:0 12px 40px rgba(13,107,54,.13);

  --wrap:1260px;
  --hdr-h:74px;

  --f-ar:"IBM Plex Sans Arabic", system-ui, "Segoe UI", sans-serif;
  --f-en:"IBM Plex Sans", system-ui, "Segoe UI", sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ── الخطّ يتبع اللغة ───────────────────────────────────────────────── */
.lang-ar{ --font: var(--f-ar); --grad-end:left; }
.lang-en{ --font: var(--f-en); --grad-end:right; }

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.75;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;            /* حزام أمان ضدّ أي تسرّب أفقي */
  -webkit-font-smoothing:antialiased;
}
/* الإنجليزية أكثف بصرياً بنفس المقاس ⇒ سطر أقصر قليلاً يريح العين */
.lang-en body,.lang-en{ line-height:1.68; }

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; line-height:1.28; font-weight:700; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
code{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.88em; background:var(--bg-3); padding:.12em .45em; border-radius:6px; }

.wrap{ width:min(100% - 34px, var(--wrap)); margin-inline:auto; }

.skip{
  position:absolute; inset-block-start:-100px; inset-inline-start:12px; z-index:200;
  background:var(--deep); color:#fff; padding:.7rem 1.1rem; border-radius:0 0 var(--r-sm) var(--r-sm);
}
.skip:focus{ inset-block-start:0; }

:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; border-radius:4px; }

/* ── شارة الواجهة ─────────────────────────────────────────────────
   ⚠️ فُقدت هي الأخرى مع حذف كتلة «الواجهة» القديمة. الفحص الأول لم يمسكها
   لأنه بحث عن ذكر الصنف فوجد `.slide-tx .hero-badge` — والذكر ليس تعريفاً.
   القاعدة المستخلَصة: افحص وجود **قاعدة باسم الصنف نفسه** لا مجرّد ورودِه. */
.hero-badge{
  display:inline-flex; align-items:center; gap:.5em;
  background:#fff; border:1px solid var(--line); color:var(--brand-t);
  padding:.42em 1em; border-radius:100px; font-size:.83rem; font-weight:600;
  box-shadow:var(--sh-sm); margin-block-end:1.15rem;
}
.hero-cta{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* ══ الأزرار ═══════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.82em 1.6em; border:0; border-radius:100px;
  font:inherit; font-weight:600; cursor:pointer;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-sm{ padding:.6em 1.15em; font-size:.93rem; }
.btn-lg{ padding:1em 2em; font-size:1.06rem; }

.btn-brand{ background:var(--brand); color:var(--on-brand); box-shadow:0 4px 14px rgba(0,105,60,.32); }
.btn-brand:hover{ background:var(--brand-l); box-shadow:0 8px 22px rgba(0,105,60,.42); }

.btn-accent{ background:var(--accent); color:#fff; box-shadow:0 4px 14px rgba(13,107,54,.28); }
.btn-accent:hover{ background:var(--accent-d); box-shadow:0 8px 22px rgba(13,107,54,.34); }

.btn-ghost{ background:transparent; color:var(--brand-t); box-shadow:inset 0 0 0 2px var(--brand); }
.btn-ghost:hover{ background:var(--brand); color:var(--on-brand); }

.btn-soft{ background:var(--bg-3); color:var(--brand-t); }
.btn-soft:hover{ background:var(--line); }

/* السهم ينقلب مع الاتجاه — العنصر يُدار لا يُستبدل حرفه */
.ar-i{ display:inline-block; transition:transform .2s var(--ease); }
[dir="rtl"] .ar-i{ transform:scaleX(-1); }
.btn:hover .ar-i{ transform:translateX(3px); }
[dir="rtl"] .btn:hover .ar-i{ transform:scaleX(-1) translateX(3px); }

/* ══ الترويسة ══════════════════════════════════════════════════════════ */
.hdr{
  position:sticky; inset-block-start:0; z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.6) blur(14px);
  border-block-end:1px solid var(--line);
  transition:box-shadow .2s;
}
.hdr.scrolled{ box-shadow:var(--sh-sm); }
.hdr-in{ display:flex; align-items:center; gap:1.1rem; min-height:var(--hdr-h); }

.logo{ display:flex; align-items:center; gap:.55rem; flex-shrink:0; }
.logo img{ width:44px; height:auto; border-radius:10px; }
.logo-tx{ display:flex; flex-direction:column; line-height:1.15; }
.logo-tx b{ font-size:1rem; color:var(--brand-t); font-weight:700; white-space:nowrap; }
.logo-tx i{ font-size:.71rem; font-style:normal; color:var(--ink-3); white-space:nowrap; }

.nav{ display:flex; align-items:center; gap:.1rem; margin-inline-start:auto; }
.nav > a{
  /* ⛔ بلا nowrap تتكسّر «آلية الاستقدام» على سطرين داخل الترويسة.
     القياس: البنود التسعة تحتاج 775px بلا التفاف، والمتاح كان 1180 ناقص
     الشعار (202) والجانب (250) = 728 ⇒ عجز 47px. لذلك ضُيِّقت الحشوة والخط
     ووُسِّعت الحاوية بدل إخفاء بنود من القائمة. */
  white-space:nowrap;
  padding:.5em .56em; border-radius:var(--r-sm);
  font-size:.9rem; font-weight:500; color:var(--ink-2);
  transition:color .16s, background .16s;
}
.nav > a:hover{ color:var(--brand-t); background:var(--bg-2); }
.nav > a[aria-current="page"]{ color:var(--brand-t); font-weight:600; background:var(--bg-3); }
.nav-foot{ display:none; }

.hdr-end{ display:flex; align-items:center; gap:.6rem; margin-inline-start:.4rem; }

/* مبدّل اللغة — حبّتان داخل غلاف واحد */
.langsw{
  display:inline-flex; align-items:center;
  background:var(--bg-3); border-radius:100px; padding:3px;
}
.langsw-o{
  padding:.34em .74em; border-radius:100px;
  font-size:.82rem; font-weight:600; color:var(--ink-3);
  transition:all .18s var(--ease);
  white-space:nowrap;
}
/* في الترويسة وحدها: الاختصار AR|EN لتوفير المساحة.
   الاسم الكامل «العربية | English» يبقى في قائمة الجوال والفوتر. */
.hdr-end .langsw-o .full{ display:none; }
.hdr-end .langsw-o .abbr{ display:inline; }
.langsw-o .abbr{ display:none; }
.langsw-o:hover{ color:var(--brand-t); }
.langsw-o.on{ background:#fff; color:var(--brand-t); box-shadow:var(--sh-sm); }
/* كل خيار بخطّ لغته ليُقرأ صحيحاً في الحالتين */
.langsw-o[lang="ar"]{ font-family:var(--f-ar); }
.langsw-o[lang="en"]{ font-family:var(--f-en); }

.burger{ display:none; width:42px; height:42px; border:0; background:var(--bg-3); border-radius:var(--r-sm); cursor:pointer; padding:0; }
.burger span{ display:block; width:19px; height:2px; background:var(--ink); margin:4px auto; border-radius:2px; transition:.24s var(--ease); }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* ══ أقسام عامّة ═══════════════════════════════════════════════════════ */
.sec{ padding-block:clamp(52px,7vw,92px); }
.sec-2{ background:var(--bg-2); }
.sec-head{ max-width:660px; margin-block-end:2.6rem; }
.sec-head.mid{ margin-inline:auto; text-align:center; }
.kicker{
  display:inline-block; font-size:.79rem; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--accent); margin-block-end:.5rem;
}
.lang-ar .kicker{ letter-spacing:0; text-transform:none; font-size:.86rem; }
.sec-head h2{ font-size:clamp(1.65rem,3.4vw,2.35rem); margin-block-end:.55rem; }
.sec-head p{ color:var(--ink-2); font-size:1.03rem; margin:0; }

/* ══ البطاقات ══════════════════════════════════════════════════════════ */
.grid{ display:grid; gap:1.3rem; }
.g-2{ grid-template-columns:repeat(2,1fr); }
.g-3{ grid-template-columns:repeat(3,1fr); }
.g-4{ grid-template-columns:repeat(4,1fr); }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.7rem; transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s;
  /* الشريط المميّز على حافة البداية ⇒ يمين في العربية ويسار في الإنجليزية */
  border-inline-start:3px solid transparent;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh); border-inline-start-color:var(--accent); }
.card h3{ font-size:1.16rem; margin-block-end:.5rem; color:var(--brand-t); }
.card p{ color:var(--ink-2); font-size:.965rem; }
.card .ico{
  width:48px; height:48px; border-radius:14px; display:grid; place-items:center;
  background:var(--bg-3); color:var(--brand-t); font-size:1.35rem; margin-block-end:1rem;
}
.card ul li{ position:relative; padding-inline-start:1.5em; margin-block-end:.42em; font-size:.94rem; color:var(--ink-2); }
.card ul li::before{
  content:""; position:absolute; inset-inline-start:0; inset-block-start:.62em;
  width:7px; height:7px; border-radius:50%; background:var(--accent);
}

/* ══ الخطّ الزمني (آلية الاستقدام) ═════════════════════════════════════ */
.tl{ position:relative; display:grid; gap:1.15rem; }
.tl::before{
  content:""; position:absolute; inset-block:14px 14px;
  inset-inline-start:23px; width:2px; background:linear-gradient(var(--brand),var(--accent)); opacity:.28;
}
.tl-i{ position:relative; padding-inline-start:64px; }
.tl-n{
  position:absolute; inset-inline-start:0; inset-block-start:0;
  width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  background:var(--brand); color:var(--on-brand); font-weight:700; font-size:1.05rem;
  box-shadow:0 0 0 5px var(--bg);
}
.tl-i h3{ font-size:1.12rem; color:var(--brand-t); margin-block-end:.3rem; }
.tl-i p{ color:var(--ink-2); font-size:.965rem; margin-block-end:.4rem; }
.tl-t{ display:inline-flex; align-items:center; gap:.4em; font-size:.82rem; font-weight:600; color:var(--accent-d); background:rgba(0,105,60,.1); padding:.22em .75em; border-radius:100px; }

/* ══ المعرض ════════════════════════════════════════════════════════════ */
.filters{ margin-block-end:1.8rem; padding:1.25rem 1.3rem; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-lg); }
.filters-hint{ display:flex; align-items:center; gap:.5em; font-size:.87rem; color:var(--ink-3); margin:0 0 1rem; }
.filters-hint svg{ color:var(--accent); }
/* شبكة تتكيّف: الأعمدة تُشتقّ من المساحة لا من عدد ثابت — لأن عدد الفلاتر
   يتغيّر بتغيّر بيانات الشركة (قائمة بلا قيم لا تُطبع أصلاً). */
.filters-grid{ display:grid; gap:.85rem; grid-template-columns:repeat(auto-fit, minmax(168px, 1fr)); }
.filters label{ display:flex; flex-direction:column; gap:.3rem; }
.filters label > span{ font-size:.79rem; font-weight:600; color:var(--ink-3); }
.filters select,.filters input[type="search"]{
  font:inherit; font-size:.93rem; padding:.58em .8em; border:1px solid var(--line);
  border-radius:var(--r-sm); background:#fff; color:var(--ink); width:100%;
  transition:border-color .16s, box-shadow .16s;
}
.filters select{ cursor:pointer; }
.filters select:focus,.filters input:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(0,105,60,.18); }
.filters-act{ display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-block-start:1.05rem; }
.filters-count{ margin-inline-start:auto; font-size:.87rem; font-weight:600; color:var(--brand-t); }
.w-ref{ font-size:.8rem; color:var(--ink-3); }

.w-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; transition:transform .22s var(--ease), box-shadow .22s var(--ease); display:flex; flex-direction:column; }
.w-card:hover{ transform:translateY(-4px); box-shadow:var(--sh); }
.w-photo{ position:relative; aspect-ratio:3/4; background:var(--bg-3); overflow:hidden; }
.w-photo img{ width:100%; height:100%; object-fit:cover; }
.w-photo .ph{ width:100%; height:100%; display:grid; place-items:center; font-size:2.6rem; color:var(--ink-3); opacity:.4; }
.w-tag{
  position:absolute; inset-block-start:10px; inset-inline-start:10px;
  padding:.24em .72em; border-radius:100px; font-size:.75rem; font-weight:700;
  color:var(--on-brand); background:var(--brand); box-shadow:var(--sh-sm);
}
.w-tag.rent{ background:var(--accent); color:#fff; }
.w-body{ padding:1.05rem 1.15rem 1.2rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.w-body h3{ font-size:1.02rem; color:var(--brand-t); }
.w-meta{ display:flex; flex-wrap:wrap; gap:.35rem .8rem; font-size:.855rem; color:var(--ink-3); }
.w-meta span{ display:inline-flex; align-items:center; gap:.3em; }
.w-price{ font-weight:700; color:var(--brand); font-size:1.02rem; }
.w-price small{ font-weight:500; color:var(--ink-3); font-size:.8rem; }
.w-card .btn{ margin-block-start:auto; width:100%; }

.empty{ text-align:center; padding:3.5rem 1.5rem; background:var(--bg-2); border-radius:var(--r-lg); border:1px dashed var(--line); }
.empty .ico{ font-size:2.6rem; margin-block-end:.7rem; opacity:.55; }
.empty h3{ font-size:1.2rem; margin-block-end:.4rem; color:var(--brand-t); }
.empty p{ color:var(--ink-3); max-width:46ch; margin-inline:auto; }

/* ══ المقالات ══════════════════════════════════════════════════════════ */
.post{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; transition:transform .22s var(--ease), box-shadow .22s var(--ease); }
.post:hover{ transform:translateY(-4px); box-shadow:var(--sh); }
.post-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.post-cat{ font-size:.78rem; font-weight:700; color:var(--accent); }
.post h3{ font-size:1.12rem; color:var(--brand-t); }
.post p{ color:var(--ink-2); font-size:.95rem; margin:0; }
.post-foot{ margin-block-start:auto; padding-block-start:.7rem; display:flex; gap:.9rem; font-size:.8rem; color:var(--ink-3); }

.article{ max-width:760px; margin-inline:auto; }
.article h1{ font-size:clamp(1.7rem,3.6vw,2.4rem); margin-block-end:.7rem; }
.article .meta{ display:flex; flex-wrap:wrap; gap:1rem; font-size:.87rem; color:var(--ink-3); margin-block-end:2rem; padding-block-end:1.2rem; border-block-end:1px solid var(--line); }
.article-body{ font-size:1.055rem; }
.article-body h2{ font-size:1.42rem; margin-block:2rem .7rem; color:var(--brand-t); }
.article-body h3{ font-size:1.16rem; margin-block:1.5rem .5rem; }
.article-body ul,.article-body ol{ margin-block-end:1.1em; padding-inline-start:1.5em; }
.article-body ul li{ list-style:disc; margin-block-end:.4em; }
.article-body ol li{ list-style:decimal; margin-block-end:.4em; }
.article-body blockquote{
  margin:1.4em 0; padding:1em 1.3em; background:var(--bg-2);
  border-inline-start:4px solid var(--accent); border-radius:var(--r-sm);
  color:var(--ink-2);
}
.notice{ background:rgba(0,105,60,.1); border:1px solid rgba(0,105,60,.3); color:var(--accent-d); padding:.85em 1.1em; border-radius:var(--r-sm); font-size:.92rem; margin-block-end:1.5rem; }

/* ══ الأسئلة ═══════════════════════════════════════════════════════════ */
.faq-i{ background:#fff; border:1px solid var(--line); border-radius:var(--r); margin-block-end:.75rem; overflow:hidden; }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.05rem 1.3rem; background:none; border:0; cursor:pointer;
  font:inherit; font-weight:600; font-size:1.01rem; color:var(--ink);
  text-align:start;   /* ← يتبع الاتجاه */
}
.faq-q:hover{ color:var(--brand); }
.faq-q .chev{ flex-shrink:0; transition:transform .24s var(--ease); color:var(--accent); font-size:1.15rem; }
.faq-i.open .faq-q .chev{ transform:rotate(180deg); }
.faq-a{ display:none; padding:0 1.3rem 1.25rem; color:var(--ink-2); font-size:.97rem; }
.faq-i.open .faq-a{ display:block; }

/* ══ النماذج ═══════════════════════════════════════════════════════════ */
.form{ display:grid; gap:1.05rem; }
.form-row{ display:grid; gap:1.05rem; grid-template-columns:1fr 1fr; }
.field{ display:flex; flex-direction:column; gap:.35rem; }
.field label{ font-size:.88rem; font-weight:600; color:var(--ink-2); }
.field label .opt{ font-weight:400; color:var(--ink-3); font-size:.82em; }
.field input,.field select,.field textarea{
  font:inherit; font-size:.99rem; padding:.78em .95em;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:#fff; color:var(--ink); transition:border-color .16s, box-shadow .16s;
  width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(0,105,60,.18);
}
.field textarea{ min-height:120px; resize:vertical; }
.field.err input,.field.err select,.field.err textarea{ border-color:#D13B3B; box-shadow:0 0 0 3px rgba(209,59,59,.1); }
.field .msg{ font-size:.8rem; color:#D13B3B; min-height:1em; }
/* الجوال والبريد دائماً LTR مهما كانت لغة الصفحة */
input[type="tel"],input[type="email"],input[name="phone"]{ direction:ltr; text-align:start; }
[dir="rtl"] input[type="tel"],[dir="rtl"] input[type="email"]{ text-align:right; }

.hp{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.form-note{ font-size:.83rem; color:var(--ink-3); }
.form-ok{ background:rgba(13,107,54,.08); border:1px solid rgba(13,107,54,.25); color:var(--accent-d); padding:1.2rem 1.4rem; border-radius:var(--r); }
.form-ok h3{ margin-block-end:.3rem; }
.form-err{ background:rgba(209,59,59,.08); border:1px solid rgba(209,59,59,.25); color:#A32727; padding:.9rem 1.2rem; border-radius:var(--r-sm); font-size:.93rem; }

/* ══ لوح النداء ════════════════════════════════════════════════════════ */
.cta-band{
  background:linear-gradient(135deg,var(--deep) 0%, var(--deep-d) 100%);
  color:#fff; border-radius:var(--r-xl); padding:clamp(2.2rem,4vw,3.2rem);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.6rem;
  box-shadow:var(--sh-lg); position:relative; overflow:hidden;
}
.cta-band::after{
  content:""; position:absolute; inset-block-start:-42%; inset-inline-end:-8%;
  width:380px; height:380px; border-radius:50%; background:rgba(0,105,60,.17);
}
.cta-band > *{ position:relative; z-index:1; }
.cta-band h2{ font-size:clamp(1.5rem,3vw,2.05rem); margin-block-end:.35rem; }
.cta-band p{ opacity:.9; margin:0; max-width:52ch; }

/* ══ فتات الخبز ════════════════════════════════════════════════════════ */
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; font-size:.85rem; color:var(--ink-3); margin-block-end:1.1rem; }
.crumbs a:hover{ color:var(--brand-t); }
.crumbs .sep{ opacity:.45; }
/* الفاصل ينقلب مع الاتجاه */
[dir="rtl"] .crumbs .sep{ transform:scaleX(-1); display:inline-block; }

/* ══ بنر الصفحات الداخلية ══════════════════════════════════════════════ */
.phead{
  position:relative; overflow:hidden;
  background:var(--deep-d);
  padding-block:clamp(3.2rem,7vw,5rem);
  min-height:clamp(240px,30vw,330px);
  display:grid; align-items:center;
}
.phead-bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
}
/* طبقتان: تدرّج رأسي للقراءة + تعتيم عامّ لضمان التباين مع أي صورة */
.phead::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(5,30,16,.62) 0%, rgba(5,30,16,.50) 55%, rgba(5,30,16,.74) 100%),
    linear-gradient(to var(--grad-end, left), rgba(6,56,28,.55), rgba(6,56,28,.1));
}
.phead-in{ position:relative; z-index:2; }
.phead h1{
  font-size:clamp(1.8rem,3.8vw,2.7rem); margin-block-end:.5rem; color:#fff;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
}
.phead p{
  color:rgba(255,255,255,.93); max-width:64ch; margin:0; font-size:1.04rem;
  text-shadow:0 1px 12px rgba(0,0,0,.3);
}
/* فتات الخبز داخل البنر — أبيض شفّاف */
.phead .crumbs{ color:rgba(255,255,255,.72); }
.phead .crumbs a{ color:rgba(255,255,255,.88); }
.phead .crumbs a:hover{ color:#fff; text-decoration:underline; }
.phead .crumbs [aria-current]{ color:#fff; font-weight:600; }

/* ══ الفوتر ════════════════════════════════════════════════════════════ */
/* الفوتر يحمل لون العلامة لا الأسود — امتداد للهوية لا قطع لها */
.foot{
  background:linear-gradient(165deg, var(--deep-d) 0%, var(--deep-x) 62%, var(--deep-xx) 100%);
  color:#CFE0D6; padding-block:3.2rem 1.4rem; margin-block-start:4rem;
  position:relative; overflow:hidden;
}
.foot::before{
  content:""; position:absolute; inset-block-start:-30%; inset-inline-end:-6%;
  width:420px; height:420px; border-radius:50%;
  background:rgba(0,105,60,.11); pointer-events:none;
}
.foot > *{ position:relative; z-index:1; }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1.4fr 1.2fr; gap:2.2rem; }
.foot h4{ color:#fff; font-size:1rem; margin-block-end:.9rem; }
.foot p{ font-size:.92rem; line-height:1.7; opacity:.86; }
.foot a{ opacity:.85; transition:opacity .16s, color .16s; }
.foot a:hover{ opacity:1; color:var(--accent); }
.foot li{ margin-block-end:.5rem; font-size:.92rem; }
.foot-brand img{ width:80px; border-radius:14px; background:#fff; padding:7px; margin-block-end:.9rem; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.foot-contact li{ display:flex; gap:.6rem; align-items:flex-start; }
.foot-contact .fi{ flex-shrink:0; opacity:.75; }
.foot-legal b{ color:#fff; }
.foot code{ background:rgba(255,255,255,.1); color:#fff; }
.foot-bar{
  margin-block-start:2.4rem; padding-block-start:1.3rem; border-block-start:1px solid rgba(255,255,255,.14);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
  font-size:.85rem; opacity:.75;
}
.foot-bar .langsw{ background:rgba(255,255,255,.13); }
.foot-bar .langsw-o{ color:#C9D4CE; }
.foot-bar .langsw-o.on{ background:rgba(255,255,255,.16); color:#fff; box-shadow:none; }

/* ══ الظهور عند التمرير ════════════════════════════════════════════════ */
.rv{ opacity:0; transform:translateY(18px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.rv.in{ opacity:1; transform:none; }

/* ══ الاستجابة ═════════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .g-4{ grid-template-columns:repeat(2,1fr); }
  .g-3{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:1240px){
  /* نقطة التحوّل من قياس: الترويسة الإنجليزية تحتاج ~1145px
     (شعار 195 + قائمة 728 + جانب 220) ⇒ التحوّل عند 1240 بهامش آمن.
     العربية تحتاج أقلّ (1113) لكن نقطة واحدة تبقي السلوك متطابقاً في اللغتين. */
  .hdr-cta{ display:none; }
  .burger{ display:block; }
  .hdr-end > .langsw{ display:none; }   /* يظهر داخل القائمة بدلاً منه */

  .nav{
    position:fixed; inset-block-start:var(--hdr-h); inset-inline:0;
    background:#fff; border-block-end:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:0;
    padding:.7rem 17px 1.3rem; margin:0;
    box-shadow:var(--sh);
    transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:transform .24s var(--ease), opacity .24s var(--ease);
    max-height:calc(100dvh - var(--hdr-h)); overflow-y:auto;
  }
  .nav.open{ transform:none; opacity:1; pointer-events:auto; }
  .nav > a{ padding:.82em .5em; border-block-end:1px solid var(--bg-3); border-radius:0; font-size:1rem; }
  .nav-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block-start:1.1rem; }
  .nav-foot .langsw{ flex:1; }
  .nav-foot .langsw-o{ flex:1; text-align:center; padding-block:.55em; }
}
@media (max-width:640px){
  body{ font-size:16px; }
  .g-2,.g-3,.g-4{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
  .logo-tx i{ display:none; }
  .cta-band{ flex-direction:column; align-items:stretch; text-align:start; }
  .tl-i{ padding-inline-start:54px; }
  .tl-n{ width:40px; height:40px; font-size:.95rem; }
  .tl::before{ inset-inline-start:19px; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .rv{ opacity:1; transform:none; }
}

@media print{
  .hdr,.foot,.cta-band,.burger,.langsw{ display:none !important; }
  body{ font-size:12pt; }
}

/* ═══════════════════════════════════════════════════════════════════════
   الإضافة 2 — الشريط العلوي · واجهة أغنى · أيقونات SVG · صفحات الخدمة
   ═══════════════════════════════════════════════════════════════════════ */

/* ── الأيقونات ─────────────────────────────────────────────────────── */
/* ترث currentColor فتأخذ لون سياقها؛ محاذاة بصرية مع النصّ */
svg{ vertical-align:-.18em; flex-shrink:0; }
.card .ico svg,.empty .ico svg{ vertical-align:0; }
.btn svg{ vertical-align:-.2em; }

/* ── الشريط العلوي ─────────────────────────────────────────────────── */
.topbar{ background:var(--deep-d); color:rgba(255,255,255,.88); font-size:.8rem; }
.topbar-in{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:38px; flex-wrap:wrap; }
.tb-links,.tb-meta{ display:flex; align-items:center; gap:.2rem; flex-wrap:wrap; }
.tb-links a,.tb-meta a,.tb-hours{
  display:inline-flex; align-items:center; gap:.35em;
  padding:.3em .62em; border-radius:6px; white-space:nowrap;
  transition:background .16s, color .16s;
}
.tb-links a:hover,.tb-meta a:hover{ background:rgba(255,255,255,.13); color:#fff; }
.tb-links a[aria-current="page"]{ background:rgba(255,255,255,.16); color:#fff; font-weight:600; }
.tb-hours{ opacity:.8; }

/* ── شريط الثقة ────────────────────────────────────────────────────── */
.trust{ border-block-start:1px solid var(--line); background:rgba(255,255,255,.62); }
.trust-in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem 1.6rem; padding-block:1.05rem; }
.trust-in span{ display:inline-flex; align-items:center; gap:.5em; font-size:.87rem; font-weight:500; color:var(--ink-2); }
.trust-in svg{ color:var(--brand); }

/* ── العدّادات ─────────────────────────────────────────────────────── */
/* ── شريط الأرقام ──────────────────────────────────────────────────
   ⚠️ هذه القواعد فُقدت مرّة عند حذف كتلة «الواجهة» القديمة: كانت مكتوبة
   داخلها فذهبت معها. الدرس: لا تحذف كتلة CSS بالنطاق (من تعليق إلى تعليق)
   قبل قراءة ما بينها — الحذف يبتلع ما لا تقصده بصمت. */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-sm);
}
.stat{
  background:#fff; padding:1.7rem 1.1rem; text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem;
  min-height:128px;
  transition:background .2s;
}
.stat:hover{ background:var(--bg-2); }
.stat b{
  display:block; font-size:clamp(1.5rem,3vw,2.1rem);
  color:var(--brand-t); line-height:1.05; font-weight:700;
  font-variant-numeric:tabular-nums;
}
.stat b.ok{ display:grid; place-items:center; color:var(--brand); }
.stat span{ font-size:.87rem; color:var(--ink-3); line-height:1.35; }

/* ── التزامات الخدمة ───────────────────────────────────────────────── */
.sla li{
  display:flex; align-items:flex-start; gap:.8rem;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1rem 1.2rem; margin-block-end:.7rem; font-size:.98rem; color:var(--ink-2);
}
.sla li span{ color:var(--brand); flex-shrink:0; }

/* ── الموقع ────────────────────────────────────────────────────────── */
.mapbox{ border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-sm); background:var(--bg-3); }
.mapbox iframe{ display:block; width:100%; height:clamp(320px,46vh,480px); border:0; }
.addr li{ font-size:.96rem; color:var(--ink-2); margin-block-end:.3em; padding-inline-start:0; }
.addr li::before{ display:none; }
.addr li b{ color:var(--brand); }
.addr .short{ margin-block-start:.5em; }

/* ── الاستجابة ─────────────────────────────────────────────────────── */
@media (max-width:1240px){
  .nav-extra{ display:flex; flex-direction:column; padding-block-start:.4rem; }
  .nav-extra a{ padding:.72em .5em; border-block-end:1px solid var(--bg-3); font-size:.95rem; color:var(--ink-3); }
  .nav-foot{ flex-wrap:wrap; }
  .nav-foot .btn{ flex:1 1 100%; justify-content:center; }
  /* الاختصار للترويسة فقط؛ داخل القائمة الاسم الكامل */
  .nav .langsw-o .full{ display:inline; }
  .nav .langsw-o .abbr{ display:none; }
}
.nav-extra{ display:none; }

@media (max-width:1080px){
  .topbar{ font-size:.76rem; }
  .tb-meta{ display:none; }         /* الجوال: الروابط أهمّ من البريد */
  .topbar-in{ justify-content:center; }
}
@media (max-width:640px){
  .trust-in{ justify-content:flex-start; gap:.55rem 1rem; }
  .trust-in span{ font-size:.8rem; }
  .tb-links a{ padding:.3em .45em; font-size:.75rem; }
}

@media (prefers-reduced-motion:reduce){
}

/* ═══════════════════════════════════════════════════════════════════════
   الإضافة 3 — سلايدر الواجهة بعرض الشاشة · زرّ واتساب عائم
   ═══════════════════════════════════════════════════════════════════════ */

.hero{
  position:relative; overflow:hidden;
  height:clamp(460px, 74vh, 660px);
  background:var(--deep-d);
}
.slides{ position:absolute; inset:0; margin:0; padding:0; list-style:none; }

.slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity .7s var(--ease), visibility .7s;
}
.slide.on{ opacity:1; visibility:visible; }
/* بلا جافاسكربت: الأولى ظاهرة دائماً */
.no-js .slide:first-child{ opacity:1; visibility:visible; }

.slide img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  /* حركة بطيئة تمنح العمق دون تشتيت */
  animation:kenburns 16s ease-out both;
}
.slide.on img{ animation-play-state:running; }
@keyframes kenburns{ from{ transform:scale(1.001); } to{ transform:scale(1.07); } }

/* الطبقة المعتمة — أقوى عند حافة البداية ليُقرأ النصّ في الاتجاهين */
.slide::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(5,30,16,.42) 0%, rgba(5,30,16,.28) 42%, rgba(5,30,16,.72) 100%),
    radial-gradient(1200px 620px at 50% 55%, rgba(5,30,16,.12), rgba(5,30,16,.58));
}

.slide-tx{
  position:absolute; inset:0; z-index:2;
  display:grid; place-items:center; text-align:center;
  padding-block:var(--hdr-h) 64px;
}
.slide-tx .wrap{ max-width:900px; }
.slide-tx h1,.slide-tx h2{
  color:#fff; font-size:clamp(1.9rem,4.6vw,3.3rem);
  margin-block-end:.6rem; text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.slide-tx p{
  color:rgba(255,255,255,.93); font-size:clamp(1rem,1.8vw,1.18rem);
  max-width:60ch; margin-inline:auto; margin-block-end:1.7rem;
  text-shadow:0 1px 12px rgba(0,0,0,.3);
}
.slide-tx .hero-badge{
  background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.28);
  color:#fff; backdrop-filter:blur(6px); box-shadow:none;
}
.slide-tx .hero-cta{ justify-content:center; }

/* زرّ ثانوي على خلفية داكنة */
.btn-ghost-l{ background:rgba(255,255,255,.1); color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.55); backdrop-filter:blur(6px); }
.btn-ghost-l:hover{ background:#fff; color:var(--brand-t); box-shadow:inset 0 0 0 2px #fff; }

/* الأسهم — تتبع الاتجاه: «التالي» دائماً في اتجاه القراءة */
.sl-arrow{
  position:absolute; inset-block-start:50%; transform:translateY(-50%);
  z-index:3; width:50px; height:50px; border:0; border-radius:50%;
  background:rgba(255,255,255,.18); color:#fff; cursor:pointer;
  display:none; place-items:center; backdrop-filter:blur(8px);
  transition:background .18s, transform .18s var(--ease);
}
.sl-arrow:hover{ background:rgba(255,255,255,.34); }
.sl-arrow.prev{ inset-inline-start:22px; }
.sl-arrow.next{ inset-inline-end:22px; }
.sl-arrow.prev svg{ transform:rotate(180deg); }
[dir="rtl"] .sl-arrow svg{ transform:scaleX(-1); }
[dir="rtl"] .sl-arrow.prev svg{ transform:scaleX(-1) rotate(180deg); }
.has-js .sl-arrow{ display:grid; }

.sl-dots{
  position:absolute; inset-block-end:22px; inset-inline:0; z-index:3;
  display:none; justify-content:center; gap:.5rem;
}
.has-js .sl-dots{ display:flex; }
.sl-dots button{
  width:9px; height:9px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.45); transition:all .22s var(--ease);
}
.sl-dots button.on{ background:var(--brand); width:30px; border-radius:100px; }

/* ── زرّ واتساب العائم ────────────────────────────────────────────────
   ⛔ لا يُطبع في القالب إلا إن كان الرقم مضبوطاً في الإعدادات —
      رقم وهمي على موقع تجاري أسوأ من غياب الزرّ. */
/* الأزرار العائمة — اتصال + واتساب (عمود في الركن) */
.fabs{ position:fixed; inset-block-end:20px; inset-inline-end:20px; z-index:90; display:flex; flex-direction:column; gap:12px; }
.fab{
  position:relative; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; color:#fff;
  transition:transform .2s var(--ease), box-shadow .2s;
}
.fab:hover{ transform:scale(1.07); }
.fab-wa{ background:#25D366; box-shadow:0 6px 20px rgba(37,211,102,.42); }
.fab-wa:hover{ box-shadow:0 10px 28px rgba(37,211,102,.5); }
.fab-call{ background:var(--brand); box-shadow:0 6px 20px rgba(0,105,60,.38); }
.fab-call:hover{ box-shadow:0 10px 28px rgba(0,105,60,.48); }
.fab-wa::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(37,211,102,.55); animation:wapulse 2.4s infinite;
}
@keyframes wapulse{ 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); } 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); } }

@media (max-width:1080px){
  .hero{ height:clamp(430px, 66vh, 560px); }
  .sl-arrow{ width:42px; height:42px; }
  .sl-arrow.prev{ inset-inline-start:10px; }
  .sl-arrow.next{ inset-inline-end:10px; }
}
@media (max-width:640px){
  .hero{ height:clamp(400px, 64vh, 500px); }
  .slide-tx .hero-cta{ flex-direction:column; align-items:stretch; }
  .slide-tx .hero-cta .btn{ width:100%; }
  .sl-arrow{ display:none !important; }   /* السحب يكفي على اللمس */
  .fabs{ inset-block-end:14px; inset-inline-end:14px; gap:10px; }
  .fab{ width:50px; height:50px; }
}
@media (prefers-reduced-motion:reduce){
  .slide img{ animation:none; }
  .fab-wa::after{ animation:none; }
}

/* ── مواضيع المدوّنة ──────────────────────────────────────────────── */
.topics{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  padding:1rem 1.15rem; background:var(--bg-2); border:1px solid var(--line);
  border-radius:var(--r-lg); margin-block-end:2.2rem;
}
.topics-t{ display:inline-flex; align-items:center; gap:.45em; font-size:.84rem; font-weight:700; color:var(--ink-3); margin-inline-end:.3rem; }
.topics-t svg{ color:var(--accent); }
.topics a{
  display:inline-flex; align-items:center; gap:.4em;
  padding:.36em .9em; border-radius:100px; background:#fff;
  border:1px solid var(--line); font-size:.87rem; font-weight:500; color:var(--ink-2);
  transition:all .18s var(--ease);
}
.topics a:hover{ border-color:var(--brand); color:var(--brand-t); transform:translateY(-1px); }
.topics a b{ font-size:.76rem; color:var(--ink-3); font-weight:700; }
.topics-n{ margin-inline-start:auto; font-size:.83rem; color:var(--ink-3); }
.topic-h{
  font-size:1.22rem; color:var(--brand-t); margin-block:2rem 1.1rem;
  padding-block-end:.5rem; border-block-end:2px solid var(--bg-3);
  scroll-margin-block-start:calc(var(--hdr-h) + 16px);
}
.topic-h:first-of-type{ margin-block-start:0; }
@media (max-width:640px){ .topics-n{ display:none; } }

/* ── وسام الجنوب: المهن والأعلام (أيقونات الموقع القديم) والجداول (صفحة الإفصاح) والفروع ── */
.prof-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; }
.prof{ display:flex; flex-direction:column; align-items:center; gap:.6rem; padding:1.2rem .8rem; background:var(--bg); border:1px solid var(--line); border-radius:var(--r); text-decoration:none; color:var(--ink); font-weight:600; transition:transform .2s, box-shadow .2s; }
.prof:hover{ transform:translateY(-3px); box-shadow:var(--sh-sm); border-color:var(--brand); }
.prof img{ width:92px; height:92px; object-fit:contain; }
.flag-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.9rem; }
.flag{ display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:.9rem .6rem; background:var(--bg-2); border-radius:var(--r); text-decoration:none; color:var(--ink); font-weight:600; transition:transform .2s, background .2s; }
.flag:hover{ transform:translateY(-3px); background:var(--bg-3); }
.flag img{ width:96px; height:auto; }
.tbl-wrap{ overflow-x:auto; }
.tbl{ width:100%; border-collapse:collapse; font-size:.93rem; }
.tbl th,.tbl td{ padding:.6em .8em; border-bottom:1px solid var(--line); text-align:start; vertical-align:top; }
.tbl th{ background:var(--bg-3); color:var(--brand-t); font-weight:700; white-space:nowrap; }
.tbl tbody tr:hover{ background:var(--bg-2); }
.branches li{ margin-block-end:.9rem; line-height:1.7; }
.branches .phones a{ color:var(--brand-t); }
.mw-badge{ margin-block-start:.6rem; }
.mw-badge img{ width:200px; height:auto; border-radius:8px; background:#fff; padding:2px; }
.foot-dev{ color:inherit; opacity:.75; text-decoration:none; font-size:.9rem; }
.foot-dev b{ font-weight:600; opacity:1; }
.foot-dev:hover{ opacity:1; text-decoration:underline; }

/* ── الفوتر بلون غير الأخضر (طلب المالك 2026-09-26): فحمي داكن مع عناوين ذهبية من الشعار ── */
.foot{ background:linear-gradient(165deg,#22262C 0%,#171A1E 60%,#101214 100%); color:#D9DCE0; }
.foot::before{ background:rgba(243,180,47,.09); }
.foot h4{ color:var(--accent); }
.foot a:hover{ color:var(--accent); }
.foot-legal b{ color:#fff; }
.foot-bar{ border-block-start-color:rgba(255,255,255,.12); }
.foot-bar .langsw-o{ color:#C4C8CE; }
