/* elsafa.org typography and colour system v2 — loaded after theme + Elementor CSS. Toggle: Tools → Elsafa Fix Kit → step 9. */
:root{
  --elsafa-font-ar:"IBM Plex Sans Arabic","IBM Plex Sans","Noto Naskh Arabic",Tahoma,Arial,sans-serif;
  --elsafa-font-en:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --elsafa-navy:#212D45; --elsafa-text:#3A3F4B; --elsafa-muted:#5B6178; --elsafa-amber:#FFC03D; --elsafa-amber-ink:#8A6210; --elsafa-surface:#F5F5F5; --elsafa-white:#FFFFFF;
}
/* 1. Base size: Astra sets html to 85.5% (13.68px). 17px desktop, 16px phone. */
html{font-size:106.25% !important;-webkit-text-size-adjust:100%}
@media (max-width:767px){html{font-size:100% !important}}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--elsafa-text)}

/* 2. Elementor global colours: the light blue, green and grey were Elementor's untouched defaults. */
html .elementor-kit-10, html [class*="elementor-kit-"]{
  --e-global-color-primary:var(--elsafa-navy);
  --e-global-color-secondary:var(--elsafa-muted);
  --e-global-color-text:var(--elsafa-text);
  --e-global-color-accent:var(--elsafa-navy);
  --e-global-typography-primary-font-family:var(--elsafa-font-en);
  --e-global-typography-secondary-font-family:var(--elsafa-font-en);
  --e-global-typography-text-font-family:var(--elsafa-font-en);
  --e-global-typography-accent-font-family:var(--elsafa-font-en);
}
html[lang^="ar"] [class*="elementor-kit-"]{
  --e-global-typography-primary-font-family:var(--elsafa-font-ar);
  --e-global-typography-secondary-font-family:var(--elsafa-font-ar);
  --e-global-typography-text-font-family:var(--elsafa-font-ar);
  --e-global-typography-accent-font-family:var(--elsafa-font-ar);
}
/* Amber text inside heading and box widgets becomes readable dark amber; amber backgrounds elsewhere are untouched. */
.elementor-widget-heading,.elementor-widget-icon-box,.elementor-widget-image-box{--e-global-color-astglobalcolor0:var(--elsafa-amber-ink);--e-global-color-astglobalcolor1:var(--elsafa-amber-ink)}
/* Exceptions that sit on navy or photo backgrounds keep the bright amber. */
.elementor-element-278136ad,.elementor-element-720c1be,.elementor-element-401a446,.elementor-element-b28ef85,.elementor-element-ae97d72,.elementor-element-6662756,.elementor-element-02ba737,
.elementor-element-7ed999c,.elementor-element-53e1f31,.elementor-element-7f3b3a3,.elementor-element-2f242ec8,.elementor-element-467e770,.elementor-element-1cb3d8f7{--e-global-color-astglobalcolor0:var(--elsafa-amber);--e-global-color-astglobalcolor1:var(--elsafa-amber)}
.elementor-element-727e01a .elementor-heading-title,.elementor-element-197dedf7 .elementor-heading-title,.elementor-element-2494b308 .elementor-heading-title,.elementor-element-715e27f1 .elementor-heading-title,
.elementor-element-627be20 .elementor-heading-title,.elementor-element-c0eab27 .elementor-heading-title,.elementor-element-925cef2 .elementor-heading-title,.elementor-element-e980318 .elementor-heading-title,
.elementor-element-7aba097 .elementor-heading-title,.elementor-element-1c36477 .elementor-heading-title,.elementor-element-239a3f9 .elementor-heading-title,.elementor-element-99a12a6 .elementor-heading-title{color:var(--elsafa-amber-ink) !important}
/* Amber band on the home pages: navy text instead of grey/black. */
.elementor-element-1ccd8d3c,.elementor-element-1ccd8d3c p,.elementor-element-7d15362c .elementor-heading-title,
.elementor-element-717636d .elementor-heading-title,.elementor-element-634dd74 .elementor-heading-title{color:var(--elsafa-navy) !important;opacity:1 !important}

