﻿/* ==========================================================================
   الخطوط العربية المحلية
   ========================================================================== */

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-01.ttf) format('truetype');
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-02.ttf) format('truetype');
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-03.ttf) format('truetype');
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-04.ttf) format('truetype');
}

@font-face {
  font-family: 'IBM Plex Sans Arabic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/ibm-plex-sans-arabic/ibm-plex-sans-arabic-05.ttf) format('truetype');
}


/* ==========================================================================
   خط الأيقونات المحلي
   ========================================================================== */

@font-face {
  font-family: "hgi-stroke-rounded";
  src: url("../fonts/hugeicons/hgi-stroke-rounded.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

/* الفئة الأساسية لتفعيل خط الأيقونات وتحسين عرضه في المتصفحات. */
.hgi-stroke {
  font-family: "hgi-stroke-rounded" !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}

/* ربط أسماء الأيقونات المستخدمة في الصفحات بقيمها داخل ملف الخط المحلي. */
.hgi-stroke.hgi-arrow-down-01::before {
  content: "\3B5A";
}

.hgi-stroke.hgi-arrow-left-02::before {
  content: "\3B6B";
}

.hgi-stroke.hgi-arrow-right-02::before {
  content: "\3B7A";
}

.hgi-stroke.hgi-checkmark-circle-02::before {
  content: "\3DA7";
}

.hgi-stroke.hgi-filter::before {
  content: "\4031";
}

.hgi-stroke.hgi-home-05::before {
  content: "\415D";
}

.hgi-stroke.hgi-link-04::before {
  content: "\428C";
}

.hgi-stroke.hgi-mail-01::before {
  content: "\42EE";
}

.hgi-stroke.hgi-telephone::before {
  content: "\48B4";
}

.hgi-stroke.hgi-checkmark::before {
  content: "\2713";
  font-family: Arial, sans-serif !important;
  font-weight: 700;
}

/* ==========================================================================
   المتغيرات والقواعد المشتركة لمكونات نظام التصميم
   ========================================================================== */

/* نطاق التضمين يعزل متغيرات التصميم عن بوتستراب وبقية الصفحة. */
.dga-embed {
  --black: #000000;
  --neutral-50: #f9fafb;
  --neutral-100: #f3f4f6;
  --neutral-300: #d2d6db;
  --neutral-400: #9da4ae;
  --neutral-500: #6c737f;
  --neutral-700: #384250;
  --neutral-800: #1f2a37;
  --primary-600: #1b8354;
  --primary-700: #166a45;
  --primary-800: #14573a;
  --surface-white: #ffffff;
  --surface-hover: var(--neutral-100);
  --radius-full: 9999px;
  --dga-font-family: "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
  --dga-color-bg: var(--neutral-50);
  --dga-color-surface: var(--surface-white);
  --dga-color-surface-hover: var(--neutral-50);
  --dga-color-primary: var(--primary-600);
  --dga-color-primary-hover: var(--primary-700);
  --dga-color-primary-active: var(--primary-800);
  --dga-color-primary-soft: #f0fdf4;
  --dga-color-focus: #84e1bc;
  --dga-color-title: #0d121c;
  --dga-color-text: var(--neutral-700);
  --dga-color-muted: #6b7280;
  --dga-color-strong: var(--neutral-800);
  --dga-color-border: var(--neutral-100);
  --dga-color-divider: var(--primary-600);
  --dga-shadow-card: 0 4px 8px -2px rgba(16, 24, 40, 0.1), 0 2px 4px -2px rgba(16, 24, 40, 0.06);
  --pagination-text: #161616;
  --pagination-primary: var(--primary-600);
  --pagination-hover-bg: var(--neutral-100);
  --pagination-focus-ring: rgba(27, 131, 84, 0.25);
  --pagination-disabled: var(--neutral-500);
  --pagination-size: 44px;
  --pagination-icon-size: 16px;
  --pagination-gap: 8px;
  --progress-completed: var(--primary-600);
  --progress-completed-hover: var(--primary-700);
  --progress-upcoming: var(--neutral-300);
  --progress-title: var(--neutral-800);
  --progress-description: var(--neutral-700);
  --progress-black: #161616;
  --progress-white: var(--surface-white);
  --progress-marker-size: 32px;
  --progress-icon-size: 16px;
  --progress-line-size: 2px;
  --progress-gap: 8px;
  --progress-text-gap: 4px;
  --progress-text-offset: 16px;
  --dga-tabs-text: #161616;
  --dga-tabs-muted: var(--neutral-700);
  --dga-tabs-border: var(--neutral-300);
  --dga-tabs-primary: var(--primary-600);
  --dga-tabs-hover: var(--neutral-100);
  --dga-tabs-focus: var(--black);
  --dga-tabs-radius: 4px;
  --dga-tabs-icon-size: 16px;
  --dga-tabs-gap: 4px;
  --dga-tabs-selector: 3px;
  color: var(--neutral-800);
  font-family: var(--dga-font-family);
  isolation: isolate;
}










:root {
  --spacing-0: 0px;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-8: 32px;
  --spacing-12: 48px;
  --spacing-16: 64px;
  --spacing-20: 80px;
  --spacing-24: 96px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --colors-base-white: #ffffff;
  --colors-base-black: #161616;
  --colors-primary-sa-flag-25: #f7fdf9;
  --colors-primary-sa-flag-50: #f3fcf6;
  --colors-primary-sa-flag-100: #dff6e7;
  --colors-primary-sa-flag-200: #b8eacb;
  --colors-primary-sa-flag-300: #88d8ad;
  --colors-primary-sa-flag-400: #54c08a;
  --colors-primary-sa-flag-500-alpha-10: #25935f19;
  --colors-primary-sa-flag-500: #25935f;
  --colors-primary-sa-flag-600-primary: #1b8354;
  --colors-primary-sa-flag-700: #166a45;
  --colors-primary-sa-flag-800: #14573a;
  --colors-primary-sa-flag-900: #104631;
  --colors-primary-sa-flag-950: #092a1e;
  --colors-secondary-gold-25: #fffef7;
  --colors-secondary-gold-50: #fffef2;
  --colors-secondary-gold-100: #fffce6;
  --colors-secondary-gold-200: #fcf3bd;
  --colors-secondary-gold-300: #fae996;
  --colors-secondary-gold-400: #f7d54d;
  --colors-secondary-gold-500: #f5bd02;
  --colors-secondary-gold-600-primary: #dba102;
  --colors-secondary-gold-700: #b87b02;
  --colors-secondary-gold-800: #945c01;
  --colors-secondary-gold-900: #6e3c00;
  --colors-secondary-gold-950: #472400;
  --colors-tertiary-lavendar-25: #fefcff;
  --colors-tertiary-lavendar-50: #f9f5fa;
  --colors-tertiary-lavendar-100: #f2e9f5;
  --colors-tertiary-lavendar-200: #e1cce8;
  --colors-tertiary-lavendar-300: #ccadd9;
  --colors-tertiary-lavendar-400: #a57bba;
  --colors-tertiary-lavendar-500-primary: #80519f;
  --colors-tertiary-lavendar-600: #6d428f;
  --colors-tertiary-lavendar-700: #532d75;
  --colors-tertiary-lavendar-800: #3d1d5e;
  --colors-tertiary-lavendar-900: #281047;
  --colors-tertiary-lavendar-950: #16072e;
  --colors-neutral-25: #fcfcfd;
  --colors-neutral-50: #f9fafb;
  --colors-neutral-100: #f3f4f6;
  --colors-neutral-200: #e5e7eb;
  --colors-neutral-300: #d2d6db;
  --colors-neutral-400: #9da4ae;
  --colors-neutral-500: #6c727e;
  --colors-neutral-600: #4d5761;
  --colors-neutral-700: #384250;
  --colors-neutral-800: #1f2a37;
  --colors-neutral-900: #111927;
  --colors-neutral-950: #0c111b;
  --colors-blue-25: #f5faff;
  --colors-blue-50: #eff8ff;
  --colors-blue-100: #d1e9ff;
  --colors-blue-200: #b2ddff;
  --colors-blue-300: #84caff;
  --colors-blue-400: #53b0fd;
  --colors-blue-500: #2e90fa;
  --colors-blue-600: #156fee;
  --colors-blue-700: #175cd3;
  --colors-blue-800: #1849a9;
  --colors-blue-900: #194084;
  --colors-blue-950: #102a56;
  --colors-green-25: #f6fef9;
  --colors-green-50: #ecfdf3;
  --colors-green-100: #dcfae6;
  --colors-green-200: #abefc6;
  --colors-green-300: #75dfa6;
  --colors-green-400: #47cd89;
  --colors-green-500: #17b169;
  --colors-green-600: #069454;
  --colors-green-700: #067647;
  --colors-green-800: #085d3a;
  --colors-green-900: #074c30;
  --colors-green-950: #053321;
  --colors-yellow-25: #fffcf5;
  --colors-yellow-50: #fffaeb;
  --colors-yellow-100: #fef0c7;
  --colors-yellow-200: #fedf89;
  --colors-yellow-300: #fec84b;
  --colors-yellow-400: #fdb022;
  --colors-yellow-500: #f79009;
  --colors-yellow-600: #dc6803;
  --colors-yellow-700: #b54707;
  --colors-yellow-800: #93370c;
  --colors-yellow-900: #7a2e0e;
  --colors-yellow-950: #4e1d09;
  --colors-red-25: #fffbfa;
  --colors-red-50: #fef3f2;
  --colors-red-100: #fee4e2;
  --colors-red-200: #fecdca;
  --colors-red-300: #fca19b;
  --colors-red-400: #f97066;
  --colors-red-500: #f04437;
  --colors-red-600: #d92c20;
  --colors-red-700: #b42318;
  --colors-red-800: #912018;
  --colors-red-900: #7a2619;
  --colors-red-950: #54150c;
  --colors-gray-300: #cecfd2;
  --colors-gray-neutral-50: #f9fafb;
  --colors-gray-neutral-200: #e5e7eb;
  --colors-gray-neutral-500: #6c737f;
  --colors-text-primary: #161b26;
  --colors-text-placeholder: #85888e;
  --colors-alpha-alpha-white-0: #ffffff00;
  --colors-alpha-alpha-white-10: #ffffff19;
  --colors-alpha-alpha-white-20: #ffffff33;
  --colors-alpha-alpha-white-30: #ffffff4c;
  --colors-alpha-alpha-white-40: #ffffff66;
  --colors-alpha-alpha-white-50: #ffffff7f;
  --colors-alpha-alpha-white-60: #ffffff99;
  --colors-alpha-alpha-white-70: #ffffffb2;
  --colors-alpha-alpha-white-80: #ffffffcc;
  --colors-alpha-alpha-white-90: #ffffffe5;
  --colors-alpha-alpha-white-100: #ffffff;
  --colors-alpha-alpha-black-0: #16161600;
  --colors-alpha-alpha-black-10: #16161619;
  --colors-alpha-alpha-black-20: #16161633;
  --colors-alpha-alpha-black-30: #1616164c;
  --colors-alpha-alpha-black-40: #16161666;
  --colors-alpha-alpha-black-50: #1616167f;
  --colors-alpha-alpha-black-60: #16161699;
  --colors-alpha-alpha-black-70: #161616b2;
  --colors-alpha-alpha-black-80: #161616cc;
  --colors-alpha-alpha-black-90: #161616e5;
  --colors-alpha-alpha-black-100: #161616;
  --colors-alpha-alpha-green-10: #1b835419;
  --colors-alpha-alpha-green-20: #1b835433;
  --colors-alpha-alpha-green-30: #1b83544c;
  --colors-alpha-alpha-green-40: #1b835466;
  --colors-alpha-alpha-green-50: #1b83547f;
  --colors-alpha-alpha-green-60: #1b835499;
  --colors-alpha-alpha-green-70: #1b8354b2;
  --colors-alpha-alpha-green-80: #1b8354cc;
  --colors-alpha-alpha-green-90: #1b8354e5;
  --colors-alpha-alpha-green-100: var(--colors-primary-sa-flag-600-primary);
  --shadow-xs: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
  --shadow-sm: 0px 1px 2px 0px rgba(16, 24, 40, 0.06), 0px 1px 3px 0px rgba(16, 24, 40, 0.10);
  --shadow-md: 0px 2px 4px -2px rgba(16, 24, 40, 0.06), 0px 4px 8px -2px rgba(16, 24, 40, 0.10);
  --shadow-lg: 0px 4px 6px -2px rgba(16, 24, 40, 0.03), 0px 12px 16px -4px rgba(16, 24, 40, 0.08);
  --shadow-xl: 0px 8px 8px -4px rgba(16, 24, 40, 0.03), 0px 20px 24px -4px rgba(16, 24, 40, 0.08);
  --shadow-2xl: 0px 24px 48px -12px rgba(16, 24, 40, 0.18);
  --shadow-3xl: 0px 32px 64px -12px rgba(16, 24, 40, 0.14);
  --link-primary: var(--colors-primary-sa-flag-600-primary);
  --link-primary-hovered: var(--colors-primary-sa-flag-400);
  --link-primary-pressed: var(--colors-primary-sa-flag-300);
  --link-primary-focused: var(--colors-primary-sa-flag-600-primary);
  --link-primary-visited: var(--colors-primary-sa-flag-800);
  --text-success: var(--colors-green-700);
  --text-info: var(--colors-blue-700);
  --background-brand-light: var(--colors-primary-sa-flag-50);
  --radius-full: 9999px;
  --background-SA-Flag: #074D31;
  --field-border-error: #B42318;
  --svg-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M18 9s-4.4189 6-6 6-6-6-6-6' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M15 6s-6 4.419-6 6 6 6 6 6'/%3E%3C/svg%3E");
  --dga-tabs-text: #161616;
  --dga-tabs-muted: #384250;
  --dga-tabs-border: #d2d6db;
  --dga-tabs-primary: #1b8354;
  --dga-tabs-hover: #f3f4f6;
  --dga-tabs-focus: #000;
  --dga-tabs-radius: 4px;
  --dga-tabs-icon-size: 16px;
  --dga-tabs-gap: 4px;
  --dga-tabs-selector: 3px;
  --colors-hex-fff: #fff;
  --colors-hex-0d121c: #0d121c;
  --colors-hex-111827: #111827;
  --colors-hex-d1d5db: #d1d5db;
  --colors-hex-198754: #198754;
  --colors-hex-6b7280: #6b7280;
  --colors-hex-1f2937: #1f2937;
}
























/* في الصفحات غير العربية نعود إلى خط النظام حتى لا يتم فرض الخط العربي. */
html:not(:lang(ar)) .dga-embed {
  --dga-font-family: 'IBM Plex Sans Arabic', system-ui, -apple-system, "Segoe UI", sans-serif;
}

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

/* تنسيق موحد لعناوين الصفحات والأقسام حتى لا تتكرر القواعد. */
.dga-embed .dga-page-title,
.dga-embed .h1title,
.dga-embed .dga-section-title {
  margin: 0;
  color: var(--dga-color-title);
  font: 700 30px / 38px var(--dga-font-family);
}

/* قاعدة الفاصل العامة، وتفاصيل العرض الخاصة بالبطاقات موجودة في قسم البطاقات. */
.dga-embed .dga-divider {
  height: 1px;
  border: 0;
  opacity: 1;
}


/* ==========================================================================
   مكون الأكورديون
   ========================================================================== */

/* القواعد الأساسية للأكورديون مع الاعتماد على بوتستراب للسلوك التفاعلي. */
.dga-embed .accordion {
  color: var(--neutral-700);
}

.dga-embed .accordion-item {
  border: 0;
  border-radius: 0;
  background-color: #ffffff;
  color: var(--neutral-700);
}

/* زر الأكورديون يزيل سهم بوتستراب الافتراضي ويستخدم أيقونة النظام. */
.dga-embed .accordion-button {
  min-height: 56px;
  padding: 1rem;
  background-color: #ffffff;
  box-shadow: none;
  color: #161616;
  text-align: inherit;
  transition: background-color 0.22s ease, color 0.22s ease;
}

.dga-embed .accordion-button:not(.collapsed) {
  background-color: #ffffff;
  box-shadow: none;
  color: #161616;
}

.dga-embed .accordion-button:hover {
  background-color: var(--neutral-100);
}

.dga-embed .dga-accordion-fixed>.accordion-item>.accordion-header>.accordion-button:not(.collapsed) {
  background-color: var(--neutral-100);
}

.dga-embed .accordion-button:active {
  background-color: var(--neutral-50);
}

.dga-embed .accordion-button:focus {
  outline: 0;
}

.dga-embed .accordion-button:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: -2px;
}

.dga-embed .accordion-button::after {
  display: none;
}

/* دوران الأيقونة يوضح حالة الفتح والإغلاق بدون تغيير بنية بوتستراب. */
.dga-embed .dga-accordion-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  color: var(--black);
  font-size: 1rem;
  line-height: 1;
  transition: color 0.18s ease, transform 0.18s ease;
}

