/* ECS — integrations
   الدمج: جسر إليمنتور، وهيدر وفوتر ElementsKit، وتجاوزات الأولوية.
   هذا الملف جزء من نظام الأنماط: الترتيب في src/modules/setup.php
   هو ترتيب التتالي، فلا يُعاد ترتيبه إلا بعلم. */
/* ============================================================
   16 — ELEMENTOR BRIDGE
   إليمنتور يضع الكلاس على غلاف الويدجت، والعنصر الحقيقي بداخله.
   هذه الطبقة تمرّر نظامنا إلى الداخل.
   على الحاويات يعمل الكلاس مباشرة ولا يحتاج جسرًا.
   ============================================================ */

/* ------------------------------------------------------------
   الأزرار
   مسح لوني ينزلق من حافة البداية · سهم يتقدّم · حدّ حاد.
   كل الحركة على transform فقط — لا إعادة تخطيط، ناعمة على
   الأجهزة الضعيفة.
   ------------------------------------------------------------ */
.ecs-btn .elementor-button,
a.ecs-btn{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family: var(--ecs-sans); font-size: var(--fs-sm); font-weight:700;
  letter-spacing:-.005em;
  padding:15px 26px; min-height:50px;
  border:2px solid transparent;
  background:none; fill:currentColor;
  transition: color .28s ease, border-color .28s ease, transform .18s ease;
}
.ecs-btn--lg .elementor-button,
a.ecs-btn--lg{ padding:18px 34px; font-size: var(--fs-md); min-height:58px }

/* طبقة المسح */
.ecs-btn .elementor-button::before,
a.ecs-btn::before{
  content:""; position:absolute; inset:0; z-index:-1;
  transform:scaleX(0); transform-origin:inline-start;
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}
.ecs-btn .elementor-button:hover::before,
a.ecs-btn:hover::before{ transform:scaleX(1) }

/* سهم يتقدّم */
.ecs-btn .elementor-button-text::after{
  content:"←"; display:inline-block; margin-inline-start:10px;
  transform:translateX(0); opacity:.55;
  transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .32s ease;
}
[dir="rtl"] .ecs-btn .elementor-button:hover .elementor-button-text::after{
  transform:translateX(-7px); opacity:1;
}

.ecs-btn .elementor-button:active,
a.ecs-btn:active{ transform:translateY(1px) }

/* --- الافتراضي: زر أساسي كهرماني ---
   ⚠️ سبب وجود هذه القاعدة: الأساس يضع background:none، فأي زر
   كُتب بـ .ecs-btn بلا صيغة كان يخرج بخلفية شفافة ونص أبيض
   (إليمنتور يلوّن .elementor-button أبيض افتراضيًا) — أي نص
   غير مرئي فوق الأقسام الفاتحة. المكوّن لا يجوز أن يختفي أبدًا. */
