/* =============================================================
   DGA Kafalah UAT — Design System Overrides
   Loaded after: main-rtl.min.css, updates.css
   Requires:     dga-tokens.css (must load first)
   Version:      1.1  |  2026-05-06
   ============================================================= */

/* -------------------------------------------------------------
   1. GOOGLE FONTS — IBM Plex Sans Arabic
   (also imported via updates.css — safe to have twice)
   ------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');

/* -------------------------------------------------------------
   2. BASE — font family only
   Font-size is NOT overridden globally — only in content areas
   to avoid inflating web part titles, sidebar headings, stats
   ------------------------------------------------------------- */

body {
  font-family: var(--font-family-base) !important;
  color: var(--color-text-primary) !important;
  background-color: var(--color-bg-page) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-semibold) !important;
}

p, li, td, th {
  font-family: var(--font-family-base);
}

p { color: var(--color-text-primary); line-height: var(--line-height-base); }

a { color: var(--color-text-link); }
a:hover { color: var(--color-primary-900); text-decoration: none; }

/* -------------------------------------------------------------
   3. TYPOGRAPHY SCALE — scoped to page content only
   DGA token sizes only apply inside .page-main__content
   so web part titles, sidebar links, stats numbers stay intact
   ------------------------------------------------------------- */

.page-main__content h1 { font-size: var(--font-size-4xl) !important; line-height: var(--line-height-4xl) !important; color: #1F2A37 !important; }
.page-main__content h2 { font-size: var(--font-size-3xl) !important; line-height: var(--line-height-3xl) !important; color: #1F2A37 !important; }
.page-main__content h3 { font-size: var(--font-size-2xl) !important; line-height: var(--line-height-2xl) !important; color: #1F2A37 !important; }
.page-main__content h4 { font-size: var(--font-size-xl)  !important; line-height: var(--line-height-xl)  !important; color: #1F2A37 !important; }
.page-main__content h5 { font-size: var(--font-size-lg)  !important; line-height: var(--line-height-lg)  !important; color: #1F2A37 !important; }
.page-main__content p  { font-size: var(--font-size-base); color: #1F2A37 !important; }

/* Kill old Kafalah #163762 blue on any heading — replaces it with DGA dark text */
h1[style*="#163762"], h2[style*="#163762"], h3[style*="#163762"],
h1[style*="163762"], h2[style*="163762"], h3[style*="163762"] {
  color: #1F2A37 !important;
}

@media (max-width: 767px) {
  .page-main__content h1 { font-size: var(--font-size-3xl) !important; }
  .page-main__content h2 { font-size: var(--font-size-2xl) !important; }
  .page-main__content h3 { font-size: var(--font-size-xl)  !important; }
}

/* -------------------------------------------------------------
   4. HEADER
   Replaces:  main-rtl.min.css .header { position:absolute; ... }
   DGA spec:  #074D31 bg, 80px height, sticky positioning
   ------------------------------------------------------------- */

.header {
  background-color: var(--color-header-bg) !important;
  background-image: none !important;
  /* position: relative so the header renders BELOW #dga-stamp-bar in
     normal flow. Previously position:absolute caused both to start at
     top:0, making the Kafalah logo appear inside the stamp bar's dark
     band. The hero section renders below the header naturally. */
  position: relative !important;
  top: auto !important;
  z-index: 1000 !important;
  padding: 0 !important;
}

/* Remove transparent/hero-overlap variants — always solid DGA green */
.header.transparent,
.header.header--transparent {
  background-color: var(--color-header-bg) !important;
}

/* ── Fix white background on internal pages ──────────────────
   main-rtl.min.css sets .header__menu { background-color:#fff }
   which bleeds through the green header on internal pages.      */
.header__menu,
.header .navbar,
.header .navbar-light,
.header .navbar-collapse,
.header .collapse {
  background-color: transparent !important;
}
.header .navbar {
  padding: 0;
  width: 100%;
}

/* ── Fix header height — collapse the 2.4rem gap between rows ─
   Original: .header__top-bar { margin-bottom: 2.4rem } ≈ 38px
   DGA spec: compact single visual band, use 8px gap instead.   */
.header__top-bar {
  margin-bottom: var(--space-2) !important;
}

/* ── Fix font colors — original .header__link uses #31454a (dark)
   and .navbar-brand uses rgba(0,0,0,.9). Force white on all.   */
.header .header__link,
.header .header__top-bar a,
.header__link {
  color: #ffffff !important;
}
.header .navbar-brand,
.header .navbar-brand:hover,
.header .navbar-brand:focus {
  color: #ffffff !important;
}
/* nav links in main navbar */
.header .navbar-nav .nav-link,
.header .navbar-nav li a {
  color: #ffffff !important;
}
/* active/current page link */
.header .navbar-nav .active .nav-link,
.header .navbar-nav .nav-link.active {
  color: #ffffff !important;
  font-weight: var(--font-weight-semibold) !important;
}

/* Nav links — hardcoded white; avoid var() tokens that may not resolve */
.header .navbar-nav .nav-link,
.header .navbar-nav a,
.header .header__link,
.header .header__top-bar a {
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  transition: background-color 0.15s, color 0.15s;
}

.header .navbar-nav .nav-link:hover,
.header .navbar-nav a:hover,
.header .header__link:hover,
.header .header__top-bar a:hover {
  color: rgba(255, 255, 255, 0.8) !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-radius: var(--radius-sm);
}

.header .navbar-nav .nav-link.active,
.header .navbar-nav .active > .nav-link {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--radius-sm) !important;
}

/* Explicit transparent background on top-bar to prevent white bleed */
.header__top-bar {
  background-color: transparent !important;
}

/* Mobile toggle */
.header .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3) !important;
  padding: 6px 8px !important;
}
/* Bootstrap span icon — hidden; DGA SVG used instead in master pages */
.header .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
  display: none !important;
}

/* ── Header height standardization — 90–96 px target, all master pages ───
   main-rtl.min.css stacks .header__top-bar above the navbar row on internal
   pages (~197 px). Force everything into a single flex row at desktop.
   Measured live: header = 100px ✓  but .header__vision overflows at 211px.
   Fix: clip overflow and constrain the Vision 2030 logo image.              */
@media (min-width: 992px) {
  .header {
    max-height: 100px !important;
    overflow: hidden !important;
  }
  .header > .container,
  .header > .container-fluid {
    height: 100% !important;
  }
  .header__container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    min-height: 80px !important;
    max-height: 100px !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    overflow: hidden !important;
  }
  .header__menu {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Kafalah brand logo — 48px, with left margin so it's not flush to right edge */
  .header .navbar-brand {
    margin-left: var(--space-6) !important;   /* 24px breathing room from right edge */
    margin-right: 0 !important;
  }
  .header .navbar-brand img,
  .header .navbar-brand picture img {
    height: 48px !important;
    width: auto !important;
    max-height: 48px !important;
    display: block !important;
  }

  /* Vision 2030 logo — small badge, left side, not pressed to the edge */
  .header__vision,
  a.header__vision {
    align-self: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    max-width: 100px !important;
    max-height: 80px !important;
    overflow: hidden !important;
    align-items: center !important;
    margin-right: var(--space-4) !important;  /* space from nav items */
    /* No display: flex here — Bootstrap d-none/d-lg-flex handles visibility */
  }
  .header__vision img,
  .header__vision picture img {
    height: 40px !important;
    width: auto !important;
    max-width: 90px !important;
    max-height: 40px !important;
    display: block !important;
  }

  /* Nav links: prevent wrapping (esp. "كيف أستفيد من كفالة؟") and add spacing */
  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a {
    white-space: nowrap !important;
    padding: var(--space-2) var(--space-3) !important;
  }
  .header .navbar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding-top: var(--space-2) !important;
    padding-bottom: var(--space-2) !important;
  }
  .header__top-bar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: var(--space-1) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }
  .header .navbar-collapse {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .header .navbar-nav {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Mobile nav dropdown background */
.header .navbar-collapse {
  background-color: var(--color-header-bg);
}

@media (max-width: 991px) {
  .header .navbar-collapse {
    background-color: var(--color-header-bg);
  }
}

/* -------------------------------------------------------------
   5. BREADCRUMB
   Replaces:  main-rtl.min.css .breadcrumb { background-color:#e9ecef }
   DGA spec:  #F9FAFB bg, 48px height, text #384250, active #074D31
   ------------------------------------------------------------- */

.page-header {
  background-color: var(--color-breadcrumb-bg) !important;
  border-bottom: 1px solid var(--color-border-default) !important;
  margin: 0 0 var(--space-8) 0 !important;
}

.breadcrumb {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: var(--height-breadcrumb) !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap;
}

.breadcrumb-item {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  color: var(--color-breadcrumb-text) !important;
}

.breadcrumb-item a {
  color: var(--color-breadcrumb-text) !important;
  text-decoration: none !important;
}

.breadcrumb-item a:hover {
  color: var(--color-breadcrumb-active) !important;
}

.breadcrumb-item.active,
.breadcrumb-item.active a {
  color: #1F2A37 !important;          /* dark text — not green; green is for links/accents only */
  font-weight: var(--font-weight-medium) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--color-breadcrumb-icon) !important;
}

/* Hide the SharePoint breadcrumb image spacer */
.breadcrumb-item .s4-breadcrumb-arrowcont img {
  display: none !important;
}

/* -------------------------------------------------------------
   6. FOOTER
   Replaces:  main-rtl.min.css .footer { background-color:currentcolor; background-image:url(Footerar.png) }
   DGA spec:  #074D31 solid background, white text
   ------------------------------------------------------------- */

.footer {
  background-color: var(--color-footer-bg) !important;
  background-image: none !important;
  color: var(--color-footer-text) !important;
  box-shadow: none !important;
}

.footer h2, .footer h3, .footer h4,
.footer h5, .footer h6,
.footer .h5, .footer .h4 {
  color: var(--color-footer-text) !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-semibold) !important;
}

.footer a,
.footer .footer__links a {
  color: var(--color-footer-text) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  text-decoration: none !important;
}

.footer a:hover,
.footer .footer__links a:hover {
  color: var(--color-primary-300) !important;
}

.footer p,
.footer .footer__body {
  color: var(--color-footer-body) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
}

.footer .copyrights,
.copyrights {
  /* Original CSS: background-color:#132D4D (old dark navy) → replace with DGA green */
  background-color: var(--color-primary-darker) !important;
  color: var(--color-footer-muted) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding: var(--space-4) 0 !important;
}

/* Digital stamp (DGA raqmi) — already in footer, ensure visibility */
.re-edited-box-icon {
  margin-top: var(--space-4);
}

/* -------------------------------------------------------------
   7. BUTTONS
   DGA spec:  primary #067647, hover #104631, pressed #14573A
   ------------------------------------------------------------- */

.btn-primary,
.btn.btn-primary,
a.btn-primary {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  border-radius: var(--radius-sm) !important;
  padding: var(--space-2) var(--space-4) !important;
  transition: background-color 0.15s, border-color 0.15s;
}
.btn-primary:hover, .btn.btn-primary:hover {
  background-color: var(--color-brand-hover) !important;
  border-color: var(--color-brand-hover) !important;
}
.btn-primary:active, .btn.btn-primary:active,
.btn-primary:focus, .btn.btn-primary:focus {
  background-color: var(--color-brand-pressed) !important;
  border-color: var(--color-brand-pressed) !important;
  box-shadow: 0 0 0 3px rgba(7, 77, 49, 0.25) !important;
}

.btn-outline-primary,
.btn.btn-outline-primary {
  border-color: var(--color-brand-action) !important;
  color: var(--color-brand-action) !important;
  background-color: transparent !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-sm) !important;
}
.btn-outline-primary:hover, .btn.btn-outline-primary:hover {
  background-color: var(--color-brand-action) !important;
  color: #ffffff !important;
}

/* Additional portal CTA patterns — normalize to DGA green */
.btn-success,
.btn.btn-success,
a.btn-success,
.btn-kafalah,
.btn.btn-kafalah,
.btn-green,
.btn.btn-green {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-lg) !important;
}
.btn-success:hover,
.btn.btn-success:hover,
.btn-kafalah:hover,
.btn-green:hover {
  background-color: var(--color-brand-hover) !important;
  border-color: var(--color-brand-hover) !important;
}

/* CTA text-link pattern inside content */
.read-more,
a.read-more,
.cta-link,
.btn-cta {
  color: var(--color-brand-action) !important;
  font-weight: var(--font-weight-medium) !important;
  text-decoration: none !important;
}
.read-more:hover,
a.read-more:hover,
.cta-link:hover {
  color: var(--color-brand-hover) !important;
}

/* Kill any inline-style legacy colors on buttons */
.btn[style*="#32AEB8"],
.btn[style*="#32aeb8"],
.btn[style*="#163762"],
.btn[style*="#1B4EA8"],
.btn[style*="#0b3c82"] {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
}

/* ── Kafalah custom hero/homepage button classes ─────────────────
   These classes are set in main-rtl-Landing.min.css and carry the
   old Kafalah teal (#32AEB8). Override to DGA green palette.      */
.btn-main-brand,
.btn.btn-main-brand,
a.btn-main-brand,
.Bannerbtn,
a.Bannerbtn {
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-lg) !important;
}
.btn-main-brand:hover,
a.btn-main-brand:hover,
.Bannerbtn:hover {
  background-color: #104631 !important;
  border-color: #104631 !important;
  color: #ffffff !important;
}

/* Outline variant — white on dark hero background */
.btn-border,
.btn.btn-border,
a.btn-border,
.Bannerbtn2,
a.Bannerbtn2 {
  background-color: transparent !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-lg) !important;
}
.btn-border:hover,
a.btn-border:hover,
.Bannerbtn2:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

/* ── Step/process buttons and stat cards that use old teal ───── */
[class*="step-btn"],
[class*="steps-btn"],
.btn-step,
.process-btn,
.step .btn,
.steps .btn {
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  border-radius: var(--radius-lg) !important;
}

/* ── Global teal kill — any element using #32AEB8 as background ─ */
[style*="background:#32AEB8"],
[style*="background: #32AEB8"],
[style*="background-color:#32AEB8"],
[style*="background-color: #32AEB8"],
[style*="background:#32aeb8"],
[style*="background-color:#32aeb8"] {
  background-color: #067647 !important;
}
/* Any element using #32AEB8 as text color */
[style*="color:#32AEB8"],
[style*="color: #32AEB8"],
[style*="color:#32aeb8"],
[style*="color: #32aeb8"] {
  color: #067647 !important;
}

/* -------------------------------------------------------------
   8. PAGINATION — fix old colors (#163762 -> #067647, #2ca639 -> #067647)
   Replaces:  updates.css .page-link.previous/next SVG fill='%23163762'
              updates.css .page-link:hover border:#2ca639
   ------------------------------------------------------------- */

.page-link {
  color: var(--color-brand-action) !important;
  border-color: var(--color-border-default) !important;
  font-family: var(--font-family-base) !important;
}
.page-link:hover {
  background-color: var(--color-bg-subtle) !important;
  border-color: var(--color-brand-action) !important;
  color: var(--color-brand-action) !important;
}
.page-item.active .page-link {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
}
.page-item.disabled .page-link {
  color: var(--color-text-disabled) !important;
  border-color: var(--color-border-light) !important;
}

/* SVG arrows — replace #163762 (old dark blue) with #067647 (DGA green) */
.page-link.previous::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.506' height='9.552' viewBox='0 0 9.506 9.552'%3E%3Cpath d='M3.146,3.146a.5.5,0,0,0,0,.7L6.776,7.481,3.146,11.111a.5.5,0,0,0,.7.7L7.832,7.833a.5.5,0,0,0,0-.7L3.85,3.146A.5.5,0,0,0,3.146,3.146Zm3.983,0a.5.5,0,0,0,0,.7l3.631,3.631L7.128,11.111a.5.5,0,0,0,.7.7l3.983-3.983a.5.5,0,0,0,0-.7L7.832,3.146A.5.5,0,0,0,7.128,3.146Z' transform='translate(-2.705 -2.705)' fill='%23006923' stroke='%23006923' stroke-width='0.5' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
}
.page-link.next::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.506' height='9.552' viewBox='0 0 9.506 9.552'%3E%3Cpath d='M3.146,3.146a.5.5,0,0,0,0,.7L6.776,7.481,3.146,11.111a.5.5,0,0,0,.7.7L7.832,7.833a.5.5,0,0,0,0-.7L3.85,3.146A.5.5,0,0,0,3.146,3.146Zm3.983,0a.5.5,0,0,0,0,.7l3.631,3.631L7.128,11.111a.5.5,0,0,0,.7.7l3.983-3.983a.5.5,0,0,0,0-.7L7.832,3.146A.5.5,0,0,0,7.128,3.146Z' transform='translate(-2.705 -2.705)' fill='%23006923' stroke='%23006923' stroke-width='0.5' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
  transform: rotate(180deg);
  display: inline-block;
}
.page-link.previous:hover,
.page-link.next:hover {
  background-color: #ffffff !important;
  border-color: var(--color-brand-action) !important;
}

/* -------------------------------------------------------------
   9. CARDS / PRODUCT CARDS
   ------------------------------------------------------------- */

.card {
  border: 1px solid var(--color-border-light) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-xs) !important;
  font-family: var(--font-family-base) !important;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.card:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: var(--color-border-default) !important;
}
.card-title {
  font-family: var(--font-family-base) !important;
  color: var(--color-text-primary) !important;
  font-weight: var(--font-weight-semibold) !important;
}
.card-text {
  font-family: var(--font-family-base) !important;
  color: var(--color-text-secondary) !important;
  font-size: var(--font-size-md) !important;
}

/* -------------------------------------------------------------
   10. FORMS
   ------------------------------------------------------------- */

.form-control {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  color: var(--color-text-primary) !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: var(--radius-sm) !important;
}
.form-control:focus {
  border-color: var(--color-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(7, 77, 49, 0.15) !important;
  outline: none !important;
}
.form-control::placeholder {
  color: var(--color-text-placeholder) !important;
}
.form-control:disabled {
  background-color: var(--color-bg-muted) !important;
  color: var(--color-text-disabled) !important;
}

label, .form-label {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-text-primary) !important;
}

/* -------------------------------------------------------------
   11. SEARCH
   ------------------------------------------------------------- */

.search-form .form-control,
input[type="search"] {
  font-family: var(--font-family-base) !important;
  border-color: var(--color-border-default) !important;
}
.search-form .btn,
.search-btn {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
}
.search-form .btn:hover {
  background-color: var(--color-brand-hover) !important;
  border-color: var(--color-brand-hover) !important;
}

/* Search results text */
.search-result-title a {
  color: var(--color-brand) !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-semibold) !important;
}

/* -------------------------------------------------------------
   12. ACCORDION / FAQ
   ------------------------------------------------------------- */

.accordion .card {
  border: 1px solid var(--color-border-light) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: var(--space-2) !important;
}
.accordion .card-header {
  background-color: var(--color-bg-page) !important;
  border-bottom: 1px solid var(--color-border-light) !important;
  padding: var(--space-4) !important;
}
.accordion .card-header button,
.accordion .card-header a {
  color: var(--color-text-primary) !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-medium) !important;
  font-size: var(--font-size-base) !important;
  text-decoration: none !important;
  display: block;
  width: 100%;
  text-align: right;
}
.accordion .card-header button:not(.collapsed),
.accordion .card-header a[aria-expanded="true"] {
  color: var(--color-brand) !important;
  font-weight: var(--font-weight-semibold) !important;
}
.accordion .card-body {
  color: var(--color-text-secondary) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  line-height: var(--line-height-lg) !important;
  padding: var(--space-4) !important;
}

/* -------------------------------------------------------------
   13. SIDEBAR NAVIGATION
   ------------------------------------------------------------- */

.page-main__sidebar {
  font-family: var(--font-family-base) !important;
}
.page-main__sidebar a,
.ms-core-listMenu-item a {
  color: var(--color-text-secondary) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  text-decoration: none !important;
}
.page-main__sidebar a:hover,
.ms-core-listMenu-item a:hover {
  color: var(--color-brand) !important;
}
.page-main__sidebar .selected > a,
.ms-core-listMenu-selected a {
  color: var(--color-brand) !important;
  font-weight: var(--font-weight-semibold) !important;
}

/* -------------------------------------------------------------
   14. LAYOUT
   DGA spec: max-content-width 1152px, 80px side margins desktop
   ------------------------------------------------------------- */

.container {
  max-width: var(--grid-content-width) !important;
}

@media (min-width: 1200px) {
  .container {
    padding-right: var(--space-8) !important;
    padding-left: var(--space-8) !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .container {
    padding-right: var(--grid-margin-tablet) !important;
    padding-left: var(--grid-margin-tablet) !important;
  }
}

@media (max-width: 767px) {
  .container {
    padding-right: var(--grid-margin-mobile) !important;
    padding-left: var(--grid-margin-mobile) !important;
  }
}

/* -------------------------------------------------------------
   15. BADGES / TAGS
   ------------------------------------------------------------- */

.badge-primary {
  background-color: var(--color-brand-action) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-full) !important;
}

.badge-secondary {
  background-color: var(--color-bg-muted) !important;
  color: var(--color-text-secondary) !important;
  font-family: var(--font-family-base) !important;
  border-radius: var(--radius-full) !important;
}

/* -------------------------------------------------------------
   16. ALERTS
   ------------------------------------------------------------- */

.alert-success {
  background-color: var(--color-bg-green-light) !important;
  border-color: var(--color-primary-300) !important;
  color: var(--color-primary-darker) !important;
  font-family: var(--font-family-base) !important;
}
.alert-danger, .alert-error {
  background-color: var(--color-error-50) !important;
  border-color: var(--color-error-300) !important;
  color: var(--color-error-700) !important;
  font-family: var(--font-family-base) !important;
}
.alert-warning {
  background-color: var(--color-warning-50) !important;
  border-color: var(--color-warning-300) !important;
  color: var(--color-warning-700) !important;
  font-family: var(--font-family-base) !important;
}

/* -------------------------------------------------------------
   17. TABLES
   ------------------------------------------------------------- */

.table {
  font-family: var(--font-family-base) !important;
  color: var(--color-text-primary) !important;
}
.table thead th {
  background-color: var(--color-bg-muted) !important;
  color: var(--color-text-primary) !important;
  font-weight: var(--font-weight-semibold) !important;
  border-bottom: 2px solid var(--color-border-default) !important;
  font-size: var(--font-size-sm) !important;
}
.table td, .table th {
  border-color: var(--color-border-light) !important;
  font-size: var(--font-size-md) !important;
  padding: var(--space-3) var(--space-4) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--color-bg-subtle) !important;
}
.table-hover tbody tr:hover {
  background-color: var(--color-bg-green-subtle) !important;
}

/* -------------------------------------------------------------
   18. SHAREPOINT UI CHROME OVERRIDE
   Keep SP ribbon/admin bar accessible but not confusing
   ------------------------------------------------------------- */

#s4-ribbonrow {
  font-family: "Segoe UI", Tahoma, sans-serif !important;
}

/* Hide SP opacity flash */
#SPThemeHideForms { opacity: 1 !important; }

/* -------------------------------------------------------------
   19. EVENTS / STORIES BACKGROUND SECTIONS
   Keep existing background images, just fix any color overlays
   ------------------------------------------------------------- */

.events-bg {
  background-image: url('/Style Library/assets/images/events-bg.jpg');
}
.stories {
  background-image: url('/Style Library/assets/images/stories-bg.jpg');
}

/* -------------------------------------------------------------
   20. UTILITY — RTL helpers
   ------------------------------------------------------------- */

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
  float: right;
  padding-left: 0;
  padding-right: var(--space-2);
}

[dir="rtl"] .page-link.previous::before {
  transform: none;
}
[dir="rtl"] .page-link.next::before {
  transform: rotate(180deg);
}

/* -------------------------------------------------------------
   21. ICONS — SVG color alignment with DGA palette
   The portal uses SVG sprites: <svg class="icon"><use href="...#name"/></svg>
   SVG sprites inherit color via `color` on the parent; fill on svg itself.
   ------------------------------------------------------------- */

/* ── Header: all SVG icons → white ──────────────────────────── */
.header svg.icon,
.header svg,
.header__top-bar .icon,
.header__top-bar svg,
.header__link .icon,
.header__link svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}
/* Ensure <use> inside header SVGs inherits white */
.header svg use,
.header__top-bar svg use,
.header__link svg use {
  fill: inherit !important;
  color: inherit !important;
}

/* ── Footer: all SVG icons → white ──────────────────────────── */
.footer svg.icon,
.footer svg,
.footer .icon {
  fill: #ffffff !important;
  color: #ffffff !important;
}
.footer svg use {
  fill: inherit !important;
}

/* ── Body content icons → DGA brand green #074D31 ───────────── */
.page-main svg.icon,
.page-main svg,
.numbers svg.icon,
.numbers svg,
.media-center__grid svg.icon,
.media-center__grid svg,
.ms-core-listMenu-item svg,
.page-main__sidebar svg.icon,
.page-main__sidebar svg {
  fill: var(--color-brand) !important;
  color: var(--color-brand) !important;
}

/* Card icons (products, media center category cards) */
.card svg.icon,
.card svg {
  fill: var(--color-brand) !important;
  color: var(--color-brand) !important;
}

/* ── Statistics / numbers section → keep original color or use brand */
.numbers .icon svg,
.statistics svg {
  fill: var(--color-brand) !important;
}

/* Social icons in footer use <i> or <svg> — ensure white */
.footer .social-links svg,
.footer .social-links i,
.footer [class*="social"] svg,
.footer [class*="social"] i {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* ── DGA Icon Library — dga-icon-* class support ────────────────────── */
[class^="dga-icon-"],
[class*=" dga-icon-"],
svg.dga-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  fill: currentColor;
  vertical-align: middle;
}

/* Header context: all dga-icon-* → white */
.header [class^="dga-icon-"],
.header [class*=" dga-icon-"],
.header svg.dga-icon,
.header__top-bar [class^="dga-icon-"],
.header__top-bar [class*=" dga-icon-"] {
  fill: #ffffff !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Body content context: dga-icon-* → DGA brand green */
.page-main [class^="dga-icon-"],
.page-main [class*=" dga-icon-"],
.card [class^="dga-icon-"],
.card [class*=" dga-icon-"] {
  fill: var(--color-brand) !important;
  color: var(--color-brand) !important;
}

/* Footer context: dga-icon-* → white */
.footer [class^="dga-icon-"],
.footer [class*=" dga-icon-"],
.footer svg.dga-icon {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* Navbar hamburger — DGA icon used in master pages */
.navbar-toggler svg.dga-icon,
.navbar-toggler [class*="dga-icon-menu"] {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: #ffffff !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

/* =============================================================
   22. DGA DIGITAL STAMP BAR — TOP OF PAGE
   DGA requirement: certificate stamp must appear at the very
   top of the page, not in the footer.
   ============================================================= */

/* Stamp bar outer — full width dark band, no direct padding */
#dga-stamp-bar {
  background-color: #031b37;
  min-height: 36px;
  position: relative;
  z-index: 1001;
  width: 100%;
}

/* Inner container aligns stamp content with the header .container grid */
#dga-stamp-bar > .container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  min-height: 36px !important;
}

[dir="ltr"] #dga-stamp-bar > .container {
  justify-content: flex-end !important;
}

/* Legacy: bare <a> inside stamp bar (no .digital-stamp-card wrapper) */
#dga-stamp-bar > .container > a,
#dga-stamp-bar a {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  text-decoration: none !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
}

#dga-stamp-bar img {
  height: 26px;
  width: auto;
  display: block;
}

/* Remove stamp from footer — canonical position is now the top bar */
.footer .re-edited-box-icon,
.re-edited-box-icon {
  display: none !important;
}

/* =============================================================
   23. HEADER SEARCH
   Trigger button lives in .header__top-bar.
   Overlay covers the viewport for the input.
   ============================================================= */

.header-search-trigger {
  background: transparent !important;
  border: none !important;
  padding: var(--space-1) var(--space-2) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  gap: var(--space-1);
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  text-decoration: none !important;
  border-radius: var(--radius-sm);
  transition: background-color 0.15s;
}

.header-search-trigger:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

.header-search-trigger .icon,
.header-search-trigger svg {
  width: 18px;
  height: 18px;
  fill: #ffffff !important;
  vertical-align: middle;
}

/* Overlay */
#dga-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.6);
  align-items: flex-start;
  justify-content: center;
  padding-top: 80px;
}

#dga-search-overlay.is-open {
  display: flex;
}

.dga-search-box {
  background: #ffffff;
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  width: 90%;
  max-width: 640px;
  box-shadow: var(--shadow-xl);
  position: relative;
}

.dga-search-box form,
.dga-search-box .dga-search-input-row {
  display: flex;
  gap: var(--space-2);
}

.dga-search-box input[type="text"],
.dga-search-box input[type="search"] {
  flex: 1;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-3) var(--space-4) !important;
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  outline: none;
  direction: rtl;
}

.dga-search-box input:focus {
  border-color: var(--color-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(7, 77, 49, 0.15) !important;
}

.dga-search-box .dga-search-submit {
  background-color: var(--color-brand-action) !important;
  border: none;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-3) var(--space-5) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  font-weight: var(--font-weight-medium) !important;
  cursor: pointer;
  transition: background-color 0.15s;
  white-space: nowrap;
}

.dga-search-box .dga-search-submit:hover {
  background-color: var(--color-brand-hover) !important;
}