.dga-embed .accordion-button:not(.collapsed) .dga-accordion-icon {
  transform: rotate(180deg);
}

.dga-embed .accordion-button.collapsed .dga-accordion-icon {
  transform: rotate(0deg);
}

/* حالة العنصر المعطل تظهر للمستخدم بدون السماح بالتفاعل. */
.dga-embed .accordion-button:disabled {
  color: var(--neutral-400);
  cursor: not-allowed;
  opacity: 1;
}

.dga-embed .accordion-button:disabled .dga-accordion-icon {
  color: var(--neutral-300);
}

.dga-embed .accordion-button:disabled:hover {
  background-color: transparent;
}

/* الأكورديون المتداخل أصغر قليلاً حتى يظهر كتفصيل داخل العنصر الأب. */
.dga-embed .accordion .accordion .accordion-button {
  min-height: 48px;
}

.dga-embed .dga-accordion-fixed>.accordion-item>.accordion-collapse>.accordion-body>.accordion {
  border-inline-start: 0 !important;
  border-bottom: 0 !important;
}

.dga-embed .accordion-body {
  padding: 0.5rem 1rem;
}

/* الجداول داخل الأكورديون تحتاج عرضاً ثابتاً للتمرير الأفقي على الشاشات الصغيرة. */
.dga-embed .accordion-body .table,
.dga-embed .dga-specializations-table {
  min-width: 1280px;
  border-color: var(--neutral-300);
  color: #161616;
}