/* 3. Font families. Icon fonts are excluded. */
html[lang^="ar"] :where(body,h1,h2,h3,h4,h5,h6,p,a,li,span,div,button,input,select,textarea,label,blockquote,td,th,strong,em,small,figcaption):not(i):not(.fa):not(.fas):not(.fab):not(.far):not([class^="fa-"]):not([class*=" fa-"]):not(.eicon):not([class*="eicon-"]):not(.dashicons):not([class*="n2i"]):not(.ast-icon){font-family:var(--elsafa-font-ar) !important;letter-spacing:0 !important}
html[lang^="en"] :where(body,h1,h2,h3,h4,h5,h6,p,a,li,span,div,button,input,select,textarea,label,blockquote,td,th,strong,em,small,figcaption):not(i):not(.fa):not(.fas):not(.fab):not(.far):not([class^="fa-"]):not([class*=" fa-"]):not(.eicon):not([class*="eicon-"]):not(.dashicons):not([class*="n2i"]):not(.ast-icon){font-family:var(--elsafa-font-en) !important}

/* 4. Type scale */
.elementor-widget-heading .elementor-heading-title,.elementor-image-box-title,.elementor-icon-box-title{font-weight:600 !important;color:inherit}
.elementor-widget-heading h1.elementor-heading-title,h1.entry-title,.elsafa-404__title{font-size:clamp(2rem,1.2rem + 3.2vw,3.25rem) !important;font-weight:700 !important;line-height:1.2 !important}
html[lang^="ar"] .elementor-widget-heading h1.elementor-heading-title{line-height:1.35 !important}
.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.6rem,1.1rem + 2vw,2.25rem) !important;line-height:1.25 !important}
html[lang^="ar"] .elementor-widget-heading h2.elementor-heading-title{line-height:1.45 !important}
.elementor-widget-heading h3.elementor-heading-title{font-size:clamp(1.3rem,1.1rem + .8vw,1.5rem) !important;line-height:1.3 !important}
.elementor-widget-heading h4.elementor-heading-title{font-size:1.15rem !important;line-height:1.4 !important}
.elementor-widget-heading h5.elementor-heading-title,.elementor-widget-heading h6.elementor-heading-title{font-size:1.05rem !important;line-height:1.5 !important}
.elementor-widget-heading p.elementor-heading-title,.elementor-widget-heading div.elementor-heading-title{font-size:1.0625rem !important;line-height:1.7 !important;font-weight:400 !important}
.elementor-image-box-title,.elementor-icon-box-title{font-size:1.3rem !important;line-height:1.35 !important}
/* Stat tiles keep large numerals */
.elementor-element-e3039ba .elementor-icon-box-title,.elementor-element-3e831f5d .elementor-icon-box-title,.elementor-element-3b09c9c9 .elementor-icon-box-title,.elementor-element-d1b24d2 .elementor-icon-box-title,
.elementor-element-53ed6692 .elementor-icon-box-title,.elementor-element-316388ed .elementor-icon-box-title,.elementor-element-504e4fca .elementor-icon-box-title,.elementor-element-176bd8bb .elementor-icon-box-title,
.elementor-element-6237bd4 .elementor-icon-box-title,.elementor-element-53d676f .elementor-icon-box-title,.elementor-element-326ef78 .elementor-icon-box-title{font-size:2.4rem !important;font-weight:700 !important;line-height:1.1 !important;font-variant-numeric:tabular-nums}
/* Body text */
.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-widget-text-editor li,.elementor-image-box-description,.elementor-icon-box-description,.elementor-icon-list-text,.wpcf7 label,.wpcf7 input,.wpcf7 select,.wpcf7 textarea,.site-footer,.site-footer p,.site-footer a,.site-footer li,.ast-builder-html-element{font-size:1rem !important;line-height:1.7 !important}
html[lang^="ar"] .elementor-widget-text-editor p,html[lang^="ar"] .elementor-image-box-description,html[lang^="ar"] .elementor-icon-box-description,html[lang^="ar"] .site-footer p{line-height:1.85 !important}
.elementor-widget-text-editor .elementor-widget-container{max-width:72ch}
.elementor-icon-list-text{font-weight:500 !important}
/* Buttons, navigation, forms */
.elementor-button-text{font-size:1rem !important;font-weight:600 !important;line-height:1.2 !important}
.elementor-button{padding:.85em 1.6em !important;border-radius:4px !important}
.ast-builder-menu .menu-item > a,.main-header-menu .menu-item > a{font-size:.95rem !important;font-weight:500 !important}
.wpcf7 input:not([type=submit]),.wpcf7 select,.wpcf7 textarea{padding:.7em .9em;border:1px solid #C9CDD6;border-radius:4px;color:var(--elsafa-text)}
.wpcf7 input[type=submit],.wpcf7-submit{background:var(--elsafa-navy) !important;color:#fff !important;font-weight:600 !important;font-size:1rem !important;padding:.85em 1.8em !important;border:0 !important;border-radius:4px !important}
/* English home slider (Smart Slider 3) */
.n2-ss-slider .n2-ss-text,.n2-ss-slider .n2-ss-text p,.n2-ss-slider .n2-ss-item-content{font-family:var(--elsafa-font-en) !important}
.n2-ss-slider .n2-ss-text p{font-size:1.05rem !important;line-height:1.65 !important}
.n2-ss-slider h1{font-size:clamp(1.9rem,1.2rem + 2.6vw,2.75rem) !important;font-weight:700 !important;line-height:1.2 !important;font-family:var(--elsafa-font-en) !important}
.n2-ss-slider .n2-ss-button-container *,.n2-ss-slider [class*="n2-style"]{font-size:.95rem !important;font-weight:600 !important}
/* Elsafa 404 page */
.elsafa-404__code{font-family:var(--elsafa-font-en) !important}

/* FAQ block ([elsafa_faq]) */
.elsafa-faq{max-width:860px;margin-inline:auto}
.elsafa-faq details{border-bottom:1px solid #D7DAE3;padding:4px 0}
.elsafa-faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:600;font-size:1.1rem;color:var(--elsafa-navy);display:flex;justify-content:space-between;gap:16px;align-items:center}
.elsafa-faq summary::-webkit-details-marker{display:none}
.elsafa-faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--elsafa-amber-ink);flex:none}
.elsafa-faq details[open] summary::after{content:"–"}
.elsafa-faq .elsafa-faq__a{padding:0 0 16px;color:var(--elsafa-text);line-height:1.8}
.elsafa-faq .elsafa-faq__a p{margin:0;font-size:1rem}