.dga-search-close {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  background: transparent;
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--color-text-tertiary);
  padding: var(--space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
}

[dir="rtl"] .dga-search-close {
  left: auto;
  right: var(--space-3);
}

.dga-search-close:hover {
  background-color: var(--color-bg-muted);
  color: var(--color-text-primary);
}

/* =============================================================
   24. LANGUAGE SWITCHER — Prominent DGA-style AR/EN pill
   ============================================================= */

.header__link.language__switcher {
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: var(--radius-sm) !important;
  padding: 3px var(--space-3) !important;
  font-weight: var(--font-weight-semibold) !important;
  letter-spacing: 0.03em;
  min-width: 52px;
  text-align: center;
}

.header__link.language__switcher:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  color: #ffffff !important;
}

/* =============================================================
   25. COLOR TOKEN OVERRIDES — Kill legacy Kafalah colors
   Legacy portal: Teal #32AEB8, Dark Blue #163762.
   These are replaced with DGA primary green tokens.
   NOTE: The task directive specified #1B4EA8 (DGA Primary Blue).
   This project's established token system uses green (#067647).
   Confirm with stakeholder before switching to blue. Until then
   all replacements map to the DGA green palette below.
   ============================================================= */

/* Catch inline-style overrides that still carry old colors */
[style*="color: #32AEB8"],
[style*="color:#32AEB8"],
[style*="color: #32aeb8"],
[style*="color:#32aeb8"] {
  color: var(--color-brand-action) !important;
}

[style*="background-color: #32AEB8"],
[style*="background-color:#32AEB8"],
[style*="background: #32AEB8"],
[style*="background:#32AEB8"] {
  background-color: var(--color-brand-action) !important;
}

[style*="color: #163762"],
[style*="color:#163762"],
[style*="background-color: #163762"],
[style*="background-color:#163762"] {
  color: var(--color-brand) !important;
  background-color: var(--color-brand) !important;
}

/* Remaining theme-level elements that used the old teal/dark-blue */
.page-main__content a:not(.btn):not(.btn-primary):not([class*="header"]):not([class*="footer"]) {
  color: var(--color-text-link) !important;
}

.page-main__content a:not(.btn):not(.btn-primary):hover {
  color: var(--color-primary-900) !important;
}

.numbers .number,
.statistics__value,
.stat-number,
[class*="stat-"] .number {
  color: var(--color-brand-action) !important;
  font-family: var(--font-family-base) !important;
}

/* =============================================================
   26. BORDER RADIUS — Uniform 8px for interactive elements
   DGA spec: 8px on buttons, cards, inputs.
   Overrides earlier --radius-sm (4px) declarations.
   ============================================================= */

.btn,
.btn-primary,
.btn.btn-primary,
a.btn-primary,
.btn-outline-primary,
.btn.btn-outline-primary,
button[type="submit"],
button[type="button"],
button[type="reset"] {
  border-radius: var(--radius-lg) !important;
}

.form-control,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
textarea {
  border-radius: var(--radius-lg) !important;
}

.card {
  border-radius: var(--radius-lg) !important;
}

/* =============================================================
   27. SP SIDE NAVIGATION — Deep SharePoint class overrides
   Replaces default .ms-core-sideNavBox and listMenu styling
   with DGA Side Navigation Drawer pattern.
   ============================================================= */

.ms-core-sideNavBox,
#zz1_V4QuickLaunchMenu,
.ms-core-listMenu-verticalBox,
.noindex.ms-core-listMenu-verticalBox {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.ms-core-listMenu-verticalBox .root.ms-core-listMenu-root,
.ms-core-listMenu-verticalBox ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.ms-core-listMenu-verticalBox .static {
  display: block !important;
  width: 100% !important;
  float: none !important;
}

/* Nav item links */
.ms-core-listMenu-verticalBox a.ms-core-listMenu-item,
.ms-core-listMenu-verticalBox a.menu-item,
.ms-core-listMenu-verticalBox .static > a {
  display: flex !important;
  align-items: center !important;
  padding: var(--space-3) var(--space-4) !important;
  border-radius: var(--radius-lg) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-text-secondary) !important;
  text-decoration: none !important;
  transition: background-color 0.15s, color 0.15s !important;
  border-inline-start: 3px solid transparent !important;
  margin-bottom: var(--space-1) !important;
  background: none !important;
  background-image: none !important;
}

.ms-core-listMenu-verticalBox a.ms-core-listMenu-item:hover,
.ms-core-listMenu-verticalBox .static > a:hover {
  background-color: var(--color-bg-green-subtle) !important;
  color: var(--color-brand) !important;
  border-inline-start-color: var(--color-brand) !important;
}

/* Active / selected item */
.ms-core-listMenu-verticalBox .ms-core-listMenu-selected > a,
.ms-core-listMenu-verticalBox a.ms-core-listMenu-selected,
.ms-core-listMenu-verticalBox .selected > a {
  background-color: var(--color-bg-green-light) !important;
  color: var(--color-brand) !important;
  font-weight: var(--font-weight-semibold) !important;
  border-inline-start-color: var(--color-brand) !important;
}

/* Remove SP decorative images and flyout arrow */
.ms-core-listMenu-verticalBox .ms-navedit-linkNode,
.ms-core-listMenu-verticalBox .additional-background {
  background: none !important;
  background-image: none !important;
}

.ms-core-listMenu-verticalBox .ms-navedit-flyoutArrow {
  background-image: none !important;
  display: none !important;
}

.ms-core-listMenu-verticalBox .menu-item-text {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
}

/* Sidebar drawer border — DGA vertical nav separator */
.page-main__sidebar {
  border-inline-end: 1px solid var(--color-border-light) !important;
  padding-inline-end: var(--space-6) !important;
}

[dir="rtl"] .page-main__sidebar {
  border-inline-end: none !important;
  border-inline-start: 1px solid var(--color-border-light) !important;
  padding-inline-end: 0 !important;
  padding-inline-start: var(--space-6) !important;
}

/* Sidebar section heading */
.page-main__sidebar > h3,
.page-main__sidebar > h4,
.ms-core-sideNavBox > h3,
.ms-core-sideNavBox > h4,
.ms-core-listMenu-verticalBox + h3,
.ms-core-listMenu-verticalBox + h4 {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--color-text-primary) !important;
  margin-bottom: var(--space-3) !important;
  padding-bottom: var(--space-2) !important;
  border-bottom: 2px solid var(--color-brand) !important;
}

@media (max-width: 991px) {
  .page-main__sidebar,
  [dir="rtl"] .page-main__sidebar {
    border-inline-end: none !important;
    border-inline-start: none !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    padding-inline-end: 0 !important;
    padding-inline-start: 0 !important;
    padding-bottom: var(--space-4) !important;
    margin-bottom: var(--space-4) !important;
  }
}

/* =============================================================
   28. PRODUCT CARDS — Complete DGA card pattern
   image → title → excerpt → primary CTA button
   ============================================================= */

.products-list .card,
.product-card,
[class*="product"] .card,
[class*="products"] .card {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--color-border-light) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-xs) !important;
  overflow: hidden !important;
  background: #ffffff !important;
  transition: box-shadow 0.2s ease, transform 0.15s ease !important;
  height: 100% !important;
}

.products-list .card:hover,
.product-card:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px) !important;
  border-color: var(--color-border-default) !important;
}

/* Card image */
.products-list .card-img-top,
.product-card .card-img-top {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  flex-shrink: 0 !important;
}

/* Card body */
.products-list .card-body,
.product-card .card-body {
  padding: var(--space-5) !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Card title */
.products-list .card-title,
.product-card .card-title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--color-text-primary) !important;
  margin-bottom: var(--space-3) !important;
  line-height: var(--line-height-lg) !important;
}

/* Card excerpt / description */
.products-list .card-text,
.product-card .card-text,
.products-list .card-body > p {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  color: var(--color-text-secondary) !important;
  line-height: var(--line-height-base) !important;
  flex: 1 !important;
  margin-bottom: var(--space-4) !important;
}

/* Primary CTA button — DGA green, full width */
.products-list .card .btn,
.product-card .btn,
.products-list a.btn,
.product-card a.btn {
  background-color: var(--color-brand-action) !important;
  border-color: var(--color-brand-action) !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-2) var(--space-5) !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: auto !important;
  display: block !important;
}

.products-list .card .btn:hover,
.product-card .btn:hover {
  background-color: var(--color-brand-hover) !important;
  border-color: var(--color-brand-hover) !important;
}

/* =============================================================
   29. MOBILE HERO — 375px stacking fix
   Text and buttons must stack, not overlap.
   ============================================================= */

@media (max-width: 480px) {
  .hero,
  .hero-section,
  section[class*="hero"],
  div[class*="hero"] {
    padding: var(--space-12) var(--space-4) var(--space-10) !important;
    text-align: center !important;
    min-height: auto !important;
    overflow: hidden !important;
  }

  .hero__title,
  .hero-title,
  .hero h1,
  .hero h2,
  section[class*="hero"] h1,
  section[class*="hero"] h2 {
    font-size: var(--font-size-2xl) !important;
    line-height: var(--line-height-2xl) !important;
    margin-bottom: var(--space-4) !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
  }

  .hero__subtitle,
  .hero p,
  section[class*="hero"] p {
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important;
    margin-bottom: var(--space-5) !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
  }

  .hero .btn,
  .hero a.btn,
  .hero__actions .btn,
  section[class*="hero"] .btn,
  section[class*="hero"] a.btn {
    display: block !important;
    width: 100% !important;
    max-width: 280px !important;
    margin: 0 auto var(--space-3) auto !important;
    position: static !important;
    transform: none !important;
  }

  /* Prevent absolute-positioned child overlaps */
  .hero *:not(img):not(video) {
    position: static !important;
  }

  .hero img,
  .hero video,
  section[class*="hero"] img,
  section[class*="hero"] video {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin-top: var(--space-6) !important;
  }
}

/* =============================================================
   30. BREADCRUMB — Full path display
   Overrides SP decorator images; ensures all items show.
   ============================================================= */

.ms-breadcrumbRootNode,
.breadcrumbRootNode,
.ms-breadcrumbRootNode > a,
.breadcrumbRootNode > a {
  display: inline !important;
  visibility: visible !important;
}

/* SP-generated arrow spacer image — replaced by CSS separator */
.s4-breadcrumb-arrowcont {
  display: none !important;
}

/* Consistent separator for all items in RTL */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
  content: "/" !important;
  color: var(--color-breadcrumb-icon) !important;
  float: right;
  padding-left: 0;
  padding-right: var(--space-2);
}

[dir="ltr"] .breadcrumb-item + .breadcrumb-item::before {
  content: "/" !important;
  color: var(--color-breadcrumb-icon) !important;
}

/* =============================================================
   31. DIGITAL STAMP CARD — Upgraded DGA component
   Replaces the bare <a><img> stamp link with the structured
   digital-stamp-card component, matching reference portals
   (e.g. sme-dga.smebank.gov.sa).
   ============================================================= */

.digital-stamp-card {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-md);
  padding: 4px var(--space-3);
  background-color: rgba(255, 255, 255, 0.08);
  transition: background-color 0.15s, border-color 0.15s;
  cursor: pointer;
}

.digital-stamp-card:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
}

.digital-stamp-card__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  text-decoration: none !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
}

.digital-stamp-card__img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.digital-stamp-card__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.digital-stamp-card__label {
  font-family: var(--font-family-base) !important;
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  white-space: nowrap !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.2 !important;
  display: block;
}

.digital-stamp-card__title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: 1.3 !important;
  display: block;
}

/* Keep the stamp-bar container styles from §22 */
#dga-stamp-bar .digital-stamp-card {
  /* inherits from §22 flex context */
}

/* Hide label text on very small screens to save space */
@media (max-width: 480px) {
  .digital-stamp-card__text {
    display: none !important;
  }
  .digital-stamp-card {
    padding: 4px var(--space-2) !important;
  }
}

/* =============================================================
   32. BUTTON HOVER — DGA dark green (#104631), not white
   ============================================================= */

.btn-primary:hover, .btn.btn-primary:hover, a.btn-primary:hover,
.btn-main-brand:hover, .Bannerbtn:hover,
.btn-success:hover, .btn.btn-success:hover,
.btn-kafalah:hover, .btn-green:hover,
.btn-main:hover, a.btn-main:hover {
  background-color: #104631 !important;
  border-color:     #104631 !important;
  color:            #ffffff !important;
}

/* =============================================================
   33. .btn-main — kills old Kafalah navy (#163762) → DGA green
   Used in "لماذا أختار كفالة" and similar sections.
   ============================================================= */

.btn-main,
.btn.btn-main,
a.btn-main {
  background-color: #067647 !important;
  border-color:     #067647 !important;
  color:            #ffffff !important;
  font-family:      var(--font-family-base) !important;
  border-radius:    var(--radius-lg) !important;
}

/* =============================================================
   34. STATISTICS NUMBERS — kills old #163762 blue
   .numbers__number shows stat values (60+, 18+ ألف, etc.)
   ============================================================= */

.numbers__number,
.numbers .number,
[class*="numbers__number"],
.statistics .number,
.stat-number {
  color:        #067647 !important;
  font-family:  var(--font-family-base) !important;
  font-weight:  var(--font-weight-semibold) !important;
}

/* Also catch any remaining #163762 text in the page */
.numbers__block *,
.numbers__block a {
  color: inherit;
}

/* =============================================================
   35. BACK-TO-TOP BUTTON — kills old teal → DGA green
   ============================================================= */

a.top,
.top {
  background-color: #067647 !important;
  border-color:     #067647 !important;
  color:            #ffffff !important;
}
a.top:hover,
.top:hover {
  background-color: #104631 !important;
}
a.top svg,
.top svg {
  fill:   #ffffff !important;
  stroke: #ffffff !important;
}

/* =============================================================
   36. SWIPER PAGINATION BULLETS (hero 01, 02 indicators)
   Makes them smaller; leading-zero removal handled in JS.
   ============================================================= */

.swiper-pagination-bullet {
  font-size:   16px !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-medium) !important;
  color:       rgba(255, 255, 255, 0.55) !important;
}
.swiper-pagination-bullet-active {
  color:       #ffffff !important;
  font-weight: var(--font-weight-semibold) !important;
}

/* =============================================================
   37. STEPS SECTION — ensure DGA colors on labels & icons
   ============================================================= */

.steps__title,
.steps .step-title,
.steps .title,
[class*="steps"] [class*="title"] {
  color:       #067647 !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-semibold) !important;
}

.steps__icon svg,
.steps .icon svg,
[class*="steps"] svg {
  fill:  #067647 !important;
  color: #067647 !important;
}

/* =============================================================
   38. KEYBOARD FOCUS RINGS — DGA A1 / WCAG 2.4.7 compliance
   All interactive elements must have a visible focus state.
   Use :focus-visible so mouse users are not affected.
   ============================================================= */

:focus-visible {
  outline: 2px solid #067647 !important;
  outline-offset: 2px !important;
  border-radius: var(--radius-sm);
}

/* Remove default outlines only where we supply our own */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #067647 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(0, 105, 35, 0.2) !important;
}

/* Header: white focus ring on dark background */
.header a:focus-visible,
.header button:focus-visible,
.header [tabindex]:focus-visible,
#dga-stamp-bar a:focus-visible {
  outline-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35) !important;
}

/* Skip link — must be visible only on focus */
.dga-skip-link {
  position: absolute !important;
  top: -100px !important;
  right: var(--space-4) !important;
  z-index: 9999 !important;
  background-color: #067647 !important;
  color: #ffffff !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-semibold) !important;
  padding: var(--space-2) var(--space-4) !important;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
  text-decoration: none !important;
  transition: top 0.1s !important;
}
.dga-skip-link:focus,
.dga-skip-link:focus-visible {
  top: 0 !important;
  outline: 3px solid #ffffff !important;
  outline-offset: -3px !important;
}

/* =============================================================
   39. HEADER NAV ORDERING — primary nav left of utility bar in RTL
   Bootstrap navbar-collapse is a flex row.  In RTL the start side
   is the right edge.  Primary nav must appear before utility links
   in both DOM and visual order.
   JS (fixNavOrderAndActiveState) handles DOM reorder; CSS handles
   visual alignment so the rows stay on one line at desktop.
   ============================================================= */

@media (min-width: 992px) {
  .header .navbar-collapse {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: var(--space-2) !important;
  }

  /* Primary nav: grows to fill available space, links float right in RTL */
  .header .navbar-nav {
    flex: 1 1 auto !important;
    justify-content: flex-end !important;  /* right-align nav items in LTR; JS flips for RTL */
  }

  /* Utility bar: shrink-only, never wraps */
  .header .header__top-bar {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: var(--space-1) !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Search trigger — same height/style as other utility links */
  .header .header-search-trigger span {
    font-size: var(--font-size-md) !important;
    font-family: var(--font-family-base) !important;
  }
}

/* Mobile: utility bar stacks under primary nav */
@media (max-width: 991px) {
  .header .navbar-collapse {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .header .header__top-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding-top: var(--space-3) !important;
    margin-top: var(--space-2) !important;
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: var(--space-2) !important;
  }
}

/* =============================================================
   40. ACTIVE NAV ITEM — underline indicator for current page
   Injected by markActiveNavItem() in dga-injections.js
   ============================================================= */

.header .navbar-nav .nav-link.active,
.header .navbar-nav a.active,
.header .navbar-nav .active > a {
  position: relative !important;
  font-weight: var(--font-weight-semibold) !important;
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--radius-sm) !important;
}

.header .navbar-nav .nav-link.active::after,
.header .navbar-nav a.active::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  right: var(--space-3) !important;
  left: var(--space-3) !important;
  height: 2px !important;
  background-color: #ffffff !important;
  border-radius: var(--radius-full) !important;
}

/* =============================================================
   41. LOGO — header sizing (Priority 4)
   logo-Footer.svg is used for both header and footer.
   In the header the height must be 48px with correct aspect.
   ============================================================= */

.header .navbar-brand img,
.header .navbar-brand picture img {
  height: 48px !important;
  width: auto !important;
  max-height: 48px !important;
  max-width: 180px !important;
  object-fit: contain !important;
  display: block !important;
}

/* =============================================================
   42. SEARCH TRIGGER ICON — size and alignment in utility bar
   ============================================================= */

.header-search-trigger .icon,
.header-search-trigger svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
}

/* =============================================================
   43. DIGITAL STAMP BAR — accessibility & keyboard reach
   #dga-stamp-bar must be the first focusable region after skip link
   ============================================================= */

#dga-stamp-bar .digital-stamp-card {
  outline: none;
}
#dga-stamp-bar .digital-stamp-card:focus-within {
  outline: 2px solid rgba(255, 255, 255, 0.7) !important;
  outline-offset: 2px !important;
  border-radius: var(--radius-md) !important;
}
#dga-stamp-bar a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9) !important;
  outline-offset: 3px !important;
}

/* =============================================================
   44. ICON ACCESSIBILITY — decorative vs functional icons
   Functional icons need accessible labels; decorative ones need
   aria-hidden. This rule ensures inline SVGs with no parent label
   are hidden from AT by default. JS or aria-label on the parent
   overrides this for functional icons.
   ============================================================= */

/* Ensure all icons inside links/buttons have aria-hidden when
   the parent element already has descriptive text or aria-label */
.header__link svg,
.header__top-bar svg,
.footer svg.icon,
.navbar-toggler svg {
  pointer-events: none !important;
}

/* =============================================================
   45. HIDDEN TEXT SANITIZATION — CSS layer
   Complement the JS sanitization with CSS.  Any element that
   the portal hides via these patterns should be invisible to AT.
   ============================================================= */

/* SharePoint diagnostic hidden zones — already display:none but
   belt-and-suspenders: ensure aria-hidden on these SP elements. */
#s4-workspace,
.aspNetHidden,
.ms-hide {
  display: none !important;
}

/* The SP page-status bar is empty on most pages; hide from AT when empty */
#pageStatusBar:empty {
  display: none !important;
}

/* =============================================================
   46. GOVERNMENT BANNER STAMP BAR
   White banner replacing dark navy stamp bar.
   Pattern: SME Bank / DGA reference.
   Top text-only notice + "كيف تتحقق؟" chevron button.
   Digital stamp card moves to footer (§52).
   ============================================================= */

#dga-stamp-bar {
  background-color: #F9FAFB !important;
  background-image: none !important;
  border-bottom: 1px solid #E5E7EB !important;
  min-height: 40px !important;
  position: relative !important;
  z-index: 1002 !important;
}
#dga-stamp-bar > .container {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  /* RTL: content at right (start). LTR: content at left (start) */
  justify-content: flex-start !important;
}
/* In RTL, flex-start is the RIGHT side — correct for AR */
/* In LTR, flex-start is the LEFT side — correct for EN */

/* Hide old digital-stamp-card — replaced by gov-banner */
#dga-stamp-bar .digital-stamp-card,
#dga-stamp-bar .digital-stamp-card__link,
#dga-stamp-bar .digital-stamp-card__img,
#dga-stamp-bar .digital-stamp-card__text {
  display: none !important;
}

/* Government banner row */
.dga-gov-banner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  color: #384250 !important;
  white-space: nowrap !important;
}
.dga-gov-banner__flag {
  font-size: 18px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}
.dga-gov-banner__text {
  font-weight: var(--font-weight-medium) !important;
  color: #384250 !important;
}
.dga-gov-banner__divider {
  width: 1px !important;
  height: 14px !important;
  background: #D2D6DB !important;
  flex-shrink: 0 !important;
}
.dga-gov-banner__btn {
  background: none !important;
  border: none !important;
  color: #067647 !important;
  font-size: 13px !important;
  font-weight: var(--font-weight-semibold) !important;
  font-family: var(--font-family-base) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0 !important;
  transition: color 0.15s !important;
  text-decoration: underline !important;
  text-decoration-color: transparent !important;
  text-underline-offset: 2px !important;
}
.dga-gov-banner__btn:hover {
  color: #074D31 !important;
  text-decoration-color: #074D31 !important;
}
.dga-gov-banner__btn svg {
  transition: transform 0.2s ease !important;
  flex-shrink: 0 !important;
}
.dga-gov-banner__btn.is-open svg {
  transform: rotate(180deg) !important;
}

/* Stamp verification dropdown panel */
.dga-stamp-dropdown {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: #ffffff !important;
  border-top: 1px solid #E5E7EB !important;
  border-bottom: 2px solid #067647 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
  z-index: 2000 !important;
  padding: 24px 0 !important;
}
.dga-stamp-dropdown.is-open {
  display: block !important;
}
.dga-stamp-dropdown__inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 32px !important;
  direction: rtl !important;
}
.dga-stamp-dropdown__img-wrap a {
  display: block !important;
  text-decoration: none !important;
}
.dga-stamp-dropdown__img-wrap img {
  width: 120px !important;
  height: auto !important;
  display: block !important;
  border: 1px solid #E5E7EB !important;
  border-radius: var(--radius-md) !important;
  padding: 8px !important;
}
.dga-stamp-dropdown__content {
  flex: 1 !important;
}
.dga-stamp-dropdown__title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #1F2A37 !important;
  margin-bottom: 8px !important;
}
.dga-stamp-dropdown__body {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  color: #4D5761 !important;
  line-height: 1.7 !important;
  margin-bottom: 16px !important;
}
.dga-stamp-dropdown__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #067647 !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  text-decoration: none !important;
  border: 1px solid #067647 !important;
  border-radius: var(--radius-lg) !important;
  padding: 6px 16px !important;
  transition: background 0.15s !important;
}
.dga-stamp-dropdown__link:hover {
  background: #067647 !important;
  color: #fff !important;
}

/* =============================================================
   47. WHITE HEADER
   Replaces dark green header with clean white.
   All text → dark; hover → DGA green.
   Header becomes sticky so nav stays in view on scroll.
   ============================================================= */

.header {
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #E5E7EB !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.header.transparent,
.header.header--transparent {
  background-color: #ffffff !important;
}
.header__menu,
.header .navbar,
.header .navbar-light,
.header .navbar-collapse,
.header .collapse {
  background-color: transparent !important;
}

/* All header text → dark */
.header .navbar-nav .nav-link,
.header .navbar-nav a,
.header .header__link,
.header .header__top-bar a,
.header .navbar-brand,
.header .navbar-brand:hover,
.header-search-trigger,
.header-search-trigger span {
  color: #1F2A37 !important;
}

/* Hover → DGA green (no background highlight) */
.header .navbar-nav .nav-link:hover,
.header .navbar-nav a:hover,
.header .header__link:hover,
.header .header__top-bar a:hover,
.header-search-trigger:hover,
.header-search-trigger:hover span {
  color: #067647 !important;
  background-color: transparent !important;
}

/* Active page indicator — green underline */
.header .navbar-nav .active > .nav-link,
.header .navbar-nav .nav-link.active,
.header .navbar-nav a.active,
.header .navbar-nav [aria-current="page"] {
  color: #067647 !important;
  font-weight: var(--font-weight-semibold) !important;
  background: none !important;
}
.header .navbar-nav .nav-link.active::after,
.header .navbar-nav a.active::after,
.header .navbar-nav [aria-current="page"]::after {
  background-color: #067647 !important;
}

/* Icons in white header → dark */
.header svg.icon,
.header svg,
.header__top-bar .icon,
.header__top-bar svg,
.header__link .icon,
.header__link svg,
.header-search-trigger .icon,
.header-search-trigger svg {
  fill: #1F2A37 !important;
  color: #1F2A37 !important;
  stroke: #1F2A37 !important;
}
.header svg use,
.header__top-bar svg use,
.header__link svg use {
  fill: inherit !important;
  color: inherit !important;
}
.header .navbar-nav .nav-link:hover svg,
.header .navbar-nav a:hover svg,
.header .header__link:hover svg,
.header-search-trigger:hover svg {
  fill: #067647 !important;
  color: #067647 !important;
  stroke: #067647 !important;
}

/* Mobile toggler icon → dark */
.header .navbar-toggler {
  border-color: #D2D6DB !important;
}
.header .navbar-toggler-icon,
.header .navbar-toggler svg,
.header .navbar-toggler .dga-icon-menu {
  stroke: #1F2A37 !important;
  fill: none !important;
}

/* Language switcher pill → dark border */
.header__link.language__switcher {
  border-color: #D2D6DB !important;
  color: #1F2A37 !important;
}
.header__link.language__switcher:hover {
  border-color: #067647 !important;
  color: #067647 !important;
  background: transparent !important;
}

/* Search trigger no background */
.header-search-trigger:hover {
  background-color: transparent !important;
}
.dga-gov-banner__btn:focus-visible,
.header a:focus-visible,
.header button:focus-visible,
#dga-stamp-bar a:focus-visible {
  outline-color: #067647 !important;
  box-shadow: 0 0 0 3px rgba(0, 105, 35, 0.2) !important;
}

/* =============================================================
   HOMEPAGE HEADER + LAPTOP RESPONSIVE FIXES
   Keeps the landing master aligned with internal pages after
   SharePoint injects delayed nav markup.
   ============================================================= */

.dga-homepage .header .header__top-bar a[href*="FAQ"],
.dga-homepage .header .header__top-bar a[href*="faq"],
.dga-homepage .header .header__top-bar a[href*="ContactUs"],
.dga-homepage .header .header__top-bar a[href*="contactus"] {
  display: none !important;
}

.header .navbar-nav .dga-dropdown > a,
.header .navbar-nav .dga-dropdown > a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.header .navbar-nav .dga-dropdown-chevron {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
}

.numbers,
.steps {
  overflow-x: clip !important;
}

.numbers .section-title,
.numbers h2,
.numbers h3,
.steps .section-title,
.steps > .container > h2,
.steps > .container > h3 {
  box-sizing: border-box !important;
  max-width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
  transform: none !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance;
}

@media (min-width: 993px) and (max-width: 1400px) {
  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a {
    font-size: clamp(10px, 0.92vw, 14px) !important;
    padding: 4px clamp(3px, 0.45vw, 7px) !important;
  }

  .numbers .row,
  .steps .steprw {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    gap: clamp(12px, 2vw, 31px) !important;
  }

  .numbers .row > *,
  .steps .steprw > * {
    min-width: 0 !important;
  }
}

/* =============================================================
   48. DROPDOWN NAVIGATION
   Chevron + dropdown menu for nav items with sub-pages.
   Smooth open/close animation.
   ============================================================= */

.dga-dropdown {
  position: relative !important;
}
.dga-dropdown > a,
.dga-dropdown > .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.dga-dropdown-chevron {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}
.dga-dropdown:hover .dga-dropdown-chevron,
.dga-dropdown.is-open .dga-dropdown-chevron {
  transform: rotate(180deg) !important;
}

/* 70. Last-mile mainpage overrides */
@media (min-width: 992px) {
  .header .navbar,
  .header .navbar-collapse,
  .header .navbar-nav,
  #dga-main-nav,
  .header .header__top-bar {
    align-items: center !important;
  }

  .header .navbar-brand {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    align-self: center !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 138px !important;
    max-width: 138px !important;
    height: 55px !important;
    max-height: 55px !important;
    object-fit: contain !important;
  }

  .header .header__top-bar {
    height: 52px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher,
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    align-self: center !important;
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 126px !important;
    max-width: 144px !important;
    height: 52px !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    width: auto !important;
    height: 46px !important;
    max-height: 46px !important;
    max-width: 136px !important;
    object-fit: contain !important;
  }
}