.dga-embed .accordion-body .table> :not(caption)>*>*,
.dga-embed .dga-specializations-table> :not(caption)>*>* {
  border-color: var(--neutral-300);
  background-color: #ffffff;
  color: #161616;
}

.dga-embed .accordion-body .table thead th,
.dga-embed .dga-specializations-table thead th {
  height: 48px;
  padding: 0.75rem 1rem;
  background-color: var(--neutral-100);
  border-color: var(--neutral-300);
  color: var(--neutral-700);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}

.dga-embed .accordion-body .table tbody td,
.dga-embed .dga-specializations-table tbody td {
  height: 64px;
  padding: 1rem;
}

/* حاوية أمثلة الجداول تفصل النسخة الأصلية عن النسخة المعدلة بوضوح. */
.dga-embed .accordion-body .dga-table-examples {
  width: 100%;
}

/* فئة اختيارية: تجعل خلفية الصفوف الزوجية مثل خلفية رأس الجدول. */
.dga-embed .accordion-body .dga-table--even-heading-bg tbody tr:nth-child(even)>*,
.dga-embed .dga-specializations-table tbody tr:nth-child(even)>* {
  background-color: var(--neutral-100);
}

/* فئة اختيارية: تضمن ظهور الحدود العمودية بين خلايا الجدول. */
.dga-embed .accordion-body .dga-table--vertical-borders> :not(caption)>*>*,
.dga-embed .dga-specializations-table> :not(caption)>*>* {
  border-inline-width: 1px;
}

