/* =============================================================================
   header-footer.css -- standalone extract from the Emirates NBD Design System

   Contains ONLY what blocks/site-header-v4.html + blocks/footer-option1.html
   actually use: their own component styles (.cmp-site-header.ish-v4/.ish-*,
   .cmp-footer-option1/.fo1-*), the design tokens those styles reference, and
   the two shared utility classes they depend on (.container-ds, .surface-grey).
   The footer's markup also uses several Tailwind utility classes (flex, grid,
   gap-*, items-center, justify-between, grid-cols-2, lg:grid-cols-5,
   md:gap-10, flex-col, gap-2, w-4, h-4) -- those are generated at RUNTIME by
   js/tailwind.cdn.js + js/ds-tailwind-config.js (load order in README.md),
   not hand-written here, so only the classes actually present ever ship.

   One bug fixed vs the source file: --grey-100 was defined as
   `var(--grey-100)` in ds.css (self-referential -> invalid custom property),
   so .fo1-copyright's background silently failed in the original file too.
   Given a real value here instead of reproducing the bug.
============================================================================= */

:root {
  --navy:   #072447;
  --blue:   #2765FF;
  --mid:    #3A4B5C;
  --light:  #F4F7FB;
  --border: #E5E7EB;

  --navy-rgb: 7, 36, 71;
  --blue-rgb: 39, 101, 255;
  --mid-rgb:  58, 75, 92;

  --navy-deep:  #040D1C;
  --navy-shade: #0F2340;
  --blue-wash:  #EEF3FF;
  --blue-strong: #1A54E8;

  --header-cta:        var(--blue);
  --header-cta-strong: var(--blue-strong);
  --header-cta-ink:    #ffffff;

  --grey-100: #F0F2F5;  /* fixed -- source token was self-referential (var(--grey-100)), invalid */
  --grey-2:   #F0F2F5;  /* page canvas background, matches ds.css's html,body rule */

  --font-sans:   'Plus Jakarta Sans', sans-serif;
  --font-arabic: 'Tajawal', sans-serif;

  --ease-out: cubic-bezier(.16, 1, .3, 1);

  --page-x: 24px;
  --content-max: 1400px;
}
@media (min-width: 768px)  { :root { --page-x: 64px; } }
@media (min-width: 1024px) { :root { --page-x: 120px; } }

/* Base reset -- so header/footer text renders in the DS typeface, not the
   browser default. Trimmed from ds.css's html,body rule. */
/* scroll-behavior: auto prevents Bootstrap 5's `html { scroll-behavior: smooth }`
   from double-animating Lenis's programmatic scrolls, which causes touchpad jitter. */