.ecs-btn:not([class*="ecs-btn--"]) .elementor-button,
a.ecs-btn:not([class*="ecs-btn--"]){
  background: var(--ecs-hv); color: var(--ecs-hv-ink);
}
.ecs-btn:not([class*="ecs-btn--"]) .elementor-button::before,
a.ecs-btn:not([class*="ecs-btn--"])::before{ background: var(--ecs-ink) }
.ecs-btn:not([class*="ecs-btn--"]) .elementor-button:hover,
a.ecs-btn:not([class*="ecs-btn--"]):hover{ color:#fff }

/* فوق الخلفيات الداكنة يصير الافتراضي شبحيًا، فيقرأ كإجراء ثانوٍ
   بدل زرّين كهرمانيين متجاورين في قسم واحد. */
.ecs-dark  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button,
.ecs-panel .ecs-btn:not([class*="ecs-btn--"]) .elementor-button,
.ecs-hero  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button{
  background:transparent; border-color: rgba(255,255,255,.38); color:#fff;
}
.ecs-dark  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button::before,
.ecs-panel .ecs-btn:not([class*="ecs-btn--"]) .elementor-button::before,
.ecs-hero  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button::before{ background:#fff }
.ecs-dark  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button:hover,
.ecs-panel .ecs-btn:not([class*="ecs-btn--"]) .elementor-button:hover,
.ecs-hero  .ecs-btn:not([class*="ecs-btn--"]) .elementor-button:hover{
  color: var(--ecs-ink); border-color:#fff;
}

/* --- كحلي --- */
.ecs-btn--ink .elementor-button,
a.ecs-btn--ink{ background: var(--ecs-ink); color:#fff }
.ecs-btn--ink .elementor-button::before,
a.ecs-btn--ink::before{ background: var(--ecs-hv) }
.ecs-btn--ink .elementor-button:hover,
a.ecs-btn--ink:hover{ color: var(--ecs-hv-ink) }

/* --- كهرماني: الزر الأساسي --- */
.ecs-btn--hv .elementor-button,
a.ecs-btn--hv{
  background: var(--ecs-hv); color: var(--ecs-hv-ink);
  box-shadow:0 0 0 0 rgba(242,160,7,.42);
  transition: color .28s ease, box-shadow .34s ease, transform .18s ease;
}
.ecs-btn--hv .elementor-button::before,
a.ecs-btn--hv::before{ background: var(--ecs-ink) }
.ecs-btn--hv .elementor-button:hover,
a.ecs-btn--hv:hover{ color:#fff; box-shadow:0 10px 26px -12px rgba(242,160,7,.75) }

/* --- محدّد --- */
.ecs-btn--line .elementor-button,
a.ecs-btn--line{ border-color: var(--ecs-ink); color: var(--ecs-ink) }
.ecs-btn--line .elementor-button::before,
a.ecs-btn--line::before{ background: var(--ecs-ink) }
.ecs-btn--line .elementor-button:hover,
a.ecs-btn--line:hover{ color:#fff }

/* --- شبحي على الداكن --- */
.ecs-btn--ghost .elementor-button,
a.ecs-btn--ghost{ border-color: rgba(255,255,255,.34); color:#fff }
.ecs-btn--ghost .elementor-button::before,
a.ecs-btn--ghost::before{ background:#fff }
.ecs-btn--ghost .elementor-button:hover,
a.ecs-btn--ghost:hover{ color: var(--ecs-ink); border-color:#fff }

@media (prefers-reduced-motion: reduce){
  .ecs-btn .elementor-button::before,
  a.ecs-btn::before{ transition:none }
  .ecs-btn .elementor-button-text::after{ transition:none }
}

@media (max-width: 767px){
  .ecs-btn, .ecs-btn .elementor-button{ width:100% }
}

/* --- العنوان التمهيدي --- */
.ecs-eyebrow .elementor-heading-title{
  display:inline-block;
  font-family: var(--ecs-sans);
  font-size: var(--fs-xxs); font-weight:700; letter-spacing:.08em; line-height:1.6;
  color: var(--ecs-hv-d);
  border-bottom:2px solid var(--ecs-hv);
  padding-bottom:5px;
}
.ecs-dark .ecs-eyebrow .elementor-heading-title{ color: var(--ecs-hv) }

/* --- النص التمهيدي --- */
.ecs-lede, .ecs-lede p{
  font-size: var(--ecs-lg); color: var(--ecs-muted); line-height:1.8; max-width:62ch;
}
.ecs-dark .ecs-lede, .ecs-dark .ecs-lede p{ color:#AEC0D3 }

/* --- الجملة المفتاحية --- */
.ecs-punch .elementor-heading-title{
  display:block; background: var(--ecs-ink); color:#fff;
  padding:26px 30px; font-weight:700; line-height:1.45;
  font-size: clamp(19px, 2vw, 28px);
}
.ecs-punch em, .ecs-punch b{ color: var(--ecs-hv); font-style:normal }

/* --- قائمة الأيقونات → قائمتنا ذات النقاط المربعة --- */
.ecs-list .elementor-icon-list-items{ margin:0; padding:0 }
.ecs-list .elementor-icon-list-item{
  padding:9px 0; border-top:1px solid var(--ecs-line);
  font-size: var(--fs-sm); align-items:flex-start;
}
.ecs-list .elementor-icon-list-icon{ display:none }
.ecs-list .elementor-icon-list-item::before{
  content:""; width:6px; height:6px; background: var(--ecs-hv);
  flex:none; margin-top:9px; margin-inline-end:10px;
}
.ecs-dark .ecs-list .elementor-icon-list-item{ border-top-color: var(--ecs-line-d); color:#C3D2E2 }

/* --- أدوات نصية عامة تعمل على أي ويدجت عنوان --- */
.ecs-t-num .elementor-heading-title{
  font-family:'Barlow Condensed',sans-serif; font-variant-numeric:tabular-nums;
  font-size: var(--fs-num-l); font-weight:700; line-height:.85; color: var(--ecs-hv);
}
.ecs-t-kicker .elementor-heading-title{
  font-family: var(--ecs-sans);
  font-size: var(--fs-xxs); font-weight:700; letter-spacing:.06em; line-height:1.6;
  color: var(--ecs-hv-d);
}
.ecs-dark .ecs-t-kicker .elementor-heading-title{ color: var(--ecs-hv) }

.ecs-t-muted, .ecs-t-muted p,
.ecs-t-muted .elementor-heading-title{
  font-size: var(--fs-xs); font-weight:400; color: var(--ecs-muted); line-height:1.8;
}
.ecs-dark .ecs-t-muted, .ecs-dark .ecs-t-muted p{ color:#7E93AC }

/* --- رابط «تفاصيل الخدمة» --- */
.ecs-more .elementor-heading-title,
.ecs-more a{
  display:inline-block; font-family: var(--ecs-sans);
  font-size: var(--fs-sm); font-weight:700; color: var(--ecs-ink);
  border-bottom:2px solid var(--ecs-hv); padding-bottom:2px;
}
.ecs-dark .ecs-more .elementor-heading-title,
.ecs-dark .ecs-more a{ color:#fff }

/* --- خانة صورة مجهّزة للاستبدال لاحقًا --- */
.ecs-imgslot{
  display:grid; place-items:center; min-height:260px;
  border:1px dashed var(--ecs-line);
  background:
    repeating-linear-gradient(135deg, transparent 0 14px, rgba(15,29,44,.035) 14px 28px);
  color: var(--ecs-muted); font-size: var(--fs-xs); text-align:center; padding:24px;
}
.ecs-dark .ecs-imgslot{ border-color: var(--ecs-line-d); color:#7E93AC }

/* ============================================================
   17 — SIGNATURE
   العناصر التي تصنع الطابع الصناعي. بدونها التصميم «نظيف» فقط،
   وبها يصبح له صوت.
   القاعدة الحاكمة: صفر انحناء. كل شيء حاد.
   ============================================================ */

*, *::before, *::after{ border-radius:0 !important }

/* --- الهيرو --- */
/* ثلاث طبقات: الشريط المائل على الخلفية · الشبكة في ::before ·
   ختم النمر في ::after. كل طبقة بشفافيتها الخاصة. */
.ecs-hero{
  position:relative; overflow:hidden;
  background-image: repeating-linear-gradient(135deg,
    var(--ecs-hv) 0 16px, var(--ecs-ink) 16px 32px) !important;
  background-size:100% 6px !important;
  background-position:top left !important;
  background-repeat:no-repeat !important;
}

/* شبكة البلوبرنت + تلاشٍ قطري يعطي عمقًا */
.ecs-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--ecs-line-d) 1px, transparent 1px),
    linear-gradient(90deg, var(--ecs-line-d) 1px, transparent 1px);
  background-size:78px 78px, 78px 78px;
  opacity:.42;
  -webkit-mask-image: radial-gradient(120% 90% at 78% 22%, #000 0%, rgba(0,0,0,.35) 55%, transparent 88%);
          mask-image: radial-gradient(120% 90% at 78% 22%, #000 0%, rgba(0,0,0,.35) 55%, transparent 88%);
}

/* ختم النمر — علامة مائية تنزف من حافة الهيرو */
.ecs-hero::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  inset-inline-start:-160px; bottom:-190px;
  width:640px; height:640px;
  background:url('assets/mark-white.webp') no-repeat center/contain;
  opacity:.055;
}

.ecs-hero > *{ position:relative; z-index:1 }

@media (max-width: 767px){
  .ecs-hero::after{ width:400px; height:400px; inset-inline-start:-140px; bottom:-130px; opacity:.05 }
  .ecs-hero::before{ background-size:52px 52px, 52px 52px }
}

/* ============================================================
   19 — HEADER
   ============================================================ */

.ecs-shell{
  max-width: var(--ecs-maxw);
  margin-inline:auto;
  padding-inline: var(--ecs-gut);
  display:flex; align-items:center; gap:28px;
}

/* --- الشريط العلوي --- */
.ecs-topbar{
  background: var(--ecs-ink-deep); color:#8FA4BB;
  font-size: var(--fs-xs); line-height:1;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ecs-topbar .ecs-shell{ height:40px; justify-content:space-between; gap:16px }
.ecs-topbar__r{ display:flex; align-items:center; gap:22px }
.ecs-topbar a{ color:#8FA4BB; transition:var(--ecs-tr) }
.ecs-topbar a:hover{ color:var(--ecs-hv) }
.ecs-topbar .ecs-num{ font-size: var(--fs-sm); letter-spacing:.02em; color:#C3D2E2 }

/* --- الهيدر --- */
.ecs-head{
  position:sticky; top:0; z-index:80;
  background: rgba(244,245,243,.94);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
          backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--ecs-line);
}
.ecs-head .ecs-shell{ height:84px }

.ecs-head__brand{ flex:none; display:flex; align-items:center }
.ecs-head__brand img{ height:50px; width:auto; display:block }

.ecs-nav{ margin-inline-start:auto }
.ecs-nav__list{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap:26px;
}
.ecs-nav__list a{
  position:relative; display:block; padding-block:6px;
  font-size: var(--fs-sm); font-weight:600; color:var(--ecs-body);
  transition:var(--ecs-tr);
}
.ecs-nav__list a::after{
  content:""; position:absolute; bottom:0; inset-inline-start:0;
  width:0; height:2px; background:var(--ecs-hv); transition:var(--ecs-tr);
}
.ecs-nav__list a:hover{ color:var(--ecs-ink) }
.ecs-nav__list a:hover::after,
.ecs-nav__list .current-menu-item > a::after{ width:100% }

.ecs-head__cta{ flex:none; padding:13px 24px !important; min-height:auto !important }

.ecs-burger{
  display:none; flex:none;
  width:46px; height:44px; cursor:pointer;
  background:none; border:1px solid var(--ecs-line);
  flex-direction:column; align-items:center; justify-content:center; gap:4px;
}
.ecs-burger i{ width:18px; height:2px; background:var(--ecs-ink); display:block; transition:var(--ecs-tr) }

/* نخفي هيدر وفوتر هلو إليمنتور الافتراضيين */
.site-header,
header.site-header,
.site-footer,
footer.site-footer{ display:none !important }

/* هيدر الثيم يتنحّى تلقائيًا متى عمل هيدر ElementsKit */
body:has(.ekit-template-content-header) .ecs-topbar,
body:has(.ekit-template-content-header) .ecs-head,
body:has([data-elementor-type="header"]) .ecs-topbar,
body:has([data-elementor-type="header"]) .ecs-head{ display:none !important }

/* ============================================================
   20 — FULL-BLEED SPLIT
   قسم بعرض الشاشة، نصفه نص محاذٍ لحاوية الموقع
   ونصفه لوح ينزف إلى حافة الشاشة.
   ============================================================ */

.e-con.ecs-bleed{
  max-width:100% !important;
  width:100% !important;
  padding-inline:0 !important;
}
.e-con.ecs-bleed > .e-con-inner{ max-width:100% !important; width:100% !important }

.e-con.ecs-split{
  display:grid !important;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  align-items:stretch;
  max-width:100% !important;
  padding:0 !important;
}

/* عمود النص: حافته الخارجية على خط حاوية الموقع */
.e-con.ecs-split > *:first-child{
  padding-block: var(--ecs-sect);
  padding-inline-start: max(var(--ecs-gut), calc((100vw - var(--ecs-maxw)) / 2));
  padding-inline-end: clamp(30px, 4.6vw, 74px);
  display:flex; flex-direction:column; justify-content:center;
}

/* اللوح: ينزف إلى الحافة */
.e-con.ecs-split > *:last-child{
  padding-block: var(--ecs-sect);
  padding-inline-start: clamp(30px, 4.6vw, 74px);
  padding-inline-end: max(var(--ecs-gut), calc((100vw - var(--ecs-maxw)) / 2));
  display:flex; flex-direction:column; justify-content:center;
}

@media (max-width: 900px){
  .e-con.ecs-split{ grid-template-columns:1fr }
  .e-con.ecs-split > *{
    padding-inline: var(--ecs-gut) !important;
    padding-block: calc(var(--ecs-sect) * .7);
  }
}

/* لوح داكن يحمل محتوى — بديل خانة الصورة الفارغة */
.e-con.ecs-panel{
  background: var(--ecs-ink);
  position:relative; overflow:hidden;
}
.e-con.ecs-panel::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  inset-inline-end:-120px; bottom:-150px; width:460px; height:460px;
  background:url('assets/mark-white.webp') no-repeat center/contain;
  opacity:.06;
}
.e-con.ecs-panel > *{ position:relative; z-index:1 }

/* شرائح الممرات الصناعية */
.ecs-chips .elementor-icon-list-items{
  display:flex; flex-wrap:wrap; gap:9px; margin:0; padding:0;
}
.ecs-chips .elementor-icon-list-item{
  border:1px solid var(--ecs-line-d);
  padding:11px 17px; font-size: var(--fs-sm); font-weight:600;
  color:#C3D2E2; transition:var(--ecs-tr);
}
.ecs-chips .elementor-icon-list-item:hover{
  border-color: var(--ecs-hv); color:#fff;
}
.ecs-chips .elementor-icon-list-icon{ display:none }

@media (max-width: 1100px){
  .ecs-nav__list{ gap:18px }
  .ecs-nav__list a{ font-size: var(--fs-sm) }
}
@media (max-width: 900px){
  .ecs-topbar{ display:none }
  .ecs-head .ecs-shell{ height:70px; gap:14px }
  .ecs-head__brand img{ height:40px }
  .ecs-head__cta{ display:none }
  .ecs-burger{ display:flex }
  .ecs-nav{
    position:absolute; inset-inline:0; top:100%;
    background:var(--ecs-white); border-bottom:1px solid var(--ecs-line);
    padding:14px var(--ecs-gut) 20px;
    box-shadow:0 20px 34px -22px rgba(15,29,44,.4);
    display:none;
  }
  .ecs-head.is-open .ecs-nav{ display:block }
  .ecs-nav__list{ flex-direction:column; align-items:stretch; gap:0 }
  .ecs-nav__list a{ padding:14px 0; border-bottom:1px solid var(--ecs-line); font-size: var(--fs-md) }
}

/* شريط مائل مستقل — فاصل بين الأقسام */
.ecs-zig{
  height:6px;
  background: repeating-linear-gradient(135deg,
    var(--ecs-hv) 0 16px, var(--ecs-ink) 16px 32px);
}

/* --- وسم الهيرو: إطار + مربع كهرماني --- */
.ecs-tag .elementor-heading-title{
  display:inline-flex; align-items:center; gap:10px;
  font-family: var(--ecs-sans); font-size: var(--fs-xs); font-weight:400; line-height:1.6;
  color: var(--ecs-muted-d); border:1px solid var(--ecs-line-d); padding:8px 15px;
}
.ecs-tag .elementor-heading-title::before{
  content:""; width:7px; height:7px; background: var(--ecs-hv); flex:none;
}

/* --- شريط الأرقام بفواصل رأسية --- */
.ecs-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--ecs-line-d);
}
.ecs-stats > *{
  padding:26px 22px 0;
  border-inline-start:1px solid var(--ecs-line-d);
}
.ecs-stats > *:first-child{ border-inline-start:0; padding-inline-start:0 }

@media (max-width: 767px){
  .ecs-stats{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .ecs-stats > *{ border-inline-start:0; padding-inline-start:0;
    border-top:1px solid var(--ecs-line-d); padding-block:20px 0 }
  .ecs-stats > *:first-child,
  .ecs-stats > *:nth-child(2){ border-top:0 }
}

/* --- الفورك: شريط علوي كحلي سميك --- */
.ecs-fork__panel{ border-top:5px solid var(--ecs-ink) }

/* --- البطاقات: تفاعل كهرماني --- */
.ecs-card{ transition: var(--ecs-tr); position:relative }
.ecs-card:hover{ background: var(--ecs-hv-soft) }
.ecs-card::after{
  content:""; position:absolute; inset-block-start:0; inset-inline-start:0;
  width:0; height:3px; background: var(--ecs-hv); transition: var(--ecs-tr);
}
.ecs-card:hover::after{ width:100% }

/* --- الخطوة: رقم ضخم وحد فاصل --- */
.ecs-step{ border-inline-start:1px solid var(--ecs-line) }
.ecs-step:first-child{ border-inline-start:0 }

/* --- صندوق القانون --- */
.ecs-lawbox{
  border:1px solid var(--ecs-line-d);
  background: rgba(255,255,255,.03);
}
.ecs-lawbox .elementor-icon-list-item{
  padding:13px 0; border-top:1px solid var(--ecs-line-d); color:#C3D2E2;
}

/* --- صندوق Sedex --- */
.ecs-sdx{
  border:1px solid var(--ecs-line-d);
  background: rgba(242,160,7,.07);
}

/* --- شريحة اعتماد --- */
.ecs-chip .elementor-heading-title{
  display:inline-block; font-family: var(--ecs-sans);
  font-size: var(--fs-xxs); font-weight:700; letter-spacing:.02em;
  border:1px solid var(--ecs-hv); color: var(--ecs-hv); padding:6px 12px;
}

/* جدار العملاء: القسم 11 */

/* --- صف الوظيفة --- */
.ecs-jobrow{
  border:1px solid #E6D9B8; background: var(--ecs-white);
  transition: var(--ecs-tr);
}
.ecs-jobrow:hover{ border-color: var(--ecs-hv) }

/* --- شريط سفلي ثابت للموبايل --- */
.ecs-bar{ display:none }
@media (max-width: 767px){
  .ecs-bar{
    display:grid !important; grid-template-columns:1fr 1fr; gap:9px;
    position:fixed; inset-inline:0; bottom:0; z-index:90;
    background: var(--ecs-ink); padding:9px;
    padding-bottom: calc(9px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 28px rgba(5,13,24,.32);
  }
  .ecs-bar .ecs-btn{ margin:0 }
}

/* ============================================================
   18 — SPECIFICITY OVERRIDE
   ملف الثيم يُحمَّل قبل elementor/frontend.min.css، وقاعدة
   `.e-con{display:flex}` تهزم `.ecs-grid-3{display:grid}`
   لتساوي القوة وتأخّر المصدر.
   الحل: نسبق كل قاعدة تخطيط بـ .e-con فترتفع قوتها (0,2,0).
   ============================================================ */

.e-con.ecs-grid-2,
.e-con.ecs-grid-3,
.e-con.ecs-grid-4,
.e-con.ecs-grid-5,
.e-con.ecs-stats{
  display:grid !important;
  align-items:stretch;
}

.e-con.ecs-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ecs-gap) }
.e-con.ecs-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ecs-gap) }
.e-con.ecs-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ecs-gap) }
.e-con.ecs-grid-5{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--ecs-gap) }

.e-con.ecs-grid-tight{ gap:0; background:transparent; border:0 }
.e-con.ecs-grid-tight > *{ background:var(--ecs-white); box-shadow:0 0 0 1px var(--ecs-line) }

/* شريط الأرقام: أعمدة متساوية بفواصل رأسية */
.e-con.ecs-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--ecs-line-d);
}
.e-con.ecs-stats > *{
  padding:26px 22px 0;
  border-inline-start:1px solid var(--ecs-line-d);
}
.e-con.ecs-stats > *:first-child{ border-inline-start:0; padding-inline-start:0 }

/* جدار العملاء: فليكس لا شبكة — القسم 11 */

/* حدود البطاقات والخطوات */
.e-con.ecs-step{ border-inline-start:1px solid var(--ecs-line) }
.e-con.ecs-step:first-child{ border-inline-start:0 }
.e-con.ecs-card{ transition:var(--ecs-tr); position:relative }
.e-con.ecs-card:hover{ background:var(--ecs-hv-soft) }

/* الأقسام: حشو رأسي */
.e-con.ecs-sec{ padding-block:var(--ecs-sect) }
.e-con.ecs-sec--tight{ padding-block:calc(var(--ecs-sect) * .62) }

/* الفورك */
.e-con.ecs-fork__panel{ border-top:5px solid var(--ecs-ink) }

/* خانة الصورة */
.e-con.ecs-imgslot{
  display:grid !important; place-items:center; min-height:260px;
  border:1px dashed var(--ecs-line);
}

/* شبكات التخطيط الباقية — نفس سبب القسم: .e-con{display:flex} يهزمها */
.e-con.ecs-steps,
.e-con.ecs-cards,
.e-con.ecs-fork{ display:grid !important; align-items:stretch }

.e-con.ecs-steps{
  grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
  border:1px solid var(--ecs-line); background:var(--ecs-white);
}
.e-con.ecs-cards{
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;
  background:var(--ecs-line); border:1px solid var(--ecs-line);
}
.e-con.ecs-fork{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 }

/* حشو الكتل التي يصفّره إليمنتور على الحاويات */
.e-con.ecs-step  { padding:34px 30px }
.e-con.ecs-card  { padding:34px 30px }
.e-con.ecs-lawbox{ padding:32px }
.e-con.ecs-sdx   { padding:24px 26px }
.e-con.ecs-punch { padding:26px 30px }

@media (max-width: 1024px){
  .e-con.ecs-steps{ grid-template-columns:1fr }
  .e-con.ecs-steps > *{ border-inline-start:0; border-top:1px solid var(--ecs-line) }
  .e-con.ecs-steps > *:first-child{ border-top:0 }
}
@media (max-width: 767px){
  .e-con.ecs-cards,
  .e-con.ecs-fork{ grid-template-columns:1fr }
}

/* الشريط السفلي للموبايل */
@media (max-width: 767px){
  .e-con.ecs-bar{ display:grid !important; grid-template-columns:1fr 1fr; gap:9px }
}
@media (min-width: 768px){
  .e-con.ecs-bar{ display:none !important }
}

/* ---- التجاوب على الشبكات عالية الأولوية ---- */
@media (max-width: 1024px){
  .e-con.ecs-grid-3,
  .e-con.ecs-grid-4,
  .e-con.ecs-grid-5{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .e-con.ecs-stats{ grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (max-width: 767px){
  .e-con.ecs-grid-2,
  .e-con.ecs-grid-3,
  .e-con.ecs-grid-4,
  .e-con.ecs-grid-5{ grid-template-columns:1fr }
  .e-con.ecs-stats > *{
    border-inline-start:0; padding-inline-start:0;
    border-top:1px solid var(--ecs-line-d);
  }
  .e-con.ecs-stats > *:first-child,
  .e-con.ecs-stats > *:nth-child(2){ border-top:0 }
  .e-con.ecs-step{ border-inline-start:0; border-top:1px solid var(--ecs-line) }
  .e-con.ecs-step:first-child{ border-top:0 }
}

/* ============================================================
   21 — ELEMENTSKIT HEADER / FOOTER
   القوالب مبنية داخل ElementsKit لتظهر على كل الموقع
   ويحرّرها فريق ECS من الواجهة.
   ============================================================ */

/* --- الشريط العلوي --- */
.e-con.ecs-ektop{ border-bottom:1px solid rgba(255,255,255,.07) }
.ecs-ektop__l .elementor-heading-title,
.ecs-ektop__r .elementor-heading-title{
  font-family:var(--ecs-sans); font-size: var(--fs-xs); font-weight:400;
  color:#8FA4BB; line-height:1.4;
}
.ecs-ektop__r .elementor-heading-title{ display:flex; align-items:center; gap:14px; justify-content:flex-end }
.ecs-ektop a{ color:#8FA4BB; transition:var(--ecs-tr) }
.ecs-ektop a:hover{ color:var(--ecs-hv) }
.ecs-ektop .ecs-num{ color:#C3D2E2; font-size: var(--fs-sm) }
.ecs-ektop span{ color:#627EA1 }

/* --- الهيدر --- */
.e-con.ecs-ekhead{
  position:sticky; top:0; z-index:80;
  background:rgba(244,245,243,.94) !important;
  -webkit-backdrop-filter:saturate(180%) blur(14px);
          backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--ecs-line);
}
/* الشعار: نستهدف أي صورة داخل الهيدر مهما كان نوع الويدجت،
   حتى يبقى المقاس محكومًا بعد أي تعديل من المحرّر. */
.ecs-ekbrand{ flex:none }
.e-con.ecs-ekhead img,
.ecs-ekbrand img{
  height:50px !important;
  width:auto !important;
  max-width:none !important;
  display:block;
  object-fit:contain;
}
.e-con.ecs-ekhead .elementor-widget-image{ flex:none; width:auto !important }
.e-con.ecs-ekhead .elementor-widget-image .elementor-widget-container{ line-height:0 }

.ecs-eknav{ margin-inline-start:auto }
.ecs-eknav .elementor-heading-title{
  display:flex; align-items:center; gap:26px; font-size:0;
}
/* إليمنتور يفرض font-size:inherit على الروابط داخل العناوين
   بقوة 0,2,1 — فنرفع قوتنا فوقها، وإلا ورثت الصفر واختفت. */
.ecs-eknav .elementor-heading-title a,
.ecs-eknav a{
  position:relative; display:block; padding-block:7px;
  font-family:var(--ecs-sans); font-size: var(--fs-sm) !important; font-weight:600;
  color:var(--ecs-body); transition:var(--ecs-tr); white-space:nowrap;
  line-height:1.5;
}
.ecs-eknav a::after{
  content:""; position:absolute; bottom:0; inset-inline-start:0;
  width:0; height:2px; background:var(--ecs-hv); transition:var(--ecs-tr);
}
.ecs-eknav a:hover{ color:var(--ecs-ink) }
.ecs-eknav a:hover::after{ width:100% }

.ecs-ekcta{ flex:none }
.ecs-ekcta .elementor-button{ min-height:46px !important; padding:12px 24px !important }

@media (max-width: 1100px){
  .ecs-eknav .elementor-heading-title{ gap:16px }
  .ecs-eknav a{ font-size: var(--fs-xs) }
}
/* --- زر القائمة ولوحتها (يُبنيان من assets/ecs.js) ---
   كانت الروابط السبعة تلتف سطرين فيصير الهيدر 176px على الهاتف،
   أي ربع الشاشة لشريط ثابت. الآن: شعار + زر = 68px. */
.ecs-ekburger{
  display:none; flex:none;
  width:46px; height:46px; padding:0;
  align-items:center; justify-content:center; flex-direction:column; gap:5px;
  background:transparent; border:1px solid var(--ecs-line); cursor:pointer;
  transition: border-color var(--ecs-tr), background var(--ecs-tr);
}
.ecs-ekburger:hover{ border-color: var(--ecs-ink) }
.ecs-ekburger span{
  display:block; width:20px; height:2px; background: var(--ecs-ink);
  transition: transform .28s cubic-bezier(.22,.61,.36,1), opacity .18s ease;
}
.ecs-ekhead.is-open .ecs-ekburger{ background: var(--ecs-ink); border-color: var(--ecs-ink) }
.ecs-ekhead.is-open .ecs-ekburger span{ background:#fff }
.ecs-ekhead.is-open .ecs-ekburger span:nth-child(1){ transform: translateY(7px) rotate(45deg) }
.ecs-ekhead.is-open .ecs-ekburger span:nth-child(2){ opacity:0 }
.ecs-ekhead.is-open .ecs-ekburger span:nth-child(3){ transform: translateY(-7px) rotate(-45deg) }

.ecs-ekpanel{ display:none }

@media (max-width: 900px){
  .e-con.ecs-ektop{ display:none !important }
  .e-con.ecs-ekhead img,
  .ecs-ekbrand img{ height:38px !important }

  .ecs-ekburger{ display:inline-flex }

  .e-con.ecs-ekhead > .e-con{ position:static }
  .e-con.ecs-ekhead .e-con-inner{
    display:flex !important; flex-wrap:nowrap;
    align-items:center; justify-content:space-between; gap:12px;
    padding-block:11px;
  }

  /* اللوحة تنزلق بارتفاع محسوب تلقائيًا — بلا أرقام مثبّتة */
  .ecs-ekpanel{
    display:grid; grid-template-rows:0fr;
    position:absolute; top:100%; inset-inline:0; z-index:79;
    background: var(--ecs-white);
    border-bottom:1px solid var(--ecs-line);
    box-shadow:0 26px 44px -30px rgba(15,29,44,.5);
    overflow:hidden;
    transition: grid-template-rows .34s cubic-bezier(.22,.61,.36,1);
  }
  .ecs-ekhead.is-open .ecs-ekpanel{ grid-template-rows:1fr }
  .ecs-ekpanel > .ecs-ekpanel__in{ min-height:0; overflow:hidden }

  .ecs-ekpanel .ecs-eknav{ margin:0; width:100% }
  .ecs-ekpanel .ecs-eknav .elementor-heading-title{
    display:flex; flex-direction:column; align-items:stretch; gap:0; font-size:0;
  }
  .ecs-ekpanel .ecs-eknav a{
    display:flex; align-items:center; min-height:52px;
    padding:0 var(--ecs-gut);
    font-size: var(--fs-md) !important; font-weight:600;
    border-bottom:1px solid var(--ecs-line);
    white-space:normal;
  }
  .ecs-ekpanel .ecs-eknav a::after{ display:none }
  .ecs-ekpanel .ecs-eknav a:active{ background: var(--ecs-hv-soft) }

  .ecs-ekpanel .ecs-ekcta{
    display:block; width:100%; padding:16px var(--ecs-gut) 20px;
  }
  .ecs-ekpanel .ecs-ekcta .elementor-button{ width:100%; justify-content:center }

  /* الهاتف والبريد أهم رابطين على الجوال — ومساحتهما كانت 24px */
  .ecs-specs a,
  .ecs-list a,
  .ecs-addr a,
  .ecs-marks a,
  a[href^="tel:"],
  a[href^="mailto:"],
  a[href^="https://wa.me"]{
    display:inline-flex; align-items:center; min-height:44px;
  }

  /* روابط البطاقات: 18px ارتفاعًا لا تُلمس بإبهام */
  .ecs-card a,
  .ecs-role a,
  .ecs-sdx a,
  .ecs-more a,
  .ecs-more .elementor-heading-title{
    display:inline-flex; align-items:center; min-height:44px;
  }

  /* أهداف لمس الفوتر: 15px لا تُلمس */
  .ecs-ekfoot .elementor-icon-list-item{ min-height:44px; display:flex; align-items:center }
  .ecs-ekfoot .elementor-icon-list-item a,
  .ecs-ekfoot__links a{ display:flex; align-items:center; min-height:44px; width:100% }
}

/* --- الفوتر --- */
.e-con.ecs-ekfoot__grid{
  display:grid !important;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:40px;
  align-items:start;
}
.ecs-ekfoot__brand img{ height:52px; width:auto; display:block }

.ecs-ekfoot__h .elementor-heading-title{
  font-family:var(--ecs-sans); font-size: var(--fs-xs); font-weight:700;
  letter-spacing:.06em; color:var(--ecs-hv); margin-bottom:4px;
}
.ecs-ekfoot__links .elementor-heading-title{
  display:flex; flex-direction:column; gap:11px; font-size:0;
}
.ecs-ekfoot__links .elementor-heading-title a,
.ecs-ekfoot__links a{
  font-family:var(--ecs-sans); font-size: var(--fs-sm) !important; font-weight:400;
  color:#93A6BC; transition:var(--ecs-tr); line-height:1.5;
}
.ecs-ekfoot__links a:hover{ color:#fff }

.ecs-ekfoot .ecs-list .elementor-icon-list-item{
  border-top-color:var(--ecs-line-d); color:#93A6BC; font-size: var(--fs-sm);
}
.ecs-ekfoot .ecs-list a{ color:#C3D2E2 }
.ecs-ekfoot .ecs-list a:hover{ color:var(--ecs-hv) }

.ecs-ekfoot__bottom .elementor-heading-title{
  font-family:var(--ecs-sans); font-size: var(--fs-xs); font-weight:400;
  color:#5C7392; border-top:1px solid var(--ecs-line-d);
  padding-top:22px; margin-top:44px;
}

@media (max-width: 900px){
  .e-con.ecs-ekfoot__grid{ grid-template-columns:1fr 1fr; gap:32px }
}
@media (max-width: 600px){
  .e-con.ecs-ekfoot__grid{ grid-template-columns:1fr }
}

/* ============================================================
   قراءة القائمة المنسدلة — تباين
   خلفية القائمة ‎#F4F4F4‎ ورابطها الافتراضي ‎#707070‎: النسبة 3.04:1
   وهي دون AA عند 14px. والعنصر الحالي كان يأخذ الكهرماني فيسقط إلى 2.0
   لأن الكهرماني لون خلفية لا لون نصّ فوق الفاتح. النصّ هنا داكن،
   والعلامة الكهرمانية شريط جانبي.
   ============================================================ */
.elementskit-dropdown a,
.elementskit-submenu a,
.elementskit-menu-offcanvas-elements .elementskit-navbar-nav a{
  color: var(--ecs-body);
}
.elementskit-dropdown a:hover,
.elementskit-submenu a:hover,
.elementskit-menu-offcanvas-elements .elementskit-navbar-nav a:hover{
  color: var(--ecs-ink);
}
.elementskit-dropdown a.is-here,
.elementskit-submenu a.is-here,
.elementskit-menu-offcanvas-elements .elementskit-navbar-nav a.is-here{
  color: var(--ecs-ink);
  font-weight: 600;
  position: relative;
}
.elementskit-dropdown a.is-here::before,
.elementskit-submenu a.is-here::before,
.elementskit-menu-offcanvas-elements .elementskit-navbar-nav a.is-here::before{
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  width: 3px;
  height: 1.05em;
  transform: translateY(-50%);
  border-radius: 2px;
  background: var(--ecs-hv-d);
}

/* ============================================================
   قائمة الجوال — مساحة اللمس
   روابط القائمة الفرعية كانت 31px، ومعيار اللمس 44px. ثماني خدمات
   متلاصقة بهذا الارتفاع تعني ضغطة خاطئة على هاتف في يد واحدة.
   ============================================================ */
@media (max-width: 1024px) {
  .elementskit-menu-offcanvas-elements .elementskit-dropdown a,
  .elementskit-menu-container .elementskit-dropdown a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