/* فئة اختيارية: تخفي الحدود العمودية وتبقي الحدود الأفقية فقط. */
.dga-embed .accordion-body .dga-table--no-vertical-borders> :not(caption)>*>* {
  border-inline-width: 0;
}

.dga-embed .accordion-body .table th:first-child,
.dga-embed .accordion-body .table td:first-child,
.dga-embed .accordion-body .table th:last-child,
.dga-embed .accordion-body .table td:last-child {
  width: 52px;
  text-align: center;
}

.dga-embed .dga-course-table th:nth-child(12),
.dga-embed .dga-course-table td:nth-child(12) {
  text-align: center;
}

.dga-embed .accordion-body .table a {
  text-underline-offset: 3px;
}

.dga-embed .accordion-body .table a:hover {
  text-decoration: underline;
}

.dga-embed .dga-specializations-link {
  color: var(--dga-color-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.dga-embed .dga-specializations-link:hover,
.dga-embed .dga-specializations-link:focus-visible {
  color: var(--dga-color-primary-hover);
}

.dga-specializations-modal-shell {
  z-index: 1080;
}

.dga-specializations-modal-shell .modal-dialog {
  pointer-events: auto;
}

.modal-backdrop {
  z-index: 1070;
}

.dga-embed .dga-specializations-modal {
  border: 0;
  border-radius: 8px;
}

.dga-embed .dga-specializations-summary {
  padding: 1rem;
  border: 1px solid #a7c8bb;
  border-radius: 8px;
  background-color: #f2f8f6;
  color: var(--dga-color-primary);
}

.dga-embed .dga-specializations-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.dga-embed .dga-specializations-table thead th,
.dga-embed .dga-specializations-table tbody td {
  height: auto;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: center;
}

.dga-embed .accordion-body .table .form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  border-color: var(--neutral-500);
  border-radius: 0.125rem;
}

.dga-embed .accordion-body .table .badge {
  min-height: 1.5rem;
  color: var(--neutral-800) !important;
  font-size: 0.75rem;
  line-height: 1.5;
}

.dga-embed .accordion-body .table .rounded-pill {
  background-color: var(--neutral-50) !important;
  font-size: 0.875rem;
}

.dga-embed .accordion-body .table .rounded-circle {
  width: 0.625rem;
  height: 0.625rem;
  padding: 0;
  background-color: var(--neutral-500) !important;
}

.dga-embed .dga-course-table td {
  vertical-align: middle;
  white-space: nowrap;
}

.dga-embed .dga-status {
  display: inline-flex;
  min-width: 78px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.625rem;
  border: 1px solid transparent;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
}

.dga-embed .dga-status--available {
  border-color: #abefc6;
  background-color: #ecfdf3;
  color: #067647;
}

.dga-embed .dga-status--unavailable {
  border-color: #fecdca;
  background-color: #fef3f2;
  color: #b42318;
}

.dga-embed .dga-table-icon {
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 1;
}

/* ارتفاع عارض ملف بي دي إف متجاوب مع حد أدنى يحافظ على قابلية القراءة. */
.dga-embed .pdf-viewer {
  width: 100%;
  height: min(70vh, 640px);
  min-height: 420px;
}


/* ==========================================================================
   مكون البطاقات
   ========================================================================== */

/* صفحة البطاقات تستخدم خلفية عامة مختلفة عن بقية أمثلة المكونات. */
.dga-embed--cards {
  background-color: var(--dga-color-bg);
}

/* البطاقة تعتمد على ظل وحدود خفيفة مع حالة تحويم واضحة. */
.dga-embed .dga-section-card {
  overflow: hidden;
  border: 1px solid var(--dga-color-border);
  border-radius: 16px;
  background-color: var(--dga-color-surface);
  box-shadow: var(--dga-shadow-card);
  text-align: start;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.dga-embed .dga-section-card:hover {
  border-color: var(--dga-color-surface);
  background-color: var(--dga-color-surface-hover);
}

/* محتوى البطاقة يحافظ على ارتفاع موحد حتى تتوازن الشبكة. */
.dga-embed .dga-section-card .card-body {
  min-height: 260px;
}

/* أيقونة البطاقة والنصوص وبيانات التواصل داخل البطاقة. */
.dga-embed .dga-card-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  background-color: var(--dga-color-primary-soft);
  color: var(--dga-color-primary);
  font-size: 24px;
  line-height: 1;
}

.dga-embed .dga-card-title {
  color: var(--dga-color-title);
  font: 700 18px / 28px var(--dga-font-family);
}

.dga-embed .dga-card-text {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--dga-color-muted);
  font: 400 16px / 24px var(--dga-font-family);
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dga-embed .dga-contact-list {
  padding-top: 0.25rem;
  color: var(--dga-color-text);
  font: 400 14px / 20px var(--dga-font-family);
}

.dga-embed .dga-contact-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--dga-color-primary);
  font-size: 20px;
  line-height: 20px;
  text-align: center;
}

.dga-embed .dga-contact-text {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px;
}

.dga-embed .dga-contact-value,
.dga-embed .dga-contact-link {
  direction: ltr;
  unicode-bidi: embed;
}

.dga-embed .dga-contact-value {
  color: var(--dga-color-strong);
  font-weight: 500;
}

.dga-embed .dga-contact-link,
/* الروابط وأزرار الإجراء تستخدم ألوان نظام التصميم مع حالات تركيز واضحة. */
.dga-embed .dga-contact-link,
.dga-embed .dga-link {
  color: var(--dga-color-primary);
  text-decoration: none;
  text-underline-offset: 3px;
}

.dga-embed .dga-contact-link:visited,
.dga-embed .dga-link:visited {
  color: var(--dga-color-primary);
}

.dga-embed .dga-contact-link:hover,
.dga-embed .dga-contact-link:focus-visible {
  color: var(--dga-color-primary-hover);
  text-decoration: underline;
}

.dga-embed .dga-link:hover,
.dga-embed .dga-link:focus-visible {
  border-bottom-color: currentColor;
  color: var(--dga-color-primary-hover);
}

.dga-embed .dga-contact-link:active,
.dga-embed .dga-link:active {
  color: var(--dga-color-primary-active);
}

.dga-embed .dga-card-action {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background-color: var(--dga-color-primary);
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.dga-embed .dga-card-action:hover,
.dga-embed .dga-card-action:focus-visible {
  background-color: var(--dga-color-primary-hover);
  color: #ffffff;
}

.dga-embed .dga-card-action:active {
  background-color: var(--dga-color-primary-active) !important;
  color: #ffffff !important;
}

.dga-embed .dga-card-action:focus-visible,
.dga-embed .dga-link:focus-visible,
.dga-embed .dga-contact-link:focus-visible {
  outline: 2px solid var(--dga-color-focus);
  outline-offset: 2px;
}

/* فاصل صفحة البطاقات أعرض من الفاصل العام ويظهر بلون الهوية. */
.dga-embed--cards .dga-divider {
  width: 50%;
  max-width: 100%;
  margin-inline: auto;
  background-color: var(--dga-color-divider);
}

/* اتجاه أيقونة الرابط يتغير حسب اتجاه الصفحة حتى يبقى معنى السهم صحيحاً. */
.dga-embed .dga-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid transparent;
  font: 400 16px / 24px var(--dga-font-family);
  transition: border-color 0.2s ease, color 0.2s ease;
}