/* Header v2 */
:root{--elsafa-header:#212D45;--elsafa-header-2:#1A2338;--elsafa-line-2:rgba(255,255,255,.12)}
#masthead .ast-above-header-bar{background:var(--elsafa-header-2) !important;border-bottom:1px solid var(--elsafa-line-2);min-height:36px}
#masthead .ast-above-header-bar .ast-header-html-1,#masthead .ast-header-html-1 p{font-size:.85rem !important;line-height:36px !important;color:#C9CFE8 !important;margin:0}
#masthead .ast-header-html-1 a{color:#FFC03D !important;text-decoration:none;font-weight:500 !important;font-family:var(--elsafa-font-en) !important}
#masthead .ast-header-html-1 a:hover{color:#fff !important}
#masthead .ast-header-html-1 .sep{color:rgba(255,255,255,.35);margin:0 .7em}
#masthead .ast-primary-header-bar{background:var(--elsafa-header) !important;min-height:84px;border-bottom:1px solid var(--elsafa-line-2)}
#masthead .ast-primary-header-bar .ast-builder-grid-row{align-items:center}
/* logo + wordmark */
#masthead .site-branding{display:flex;align-items:center;gap:14px}
#masthead .site-logo-img{line-height:0}
#masthead .site-logo-img img{height:56px !important;width:auto !important;max-height:56px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
#masthead .ast-site-identity{padding:0}
#masthead .site-title{margin:0;line-height:1.15 !important;font-size:1.05rem !important;font-weight:600 !important;letter-spacing:0 !important;max-width:22ch}
#masthead .site-title a{color:#fff !important;text-decoration:none}
#masthead .site-title a:hover{color:#FFC03D !important}
#masthead .site-description{display:none !important}
/* menu */
#masthead .ast-builder-menu-1 .main-header-menu{gap:4px}
#masthead .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link{font-size:.95rem !important;font-weight:500 !important;color:#E8EAF2 !important;padding:0 14px !important;line-height:84px !important;position:relative;letter-spacing:0 !important;text-transform:none !important}
#masthead .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link::after{content:"";position:absolute;left:14px;right:14px;bottom:26px;height:2px;background:#FFC03D;transform:scaleX(0);transition:transform .18s ease}
#masthead .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link,#masthead .ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link,#masthead .ast-builder-menu-1 .main-header-menu > .current_page_item > .menu-link{color:#FFC03D !important}
#masthead .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link::after,#masthead .ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link::after{transform:scaleX(1)}
/* language switcher: show only the other language, as a small pill */
#masthead .main-header-menu > .lang-item.current-lang{display:none !important}
#masthead .main-header-menu > .lang-item > .menu-link{font-size:.8rem !important;font-weight:600 !important;line-height:30px !important;padding:0 12px !important;margin-inline-start:10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff !important;text-transform:uppercase;letter-spacing:.04em !important;font-family:var(--elsafa-font-en) !important}
#masthead .main-header-menu > .lang-item > .menu-link::after{display:none}
#masthead .main-header-menu > .lang-item > .menu-link:hover{border-color:#FFC03D;color:#FFC03D !important}
/* CTA button */
#masthead .ast-header-button-1 .ast-custom-button{background:#FFC03D !important;color:#212D45 !important;border:0 !important;border-radius:4px !important;padding:.7em 1.3em !important;font-size:.95rem !important;font-weight:600 !important;line-height:1.2 !important;margin-inline-start:16px}
#masthead .ast-header-button-1 .ast-custom-button:hover{background:#fff !important;color:#212D45 !important}
/* sticky on desktop */
@media (min-width:921px){#masthead .ast-primary-header-bar{position:sticky;top:0;z-index:99}.admin-bar #masthead .ast-primary-header-bar{top:32px}}
/* mobile */
@media (max-width:920px){
  #masthead .ast-primary-header-bar{min-height:64px}
  #masthead .site-logo-img img{height:42px !important;max-height:42px}
  #masthead .site-title{font-size:.95rem !important;max-width:18ch}
  #masthead .ast-mobile-header-wrap .ast-primary-header-bar{background:var(--elsafa-header) !important}
  #masthead .menu-toggle,#masthead .ast-mobile-trigger{color:#FFC03D !important;background:transparent !important;border:0 !important;padding:8px !important}
  #masthead .menu-toggle .ast-icon svg,#masthead .ast-mobile-trigger svg{fill:#FFC03D;width:26px;height:26px}
  .ast-mobile-popup-drawer .ast-mobile-popup-inner{background:var(--elsafa-header) !important;color:#fff}
  .ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close{color:#fff !important}
  .ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link{font-size:1.1rem !important;font-weight:500 !important;color:#E8EAF2 !important;padding:14px 20px !important;line-height:1.4 !important;border-bottom:1px solid var(--elsafa-line-2) !important}
  .ast-mobile-popup-content .main-header-menu > .current-menu-item > .menu-link{color:#FFC03D !important}
  .ast-mobile-popup-content .main-header-menu > .lang-item > .menu-link{display:inline-block;width:auto;margin:14px 20px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px !important;font-size:.85rem !important;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.35) !important}
  .ast-mobile-popup-content .ast-header-button-1{padding:16px 20px}
  .ast-mobile-popup-content .ast-header-button-1 .ast-custom-button{display:block;text-align:center;margin:0 !important}
  .ast-mobile-popup-content .ast-header-html-1{padding:0 20px 20px}
  .ast-mobile-popup-content .ast-header-html-1 p{line-height:1.8 !important;font-size:.9rem !important;color:#C9CFE8 !important}
  .ast-mobile-popup-content .ast-header-html-1 .sep{display:block;height:0;overflow:hidden}
}