.dga-dropdown > a,
.dga-dropdown > .nav-link {
  gap: 8px !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 18px !important;
  height: 18px !important;
  margin-inline-start: 6px !important;
  color: #1F2A37 !important;
  transform-origin: center !important;
}

.dga-dropdown-chevron path {
  stroke-width: 2.25 !important;
}

.stories .lead,
.stories .StoriesTxt .lead {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #4D5761 !important;
  font-size: clamp(18px, 1.05vw, 22px) !important;
  line-height: 1.7 !important;
  margin: 0 0 24px !important;
}

.stories .testimonials-pagination,
.testimonials .testimonials-pagination,
.stories .swiper-pagination,
.testimonials .swiper-pagination {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin-top: 28px !important;
  position: relative !important;
  z-index: 5 !important;
}

.stories .swiper-pagination-bullet,
.testimonials .swiper-pagination-bullet {
  display: inline-flex !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  border-radius: 999px !important;
  background: #D2D6DB !important;
  opacity: 1 !important;
  font-size: 0 !important;
}

.stories .swiper-pagination-bullet-active,
.testimonials .swiper-pagination-bullet-active {
  width: 28px !important;
  background: #067647 !important;
}

.why a,
.why .btn,
.why a[class*="btn"],
.why__actions,
.why__actions a,
.why__actions button,
.news__actions,
.news__actions a,
.news__actions button,
.news__actions span {
  visibility: visible !important;
  opacity: 1 !important;
}

.why a[class*="btn"],
.why .btn,
.why__actions a,
.why__actions button,
.news__actions a,
.news__actions button,
.news__actions .btn,
.news__actions .btn-icon,
a.btn-main,
a.btn-main-brand,
.btn-main,
.btn-main-brand,
.btn-icon,
a.btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.news__actions {
  display: flex !important;
  align-items: center !important;
  background-color: #067647 !important;
  color: #ffffff !important;
}

.news__actions span,
.news__actions .d-none {
  display: inline-block !important;
  color: #ffffff !important;
}

/* 72. Header sizing and section title placement refinements */
@media (min-width: 992px) {
  .header .navbar-brand {
    flex-basis: 152px !important;
    min-width: 152px !important;
    max-width: 152px !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 152px !important;
    max-width: 152px !important;
    height: 61px !important;
    max-height: 61px !important;
    object-fit: contain !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    min-height: 37px !important;
    height: 37px !important;
    font-size: 11.3px !important;
    line-height: 16px !important;
    padding-block: 3px !important;
    transform: translateY(-5%) !important;
  }

  .header__top-bar .header-search-trigger svg,
  .header__top-bar .header-search-trigger .icon {
    width: 17px !important;
    height: 17px !important;
  }

  .header__top-bar .language__switcher {
    padding-inline: 10px !important;
  }
}

.dga-about-section__btn:hover {
  background: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
}

/* 74. Header utility vertical offset and Numbers/Steps title width */
@media (min-width: 992px) {
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    transform: translateY(-15%) !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision,
  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    transform: none !important;
  }

  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(280px, 32%) minmax(0, 1fr) !important;
    column-gap: 10% !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    width: 100% !important;
    max-width: none !important;
    align-self: center !important;
    padding-top: 0 !important;
  }

  .numbers .section-title__heading,
  .numbers .section-title h1,
  .numbers .section-title h2,
  .numbers .section-title h3,
  .steps .section-title__heading,
  .steps .section-title h1,
  .steps .section-title h2,
  .steps .section-title h3 {
    max-width: none !important;
    width: 100% !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    align-self: center !important;
  }
}

@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    display: grid !important;
    grid-template-columns: minmax(190px, 24%) minmax(0, 1fr) !important;
    column-gap: 10% !important;
    align-items: start !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    grid-column: 1 !important;
    text-align: right !important;
    margin: 0 !important;
    justify-self: stretch !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .numbers__block,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    grid-column: 2 !important;
  }

  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .numbers > .container > h2,
  html[lang^="en"] .numbers > .container > h2,
  [dir="ltr"] .numbers > .container > h3,
  html[lang^="en"] .numbers > .container > h3,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title,
  [dir="ltr"] .steps > .container > h2,
  html[lang^="en"] .steps > .container > h2,
  [dir="ltr"] .steps > .container > h3,
  html[lang^="en"] .steps > .container > h3 {
    text-align: left !important;
  }

  .steps .section-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
  }

  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    align-items: flex-start !important;
  }

  .steps .section-title .lead,
  .steps .section-title p,
  .steps .section-title__subtitle,
  .steps .lead {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    order: 2 !important;
    margin: 0 !important;
    color: #4D5761 !important;
    line-height: 1.7 !important;
  }

  .steps .section-title h1,
  .steps .section-title h2,
  .steps .section-title h3,
  .steps .section-title__heading {
    order: 1 !important;
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   69. HEADER / STORIES / BUTTONS FINAL MAINPAGE PATCH
   ============================================================ */

@media (min-width: 992px) {
  .header {
    overflow: visible !important;
  }

  .header .navbar,
  .header .navbar-collapse,
  .header .navbar-nav,
  #dga-main-nav,
  .header .header__top-bar {
    align-items: center !important;
  }

  .header .navbar-brand {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    margin-inline-end: 14px !important;
    align-self: center !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 138px !important;
    max-width: 138px !important;
    height: 55px !important;
    max-height: 55px !important;
    object-fit: contain !important;
  }

  .header .header__top-bar {
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 52px !important;
    gap: 12px !important;
    justify-content: flex-end !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher,
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    align-self: center !important;
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 126px !important;
    max-width: 144px !important;
    height: 52px !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    height: 46px !important;
    max-height: 46px !important;
    max-width: 136px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

.dga-dropdown > a,
.dga-dropdown > .nav-link {
  gap: 8px !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 18px !important;
  height: 18px !important;
  margin-inline-start: 6px !important;
  color: #1F2A37 !important;
  stroke: currentColor !important;
  stroke-width: 0 !important;
  vertical-align: middle !important;
}

.dga-dropdown-chevron path {
  stroke-width: 2.25 !important;
}

.stories .lead,
.stories .StoriesTxt .lead {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #4D5761 !important;
  font-size: clamp(18px, 1.05vw, 22px) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  margin: 0 0 24px !important;
  max-width: 760px !important;
}

.stories .testimonials-pagination,
.testimonials .testimonials-pagination,
.stories .swiper-pagination,
.testimonials .swiper-pagination {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin-top: 28px !important;
  position: relative !important;
  z-index: 5 !important;
}

.stories .testimonials-pagination .swiper-pagination-bullet,
.testimonials .testimonials-pagination .swiper-pagination-bullet,
.stories .swiper-pagination .swiper-pagination-bullet,
.testimonials .swiper-pagination .swiper-pagination-bullet {
  display: inline-flex !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  border-radius: 999px !important;
  background: #D2D6DB !important;
  opacity: 1 !important;
  font-size: 0 !important;
}

.stories .testimonials-pagination .swiper-pagination-bullet-active,
.testimonials .testimonials-pagination .swiper-pagination-bullet-active,
.stories .swiper-pagination .swiper-pagination-bullet-active,
.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  width: 28px !important;
  background: #067647 !important;
}

.why a,
.why .btn,
.why a[class*="btn"],
.why__actions,
.why__actions a,
.why__actions button,
.news__actions,
.news__actions a,
.news__actions button,
.news__actions span {
  visibility: visible !important;
  opacity: 1 !important;
}

.why a[class*="btn"],
.why .btn,
.why__actions a,
.why__actions button,
.news__actions a,
.news__actions button,
.news__actions .btn,
.news__actions .btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.why a[class*="btn"]:hover,
.why .btn:hover,
.why__actions a:hover,
.news__actions a:hover,
.news__actions button:hover {
  background-color: #104631 !important;
  border-color: #104631 !important;
  color: #ffffff !important;
}

.news__actions {
  background-color: #067647 !important;
  color: #ffffff !important;
}

.news__actions span,
.news__actions .d-none {
  display: inline-block !important;
  color: #ffffff !important;
}

a.btn-main,
a.btn-main-brand,
.btn-main,
.btn-main-brand,
.btn-icon,
a.btn-icon {
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
}

/* ============================================================
   70. LAST-MILE MAINPAGE OVERRIDES
   Must stay at file end so older compatibility sections cannot win.
   ============================================================ */

@media (min-width: 992px) {
  .header .navbar,
  .header .navbar-collapse,
  .header .navbar-nav,
  #dga-main-nav,
  .header .header__top-bar {
    align-items: center !important;
  }

  .header .navbar-brand {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    align-self: center !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 138px !important;
    max-width: 138px !important;
    height: 55px !important;
    max-height: 55px !important;
    object-fit: contain !important;
  }

  .header .header__top-bar {
    height: 52px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher,
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    align-self: center !important;
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 126px !important;
    max-width: 144px !important;
    height: 52px !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    width: auto !important;
    height: 46px !important;
    max-height: 46px !important;
    max-width: 136px !important;
    object-fit: contain !important;
  }
}

.dga-dropdown > a,
.dga-dropdown > .nav-link {
  gap: 8px !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 18px !important;
  height: 18px !important;
  margin-inline-start: 6px !important;
  color: #1F2A37 !important;
  transform-origin: center !important;
}

.dga-dropdown-chevron path {
  stroke-width: 2.25 !important;
}

.stories .lead,
.stories .StoriesTxt .lead {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #4D5761 !important;
  font-size: clamp(18px, 1.05vw, 22px) !important;
  line-height: 1.7 !important;
  margin: 0 0 24px !important;
}

.stories .testimonials-pagination,
.testimonials .testimonials-pagination,
.stories .swiper-pagination,
.testimonials .swiper-pagination {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin-top: 28px !important;
  position: relative !important;
  z-index: 5 !important;
}

.stories .testimonials-pagination .swiper-pagination-bullet,
.testimonials .testimonials-pagination .swiper-pagination-bullet,
.stories .swiper-pagination .swiper-pagination-bullet,
.testimonials .swiper-pagination .swiper-pagination-bullet {
  display: inline-flex !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  border-radius: 999px !important;
  background: #D2D6DB !important;
  opacity: 1 !important;
  font-size: 0 !important;
}

.stories .testimonials-pagination .swiper-pagination-bullet-active,
.testimonials .testimonials-pagination .swiper-pagination-bullet-active,
.stories .swiper-pagination .swiper-pagination-bullet-active,
.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  width: 28px !important;
  background: #067647 !important;
}

.why a,
.why .btn,
.why a[class*="btn"],
.why__actions,
.why__actions a,
.why__actions button,
.news__actions,
.news__actions a,
.news__actions button,
.news__actions span {
  visibility: visible !important;
  opacity: 1 !important;
}

.why a[class*="btn"],
.why .btn,
.why__actions a,
.why__actions button,
.news__actions a,
.news__actions button,
.news__actions .btn,
.news__actions .btn-icon,
a.btn-main,
a.btn-main-brand,
.btn-main,
.btn-main-brand,
.btn-icon,
a.btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.news__actions {
  display: flex !important;
  align-items: center !important;
  background-color: #067647 !important;
  color: #ffffff !important;
}

.news__actions span,
.news__actions .d-none {
  display: inline-block !important;
  color: #ffffff !important;
}
.dga-dropdown-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 2px) !important;
  right: 0 !important;
  min-width: 220px !important;
  background: #ffffff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
  padding: 8px 0 !important;
  z-index: 1500 !important;
  animation: dga-drop-in 0.18s ease !important;
}
[dir="ltr"] .dga-dropdown-menu {
  right: auto !important;
  left: 0 !important;
}
@keyframes dga-drop-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.dga-dropdown:hover .dga-dropdown-menu,
.dga-dropdown.is-open .dga-dropdown-menu {
  display: block !important;
}
.dga-dropdown-menu a {
  display: block !important;
  padding: 10px 20px !important;
  color: #1F2A37 !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-regular) !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  white-space: nowrap !important;
  background: none !important;
  border-radius: 0 !important;
}
.dga-dropdown-menu a:hover {
  background-color: #F3FCF6 !important;
  color: #067647 !important;
}
/* Separator between dropdown items */
.dga-dropdown-menu li + li {
  border-top: 1px solid #F3F4F6 !important;
}

/* =============================================================
   49. HERO — GREEN OVERLAY + BUTTON OVERRIDES
   Adds a green-to-transparent gradient over the hero image.
   CTA button: white bg, dark text.
   Swiper nav arrows: green on hover.
   ============================================================= */

/* Green gradient overlay injected by JS as .dga-hero-overlay */
.dga-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    270deg,
    rgba(7, 77, 49, 0.72) 0%,
    rgba(7, 77, 49, 0.45) 45%,
    rgba(7, 77, 49, 0.10) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
[dir="ltr"] .dga-hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(7, 77, 49, 0.72) 0%,
    rgba(7, 77, 49, 0.45) 45%,
    rgba(7, 77, 49, 0.10) 100%
  ) !important;
}

/* Hero CTA button — white with dark text, green on hover */
.swiper-slide .btn-main-brand,
.swiper-slide .Bannerbtn,
.swiper-slide a.Bannerbtn,
section[class*="banner"] .btn-main-brand,
.hero .btn-main-brand {
  background-color: #ffffff !important;
  color: #1F2A37 !important;
  border-color: #ffffff !important;
  font-weight: var(--font-weight-semibold) !important;
}
.swiper-slide .btn-main-brand:hover,
.swiper-slide .Bannerbtn:hover,
.swiper-slide a.Bannerbtn:hover {
  background-color: #067647 !important;
  color: #ffffff !important;
  border-color: #067647 !important;
}

/* Keep secondary/border btn white outline; hover → green fill */
.swiper-slide .btn-border,
.swiper-slide .Bannerbtn2,
.swiper-slide a.btn-border {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}
.swiper-slide .btn-border:hover,
.swiper-slide a.btn-border:hover {
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
}

/* Swiper navigation arrows → green on hover */
.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: #067647 !important;
  opacity: 1 !important;
}
.swiper-button-next,
.swiper-button-prev {
  transition: color 0.2s !important;
}

/* =============================================================
   50. SIDEBAR — Restored (section sub-navigation)
   The SP Quick Launch sidebar shows related page links per
   section (e.g. الأخبار / الفعاليات under Media Center).
   DGA styling for sidebar links is in §27.
   ============================================================= */

/* Only hide sidebar on the homepage (handled by Landing master) */
body.dga-homepage .page-main__sidebar,
body.dga-homepage aside.page-main__sidebar {
  display: none !important;
}

/* DGA sidebar container sizing */
.page-main__sidebar,
aside.page-main__sidebar {
  flex: 0 0 220px !important;
  max-width: 220px !important;
  min-width: 180px !important;
}

[dir="rtl"] .page-main__sidebar,
[dir="rtl"] aside.page-main__sidebar {
  border-inline-start: 1px solid #E5E7EB !important;
  border-inline-end: none !important;
  padding-inline-start: var(--space-5) !important;
  padding-inline-end: 0 !important;
  margin-inline-start: var(--space-6) !important;
}

[dir="ltr"] .page-main__sidebar,
[dir="ltr"] aside.page-main__sidebar {
  border-inline-end: 1px solid #E5E7EB !important;
  padding-inline-end: var(--space-5) !important;
  margin-inline-end: var(--space-6) !important;
}

/* Hide the old SP decorative background image from sidebar container */
.ms-core-sideNavBox {
  background-image: none !important;
}

@media (max-width: 991px) {
  .page-main__sidebar,
  aside.page-main__sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-inline-start: none !important;
    border-inline-end: none !important;
    border-bottom: 1px solid #E5E7EB !important;
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    padding-bottom: var(--space-4) !important;
    margin-bottom: var(--space-4) !important;
  }
}

/* =============================================================
   51. ABOUT SECTION (قسم من نحن — DGA template)
   Injected by dga-injections.js after the hero section.
   Right-to-left aligned for Arabic; left-to-right for English.
   ============================================================= */

.dga-about-section {
  padding: 72px 0 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #F3F4F6 !important;
}
.dga-about-section__inner {
  display: flex !important;
  align-items: center !important;
  gap: 64px !important;
}
[dir="rtl"] .dga-about-section__inner {
  flex-direction: row !important;
}
[dir="ltr"] .dga-about-section__inner {
  flex-direction: row-reverse !important;
}
.dga-about-section__text {
  flex: 1 !important;
  text-align: right !important;
}
[dir="ltr"] .dga-about-section__text {
  text-align: left !important;
}
.dga-about-section__label {
  display: inline-block !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #067647 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 12px !important;
}
.dga-about-section__title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-3xl) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #1F2A37 !important;
  line-height: 1.35 !important;
  margin-bottom: 16px !important;
}
.dga-about-section__body {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  color: #4D5761 !important;
  line-height: 1.8 !important;
  margin-bottom: 28px !important;
}
.dga-about-section__btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 24px !important;
  border: 1.5px solid #1F2A37 !important;
  border-radius: var(--radius-lg) !important;
  color: #1F2A37 !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  text-decoration: none !important;
  transition: background 0.18s, color 0.18s !important;
  background: transparent !important;
}
.dga-about-section__btn:hover {
  background: #1F2A37 !important;
  color: #ffffff !important;
}
.dga-about-section__visual {
  flex: 0 0 380px !important;
  max-width: 380px !important;
}
.dga-about-img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--radius-lg) !important;
  display: block !important;
}

/* Fallback: decorative stat cards when image is missing */
.dga-about-decoration {
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  height: 100% !important;
}
.dga-about-stat {
  background: linear-gradient(135deg, #074D31 0%, #067647 100%) !important;
  border-radius: var(--radius-lg) !important;
  padding: 24px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  box-shadow: 0 4px 16px rgba(7, 77, 49, 0.2) !important;
}
.dga-about-stat__num {
  font-family: var(--font-family-base) !important;
  font-size: 2rem !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #ffffff !important;
  line-height: 1 !important;
  display: block !important;
}
.dga-about-stat__label {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  color: rgba(255,255,255,0.8) !important;
  display: block !important;
}
@media (max-width: 991px) {
  .dga-about-section__inner {
    flex-direction: column !important;
    gap: 32px !important;
  }
  .dga-about-section__visual {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .dga-about-section__title {
    font-size: var(--font-size-2xl) !important;
  }
}

/* =============================================================
   52. FOOTER DIGITAL STAMP CARD
   Move stamp from top bar to footer area.
   ============================================================= */

.dga-footer-stamp {
  display: flex !important;
  justify-content: flex-end !important;
  padding-top: var(--space-6) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  margin-top: var(--space-6) !important;
}
.dga-footer-stamp a {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  text-decoration: none !important;
}
.dga-footer-stamp img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
  opacity: 0.9 !important;
  transition: opacity 0.2s !important;
}
.dga-footer-stamp img:hover {
  opacity: 1 !important;
}

/* Keep the old re-edited-box-icon stamp hidden (already in §22) */
.re-edited-box-icon { display: none !important; }

/* =============================================================
   53. UTILITY BAR — clean text-only Search + Language
   After nav restructuring, only the search trigger and language
   switcher remain in .header__top-bar. Style them as clean
   icon-free items matching the primary nav text style.
   ============================================================= */

/* Hide SVG icons inside the utility bar items that remain
   (Search icon stays visible as it's functional; text "بحث" hides) */
.header__top-bar .header-search-trigger span {
  display: none !important;   /* hide "بحث" text — icon-only search button */
}
.header__top-bar .header-search-trigger svg,
.header__top-bar .header-search-trigger .icon {
  width: 20px !important;
  height: 20px !important;
  fill: #1F2A37 !important;
  color: #1F2A37 !important;
  stroke: #1F2A37 !important;
}
.header__top-bar .header-search-trigger:hover svg {
  fill: #067647 !important;
  stroke: #067647 !important;
}

/* Language switcher — hide icon, text only */
.header__top-bar .language__switcher svg,
.header__top-bar .language__switcher .icon {
  display: none !important;
}
.header__top-bar .language__switcher {
  border: 1px solid #D2D6DB !important;
  padding: 4px 12px !important;
  border-radius: var(--radius-sm) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-medium) !important;
  color: #1F2A37 !important;
}
.header__top-bar .language__switcher:hover {
  border-color: #067647 !important;
  color: #067647 !important;
}

/* Primary nav links — all items including AJAX-loaded + restructured ones */
#dga-main-nav li > a,
#dga-main-nav li > a.nav-link {
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;              /* slightly smaller to fit all items */
  font-weight: var(--font-weight-regular) !important;
  color: #1F2A37 !important;
  padding: var(--space-2) 10px !important; /* tighter horizontal padding */
  white-space: nowrap !important;
  transition: color 0.15s !important;
  text-decoration: none !important;
}
#dga-main-nav li > a:hover,
#dga-main-nav li > a.nav-link:hover {
  color: #067647 !important;
}

/* Make navbar-collapse flex so utility bar stays at end */
@media (min-width: 992px) {
  .header .navbar-nav {
    flex-wrap: nowrap !important;
    overflow: visible !important;
    align-items: center !important;  /* Fix #3: vertical alignment */
  }
  /* Reduce nav link font so all 8+ items fit on one row */
  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a {
    font-size: 13px !important;
    padding: var(--space-2) 10px !important;
    align-items: center !important;
    display: inline-flex !important;
  }
  /* Fix #3: all nav list items same height + centered */
  .header .navbar-nav li,
  #dga-main-nav li {
    display: inline-flex !important;
    align-items: center !important;
    height: 100% !important;
  }
}

/* =============================================================
   54. NAV VERTICAL ALIGNMENT FIX (#3)
   All nav items must sit on the same baseline.
   ============================================================= */

.header .navbar-nav,
#dga-main-nav {
  align-items: center !important;
}
.header .navbar-nav li,
#dga-main-nav li {
  align-items: center !important;
  position: relative !important;
}
/* Nav links inline-flex to vertically center text + chevron */
.header .navbar-nav li > a,
#dga-main-nav li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1.2 !important;
}
/* Chevron vertically centered */
.dga-dropdown-chevron {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease !important;
}
.dga-dropdown.is-open .dga-dropdown-chevron,
.dga-dropdown:hover .dga-dropdown-chevron {
  transform: rotate(180deg) !important;
}

/* =============================================================
   55. GOV BANNER DROPDOWN GRID (#1)
   Three-card grid matching SME bank reference layout.
   ============================================================= */

.dga-stamp-dropdown__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  padding: 8px 0 !important;
}
.dga-stamp-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 16px !important;
  background: #F9FAFB !important;
  border-radius: var(--radius-lg) !important;
  border: 1px solid #E5E7EB !important;
}
.dga-stamp-card--full {
  grid-column: 1 / -1 !important; /* span both columns */
}
.dga-stamp-card__icon {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ECFDF3 !important;
  border-radius: var(--radius-md) !important;
  padding: 8px !important;
}
.dga-stamp-card__icon svg {
  width: 22px !important;
  height: 22px !important;
}
.dga-stamp-card__body strong {
  display: block !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #1F2A37 !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}
.dga-stamp-card__body p {
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  color: #6C737F !important;
  margin: 0 0 10px !important;
  line-height: 1.6 !important;
}
/* Gov banner chevron animation */
.dga-gov-chevron {
  transition: transform 0.2s ease !important;
}
.dga-gov-banner__btn.is-open .dga-gov-chevron {
  transform: rotate(180deg) !important;
}

/* =============================================================
   56. SWIPER PAGINATION REMOVAL (#7)
   Remove the numbered 1, 2 bullets from the hero slider.
   ============================================================= */

.swiper-pagination,
.swiper-pagination-bullets,
.swiper-pagination-bullet,
.swiper-pagination-fraction,
.mainSlider .swiper-pagination {
  display: none !important;
}

/* =============================================================
   57. ACTIVITY SECTION REMOVAL (#8)
   Hide the activities/events section entirely.
   ============================================================= */

/* Target the section containing "الفعاليات" heading */
.events-section,
[class*="event"]:not(.footer):not(.header),
section:has(.section-title:contains("الفعاليات")) {
  display: none !important;
}

/* =============================================================
   58. HERO BLUR OVERLAY (#5) — CSS-only, survives Swiper re-renders
   Green blur effect over the hero background image using ::before.
   ============================================================= */

/* Target the main hero swiper slides */
.mainSlider .swiper-slide,
.swiper-slide:has(.banner-content),
section[class*="hero"] .swiper-slide {
  position: relative !important;
}
.mainSlider .swiper-slide::before,
.swiper-slide:has(.banner-content)::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    270deg,
    rgba(7, 77, 49, 0.65) 0%,
    rgba(7, 77, 49, 0.35) 55%,
    rgba(7, 77, 49, 0.10) 100%
  ) !important;
  backdrop-filter: blur(1.5px) !important;
  -webkit-backdrop-filter: blur(1.5px) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
[dir="ltr"] .mainSlider .swiper-slide::before {
  background: linear-gradient(
    90deg,
    rgba(7, 77, 49, 0.65) 0%,
    rgba(7, 77, 49, 0.35) 55%,
    rgba(7, 77, 49, 0.10) 100%
  ) !important;
}
/* Ensure hero content is above the overlay */
.mainSlider .swiper-slide > *:not(.swiper-lazy-preloader) {
  position: relative !important;
  z-index: 2 !important;
}
/* Also keep the JS-injected overlay class for compatibility */
.dga-hero-overlay {
  background: rgba(7, 77, 49, 0.55) !important;
  backdrop-filter: blur(1.5px) !important;
  -webkit-backdrop-filter: blur(1.5px) !important;
}

/* =============================================================
   59. HERO BUTTON ALWAYS VISIBLE (#6)
   Remove AOS transforms that hide hero buttons on scroll.
   ============================================================= */

.swiper-slide [data-aos],
.swiper-slide .aos-init,
.mainSlider [data-aos],
.mainSlider .aos-init {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  visibility: visible !important;
}

/* =============================================================
   60. VISION 2030 DESKTOP VISIBILITY (#4)
   The desktop Vision 2030 logo uses d-none d-lg-flex.
   Ensure it shows on desktop and is on the opposite side to logo.
   ============================================================= */

@media (min-width: 992px) {
  .header__vision.d-none.d-lg-flex,
  a.header__vision.d-none.d-lg-flex,
  .header__vision123 {
    display: flex !important;
    align-items: center !important;
  }
}

/* =============================================================
   61. NUMBERS + STEPS RTL ALIGNMENT (#9)
   Section content starts from right (Arabic) / left (English).
   ============================================================= */

/* Numbers section: right-aligned heading + left-to-right counter layout */
.numbers .section-title,
.numbers > .container > h2,
.numbers > .container > h3 {
  text-align: right !important;
}
[dir="ltr"] .numbers .section-title,
[dir="ltr"] .numbers > .container > h2 {
  text-align: left !important;
}

/* Numbers grid: start from right in RTL */
.numbers .row,
.numbers .numbers__block,
.numbers__list {
  justify-content: flex-end !important;
  direction: rtl !important;
}
[dir="ltr"] .numbers .row,
[dir="ltr"] .numbers .numbers__block {
  justify-content: flex-start !important;
  direction: ltr !important;
}

/* Steps section: right-aligned */
.steps .section-title,
.steps > .container > h2,
.steps > .container > h3,
[class*="steps"] .section-title {
  text-align: right !important;
}
[dir="ltr"] .steps .section-title {
  text-align: left !important;
}
.steps .row,
.steps__list,
.steps__items {
  justify-content: flex-end !important;
}
[dir="ltr"] .steps .row,
[dir="ltr"] .steps__list {
  justify-content: flex-start !important;
}

/* =============================================================
   62. HEADER LAYOUT — Full restructure for clean 3-zone layout
   Zone 1 (right in RTL): Logo (.navbar-brand)
   Zone 2 (center):       Primary nav (#dga-main-nav) — grows to fill
   Zone 3 (left in RTL):  Utility bar (.header__top-bar) — FAQ|Contact|Muahal|🔍|EN
   Zone 4 (far left):     Vision 2030 (.header__vision)
   ============================================================= */