html[dir="rtl"] .dga-embed .dga-link {
  flex-direction: row;
  text-align: right;
}

html[dir="ltr"] .dga-embed .dga-link {
  flex-direction: row-reverse;
  text-align: left;
}

.dga-embed .dga-link-icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  color: currentColor;
  font-size: 20px !important;
  line-height: 20px;
}


/* ==========================================================================
   مكون ترقيم الصفحات
   ========================================================================== */

/* مساحة المعاينة تأخذ ارتفاع محتواها فقط وتبدأ من يمين أو يسار الصفحة حسب الاتجاه. */
.dga-embed .pagination-preview {
  display: flex;
  height: fit-content;
  min-height: 0;
  align-items: flex-start;
  justify-content: flex-start;
  direction: inherit;
}

.dga-embed .pagination-preview nav {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  direction: inherit;
}

/* أرقام الصفحات تعتمد على مؤشر سفلي بدلاً من خلفية بوتستراب الافتراضية. */
.dga-embed .dga-pagination {
  flex-wrap: wrap;
  gap: var(--pagination-gap);
  justify-content: flex-start;
  direction: inherit;
}

.dga-embed .dga-pagination .page-link {
  position: relative;
  min-width: var(--pagination-size);
  min-height: var(--pagination-size);
  padding: 8px 10px;
  border: 0;
  border-radius: 0.25rem;
  background-color: transparent;
  color: var(--pagination-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  touch-action: manipulation;
}

.dga-embed .dga-pagination .page-link:hover {
  background-color: var(--pagination-hover-bg);
  color: var(--pagination-text);
}

.dga-embed .dga-pagination .page-link:focus {
  background-color: var(--pagination-hover-bg);
  box-shadow: 0 0 0 0.2rem var(--pagination-focus-ring);
  color: var(--pagination-text);
}

.dga-embed .dga-pagination .page-link:active {
  background-color: var(--pagination-hover-bg);
}

.dga-embed .dga-pagination .active .page-link {
  background-color: transparent;
  color: var(--pagination-text);
}

.dga-embed .dga-pagination .active .page-link::after {
  position: absolute;
  inset-block-end: 0;
  inset-inline: 10px;
  height: 3px;
  border-radius: var(--radius-full);
  background-color: var(--pagination-primary);
  content: "";
}

.dga-embed .dga-pagination .pagination-overflow {
  border-color: var(--pagination-text) !important;
  cursor: default;
}

.dga-embed .dga-pagination .pagination-overflow:focus {
  box-shadow: none;
}

.dga-embed .dga-pagination .disabled .page-link {
  background-color: transparent;
  color: var(--pagination-disabled);
  pointer-events: none;
}

/* تدوير الأسهم في الاتجاه من اليمين إلى اليسار يحافظ على دلالة السابق/التالي بصرياً. */
.dga-embed .pagination-icon {
  width: var(--pagination-icon-size);
  height: var(--pagination-icon-size);
  flex: 0 0 var(--pagination-icon-size);
  font-size: var(--pagination-icon-size);
  line-height: 1;
}

html[dir="rtl"] .dga-embed .pagination-icon {
  transform: rotate(180deg);
}


/* ==========================================================================
   مكون مؤشر التقدم
   ========================================================================== */

/* مساحة المعاينة تكفي لعرض المؤشر وحالاته التجريبية. */
.dga-embed .progress-preview {
  min-height: 240px;
}

/* الخطوات موزعة بالتساوي مع حد أدنى يمنع تكدس النصوص. */
.dga-embed .dga-progress {
  max-width: 720px;
  gap: var(--progress-gap);
}

.dga-embed .dga-progress-step {
  flex: 1 1 0;
  min-width: 158px;
}

/* علامة الخطوة تعرض الرقم أو علامة الاكتمال حسب الحالة. */
.dga-embed .dga-step-marker {
  width: var(--progress-marker-size);
  height: var(--progress-marker-size);
  flex: 0 0 var(--progress-marker-size);
  border-width: 2px;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.dga-embed .dga-step-marker:focus-visible,
.dga-embed .is-focused .dga-step-marker {
  outline: 2px solid var(--progress-black);
  outline-offset: 1px;
  box-shadow: 0 0 0 1px var(--progress-white);
}

/* حالات المؤشر: مكتملة، حالية، وقادمة. */
.dga-embed .is-completed .dga-step-marker {
  border-color: var(--progress-completed);
  background-color: var(--progress-completed);
  color: var(--progress-white);
}

.dga-embed .is-completed .dga-step-marker:hover,
.dga-embed .is-completed.is-hover .dga-step-marker {
  border-color: var(--progress-completed-hover);
  background-color: var(--progress-completed-hover);
}

.dga-embed .is-current .dga-step-marker {
  border-color: var(--progress-completed);
  background-color: var(--progress-white);
  color: var(--progress-completed);
}

.dga-embed .is-upcoming .dga-step-marker {
  border-color: var(--progress-upcoming);
  background-color: var(--progress-white);
  color: var(--progress-upcoming);
}

.dga-embed .dga-step-line {
  height: var(--progress-line-size);
  background-color: var(--progress-upcoming);
}

.dga-embed .dga-step-line .progress-bar {
  background-color: var(--progress-completed);
}

/* نصوص الخطوات والحالات تبقى على سطر واحد في العرض القياسي. */
.dga-embed .dga-step-text {
  gap: var(--progress-text-gap);
  padding-inline-start: var(--progress-text-offset);
  margin-block-start: var(--progress-gap);
}

.dga-embed .dga-step-title {
  color: var(--progress-title);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  white-space: nowrap;
}

.dga-embed .dga-step-description,
.dga-embed .dga-state-label {
  color: var(--progress-description);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
}

.dga-embed .dga-check-icon {
  width: var(--progress-icon-size);
  height: var(--progress-icon-size);
  flex: 0 0 var(--progress-icon-size);
  font-size: var(--progress-icon-size);
  line-height: 1;
}

.dga-embed .dga-state-example {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: var(--progress-gap);
}


/* ==========================================================================
   مكون التبويبات
   ========================================================================== */

/* القواعد المشتركة بين التبويبات الأفقية والعمودية. */
.dga-embed .dga-tabs {
  color: var(--dga-tabs-muted);
  direction: inherit;
  text-align: start;
}

.dga-embed .dga-tab-list {
  max-width: 100%;
  direction: inherit;
}

/* زر التبويب يستخدم مؤشر العنصر الزائف بعد للحالة النشطة والتحويم. */
.dga-embed .dga-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--dga-tabs-gap);
  border: 0;
  border-radius: var(--dga-tabs-radius);
  background-color: transparent;
  color: var(--dga-tabs-muted);
  letter-spacing: 0;
  text-align: start;
  unicode-bidi: isolate;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.dga-embed .dga-tab:hover,
.dga-embed .dga-tab:focus-visible {
  background-color: var(--dga-tabs-hover);
  color: var(--dga-tabs-text);
}

.dga-embed .dga-tab:focus {
  box-shadow: none;
}

.dga-embed .dga-tab:focus-visible {
  outline: 2px solid var(--dga-tabs-focus);
  outline-offset: 2px;
}

.dga-embed .dga-tab.active,
.dga-embed .dga-tab.active:hover,
.dga-embed .dga-tab.active:focus-visible {
  background-color: transparent;
  color: var(--dga-tabs-text);
}

.dga-embed .dga-tab.active::after,
.dga-embed .dga-tab:not(.active):hover::after,
.dga-embed .dga-tab:not(.active):focus-visible::after {
  position: absolute;
  border-radius: var(--radius-full);
  content: "";
}

.dga-embed .dga-tab.active::after {
  background-color: var(--dga-tabs-primary);
}

.dga-embed .dga-tab:not(.active):hover::after,
.dga-embed .dga-tab:not(.active):focus-visible::after {
  background-color: var(--dga-tabs-text);
}

.dga-embed .dga-tab__icon {
  width: var(--dga-tabs-icon-size);
  height: var(--dga-tabs-icon-size);
  flex: 0 0 var(--dga-tabs-icon-size);
  font-size: var(--dga-tabs-icon-size);
  line-height: 1;
}

/* التبويبات الأفقية تسمح بالتمرير عندما يزيد عدد التبويبات عن عرض الشاشة. */
.dga-embed .dga-tabs--horizontal {
  width: 100%;
}

.dga-embed .dga-tabs--horizontal .dga-tab-list {
  position: relative;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  flex-wrap: nowrap;
  align-items: center;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.dga-embed .dga-tabs--horizontal .dga-tab-list::-webkit-scrollbar {
  display: none;
}

.dga-embed .dga-tabs--horizontal .dga-tab-list::before {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: var(--dga-tabs-selector);
  border-radius: var(--radius-full);
  background-color: var(--dga-tabs-border);
  content: "";
}

.dga-embed .dga-tabs--horizontal .nav-item {
  flex: 0 0 auto;
}

.dga-embed .dga-tabs--horizontal .dga-tab {
  min-height: 52px;
  padding: 16px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.dga-embed .dga-tabs--horizontal .dga-tab.active {
  font-weight: 700;
}

.dga-embed .dga-tabs--horizontal .dga-tab.active::after,
.dga-embed .dga-tabs--horizontal .dga-tab:not(.active):hover::after,
.dga-embed .dga-tabs--horizontal .dga-tab:not(.active):focus-visible::after {
  inset-inline: 16px;
  inset-block-end: 0;
  height: var(--dga-tabs-selector);
}

/* التبويبات العمودية تفصل قائمة التبويبات عن المحتوى بخط جانبي. */
.dga-embed .dga-tabs--vertical {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.dga-embed .dga-tabs--vertical .dga-tab-list {
  width: max-content;
  max-width: 100%;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
}

.dga-embed .dga-tabs--vertical .dga-tab {
  width: 100%;
  justify-content: flex-start;
  padding: 8px 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: start;
}

.dga-embed .dga-tabs--vertical .dga-tab.active {
  font-weight: 600;
}

.dga-embed .dga-tabs--vertical .dga-tab.active::after,
.dga-embed .dga-tabs--vertical .dga-tab:not(.active):hover::after,
.dga-embed .dga-tabs--vertical .dga-tab:not(.active):focus-visible::after {
  inset-block: 8px;
  inset-inline-start: 0;
  width: var(--dga-tabs-selector);
}

.dga-embed .dga-tab-panels {
  margin-block-start: 16px;
}

.dga-embed .dga-tabs--vertical .dga-tab-panels {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 auto;
  margin-block-start: 0;
  padding-inline-start: 12px;
  border-inline-start: var(--dga-tabs-selector) solid var(--dga-tabs-border);
}

.dga-embed .dga-tab-panel {
  max-width: fit-content;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background-color: #ffffff;
  color: var(--dga-tabs-muted);
  direction: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-align: start;
  unicode-bidi: isolate;
}

/* الأكورديون المتداخل يحتاج عرضاً كاملاً حتى لا يتغير عرض الأب عند فتح العناصر الداخلية. */
.dga-embed .dga-accordion-fixed,
.dga-embed .dga-accordion-fixed .accordion,
.dga-embed .dga-tab-panel--accordion,
.dga-embed .dga-tab-panel--accordion>.accordion,
.dga-embed .dga-tab-panel--accordion .accordion .accordion {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* استجابات العرض تحافظ على قراءة المحتوى وتمنع خروج اللوحات عن الشاشة. */
@media (max-width: 991.98px) {
  .dga-embed .dga-tab-panel {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  .dga-embed .dga-tabs--vertical {
    flex-direction: column;
  }

  .dga-embed .dga-tabs--vertical .dga-tab-list {
    width: max-content;
    max-width: 100%;
  }

  .dga-embed .dga-tabs--vertical .dga-tab-panels,
  .dga-embed .dga-tab-panel {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .dga-embed .dga-pagination {
    gap: 6px;
  }

  .dga-embed .accordion-button {
    min-height: 52px;
    padding-inline: 1rem;
  }

  .dga-embed .accordion-body {
    padding-inline: 1rem;
  }

  .dga-embed .dga-progress {
    flex-direction: column;
  }

  .dga-embed .dga-progress-step {
    width: 100%;
  }
}





















.dga-tag {
  white-space: nowrap;
  flex-shrink: 0;
  width: max-content;
}

.dga-tag[data-type="success"] {
  background: var(--colors-green-50);
  color: var(--colors-green-800);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}

.dga-tag[data-type="error"] {
  background: var(--colors-red-50);
  color: var(--colors-red-800);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}

.dga-tag[data-type="info"] {
  background: var(--colors-blue-50);
  color: var(--colors-blue-800);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}

.dga-tag[data-type="natureal"] {
  background: var(--colors-neutral-50);
  color: var(--colors-neutral-800);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}

.dga-tag[data-type="visitors"] {
  background: var(--colors-tertiary-lavendar-100);
  color: var(--colors-neutral-800);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}


.dga-tag[data-type="warning"] {
  background: var(--colors-yellow-50);
  color: var(--colors-yellow-700);
  font: 500 12px / 18px 'IBM Plex Sans Arabic';
  display: inline-flex;
  width: fit-content;
  border-radius: 4px;
  padding: 0 8px;
  border-width: 1px;
  height: 24px;
  align-items: center;
}


.dga-tag-postition {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

/* ==========================================================================
   KFU Header & Footer
   ========================================================================== */

/* Government stamp */
.login-position {
  position: absolute;
  left: 0;
}

[dir="ltr"] .login-position {
  left: auto;
  right: 0;
}

.digital-stamp-card {
  padding: 8px 32px;
  background: #f3f4f6;
}

.digital-stamp-card .digital-stamp-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.digital-stamp-card .digital-stamp-header h6 {
  margin: 0;
  color: #161616;
  font-size: 14px;
}

.digital-stamp-card .digital-stamp-header .btn-digital-stamp-card {
  cursor: pointer;
}

.digital-stamp-card .digital-stamp-header .btn-digital-stamp-card span {
  color: #1b8354;
  font-size: 14px;
}

.digital-stamp-card .digital-stamp-header .btn-digital-stamp-card svg,
.digital-stamp-card .digital-stamp-header .btn-digital-stamp-card img {
  transition: 0.3s;
}

.digital-stamp-card .digital-stamp-header.open .btn-digital-stamp-card svg,
.digital-stamp-card .digital-stamp-header.open .btn-digital-stamp-card img {
  transform: rotate(180deg);
}

.btn-digital-stamp-card img {
  margin-inline: 4px;
}

.digital-stamp-card .digital-stamp-body {
  display: none;
  padding-top: 40px;
  padding-bottom: 32px;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container {
  display: flex;
  gap: 32px;
  margin-bottom: 32px;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container .box {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container .box .img-border-rounded {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  border: 1px solid #067647;
  border-radius: 100%;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container .box h6 {
  margin: 0 0 12px;
  color: #161616;
  font-size: 18px;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container .box .green-text {
  color: #1b8354;
}

.digital-stamp-card .digital-stamp-body .digital-stamp-container .box p {
  margin: 0;
  color: #384250;
  font-size: 16px;
}

.digital-stamp-card .digital-stamp-body .stamp-link-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 28px;
  border-radius: 8px;
  background: #ffffff;
}

.digital-stamp-card .digital-stamp-body .stamp-link-box p {
  margin: 0;
  color: #161616;
  font-size: 16px;
}

.digital-stamp-card .digital-stamp-body .stamp-link-box a {
  color: #1b8354;
  font-size: 16px;
  text-decoration: underline;
}

.stamp-ar {
  direction: rtl;
}

[dir="ltr"] .stamp-ar {
  direction: ltr;
}

/* Header */
.digital-stamp-card .container-xxl,
.navbar .container-xxl {
  max-width: 1480px;
}

.kfo-logo {
  height: 3.8rem;
}

.navbar.sticky-top {
  z-index: 99 !important;
  --bs-navbar-padding-y: 0;
}

.s-ion-icon {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
}

.navbar-toggler:focus,
.nav-item.dropdown > .nav-link:focus-visible,
.action-link:focus-visible {
  outline: 2px solid var(--colors-neutral-900);
  outline-offset: 2px;
}

a:focus.navbar-brand,
.nav-link:focus {
  outline: none;
  box-shadow: none;
}

.navbar .nav-link,
.action-link {
  position: relative;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link:active,
.decoration-none {
  text-decoration: none !important;
}

.nav-item.dropdown > .nav-link {
  height: 71px;
  padding: 0.4rem 1rem;
  color: var(--colors-base-black);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  border-radius: 2px;
}

.nav-item.dropdown:hover > .nav-link {
  background-color: var(--colors-neutral-100);
  color: var(--colors-base-black);
  overflow: hidden;
  transition: 0.5s;
}

.nav-item.dropdown:active > .nav-link {
  background-color: var(--colors-neutral-300);
  color: var(--colors-base-black);
}

.nav-item.dropdown.show > .nav-link {
  background-color: var(--colors-primary-sa-flag-600-primary);
  color: var(--colors-base-white);
  border-radius: 4px;
}

.nav-item.dropdown:hover > .nav-link::before,
.nav-item.dropdown.show > .nav-link::before,
.action-link:hover::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 80%;
  height: 6px;
  border-radius: 9999px;
  pointer-events: none;
}

.nav-item.dropdown:hover > .nav-link::before {
  background: var(--colors-neutral-400);
}

.nav-item.dropdown.show > .nav-link::before {
  background: var(--colors-primary-sa-flag-400);
}

.action-link:hover::before {
  background: var(--colors-primary-sa-flag-300);
}

.dropdown-arrow {
  font-size: 0.55rem;
  margin-inline-start: 0.25rem;
}

.nav-dropdown.show .dropdown-arrow,
.mega-dropdown.show .dropdown-arrow {
  transform: rotate(180deg);
}

.nav-dropdown .dropdown-toggle::after,
.mega-dropdown .dropdown-toggle::after {
  display: none;
}

.mega-dropdown {
  position: static;
}

.mega-dropdown .dropdown-menu {
  position: absolute;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: min(1300px, calc(100vw - 2rem));
  padding: 1.5rem;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.mega-link,
.mega-content .list-group-item.mega-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  transition: 0.15s ease;
}

.mega-link::before {
  content: "";
  position: absolute;
  inset-block: 7px;
  inset-inline-start: 0;
  width: 5px;
  border-radius: 4px;
  background-color: transparent;
}

.mega-content .list-group-item {
  border: none;
  background-color: var(--colors-base-white);
  color: var(--colors-neutral-700) !important;
  outline: none;
}

.mega-content .list-group-item.mega-link {
  margin-bottom: 0.5rem;
  border-radius: 4px;
  font: 600 1rem/20px "IBM Plex Sans Arabic";
}

.mega-content .list-group-item.mega-link.active {
  background-color: var(--colors-neutral-200);
  color: var(--colors-primary-sa-flag-600-primary) !important;
}

.mega-content .list-group-item.active::before {
  background-color: var(--colors-primary-sa-flag-600-primary);
}

.mega-link:hover {
  background-color: var(--colors-neutral-100);
  text-decoration: none !important;
}

.mega-link:hover::before {
  background-color: var(--colors-neutral-400);
}

.mega-link:active {
  background-color: var(--colors-neutral-200) !important;
  color: var(--colors-alpha-alpha-black-100);
}

.mega-link:active::before {
  background-color: var(--colors-neutral-800) !important;
}

.black-icon {
  background-color: transparent !important;
  color: var(--colors-neutral-700) !important;
  font-size: 1.3rem !important;
  font-weight: 400;
}

.mega-dropdown .ul-ol-list-none {
  list-style: none;
}

.mega-dropdown .tab-pane .ul-ol-list-none li {
  margin: 0 !important;
}

.mega-dropdown .tab-pane a,
.mega-dropdown .tab-pane a:visited {
  display: block;
  width: 100%;
  padding: 10px 16px;
  border-radius: 10px;
  color: var(--colors-base-black);
  font-weight: 400;
  line-height: 1.5rem;
  text-decoration: none;
  text-underline-offset: 0;
}

.mega-dropdown .tab-pane a:hover {
  background-color: var(--colors-neutral-100);
  color: var(--colors-base-black);
  text-decoration: none;
}

.mega-dropdown .tab-pane a:active {
  background-color: var(--colors-neutral-200);
  color: var(--colors-base-black);
  text-decoration: none;
}

.mega-dropdown .tab-pane a:focus-visible {
  background-color: var(--colors-base-white) !important;
  color: var(--colors-base-black) !important;
  outline: 2px solid #000;
  outline-offset: 0;
  border-color: transparent !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.action-link,
.action-link:visited,
.action-link:focus {
  height: 71px;
  padding: 0.4rem 0.8rem;
  color: var(--colors-base-black);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  border-radius: 2px;
  text-decoration: none;
}

.action-link:hover {
  background-color: var(--colors-primary-sa-flag-700);
  color: var(--colors-base-white);
  text-decoration: none;
}

.action-link:active {
  background-color: var(--colors-primary-sa-flag-900);
  color: var(--colors-base-white);
  text-decoration: none;
}

.login-link,
.login-link:visited,
.login-link:focus {
  color: var(--link-primary);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.login-link:hover,
.login-link:active {
  color: var(--link-primary);
  text-decoration: none;
}

.login-link:focus-visible {
  outline: 2px solid var(--colors-neutral-900);
  outline-offset: 2px;
}

/* Footer */
.kfu-footer {
  background-color: var(--background-SA-Flag, #074d31);
  color: #ffffff;
  position: relative;
  overflow: hidden;
  font-family: "IBM Plex Sans Arabic", sans-serif;
}

.kfu-footer__container {
  max-width: 1400px;
  margin: 0 auto;
  padding-inline: 32px;
}

.kfu-footer__top {
  padding-block: 32px;
}

.kfu-footer__bottom {
  padding-block: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.kfu-footer__col {
  height: 100%;
}

.kfu-footer__title,
.kfu-footer__subtitle {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 38px;
}

.kfu-footer__title {
  margin: 0 0 24px;
}

.kfu-footer__subtitle {
  margin: 24px 0 16px;
}

.kfu-footer__list,
.kfu-footer__social {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kfu-footer__list li {
  position: relative;
  margin-bottom: 14px;
  padding-inline-start: 14px;
}

.kfu-footer a {
  color: #ffffff;
  text-decoration: none;
}

.kfu-footer a:hover {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kfu-footer a:focus {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
  border-radius: 2px;
}

.kfu-footer__list a,
.kfu-footer__registration,
.kfu-footer__copyright {
  font-size: 1rem;
  font-weight: 400;
  line-height: 24px;
}

.kfu-footer__store-buttons,
.kfu-footer__social,
.kfu-footer-meta-links,
.kfu-footer__registration,
.kfu-footer__bottom-inner,
.kfu-footer__logos {
  display: flex;
  flex-wrap: wrap;
}

.kfu-footer__store-buttons {
  gap: 16px;
  margin-bottom: 24px;
}

.kfu-footer__store-link,
.kfu-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kfu-footer__social {
  gap: 10px;
}

.kfu-footer__social a {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 4px;
  font-size: 1.125rem;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.kfu-footer__social a:hover {
  text-decoration: none;
}

.kfu-footer__social a:focus,
.kfu-footer__social a:active {
  outline: none;
  outline-offset: 0;
  border-radius: 4px;
}

.kfu-footer__social a i {
  font-size: 20px;
}

.kfu-footer-meta-links {
  justify-content: start;
  gap: 16px;
  margin-bottom: 8px;
}

.kfu-footer__registration {
  align-items: center;
  gap: 6px;
  margin-top: 24px;
}

.kfu-footer__registration span {
  opacity: 0.95;
}

.kfu-footer__registration a {
  font-weight: 600;
}

.kfu-footer__bottom-inner {
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.kfu-footer__copyright {
  flex: 1 1 auto;
  margin: 5px 0;
}

.kfu-footer__logos {
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.kfu-footer__logos img {
  display: block;
  width: auto;
  max-height: 60px;
}

@media (max-width: 1199.98px) {
  .kfu-footer__title,
  .kfu-footer__subtitle {
    line-height: 32px;
  }

  .kfu-footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .kfu-footer__logos {
    justify-content: center;
  }
}

@media (max-width: 1180px) {
  .login-position {
    display: none;
  }

  .mega-dropdown .dropdown-menu {
    position: static !important;
    transform: none !important;
    width: 100%;
    background-color: #ffffff;
  }
}

@media (max-width: 991.98px) {
  .navbar .navbar-collapse {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
  }
}

@media (max-width: 779px) {
  .action-link,
  .action-link:visited,
  .action-link:focus {
    width: 100%;
    height: 3rem;
    border: 1px solid var(--colors-gray-neutral-200);
    border-radius: 4px;
  }
}

@media (max-width: 768px) {
  .digital-stamp-card {
    padding: 8px 16px;
  }

  .digital-stamp-card .digital-stamp-header {
    flex-wrap: wrap;
  }

  .digital-stamp-card .digital-stamp-header .btn-digital-stamp-card {
    flex: 100%;
    margin-right: 33px;
  }

  [dir="ltr"] .digital-stamp-card .digital-stamp-header .btn-digital-stamp-card {
    margin-right: 0;
    margin-left: 33px;
  }

  .digital-stamp-card .digital-stamp-body .digital-stamp-container {
    flex-direction: column;
  }
}

@media (max-width: 767.98px) {
  .kfu-footer__container {
    padding-inline: 16px;
  }

  .kfu-footer__top {
    padding-block: 24px;
  }

  .kfu-footer__title,
  .kfu-footer__subtitle {
    line-height: 30px;
    margin-bottom: 16px;
  }

  .kfu-footer__list li {
    margin-bottom: 12px;
  }

  .kfu-footer__logos img {
    max-height: 58px;
  }
}

@media (max-width: 400px) {
  .kfu-footer__logos img {
    max-height: 40px;
  }
}

@media (max-width: 1200px) {
  .nav-item.dropdown.show > .nav-link::before,
  .nav-item.dropdown:hover > .nav-link::before {
    display: none;
  }
}
