/* ══════════════════════════════════════════════════════════════════════════
   site.css — القواعد المشتركة لكل صفحات الموقع (الهيدر، الناف بار، الفوتر،
   المتغيّرات، الأيقونات، ودجت الوصول، مسار التنقّل).

   تُحمَّل في <head> كل صفحة **قبل** ملف الصفحة الخاص، فيستطيع الأخير تجاوزها.
   لا تكرّر أياً من هذه القواعد في ملفات الصفحات — عدّلها هنا مرة واحدة.
   ══════════════════════════════════════════════════════════════════════════ */


.main-logo img,.navbar-brand img{height:48px!important;width:auto!important;max-height:48px!important;max-width:140px!important}
.main-logo,.navbar-brand{height:48px!important;min-height:48px!important;max-height:48px!important}
.hero-img video{width:100%;height:100%;min-height:548px;object-fit:cover;display:block}
.hero .swiper-slide:first-child .hero-description{
  max-width:720px!important;
  font-size:17px!important;
  line-height:1.8!important;
  font-weight:400!important;
  margin-top:10px!important;
  margin-bottom:20px!important;
}
@media (max-width:768px){
  .hero .swiper-slide:first-child .hero-description{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.7!important;
    margin-top:7px!important;
    margin-bottom:14px!important;
  }
}
.hugeicon{display:inline-block;vertical-align:middle;flex:none;color:currentColor}
.details-icon .hugeicon,.statistics-card .hugeicon,.announcement-icon{color:#1b8354}
.menu-tablet{flex-wrap:nowrap;align-items:center}
.menu-tablet .nav-item span{white-space:nowrap}
.navbar .nav-actions .nav-item span{white-space:nowrap}
/* تباعد القائمة الرئيسية على الديسكتوب — مطابق لصفحة الرئيسية.
   كانت flex:1 1 auto + space-between: القائمة تتمدّد لكل العرض ثم تدفع
   عناصرها للطرفين، فتتضخّم الفجوات كلما كبرت الشاشة بلا حد.
   الـgap ضروري لأن .navbar-nav .nav-link له padding أفقي = 0. */
/* السلوك الأصلي لكل الديسكتوب: القائمة تتمدّد والمسافات تتوزّع بينها.
   flex:1 1 auto مهم — لا يسمح بانكماش العناصر، فلا يلتفّ أي عنصر. */
@media (min-width:1200px){.navbar .navbar-collapse>ul.navbar-nav:not(.nav-actions){flex:1 1 auto!important;justify-content:space-between!important}}
/* على الشاشات العريضة (≥1700px) يصبح space-between
   مبالغاً فيه — الفجوات تتجاوز 150px. هنا فقط نحدّها.
   gap يحتاج !important لأن UDesign فيه .navbar .navbar-nav{gap:0!important}. */
@media (min-width:1700px){.navbar .navbar-collapse>ul.navbar-nav:not(.nav-actions){flex:0 1 auto!important;justify-content:flex-start!important;gap:clamp(24px,1.7vw,42px)!important}}
@media (min-width:1600px){.header__bottom>.container-fluid{max-width:1760px;margin-inline:auto}}


.quick-access-hugeicon{color:#1b8354!important;stroke:currentColor!important}
.contact-us.contact-us2 .dga-card:hover .quick-access-hugeicon{color:#fff!important}
.footer-ai-logo{height:42px;min-width:112px;padding:5px 10px;display:inline-flex;align-items:center;gap:7px;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px}
.footer-ai-icon{color:#fff}
.footer-ai-logo span{display:flex;flex-direction:column;line-height:1}
.footer-ai-logo strong{font-size:16px;letter-spacing:.5px}
.footer-ai-logo small{font-size:9px;margin-top:3px;white-space:nowrap}
@media(max-width:768px){.footer-ai-logo{min-width:auto;padding:5px 7px}.footer-ai-logo small{display:none}}


.img-card {
    box-shadow: none !important;
}
/* saud-icons webfont fails to load on this local server (404/mime), so the real
   breadcrumb separator glyph renders as tofu. Use a matching plain chevron instead. */
/* ── فاصل مسار التنقل ──────────────────────────────────────────────────────
   قاعدة UDesign الأصلية تستخدم أيقونة من خط saud-icons، لكن قيمة content
   في ملفها معطوبة: تُقرأ U+00EE U+00A4 U+0097 وهي بايتات EE A4 97 أي
   U+E917 مرمزة مرتين (mojibake). فيرسم المتصفح محارف تالفة ⇒ مربع فارغ.
   لذلك نستبدلها بحرف نصي. القيم هنا نحيفة ومطابقة لمقاس UDesign:
   18px ووزن 400 ولون #9da4ae بدل 26px ووزن 600.
   transform:none مقصود — U+203A له انعكاس ثنائي الاتجاه تلقائي، فيشير
   يسارا في RTL بلا تدوير يدوي. */
.custom-breadcrumb > span::before {
    content: "\203A" !important;
    font-family: inherit !important;
    transform: none !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    color: #9da4ae !important;
}


/* ── أيقونة UserWay للوصول → أسفل اليمين في الاتجاه اللاتينيّ ──
   أوراق UDesign تثبّت الأيقونة نفسها لا حاوِيَها:
       body .uwy .uai, body .uwy .ulsti  →  position:fixed!important; right:20px!important
   والمشروع العربيّ ينقلها إلى اليسار لأنّه من اليمين إلى اليسار.
   أمّا هنا فالاتجاه لاتينيّ، فموضعها الطبيعيّ أسفل اليمين؛
   نُثبّته صراحةً بدل الاتّكال على غياب التجاوز. */
body .uwy .uai,
body .uwy .ulsti {
    right: 20px !important;
    left: auto !important;
}
   Because the icon is fixed independently of the .uwy container, moving the
   container has no effect on it — the override must target the icon directly.
   Same specificity (0,2,1) as the original, and this file loads after both
   UDesign sheets, so it wins the cascade. */
body .uwy .uai,
body .uwy .ulsti {
    left: 20px !important;
    right: auto !important;
}

/* ── توسيط صف الناف بار داخل شريط الهيدر ────────────────────────────────────
   .header__bottom ارتفاعه 72px لكنه عنصر كتلي بلا توسيط رأسي، فالصف
   (≈48px) يجلس بالأعلى ويبقى ≈24px فراغاً تحته. */
.header__bottom {
    display: flex;
    align-items: center;
}
.header__bottom > .container-fluid {
    width: 100%;
}

/* ── الهيدر الثابت يعلو محتوى الصفحة ────────────────────────────────────────
   UDesign يعرّف z-index مرتين لنفس العنصر بتخصيص متساوٍ (0,1,0):
       .fixed-top { z-index: 1030 }   ثم لاحقاً   .header { z-index: 99 }
   فالأخيرة تفوز ويهبط الهيدر إلى 99. نعيده لطبقة Bootstrap القياسية.
   التخصيص هنا (0,2,0) فيفوز بغضّ النظر عن ترتيب المصدر، و1030 تُبقي
   offcanvas 1045 · modal 1055 · popover 1070 · tooltip 1080 فوقه كما صُمِّمت. */
.header.fixed-top {
    z-index: 1030;
}

/* ── محاذاة عناصر القائمة التي بلا قائمة منسدلة ─────────────────────────────
   UDesign يمنح الروابط تخطيط flex عبر
       .navbar .dropdown:not(.dropend) > .dropdown-toggle
           { display:flex; align-items:center; gap:6px }
   وهي تشترط .dropdown على الـ<li> و .dropdown-toggle على الرابط.
   "مركز الأعمال" وحده بلا قائمة منسدلة (<li class="nav-item"> +
   <a class="menu-title nav-link">) فيبقى display:block ويبدو نصه أنزل.
   نطبّق نفس قيم UDesign على كل روابط المستوى الأول. */
.navbar .navbar-collapse > ul.navbar-nav:not(.nav-actions) > .nav-item > .nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ── الناف بار وقوائمه يجب أن تعلو محتوى الصفحة ─────────────────────────────
   UDesign يعطي .navbar { position:relative; z-index:10 } فيُنشئ سياق تكديس.
   القائمة المنسدلة بداخله z-index:1000 — لكن هذه القيمة تُقارن داخل ذلك
   السياق فقط؛ أما أمام الصفحة فالذي يُقارن هو الناف بار كله بقيمة 10.
   وأقسام الصفحات تحمل غلافاً بـ z-index:999 (نمط UDesign)، و10 < 999
   فيمرّ محتوى الصفحة فوق القائمة المنسدلة.
   نرفع سياق الناف بار فوق ذلك. 1020 مختارة لتبقى تحت طبقات Bootstrap
   العلوية: offcanvas 1045 · modal 1055 · popover 1070 · tooltip 1080. */
.navbar {
    z-index: 1020;
}

/* بطاقات about-card (الأعمال والأنشطة، اللجان الوطنية):
   UDesign تفرض .about-card__body .title{min-height:75px} لتحجز سطرين للعنوان،
   وعناويننا سطر واحد ⇒ 48px فراغ ميت بين العنوان والوصف.
   تساوي ارتفاع البطاقات يأتي من تمدّد عناصر الفلكس في .inner-card-wrapper
   لا من هذا الـmin-height، فإلغاؤه لا يكسر المحاذاة.
   المُحدِّد (0,3,0) ليعلو على مُحدِّد UDesign (0,2,0). */
.about-card .about-card__body .title {
    min-height: 0;
    margin-bottom: 6px;
}

/* ===== بطاقة الرؤية/الرسالة — مكوّن مشترك =====
   تظهر الآن في صفحتين (الرؤية والرسالة، والتوجهات الاستراتيجية) فرُفعت هنا
   بدل تكرارها. منقولة عن بطاقة زاتكا في الملف المحفوظ بالمشروع:
       .card-header   { border:0; background:transparent; padding:0
                        0 var(--global-spacing-3xl)=1.5rem }
       .card-title    { font-size:var(--text-lg)=1.125rem; font-weight:700;
                        line-height:28px; margin-bottom:.5rem }
       .card-subtitle { font-weight:400; line-height:1.5rem; margin-top:0 }
   الأيقونة 48×48 والدائرة مرسومة داخل الـSVG نفسه لا بـCSS.
   المسافة الرأسية للقسم تبقى في CSS كل صفحة لأنها تختلف بينهما. */

.vision-mission-section .grid-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.vision-mission-section .card {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
    padding: 32px;
}

/* الترويسة تحوي الأيقونة وحدها — بلا حد ولا خلفية، وتحتها فراغ 1.5rem */
.vision-mission-section .card-header {
    border: 0;
    background: none;
    padding: 0 0 1.5rem;
    margin: 0;
}

.vision-mission-section .icon-container svg {
    width: 48px;
    height: 48px;
    display: block;
}

.vision-mission-section .card-body {
    padding: 0;
}

.vision-mission-section .card-title {
    margin: 0 0 .5rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 28px;
    color: #161616;   /* الأسود المعتمد في المشروع — زاتكا تستخدم #1F2A37 */
}

.vision-mission-section .card-subtitle {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5rem;
    color: #1f2a37;
}

@media (max-width: 767.98px) {
    .vision-mission-section .card {
        padding: 22px 18px;
    }
}

/* ===== شريط نقاط السلايدر يبتلع النقر =====
   ‎.swiper-pagination‎ يُرسم بارتفاع 108px (لا بارتفاع النقاط) مع
   position:absolute و z-index:10 و pointer-events:auto، فيغطّي أزرار
   البطاقات تحته: قِيس تقاطعه مع 10 من 18 زراً في الصفحة الرئيسية،
   فلا يستجيب الزر إلا في الجزء غير المغطّى منه.

   نجعل الحاوية شفّافة للنقر ونعيد الاستجابة للنقاط نفسها، فتبقى وظيفة
   التنقل بينها سليمة ويتحرّر ما تحتها. */
/* UDesign تفرض pointer-events:auto!important على الشريط، فنحتاج !important
   لتجاوزها — وقاعدتنا تُحمَّل بعدها فتفوز عند تساوي الأولوية. */
.swiper-pagination {
    pointer-events: none !important;
}

.swiper-pagination .swiper-pagination-bullet {
    pointer-events: auto !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   أيقونة الرابط الخارجي في قوائم الهيدر.
   الكود الموحّد يضع هذه الأيقونة على كل رابط يغادر الموقع، كما في
   «روابط مهمة» بالفوتر. وهنا تُستعمل لعنصري القائمة اللذين يقصدان
   منصّتين منفصلتين. اللون currentColor كي يتبع لون النصّ لا أبيض
   الفوتر، والأيقونة aria-hidden لأن نصّاً مخفياً يبلّغ المعنى.
   ══════════════════════════════════════════════════════════════════════════ */
.menu-title__ext {
    width: .75em;
    height: .75em;
    margin-inline-start: 6px;
    vertical-align: baseline;
    flex: 0 0 auto;
    color: currentColor;
}

/* ===== توحيد مسار التنقّل =====
   كل صفحة تبدأ بـ«الرئيسية»، والفراغ بين الشريط والعنوان 16px
   في الموقع كلّه — كان 8px (mb-2) في صفحات UDesign، و8 و12 و16
   متفرّقةً في أوراق الصفحات الأخرى.

   وأُزيل mb-2 من الترميز كي لا يتنازع مع هذه القاعدة: تخصيصهما
   سواء (0,1,0) فيغلب الأخير في ترتيب التحميل، وهذا هشّ. */
.breadcrumb-wrapper {
    margin-bottom: 16px;
}

/* جزءٌ من المسار لا صفحةَ له — «عن الجيومكانية» و«الاستثمار»
   و«مركز المعرفة» و«المركز الإعلامي» أقسامٌ في الهيدر لا صفحات
   مستقلّة. كان رابطاً يقفز إلى الموقع الحيّ، فصار نصّاً. ويأخذ
   لون أجزاء المسار نفسه لا لون الجزء الحاليّ. */
.custom-breadcrumb > span > span.breadcrumb-item {
    font-size: .875rem;
    font-weight: 400;
    color: #384250;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== عدّاد شريط التقييم =====
   ورقتا UDesign تعرّفانه ثم تخفيانه بقاعدة تالية:
       .feedback-section__count { font-size:.875rem; margin-bottom:0 }
       .feedback-section__count { display:none }
   وتخصيصهما سواء فتغلب الأخيرة. وsite.css يُحمَّل بعدهما،
   فقاعدة بتخصيص أعلى (0,2,0) تكفي لإظهاره بلا !important. */
.feedback-section .feedback-section__count {
    display: block;
    font-size: .875rem;
    margin-bottom: 0;
}

/* ===== الرماديّ حول صندوق «الاقتراحات والتعليقات» =====
   خلفية body رماديّة (#f9fafb)، والقسم الحاوي أبيض — لكنّ الكرت
   يحمل هامشيه بنفسه:

       .block-contact { margin-top: 40px; margin-bottom: 50px }

   والقسم عليه p-0 (بلا حشو ولا حدّ)، فالهامشان ينهاران خارجه
   (margin collapse) ويتركان شريطين لا يغطّيهما بياضُ القسم،
   فيظهر رماديّ body فيهما: 40px فوق الكرت و50px تحته.

   وflow-root ينشئ سياق تنسيق جديداً فيمنع الانهيار: يبقى
   الهامشان داخل القسم فيغطّيهما بياضُه. فالمسافات كما هي
   تماماً، والرماديّ وحده هو ما زال. */
.block-contact-section {
    display: flow-root;
}

/* ===== جسر الفجوة بين عنصر الناف وقائمته =====
   القائمة تُفتح بالـCSS وحدها:
       li.nav-item.dropdown:hover > .dropdown-menu { visibility:visible; opacity:1 }
   وهي موضوعة absolute على بُعد 3px تحت الـli (قِيست: أسفل الـli
   عند 105 وأعلى القائمة عند 108). فحين ينزل المؤشّر من العنصر
   إلى القائمة يمرّ بثلاثة بكسلات خارج الـli، فيسقط :hover
   وتُغلق القائمة قبل أن يبلغها.

   فنمدّ مساحةَ المرور بعنصر زائف شفّاف يعلو القائمة ويسدّ
   الفجوة. وهو ابنٌ للقائمة والقائمةُ ابنةٌ للـli، فالمرور عليه
   مرورٌ داخل الـli و:hover باقٍ.

   وارتفاعه 4px لا أكثر: الفجوة 3px وواحدٌ احتياطاً لتقريب
   الكسور. ولو زدناه لغطّى أسفلَ الرابط واعترض النقر عليه.

   ويختفي باختفاء القائمة (visibility مورَّثة)، فلا يعترض شيئاً
   والقائمة مغلقة. */
.navbar li.nav-item.dropdown > .dropdown-menu::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 100%;
    height: 4px;
    /* شفّاف: جسرُ مرورٍ لا زينة */
    background: transparent;
}

/* ═══════════ إصلاحات الهيدر الإنجليزيّ — 1280px فأكثر فقط ═══════════
   النصّ الإنجليزيّ أعرض من العربيّ، فيضيق به شريط القوائم على
   شاشات 13–14 بوصة. وكلُّ ما هنا محصورٌ في min-width:1280px،
   فلا يمسّ شيئاً دون 600 ولا نطاق البرجر 601–1279.
   أمّا مدُّ هيئة 601–960 إلى 1279 فليس هنا: نُقلت عتبة الهيدر
   في نسختنا من ورقة UDesign من 960 إلى 1279.98 مباشرةً. */

@media (min-width: 1280px) {

    /* "Business Center" كان ينكسر سطرين داخل خانته */
    .navbar .navbar-nav .nav-link { white-space: nowrap; }

    /* السهم عنصرٌ مرنٌ في صفٍّ ضيّق، فكان يُسحق إلى صفر */
    .navbar .dropdown:not(.dropend) > .dropdown-toggle::after { flex-shrink: 0; }
}


/* اللغة والبحث أيقونتين بلا نصّ على 13–14 بوصة — وهو صنيع
   UDesign نفسه في (max-width:1250px) and (min-width:960px)،
   نُحاكيه فوق 1280 حيث لم يعد البرجر يغطّي الشريط.
   الأيقونة نفسها تبقى ظاهرة: .header-actions__btn img مقاسها
   20×20 بقاعدة عامّة خارج أيّ @media. */
@media (min-width: 1280px) and (max-width: 1599.98px) {

    .navbar .nav-actions span { display: none !important; }

    /* الأيقونتان وحدهما لا تكفيان: قياسُ الشريط عند 1340 أظهر أنّ
       كتلة الأدوات تُدفع إلى 1355→1581، أي خارج الإطار كلّه، لأنّ
       نصّ القوائم الإنجليزيّ أعرض من العربيّ ولا يلتفّ (nowrap).
       فنستردّ المسافة من الفواصل والحشو، لا بإخفاء زرّ اللغة. */
    /* السبب الجذريّ: في ورقة UDesign قاعدةٌ بلا @media
           .navbar .navbar-nav .nav-item .nav-link  →  font-size:16px!important
       وهي متأخّرةٌ في الورقة عن قاعدتها هي نفسها
           (max-width:1400px)  →  font-size:.82rem!important
       فتغلبها بالترتيب، فيُرسَم الشريط بـ16px على كلّ العروض.
       والنصّ الإنجليزيّ أعرض، فيفيض. نُعيد القيمة التي قصدها
       UDesign أصلاً دون 1400، فتعود كتلة الأدوات داخل الإطار. */
    .navbar .navbar-nav .nav-item .nav-link { font-size: .82rem !important; }

    .navbar .navbar-nav { gap: 8px !important; }

    .navbar .navbar-nav .nav-item .nav-link { padding-inline: 6px !important; }
}

/* ═══ أيقونة إغلاق المنيو ═══
   زرّ الإغلاق فيه أربعة <span>: الأوّل <span class="visually-hidden">
   ثمّ الأعمدة الثلاثة. وقواعد UDesign مبنيّةٌ على ثلاثة أبناء:
       span:first-child  → دوران 48
       span:nth-child(2) → display:none
       span:nth-child(3) → دوران -48
   فتنزاح واحداً: يُخفى العمود الأوّل، ويدور الثاني، ويبقى
   الثالث أفقياً — فتظهر الأيقونة "≠" بدل "X". نُصحّح الترقيم.
   ومحصورةٌ في 601 فأكثر التزاماً بعدم المساس بما دون 600. */
@media (min-width: 601px) {

    .navbar .navbar-toggler[aria-expanded="true"] > span.visually-hidden ~ span:nth-child(2) {
        display: block;
        transform: rotate(48deg);
        top: 1px;
    }

    .navbar .navbar-toggler[aria-expanded="true"] > span.visually-hidden ~ span:nth-child(3) {
        display: none;
    }

    .navbar .navbar-toggler[aria-expanded="true"] > span.visually-hidden ~ span:nth-child(4) {
        display: block;
        transform: rotate(-48deg);
        bottom: 1px;
    }
}

/* ═══════════ بطاقات الخدمات والمنتجات (hou-card) ═══════════
   قياسٌ عند 1414px: الكارد 267px وصندوق التذييل 233px، بينما
   الزرّان يطلبان 267px (Details 85 + "Go to the platform" 166
   + فجوة 16) ⇒ يخرج الزرّ الأخضر عن حافّة الكارد 34px.
   والعنوان: UDesign يقصّه عند سطرين، والعناوين العربية سطر
   واحد فحُيِّد min-height في المشروع العربيّ؛ أمّا الإنجليزية
   فمنها ما يبلغ سطرين مثل "The Official Map of the Kingdom"
   فيهبط تذييلها 38px عن أخواتها.
   ومحصورةٌ في 601 فأكثر: دون ذلك يعرض الشريط كارداً واحداً
   عريضاً فلا تجاوز أصلاً، ولا نمسّ ما دون 600. */

@media (min-width: 601px) {

    /* احجز السطرين اللذين يقصّ عندهما UDesign العنوان
       (line-height 38px × 2) فتستوي التذييلات */
    .hou-card .about-card__body .title { min-height: 76px; }

    /* استعد الفرق من الفجوة والحشو والخطّ، لا بإخفاء زرّ */
    .hou-card .about-card__footer { gap: 8px !important; }

    .hou-card .about-card__footer .dga-btn {
        padding-left: 10px;
        padding-right: 10px;
        font-size: .875rem;
        white-space: nowrap;
    }
}

/* ═══════════ سهم الأزرار في الاتجاه اللاتينيّ ═══════════
   arrow-fill.svg مرسومٌ سهماً إلى اليسار (رأسه عند x≈0.25
   وساقه ممتدّة إلى x=17)، وهو الصحيح في العربية. والصنف
   rotate-img لا يدير شيئاً — ليس فيه إلا transition — فالسهم
   يبقى إلى اليسار في الإنجليزية وهو عكس اتجاه القراءة.
   نعكسه أفقياً. وقاعدة UDesign للتحويم
       .more-calender:hover .rotate-img  →  translateX(-4px)
   تُلغي الانعكاس لو تُركت، فنُعيد كتابتها مع scaleX(-1)؛
   وبعد الانعكاس يصير translateX(-4px) إزاحةً إلى اليمين
   بصرياً، وهو المقصود في الاتجاه اللاتينيّ. */

html[dir="ltr"] .rotate-img { transform: scaleX(-1); }

html[dir="ltr"] .more-calender:hover .rotate-img {
    transform: scaleX(-1) translateX(-4px);
}

/* ═══════════ حشو قوائم الفوتر في الاتجاه اللاتينيّ ═══════════
   في ورقة UDesign قاعدةٌ لا تسري إلا على LTR:
       [dir="ltr"] ol, [dir="ltr"] ul  →  padding-inline-start: 2rem
   ووزنها (0,1,1) — سمة + عنصر — فتغلب تصفير UDesign نفسه
       .footer-links-list  →  padding: 0     ووزنها (0,1,0)
   فتنزاح روابط الفوتر 32px عن عناوين الأعمدة. والمشروع العربيّ
   لا يراها أصلاً لأنّ محدّدها يشترط dir=ltr.
   نعيد التصفير بوزن (0,2,1) فيغلب. */

html[dir="ltr"] .footer-links-list,
html[dir="ltr"] .action-group,
html[dir="ltr"] .footer-links {
    padding-inline-start: 0;
}

/* عمود "Important links" يقسم روابطه على صفٍّ داخليّ
   .row > .col-md-6 ×2. وحشو العمود البادئ 12px يُلغى عادةً
   بهامش الصفّ السالب، لكنّ هامش هذا الصفّ البادئ يُقاس 0px،
   فيبقى الحشو ظاهراً وتنزاح قائمته 12px عن عنوان العمود.
   نصفّر حشو العمود الأوّل وحده؛ ويبقى حشو الثاني فاصلاً
   بين العمودين كما أراد Bootstrap. */

html[dir="ltr"] .footer-middle .row .row > [class*="col-"]:first-child {
    padding-inline-start: 0;
}

/* ═══════════ قسم الهيرو على الجوال ═══════════
   قياسٌ فعليّ: الهيدر الثابت يشغل 0→128، و.hero-caption تبدأ
   عند padding-top:98px (دون 576) أو 158px (دون 768)، فيختفي
   السطر الأوّل من العنوان خلف الهيدر. وفوق ذلك قُفل الهيرو على
   548px بـ height و min-height و max-height معاً، فالنصّ
   الإنجليزيّ — وهو أطول من العربيّ ويلتفّ أسطراً أكثر كلّما
   ضاقت الشاشة — يُقصّ من الأسفل أيضاً.
   فنفكّ القفل مع إبقاء 548px حدّاً أدنى، ونُنزل المحتوى تحت
   الهيدر، ونُصغّر الخطّ قليلاً. وهذا تعديلٌ مقصودٌ لما دون 600
   بناءً على طلبك في هذه المسألة تحديداً. */

@media (max-width: 768px) {

    /* ارتفاعٌ ينمو بالمحتوى بدل القصّ.
       ملحوظة: Swiper يحقن عند التهيئة قاعدةً
           .hero-slider.swiper-initialized  →  height:560px !important
       ووزنها (0,2,0) فتغلب .hero-slider وحدها (0,1,0) ولو كانت
       !important. فنرفع الوزن بـ html body إلى (0,2,2). */
    .hero-slider,
    .hero-slider2,
    html body .hero-slider.swiper-initialized,
    html body .hero-slider2.swiper-initialized {
        height: auto !important;
        min-height: 548px !important;
        max-height: none !important;
    }

    .hero-slider .swiper-slide,
    .hero-slider .swiper-wrapper {
        height: auto !important;
        min-height: 548px !important;
    }

    .hero {
        height: auto !important;
        min-height: 550px !important;
    }

    /* ابدأ تحت الهيدر الثابت (128px) لا خلفه */
    .hero-caption {
        padding-top: 150px !important;
        padding-bottom: 32px !important;
    }
}

@media (max-width: 576px) {

    .hero-caption { padding-top: 142px !important; }

    .hero-caption .hero-title {
        font-size: 22px !important;
        line-height: 1.35 !important;
        margin-bottom: 0 !important;
    }

    .hero-caption p {
        font-size: 13.5px !important;
        line-height: 1.65 !important;
        margin-top: 12px !important;
    }
}

/* ═══════════ هوامش ms-* في صفحةٍ لاتينيّة ═══════════
   ورقة UDesign مبنيّةٌ للاتجاه العربيّ، فصنف "البداية" فيها
   يُترجَم إلى يمينٍ فيزيائيّ:
       .ms-auto     →  margin-right: auto !important
       .ms-md-auto  →  margin-right: auto !important
   وفي صفحةٍ لاتينيّة يدفع margin-right:auto العنصرَ يساراً —
   عكس المقصود تماماً. ولذلك ظهر سطر «60% of users said yes»
   ملاصقاً للأزرار بدل أن ينزاح إلى طرف الشريط.
   المستعمَل في المشروع ثلاثة أصناف لا غير (ms-auto و ms-md-auto
   و ms-0) فنقصر التصحيح عليها. الوزن (0,2,1) يغلب (0,1,0). */

html[dir="ltr"] .ms-auto {
    margin-left: auto !important;
    margin-right: 0 !important;
}

html[dir="ltr"] .ms-0 { margin-left: 0 !important; }

@media (min-width: 768px) {
    html[dir="ltr"] .ms-md-auto {
        margin-left: auto !important;
        margin-right: 0 !important;
    }
}

/* ═══════════ خطّ التبويب النشط في الاتجاه اللاتينيّ ═══════════
   في css/GEOSA_Service_Details.css يُوسَّط الخطّ السفليّ هكذا:
       inset-inline-start: 50%;
       transform: translateX(50%);   والتعليق فيه: «RTL: النصف الموجب يوسّط»
   وهو صحيحٌ في العربيّة حيث يتّجه المحور الموجب يساراً. أمّا في
   صفحةٍ لاتينيّة فيدفع الخطَّ يميناً بنصف عرضه، فيقع تحت التبويب
   الذي يليه — فيبدو «Guidelines» نشطاً و«Regulatory Documents»
   هو النشط فعلاً. نعكس الإشارة. */

html[dir="ltr"] .dga-tabs__btn[aria-selected="true"]::after,
html[dir="ltr"] .dga-tabs__btn:hover::after,
html[dir="ltr"] .dga-tabs__btn:active::after {
    transform: translateX(-50%);
}

/* ═══════════ قائمة العمودين في الاتجاه اللاتينيّ ═══════════
   في css/GEOSA_Organization.css:
       .content-list--cols { columns: 2; column-gap: 32px; max-width: 360px }
   وهو مقاسٌ على النصّ العربيّ. والقياس عند 1440: عرض العمود
   يخرج 164px، وأوسع عنصرٍ إنجليزيّ («Determine flood channels»)
   يحتاج 177px — فتلتفّ ستّة عناصر من اثني عشر سطرين بلا داعٍ.
   نوسّع الكتلة بما يكفي النصّ وعلامة الترقيم معاً. */

html[dir="ltr"] .content-list--cols {
    max-width: 520px;
}

/* ═══════════ محاذاة النصّ في صفحةٍ لاتينيّة ═══════════
   ورقة UDesign مبنيّةٌ للاتجاه العربيّ، فصنفا «البداية»
   و«النهاية» يُترجَمان إلى جهتين فيزيائيّتين مقلوبتين:
       .text-start  →  text-align: right !important
       .text-end    →  text-align: left  !important
   وفي صفحةٍ لاتينيّة يدفع ذلك النصَّ إلى الطرف الأيمن —
   ولذلك ابتعد اسمُ العضو ودورُه عن صورته في مجلس الإدارة.
   نعكسهما. (نفس داء ms-* المعالَج أعلاه.) */

html[dir="ltr"] .text-start { text-align: left !important; }
html[dir="ltr"] .text-end { text-align: right !important; }

/* ═══ منقولةٌ حرفيّاً من ورقة المشروع العربيّ ═══
   علامات الروابط الخارجيّة وكتلة وثائق الخدمة. والخصائص
   منطقيّة (margin-inline-start) فتنقلب مع الاتجاه وحدها. */
/* علامة الرابط الخارجيّ داخل زرّ بدء الخدمة.
   ترث لون نصّ الزرّ (أبيض) لأنّ fill=currentColor ولا لون
   مضمَّن فيها — بخلاف نسخة الفوتر التي تُثبّت الأبيض. */
.service-start-btn__ext {
    margin-inline-start: 6px;
    flex-shrink: 0;
    vertical-align: -1px;
}

/* علامة الرابط الخارجيّ في لوحة معلومات الخدمة (الأسئلة الشائعة).
   ترث لون الرابط الأخضر لأنّ fill=currentColor بلا لونٍ مضمَّن. */
.service-side__ext {
    margin-inline-start: 5px;
    flex-shrink: 0;
    vertical-align: -1px;
}

/* كتلة وثائق الخدمة: صارت أكثر من زرّ، فتُرصّ رأسياً بفاصل. */
.service-side__action {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.service-side__action .dga-btn {
    width: 100%;
    text-align: center;
}

/* مفاتيح «إدارة ملفات تعريف الارتباط»:
   UDesign تفرض على كل checkbox
       .form-check-input[type=checkbox]{width:1.5rem!important;border-radius:.125rem!important}
   وتأتي بعد قاعدة .form-switch بنفس التخصيص (0,2,0)، فيتحوّل المفتاح
   إلى مربع 24px. المُحدِّد هنا (0,4,0) ليعلو عليها.
   flex:0 0 auto كي لا يضغطه الفلكس أمام التسمية الطويلة. */
.form-check.form-switch .form-check-input[type=checkbox] {
    flex: 0 0 auto;
    width: 3rem !important;
    height: 1.5rem !important;
    border-radius: 10em !important;
    margin: 0 !important;
    float: none;
}

/* UDesign تصفّر هوامش .form-check (margin:0!important) فتلتصق صفوف المفاتيح،
   وتضع عند المرور/الضغط هالة box-shadow:0 0 0 12px تمتدّ فوق الصف المجاور
   وفوق التسمية. نفصل الصفوف ونلغي الهالة للمفاتيح فقط؛ تغيّر لون المفتاح
   عند المرور يبقى مؤشراً كافياً. */
.form-check.form-switch {
    margin-block: 12px !important;
}

.form-check.form-switch .form-check-input[type=checkbox]:hover,
.form-check.form-switch .form-check-input[type=checkbox]:active,
.form-check.form-switch .form-check-input[type=checkbox]:checked:hover,
.form-check.form-switch .form-check-input[type=checkbox]:checked:active {
    box-shadow: none !important;
}

.form-check.form-switch .form-check-input[type=checkbox]:focus-visible {
    outline: 2px solid #161616;
    outline-offset: 2px;
}

/* ===== نافذة البحث ===== */
/* زر الإغلاق: عنوان النافذة مخفي (UDesign: .section-title h3{display:none})
   فيبقى .header-info فارغاً يحجز نصف الصف، ويقع الزر في المنتصف.
   نمدّ .header-actions على الصف كي يدفعه margin-inline-start:auto إلى الطرف. */
.search-popup .section-header .header-info {
    display: none;
}

.search-popup .section-header .header-actions {
    flex: 1 1 auto;
}

/* الاقتراحات: الأزرار تُبنى بالجافاسكربت داخل d-flex بلا التفاف، وكل زر
   بارتفاع .btn الثابت (40px) — فعلى الجوال يخرج الصف عن الشاشة، ويلتفّ نص
   الاقتراح الطويل خارج خلفية الزر فوق عنوان «اقتراحات». */
#suggestionsWrap {
    flex-wrap: wrap;
    gap: 8px;
}

#suggestionsWrap .btncustom {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: auto;
    min-height: 40px;
    max-width: 100%;
    margin: 0 !important;
    white-space: normal;
    text-align: start;
}

#suggestionsWrap .btncustom svg {
    flex: 0 0 auto;
}

/* ===== الهيدر اللاصق على التابلت والجوال (أقل من 1280px) =====
   UDesign تجعل الهيدر هنا ثابتاً (fixed) فيطفو فوق الصفحة ولا يأخذ
   مكاناً، وتعوّضه بحشو 89px في قسم العنوان القياسي وحده
   (.nds-title-share-page) — والهيدر 105px، فيُغطّى مسار الصفحة؛
   والصفحات ذات أقسام العناوين الخاصة (reg-hero وغيرها) بلا تعويض أصلاً
   فيُغطّى عنوانها. sticky يبقيه لاصقاً أعلى الشاشة عند التمرير، لكنه
   يأخذ مكانه في مجرى الصفحة فلا يغطّي شيئاً، ويعود حشو قسم العنوان
   إلى قيمته في الديسكتوب. */
@media (max-width: 1279.98px) {
    header.header.fixed-top {
        position: sticky !important;
        top: 0;
    }

    /* sticky يلصق بأقرب حاوية تمرير. html و #s4-workspace عليهما
       overflow-x:hidden: الأول يمنع انتقال قصّ body إلى الشاشة فيصير
       body حاوية تمرير، والثاني حاوية تمرير بنفسه — وكلاهما لا يتحرك
       فيذهب الهيدر مع الصفحة. html بلا قصّ ينقل قصّ body إلى الشاشة
       نفسها (فيبقى الفائض الأفقي مقصوصاً، ومنه العناصر الثابتة كالقائمة
       الجانبية المخبّأة خارج الحافة)، و #s4-workspace بـ clip يقصّ بلا
       حاوية تمرير. */
    html {
        overflow-x: visible !important;
    }

    #s4-workspace {
        overflow-x: clip !important;
    }

    .nds-title-share-page {
        padding-top: 40px !important;
    }
}

/* ===== الرئيسية على التابلت (769–1279) =====
   UDesign تفرض على عنوان الهيرو 60px على كل العروض فوق 768
       .hero-caption .hero-title{font-size:60px!important}
   والعنوان الإنجليزي طويل فيطغى على الشاشة ويتجاوز حافتها. حجمٌ
   يتدرّج مع العرض: 32px عند 800، و41px عند 1032، و48px عند 1279. */
@media (min-width: 769px) and (max-width: 1279.98px) {
    .hero-caption .hero-title {
        font-size: clamp(32px, 4vw, 48px) !important;
        line-height: 1.4 !important;
        max-width: 100%;
    }

    .hero-caption .hero-description {
        font-size: 18px;
    }
}

/* صندوق نص الهيرو بعرض 100% غير قابل للانكماش (flex:0 0 100%) وفوقه
   هامش 100px، فيتجاوز حافة الشاشة بمقدار الهامش ويلتصق آخر العنوان بها.
   نسمح له بالانكماش فيأخذ العرض المتاح بعد الهامش. */
@media (min-width: 769px) {
    .hero__container > .hero-caption {
        flex-shrink: 1 !important;
        min-width: 0;
    }
}

/* أيقونة زر القائمة: SVG في الترميز بمقاس 33×33 فتبدو أكبر من أيقونتي
   البحث واللغة (20×20). تُثبَّت بمقاسهما تقريباً (نسبة الرسم 18:16).
   على زر الفتح وحده (الابن المباشر لـ .navbar)، لا زر الإغلاق داخل القائمة.
   flex:0 0 auto كي لا يضغطه صف الهيدر الضيق على الجوال. */
.navbar > .navbar-toggler {
    flex: 0 0 auto;
    zoom: 1 !important;   /* UDesign تصغّره على الجوال بـ zoom:.76 */
    width: auto;
    height: auto;
}

.navbar > .navbar-toggler svg {
    flex: 0 0 auto;
    width: 22px !important;
    height: 20px !important;
}

/* صندوق «الاقتراحات والتعليقات»: حدّه الأقصى 1280px بلا هامش جانبي،
   فيلتصق بحافتي الشاشة في كل عرض دون 1280 (التابلت والجوال).
   نترك له هامشاً جانبياً: 32px، و16px على الجوال. */
.block-contact-section .block-comp.block-contact {
    max-width: min(1280px, calc(100% - 64px)) !important;
    margin-inline: auto !important;
}

@media (max-width: 767.98px) {
    .block-contact-section .block-comp.block-contact {
        max-width: calc(100% - 32px) !important;
    }
}