@media (min-width: 992px) {
  /* Navbar itself is full-width flex row */
  .header .navbar {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  /* Logo: shrink-only, stays on its natural side */
  .header .navbar-brand {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
  }

  /* Navbar collapse: flex 1, fills all available space between logo and edge */
  .header .navbar-collapse {
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;          /* allow shrinking */
    overflow: visible !important;
  }

  /* Primary nav: grows to push utility bar to the far end */
  .header .navbar-nav,
  #dga-main-nav {
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;      /* clip if too many items */
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Utility bar: can shrink, stays at the left end (RTL) */
  .header .header__top-bar {
    flex: 0 1 auto !important;    /* allow shrinking when space is tight */
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  /* Utility bar text links: tight sizing */
  .header__top-bar a:not(.language__switcher) {
    font-size: 11.5px !important;
    font-weight: var(--font-weight-regular) !important;
    color: #4D5761 !important;
    text-decoration: none !important;
    padding: 4px 8px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    border-inline-start: 1px solid #E5E7EB !important;
  }
  .header__top-bar a:not(.language__switcher):first-of-type {
    border-inline-start: none !important;
  }
  .header__top-bar a:not(.language__switcher):hover {
    color: #067647 !important;
  }
}

/* Divider before search icon in utility bar */
.header__top-bar .dga-utility-divider,
.header__top-bar .header-search-trigger {
  border-inline-start: 1px solid #E5E7EB !important;
  padding-inline-start: 8px !important;
}

.header__top-bar .header-search-trigger,
.header__top-bar .language__switcher {
  display: inline-flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Divider between utility text links and icon buttons */
.header__top-bar .dga-gov-banner__divider {
  display: inline-block !important;
  width: 1px !important;
  height: 14px !important;
  background: #D2D6DB !important;
  margin: 0 4px !important;
}

/* =============================================================
   63. HEADER + GOV STAMP ALIGNMENT PATCH
   Keeps the stamp/header in normal flow, mirrors brand placement
   by language, and prevents nav links from sliding under the logo.
   ============================================================= */

#dga-stamp-bar,
.header {
  position: relative !important;
  top: auto !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  margin: 0 !important;
}

#dga-stamp-bar {
  z-index: 1100 !important;
}

.header {
  z-index: 1000 !important;
  overflow: visible !important;
  clear: both !important;
}

#dga-stamp-bar + .header,
.header + .page-header,
.header + main,
.header + #DeltaPlaceHolderMain {
  margin-top: 0 !important;
}

@media (min-width: 992px) {
  .header {
    max-height: none !important;
  }

  .header > .container,
  .header > .container-fluid,
  .header__container,
  .header__menu,
  .header .navbar {
    min-width: 0 !important;
    overflow: visible !important;
  }

  .header__container {
    min-height: 88px !important;
  }

  .header .navbar {
    min-height: 88px !important;
    column-gap: 28px !important;
  }

  .header .navbar-brand {
    flex: 0 0 auto !important;
    order: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 28px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  [dir="ltr"] .header .navbar-brand {
    margin-inline-start: 0 !important;
    margin-inline-end: 28px !important;
  }

  [dir="rtl"] .header .navbar-brand {
    margin-inline-start: 0 !important;
    margin-inline-end: 28px !important;
  }

  .header .navbar-collapse {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    position: relative !important;
    z-index: 1 !important;
    gap: 14px !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    justify-content: flex-start !important;
    gap: 2px !important;
  }

  .header .navbar-nav li,
  #dga-main-nav li {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 180px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12.5px !important;
    padding-inline: 8px !important;
  }

  .header .header__top-bar {
    flex: 0 0 auto !important;
    max-width: 340px !important;
    overflow: hidden !important;
  }
}

@media (min-width: 992px) and (max-width: 1240px) {
  .header .navbar {
    column-gap: 18px !important;
  }

  .header .navbar-brand {
    margin-inline-end: 18px !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 142px !important;
    font-size: 11.5px !important;
    padding-inline: 6px !important;
  }

  .header .header__top-bar {
    max-width: 260px !important;
  }
}

.dga-stamp-card__icon--dga {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  height: 44px !important;
}

.dga-stamp-card__dga-logo {
  width: 44px !important;
  height: 44px !important;
  display: block !important;
}

.dga-stamp-card__body--registration {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.dga-stamp-card__registration-line {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #1F2A37 !important;
}

.dga-stamp-dropdown__registration-link {
  color: #067647 !important;
  font-weight: var(--font-weight-semibold) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  white-space: nowrap !important;
}

.dga-stamp-dropdown__registration-link:hover {
  color: #074D31 !important;
}

[dir="rtl"] .dga-stamp-dropdown__grid,
[dir="rtl"] .dga-stamp-card {
  direction: rtl !important;
  text-align: right !important;
}

[dir="ltr"] .dga-stamp-dropdown__grid,
[dir="ltr"] .dga-stamp-card {
  direction: ltr !important;
  text-align: left !important;
}

.dga-dropdown-chevron.dga-gov-chevron {
  width: 13px !important;
  height: 13px !important;
  color: inherit !important;
  margin-inline-start: 2px !important;
}

/* =============================================================
   64. FINAL HEADER / STAMP OVERRIDES FOR STEP 1
   Last-mile overrides after older compatibility patches.
   ============================================================= */

.header {
  position: relative !important;
  top: auto !important;
  margin: 0 !important;
  overflow: visible !important;
}

#dga-stamp-bar {
  position: relative !important;
  top: auto !important;
  margin: 0 !important;
}

.page-header {
  position: relative !important;
  z-index: 1 !important;
}

@media (min-width: 992px) {
  .header {
    max-height: none !important;
  }

  .header + .container,
  #dga-stamp-bar + .header + .container {
    margin-top: 0 !important;
  }

  .header .navbar {
    min-height: 88px !important;
    column-gap: 28px !important;
  }

  .header .navbar-brand {
    min-width: 120px !important;
    width: auto !important;
    margin: 0 !important;
    margin-inline-end: 28px !important;
    flex: 0 0 auto !important;
    z-index: 5 !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    max-width: 120px !important;
    height: 48px !important;
  }

  .header .navbar-collapse {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 2px !important;
  }

  .header .navbar-nav li,
  #dga-main-nav li {
    min-width: 0 !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 170px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12.5px !important;
    padding-inline: 8px !important;
  }

  .header .header__top-bar {
    flex: 0 0 auto !important;
    max-width: 320px !important;
    overflow: hidden !important;
  }
}

@media (min-width: 992px) and (max-width: 1240px) {
  .header .navbar {
    column-gap: 18px !important;
  }

  .header .navbar-brand {
    min-width: 104px !important;
    margin-inline-end: 18px !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    max-width: 104px !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 136px !important;
    font-size: 11.5px !important;
    padding-inline: 6px !important;
  }

  .header .header__top-bar {
    max-width: 248px !important;
  }
}

.dga-stamp-card--full {
  align-items: center !important;
  padding: 12px 16px !important;
}

.dga-stamp-card--full .dga-stamp-card__body--registration {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}

.dga-stamp-card__registration-line {
  margin: 0 !important;
}

.dga-stamp-dropdown__registration-link {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* =============================================================
   65. HEADER / STAMP INDEPENDENT BOXES + FULL NAV DROPDOWNS
   Separates global shell alignment from page content containers.
   ============================================================= */

#dga-stamp-bar > .container,
.header > .container {
  max-width: none !important;
  width: 100% !important;
  padding-inline: 48px !important;
}

[dir="rtl"] #dga-stamp-bar > .container,
html[lang^="ar"] #dga-stamp-bar > .container {
  justify-content: flex-start !important;
  direction: rtl !important;
  text-align: right !important;
}

[dir="ltr"] #dga-stamp-bar > .container,
html[lang^="en"] #dga-stamp-bar > .container {
  justify-content: flex-start !important;
  direction: ltr !important;
  text-align: left !important;
}

.dga-stamp-card__body--registration,
.dga-stamp-card__registration-line,
.dga-stamp-card__registration-line span {
  color: #1F2A37 !important;
  font-weight: var(--font-weight-semibold) !important;
  opacity: 1 !important;
}

.dga-stamp-card__registration-line {
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  gap: 8px !important;
}

.dga-stamp-dropdown__registration-link,
.dga-stamp-card__registration-line a {
  color: #067647 !important;
  font-weight: var(--font-weight-semibold) !important;
  opacity: 1 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

#dga-stamp-bar .dga-stamp-card__registration-line,
#dga-stamp-bar .dga-stamp-card__registration-line span {
  color: #1F2A37 !important;
  font-weight: var(--font-weight-semibold) !important;
}

#dga-stamp-bar .dga-stamp-dropdown__registration-link,
#dga-stamp-bar .dga-stamp-card__registration-line a {
  color: #067647 !important;
  font-weight: var(--font-weight-semibold) !important;
  opacity: 1 !important;
}

.dga-stamp-card__icon--dga,
.dga-stamp-card__icon--dga svg {
  width: 44px !important;
  height: 44px !important;
  opacity: 1 !important;
}

@media (min-width: 992px) {
  .header__container,
  .header__menu,
  .header .navbar {
    width: 100% !important;
    min-width: 0 !important;
  }

  .header .navbar {
    min-height: 88px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    column-gap: 0 !important;
    position: relative !important;
  }

  [dir="rtl"] .header .navbar,
  html[lang^="ar"] .header .navbar {
    direction: rtl !important;
  }

  [dir="ltr"] .header .navbar,
  html[lang^="en"] .header .navbar {
    direction: ltr !important;
  }

  .header .navbar-brand {
    flex: 0 0 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    margin: 0 !important;
    margin-inline-end: 24px !important;
    padding: 0 !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 120px !important;
    max-width: 120px !important;
    height: 48px !important;
    object-fit: contain !important;
  }

  .header .navbar-collapse {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    position: static !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 430px) !important;
    overflow: visible !important;
    justify-content: flex-start !important;
    gap: 2px !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 128px !important;
    font-size: 11.5px !important;
    padding-inline: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .header .header__top-bar {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    width: max-content !important;
    inline-size: max-content !important;
    min-width: 0 !important;
    max-width: 320px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  [dir="rtl"] .header .header__top-bar,
  html[lang^="ar"] .header .header__top-bar {
    left: 48px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
  }

  [dir="ltr"] .header .header__top-bar,
  html[lang^="en"] .header .header__top-bar {
    right: 48px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher,
  .header__top-bar .dga-header-vision-action {
    flex: 0 0 auto !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 92px !important;
    width: 92px !important;
    height: 44px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img {
    display: block !important;
    width: 86px !important;
    max-width: 86px !important;
    height: auto !important;
    max-height: 38px !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  .header__container > .header__vision:not(.dga-header-vision-action) {
    display: none !important;
  }
}

@media (max-width: 991px) {
  #dga-stamp-bar > .container,
  .header > .container {
    padding-inline: 20px !important;
  }

  .header__top-bar .dga-header-vision-action {
    display: none !important;
  }

  .header .header__top-bar {
    position: static !important;
    transform: none !important;
  }
}

/* =============================================================
   66. HEADER FIGMA ALIGNMENT PATCH
   Applies the DGA Home Page Template nav-header guidance:
   preserve the header structure, use token colors/IBM Plex, keep
   a clean second nav header, and expose vertical page lists.
   ============================================================= */

@media (min-width: 992px) {
  .header > .container {
    padding-inline: 48px !important;
  }

  .header__container,
  .header__menu,
  .header .navbar,
  .header .navbar-collapse {
    min-height: 88px !important;
    align-items: center !important;
  }

  .header .navbar {
    column-gap: 24px !important;
  }

  .header .navbar-brand {
    flex: 0 0 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    margin: 0 !important;
    margin-inline-end: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 120px !important;
    height: 48px !important;
    max-width: 120px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  .header .navbar-collapse {
    gap: 18px !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    flex: 1 1 auto !important;
    max-width: calc(100% - 440px) !important;
    overflow: visible !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 176px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 8px 9px !important;
    font-family: var(--font-family-base) !important;
    font-size: 13.8px !important;
    line-height: 20px !important;
    font-weight: var(--font-weight-medium) !important;
    color: #1F2A37 !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  .header .header__top-bar {
    max-width: 340px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .header__top-bar a:not(.language__switcher),
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.7px !important;
    line-height: 18px !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    width: auto !important;
    min-width: 86px !important;
    max-width: 100px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .header__top-bar .dga-header-vision-action picture,
  .header__top-bar .header__vision picture {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 100% !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    width: auto !important;
    height: 32px !important;
    max-width: 92px !important;
    max-height: 32px !important;
    object-fit: contain !important;
    object-position: center !important;
    aspect-ratio: auto !important;
  }
}

@media (min-width: 992px) and (max-width: 1240px) {
  .header > .container {
    padding-inline: 32px !important;
  }

  .header .navbar {
    column-gap: 16px !important;
  }

  .header .navbar-brand {
    flex-basis: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    margin-inline-end: 16px !important;
  }

  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 108px !important;
    max-width: 108px !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    max-width: calc(100% - 394px) !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    max-width: 142px !important;
    font-size: 12.7px !important;
    padding-inline: 7px !important;
  }

  .header .header__top-bar {
    max-width: 286px !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img {
    height: 30px !important;
    max-width: 86px !important;
  }
}

.dga-dropdown > a,
.dga-dropdown > .nav-link {
  position: relative !important;
  overflow: visible !important;
}

#dga-main-nav .dga-dropdown > a,
#dga-main-nav .dga-dropdown > a.nav-link,
.header .navbar-nav .dga-dropdown > a,
.header .navbar-nav .dga-dropdown > a.nav-link {
  overflow: visible !important;
  text-overflow: clip !important;
}

.dga-dropdown > a .dga-nav-text,
.dga-dropdown > .nav-link .dga-nav-text {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  margin-inline-start: 4px !important;
  color: currentColor !important;
  opacity: 1 !important;
}

.dga-dropdown-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  min-width: 240px !important;
  max-width: 320px !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: #ffffff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: var(--radius-md, 8px) !important;
  box-shadow: 0 20px 24px -4px rgba(16, 24, 40, 0.08), 0 8px 8px -4px rgba(16, 24, 40, 0.03) !important;
  z-index: 2000 !important;
}

[dir="rtl"] .dga-dropdown-menu,
html[lang^="ar"] .dga-dropdown-menu {
  right: 0 !important;
  left: auto !important;
  text-align: right !important;
  direction: rtl !important;
}

[dir="ltr"] .dga-dropdown-menu,
html[lang^="en"] .dga-dropdown-menu {
  left: 0 !important;
  right: auto !important;
  text-align: left !important;
  direction: ltr !important;
}

.dga-dropdown:hover .dga-dropdown-menu,
.dga-dropdown.is-open .dga-dropdown-menu {
  display: flex !important;
}

.dga-dropdown-menu li,
#dga-main-nav .dga-dropdown-menu li,
.header .navbar-nav .dga-dropdown-menu li {
  display: block !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.dga-dropdown-menu a,
#dga-main-nav .dga-dropdown-menu a,
.header .navbar-nav .dga-dropdown-menu a {
  display: flex !important;
  width: 100% !important;
  min-height: 40px !important;
  max-width: none !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #1F2A37 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

[dir="rtl"] .dga-dropdown-menu a,
html[lang^="ar"] .dga-dropdown-menu a {
  justify-content: flex-start !important;
  text-align: right !important;
}

[dir="ltr"] .dga-dropdown-menu a,
html[lang^="en"] .dga-dropdown-menu a {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* ============================================================
   67. MAIN PAGE HEADER AND VISIBILITY PATCH
   ============================================================ */

@media (min-width: 992px) {
  .header .navbar {
    align-items: center !important;
    column-gap: 12px !important;
  }

  .header .navbar-brand {
    margin-inline-end: 12px !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    max-width: calc(100% - 390px) !important;
    gap: 3px !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    font-size: 14.5px !important;
    line-height: 21px !important;
    padding-inline: 9px !important;
  }

  .header .header__top-bar {
    height: 44px !important;
    max-width: 360px !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .header__top-bar a:not(.language__switcher),
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    font-size: 13.3px !important;
    line-height: 19px !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 96px !important;
    max-width: 112px !important;
    height: 44px !important;
    align-self: center !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    height: 35px !important;
    max-height: 35px !important;
    max-width: 102px !important;
  }
}

@media (min-width: 992px) and (max-width: 1240px) {
  .header .navbar {
    column-gap: 10px !important;
  }

  .header .navbar-brand {
    margin-inline-end: 10px !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    max-width: calc(100% - 350px) !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a,
  #dga-main-nav li > a,
  #dga-main-nav li > a.nav-link {
    font-size: 13.3px !important;
    padding-inline: 7px !important;
  }
}

.header .dropdown-toggle::after,
#dga-main-nav .dropdown-toggle::after,
.header .dga-dropdown > a::after,
#dga-main-nav .dga-dropdown > a::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 14px !important;
  height: 14px !important;
  margin-inline-start: 5px !important;
  transform: none !important;
}

.dga-dropdown:hover .dga-dropdown-menu,
.dga-dropdown:focus-within .dga-dropdown-menu,
.dga-dropdown.is-open .dga-dropdown-menu {
  display: flex !important;
}

.dga-dropdown-menu {
  flex-direction: column !important;
}

.numbers,
.steps,
.stories,
.news,
.why,
.partners,
.faqs,
.dga-about-section {
  margin-top: 0 !important;
}

.numbers,
.steps,
.stories,
.partners,
.faqs {
  position: relative !important;
  overflow: hidden !important;
}

.numbers::before,
.steps::before,
.stories::before,
.partners::before,
.faqs::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.numbers > *,
.steps > *,
.stories > *,
.partners > *,
.faqs > * {
  position: relative !important;
  z-index: 1 !important;
}

.steps__icon h1,
.steps__icon h2,
.steps__icon h3,
.steps__icon h4,
.steps__icon h5,
.steps__icon h6,
.steps__icon p,
.steps__text h1,
.steps__text h2,
.steps__text h3,
.steps__text h4,
.steps__text h5,
.steps__text h6,
.steps__text p,
.stories .lead,
.news__actions,
.news__actions a,
.news__actions span,
.why__actions,
.why__actions a,
.btn-main,
.btn-main-brand,
.Bannerbtn,
.Bannerbtn2 {
  visibility: visible !important;
  opacity: 1 !important;
}

.steps__icon h6,
.steps__icon p,
.steps__text h3,
.steps__text p,
.stories .lead {
  display: block !important;
}

.steps__icon h6 {
  color: #067647 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  margin-top: 12px !important;
}

.news__actions,
.why__actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.news__actions a,
.news__actions button,
.why__actions a,
.why__actions button,
.btn-main,
.btn-main-brand,
.Bannerbtn,
.Bannerbtn2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
}

/* ============================================================
   68. QUICK FIX: RESTORE WHY SECTION, STEPS TITLES, CHEVRON, 2030
   ============================================================ */

@media (min-width: 992px) {
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 110px !important;
    max-width: 128px !important;
    height: 48px !important;
  }

  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    height: 40px !important;
    max-height: 40px !important;
    max-width: 118px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

.why,
.why-us,
[class*="why"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: unset !important;
}

.why .row,
.why-us .row,
[class*="why"] .row {
  display: flex !important;
}

.steps__icon h3,
.steps__container h3,
.steps .steps__step h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
  color: #163762 !important;
  font-size: clamp(18px, 1.458vw, 22px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin-top: 10px !important;
  margin-bottom: 8px !important;
}

.steps__icon h6,
.steps__container h6,
.steps .steps__step h6 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 14px !important;
  height: 14px !important;
  margin-inline-start: 5px !important;
  color: currentColor !important;
}

.dga-dropdown:hover .dga-dropdown-chevron,
.dga-dropdown.is-open .dga-dropdown-chevron {
  transform: rotate(180deg) !important;
}

/* 71. True file-end mainpage overrides */
@media (min-width: 992px) {
  .header .navbar,
  .header .navbar-collapse,
  .header .navbar-nav,
  #dga-main-nav,
  .header .header__top-bar {
    align-items: center !important;
  }
  .header .navbar-brand {
    flex-basis: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    align-self: center !important;
  }
  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 138px !important;
    max-width: 138px !important;
    height: 55px !important;
    max-height: 55px !important;
    object-fit: contain !important;
  }
  .header .header__top-bar {
    height: 52px !important;
    gap: 12px !important;
    align-items: center !important;
  }
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher,
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    align-self: center !important;
    min-height: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision {
    min-width: 126px !important;
    max-width: 144px !important;
    height: 52px !important;
  }
  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    width: auto !important;
    height: 46px !important;
    max-height: 46px !important;
    max-width: 136px !important;
    object-fit: contain !important;
  }
}

.dga-dropdown > a,
.dga-dropdown > .nav-link {
  gap: 8px !important;
}

.dga-dropdown-chevron,
.dga-dropdown-chevron.dga-gov-chevron {
  width: 18px !important;
  height: 18px !important;
  margin-inline-start: 6px !important;
  color: #1F2A37 !important;
}

.dga-dropdown-chevron path {
  stroke-width: 2.25 !important;
}

.stories .lead,
.stories .StoriesTxt .lead {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #4D5761 !important;
  font-size: clamp(18px, 1.05vw, 22px) !important;
  line-height: 1.7 !important;
  margin: 0 0 24px !important;
}

.stories .testimonials-pagination,
.testimonials .testimonials-pagination,
.stories .swiper-pagination,
.testimonials .swiper-pagination {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  margin-top: 28px !important;
  position: relative !important;
  z-index: 5 !important;
}

.stories .swiper-pagination-bullet,
.testimonials .swiper-pagination-bullet {
  display: inline-flex !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  border-radius: 999px !important;
  background: #D2D6DB !important;
  opacity: 1 !important;
  font-size: 0 !important;
}

.stories .swiper-pagination-bullet-active,
.testimonials .swiper-pagination-bullet-active {
  width: 28px !important;
  background: #067647 !important;
}

.why a,
.why .btn,
.why a[class*="btn"],
.why__actions,
.why__actions a,
.why__actions button,
.news__actions,
.news__actions a,
.news__actions button,
.news__actions span {
  visibility: visible !important;
  opacity: 1 !important;
}

.why a[class*="btn"],
.why .btn,
.why__actions a,
.why__actions button,
.news__actions a,
.news__actions button,
.news__actions .btn,
.news__actions .btn-icon,
a.btn-main,
a.btn-main-brand,
.btn-main,
.btn-main-brand,
.btn-icon,
a.btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  background-color: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.news__actions {
  display: flex !important;
  align-items: center !important;
  background-color: #067647 !important;
  color: #ffffff !important;
}

.news__actions span,
.news__actions .d-none {
  display: inline-block !important;
  color: #ffffff !important;
}

/* 73. Final current-request overrides */
@media (min-width: 992px) {
  .header .navbar-brand {
    flex-basis: 152px !important;
    min-width: 152px !important;
    max-width: 152px !important;
  }
  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width: 152px !important;
    max-width: 152px !important;
    height: 61px !important;
    max-height: 61px !important;
    object-fit: contain !important;
  }
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    min-height: 37px !important;
    height: 37px !important;
    font-size: 11.3px !important;
    line-height: 16px !important;
    padding-block: 3px !important;
    transform: translateY(-5%) !important;
  }
  .header__top-bar .header-search-trigger svg,
  .header__top-bar .header-search-trigger .icon {
    width: 17px !important;
    height: 17px !important;
  }
  .header__top-bar .language__switcher {
    padding-inline: 10px !important;
  }
  .numbers > .container,
  .steps > .container {
    display: grid !important;
    grid-template-columns: minmax(190px, 24%) minmax(0, 1fr) !important;
    column-gap: 10% !important;
    align-items: start !important;
  }
  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    grid-column: 1 !important;
    text-align: right !important;
    margin: 0 !important;
  }
  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    grid-column: 2 !important;
  }
  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    text-align: left !important;
  }
  .steps .section-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
  }
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    align-items: flex-start !important;
  }
}

.dga-about-section__btn:hover {
  background: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
}

/* 75. True final override for current request */
@media (min-width: 992px) {
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    transform: translateY(-15%) !important;
  }

  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision,
  .header__top-bar .dga-header-vision-action img,
  .header__top-bar .header__vision img,
  .header__vision.dga-header-vision-action img,
  a.header__vision.dga-header-vision-action img {
    transform: none !important;
  }

  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(280px, 32%) minmax(0, 1fr) !important;
    align-items: center !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    width: 100% !important;
    max-width: none !important;
    align-self: center !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    align-self: center !important;
  }
}

/* =============================================================
   INTERNAL PAGES — DGA Figma Template Alignment
   Source: DGA Platforms Code Community Figma templates
   Observed: 2026-05-13 | Agent: vzedx + raw + polaris
   Values: IBM Plex Sans Arabic, #074d31 primary, #f9fafb bg
   Spacing: 80px margins, 8px radius, 16/24/32/48px gaps
   ============================================================= */

/* --- §63 INTERNAL PAGE LAYOUT — shared shell ------------------- */

/* Page background */
.ms-backgroundImage,
#contentRow,
#DeltaPlaceHolderMain,
.ms-fullWidth {
  background-color: #f9fafb !important;
}

/* Remove default SP padding from content region */
#contentBox,
.ms-wiki-content,
#DeltaPlaceHolderMain .ms-webpartzone-cell {
  padding: 0 !important;
}