html { scroll-behavior: auto !important; }
html, body { margin: 0; padding: 0; background: var(--grey-2); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body * { font-family: inherit; }

/* Shared utility classes used by both header and footer */
.container-ds { width: 100%; max-width: var(--content-max); margin-left: auto; margin-right: auto; padding-inline: var(--page-x); }
.surface-grey { background: var(--light); --on-surface: var(--navy); --on-surface-mid: var(--mid); --on-surface-border: var(--border); }

/* =============================================================================
   SITE HEADER (v4) -- .cmp-site-header.ish-v4 / .ish-*
   Extracted verbatim from assets/css/ds.css (site-header's shared rules plus
   the .ish-v4-specific overrides and the NAV BREAKPOINT ZONE media queries),
   minus rules that only apply to the default/v2/v2-scroll header variants
   (those aren't used by site-header-v4.html -- see header-v4-classes.json).
============================================================================= */
.cmp-site-header { position: relative !important; z-index: 100; transition: none !important; }
.cmp-site-header .ish-bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cmp-site-header .ish-utility { background: var(--navy, var(--navy)); position: relative; z-index: 101; }
.cmp-site-header .ish-utility .ish-bar { height: 40px; }
.cmp-site-header .ish-segments { display: flex; align-items: stretch; height: 40px; min-width: 0; }
.cmp-site-header .ish-segments a { display: flex; align-items: center; padding: 0 8px; font-size: 11px; font-weight: 500; line-height: 1; color: rgba(255,255,255,.72); text-decoration: none; white-space: nowrap; transition: color .2s, background .2s; }
.cmp-site-header .ish-segments a:hover { color: #fff; background: rgba(255,255,255,.06); }
.cmp-site-header .ish-segments a.is-active { background: var(--blue, var(--blue)); color: #fff; }
.cmp-site-header .ish-segwrap { display: flex; align-items: stretch; min-width: 0; }
.cmp-site-header .ish-more-wrap { position: relative; display: flex; align-items: stretch; }
.cmp-site-header .ish-more-trigger { display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; background: none; border: 0; font: inherit; font-size: 11px; font-weight: 500; color: rgba(255,255,255,.72); white-space: nowrap; cursor: pointer; transition: color .2s, background .2s; }
.cmp-site-header .ish-more-trigger:hover, .cmp-site-header .ish-more-wrap.is-open .ish-more-trigger { color: #fff; background: rgba(255,255,255,.06); }
.cmp-site-header .ish-more-caret { transition: transform .2s var(--ease-out, ease); }
.cmp-site-header .ish-more-wrap.is-open .ish-more-caret { transform: rotate(180deg); }
.cmp-site-header .ish-more-panel { position: absolute; top: 100%; inset-inline-end: 0; background: #fff; border-radius: 12px; box-shadow: 0 18px 40px rgba(var(--navy-rgb), .18); padding: 24px 28px; display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)); gap: 4px 40px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s var(--ease-out, ease), transform .2s var(--ease-out, ease), visibility .2s; pointer-events: none; z-index: 120; }
.cmp-site-header .ish-more-wrap.is-open .ish-more-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.cmp-site-header .ish-utility-right { display: flex; align-items: center; gap: 12px; flex: none; }
.cmp-site-header.ish-v4 .ish-bar-tools { display: flex; align-items: center; gap: 12px; }
.cmp-site-header.ish-v4 .ish-brand-left { gap: 16px; }
.cmp-site-header.ish-v4 .ish-menu { gap: 12px; }
.cmp-site-header.ish-v4 .ish-menu-trigger { font-size: 13px; }
.cmp-site-header.ish-v4 .ish-bar-tools { gap: 10px; }
.cmp-site-header.ish-v4 .ish-bar-tools .ish-lang { font-size: 12.5px; font-weight: 600; padding: 8px 10px; border-radius: 999px; color: rgba(255,255,255,.85); transition: background .2s, color .2s; }
.cmp-site-header.ish-v4 .ish-lang[lang="ar"],
.cmp-site-header.ish-v4 .ish-lang-m[lang="ar"] { font-family: var(--font-arabic); }
.cmp-site-header.ish-v4 .ish-bar-tools .ish-lang:hover { background: rgba(255,255,255,.12); color: #fff; }
.cmp-site-header.ish-v4 .ish-bar-tools .ish-login { padding: 9px 16px; border-radius: 999px; background: var(--header-cta); color: var(--header-cta-ink); font-size: 12.5px; font-weight: 700; gap: 7px; transition: background .2s, box-shadow .2s; }
.cmp-site-header.ish-v4 .ish-bar-tools .ish-login:hover { background: var(--header-cta-strong); box-shadow: 0 6px 18px color-mix(in srgb, var(--header-cta) 35%, transparent); }
.cmp-site-header.ish-v4 .ish-bar-tools .ish-login .ish-login-caret { opacity: .85; }
.cmp-site-header.ish-v4 .ish-login-wrap { position: relative; display: flex; }
.cmp-site-header.ish-v4 .ish-login-wrap.is-open .ish-login { background: var(--header-cta-strong); }
.cmp-site-header.ish-v4 .ish-login-wrap:hover .ish-dropdown { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.cmp-site-header.ish-v4 .ish-login-wrap:hover::after { content: ''; position: absolute; top: 100%; inset-inline: 0; height: 12px; }
.cmp-site-header.ish-v4 .ish-login-wrap:hover .ish-login { background: var(--header-cta-strong); }
.cmp-site-header.ish-v4 .ish-login-wrap:hover .ish-login-caret,
.cmp-site-header.ish-v4 .ish-login-wrap.is-open .ish-login-caret { transform: rotate(180deg); }
.cmp-site-header.ish-v4 .ish-login-caret { transition: transform .2s var(--ease-out, ease); }
.cmp-site-header.ish-v4 .ish-segments a { padding: 0 6px; }
.cmp-site-header.ish-v4 .ish-panel-inner:has(.ish-mega-media) { grid-template-columns: clamp(300px, 30%, 460px) repeat(3, 1fr); max-width: none; }
.cmp-site-header.ish-v4 .ish-mega-media { margin: -35px 0 -40px; margin-inline-start: calc(-1 * var(--page-x)); overflow: hidden; min-height: 340px; }
.cmp-site-header.ish-v4 .ish-panel::before { top: -9px; width: 20px; height: 9px; border: 0; border-radius: 0; transform: translateX(-50%); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.cmp-site-header.ish-v4 .ish-mega-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ish-drawer .ish-mega-media { display: none; }
.cmp-site-header.ish-v4 .ish-drawer-sec > summary { border-inline-start: 3px solid transparent; transition: color .2s, background .2s, border-color .2s; }
.cmp-site-header.ish-v4 .ish-drawer-sec[open] > summary { color: var(--blue, var(--blue)); border-inline-start-color: var(--blue, var(--blue)); background: rgba(var(--blue-rgb), .06); }
.cmp-site-header.ish-v4 .ish-more-panel { grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 4px 56px; padding: 20px 24px; }
.cmp-site-header.ish-v4 .ish-col-h { margin: 0 0 10px; }
.cmp-site-header.ish-v4 .ish-site { display: flex; align-items: flex-start; gap: 12px; padding: 5px 0; }
.cmp-site-header.ish-v4 .ish-more-ico { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 26px; height: 26px; margin-top: 2px; }
.cmp-site-header.ish-v4 .ish-more-ico > * { width: 100%; height: 100%; display: block; }
.cmp-site-header.ish-v4 .ish-flag { height: 18px; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(var(--navy-rgb), .10); }
.cmp-site-header.ish-v4 .ish-site-logo { border-radius: 4px; overflow: hidden; }
.cmp-site-header.ish-v4 .ish-site-body { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.cmp-site-header.ish-v4 .ish-site-name { font-size: 12px; font-weight: 600; color: var(--navy, var(--navy)); }
.cmp-site-header.ish-v4 .ish-site-langs { display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; }
.cmp-site-header.ish-v4 .ish-site-sep { align-self: center; }
.cmp-site-header.ish-v4 .ish-site-langs a { display: inline-flex; align-items: center; min-height: 20px; padding: 0; font-size: 12px; color: var(--blue, var(--blue)); }
.cmp-site-header.ish-v4 .ish-site-langs a:hover { text-decoration: underline; }
.cmp-site-header.ish-v4 .ish-drawer .ish-site { padding: 7px 0; }
.cmp-site-header.ish-v4 .ish-drawer .ish-site-langs a { min-height: 36px; }
.cmp-site-header.ish-v4 .ish-site-langs a[lang="ar"] { font-family: var(--font-arabic); }
.cmp-site-header.ish-v4 .ish-site-sep { color: rgba(var(--navy-rgb), .25); font-size: 12px; }
.cmp-site-header.ish-v4 .ish-dropdown a { display: flex; align-items: center; gap: 10px; }
.cmp-site-header.ish-v4 .ish-dropdown a svg, .cmp-site-header.ish-v4 .ish-dropdown a img { flex: none; opacity: .65; transition: opacity .15s; }
.cmp-site-header.ish-v4 .ish-dropdown a:hover svg, .cmp-site-header.ish-v4 .ish-dropdown a:hover img { opacity: 1; }
.cmp-site-header .ish-lang, .cmp-site-header .ish-login { display: flex; align-items: center; gap: 7px; background: none; border: 0; padding: 0; font: inherit; font-size: 11px; cursor: pointer; white-space: nowrap; }
.cmp-site-header .ish-lang { color: rgba(255,255,255,.72); font-weight: 500; transition: color .2s; }
.cmp-site-header .ish-lang:hover { color: #fff; }
.cmp-site-header .ish-login { color: #fff; font-weight: 500; }
.cmp-site-header .ish-util-link { font-size: 11px; font-weight: 500; color: rgba(255,255,255,.72); text-decoration: none; white-space: nowrap; transition: color .2s; }
.cmp-site-header .ish-util-link:hover { color: #fff; }
.cmp-site-header .ish-lang-m { display: none; }
.cmp-site-header .ish-brand { position: fixed; top: 40px; left: 0; right: 0; z-index: 100; background: transparent; color: #fff; transition: background .4s var(--ease-out, ease), color .4s var(--ease-out, ease), box-shadow .4s var(--ease-out, ease); }
.cmp-site-header .ish-brand .ish-bar { padding-top: 14px; padding-bottom: 14px; }
.cmp-site-header .ish-brand::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 150px; background: linear-gradient(180deg, color-mix(in srgb, var(--navy-deep) 55%, transparent) 0%, color-mix(in srgb, var(--navy-deep) 18%, transparent) 55%, transparent 100%); z-index: -1; pointer-events: none; opacity: 1; transition: opacity .4s var(--ease-out, ease); }
.cmp-site-header .ish-brand-left { display: flex; align-items: center; gap: 32px; min-width: 0; }
.cmp-site-header .ish-logo { display: inline-flex; flex: none; }
.cmp-site-header .ish-logo-img { display: block; width: 128px; height: 34px; object-fit: contain; object-position: left center; }
.cmp-site-header .ish-menu { display: flex; align-items: center; gap: 28px; }
.cmp-site-header .ish-mega { display: flex; align-items: center; }
.cmp-site-header .ish-menu-trigger { display: inline-flex; align-items: center; gap: 5px; background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 500; color: currentColor; opacity: .9; white-space: nowrap; cursor: pointer; transition: opacity .2s; }
.cmp-site-header .ish-menu-trigger:hover, .cmp-site-header .ish-mega.is-open .ish-menu-trigger { opacity: 1; }
.cmp-site-header .ish-menu-trigger svg, .cmp-site-header .ish-menu-trigger img { transition: transform .25s var(--ease-out, ease); }
.cmp-site-header .ish-mega.is-open .ish-menu-trigger svg, .cmp-site-header .ish-mega.is-open .ish-menu-trigger img { transform: rotate(180deg); }
.cmp-site-header .ish-panel { position: absolute; top: 100%; left: 0; right: 0; background: #fff; box-shadow: 0 24px 48px rgba(var(--navy-rgb), .14); border-top: 1px solid rgba(var(--navy-rgb), .06); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease-out, ease), transform .25s var(--ease-out, ease), visibility .25s; pointer-events: none; }
.cmp-site-header .ish-mega.is-open .ish-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.cmp-site-header .ish-panel::before { content: ''; position: absolute; top: -7px; left: var(--caret-x, 50%); width: 14px; height: 14px; background: #fff; transform: translateX(-50%) rotate(45deg); border-top: 1px solid rgba(var(--navy-rgb), .06); border-left: 1px solid rgba(var(--navy-rgb), .06); border-top-left-radius: 3px; }
.cmp-site-header .ish-panel-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 48px; padding-top: 34px; padding-bottom: 40px; }
.cmp-site-header .ish-col-h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--navy, var(--navy)); margin: 0 0 12px; }
.cmp-site-header .ish-col a { display: block; font-size: 14px; line-height: 1.3; color: var(--mid, var(--mid)); text-decoration: none; padding: 7px 0; transition: color .15s; }
.cmp-site-header .ish-col a:hover { color: var(--blue, var(--blue)); }
.cmp-site-header .ish-search { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: currentColor; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; transition: background .3s, border-color .3s, color .3s; }
.cmp-site-header .ish-search:hover, .cmp-site-header .ish-search-wrap.is-open .ish-search { background: rgba(255,255,255,.2); }
.cmp-site-header .ish-login-wrap { position: relative; }
.cmp-site-header .ish-login-caret { transition: transform .2s var(--ease-out, ease); }
.cmp-site-header .ish-login-wrap.is-open .ish-login-caret { transform: rotate(180deg); }
.cmp-site-header .ish-dropdown { position: absolute; top: calc(100% + 11px); inset-inline-end: 0; min-width: 230px; background: #fff; border-radius: 12px; box-shadow: 0 18px 40px rgba(var(--navy-rgb), .18); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s var(--ease-out, ease), transform .2s var(--ease-out, ease), visibility .2s; pointer-events: none; z-index: 120; }
.cmp-site-header .ish-login-wrap.is-open .ish-dropdown { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.cmp-site-header .ish-dropdown a { display: block; padding: 10px 14px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--navy, var(--navy)); text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.cmp-site-header .ish-dropdown a:hover { background: var(--blue-wash); color: var(--blue, var(--blue)); }
.cmp-site-header .ish-search-panel { position: absolute; top: 100%; left: 0; right: 0; background: #fff; box-shadow: 0 24px 48px rgba(var(--navy-rgb), .14); border-top: 1px solid rgba(var(--navy-rgb), .06); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease-out, ease), transform .25s var(--ease-out, ease), visibility .25s; pointer-events: none; }
.cmp-site-header .ish-search-panel::before { content: ''; position: absolute; top: -7px; left: var(--caret-x, 90%); width: 14px; height: 14px; background: #fff; transform: translateX(-50%) rotate(45deg); border-top: 1px solid rgba(var(--navy-rgb), .06); border-left: 1px solid rgba(var(--navy-rgb), .06); border-top-left-radius: 3px; }
.cmp-site-header .ish-search-wrap.is-open .ish-search-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.cmp-site-header .ish-search-inner { padding-top: 28px; padding-bottom: 30px; }
.cmp-site-header .ish-search-form { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid var(--navy, var(--navy)); padding-bottom: 12px; color: var(--navy, var(--navy)); }
.cmp-site-header .ish-search-input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font: inherit; font-size: clamp(18px, 2vw, 24px); color: var(--navy, var(--navy)); }
.cmp-site-header .ish-search-input::placeholder { color: rgba(var(--navy-rgb), .4); }
.cmp-site-header .ish-search-pop { display: flex; align-items: center; gap: 12px; margin-top: 18px; flex-wrap: wrap; }
.cmp-site-header .ish-search-pop-lbl { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mid, var(--mid)); }
.cmp-site-header .ish-search-pop a { font-size: 14px; color: var(--navy, var(--navy)); text-decoration: none; padding: 6px 14px; border: 1px solid rgba(var(--navy-rgb), .14); border-radius: 999px; transition: border-color .15s, color .15s, background .15s; }
.cmp-site-header .ish-search-pop a:hover { border-color: var(--blue, var(--blue)); color: var(--blue, var(--blue)); background: var(--blue-wash); }
.cmp-site-header .ish-search-recent { margin-top: 18px; }
.cmp-site-header .ish-search-recent ~ .ish-search-pop { margin-top: 12px; }
.cmp-site-header .ish-search-recent-clear { border: 0; background: none; font: inherit; font-size: 12px; font-weight: 600; color: var(--mid, var(--mid)); cursor: pointer; padding: 6px 4px; transition: color .15s; }
.cmp-site-header .ish-search-recent-clear:hover { color: var(--blue, var(--blue)); }
.cmp-site-header .ish-suggest { display: flex; flex-direction: column; margin-top: 6px; max-height: 300px; overflow-y: auto; }
.cmp-site-header .ish-suggest:not([hidden]) { animation: ish-suggest-in .28s cubic-bezier(.16,1,.3,1) both; }
.cmp-site-header .ish-suggest a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 12px; font-size: 14px; color: var(--navy, var(--navy)); text-decoration: none; text-align: start; border-radius: 10px; transition: background .12s; }
.cmp-site-header .ish-sug-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmp-site-header .ish-sug-src { flex-shrink: 0; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--mid, var(--mid)); }
.cmp-site-header .ish-suggest a b { color: var(--blue, var(--blue)); font-weight: 700; }
.cmp-site-header .ish-suggest a:hover, .cmp-site-header .ish-suggest a.is-active { background: var(--light); }
.cmp-site-header .ish-suggest:not([hidden]) ~ .ish-search-pop { display: none; }
.cmp-site-header.is-solid .ish-brand,
.cmp-site-header.is-menu-open .ish-brand,
.cmp-site-header:hover .ish-brand { background: var(--navy, var(--navy)); color: #fff; box-shadow: 0 8px 28px rgba(var(--navy-rgb), .28); }
.cmp-site-header.is-solid .ish-brand::before,
.cmp-site-header.is-menu-open .ish-brand::before,
.cmp-site-header:hover .ish-brand::before { opacity: 0; }
.cmp-site-header .ish-burger { display: none; }
.cmp-site-header .ish-drawer { display: none; }
html.ish-nav-lock { overflow: hidden; }
@media (max-width: 639px) {
  .cmp-site-header .ish-search-panel { height: calc(100vh - 72px); height: calc(100dvh - 72px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .cmp-site-header .ish-search-inner { padding-top: 18px; padding-bottom: 20px; }
  .cmp-site-header .ish-search-input { font-size: 16px; }
  .cmp-site-header .ish-search-form { gap: 10px; padding-bottom: 10px; }
  .cmp-site-header .ish-search-form svg, .cmp-site-header .ish-search-form img { width: 18px; height: 18px; }
  .cmp-site-header .ish-search-pop { gap: 8px; margin-top: 14px; }
  .cmp-site-header .ish-search-pop-lbl { flex-basis: 100%; }
  .cmp-site-header .ish-search-pop a { font-size: 13px; padding: 5px 12px; }
  .cmp-site-header.ish-v4 .ish-login-wrap { display: none; }
  .cmp-site-header .ish-drawer-login-btn { display: inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .cmp-site-header .ish-suggest:not([hidden]) { animation: none; }
  .cmp-site-header .ish-drawer-secbody { transition: none; }
  .cmp-site-header .ish-drawer-track { transition: none; }
}
@media (max-width: 1399px) {
  .cmp-site-header.ish-v4 .ish-bar-tools .ish-lang { display: none; }
  .cmp-site-header.ish-v4 .ish-lang-m { order: 1; margin-inline-start: auto; }
  .cmp-site-header.ish-v4 .ish-bar-tools { order: 2; }
  .cmp-site-header.ish-v4 .ish-burger { order: 3; }
  .cmp-site-header .ish-segments { overflow-x: auto; scrollbar-width: none; }
  .cmp-site-header .ish-segments::-webkit-scrollbar { display: none; }
  .cmp-site-header .ish-menu { display: none; }
  .cmp-site-header .ish-utility { display: none; }
  .cmp-site-header .ish-brand { overflow-x: clip; max-width: 100vw; top: 0; background: rgba(var(--navy-rgb), .72); backdrop-filter: blur(12px); color: #fff; box-shadow: 0 8px 28px rgba(var(--navy-rgb), .18); }
  .cmp-site-header .ish-brand::before { display: none; }
  .cmp-site-header .ish-brand .ish-bar { gap: 10px; }
  .cmp-site-header .ish-search-wrap { margin-left: auto; }
  .cmp-site-header .ish-lang-m { display: inline-flex; align-items: center; background: none; border: 0; padding: 12px 6px; font: inherit; font-size: 13px; font-weight: 600; color: currentColor; cursor: pointer; white-space: nowrap; }
  .cmp-site-header .ish-brand-left { gap: 12px; }
  .cmp-site-header .ish-utility-right .ish-lang { display: none; }
  .cmp-site-header .ish-burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; padding: 0; border: 0; background: none; color: currentColor; cursor: pointer; }
  .cmp-site-header .ish-burger-bars { position: relative; display: block; width: 24px; height: 16px; }
  .cmp-site-header .ish-burger-bars span { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s var(--ease-out, ease), opacity .2s var(--ease-out, ease); }
  .cmp-site-header .ish-burger-bars span:nth-child(1) { top: 0; }
  .cmp-site-header .ish-burger-bars span:nth-child(2) { top: 7px; }
  .cmp-site-header .ish-burger-bars span:nth-child(3) { top: 14px; }
  .cmp-site-header.is-nav-open .ish-burger-bars span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .cmp-site-header.is-nav-open .ish-burger-bars span:nth-child(2) { opacity: 0; }
  .cmp-site-header.is-nav-open .ish-burger-bars span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .cmp-site-header .ish-drawer { display: block; position: fixed; inset: 0; z-index: 130; visibility: hidden; pointer-events: none; }
  .cmp-site-header.is-nav-open .ish-drawer { visibility: visible; pointer-events: auto; }
  .cmp-site-header .ish-drawer-backdrop { position: absolute; inset: 0; background: color-mix(in srgb, var(--navy-deep) 50%, transparent); opacity: 0; transition: opacity .3s var(--ease-out, ease); }
  .cmp-site-header.is-nav-open .ish-drawer-backdrop { opacity: 1; }
  .cmp-site-header .ish-drawer-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); display: flex; flex-direction: column; background: #fff; color: var(--navy, var(--navy)); box-shadow: -12px 0 40px rgba(var(--navy-rgb), .22); transform: translateX(100%); transition: transform .32s var(--ease-out, ease); overflow: hidden; }
  .cmp-site-header.is-nav-open .ish-drawer-panel { transform: none; }
  .cmp-site-header .ish-drawer-head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; background: #fff; border-bottom: 1px solid rgba(var(--navy-rgb), .08); }
  .cmp-site-header .ish-drawer-close { flex: none; }
  .cmp-site-header .ish-drawer-logo { display: block; width: 116px; height: 30px; object-fit: contain; object-position: left center; }
  .cmp-site-header .ish-drawer-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; padding: 0; border: 0; background: none; color: var(--navy, var(--navy)); cursor: pointer; }
  .cmp-site-header .ish-drawer-sec { border-top: 1px solid rgba(var(--navy-rgb), .08); }
  .cmp-site-header .ish-drawer-sec summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 14px 20px; font-size: 16px; font-weight: 600; color: var(--navy, var(--navy)); cursor: pointer; }
  .cmp-site-header .ish-drawer-sec summary::-webkit-details-marker { display: none; }
  .cmp-site-header .ish-drawer-caret { flex: none; transition: transform .2s var(--ease-out, ease); }
  .cmp-site-header .ish-drawer-sec[open] .ish-drawer-caret { transform: rotate(180deg); }
  .cmp-site-header .ish-drawer-secbody { overflow: hidden; transition: height .32s var(--ease-out, ease); }
  .cmp-site-header .ish-drawer-cols { display: block; padding: 0 20px 8px; }
  .cmp-site-header .ish-drawer-cols .ish-col { margin-bottom: 16px; }
  .cmp-site-header .ish-drawer-cols .ish-col a { display: flex; align-items: center; min-height: 44px; padding: 2px 0; }
  .cmp-site-header .ish-drawer-seg { margin: 0; border-bottom: 1px solid rgba(var(--navy-rgb), .08); }
  .cmp-site-header .ish-drawer-seg-trigger { list-style: none; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 14px 20px; cursor: pointer; background: var(--blue, var(--blue)); }
  .cmp-site-header .ish-drawer-seg-trigger::-webkit-details-marker { display: none; }
  .cmp-site-header .ish-drawer-seg-now { font-size: 16px; font-weight: 700; color: #fff; margin-right: auto; }
  .cmp-site-header .ish-drawer-seg .ish-drawer-caret { flex: none; color: #fff; transition: transform .2s var(--ease-out, ease); }
  .cmp-site-header .ish-drawer-seg[open] .ish-drawer-caret { transform: rotate(180deg); }
  .cmp-site-header .ish-drawer-seg-list { display: flex; flex-direction: column; background: #fff; }
  .cmp-site-header .ish-drawer-seg-list a { display: flex; align-items: center; min-height: 48px; padding: 11px 20px; font-size: 15px; font-weight: 500; color: var(--navy, var(--navy)); text-decoration: none; }
  .cmp-site-header .ish-drawer-seg-list a:hover { background: rgba(var(--navy-rgb), .05); }
  .cmp-site-header .ish-drawer-seg-list a.is-active { color: var(--blue, var(--blue)); font-weight: 700; }
  .cmp-site-header .ish-drawer-body { flex: 1; overflow: hidden; }
  .cmp-site-header .ish-drawer-track { display: flex; width: 200%; height: 100%; transition: transform .32s var(--ease-out, ease); }
  .cmp-site-header .ish-drawer-view { flex: 0 0 50%; min-width: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .cmp-site-header .ish-drawer-panel.is-sub .ish-drawer-track { transform: translateX(-50%); }
  [dir="rtl"] .cmp-site-header .ish-drawer-panel.is-sub .ish-drawer-track { transform: translateX(50%); }
  .cmp-site-header .ish-drawer-groups { padding: 0 20px 8px; }
  .cmp-site-header .ish-drawer-group { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 0; background: none; border: 0; font: inherit; font-size: 15px; color: var(--navy, var(--navy)); cursor: pointer; text-align: start; }
  .cmp-site-header .ish-drawer-sec .ish-drawer-group .ish-drawer-caret { transform: rotate(-90deg); flex-shrink: 0; color: rgba(var(--navy-rgb), .45); }
  [dir="rtl"] .cmp-site-header .ish-drawer-sec .ish-drawer-group .ish-drawer-caret { transform: rotate(90deg); }
  .cmp-site-header .ish-drawer-back { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 48px; padding: 14px 20px; margin-bottom: 16px; background: rgba(var(--blue-rgb), .08); border: 0; border-bottom: 1px solid rgba(var(--blue-rgb), .14); font: inherit; font-size: 14px; font-weight: 700; color: var(--blue, var(--blue)); cursor: pointer; text-align: start; transition: background .2s; }
  .cmp-site-header .ish-drawer-back:hover { background: rgba(var(--blue-rgb), .14); }
  .cmp-site-header .ish-drawer-back svg { transform: rotate(90deg); }
  [dir="rtl"] .cmp-site-header .ish-drawer-back svg { transform: rotate(-90deg); }
  .cmp-site-header .ish-drawer-sub-links { padding: 0 20px 16px; }
  .cmp-site-header .ish-drawer-sub-links .ish-col { margin-bottom: 20px; }
  .cmp-site-header .ish-drawer-sub-links .ish-col-h { margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mid, var(--mid)); }
  .cmp-site-header .ish-drawer-sub-links a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 2px 0; }
  .cmp-site-header .ish-drawer-login-btn { display: none; align-items: center; gap: 6px; margin-inline-start: auto; padding: 7px 14px; border: 1px solid rgba(var(--blue-rgb), .45); border-radius: 999px; background: none; color: var(--blue, var(--blue)); font: inherit; font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background .2s, border-color .2s; }
  .cmp-site-header .ish-drawer-login-btn:hover { background: rgba(var(--blue-rgb), .08); border-color: var(--blue, var(--blue)); }
  .cmp-site-header .ish-drawer-foot { flex: none; background: var(--light); border-top: 1px solid rgba(var(--navy-rgb), .10); }
  .cmp-site-header .ish-drawer-iconbar { display: flex; }
  .cmp-site-header .ish-drawer-icon { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 14px 6px; min-height: 74px; text-align: center; text-decoration: none; color: var(--navy, var(--navy)); font-size: 12px; font-weight: 600; line-height: 1.2; }
  .cmp-site-header .ish-drawer-icon svg { color: var(--blue, var(--blue)); }
  .cmp-site-header .ish-drawer-icon .ish-util-icon { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: var(--blue, var(--blue)); }
  .cmp-site-header .ish-drawer-icon .ish-util-icon svg,
  .cmp-site-header .ish-drawer-icon .ish-util-icon img { width: 22px; height: 22px; object-fit: contain; }
  .cmp-site-header .ish-drawer-icon .ish-util-icon i { font-size: 22px; line-height: 1; font-style: normal; }
  .cmp-site-header .ish-drawer-icon + .ish-drawer-icon::before { content: ''; position: absolute; left: 0; top: 24%; bottom: 24%; width: 1px; background: rgba(var(--navy-rgb), .14); }
}
@media (max-width: 1023px) {
  .cmp-site-header .ish-more-panel {
    grid-template-columns: 1fr;
    max-width: calc(100vw - 32px);
    right: -16px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 20px;
    gap: 20px 0;
  }
  .cmp-site-header .ish-utility .ish-bar { height: 48px; }
  .cmp-site-header .ish-lang, .cmp-site-header .ish-login { min-height: 44px; display: flex; align-items: center; padding: 0 4px; }
  .cmp-site-header .ish-search { width: 44px; height: 44px; }
  .ish-more-panel a, .ish-dropdown a { min-height: 44px; display: flex; align-items: center; }
}
/* =============================================================================
   FOOTER -- Option 1 -- .cmp-footer-option1 / .fo1-*
   Extracted verbatim from assets/css/ds.css. Legacy selectors that don't
   match anything in footer-option1.html's actual markup (.fo1-logo,
   .fo1-browsing, .fo1-pill*, .fo1-seg*, .fo1-qr*, .fo1-social-head -- all
   left over from an earlier "segment dropdown" design the file's own header
   comment says was tried and rejected) are NOT included -- see
   footer-classes.json for exactly what was checked against.
============================================================================= */
.cmp-footer-option1 { width: 100%; padding: 0; }
.cmp-footer-option1 .fo1-topbar { background: var(--navy-shade); padding-block: 1rem; }
.cmp-footer-option1 .fo1-body { background: var(--light, var(--light)); padding-block: 3.5rem; }
.cmp-footer-option1 .fo1-col-head { font-size: 12px; font-weight: 400; color: var(--on-surface-mid, var(--mid)); margin-bottom: 1rem; }
.cmp-footer-option1 .fo1-link { font-size: 14px; font-weight: 600; color: var(--navy, var(--navy)); transition: color .2s ease; }
.cmp-footer-option1 .fo1-link:hover { color: var(--blue, var(--blue)); }
.cmp-footer-option1 .fo1-ai-badge { padding: .125rem .375rem; border-radius: 4px; font-size: 10px; font-weight: 700; line-height: 1; background: var(--blue, var(--blue)); color: #fff; }
.cmp-footer-option1 .fo1-social { min-width: 44px; min-height: 44px; width: 2.75rem; height: 2.75rem; border-radius: 9999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--mid-rgb), 0.15); color: var(--on-surface-mid, var(--mid)); transition: background-color .2s ease, color .2s ease; }
.cmp-footer-option1 .fo1-social:hover { background: var(--blue, var(--blue)); color: #fff; }
.cmp-footer-option1 .fo1-flag { display: inline-flex; flex: none; border-radius: 2px; overflow: hidden; line-height: 0; }
.cmp-footer-option1 .fo1-flag svg, .cmp-footer-option1 .fo1-flag img { width: 16px; height: 11px; }
.cmp-footer-option1 .fo1-lang { display: inline-flex; align-items: center; gap: .45rem; padding: 6px 2px; background: none; border: 0; font: inherit; font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.85); cursor: pointer; transition: color .2s; }
.cmp-footer-option1 .fo1-lang:hover { color: #fff; }
.cmp-footer-option1 .fo1-lang[lang="ar"] { font-family: var(--font-arabic); font-size: 13.5px; }
.cmp-footer-option1 .fo1-topbar .fo1-social { width: 2rem; height: 2rem; min-width: 32px; min-height: 32px; background: rgba(255,255,255,.10); color: rgba(255,255,255,.85); }
.cmp-footer-option1 .fo1-topbar .fo1-social svg, .cmp-footer-option1 .fo1-topbar .fo1-social img { width: 13px; height: 13px; }
.cmp-footer-option1 .fo1-topbar .fo1-social:hover { background: var(--blue, var(--blue)); color: #fff; }
.cmp-footer-option1 .fo1-apps { display: flex; flex-direction: column; gap: 0.875rem; }
.cmp-footer-option1 .fo1-app { display: flex; align-items: flex-start; gap: 10px; text-decoration: none; }
.cmp-footer-option1 .fo1-app-icon { flex: none; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--blue-wash); color: var(--blue, var(--blue)); }
.cmp-footer-option1 .fo1-app-icon svg, .cmp-footer-option1 .fo1-app-icon img { width: 15px; height: 15px; }
.cmp-footer-option1 .fo1-app-title { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--navy, var(--navy)); transition: color .2s ease; }
.cmp-footer-option1 .fo1-app:hover .fo1-app-title { color: var(--blue, var(--blue)); }
.cmp-footer-option1 .fo1-app-desc { display: block; margin-top: 1px; font-size: 11.5px; line-height: 1.5; color: var(--on-surface-mid, var(--mid)); }
.cmp-footer-option1 .fo1-copyright { background: var(--grey-100); padding-block: 1.25rem; }
.cmp-footer-option1 .fo1-copy-text { font-size: 12px; line-height: 1.625; color: var(--on-surface-mid, var(--mid)); text-align: start; }
.cmp-footer-option1 .fo1-copy-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; }
.cmp-footer-option1 .fo1-copy-text { flex: 1; min-width: 0; }
.cmp-footer-option1 .fo1-copy-logo { flex: none; margin-inline-start: auto; width: 116px; height: 30px; object-fit: contain; }
@media (min-width: 1024px) {
  .cmp-footer-option1 .fo1-body .container-ds { grid-template-columns: repeat(4, 1fr) 1.5fr; }
}
@media (max-width: 1023px) {
  .cmp-footer-option1 .fo1-body .container-ds.grid { grid-template-columns: 1fr; gap: 0; }
  .cmp-footer-option1 .fo1-acc { border-bottom: 1px solid var(--on-surface-border, var(--border)); }
  .cmp-footer-option1 .fo1-acc:first-child { border-top: 1px solid var(--on-surface-border, var(--border)); }
  .cmp-footer-option1 .fo1-acc > .fo1-col-head { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 16px 0; cursor: pointer; font-size: 13.5px; font-weight: 700; letter-spacing: .01em; color: var(--on-surface, var(--navy)); }
  .cmp-footer-option1 .fo1-acc > ul { padding-inline-start: 10px; }
  .cmp-footer-option1 .fo1-acc .fo1-link { font-size: 14px; font-weight: 400; color: var(--on-surface-mid, var(--mid)); }
  .cmp-footer-option1 .fo1-acc .fo1-link:hover { color: var(--blue, var(--blue)); }
  .cmp-footer-option1 .fo1-acc > .fo1-col-head::after { content: ''; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .35s var(--ease-out, ease); flex-shrink: 0; margin-inline-start: 12px; margin-top: -4px; }
  .cmp-footer-option1 .fo1-acc.is-open > .fo1-col-head::after { transform: rotate(225deg); margin-top: 2px; }
  .cmp-footer-option1 .fo1-acc > ul { max-height: 0; overflow: hidden; transition: max-height .45s var(--ease-out, ease), padding-bottom .45s var(--ease-out, ease);
    /* rows sit flush — the links' 44px tap-target minimum already provides the
       rhythm; stacking the list gap on top read as excessive spacing */
    gap: 0; }
  .cmp-footer-option1 .fo1-acc.is-open > ul { max-height: 420px; padding-bottom: 10px; }
  .cmp-footer-option1 .fo1-body .container-ds.grid > div:last-child { grid-column: 1 / -1; margin-top: 28px; }
  .fo1-link { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .cmp-footer-option1 .fo1-acc > ul, .cmp-footer-option1 .fo1-acc > .fo1-col-head::after { transition: none; }
}
@media (max-width: 639px) {
  .cmp-footer-option1 .fo1-copy-row { flex-direction: column; }
  .cmp-footer-option1 .fo1-copy-text { text-align: center; flex: none; }
  .cmp-footer-option1 .fo1-copy-logo { margin-inline-start: 0; }
}
@media (max-width: 767px) {
  .cmp-footer-option1 .fo1-topbar .container-ds { flex-wrap: wrap; gap: 0.75rem; }
}

@media (max-width: 767px) {
  .cmp .fo1-social { min-width: 44px; min-height: 44px; }
}

/* =============================================================================
   BOOTSTRAP .container GUARD
   Tailwind CDN generates its own .container max-widths (640/768/1024/1280/1536px)
   at Bootstrap's same breakpoints but with DIFFERENT values. Because Tailwind
   injects a runtime <style> tag it wins via cascade order. These !important
   overrides restore Bootstrap 5's expected max-widths regardless of when
   Tailwind's style tag is injected (Tailwind never uses !important itself, so
   author !important always wins over Tailwind's normal-weight rules).
   Bootstrap 4 uses the same four breakpoint values; only the xxl row (≥1400px)
   is BS5-only.
============================================================================= */
@media (min-width: 576px)  { .container { max-width: 540px  !important; } }
@media (min-width: 768px)  { .container { max-width: 720px  !important; } }
@media (min-width: 992px)  { .container, .container-lg, .container-md, .container-sm { max-width: 960px  !important; } }
@media (min-width: 1200px) { .container, .container-lg { max-width: 1332px !important; } }
@media (min-width: 1200px) and (max-width: 1400px) { .container, .container-lg { max-width: 1112px !important; } }