/* Inner content max-width container */
.ms-rtestate-field,
.ms-webpart-chrome-fullWidth,
.ms-rtestate-field > * {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  color: #303030 !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

/* --- §64 PAGE TITLE BANNER — DGA green header band -------------- */

/* DGA page title area — green band with white title */
.page-header-section,
.pageHeader,
.ms-pageTitle,
.dga-page-header {
  background-color: #074d31 !important;
  color: #ffffff !important;
  padding: 40px 80px !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
}

.page-header-section h1,
.pageHeader h1,
.ms-pageTitle h1,
.dga-page-header h1,
.ms-core-pageTitle {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 30px !important;
  line-height: 44px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

/* Content area headings — match DGA typography scale */
.ms-rtestate-field h1 { font-size: 30px !important; line-height: 44px !important; font-weight: 600 !important; color: #161616 !important; margin-bottom: 16px !important; }
.ms-rtestate-field h2 { font-size: 24px !important; line-height: 36px !important; font-weight: 600 !important; color: #161616 !important; margin-bottom: 12px !important; }
.ms-rtestate-field h3 { font-size: 20px !important; line-height: 30px !important; font-weight: 600 !important; color: #303030 !important; margin-bottom: 12px !important; }
.ms-rtestate-field p  { font-size: 16px !important; line-height: 24px !important; font-weight: 400 !important; color: #303030 !important; margin-bottom: 16px !important; }

/* --- §65 BREADCRUMB — DGA Figma spec --------------------------- */

.breadcrumb,
.dga-breadcrumb,
[class*="breadcrumb"] {
  background: #ffffff !important;
  padding: 12px 80px !important;
  border-bottom: 1px solid #e5e7eb !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 14px !important;
  line-height: 20px !important;
  margin: 0 !important;
  direction: rtl !important;
}

.breadcrumb-item a,
.breadcrumb a,
[class*="breadcrumb"] a {
  color: #074d31 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}

.breadcrumb-item a:hover,
[class*="breadcrumb"] a:hover {
  color: #085d3a !important;
  text-decoration: underline !important;
}

.breadcrumb-item.active,
.breadcrumb-item:last-child {
  color: #384250 !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "/" !important;
  color: #e5e7eb !important;
  padding: 0 8px !important;
  float: right !important;
}

/* --- §66 FAQ ACCORDION — DGA Accordion component --------------- */

/* Accordion wrapper */
.accordion,
.faq-accordion,
[class*="accordion"]:not([class*="accordion-button"]),
.collapse-container {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
  background: #ffffff !important;
}

/* Accordion header/trigger */
.accordion-button,
.accordion-header,
.accordion__header,
.collapse-header,
.faq-question,
[class*="accordion"] > [class*="header"],
[class*="accordion"] > button {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 600 !important;
  color: #303030 !important;
  background: #ffffff !important;
  border: none !important;
  padding: 16px 24px !important;
  width: 100% !important;
  text-align: right !important;
  cursor: pointer !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.accordion-button:hover,
.accordion__header:hover {
  background-color: #f7fdf9 !important;
  color: #074d31 !important;
}

/* Expanded state */
.accordion-button:not(.collapsed),
.accordion-button[aria-expanded="true"],
.accordion__header.active,
.collapse-header.active {
  background-color: #ecfdf3 !important;
  color: #074d31 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

/* Accordion chevron arrow */
.accordion-button::after,
.accordion__header::after {
  content: "▾" !important;
  font-size: 14px !important;
  color: #074d31 !important;
  transition: transform 0.2s ease !important;
  float: left !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.accordion-button:not(.collapsed)::after,
.accordion__header.active::after {
  transform: rotate(180deg) !important;
}

/* Accordion body/content */
.accordion-body,
.accordion__body,
.collapse-body,
.faq-answer {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #384250 !important;
  padding: 16px 24px !important;
  background: #ffffff !important;
  border-top: 1px solid #e5e7eb !important;
}

/* --- §67 PRODUCT / SERVICE CARDS — DGA Card component ---------- */

.product-card,
.service-card,
[class*="product-item"],
[class*="product-card"],
[class*="service-card"],
.card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
}

.product-card:hover,
.service-card:hover,
.card:hover {
  box-shadow: 0 4px 16px rgba(7,77,49,0.10) !important;
  transform: translateY(-2px) !important;
}

/* Card image/header band */
.product-card .card-img-top,
.product-card .card-header,
[class*="product-card"] .card-header,
.service-card .card-header {
  background-color: #074d31 !important;
  height: 160px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Card body */
.product-card .card-body,
.service-card .card-body,
[class*="product-card"] .card-body {
  padding: 24px !important;
}

/* Card title */
.product-card .card-title,
.service-card .card-title,
[class*="product-card"] h3,
[class*="product-card"] h4 {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 600 !important;
  color: #161616 !important;
  margin-bottom: 8px !important;
}

/* Card text */
.product-card .card-text,
.service-card .card-text {
  font-size: 14px !important;
  line-height: 20px !important;
  color: #384250 !important;
  margin-bottom: 16px !important;
}

/* Card CTA link */
.product-card .card-link,
.service-card .card-link,
[class*="product-card"] a.btn,
[class*="product-card"] .btn {
  display: inline-block !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #074d31 !important;
  padding: 8px 16px !important;
  border: 1px solid #074d31 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}

.product-card .card-link:hover,
[class*="product-card"] .btn:hover {
  background: #074d31 !important;
  color: #ffffff !important;
}

/* Products grid */
.products-grid,
.products__list,
[class*="products-list"],
.row.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  padding: 48px 80px !important;
}

@media (max-width: 768px) {
  .products-grid,
  .products__list,
  .row.products {
    grid-template-columns: 1fr !important;
    padding: 24px 16px !important;
  }
}

/* --- §68 CONTACT PAGE — Form + Info cards ---------------------- */

/* Contact info card */
.contact-card,
[class*="contact-info"],
.contact__info {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
}

.contact-card h4,
[class*="contact-info"] h4 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #074d31 !important;
  margin-bottom: 8px !important;
}

.contact-card p,
[class*="contact-info"] p {
  font-size: 14px !important;
  color: #384250 !important;
  margin: 0 !important;
}

/* Form inputs — DGA Text Input component */
.ms-formtable input[type="text"],
.ms-formtable input[type="email"],
.ms-formtable input[type="tel"],
.ms-formtable textarea,
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #303030 !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  width: 100% !important;
  transition: border-color 0.15s ease !important;
  direction: rtl !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
.form-control:focus,
select:focus {
  border-color: #074d31 !important;
  outline: 2px solid rgba(7,77,49,0.15) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* Form labels */
label,
.form-label,
.ms-standardheader {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #303030 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Submit button — DGA Primary Button */
input[type="submit"],
button[type="submit"],
.btn-primary,
.dga-btn-primary {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background-color: #074d31 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 32px !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

input[type="submit"]:hover,
button[type="submit"]:hover,
.btn-primary:hover {
  background-color: #085d3a !important;
}

/* --- §69 CONTENT / ABOUT PAGE — DGA Content Page template ------ */

/* Main content wrapper on about/content pages */
.content-page-body,
.about-content,
.ms-rte-layoutszone-outer,
.ms-rtestate-field {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 48px 80px !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  color: #303030 !important;
  background: #f9fafb !important;
}

/* Content page sub-section headings */
.content-section,
[class*="content-section"] {
  margin-bottom: 48px !important;
}

/* Block quote / highlighted text */
blockquote,
.ms-rtestate-field blockquote {
  border-right: 4px solid #074d31 !important;
  border-left: none !important;
  padding: 12px 24px !important;
  margin: 24px 0 !important;
  background: #ecfdf3 !important;
  border-radius: 0 8px 8px 0 !important;
  font-size: 18px !important;
  line-height: 28px !important;
  color: #074d31 !important;
}

/* --- §70 MEDIA CENTER / NEWS GRID — Cards layout --------------- */

.news-grid,
.news__list,
[class*="news-grid"],
.media-center-grid,
[class*="media-list"] {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  padding: 48px 80px !important;
}

.news-card,
[class*="news-item"],
[class*="news-card"],
.media-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease !important;
}

.news-card:hover,
[class*="news-card"]:hover {
  box-shadow: 0 4px 16px rgba(7,77,49,0.10) !important;
}

/* News card image */
.news-card img,
[class*="news-item"] img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
}

/* News card body */
.news-card .card-body,
[class*="news-item"] .card-body,
[class*="news-card"] .news-body {
  padding: 16px !important;
}

/* News category badge */
.news-category,
[class*="news-tag"],
.badge-category {
  display: inline-block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #074d31 !important;
  background: #ecfdf3 !important;
  padding: 4px 12px !important;
  border-radius: 24px !important;
  margin-bottom: 8px !important;
}

/* News title */
.news-card h3,
.news-card .card-title,
[class*="news-item"] h3 {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 600 !important;
  color: #161616 !important;
  margin-bottom: 8px !important;
}

/* News date */
.news-date,
[class*="news-date"],
[class*="event-date"] {
  font-size: 12px !important;
  color: #384250 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* --- §71 SEARCH RESULTS PAGE ----------------------------------- */

.search-results,
[class*="search-results"],
.search-result-list {
  padding: 32px 80px !important;
  background: #f9fafb !important;
}

/* Search result item */
.search-result-item,
[class*="search-result-item"],
.ms-srch-result {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
  transition: border-color 0.15s ease !important;
}

.search-result-item:hover,
[class*="search-result-item"]:hover {
  border-color: #074d31 !important;
}

/* Result title link */
.search-result-item h3 a,
.ms-srch-result h3 a,
[class*="result-title"] a {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #074d31 !important;
  text-decoration: none !important;
  line-height: 24px !important;
}

.search-result-item h3 a:hover {
  text-decoration: underline !important;
  color: #085d3a !important;
}

/* Result URL */
.search-result-item .result-url,
.ms-srch-result-url {
  font-size: 12px !important;
  color: #1b8354 !important;
  margin: 4px 0 !important;
}

/* Result excerpt */
.search-result-item p,
.ms-srch-result-snippet {
  font-size: 14px !important;
  line-height: 20px !important;
  color: #384250 !important;
  margin: 8px 0 0 !important;
}

/* Search box on results page */
.search-results-input,
.ms-srch-sb-border,
[class*="search-input-large"] {
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  width: 100% !important;
  max-width: 640px !important;
}

.search-results-input:focus {
  border-color: #074d31 !important;
  outline: 2px solid rgba(7,77,49,0.15) !important;
}

/* --- §72 PAGINATION — DGA Pagination component ----------------- */

.pagination,
[class*="pagination"],
.ms-srch-paging {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 32px 0 !important;
  direction: rtl !important;
}

.page-item .page-link,
[class*="pagination"] a,
.ms-srch-paging a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #303030 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  transition: all 0.15s ease !important;
}

.page-item.active .page-link,
[class*="pagination"] a.active,
[class*="pagination"] .current {
  background: #074d31 !important;
  border-color: #074d31 !important;
  color: #ffffff !important;
}

.page-item .page-link:hover,
[class*="pagination"] a:hover {
  background: #ecfdf3 !important;
  border-color: #074d31 !important;
  color: #074d31 !important;
}

/* --- §73 INTERNAL PAGE — MOBILE RESPONSIVE -------------------- */

@media (max-width: 768px) {
  .breadcrumb { padding: 10px 16px !important; }
  .ms-rtestate-field,
  .content-page-body { padding: 24px 16px !important; }
  .news-grid,
  .media-center-grid { grid-template-columns: 1fr !important; padding: 24px 16px !important; }
  .search-results { padding: 24px 16px !important; }
  .pagination { padding: 16px 0 !important; }
  .dga-page-header,
  .page-header-section { padding: 24px 16px !important; }
  .dga-page-header h1,
  .page-header-section h1 { font-size: 24px !important; line-height: 36px !important; }
}


/* =============================================================
   INTERNAL PAGES — EXACT PUBLIC SITE STRUCTURE + DGA COLORS
   Scraped: 2026-05-13 via Playwright from www.kafalah.gov.sa
   Agent: vzedx (scraped) + raw (styled) + forge (deployed)
   Replaces: #014051 / #163762 / #32AEB8 → DGA #074d31 / #067647
   ============================================================= */

/* ── GLOBAL: Kill all legacy colors site-wide ─────────────── */
/* These are the exact rgb() values found on the live pages    */

:root {
  --legacy-teal:  rgb(1, 64, 81);
  --legacy-navy:  rgb(22, 55, 98);
  --legacy-aqua:  rgb(50, 174, 184);
  --dga-primary:  #074d31;
  --dga-action:   #067647;
  --dga-hover:    #085d3a;
  --dga-light:    #ecfdf3;
  --dga-text:     #303030;
  --dga-subtle:   #384250;
  --dga-bg:       #f9fafb;
  --dga-border:   #e5e7eb;
}

/* Font on every element */
* { font-family: 'IBM Plex Sans Arabic', sans-serif !important; }

/* Global heading color override (replaces #163762 navy) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.HD, .BD {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  color: #074d31 !important;
}

/* Global link color */
a:not(.btn):not([class*=btn]):not([class*=nav]):not([class*=logo]) {
  color: #074d31 !important;
  transition: color 0.15s ease !important;
}
a:not(.btn):hover { color: #085d3a !important; }

/* ── ALL BUTTONS — DGA Button component ─────────────────────── */

/* Every .btn on internal pages → DGA outlined */
.btn,
a.btn,
button.btn,
[class*=btn-] {
  font-family: 'IBM Plex Sans Arabic', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Primary fill button */
.btn-primary,
a.btn-primary,
input[type=submit],
button[type=submit],
.btn.btn-fill {
  background-color: #074d31 !important;
  border-color:     #074d31 !important;
  color:            #ffffff !important;
  padding:          10px 24px !important;
}
.btn-primary:hover,
a.btn-primary:hover,
input[type=submit]:hover { background-color: #085d3a !important; border-color: #085d3a !important; }

/* Outlined / ghost button — used heavily as "المزيد" */
.btn-icon,
a.btn-icon,
.btn-outline,
.btn-block {
  background-color: transparent !important;
  border:           1px solid #074d31 !important;
  color:            #074d31 !important;
  padding:          8px 20px !important;
}
.btn-icon:hover,
a.btn-icon:hover,
.btn-block:hover {
  background-color: #074d31 !important;
  color:            #ffffff !important;
}

/* Block accordion button (FAQ) */
button.btn.btn-block {
  background:   transparent !important;
  border:       none !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  color:        #303030 !important;
  padding:      16px 24px !important;
  text-align:   right !important;
  width:        100% !important;
  font-size:    15px !important;
  font-weight:  600 !important;
  display:      flex !important;
  justify-content: space-between !important;
  align-items:  center !important;
}
button.btn.btn-block:hover { color: #074d31 !important; background: #f7fdf9 !important; }
button.btn.btn-block:not(.collapsed) { color: #074d31 !important; background: #ecfdf3 !important; }
button.btn.btn-block::after {
  content: "▾" !important;
  font-size: 14px !important;
  color: #074d31 !important;
  flex-shrink: 0 !important;
}
button.btn.btn-block.collapsed::after { content: "▴" !important; }

/* ── FAQ PAGE — .faqs-container > #faqsAccordion ─────────── */

.faqs-container,
.faqs-page {
  padding: 40px 80px !important;
  background: #f9fafb !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

#faqsAccordion,
.accordion {
  background: transparent !important;
}

/* Each accordion item = .card */
.faqs-container .card,
.faqs-page .card {
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  overflow:      hidden !important;
  box-shadow:    none !important;
}
.faqs-container .card:hover { border-color: #074d31 !important; }

/* Card header */
.faqs-container .card-header,
.faqs-page .card-header {
  background:  #ffffff !important;
  border:      none !important;
  padding:     0 !important;
}

/* Accordion body */
.faqs-container .card-body,
.faqs-page .card-body {
  font-size:   15px !important;
  line-height: 26px !important;
  color:       #384250 !important;
  padding:     16px 24px !important;
  background:  #ffffff !important;
  border-top:  1px solid #e5e7eb !important;
}
.faqs-container .card-body p,
.faqs-page .card-body p { color: #384250 !important; margin-bottom: 8px !important; }

/* Collapse transition */
.collapse { transition: all 0.25s ease !important; }

@media (max-width: 768px) {
  .faqs-container, .faqs-page { padding: 24px 16px !important; }
}

/* ── PRODUCTS PAGE — .events-cards-container > .event__card ── */

.events-cards-container {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap:                   24px !important;
  padding:               40px 80px !important;
  background:            #f9fafb !important;
  max-width:             1440px !important;
  margin:                0 auto !important;
}

.event__card {
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow:      hidden !important;
  display:       flex !important;
  flex-direction: column !important;
  transition:    box-shadow 0.2s ease, transform 0.2s ease !important;
}
.event__card:hover {
  box-shadow: 0 8px 24px rgba(7,77,49,0.12) !important;
  transform:  translateY(-3px) !important;
}

/* Card image area */
.event__image {
  height:      200px !important;
  overflow:    hidden !important;
  background:  #074d31 !important;
}
.event__image img {
  width:       100% !important;
  height:      100% !important;
  object-fit:  cover !important;
}

/* Card text area */
.event__text {
  padding: 20px !important;
  flex:    1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap:     8px !important;
}

/* Card heading */
.event__heading,
.event__heading * {
  font-size:   16px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  color:       #161616 !important;
  margin:      0 !important;
}

/* Card date/category */
.event__dates,
.event__date,
.date-label {
  font-size:   12px !important;
  color:       #384250 !important;
  display:     flex !important;
  align-items: center !important;
  gap:         4px !important;
}
.date-label { color: #074d31 !important; font-weight: 600 !important; }

/* Card description */
.event__desc,
.event__desc * {
  font-size:   14px !important;
  line-height: 22px !important;
  color:       #384250 !important;
  flex:        1 !important;
}

/* Card actions — "المزيد" button area */
.event__actions {
  padding:         12px 20px 20px !important;
  display:         flex !important;
  justify-content: flex-start !important;
}
.event__actions .btn,
.event__actions .btn-icon {
  font-size:        13px !important;
  font-weight:      600 !important;
  color:            #074d31 !important;
  border:           1px solid #074d31 !important;
  background:       transparent !important;
  padding:          8px 20px !important;
  border-radius:    8px !important;
  text-decoration:  none !important;
}
.event__actions .btn:hover,
.event__actions .btn-icon:hover {
  background: #074d31 !important;
  color:      #ffffff !important;
}

@media (max-width: 1024px) {
  .events-cards-container { grid-template-columns: repeat(2, 1fr) !important; padding: 32px 40px !important; }
}
@media (max-width: 640px) {
  .events-cards-container { grid-template-columns: 1fr !important; padding: 24px 16px !important; }
}

/* ── CONTACT PAGE — .contact-info ───────────────────────────── */

.contact-info {
  display:       flex !important;
  flex-direction: column !important;
  gap:           16px !important;
  padding:       32px !important;
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  max-width:     640px !important;
}

.contact-info__label {
  font-size:   13px !important;
  font-weight: 600 !important;
  color:       #074d31 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 2px !important;
}

.contact-info__text {
  font-size:   16px !important;
  line-height: 24px !important;
  color:       #303030 !important;
}

.contact-map {
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow:      hidden !important;
  margin-top:    24px !important;
}
.contact-map iframe { border: none !important; }

/* ── ABOUT / CONTENT PAGE — .news-page / .news-detail ─────── */

.news-page {
  background: #f9fafb !important;
  padding:    40px 80px !important;
  max-width:  1280px !important;
  margin:     0 auto !important;
}

.news-detail {
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding:       32px !important;
}

.general-page__photo {
  width:         100% !important;
  border-radius: 8px !important;
  overflow:      hidden !important;
  margin-bottom: 24px !important;
}
.general-page__photo img { width: 100% !important; object-fit: cover !important; border-radius: 8px !important; }

.news-detail__header {
  padding-bottom: 16px !important;
  border-bottom:  2px solid #074d31 !important;
  margin-bottom:  24px !important;
}
.news-detail__header h1,
.news-detail__header h2 {
  font-size:   24px !important;
  line-height: 36px !important;
  font-weight: 700 !important;
  color:       #074d31 !important;
}

.news__date {
  font-size:   13px !important;
  color:       #384250 !important;
  display:     flex !important;
  align-items: center !important;
  gap:         6px !important;
  margin-top:  8px !important;
}
.news__date svg { fill: #074d31 !important; width: 14px !important; height: 14px !important; }

.news-detail__text,
.news-detail__text * {
  font-size:   16px !important;
  line-height: 28px !important;
  color:       #303030 !important;
}
.news-detail__text h2,
.news-detail__text h3 { color: #074d31 !important; margin: 24px 0 12px !important; }
.news-detail__text a   { color: #074d31 !important; text-decoration: underline !important; }
.news-detail__text ul,
.news-detail__text ol  { padding-right: 24px !important; }

@media (max-width: 768px) {
  .news-page { padding: 24px 16px !important; }
  .news-detail { padding: 20px !important; }
}

/* ── MEDIA CENTER — .files > .file-card ─────────────────────── */

.files {
  display:               grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap:                   16px !important;
  padding:               40px 80px !important;
  background:            #f9fafb !important;
}

a.file-card,
.file-card {
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding:       24px 16px !important;
  display:       flex !important;
  flex-direction: column !important;
  align-items:   center !important;
  gap:           12px !important;
  text-decoration: none !important;
  color:         #303030 !important;
  transition:    all 0.2s ease !important;
}
a.file-card:hover {
  border-color: #074d31 !important;
  box-shadow:   0 4px 12px rgba(7,77,49,0.10) !important;
  color:        #074d31 !important;
}

.file-card__icon {
  width:           56px !important;
  height:          56px !important;
  background:      #ecfdf3 !important;
  border-radius:   12px !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
}
.file-card__icon svg,
.file-card__icon img { fill: #074d31 !important; color: #074d31 !important; width: 28px !important; height: 28px !important; }

.file-card .h6,
.file-card h6 {
  font-size:   13px !important;
  font-weight: 600 !important;
  color:       #303030 !important;
  text-align:  center !important;
  margin:      0 !important;
}

@media (max-width: 768px) {
  .files { grid-template-columns: repeat(2, 1fr) !important; padding: 24px 16px !important; }
}

/* ── NEWS / EVENTS LISTING PAGES ───────────────────────────── */

/* Shared news list card (used across media center sub-pages) */
.news-list,
[class*=news-list] {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap:                   24px !important;
  padding:               40px 80px !important;
}

.news-list-item,
[class*=news-item] {
  background:    #ffffff !important;
  border:        1px solid #e5e7eb !important;
  border-radius: 8px !important;
  overflow:      hidden !important;
  transition:    box-shadow 0.2s ease !important;
}
.news-list-item:hover { box-shadow: 0 6px 20px rgba(7,77,49,0.10) !important; }
.news-list-item img   { width: 100% !important; height: 180px !important; object-fit: cover !important; }

/* ── PRODUCT DETAIL PAGE ────────────────────────────────────── */

/* Product detail hero band */
.product-detail,
.product-page,
[class*=product-detail] {
  background: #f9fafb !important;
  padding:    40px 80px !important;
}

.product-hero {
  background:    #074d31 !important;
  border-radius: 8px !important;
  padding:       48px !important;
  color:         #ffffff !important;
  margin-bottom: 32px !important;
}
.product-hero h1,
.product-hero h2 { color: #ffffff !important; font-size: 28px !important; }
.product-hero p   { color: rgba(255,255,255,0.85) !important; font-size: 16px !important; }

/* ── GLOBAL: kill all remaining legacy colors ──────────────── */

/* Any element still using the old teal/navy/aqua hex values */
[style*="#014051"], [style*="#163762"], [style*="#32AEB8"] { color: #074d31 !important; }

/* Override SharePoint's inline style.color = rgb(22,55,98) etc */
/* (handled in dga-injections.js fixInlineColors — CSS cannot beat inline !important) */

/* Ensure page-level background */
#s4-workspace,
#s4-bodyContainer,
body#s4-bodyContainer { background-color: #f9fafb !important; }


/* =============================================================

/* =============================================================
   HOMEPAGE FIXES — 6 targeted corrections
   forge + raw — 2026-05-13
   ============================================================= */

/* ── FIX 1 & 2: Numbers + Steps — items 25% wider, title spacing +10% ──── */

/* Numbers: was max-width:20% (5 cols), now 25% (4 cols, cleaner layout)    */
.numbers .row > .col-md-6.col-lg-3 {
  max-width:  25% !important;
  flex:       0 0 25% !important;
  padding-right: 18px !important;
  padding-left:  18px !important;
}

/* Numbers section-title margin-bottom +10%                                  */
.numbers .section-title {
  margin-bottom: calc(var(--space-md, 16px) * 1.1) !important;
}

/* Steps: col-xl-3 = 25%. Increase inner width 25% via padding scale        */
.steps__step.col-xl-3.col-lg-3 {
  max-width:  31.25% !important;
  flex:       0 0 31.25% !important;
  padding-right: 18px !important;
  padding-left:  18px !important;
}

/* Steps section-title margin-bottom +10%                                    */
.steps .section-title {
  margin-bottom: calc(var(--space-md, 16px) * 1.1) !important;
}

/* FIX 2b: Steps subtitle aligned START (right in RTL) with title above     */
.steps .section-title,
.steps .lead {
  text-align:  right !important;
  width:       100% !important;
  display:     block !important;
  padding-right: 0 !important;
  padding-left:  0 !important;
}
/* Remove bootstrap text-center from steps title only                        */
.steps .section-title.text-center,
.steps .lead.text-center {
  text-align: right !important;
}

/* ── FIX 3: Success Stories indicator — small circles, no overlap ────────── */

/* All swiper bullets → small 8px circles                                    */
.swiper-pagination-bullet {
  width:         8px !important;
  height:        8px !important;
  border-radius: 50% !important;
  opacity:       0.4 !important;
  background:    #074d31 !important;
  margin:        0 4px !important;
  display:       inline-block !important;
}
.swiper-pagination-bullet-active {
  opacity:       1 !important;
  background:    #074d31 !important;
  width:         24px !important;
  border-radius: 4px !important;
}

/* Stories swiper-pagination — pull it BELOW the text, not on top           */
.stories .swiper-pagination,
[class*=stories] .swiper-pagination,
[class*=success] .swiper-pagination {
  position:  relative !important;
  bottom:    auto !important;
  top:       auto !important;
  margin-top: 24px !important;
  display:   flex !important;
  justify-content: center !important;
}

/* Hero slider pagination — keep in place but ensure no overlap with text   */
.mainSlider .swiper-pagination {
  bottom:   24px !important;
  top:      auto !important;
  z-index:  5 !important;
}

/* ── FIX 4: News "more news" button — opacity was 0 (AOS not triggered) ─── */

.news .btn-border,
.news a.btn-border,
.news .btn.btn-border {
  opacity:          1 !important;
  visibility:       visible !important;
  color:            #ffffff !important;
  border-color:     #ffffff !important;
  background-color: transparent !important;
  padding:          10px 28px !important;
  border-radius:    8px !important;
  font-family:      'IBM Plex Sans Arabic', sans-serif !important;
  font-weight:      600 !important;
  font-size:        15px !important;
  transition:       all 0.2s ease !important;
  display:          inline-block !important;
}
.news .btn-border:hover {
  background-color: #ffffff !important;
  color:            #074d31 !important;
}

/* ── FIX 5: Hero H1 text — restore white (our global h1 rule overrode it) ─ */

.mainSlider h1,
.mainSlider .swiper-slide h1,
.mainSlider .swiper-wrapper h1,
.mainSlider h2,
.mainSlider .swiper-slide h2 {
  color: #ffffff !important;
}

/* Hero subtitle / lead text — keep white                                    */
.mainSlider p,
.mainSlider .swiper-slide p,
.mainSlider .lead {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* ── FIX 6: About section button — hover text white (was blue) ──────────── */

.dga-about-section__btn {
  color:            #074d31 !important;
  border:           2px solid #074d31 !important;
  background-color: transparent !important;
  padding:          10px 28px !important;
  border-radius:    8px !important;
  font-weight:      600 !important;
  font-family:      'IBM Plex Sans Arabic', sans-serif !important;
  transition:       all 0.2s ease !important;
  display:          inline-block !important;
  text-decoration:  none !important;
}
.dga-about-section__btn:hover {
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border-color:     #074d31 !important;
}


/* =============================================================
   HOMEPAGE FIXES v2 — 8 corrections
   forge + raw — 2026-05-13
   ============================================================= */

/* ── FIX 1: About "know more" button hover — pure white text ─────────────── */
.dga-about-section__btn:hover {
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border-color:     #074d31 !important;
}

/* ── FIX 2 & 3: Numbers + Steps — 150px horizontal padding ─────────────── */

.numbers .container,
.numbers > .container {
  padding-left:  150px !important;
  padding-right: 150px !important;
  max-width:     100% !important;
}

.steps .container,
.steps > .container {
  padding-left:  150px !important;
  padding-right: 150px !important;
  max-width:     100% !important;
}

/* ── FIX 4: Numbers items — one line, no wrap, equal spacing ───────────── */

.numbers .row {
  flex-wrap:       nowrap !important;
  gap:             32px !important;
  justify-content: center !important;
  align-items:     center !important;
}

.numbers .row > [class*=col-] {
  flex:      1 1 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding:   0 !important;
  text-align: center !important;
}

/* ── FIX 5: Steps items — one line, no wrap, more space ─────────────────── */

.steps .steprw {
  flex-wrap:       nowrap !important;
  gap:             40px !important;
  justify-content: center !important;
  align-items:     flex-start !important;
}

.steps .steps__step {
  flex:      1 1 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding:   0 !important;
}

/* ── FIX 6: Stories indicator — .testimonials-pagination (64px tall!) ────── */

/* The real stories pagination has height 64px — shrink to proper circles    */
.testimonials-pagination .swiper-pagination-bullet,
.swiper-pagination.testimonials-pagination .swiper-pagination-bullet {
  width:         10px !important;
  height:        10px !important;
  border-radius: 50% !important;
  opacity:       0.35 !important;
  background:    #074d31 !important;
  margin:        4px 0 !important;
  display:       block !important;
  flex-shrink:   0 !important;
}

.testimonials-pagination .swiper-pagination-bullet-active,
.swiper-pagination.testimonials-pagination .swiper-pagination-bullet-active {
  width:         10px !important;
  height:        28px !important;
  border-radius: 999px !important;
  opacity:       1 !important;
  background:    #074d31 !important;
}

/* Reposition testimonials-pagination so it sits beside the slide, not over text */
.swiper-pagination.testimonials-pagination {
  position: absolute !important;
  right:    16px !important;
  left:     auto !important;
  top:      50% !important;
  bottom:   auto !important;
  transform: translateY(-50%) !important;
  width:    auto !important;
  display:  flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  z-index: 10 !important;
}

/* ── FIX 7: Why Kafalah — secondary .btn-border: outlined, not filled ────── */

/* Primary button stays green                                                 */
.why .btn-main,
.why a.btn-main {
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border:           2px solid #074d31 !important;
}
.why .btn-main:hover { background-color: #085d3a !important; }

/* Secondary button — white bg + green text, hover flips                     */
.why .btn-border,
.why a.btn-border {
  background-color: #ffffff !important;
  color:            #074d31 !important;
  border:           2px solid #074d31 !important;
  font-weight:      600 !important;
  font-family:      'IBM Plex Sans Arabic', sans-serif !important;
  border-radius:    8px !important;
  padding:          10px 24px !important;
  text-decoration:  none !important;
  transition:       all 0.2s ease !important;
  display:          inline-block !important;
}
.why .btn-border:hover,
.why a.btn-border:hover {
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border-color:     #074d31 !important;
}

/* ── FIX 8: News "المزيد من الأخبار" — green button + white text ─────────── */

/* Force visible — AOS never triggered opacity for this element              */
.news .btn.btn-border,
.news a.btn.btn-border,
.news .btn-border.aos-init,
.news .btn-border {
  opacity:          1 !important;
  visibility:       visible !important;
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border:           2px solid #074d31 !important;
  font-weight:      600 !important;
  font-family:      'IBM Plex Sans Arabic', sans-serif !important;
  border-radius:    8px !important;
  padding:          10px 28px !important;
  text-decoration:  none !important;
  transition:       all 0.2s ease !important;
  display:          inline-block !important;
}
.news .btn-border:hover,
.news .btn.btn-border:hover {
  background-color: #085d3a !important;
  color:            #ffffff !important;
  border-color:     #085d3a !important;
}


/* =============================================================
   HOMEPAGE FIXES v3 — CSS portion
   forge + raw — 2026-05-13
   ============================================================= */

/* ── 1. Stamp dropdown font +10% (was 12px → 13.2px) ─────────── */
.dga-stamp-dropdown p,
.dga-stamp-dropdown span,
.dga-stamp-dropdown strong,
.dga-stamp-card__body p,
.dga-stamp-card__body strong,
.dga-stamp-card__registration-line,
.dga-stamp-card__registration-line span {
  font-size: 13px !important;
}
.dga-stamp-card__body strong {
  font-size: 14px !important;
}

/* ── 2. Header dropdown chevron — match stamp bar exactly ─────── */
.dga-dropdown-chevron,
.dga-gov-chevron {
  width:          14px !important;
  height:         14px !important;
  display:        inline-flex !important;
  align-items:    center !important;
  justify-content: center !important;
  flex-shrink:    0 !important;
  vertical-align: middle !important;
  margin-right:   4px !important;
  transition:     transform 0.2s ease !important;
}
.dga-nav-item--open .dga-dropdown-chevron,
.dga-nav-item.open .dga-dropdown-chevron {
  transform: rotate(180deg) !important;
}

/* ── 3. About button hover — belt + braces on top of JS fix ────── */
.dga-about-section__btn:hover,
.dga-about-section__btn:focus {
  background-color: #074d31 !important;
  color:            #ffffff !important;
  border-color:     #074d31 !important;
}

/* ── 4. Numbers section — items start near title (right in RTL) ── */
.numbers .container,
.numbers > .container {
  padding-left:  80px !important;
  padding-right: 80px !important;
}

.numbers .row {
  flex-wrap:       nowrap !important;
  gap:             31px !important;
  margin-left:     0 !important;
  margin-right:    0 !important;
  justify-content: flex-start !important;
}

.numbers .row > [class*=col-] {
  flex:      1 1 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding:   0 !important;
}

/* ── 5. Steps section — same treatment ─────────────────────────── */
.steps .container,
.steps > .container {
  padding-left:  80px !important;
  padding-right: 80px !important;
}

.steps .steprw {
  flex-wrap:       nowrap !important;
  gap:             39px !important;
  margin-left:     0 !important;
  margin-right:    0 !important;
  justify-content: flex-start !important;
}

.steps .steps__step {
  flex:      1 1 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  padding:   0 !important;
}

/* ── 6. Stories pagination — enforce horizontal small dots ──────── */
.testimonials-pagination {
  position:        relative !important;
  top:             0 !important;
  bottom:          auto !important;
  height:          auto !important;
  width:           100% !important;
  display:         flex !important;
  flex-direction:  row !important;
  justify-content: center !important;
  align-items:     center !important;
  gap:             6px !important;
  margin-top:      20px !important;
  padding:         0 !important;
}

.testimonials-pagination .swiper-pagination-bullet {
  width:         8px !important;
  height:        8px !important;
  border-radius: 50% !important;
  opacity:       0.35 !important;
  background:    #074d31 !important;
  display:       inline-block !important;
  flex-shrink:   0 !important;
  min-height:    8px !important;
  max-height:    8px !important;
}

.testimonials-pagination .swiper-pagination-bullet-active {
  width:         24px !important;
  height:        8px !important;
  min-height:    8px !important;
  max-height:    8px !important;
  border-radius: 4px !important;
  opacity:       1 !important;
  background:    #074d31 !important;
}


/* =============================================================
   FIX BATCH v4 — forge + raw — 2026-05-13
   1. Footer — all text white
   2. Numbers / Steps — center items under title
   3. Stories bullets (belt+braces with !important chains)
   ============================================================= */

/* ── 1. FOOTER — force ALL text white ───────────────────────────────────── */

footer,
.footer {
  color: #ffffff !important;
}

/* Links — were rgb(7,77,49) on dark green bg = invisible */
.footer a,
.footer__link,
a.footer__link,
.footer__social-link,
a.footer__social-link,
footer a,
footer li a {
  color: #ffffff !important;
}
.footer a:hover,
.footer__link:hover,
.footer__social-link:hover,
footer a:hover {
  color: rgba(255, 255, 255, 0.75) !important;
  text-decoration: underline !important;
}

/* All text nodes inside footer */
footer p, footer span, footer small,
footer h1, footer h2, footer h3, footer h4, footer h5,
footer li, footer dt, footer dd,
.footer p, .footer span, .footer small,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5,
.footer li, .footer dt, .footer dd,
.footer__title, .footer__heading, .footer__label,
.footer__copyright, .footer__text {
  color: #ffffff !important;
}

/* Social icons SVGs */
.footer__social-link svg,
.footer__social-link svg path,
.footer__social-link svg use {
  fill:   #ffffff !important;
  stroke: #ffffff !important;
  color:  #ffffff !important;
}

/* Back-to-top button */
a.top svg, a.top svg use {
  color: #ffffff !important;
  fill:  #ffffff !important;
}

/* Footer columns separator lines / borders */
.footer__col + .footer__col,
.footer [class*=col] + [class*=col] {
  border-color: rgba(255,255,255,0.2) !important;
}

/* Bottom bar — copyright, DGA stamp row */
.footer__bottom, .footer__bar,
[class*=footer-bottom], [class*=footer-bar] {
  border-top: 1px solid rgba(255,255,255,0.2) !important;
  color: rgba(255,255,255,0.8) !important;
}

/* ── 2. Numbers — center items under centered title ─────────────────────── */

.numbers .row {
  justify-content: center !important;
  gap:             28px !important;
  flex-wrap:       nowrap !important;
  margin-left:     0 !important;
  margin-right:    0 !important;
}

/* ── 3. Steps — center items under centered title ───────────────────────── */

.steps .steprw {
  justify-content: center !important;
  gap:             36px !important;
  flex-wrap:       nowrap !important;
  margin-left:     0 !important;
  margin-right:    0 !important;
}

/* ── 4. Stories bullets — max specificity CSS attempt ───────────────────── */

.StoriesTxt .swiper-pagination.testimonials-pagination {
  position:       relative !important;
  top:            0 !important;
  bottom:         auto !important;
  height:         auto !important;
  min-height:     0 !important;
  max-height:     none !important;
  width:          100% !important;
  display:        flex !important;
  flex-direction: row !important;
  flex-wrap:      wrap !important;
  justify-content: center !important;
  align-items:    center !important;
  gap:            6px !important;
  margin-top:     20px !important;
  padding:        0 !important;
}

.StoriesTxt .swiper-pagination.testimonials-pagination .swiper-pagination-bullet {
  width:       8px !important;
  height:      8px !important;
  min-height:  8px !important;
  max-height:  8px !important;
  min-width:   8px !important;
  border-radius: 50% !important;
  background:  #074d31 !important;
  opacity:     0.4 !important;
  display:     inline-block !important;
  flex-shrink: 0 !important;
}

.StoriesTxt .swiper-pagination.testimonials-pagination .swiper-pagination-bullet-active {
  width:       24px !important;
  height:      8px !important;
  min-height:  8px !important;
  max-height:  8px !important;
  border-radius: 4px !important;
  opacity:     1 !important;
}

/* 76. Current final: closer Numbers/Steps, stories indicator, SME-like footer */
@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    display: grid !important;
    grid-template-columns: minmax(320px, 34%) minmax(0, 1fr) !important;
    column-gap: 4% !important;
    align-items: center !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    align-self: center !important;
    text-align: right !important;
  }

  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    text-align: left !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    grid-column: 2 !important;
    align-self: center !important;
  }

  .numbers .row,
  .steps .steprw {
    justify-content: flex-start !important;
    gap: 22px !important;
  }
}

.StoriesTxt .swiper-pagination.testimonials-pagination,
.stories .testimonials-pagination,
.testimonials .testimonials-pagination {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: 12px !important;
  min-height: 12px !important;
  max-height: 12px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

[dir="rtl"] .StoriesTxt .swiper-pagination.testimonials-pagination,
html[lang^="ar"] .StoriesTxt .swiper-pagination.testimonials-pagination {
  justify-content: flex-end !important;
}

.StoriesTxt .swiper-pagination.testimonials-pagination .swiper-pagination-bullet,
.stories .testimonials-pagination .swiper-pagination-bullet,
.testimonials .testimonials-pagination .swiper-pagination-bullet {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 8px !important;
  min-width: 8px !important;
  max-width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  border-radius: 50% !important;
  background: #9DA4AE !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.StoriesTxt .swiper-pagination.testimonials-pagination .swiper-pagination-bullet-active,
.stories .testimonials-pagination .swiper-pagination-bullet-active,
.testimonials .testimonials-pagination .swiper-pagination-bullet-active {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  border-radius: 999px !important;
  background: #067647 !important;
}

footer.footer,
.footer {
  background: #074D31 !important;
  color: #ffffff !important;
}

.footer *,
footer.footer *,
.footer a,
.footer a:visited,
.footer p,
.footer span,
.footer small,
.footer li,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6,
.footer .footer__links a,
.footer .copyrights,
.footer .copyrights * {
  color: #ffffff !important;
}

.footer a:hover {
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: underline !important;
}

.footer .container {
  max-width: 1280px !important;
}

.footer__top-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  padding-block: 32px 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.footer__bottom-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(220px, 1fr)) minmax(180px, auto) !important;
  gap: 40px !important;
  align-items: start !important;
  padding-block: 28px !important;
}

.footer__block {
  margin: 0 !important;
}

.footer__links {
  display: grid !important;
  gap: 10px !important;
}

.footer__social {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}

.copyrights {
  background: #074D31 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

@media (max-width: 991px) {
  .footer__top-row,
  .footer__bottom-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .footer__social {
    justify-content: flex-start !important;
  }
}

/* 77. Numbers/Steps title column shrink and item pullback */
@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(256px, 27%) minmax(0, 1fr) !important;
    column-gap: 3% !important;
    overflow: hidden !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    max-width: 80% !important;
    justify-self: end !important;
  }

  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    justify-self: start !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    justify-self: start !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .numbers .row,
  .steps .steprw {
    justify-content: flex-start !important;
    gap: 16px !important;
  }

  [dir="ltr"] #statistics,
  html[lang^="en"] #statistics,
  [dir="ltr"] .steps__container,
  html[lang^="en"] .steps__container,
  [dir="ltr"] .steps .steprw,
  html[lang^="en"] .steps .steprw {
    justify-self: start !important;
  }
}

/* 78. Center-wrapped Numbers/Steps layout */
@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    display: block !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-inline: 40px !important;
    overflow: visible !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    display: block !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    margin-bottom: 32px !important;
    text-align: center !important;
    justify-self: auto !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    width: 100% !important;
    max-width: 1040px !important;
    margin-inline: auto !important;
    justify-self: auto !important;
    overflow: visible !important;
  }

  .numbers .row,
  .steps .steprw {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 24px !important;
    margin-inline: auto !important;
  }

  .numbers .row > [class*="col-"],
  .steps .steprw > [class*="col-"],
  .steps .steps__step {
    flex: 0 1 220px !important;
    max-width: 240px !important;
    min-width: 200px !important;
  }

  .steps .section-title {
    align-items: center !important;
  }
}

/* 79. Numbers/Steps centered one-line title + content layout */
@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    display: grid !important;
    grid-template-columns: minmax(220px, 26%) minmax(0, 1fr) !important;
    column-gap: 32px !important;
    align-items: center !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-inline: 40px !important;
    overflow: visible !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: stretch !important;
    text-align: right !important;
  }

  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    text-align: left !important;
  }

  #statistics,
  .numbers .row:not(.section-title),
  .numbers__list,
  .steps__container,
  .steps .steprw,
  .steps .row:not(.section-title) {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    align-self: center !important;
    justify-self: stretch !important;
  }

  .numbers .row,
  .steps .steprw {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 20px !important;
    margin: 0 !important;
  }

  .numbers .row > [class*="col-"],
  .steps .steprw > [class*="col-"],
  .steps .steps__step {
    flex: 0 1 190px !important;
    max-width: 210px !important;
    min-width: 170px !important;
  }

  .steps .section-title {
    align-items: flex-end !important;
  }

  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    align-items: flex-start !important;
  }
}

/* 80. Keep Numbers/Steps content items on one line */
@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(200px, 22%) minmax(0, 1fr) !important;
    column-gap: 24px !important;
  }

  .numbers .row,
  .steps .steprw {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .numbers .row > [class*="col-"],
  .steps .steprw > [class*="col-"],
  .steps .steps__step {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .numbers__block,
  .steps__icon {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* 81. Slight title-only nudge toward the right side */
@media (min-width: 992px) {
  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    transform: translateX(45px) !important;
  }

  [dir="ltr"] .numbers .section-title,
  html[lang^="en"] .numbers .section-title,
  [dir="ltr"] .steps .section-title,
  html[lang^="en"] .steps .section-title {
    transform: translateX(-45px) !important;
  }

  .numbers .section-title__heading,
  .numbers .section-title h1,
  .numbers .section-title h2,
  .numbers .section-title h3,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title__heading,
  .steps .section-title h1,
  .steps .section-title h2,
  .steps .section-title h3,
  .steps > .container > h2,
  .steps > .container > h3 {
    font-size: 95% !important;
  }

  .steps .section-title .lead,
  .steps .section-title p,
  .steps .section-title__subtitle {
    font-size: 50% !important;
  }
}

/* 82. About page internal content restore - does not touch site header/footer */
body.dga-about-page .page-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 0 !important;
  margin: 24px 0 56px !important;
  padding: 22px 28px !important;
  background: #F3F4F6 !important;
  border: 0 !important;
}

body.dga-about-page .page-header__crumb,
body.dga-about-page .page-header__actions {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

body.dga-about-page .page-header__crumb {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.dga-about-page .page-header__actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.dga-about-page .page-header__actions .actions-item {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
}

body.dga-about-page .page-header__actions a,
body.dga-about-page .page-header__actions img {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
}

body.dga-about-page .page-main {
  display: flex !important;
  align-items: flex-start !important;
  gap: 48px !important;
  margin: 0 0 80px !important;
  padding: 0 !important;
}

body.dga-about-page .page-main__sidebar,
body.dga-about-page aside.page-main__sidebar,
body.dga-about-page #ctl00_PlaceHolderLeftNavBar,
body.dga-about-page #zz1_V4QuickLaunchMenu,
body.dga-about-page .ms-core-sideNavBox,
body.dga-about-page .ms-core-listMenu-verticalBox {
  display: block !important;
  visibility: visible !important;
}

body.dga-about-page .page-main__sidebar {
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: 360px !important;
  min-width: 300px !important;
  padding: 0 !important;
  border: 0 !important;
  background: #F3F4F6 !important;
}

body.dga-about-page .page-main__content {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.dga-about-page .page-main__sidebar ul,
body.dga-about-page .page-main__sidebar .ms-core-listMenu-root {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.dga-about-page .page-main__sidebar li,
body.dga-about-page .page-main__sidebar .ms-core-listMenu-item {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.dga-about-page .page-main__sidebar a,
body.dga-about-page .page-main__sidebar .ms-core-listMenu-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 74px !important;
  padding: 0 28px !important;
  border-bottom: 1px solid #E5E7EB !important;
  color: #1F2A37 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: transparent !important;
}

body.dga-about-page .page-main__sidebar .selected > a,
body.dga-about-page .page-main__sidebar .ms-core-listMenu-selected,
body.dga-about-page .page-main__sidebar .ms-core-listMenu-selected a {
  background: #E5E7EB !important;
  color: #1F2A37 !important;
}

body.dga-about-page .page-main__sidebar a:hover {
  color: #067647 !important;
  background: #E9F7EF !important;
}

body.dga-about-page .page-main__content img,
body.dga-about-page .page-main__content video {
  max-width: 100% !important;
  height: auto !important;
}

/* -------------------------------------------------------------
   83. DGA FOOTER STRUCTURE
       4-column layout built by buildFooterContent()
   ------------------------------------------------------------- */

.dga-footer-body {
  padding: 48px 0 32px !important;
}

.dga-footer-cols {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 32px !important;
  align-items: flex-start !important;
}

.dga-footer-col {
  flex: 1 1 150px !important;
  min-width: 0 !important;
}

.dga-footer-col--brand {
  flex: 0 0 130px !important;
  width: 130px !important;
}

.dga-footer-col--social {
  flex: 0 0 180px !important;
  min-width: 160px !important;
}

.footer__logo img {
  max-width: 120px !important;
  height: auto !important;
  display: block !important;
}

.dga-footer-heading {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #ffffff !important;
  margin: 0 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  letter-spacing: 0 !important;
}

.dga-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dga-footer-links li {
  margin-bottom: 8px !important;
  padding: 0 !important;
}

.dga-footer-links a {
  color: rgba(255,255,255,0.8) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-sm) !important;
  text-decoration: none !important;
  display: block !important;
  transition: color 0.15s !important;
  line-height: 1.5 !important;
}

.dga-footer-links a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.dga-footer-social {
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
}

.dga-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background 0.15s, border-color 0.15s !important;
  flex-shrink: 0 !important;
}

.dga-social-icon:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.6) !important;
  color: #ffffff !important;
}

.dga-social-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

.dga-footer-access {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.dga-access-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background 0.15s !important;
  font-family: var(--font-family-base) !important;
}

.dga-access-btn:hover {
  background: rgba(255,255,255,0.15) !important;
}

.dga-access-btn svg {
  width: 20px !important;
  height: 20px !important;
  overflow: visible !important;
}

.dga-footer-stamp {
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  padding-top: 24px !important;
  margin-top: 24px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

.dga-footer-stamp img {
  max-height: 80px !important;
  width: auto !important;
  display: block !important;
}

.dga-footer-bottom {
  background: var(--color-primary-darker, #053D27) !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding: 14px 0 !important;
}

.dga-footer-bottom__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.dga-footer-bottom__links {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  order: 1 !important;
}

.dga-footer-bottom__links a {
  color: rgba(255,255,255,0.7) !important;
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

.dga-footer-bottom__links a:hover {
  color: #ffffff !important;
}

.dga-footer-bottom__links span {
  color: rgba(255,255,255,0.4) !important;
  font-size: 12px !important;
}

.dga-footer-bottom__copy {
  color: rgba(255,255,255,0.7) !important;
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  margin: 0 !important;
  text-align: center !important;
  order: 2 !important;
  flex: 1 !important;
}

.dga-footer-bottom__logo {
  order: 3 !important;
}

.dga-footer-bottom__logo img {
  max-height: 28px !important;
  width: auto !important;
  opacity: 0.75 !important;
  display: block !important;
}

/* Suppress old master-page footer elements now replaced */
.footer .footer__block,
.footer .footer__top-row,
.footer #footerLinks1,
.footer #footerLinks2,
.footer .footer__links,
.footer .footer__social:not(.dga-footer-social),
.footer .copyrights,
.footer .re-edited-box-icon {
  display: none !important;
}

@media (max-width: 991px) {
  .dga-footer-cols {
    gap: 20px !important;
  }
  .dga-footer-col {
    flex: 1 1 calc(50% - 20px) !important;
  }
  .dga-footer-col--brand {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 576px) {
  .dga-footer-col {
    flex: 0 0 100% !important;
  }
  .dga-footer-col--social {
    flex: 0 0 100% !important;
  }
  .dga-footer-bottom__inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
  .dga-footer-bottom__copy {
    order: 1 !important;
  }
  .dga-footer-bottom__links {
    order: 2 !important;
    justify-content: center !important;
  }
  .dga-footer-bottom__logo {
    order: 3 !important;
  }
}

/* -------------------------------------------------------------
   84. ABOUT LANDING PAGE — DGA card grid
       Card grid injected by transformAboutLandingPage()
   ------------------------------------------------------------- */

/* Landing page: hide sidebar, full-width content */
body.dga-about-landing .page-main__sidebar,
body.dga-about-landing aside.page-main__sidebar,
body.dga-about-landing #ctl00_PlaceHolderLeftNavBar,
body.dga-about-landing #zz1_V4QuickLaunchMenu,
body.dga-about-landing .ms-core-sideNavBox,
body.dga-about-landing .ms-core-listMenu-verticalBox {
  display: none !important;
}

body.dga-about-landing .page-main__content {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

.dga-about-cards-wrapper {
  padding: 8px 0 40px !important;
}

.dga-about-page-desc {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-text-secondary, #6B7280) !important;
  margin-bottom: 28px !important;
  line-height: 1.7 !important;
  direction: rtl !important;
}

.dga-about-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

.dga-about-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 20px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: var(--radius-lg, 8px) !important;
  background: #ffffff !important;
  text-decoration: none !important;
  color: var(--color-text-primary, #1F2A37) !important;
  transition: box-shadow 0.2s, border-color 0.2s !important;
  min-height: 130px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

.dga-about-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  border-color: var(--color-brand-action, #067647) !important;
  color: var(--color-text-primary, #1F2A37) !important;
  text-decoration: none !important;
}

.dga-about-card__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-bottom: 10px !important;
}

.dga-about-card__icon svg {
  width: 26px !important;
  height: 26px !important;
  fill: var(--color-brand-action, #067647) !important;
}

.dga-about-card__title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base) !important;
  font-weight: var(--font-weight-semibold, 600) !important;
  color: var(--color-text-primary, #1F2A37) !important;
  flex: 1 1 auto !important;
  text-align: end !important;
  line-height: 1.5 !important;
}

.dga-about-card__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 6px !important;
  margin-top: 14px !important;
  align-self: flex-start !important;
  flex-shrink: 0 !important;
  transition: background 0.15s, border-color 0.15s !important;
}

.dga-about-card:hover .dga-about-card__arrow {
  background: var(--color-brand-action, #067647) !important;
  border-color: var(--color-brand-action, #067647) !important;
}

.dga-about-card__arrow svg {
  width: 18px !important;
  height: 18px !important;
  fill: #9CA3AF !important;
  transition: fill 0.15s !important;
}

.dga-about-card:hover .dga-about-card__arrow svg {
  fill: #ffffff !important;
}

@media (max-width: 991px) {
  .dga-about-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 576px) {
  .dga-about-cards {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 991px) {
  body.dga-about-page .page-header {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin-bottom: 32px !important;
  }

  body.dga-about-page .page-main {
    display: block !important;
  }

  body.dga-about-page .page-main__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 28px !important;
  }
}

/* =============================================================
   71. SEARCH RESULTS PAGE — DGA styling
   Applied via .dga-search-page__* classes injected by
   enhanceSearchPage() in dga-injections.js.
   ============================================================= */

/* Search input on the results page */
.dga-search-page__input,
.ms-srch-sb-border input[type="text"],
.ms-srch-sb input[type="text"],
input[id*="TextBox"][id*="srch"],
input[id*="search" i][type="text"] {
  width: 100% !important;
  height: 52px !important;
  padding: 0 20px !important;
  border: 2px solid #E5E7EB !important;
  border-radius: 9999px !important;
  font-family: var(--font-family-base) !important;
  font-size: 16px !important;
  color: #1F2A37 !important;
  background: #ffffff !important;
  outline: none !important;
  direction: rtl !important;
  transition: border-color 0.2s !important;
}

.dga-search-page__input:focus,
.ms-srch-sb-border input[type="text"]:focus {
  border-color: #067647 !important;
  box-shadow: 0 0 0 3px rgba(0, 105, 35, 0.12) !important;
}

/* Search button on results page */
.ms-srch-sb-border input[type="button"],
.ms-srch-sb button,
input[id*="GoButton"],
button[id*="Go"] {
  height: 52px !important;
  padding: 0 24px !important;
  background-color: #067647 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  font-family: var(--font-family-base) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}

.ms-srch-sb-border input[type="button"]:hover,
.ms-srch-sb button:hover {
  background-color: #074D31 !important;
}

/* Results container */
.dga-search-results,
.ms-srch-result,
.ms-srch-resultsContainer {
  margin-top: 24px !important;
}

/* Individual result item */
.ms-srch-item,
.ms-srch-result-mc {
  padding: 20px 0 !important;
  border-bottom: 1px solid #E5E7EB !important;
}

.ms-srch-item:last-child {
  border-bottom: none !important;
}

/* Result title link */
.ms-srch-item-title a,
.ms-srch-result .ms-srch-item-title a,
.ms-srch-ellipsis a {
  font-family: var(--font-family-base) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #067647 !important;
  text-decoration: none !important;
}

.ms-srch-item-title a:hover {
  color: #074D31 !important;
  text-decoration: underline !important;
}

/* Result URL/path */
.ms-srch-item-path,
.ms-srch-item-path a {
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  color: #6C737F !important;
  direction: ltr !important;
}

/* Result snippet/excerpt */
.ms-srch-item-description,
.ms-srch-item-description p {
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  color: #384250 !important;
  line-height: 1.6 !important;
  margin: 6px 0 0 !important;
}

/* Highlighted search term in results */
.ms-srch-item b,
.ms-srch-item strong {
  color: #067647 !important;
  font-weight: 600 !important;
  background: #ECFDF3 !important;
  padding: 0 2px !important;
  border-radius: 2px !important;
}

/* No results message */
.dga-search-noresults,
.ms-srch-noResults {
  padding: 48px 24px !important;
  text-align: center !important;
  background: #F9FAFB !important;
  border-radius: 12px !important;
  margin-top: 24px !important;
}

.dga-search-noresults h2,
.ms-srch-noResults h2,
.dga-search-noresults .ms-srch-noResults-header {
  font-family: var(--font-family-base) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #1F2A37 !important;
  margin-bottom: 12px !important;
}

.dga-search-noresults ul,
.ms-srch-noResults ul {
  list-style: disc !important;
  padding-right: 24px !important;
  text-align: right !important;
  color: #384250 !important;
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  line-height: 2 !important;
}

/* Search results pagination */
.ms-srch-pagingNavigation {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 32px !important;
  padding-top: 24px !important;
  border-top: 1px solid #E5E7EB !important;
}

.ms-srch-pagingNavigation a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 8px !important;
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  color: #384250 !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
}

.ms-srch-pagingNavigation a:hover,
.ms-srch-pagingNavigation .ms-srch-pagingHighlight {
  background: #067647 !important;
  border-color: #067647 !important;
  color: #ffffff !important;
}

/* =============================================================
   70. LTR OVERRIDES — English pages (/en/)
   Our JS sets dir="ltr" on <html> for /en/ URLs. Setting dir
   automatically flips all CSS logical properties and flex
   direction — so we ONLY need to override hardcoded text-align
   and explicit left/right positioning values here.
   DO NOT add flex-direction/order overrides — they double-flip.
   ============================================================= */

/* ── Text alignment: hardcoded right → left ────────────────── */
[dir="ltr"] p,
[dir="ltr"] li,
[dir="ltr"] h1,
[dir="ltr"] h2,
[dir="ltr"] h3,
[dir="ltr"] h4,
[dir="ltr"] h5,
[dir="ltr"] h6 {
  text-align: left !important;
}

/* ── Page banner ────────────────────────────────────────────── */
[dir="ltr"] .dga-page-banner__inner,
[dir="ltr"] .dga-page-banner__title,
[dir="ltr"] .dga-page-banner__subtitle {
  text-align: left !important;
  direction:  ltr  !important;
}

/* ── Page content ───────────────────────────────────────────── */
[dir="ltr"] .page-main__content,
[dir="ltr"] .ms-rtestate-field {
  text-align: left !important;
  direction:  ltr  !important;
}

/* ── Accordion triggers ─────────────────────────────────────── */
[dir="ltr"] .accordion .card-header button,
[dir="ltr"] .accordion .card-header a {
  text-align: left !important;
}

/* ── Footer text ────────────────────────────────────────────── */
[dir="ltr"] .dga-footer-heading,
[dir="ltr"] .dga-footer-links a,
[dir="ltr"] .dga-footer-bottom__copy {
  text-align: left !important;
}

/* ── Dropdown menus: open from left in LTR ─────────────────── */
[dir="ltr"] .dga-dropdown-menu {
  right: auto !important;
  left:  0    !important;
}

/* ── Search overlay close button ───────────────────────────── */
[dir="ltr"] .dga-search-close {
  left:  var(--space-3) !important;
  right: auto           !important;
}
[dir="ltr"] .dga-search-box input {
  direction:  ltr  !important;
  text-align: left !important;
}

/* ── Search results page ────────────────────────────────────── */
[dir="ltr"] .dga-search-page__input {
  direction:  ltr  !important;
  text-align: left !important;
}

/* ── Sidebar nav text ───────────────────────────────────────── */
[dir="ltr"] .dga-sidebar-link__text {
  text-align: left !important;
}
[dir="ltr"] .dga-sidebar-link__arrow {
  transform: none !important;
}

/* ── About section text ─────────────────────────────────────── */
[dir="ltr"] .dga-about-section__text {
  text-align: left !important;
}

/* =============================================================
   72. PAGE HEADER (BREADCRUMB ZONE) — HIDDEN
   The .page-header block renders a messy multi-line nested SP
   breadcrumb with broken separators, empty images, and leftover
   chrome icons. The dark green .dga-page-banner already provides
   page title context, making this block fully redundant.
   ============================================================= */

.page-header,
.page-header__crumb,
.page-header__actions,
div.page-header.aos-init,
div.page-header.aos-animate,
[class*="page-header"] {
  display: none !important;
}

/* =============================================================
   73. SIDEBAR NAV — .dga-sidebar-nav / .dga-sidebar-link
   Built by rebuildSidebarNav() to replace SP Quick Launch links
   whose text is rendered invisibly via background-image sprites.
   ============================================================= */

.dga-sidebar-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 8px 0 !important;
}

.dga-sidebar-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: #384250 !important;
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  transition: background 0.15s, color 0.15s !important;
  border-inline-end: 3px solid transparent !important;
}

.dga-sidebar-link:hover {
  background: #F0FDF4 !important;
  color: #067647 !important;
  border-inline-end-color: #067647 !important;
}

.dga-sidebar-link.is-active {
  background: #ECFDF3 !important;
  color: #067647 !important;
  font-weight: 600 !important;
  border-inline-end-color: #067647 !important;
}

.dga-sidebar-link__text {
  flex: 1 !important;
  text-align: right !important;
}

[dir="ltr"] .dga-sidebar-link__text {
  text-align: left !important;
}

.dga-sidebar-link__arrow {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  color: #9DA4AE !important;
  opacity: 0.7 !important;
}

[dir="rtl"] .dga-sidebar-link__arrow {
  transform: scaleX(-1) !important;
}

.dga-sidebar-link:hover .dga-sidebar-link__arrow,
.dga-sidebar-link.is-active .dga-sidebar-link__arrow {
  color: #067647 !important;
  opacity: 1 !important;
}

/* =============================================================
   74. MEDIA CENTER LANDING CARDS — .dga-mc-cards
   Injected by injectMediaCenterCards() when SP content zone
   is empty. Shows 4 category cards: الأخبار / الفعاليات /
   قصص النجاح / إعلانات.
   ============================================================= */

.dga-mc-cards {
  padding: 48px 0 64px !important;
}

.dga-mc-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

@media (max-width: 991px) {
  .dga-mc-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .dga-mc-grid {
    grid-template-columns: 1fr !important;
  }
}

.dga-mc-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 36px 24px !important;
  background: #ffffff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  color: #1F2A37 !important;
  font-family: var(--font-family-base) !important;
  text-align: center !important;
  transition: box-shadow 0.2s, transform 0.15s, border-color 0.2s !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
}

.dga-mc-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
  transform: translateY(-2px) !important;
  border-color: #067647 !important;
  color: #067647 !important;
}

.dga-mc-card__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 64px !important;
  background: #ECFDF3 !important;
  border-radius: 9999px !important;
  flex-shrink: 0 !important;
}

.dga-mc-card__icon svg {
  width: 32px !important;
  height: 32px !important;
  color: #067647 !important;
  stroke: #067647 !important;
  fill: none !important;
}

.dga-mc-card:hover .dga-mc-card__icon {
  background: #067647 !important;
}

.dga-mc-card:hover .dga-mc-card__icon svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.dga-mc-card__title {
  font-size: 18px !important;
  font-weight: var(--font-weight-semibold) !important;
  color: inherit !important;
  font-family: var(--font-family-base) !important;
}

/* =============================================================
   75. ACCESSIBILITY BAR — #dga-accessibility-bar
   Injected between gov banner (#dga-stamp-bar) and sticky header.
   Contains font-size controls and high-contrast toggle.
   ============================================================= */

#dga-accessibility-bar {
  background-color: #F3F4F6 !important;
  border-bottom: 1px solid #E5E7EB !important;
  min-height: 36px !important;
  position: relative !important;
  z-index: 1001 !important;
  width: 100% !important;
}

.dga-a11y-bar__inner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 36px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

[dir="rtl"] .dga-a11y-bar__inner {
  justify-content: flex-end !important;
}

[dir="ltr"] .dga-a11y-bar__inner {
  justify-content: flex-start !important;
}

.dga-a11y-bar__label {
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  color: #384250 !important;
  font-weight: var(--font-weight-medium) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.dga-a11y-bar__controls {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.dga-a11y-bar__divider {
  width: 1px !important;
  height: 16px !important;
  background: #D2D6DB !important;
  flex-shrink: 0 !important;
  margin: 0 4px !important;
}

.dga-a11y-btn {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  color: #384250 !important;
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  font-weight: var(--font-weight-medium) !important;
  cursor: pointer !important;
  padding: 2px 7px !important;
  min-width: 28px !important;
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: background 0.15s, border-color 0.15s, color 0.15s !important;
  line-height: 1 !important;
}

.dga-a11y-btn:hover,
.dga-a11y-btn:focus-visible {
  background: #E5E7EB !important;
  border-color: #D2D6DB !important;
  color: #1F2A37 !important;
  outline: none !important;
}

.dga-a11y-btn[aria-pressed="true"] {
  background: #074D31 !important;
  border-color: #074D31 !important;
  color: #ffffff !important;
}

.dga-a11y-btn--icon {
  gap: 4px !important;
}

@media (max-width: 576px) {
  .dga-a11y-bar__label {
    display: none !important;
  }
}

/* =============================================================
   76. PAGE BANNER — .dga-page-banner
   Full-width dark green banner for internal pages.
   Replaces per-page hero on About, FAQ, Products, Contact, etc.
   ============================================================= */

.dga-page-banner {
  background-color: #074D31 !important;
  background-image: linear-gradient(135deg, #074D31 0%, #0D6B44 100%) !important;
  padding: 40px 0 !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

.dga-page-banner::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
  pointer-events: none !important;
}

.dga-page-banner__inner {
  position: relative !important;
  z-index: 1 !important;
  text-align: right !important;
}

[dir="ltr"] .dga-page-banner__inner {
  text-align: left !important;
}

.dga-page-banner__title {
  font-family: var(--font-family-base) !important;
  font-size: 32px !important;
  font-weight: var(--font-weight-bold, 700) !important;
  color: #ffffff !important;
  margin: 0 0 8px !important;
  line-height: 1.25 !important;
}

.dga-page-banner__subtitle {
  font-family: var(--font-family-base) !important;
  font-size: 16px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

@media (max-width: 767px) {
  .dga-page-banner {
    padding: 28px 0 !important;
  }
  .dga-page-banner__title {
    font-size: 24px !important;
  }
  .dga-page-banner__subtitle {
    font-size: 14px !important;
  }
}

/* =============================================================
   77. FOOTER SOCIAL BUTTONS — circular DGA style
   .dga-social-btn replaces flat .dga-social-icon links.
   Background: #1B8354 (medium green), white icon, 40×40px circle.
   ============================================================= */

.dga-footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-bottom: 16px !important;
}

.dga-social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background-color: #1B8354 !important;
  border-radius: 9999px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background-color 0.15s, transform 0.15s !important;
  flex-shrink: 0 !important;
}

.dga-social-btn:hover {
  background-color: #067647 !important;
  color: #ffffff !important;
  transform: scale(1.08) !important;
}

.dga-social-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
}

/* =============================================================
   78. SHAREPOINT CHROME REMOVAL — additional CSS layer
   Hides SP editing toolbar elements on internal pages for
   anonymous users. JS in dga-injections.js also handles this.
   ============================================================= */

#s4-ribbonrow,
.ms-formtoolbar,
.ms-toolbar,
.ms-wpadder,
[id^="MSOZoneCell_WebPartWPQ"] > .ms-wpadder,
.ms-SPChromeControl,
.ms-rtestate-tool,
[id*="RibbonContainer"],
#suiteBarLeft,
#suiteBarRight,
#suiteBar {
  display: none !important;
}

/* Zoom / star / email icons that SP places inside the content zone */
.ms-rtestate-field > .ms-alignRight:has(a[href="#"]),
.page-main__content > div:has(> a[href="#"]):first-child {
  display: none !important;
}

/* SP "إرسال لصديق / أضف إلى المفضلة / تكبير|تصغير الخط" link list
   that appears beside the breadcrumb on every internal page.
   The list sits as a sibling to the breadcrumb nav inside .page-header. */
.page-header > div > ul,
.page-header > ul,
nav[aria-label] ~ ul {
  display: none !important;
}

/* =============================================================
   79. HIGH CONTRAST MODE — toggled via dga-high-contrast class
   Applied to <body> by the accessibility bar contrast button.
   ============================================================= */

body.dga-high-contrast {
  background-color: #000000 !important;
  color: #ffffff !important;
}

body.dga-high-contrast .page-main__content,
body.dga-high-contrast .ms-rtestate-field {
  background-color: #000000 !important;
  color: #ffffff !important;
}

body.dga-high-contrast a {
  color: #FFD700 !important;
}

body.dga-high-contrast .card,
body.dga-high-contrast .accordion .card {
  background-color: #111111 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
}

body.dga-high-contrast .dga-page-banner {
  background-color: #000000 !important;
  background-image: none !important;
  border-bottom: 2px solid #FFD700 !important;
}

body.dga-high-contrast .dga-page-banner__title {
  color: #FFD700 !important;
}

/* Footer stays readable in high contrast */
body.dga-high-contrast .footer,
body.dga-high-contrast .dga-footer-body {
  background-color: #0a0a0a !important;
}

/* Header stays readable */
body.dga-high-contrast .header {
  background-color: #000000 !important;
  border-bottom-color: #FFD700 !important;
}

body.dga-high-contrast .header .navbar-nav .nav-link,
body.dga-high-contrast .header .header__top-bar a {
  color: #FFD700 !important;
}

/* =============================================================
   80. FOOTER CONTENT CSS — supporting new 5-column layout
   Completes the footer structure built by buildFooterContent().
   ============================================================= */

.dga-footer-body {
  background-color: var(--color-footer-bg, #074D31) !important;
  padding: 48px 0 24px !important;
}

.dga-footer-cols {
  display: grid !important;
  grid-template-columns: 180px repeat(3, 1fr) 200px !important;
  gap: 32px !important;
  align-items: start !important;
}

.dga-footer-col--brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.dga-footer-col--brand .footer__logo img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
}

.dga-footer-heading {
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  font-weight: var(--font-weight-semibold) !important;
  color: #ffffff !important;
  margin: 0 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.dga-footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.dga-footer-links a {
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  color: #9DA4AE !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
  display: block !important;
}

.dga-footer-links a:hover {
  color: #F3F4F6 !important;
}

.dga-footer-col--social {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.dga-footer-access {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 8px !important;
}

.dga-footer-access .dga-access-btn {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  cursor: pointer !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s !important;
  font-family: var(--font-family-base) !important;
  font-size: 13px !important;
  font-weight: var(--font-weight-semibold) !important;
}

.dga-footer-access .dga-access-btn:hover {
  background: rgba(255, 255, 255, 0.22) !important;
}

.dga-footer-access .dga-access-btn svg {
  fill: #ffffff !important;
}

.dga-footer-stamp {
  padding: 16px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  margin-top: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.dga-footer-stamp img {
  height: 40px !important;
  width: auto !important;
}

.dga-footer-bottom {
  /* Merged into the main green footer - was previously a gray strip
     (#384250) that looked disconnected from .dga-footer-body. Use a
     slightly darker shade of the footer green so there's subtle visual
     separation without breaking continuity. */
  background-color: #053D27 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding: 16px 0 !important;
}

.dga-footer-bottom__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.dga-footer-bottom__links {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.dga-footer-bottom__links a {
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  color: #9DA4AE !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}

.dga-footer-bottom__links a:hover {
  color: #F3F4F6 !important;
}

.dga-footer-bottom__links span[aria-hidden] {
  color: #6C737F !important;
}

.dga-footer-bottom__copy {
  font-family: var(--font-family-base) !important;
  font-size: 12px !important;
  color: #9DA4AE !important;
  margin: 0 !important;
  text-align: center !important;
  flex: 1 !important;
}

.dga-footer-bottom__logo img {
  height: 32px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.5 !important;
}

/* Back to top button */
.footer > a.top {
  position: fixed !important;
  bottom: 24px !important;
  left: 24px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 9999px !important;
  background-color: #067647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  z-index: 500 !important;
  text-decoration: none !important;
}

[dir="rtl"] .footer > a.top {
  left: auto !important;
  right: 24px !important;
}

.footer > a.top svg {
  width: 20px !important;
  height: 20px !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* =============================================================
   81. PRODUCTS PAGE — remove date fields, fix SP section title
   Hides the "الصفحات" SP-generated heading and date metadata
   on product/service listing cards.
   ============================================================= */

/* Hide SP-generated "الصفحات" or "Pages" section title on listing pages */
.ms-webpart-titleText,
.ms-webpart-chrome-title h2,
[class*="webpart-title"],
[id*="WebPartTitle"] {
  display: none !important;
}

/* Hide date fields on product/news cards */
.products-list .card-text small,
.products-list .card-footer time,
.products-list [class*="date"],
.product-card [class*="date"],
[class*="products"] [class*="date"],
[class*="products"] small,
[class*="products"] .ms-listviewtable [class*="date"],
/* SP Published date field on product pages */
.ms-rtestate-field + [class*="date"],
td[class*="msListDateTimeField"],
span.ms-metadata,
.ms-metadata {
  display: none !important;
}

/* Mobile footer: single column */
@media (max-width: 991px) {
  .dga-footer-cols {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .dga-footer-col--brand .footer__logo img {
    height: 40px !important;
  }

  .dga-footer-bottom__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  [dir="rtl"] .dga-footer-bottom__inner {
    align-items: flex-end !important;
  }

  .dga-footer-bottom__copy {
    text-align: right !important;
    flex: none !important;
  }

  [dir="ltr"] .dga-footer-bottom__copy {
    text-align: left !important;
  }

  .dga-footer-bottom__logo {
    display: none !important;
  }
}

/* =============================================================
   81b. GRAY SQUARE FIX — broken / empty inline images in SP content
   SharePoint publishing pages render small placeholder squares
   from empty src attributes, inline edit icons, and page-layout
   thumbnail images. Hide all of them.
   ============================================================= */

/* Empty or broken src images */
img[src=""],
img[src=" "],
img[src="undefined"],
img[src="#"] {
  display: none !important;
  visibility: hidden !important;
}

/* SP page-layout date icon — appears as a gray/colored square on article pages.
   The parent .news__date has style="display:none" but the SVG bleeds through
   due to SP's own script overrides. Force-hide definitively. */
.news__date,
.news__date *,
div.news__date {
  display:    none       !important;
  visibility: hidden     !important;
  width:      0          !important;
  height:     0          !important;
  overflow:   hidden     !important;
  position:   absolute   !important;
  clip:       rect(0,0,0,0) !important;
}

/* Responsive images in SP rich-text fields — prevent 1500px+ wide images
   from causing horizontal page overflow on internal content pages */
.ms-rtestate-field img,
.news-detail__text img,
.page-main__content img {
  max-width: 100% !important;
  height:    auto !important;
}

/* SP inline edit icons that appear for authenticated editors */
.ms-inlineEditLink,
.ms-rie-placeholder,
.ms-rtestate-select,
[class*="ms-rie"],
[class*="ms-edit-image"],
.ms-EditModeDocIcon,
.ms-WPAddButton {
  display: none !important;
}

/* SP page-layout thumbnail (small icon next to article title) */
.ms-rtestate-field > h1 > img,
.ms-rtestate-field > h2 > img,
.ms-rtestate-field > h2 + img,
.ms-rtestate-field > h1 + img,
.page-main__content h1 + img[style*="width"],
.page-main__content h2 + img[style*="width"] {
  display: none !important;
}

/* Any inline img that is suspiciously small (under 32px) and next to a heading */
.ms-rtestate-field img[width],
.page-main__content img[width] {
  max-width: 100%;
}

/* Specifically hide tiny images (the gray/orange square symptom) */
.ms-rtestate-field img[style*="width: 1"],
.ms-rtestate-field img[style*="width: 2"],
.ms-rtestate-field img[style*="width: 3"],
.page-main__content img[style*="width: 1px"],
.page-main__content img[style*="width: 2px"] {
  display: none !important;
}

/* =============================================================
   82. MEDIUM VIEWPORT — nav + stats scale smoothly with viewport
   ONE LINE always. Items just get smaller as viewport shrinks.
   No hamburger. No wrapping. No new sections.
   ============================================================= */

/* Header nav: clamp font+padding so 7 items stay in one line */
@media (min-width: 993px) and (max-width: 1400px) {
  .header__top-bar .dga-header-vision-action,
  .header__top-bar .header__vision,
  a.header__vision {
    display: none !important;
  }

  .header .navbar-nav .nav-link,
  .header .navbar-nav li > a {
    font-size:   clamp(10px, 0.85vw, 13px) !important;
    padding:     clamp(2px, 0.3vw, 5px) clamp(3px, 0.45vw, 8px) !important;
    white-space: nowrap !important;
  }

  .dga-dropdown-chevron {
    width:  clamp(10px, 0.9vw, 14px) !important;
    height: clamp(10px, 0.9vw, 14px) !important;
    margin-inline-start: 2px !important;
  }

  .header .navbar-brand {
    flex-basis:       clamp(90px, 9vw, 130px) !important;
    min-width:        clamp(90px, 9vw, 130px) !important;
    max-width:        clamp(90px, 9vw, 130px) !important;
    margin-inline-end: 8px !important;
  }
  .header .navbar-brand img,
  .header .navbar-brand picture img {
    width:      clamp(90px, 9vw, 130px) !important;
    max-width:  clamp(90px, 9vw, 130px) !important;
    height:     clamp(36px, 3.5vw, 55px) !important;
    max-height: clamp(36px, 3.5vw, 55px) !important;
  }

  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    font-size:  clamp(10px, 0.9vw, 13px) !important;
    padding:    3px 8px !important;
    height:     32px !important;
    min-height: 32px !important;
  }
}

/* Stats numbers: scale down proportionally in the same single row */
@media (min-width: 993px) and (max-width: 1400px) {
  .numbers__number,
  .numbers .number,
  [class*="numbers__number"],
  .statistics .number {
    font-size: clamp(28px, 3vw, 52px) !important;
  }

  .numbers__block .numbers__text,
  .numbers__block p {
    font-size: clamp(11px, 1vw, 15px) !important;
  }
}

/* Steps section: no CSS changes — reverted to original behavior */

/* ── ③ NUMBERS & STEPS CONTAINER: tighter grid at medium widths ─── */
@media (min-width: 993px) and (max-width: 1300px) {
  .numbers > .container,
  .steps   > .container {
    /* Shrink title column so content area gets maximum width */
    grid-template-columns: minmax(130px, 16%) minmax(0, 1fr) !important;
    column-gap: 3% !important;
    overflow-x: hidden !important;
  }

  .numbers__block,
  .numbers__list,
  .numbers__number,
  .numbers .number {
    min-width: 0 !important;
  }

  .numbers__number,
  .numbers .number {
    font-size: clamp(26px, 3.2vw, 48px) !important;
  }

  /* Ensure steps container allows wrapping properly */
  .steps > .container > #statistics,
  .steps > .container > .steps__container,
  .steps > .container > .steprw,
  .steps > .container .steprw {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
}


/* =============================================================
   FINAL HOMEPAGE/LAPTOP OVERRIDES
   Must remain at the end so older repeated blocks cannot override it.
   ============================================================= */

.dga-homepage .header .header__top-bar a[href*="FAQ"],
.dga-homepage .header .header__top-bar a[href*="faq"],
.dga-homepage .header .header__top-bar a[href*="ContactUs"],
.dga-homepage .header .header__top-bar a[href*="contactus"] {
  display: none !important;
}

.header .navbar-nav .dga-dropdown > a,
.header .navbar-nav .dga-dropdown > a.nav-link,
#dga-main-nav .dga-dropdown > a,
#dga-main-nav .dga-dropdown > a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.header .navbar-nav .dga-dropdown-chevron,
#dga-main-nav .dga-dropdown-chevron {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 14px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.numbers,
.steps {
  overflow-x: clip !important;
}

.numbers .section-title,
.numbers h2,
.numbers h3,
.steps .section-title,
.steps > .container > h2,
.steps > .container > h3 {
  box-sizing: border-box !important;
  max-width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
  transform: none !important;
  overflow-wrap: anywhere !important;
  text-wrap: balance;
}

@media (min-width: 993px) and (max-width: 1400px) {
  .header .navbar-nav > li > .nav-link,
  .header .navbar-nav > li > a {
    font-size: clamp(10px, 0.92vw, 14px) !important;
    padding: 4px clamp(3px, 0.45vw, 7px) !important;
    white-space: nowrap !important;
  }

  .numbers .row,
  .steps .steprw {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    gap: clamp(12px, 2vw, 31px) !important;
  }

  .numbers .row > *,
  .steps .steprw > * {
    min-width: 0 !important;
  }
}

/* =============================================================
   FINAL HEADER DROPDOWN + MOBILE SAFETY PATCH
   Restores DGA-style dropdowns and prevents English overlap.
   ============================================================= */

.header .navbar-nav .dga-dropdown,
#dga-main-nav .dga-dropdown {
  position: relative !important;
}

.header .navbar-nav .dga-dropdown > a,
.header .navbar-nav .dga-dropdown > a.nav-link,
#dga-main-nav .dga-dropdown > a,
#dga-main-nav .dga-dropdown > a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: visible !important;
}

.header .navbar-nav .dga-dropdown-menu,
#dga-main-nav .dga-dropdown-menu {
  display: none !important;
  position: absolute !important;
  /* Flush with trigger so cursor traversing from trigger -> menu doesn't
     cross a dead zone that fires mouseleave and immediately closes the menu.
     Visual gap is provided by padding-top (still inside the hover area). */
  top: 100% !important;
  min-width: 240px !important;
  max-width: 320px !important;
  padding: 18px 8px 8px 8px !important;   /* top padding = visual gap below trigger */
  margin: 0 !important;
  list-style: none !important;
  background: #ffffff !important;
  border: 1px solid #D2D6DB !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 32px rgba(16, 24, 40, 0.14) !important;
  z-index: 3000 !important;
}

[dir="rtl"] .header .navbar-nav .dga-dropdown-menu,
html[lang^="ar"] .header .navbar-nav .dga-dropdown-menu {
  right: 0 !important;
  left: auto !important;
  text-align: right !important;
}

[dir="ltr"] .header .navbar-nav .dga-dropdown-menu,
html[lang^="en"] .header .navbar-nav .dga-dropdown-menu {
  left: 0 !important;
  right: auto !important;
  text-align: left !important;
}

.header .navbar-nav .dga-dropdown:hover > .dga-dropdown-menu,
.header .navbar-nav .dga-dropdown:focus-within > .dga-dropdown-menu,
.header .navbar-nav .dga-dropdown.is-open > .dga-dropdown-menu,
#dga-main-nav .dga-dropdown:hover > .dga-dropdown-menu,
#dga-main-nav .dga-dropdown:focus-within > .dga-dropdown-menu,
#dga-main-nav .dga-dropdown.is-open > .dga-dropdown-menu {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.header .navbar-nav .dga-dropdown-menu li,
#dga-main-nav .dga-dropdown-menu li {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.header .navbar-nav .dga-dropdown-menu a,
.header .navbar-nav .dga-dropdown-menu a.nav-link,
#dga-main-nav .dga-dropdown-menu a,
#dga-main-nav .dga-dropdown-menu a.nav-link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 40px !important;
  max-width: none !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  color: #1F2A37 !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.header .navbar-nav .dga-dropdown-menu a:hover,
.header .navbar-nav .dga-dropdown-menu a:focus,
#dga-main-nav .dga-dropdown-menu a:hover,
#dga-main-nav .dga-dropdown-menu a:focus {
  color: #067647 !important;
  background: #F3FCF6 !important;
}

.header .navbar-toggler {
  display: none;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border: 1px solid #D2D6DB !important;
  border-radius: 8px !important;
  color: #1F2A37 !important;
  background: #ffffff !important;
}

.header .navbar-toggler:focus-visible {
    outline: 2px solid #067647;
    outline-offset: 2px;
}

.header .navbar-toggler svg,
.header .navbar-toggler svg *,
.header .navbar-toggler .navbar-toggler-icon {
  color: #1F2A37 !important;
  stroke: #1F2A37 !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 991px) {
  .header .navbar-toggler {
    display: inline-flex !important;
  }

  .header .navbar-collapse.show {
    display: flex !important;
    position: absolute !important;
    top: 100% !important;
    inset-inline: 16px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px !important;
    background: #ffffff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 32px rgba(16, 24, 40, 0.14) !important;
    z-index: 2500 !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .header .navbar-toggler {
    display: inline-flex !important;
  }

  .header .navbar-collapse:not(.show) {
    display: none !important;
  }

  .header .navbar-collapse.show {
    display: flex !important;
    position: absolute !important;
    top: 100% !important;
    inset-inline: 16px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px !important;
    background: #ffffff !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 32px rgba(16, 24, 40, 0.14) !important;
    z-index: 2500 !important;
  }

  .header .navbar-collapse.show .navbar-nav,
  .header .navbar-collapse.show #dga-main-nav,
  .header .navbar-collapse.show .header__top-bar {
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .header .navbar-collapse.show .navbar-nav > li > a,
  .header .navbar-collapse.show #dga-main-nav > li > a,
  .header .navbar-collapse.show .header__top-bar a {
    width: 100% !important;
    max-width: none !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
  }
}

@media (max-width: 1199px) {
  html,
  body,
  #s4-workspace,
  #s4-bodyContainer {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .header,
  .header > .container,
  .header__container,
  .header .navbar {
    max-width: 100vw !important;
  }

  .header .navbar-collapse.show .dga-dropdown-menu,
  .header .navbar-collapse.show #dga-main-nav .dga-dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-top: 4px !important;
    box-shadow: none !important;
  }

  .header .navbar-collapse.show .dga-dropdown-menu a,
  .header .navbar-collapse.show #dga-main-nav .dga-dropdown-menu a,
  .header .navbar-collapse.show .dga-dropdown-menu a.nav-link {
    font-size: 14px !important;
    line-height: 20px !important;
    padding: 10px 12px !important;
  }
}

/* Laptop desktop header fit: keep full nav visible by giving it more room. */
@media (min-width: 1200px) and (max-width: 1599px) {
  .header > .container,
  .header > .container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-inline: clamp(12px, 1.4vw, 24px) !important;
  }

  .header .navbar {
    column-gap: clamp(4px, 0.7vw, 10px) !important;
  }

  .header .navbar-collapse {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .header .navbar-toggler {
    display: none !important;
  }

  .header .navbar-nav,
  #dga-main-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    gap: 0 !important;
  }

  .header .navbar-nav > li,
  #dga-main-nav > li {
    min-width: 0 !important;
    flex: 0 1 auto !important;
  }

  .header .navbar-nav > li > .nav-link,
  .header .navbar-nav > li > a,
  #dga-main-nav > li > a,
  #dga-main-nav > li > a.nav-link {
    max-width: none !important;
    font-size: clamp(9.5px, 0.72vw, 11px) !important;
    line-height: 18px !important;
    padding: 5px clamp(1px, 0.22vw, 4px) !important;
    white-space: nowrap !important;
  }

  .header .navbar-nav > li > a .dga-nav-text,
  #dga-main-nav > li > a .dga-nav-text {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .header .navbar-brand {
    margin-inline-start: 0 !important;
    margin-inline-end: clamp(4px, 0.6vw, 10px) !important;
    transform: translateX(-10px) !important;
  }

  [dir="rtl"] .header .navbar-brand,
  html[lang^="ar"] .header .navbar-brand {
    transform: translateX(10px) !important;
  }

  .header__top-bar {
    flex: 0 0 auto !important;
    max-width: clamp(180px, 18vw, 260px) !important;
    gap: 2px !important;
    transform: translateX(10px) !important;
  }

  [dir="rtl"] .header__top-bar,
  html[lang^="ar"] .header__top-bar {
    transform: translateX(-10px) !important;
  }

  .header__top-bar a:not(.header__vision):not(.dga-header-vision-action),
  .header__top-bar .header-search-trigger,
  .header__top-bar .language__switcher {
    font-size: clamp(10px, 0.78vw, 12px) !important;
    padding-inline: clamp(3px, 0.35vw, 6px) !important;
  }

  [dir="ltr"] .header .navbar-collapse,
  html[lang^="en"] .header .navbar-collapse {
    transform: translateX(-22px) !important;
  }

  [dir="ltr"] .header .navbar-nav,
  [dir="ltr"] #dga-main-nav,
  html[lang^="en"] .header .navbar-nav,
  html[lang^="en"] #dga-main-nav {
    justify-content: flex-start !important;
  }

  [dir="ltr"] .header .header__top-bar,
  html[lang^="en"] .header .header__top-bar {
    transform: translate(-10%, -28px) !important;
    align-self: center !important;
    margin-top: 0 !important;
  }

  [dir="rtl"] .header .navbar-nav > li > .nav-link,
  [dir="rtl"] .header .navbar-nav > li > a,
  [dir="rtl"] #dga-main-nav > li > a,
  [dir="rtl"] #dga-main-nav > li > a.nav-link,
  html[lang^="ar"] .header .navbar-nav > li > .nav-link,
  html[lang^="ar"] .header .navbar-nav > li > a,
  html[lang^="ar"] #dga-main-nav > li > a,
  html[lang^="ar"] #dga-main-nav > li > a.nav-link {
    font-size: clamp(10.9px, 0.83vw, 12.65px) !important;
    padding-inline: clamp(1.2px, 0.25vw, 4.6px) !important;
  }

  .header__top-bar .header__vision,
  .header__top-bar .dga-header-vision-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header__top-bar .header__vision img,
  .header__top-bar .dga-header-vision-action img {
    display: block !important;
    height: 32px !important;
    width: auto !important;
    max-width: 92px !important;
    object-fit: contain !important;
  }
}

@media (min-width: 1200px) and (max-width: 1366px) {
  .header .navbar-nav > li > .nav-link,
  .header .navbar-nav > li > a,
  #dga-main-nav > li > a,
  #dga-main-nav > li > a.nav-link {
    font-size: clamp(9px, 0.7vw, 10.5px) !important;
    padding-inline: clamp(1px, 0.2vw, 3px) !important;
  }
}

@media (min-width: 992px) {
  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(360px, 38%) minmax(0, 1fr) !important;
  }

  .numbers .section-title,
  .numbers > .container > h2,
  .numbers > .container > h3,
  .steps .section-title,
  .steps > .container > h2,
  .steps > .container > h3 {
    grid-column: 1 !important;
    max-width: none !important;
    padding-inline: 0 !important;
    transform: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1300px) {
  .numbers > .container,
  .steps > .container {
    grid-template-columns: minmax(300px, 34%) minmax(0, 1fr) !important;
  }
}

/* =============================================================
   83. CONTACT PAGE — DGA icon-card grid (pending #1)
   Transforms /ar/Help/Pages/ContactUs.aspx contact-info blocks
   from five oversized stacked cards into a compact 3-col grid
   of styled icon cards. JS counterpart: enhanceContactCards()
   ============================================================= */

.dga-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--space-6) !important;
  margin: var(--space-8) 0 !important;
  padding: 0 !important;
}

@media (max-width: 1024px) {
  .dga-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .dga-contact-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Card itself — kill the legacy huge fixed-height card styling */
.dga-contact-grid .contact-info {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--space-6) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--space-3) !important;
  box-shadow: var(--shadow-xs) !important;
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.dga-contact-grid .contact-info:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
  border-color: var(--color-primary-300) !important;
}

/* Icon bubble */
.dga-contact-card__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: var(--radius-full) !important;
  background: var(--color-primary-50) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--color-primary-700) !important;
  flex-shrink: 0 !important;
}

.dga-contact-card__icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Label */
.dga-contact-grid .contact-info__label {
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-text-tertiary) !important;
  margin: 0 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-align: start !important;
}

/* Value */
.dga-contact-grid .contact-info__text {
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--color-text-primary) !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-align: start !important;
}

.dga-contact-grid .contact-info__text a {
  color: var(--color-primary-700) !important;
  text-decoration: none !important;
  direction: ltr !important;
  unicode-bidi: embed !important;
}

.dga-contact-grid .contact-info__text a:hover,
.dga-contact-grid .contact-info__text a:focus {
  color: var(--color-primary-900) !important;
  text-decoration: underline !important;
}

/* Address card spans 2 columns on desktop+tablet so the address line breathes */
.dga-contact-grid .contact-info.dga-contact-card--address {
  grid-column: span 2 !important;
}

@media (max-width: 640px) {
  .dga-contact-grid .contact-info.dga-contact-card--address {
    grid-column: span 1 !important;
  }
}

/* Hide the broken/loading Google Maps embed that follows the cards on this page
   (air-gapped server can't load the iframe, leaves a tall empty gray block) */
body.dga-contact-page iframe[src*="google.com/maps"],
body.dga-contact-page iframe[src*="maps.google"] {
  display: none !important;
}

/* ============================================================================
   Migrated from dga-injections.js inline styles
   ----------------------------------------------------------------------------
   These rules replace static el.style.setProperty(..., 'important') calls
   that used to live in dga-injections.js. CSS is the correct layer; JS only
   keeps writes whose VALUE is computed dynamically (viewport math, locale-
   dependent text, ancestor traversal, conditional content checks).
   ============================================================================ */

/* --- §4b: search-trigger label hidden (icon-only search) -------------------- */
.header .header-search-trigger span,
.header-search-trigger > span {
  display: none !important;
}

/* --- §4c: visually-hidden utility (used by injected #dga-home-h1) ---------- */
.dga-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --- §17: homepage gap compaction (.dga-homepage class set by JS) ---------- */
body.dga-homepage .events,
body.dga-homepage .activities,
body.dga-homepage .activity,
body.dga-homepage .events-bg {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* "why" sections must be visible on the homepage even if SP/Bootstrap CSS
   tries to hide them via AOS init or display utilities. We deliberately do
   NOT touch elements inside .header / .footer (JS guards against this too). */
body.dga-homepage .why:not(.header *):not(.footer *),
body.dga-homepage .why-us:not(.header *):not(.footer *),
body.dga-homepage [class*="why"]:not(.header):not(.footer):not(.header *):not(.footer *) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* --- §18: Vision 2030 — desktop visible, mobile-variant hidden on desktop -- */
@media (min-width: 992px) {
  .header__vision[class*="d-lg-flex"],
  .header__vision.header__vision123 {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    max-width: 92px !important;
  }
  .header__vision[class*="d-lg-none"] {
    display: none !important;
  }
}

/* --- §19: hide the numbered swiper pagination on the hero slider ----------- */
.mainSlider .swiper-pagination,
.main-slider .swiper-pagination,
.main-slider .swiper-pagination-bullets,
.swiper-pagination-fraction {
  display: none !important;
}

/* --- §25: hide SharePoint chrome (ribbon, web-part adders, toolbars) ------- */
#s4-ribbonrow,
.ms-formtoolbar,
.ms-toolbar,
[id^="MSOZoneCell_WebPartWPQ"] > .ms-wpadder,
.ms-wpadder {
  display: none !important;
}

/* --- §RESPONSIVE/Numbers title — keep title untransformed and contained ---- */
.numbers .section-title,
.numbers > .container h2,
.numbers > .container h3,
.numbers h2.section-title,
.numbers h3.section-title {
  transform: none !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* --- §RESPONSIVE/Steps title — same treatment ------------------------------ */
.steps .section-title,
.steps > .container > h2,
.steps > .container > h3 {
  transform: none !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* --- §RESPONSIVE/medium viewport (993–1400px) Numbers layout --------------- */
/* JS sets body.dga-medium-viewport in fixMediumViewportLayout when in range;
   font-size/padding of nav links stay in JS because they're computed linearly
   from the actual viewport width. */
@media (min-width: 993px) and (max-width: 1400px) {
  .numbers .row {
    flex-wrap: nowrap !important;
    overflow-x: clip !important;
  }
  .numbers .row > * {
    flex: 1 1 0 !important;
    max-width: 25% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .numbers .row > * .numbers__number,
  .numbers .row > * .number,
  .numbers .row > * [class*="numbers__number"] {
    font-size: clamp(18px, 1.9vw, 32px) !important;
  }
  .numbers .row > * svg,
  .numbers .row > * img,
  .numbers .row > * .icon,
  .numbers .row > * [class*="icon"] {
    width: clamp(28px, 3vw, 46px) !important;
    height: clamp(28px, 3vw, 46px) !important;
  }
  .numbers .row > * p,
  .numbers .row > * .numbers__text,
  .numbers .row > * [class*="text"],
  .numbers .row > * span:not([class]) {
    font-size: clamp(8px, 0.75vw, 12px) !important;
  }
}

/* --- §26: Steps section reveal on Help / HowTo pages ------------------------ */
/* JS adds body.dga-help-steps when fixStepsSection runs on a help/howto path. */
body.dga-help-steps .steps [data-aos],
body.dga-help-steps .steps [style*="opacity"],
body.dga-help-steps .steps [style*="visibility"],
body.dga-help-steps .step [data-aos],
body.dga-help-steps [class*="steps-"] [data-aos],
body.dga-help-steps .step-wrapper [data-aos] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.dga-help-steps .steps__icon,
body.dga-help-steps .step-icon,
body.dga-help-steps .step__icon,
body.dga-help-steps .steps__number {
  opacity: 1 !important;
  visibility: visible !important;
}
body.dga-help-steps .steps__icon h3,
body.dga-help-steps .steps__icon h4,
body.dga-help-steps .steps__icon h5,
body.dga-help-steps .steps__icon h6,
body.dga-help-steps .steps__icon p,
body.dga-help-steps .steps__icon span,
body.dga-help-steps .step-icon h3,
body.dga-help-steps .step-icon h4,
body.dga-help-steps .step-icon h5,
body.dga-help-steps .step-icon h6,
body.dga-help-steps .step-icon p,
body.dga-help-steps .step-icon span,
body.dga-help-steps .step__icon h3,
body.dga-help-steps .step__icon h4,
body.dga-help-steps .step__icon h5,
body.dga-help-steps .step__icon h6,
body.dga-help-steps .step__icon p,
body.dga-help-steps .step__icon span,
body.dga-help-steps .steps__number h3,
body.dga-help-steps .steps__number h4,
body.dga-help-steps .steps__number h5,
body.dga-help-steps .steps__number h6,
body.dga-help-steps .steps__number p,
body.dga-help-steps .steps__number span {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
body.dga-help-steps .steps__text,
body.dga-help-steps .step-text,
body.dga-help-steps .step__text {
  opacity: 1 !important;
  visibility: visible !important;
}

/* --- §HOMEPAGE PATCH/about-btn hover --------------------------------------- */
/* Earlier rule at ~L2641 uses #067647; JS used a darker #074d31. Keep darker
   shade here so the JS hover handler can be removed. */
.dga-about-section__btn:hover,
.dga-about-section__btn:focus-visible {
  background-color: #074d31 !important;
  color: #ffffff !important;
  border-color: #074d31 !important;
}

/* --- §HOMEPAGE PATCH/Stories testimonial pagination + bullets -------------- */
.StoriesTxt .testimonials-pagination,
.stories .testimonials-pagination,
.testimonials .testimonials-pagination {
  position: relative !important;
  top: 0 !important;
  bottom: auto !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 20px !important;
  padding: 0 !important;
}

.StoriesTxt .testimonials-pagination .swiper-pagination-bullet,
.stories .testimonials-pagination .swiper-pagination-bullet,
.testimonials .testimonials-pagination .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
  border-radius: 50% !important;
  background: #074d31 !important;
  opacity: 0.4 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.StoriesTxt .testimonials-pagination .swiper-pagination-bullet-active,
.stories .testimonials-pagination .swiper-pagination-bullet-active,
.testimonials .testimonials-pagination .swiper-pagination-bullet-active {
  width: 24px !important;
  border-radius: 4px !important;
  opacity: 1 !important;
}

/* --- §HOMEPAGE PATCH/Numbers + Steps rows — gap + centering ---------------- */
/* fixNumbersSteps initially set justify-content: flex-start; the later
   setInterval (centerItems) overrode it to center. We keep the final state
   (center) and the gap values directly. */
.numbers .row {
  gap: 31px !important;
  justify-content: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.steps .steprw {
  gap: 39px !important;
  justify-content: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ============================================================
   FIX (live-browser audit 2026-05-21):
   - 7-item horizontal nav + search/lang needs >=1600 to fit at
     readable 14-16px font; collapse to hamburger below 1600.
   - At >=1600 use a proper 14-16px clamp (was junior's 9.5-11px).
   - Strip Bootstrap .h1-.h6 typography classes inside FAQ triggers.
   ============================================================ */

/* 1a. Readable nav font at >=1600 (the only width where 7 items + search fit) */
@media (min-width: 1600px) {
  .header .navbar-nav > li > .nav-link,
  .header .navbar-nav > li > a,
  #dga-main-nav > li > a,
  #dga-main-nav > li > a.nav-link {
    font-size: clamp(14px, 0.9vw, 16px) !important;
    line-height: 22px !important;
    padding: 8px 12px !important;
  }
}

/* 1b. RTL parity (Arabic nav font same as EN at >=1600) */
@media (min-width: 1600px) {
  html[lang^="ar"] .header .navbar-nav > li > a,
  [dir="rtl"]    .header .navbar-nav > li > a {
    font-size: clamp(14px, 0.9vw, 16px) !important;
  }
}

/* 2. Collapse to hamburger below 1600. Hide only the main nav LIST, not the
   whole .navbar-collapse — the .header__top-bar (language switcher, search,
   vision 2030) is nested inside .navbar-collapse and must stay visible at
   ALL widths (including <992 where Bootstrap's own collapse default kicks
   in and would otherwise hide the whole element). */
@media (max-width: 1599.98px) {
  /* Always show the hamburger trigger */
  .header .navbar-toggler { display: inline-flex !important; }

  /* FORCE .navbar-collapse visible so the nested top bar stays even when
     Bootstrap's own .collapse:not(.show) { display: none } would hide it.
     We still control the nav list's visibility separately below. */
  .header .navbar-collapse,
  .header .navbar-collapse:not(.show) {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  /* Hide the primary nav LIST only when the hamburger isn't toggled */
  .header .navbar-collapse:not(.show) .navbar-nav,
  .header .navbar-collapse:not(.show) #dga-main-nav {
    display: none !important;
  }

  /* When mobile menu opens, give links touch-friendly size */
  .header .navbar-collapse.show .navbar-nav,
  .header .navbar-collapse.show #dga-main-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  .header .navbar-collapse.show .navbar-nav > li > .nav-link,
  .header .navbar-collapse.show .navbar-nav > li > a {
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 12px 16px !important;
  }
}

/* 3. Neutralize Bootstrap typography classes used by SP authors inside FAQ */
.accordion .card-header button .h1,
.accordion .card-header button .h2,
.accordion .card-header button .h3,
.accordion .card-header button .h4,
.accordion .card-header button .h5,
.accordion .card-header button .h6,
.dga-accordion__trigger .h1,
.dga-accordion__trigger .h2,
.dga-accordion__trigger .h3,
.dga-accordion__trigger .h4,
.dga-accordion__trigger .h5,
.dga-accordion__trigger .h6 {
  font-size: inherit !important;
  font-weight: 600 !important;
  line-height: inherit !important;
  margin: 0 !important;
  display: block !important;
}

/* 4. Kill the legacy ::after chevron on accordion triggers - we render our
   own <span class="dga-accordion__chevron"><svg> now, and the original theme's
   ::after { content:"\25BE"; transform: rotate(-90deg) } was stacking on top.
   User reported seeing two arrows (down + sideways) on each FAQ question. */
.dga-accordion__trigger::after,
.dga-accordion__trigger::before,
.accordion .card-header button::after,
.accordion .card-header button::before {
  content: none !important;
  display: none !important;
}

/* 5. Rotate our chevron based on aria-expanded state for visual feedback */
.dga-accordion__trigger .dga-accordion__chevron svg,
.accordion .card-header button .dga-accordion__chevron svg {
  transition: transform 0.2s ease !important;
}
.dga-accordion__trigger[aria-expanded="true"] .dga-accordion__chevron svg,
.accordion .card-header button[aria-expanded="true"] .dga-accordion__chevron svg {
  transform: rotate(180deg) !important;
}

/* ============================================================
   FIX 7 (2026-05-21): Internal page banner title was rendering green
   on green. The existing .dga-page-banner__title { color: #fff } rule
   was being overridden by an unknown selector setting #067647 on the
   H1.  Use higher-specificity selectors so this rule definitively
   wins for both title and subtitle in EN and AR.
   ============================================================ */
.dga-page-banner h1.dga-page-banner__title,
.dga-page-banner .dga-page-banner__title,
.dga-page-banner__inner > .dga-page-banner__title,
.dga-page-banner__inner h1,
[dir="rtl"] .dga-page-banner h1.dga-page-banner__title,
html[lang^="ar"] .dga-page-banner h1.dga-page-banner__title {
  color: #ffffff !important;
}

.dga-page-banner p.dga-page-banner__subtitle,
.dga-page-banner .dga-page-banner__subtitle,
.dga-page-banner__inner > .dga-page-banner__subtitle,
.dga-page-banner__inner p,
[dir="rtl"] .dga-page-banner .dga-page-banner__subtitle,
html[lang^="ar"] .dga-page-banner .dga-page-banner__subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================================================
   FIX 8 (2026-05-21): Banner cut off on Products / Tamweel pages.
   The JS injectPageBanner() inserts .dga-page-banner inside whatever
   container the breadcrumb/content lives in, which is .container or
   #DeltaPlaceHolderMain - both width-constrained. Use the
   "full-bleed" trick so the banner background spans 100vw regardless
   of its DOM ancestor.
   ============================================================ */
.dga-page-banner {
  position: relative !important;
  width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  /* Keep the existing background gradient, padding, etc. that were
     defined at line 8677. !important on the layout properties only -
     the original block's defaults stay otherwise. */
}
/* The inner content should stay aligned with the page container width,
   not stretch edge-to-edge. */
.dga-page-banner > .container {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* ============================================================
   FIX 9 (2026-05-21): Product detail tables had cells in RTL order.
   SP content authors wrote these tables for Arabic and the English
   versions inherited the same cell ordering, so on /en/Products/...
   pages the label appeared on the right and the content on the left.
   Reverse the visual cell order on English pages by setting
   direction:rtl on the table while keeping cell CONTENT direction:ltr
   so text reads normally.  Restrict to the SP rich-text field so we
   don't flip layout-only tables.
   ============================================================ */
html[lang^="en"] .ms-rtestate-field table,
body:not([dir="rtl"]) .ms-rtestate-field table {
  direction: rtl !important;
}
html[lang^="en"] .ms-rtestate-field table td,
html[lang^="en"] .ms-rtestate-field table th,
body:not([dir="rtl"]) .ms-rtestate-field table td,
body:not([dir="rtl"]) .ms-rtestate-field table th {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: embed !important;
}

/* ============================================================
   FIX 10 (2026-05-21): Mobile home layout — Steps + Stats sections
   were rendering as horizontal flex-rows at 390px width, with all
   but the first card overflowing off-screen and clipped by parent
   overflow:hidden. Stack vertically on mobile so all content shows.
   ============================================================ */
@media (max-width: 767.98px) {
  /* "Kafalah Steps" section — stack the 4 step cards vertically */
  body.dga-homepage .steps__container,
  body.dga-homepage .steps .row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.dga-homepage .steps__step,
  body.dga-homepage .steps .col-xl-3,
  body.dga-homepage .steps .col-lg-3 {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 320px !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  body.dga-homepage .steps__icon,
  body.dga-homepage .steps .step-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body.dga-homepage .steps,
  body.dga-homepage .steps.d-pad {
    overflow: visible !important;   /* don't clip cards while they're being stacked */
    padding-bottom: 32px !important;
  }

  /* "Kafalah in Numbers" — stats cards: 2-column grid that wraps */
  body.dga-homepage .numbers .row,
  body.dga-homepage .numbers__container,
  body.dga-homepage .numbers > .container > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.dga-homepage .numbers__block,
  body.dga-homepage .numbers .col,
  body.dga-homepage .numbers .col-xl-3,
  body.dga-homepage .numbers .col-lg-3 {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
  }
  body.dga-homepage .numbers__number,
  body.dga-homepage .numbers .number,
  body.dga-homepage [class*="numbers__number"] {
    font-size: clamp(24px, 8vw, 36px) !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: keep-all !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }
  body.dga-homepage .numbers__text,
  body.dga-homepage .numbers .text {
    font-size: clamp(11px, 3.2vw, 14px) !important;
    line-height: 1.35 !important;
    width: auto !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }
  body.dga-homepage .numbers,
  body.dga-homepage .numbers.d-pad {
    overflow: visible !important;
    padding: 24px 16px !important;
  }

  /* FIX 10b: "Kafalah in Numbers" title was clamped to ~120px and broke
     into 4 lines ("Kafala" / "h in" / "Numbe" / "rs"). Force full width. */
  body.dga-homepage .numbers .section-title,
  body.dga-homepage .numbers h2,
  body.dga-homepage .numbers__title,
  body.dga-homepage .numbers > .container > h2,
  body.dga-homepage .numbers .title {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    line-height: 1.2 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    transform: none !important;
  }

  /* FIX 10c: Stats numbers rendering in faint gray/transparent. Force
     visible DGA green so they're actually readable. */
  body.dga-homepage .numbers__number,
  body.dga-homepage .numbers .number,
  body.dga-homepage [class*="numbers__number"] {
    color: #067647 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
  }
  body.dga-homepage .numbers__text,
  body.dga-homepage .numbers .text,
  body.dga-homepage .numbers__block p {
    color: #1F2937 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
  }

  /* FIX 10d: Stories section content overlap - swiper overlay and
     section heading were stacking. Isolate Stories so its bounds clip
     to itself and add top margin so it doesn't bleed from Steps above. */
  body.dga-homepage .stories,
  body.dga-homepage [class*="stories"]:not([class*="StoriesTxt"]) {
    position: relative !important;
    margin-top: 40px !important;
    isolation: isolate !important;
    overflow: hidden !important;
  }
  /* Hide any duplicate "opinion" overlay text inside the swiper - the
     section already has its own heading + subtitle above the swiper */
  body.dga-homepage .stories .swiper-slide [class*="opinion"],
  body.dga-homepage .stories .swiper-slide .stories__subtitle {
    /* leave alone - this is content - but ensure z-index doesn't trump */
    z-index: 1 !important;
  }
  /* Steps section should not let its last card bleed into next section */
  body.dga-homepage .steps,
  body.dga-homepage .steps.d-pad {
    padding-bottom: 48px !important;
  }
}

/* ============================================================
   FIX 11 (2026-05-21): Very narrow mobile (<=575) — stack stats
   single-column so "+48 Billion" and "+71 Billion" don't break
   mid-word ("+48 Billi" / "Bllion") in the 50%-width cards.
   The actual flex column is `<div class="col-md-6 col-lg-3">` with
   flex:0 0 25% from Bootstrap; previous rule targeted .numbers__block
   which is the inner content. Target the col-* classes directly.
   ============================================================ */
@media (max-width: 575.98px) {
  /* Force the Bootstrap columns to full width at narrow mobile */
  body.dga-homepage .numbers .col-md-6,
  body.dga-homepage .numbers .col-lg-3,
  body.dga-homepage .numbers .col-md-6.col-lg-3,
  body.dga-homepage .numbers [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body.dga-homepage .numbers__block {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  /* Ensure the parent .row doesn't keep them wrapped horizontally */
  body.dga-homepage .numbers .row,
  body.dga-homepage .numbers > .container > .row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }
  body.dga-homepage .numbers .row > * {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* ============================================================
   FIX 12 (2026-05-21, revised): Chatbot widget DGA theming
   Third-party "ST" chat widget injected by
   chat-smebank.uniithra.com.sa/Generate_kafalah/chatBot-en.js
   v2: polished pill design — 56px circular button with chat-bubble
   icon; "Not available" disabled state in muted DGA gray, not navy.
   ============================================================ */

/* Container — bottom-left (RTL pattern on this site), proper spacing */
.st-btn-container.right-bottom,
.st-btn-container-disable.right-bottom,
.st-btn-container,
.st-btn-container-disable {
  bottom: 24px !important;
  right: auto !important;
  left: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  border-radius: 32px !important;
  padding: 0 !important;
  z-index: 9999 !important;
}

/* Available (live) state — pure brand */
.st-btn-container.right-bottom {
  background-color: transparent !important;
}

/* Disabled / unavailable state — soft muted dark green pill */
.st-btn-container-disable.right-bottom {
  background-color: rgba(7, 77, 49, 0.92) !important;
  background-image: none !important;
  box-shadow: 0 8px 24px rgba(7, 77, 49, 0.22) !important;
  padding-right: 18px !important;
  border-radius: 32px !important;
}

/* The circular chat button itself */
.st-button-main {
  background-color: #067647 !important;
  background-image: linear-gradient(135deg, #067647 0%, #074D31 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 24px rgba(7, 77, 49, 0.32) !important;
  font-family: "IBM Plex Sans Arabic", sans-serif !important;
  cursor: pointer !important;
  position: relative !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.st-button-main:hover {
  background-image: linear-gradient(135deg, #074D31 0%, #053321 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(7, 77, 49, 0.4) !important;
}
/* Inject a chat-bubble icon via ::before so the button isn't an
   empty green circle (third-party widget didn't bundle an icon) */
.st-button-main::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 26px 26px !important;
  pointer-events: none !important;
}
/* Disabled-state icon (lower-contrast) */
.st-btn-container-disable .st-button-main {
  background-image: linear-gradient(135deg, #5C7A6F 0%, #455F55 100%) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18) !important;
  cursor: not-allowed !important;
}
.st-btn-container-disable .st-button-main:hover {
  transform: none !important;
  background-image: linear-gradient(135deg, #5C7A6F 0%, #455F55 100%) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18) !important;
}

/* "Not available now" label (visible only in disabled state) */
.st-button-lable {
  color: #ffffff !important;
  font-family: "IBM Plex Sans Arabic", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  padding: 0 4px 0 0 !important;
  line-height: 1.3 !important;
}

/* Chat panel (expanded view) */
.st-panel {
  border-radius: 16px !important;
  box-shadow: 0 20px 48px rgba(16, 24, 40, 0.18) !important;
  border: 1px solid #D2D6DB !important;
  overflow: hidden !important;
  font-family: "IBM Plex Sans Arabic", sans-serif !important;
}
.st-panel-header,
.st-panel-header.text-center {
  background-color: #067647 !important;
  background-image: linear-gradient(135deg, #067647 0%, #074D31 100%) !important;
  color: #ffffff !important;
  padding: 16px 20px !important;
  font-family: "IBM Plex Sans Arabic", sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.st-panel-header * { color: #ffffff !important; }
.st-panel #CloseBtn,
.st-panel-header #CloseBtn,
.st-panel .pull-left.fa.fa-times {
  color: #ffffff !important;
  opacity: 0.9 !important;
}
.st-panel #CloseBtn:hover { opacity: 1 !important; }

/* Chat actions / cells */
.st-actionContainer.right-bottom { font-family: "IBM Plex Sans Arabic", sans-serif !important; }
.My-Cell,
.My-grid {
  font-family: "IBM Plex Sans Arabic", sans-serif !important;
  color: #1F2A37 !important;
}
.My-grid-disable { opacity: 0.5 !important; }

/* ============================================================
   FIX 13 (2026-05-21): Footer bottom-strip typography polish
   Now that the strip merges with the main green footer, refine
   typography + spacing of Sitemap/RSS links and copyright.
   ============================================================ */
.dga-footer-bottom__inner {
  padding: 0 16px !important;
  align-items: center !important;
}
.dga-footer-bottom__links a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
}
.dga-footer-bottom__links a:hover,
.dga-footer-bottom__links a:focus-visible {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}
.dga-footer-bottom__links a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.5) !important;
  outline-offset: 2px !important;
}
.dga-footer-bottom__links span {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 13px !important;
  user-select: none !important;
}
.dga-footer-bottom__copy {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  letter-spacing: 0.01em !important;
}
.dga-footer-bottom__logo img {
  max-height: 24px !important;
  opacity: 0.85 !important;
  transition: opacity 0.15s ease !important;
}
.dga-footer-bottom__logo:hover img { opacity: 1 !important; }

/* ============================================================
   FIX 15 (2026-05-21): Footer polish — seal under Follow Us + larger Kafalah logo
   User feedback: "the seal look like middle part correct the seal below
   the follow us and fit make it simple footer one part and the logo
   not visual in footer correct that also"
   - Move .dga-footer-stamp (DGA seal) to right-align so it sits under
     the Follow Us social column (right side of footer)
   - Tighten the seal strip padding so the footer reads as one cohesive band
   - Enlarge the Kafalah logo in the brand column so it's clearly visible
   ============================================================ */
/* Compact footer — seal under Follow Us, no white background panel
   (DGA seal is white-on-transparent → designed for dark backgrounds).
   Uses logical `flex-end` so the seal auto-flips position when the
   page direction switches (right in LTR / left in RTL). */
.dga-footer-stamp {
  display: flex !important;
  justify-content: flex-end !important;  /* auto-flips: right in LTR, left in RTL */
  align-items: center !important;
  padding: 0 !important;
  margin: -8px 0 12px !important;        /* pull up tight under cols */
  border-top: none !important;
  background: transparent !important;
}
.dga-footer-stamp img,
.dga-footer-stamp svg {
  /* NO background, NO padding, NO border — let the DGA white-on-
     transparent badge display directly on the green footer. */
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 56px !important;
  width: auto !important;
  max-width: 200px !important;
  opacity: 1 !important;
  display: block !important;
  object-fit: contain !important;
}
/* NOTE: do NOT add an [dir="rtl"] override here. The flex-end value
   above already does the right thing for both LTR and RTL because
   `flex-end` follows the parent's writing direction. Manually
   forcing flex-start on RTL would PIN the seal to the right on
   Arabic pages (the opposite of what's wanted). */

/* COMPACT footer — tight padding everywhere, one cohesive band */
.dga-footer-body {
  padding: 24px 0 12px !important;
}
.dga-footer-cols {
  gap: 24px !important;
  padding-bottom: 0 !important;
}
.dga-footer-bottom {
  padding: 10px 0 12px !important;
}
.dga-footer-bottom__copy {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.dga-footer-heading {
  margin-bottom: 12px !important;
  font-size: 14px !important;
}
.dga-footer-links li {
  margin-bottom: 6px !important;
}
.dga-footer-links a {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Kafalah brand logo — make it visibly bigger in the footer column */
.dga-footer-col--brand .footer__logo,
.dga-footer-col--brand a.footer__logo {
  display: inline-block !important;
}
.dga-footer-col--brand .footer__logo img,
.dga-footer-col--brand a img {
  height: 64px !important;
  width: auto !important;
  max-width: 180px !important;
  display: block !important;
}
.dga-footer-col--brand {
  min-height: 64px !important;
}

/* ============================================================
   FIX 14 (2026-05-21): User wants the footer bottom strip to be
   JUST the copyright, centered. No Sitemap/RSS links, no small
   Kafalah logo. Make the strip feel like the natural last line of
   the main green footer, not a separate sub-section.
   ============================================================ */
.dga-footer-bottom {
  /* Match main footer body exactly - no darker shade, no border-top
     - so the copyright reads as the final line of one unified footer. */
  background-color: #074D31 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 12px 0 14px !important;
}
/* Hide Sitemap | RSS links and the small logo */
.dga-footer-bottom__links,
.dga-footer-bottom__logo {
  display: none !important;
}
/* Copyright takes the full width, centered */
.dga-footer-bottom__inner {
  justify-content: center !important;
  text-align: center !important;
}
.dga-footer-bottom__copy {
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 auto !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ============================================================
   FIX 6 (2026-05-21): Laptop range (1280-1599) — show horizontal
   nav but with fewer items. Hides "Muahal Initiative / Start Your
   Journey" so the remaining 6 items + search/lang/vision fit.
   <1280 still collapses to hamburger.

   Selectors include :not(.show) to match the specificity of the
   global @media (max-width:1599.98px) rule above (which hides
   .navbar-collapse:not(.show) .navbar-nav).  Without :not(.show),
   the global rule wins on specificity and the nav stays hidden.
   ============================================================ */
@media (min-width: 1280px) and (max-width: 1599.98px) {
  /* Hide the hamburger at this range — we use the horizontal nav instead */
  .header .navbar-toggler { display: none !important; }

  /* Re-show the navbar collapse and the nav list (both .show and :not(.show)
     because Bootstrap may not add .show on desktop) */
  .header .navbar-collapse,
  .header .navbar-collapse:not(.show) { display: flex !important; }

  .header .navbar-collapse .navbar-nav,
  .header .navbar-collapse:not(.show) .navbar-nav,
  .header .navbar-collapse #dga-main-nav,
  .header .navbar-collapse:not(.show) #dga-main-nav {
    display: flex !important;
    flex-direction: row !important;
  }

  /* Hide Muahal Initiative / Start Your Journey at laptop widths */
  .header .navbar-nav > li[data-dga-nav-key="muahal"],
  #dga-main-nav > li[data-dga-nav-key="muahal"] {
    display: none !important;
  }

  /* Compact nav typography so 6 items + utility bar fit at this width */
  .header .navbar-nav > li > a,
  .header .navbar-nav > li > .nav-link,
  #dga-main-nav > li > a,
  #dga-main-nav > li > a.nav-link {
    font-size: clamp(13px, 0.92vw, 15px) !important;
    line-height: 22px !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
  }
}
