
.firstm-site-header{
  width:100%;height:var(--fmh-height,110px);background:var(--fmh-bg,transparent);color:var(--fmh-text,#211b19);
  font-family:"Tajawal",Arial,sans-serif;position:relative;z-index:99990;box-sizing:border-box;border:0;
  transition:background .22s ease,box-shadow .22s ease,backdrop-filter .22s ease,transform .22s ease;
}
body.firstm-custom-header-sticky:not(.firstm-custom-header-home) .firstm-site-header{position:sticky;top:0}
body.firstm-custom-header-home.firstm-custom-header-sticky .firstm-site-header{position:fixed;inset-inline:0;top:0}
/* WordPress admin-bar offset is used on ordinary pages only. The independent
   About page intentionally starts at the real viewport top (see late wp_head fix). */
body.admin-bar.firstm-custom-header-sticky:not(.firstm-about-company-page) .firstm-site-header{top:32px!important}
body.firstm-custom-header-shadow:not(.firstm-custom-header-home) .firstm-site-header{box-shadow:0 10px 30px rgba(36,30,27,.055),0 1px 0 rgba(255,255,255,.65)}
.firstm-site-header.is-inner-header{background:var(--fmh-inner-bg,#fff)}
/* Homepage starts transparent over the hero, then the sticky state becomes a clean solid header. */
.firstm-site-header.is-home-header{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
body.firstm-custom-header-home.firstm-custom-header-sticky .firstm-site-header.is-home-header.is-scrolled{
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 32px rgba(40,31,26,.07),0 1px 0 rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%)!important;
}
.firstm-site-header *{box-sizing:border-box}
.firstm-header-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 34px;display:flex;align-items:center;gap:25px;direction:inherit}
.firstm-header-logo{width:112px;min-width:112px;height:84px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.firstm-header-logo img{display:block;max-width:82px;max-height:78px;width:auto;height:auto;object-fit:contain}

/* =========================================================
   v1.28.3 — لمعة أبطأ وواضحة على اللوجو فقط
   مفيش ظل ولا هالة حوالين اللوجو. اللمعة متقصوصة بنفس شكل
   صورة اللوجو وبتعدّي عليها بهدوء بشكل مستمر حتى مع الـ Sticky.
   ========================================================= */
.firstm-header-logo{
  position:relative;
  isolation:isolate;
  overflow:visible;
}
.firstm-header-logo img{
  position:relative;
  z-index:1;
  opacity:1;
  filter:none!important;
  transform:none!important;
  box-shadow:none!important;
}
.firstm-header-logo::before{display:none!important}
.firstm-header-logo::after{
  content:"";
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:82px;
  height:78px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  background:linear-gradient(108deg,
    transparent 0%,
    transparent 38%,
    rgba(255,255,255,.18) 43%,
    rgba(255,255,255,.96) 50%,
    rgba(255,238,226,.62) 54%,
    rgba(255,255,255,.12) 59%,
    transparent 65%,
    transparent 100%
  );
  background-size:260% 100%;
  background-position:165% 0;
  -webkit-mask-image:var(--firstm-logo-mask);
  mask-image:var(--firstm-logo-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  opacity:0;
  animation:firstm-logo-shine 10s cubic-bezier(.45,.05,.2,1) infinite;
  will-change:background-position,opacity;
}
@keyframes firstm-logo-shine{
  0%,12%{background-position:165% 0;opacity:0}
  18%{opacity:.92}
  44%{background-position:-65% 0;opacity:.92}
  52%,100%{background-position:-65% 0;opacity:0}
}

/* لو المتصفح قديم ومش بيدعم Mask، نستخدم لمعة خفيفة داخل الصورة نفسها من غير أي ظل. */
@supports not ((-webkit-mask-image:url("")) or (mask-image:url(""))){
  .firstm-header-logo::after{display:none}
  .firstm-header-logo img{animation:firstm-logo-clean-pulse 10s ease-in-out infinite}
  @keyframes firstm-logo-clean-pulse{
    0%,18%,62%,100%{filter:brightness(1)!important}
    38%{filter:brightness(1.16) saturate(1.04)!important}
  }
}

/* نفس اللمعة مستمرة في وضع الـ Sticky لأننا مش بنبدّل العنصر أو الأنيميشن. */
body.firstm-custom-header-sticky .firstm-site-header .firstm-header-logo::after{
  animation-iteration-count:infinite;
}

@media(max-width:1180px){
  .firstm-header-logo::after{width:68px;height:68px}
}
@media(max-width:900px){
  .firstm-header-logo::after{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){
  .firstm-header-logo::after,.firstm-header-logo img{animation:none!important}
}

.firstm-header-nav{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;margin-inline:auto;white-space:nowrap;--fmh-nav-x:0px;--fmh-nav-w:0px;--fmh-nav-o:0}
/* A single fluid indicator travels between items instead of every link animating separately. */
.firstm-header-nav:after{content:"";position:absolute;z-index:0;left:0;bottom:5px;width:var(--fmh-nav-w);height:3px;border-radius:999px;background:linear-gradient(90deg,var(--fmh-accent,#ef6a24),#ff9a63);opacity:var(--fmh-nav-o);transform:translate3d(var(--fmh-nav-x),0,0);box-shadow:0 5px 16px rgba(239,106,36,.22);pointer-events:none;transition:transform .48s cubic-bezier(.16,1,.3,1),width .42s cubic-bezier(.16,1,.3,1),opacity .18s ease}
.firstm-nav-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:24px;color:var(--fmh-text,#211b19);text-decoration:none!important;font-weight:800;font-size:16px;line-height:1;letter-spacing:-.15px;transition:transform .34s cubic-bezier(.16,1,.3,1),color .22s ease,background .28s ease,box-shadow .28s ease}
.firstm-nav-link:before{content:"";position:absolute;inset:5px 3px;border-radius:20px;background:rgba(239,106,36,.055);opacity:0;transform:scale(.86);transition:opacity .25s ease,transform .38s cubic-bezier(.16,1,.3,1);z-index:-1}
.firstm-nav-link:hover,.firstm-nav-link:focus-visible{color:var(--fmh-accent,#ef6a24);transform:translateY(-2px)}
.firstm-nav-link:hover:before,.firstm-nav-link:focus-visible:before{opacity:1;transform:scale(1)}
.firstm-nav-link.is-active{background:var(--fmh-accent,#ef6a24);color:#fff!important;padding-inline:20px;box-shadow:0 10px 24px rgba(239,106,36,.22)}
.firstm-nav-link.is-active:before{display:none}
.firstm-nav-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.firstm-header-tools{display:flex;align-items:center;gap:9px;min-width:178px;justify-content:flex-start}
[dir="rtl"] .firstm-header-tools{direction:ltr}[dir="ltr"] .firstm-header-tools{direction:rtl}
.firstm-tool{position:relative;min-width:44px;width:44px;height:44px;border:1px solid rgba(44,35,31,.12);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:#201b19;text-decoration:none!important;overflow:visible;transition:.2s ease;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(38,30,25,.035)}
.firstm-tool:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(27,22,20,.09)}
.firstm-tool svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.firstm-whatsapp{background:#21c866!important;border-color:#21c866;color:#fff}.firstm-whatsapp svg{width:25px;height:25px;fill:currentColor;stroke:none}
.firstm-country{width:auto;min-width:62px;padding:0 9px;gap:6px;border-radius:24px!important;overflow:hidden;background:rgba(255,255,255,.9)!important}
.firstm-country .flag-eg,.firstm-country .flag-uk{width:29px;height:29px;border-radius:50%;display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.05);flex:none}
.firstm-country .flag-eg i{flex:1;display:block}.firstm-country .flag-eg i:nth-child(1){background:#ce1126}.firstm-country .flag-eg i:nth-child(2){background:#fff;position:relative}.firstm-country .flag-eg i:nth-child(2):after{content:"";position:absolute;width:4px;height:5px;background:#c69b32;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:1px}.firstm-country .flag-eg i:nth-child(3){background:#000}
.firstm-country .flag-uk svg{display:block;width:100%;height:100%}
.firstm-lang-code{font-size:10px;font-weight:900;line-height:1;color:#232528;direction:ltr}
.firstm-account:after{content:attr(aria-label);position:absolute;bottom:-35px;left:50%;transform:translateX(-50%) translateY(-3px);background:#17191b;color:#fff;font-family:"Tajawal",Arial,sans-serif;font-size:10px;white-space:nowrap;padding:6px 9px;border-radius:7px;opacity:0;pointer-events:none;transition:.15s ease}.firstm-account:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}
.firstm-mobile-toggle{display:none;width:44px;height:44px;border:1px solid rgba(44,35,31,.12);background:rgba(255,255,255,.92);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;cursor:pointer}.firstm-mobile-toggle span{width:20px;height:2px;background:#211b19;border-radius:10px;transition:.2s}.firstm-site-header.is-open .firstm-mobile-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.firstm-site-header.is-open .firstm-mobile-toggle span:nth-child(2){opacity:0}.firstm-site-header.is-open .firstm-mobile-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1180px){.firstm-header-inner{padding:0 20px;gap:13px}.firstm-header-nav{gap:4px}.firstm-nav-link{font-size:14px;padding:0 9px}.firstm-header-logo{width:92px;min-width:92px}.firstm-header-logo img{max-width:68px}.firstm-header-tools{min-width:auto}.firstm-country{min-width:58px;padding-inline:7px}}
@media(max-width:900px){
  .firstm-site-header{height:auto;min-height:78px}.firstm-header-inner{min-height:78px;position:relative;padding:0 14px;gap:9px}
  .firstm-header-logo{width:72px;min-width:72px;height:66px}.firstm-header-logo img{max-width:58px;max-height:58px}
  .firstm-mobile-toggle{display:flex;order:3}.firstm-header-tools{order:2;gap:7px;margin-inline:auto 0}.firstm-header-logo{order:1}
  [dir="ltr"] .firstm-header-logo{order:1}[dir="ltr"] .firstm-header-tools{margin-inline:0 auto}
  .firstm-header-nav{position:absolute;top:calc(100% + 8px);right:14px;left:14px;background:rgba(255,255,255,.985);border:1px solid rgba(30,20,15,.08);border-radius:18px;padding:10px;box-shadow:0 18px 45px rgba(25,15,10,.12);display:flex;flex-direction:column;align-items:stretch;gap:4px;white-space:normal;backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px) scale(.985);transform-origin:top center;transition:opacity .22s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility 0s linear .35s}
  .firstm-header-nav:after{display:none}
  .firstm-site-header.is-open .firstm-header-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}.firstm-nav-link{justify-content:flex-start;min-height:48px;padding-inline:15px;font-size:14px}.firstm-nav-link.is-active{border-radius:13px;box-shadow:none}
  .firstm-tool{width:40px;height:40px;min-width:40px}.firstm-country{width:58px}.firstm-country .flag-eg,.firstm-country .flag-uk{width:27px;height:27px}
}
@media(max-width:782px){body.admin-bar.firstm-custom-header-sticky:not(.firstm-about-company-page) .firstm-site-header{top:46px!important}}
@media(max-width:560px){
  .firstm-header-inner{padding:0 10px;gap:6px}.firstm-header-logo{width:58px;min-width:58px}.firstm-header-logo img{max-width:50px;max-height:50px}
  .firstm-header-tools{gap:5px}.firstm-tool,.firstm-mobile-toggle{width:37px;height:37px;min-width:37px}.firstm-tool svg{width:19px;height:19px}.firstm-whatsapp svg{width:22px;height:22px}.firstm-country{width:54px;min-width:54px;padding-inline:5px}.firstm-country .flag-eg,.firstm-country .flag-uk{width:25px;height:25px}.firstm-lang-code{font-size:9px}
}
@media(max-width:410px){.firstm-lang-code{display:none}.firstm-country{width:37px;min-width:37px;padding:0}.firstm-country .flag-eg,.firstm-country .flag-uk{width:27px;height:27px}}

@media(prefers-reduced-motion:reduce){.firstm-header-nav:after,.firstm-nav-link,.firstm-nav-link:before,.firstm-header-nav{transition:none!important}.firstm-header-logo img{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.firstm-header-logo::before{animation:none!important;opacity:.2!important;transform:scale(.86)!important}}


/* v1.14.7 · About header: zero top gap + reliable sticky state */
body.firstm-about-company-page.firstm-custom-header-sticky .firstm-site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  inset-inline:0;
  z-index:999990!important;
}
body.firstm-about-company-page .firstm-site-header.is-inner-header.is-scrolled{
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 32px rgba(40,31,26,.075),0 1px 0 rgba(255,255,255,.9)!important;
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
}


/* v1.14.8 · About page: hard-sticky fallback.
   A fixed header + measured spacer is used here because some theme/page wrappers
   create overflow/transform containing blocks that prevent CSS position:sticky
   from sticking reliably. The spacer preserves the exact document flow height. */
body.firstm-about-company-page.firstm-custom-header-sticky .firstm-site-header.firstm-force-fixed-sticky{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  width:100%!important;
  margin:0!important;
  z-index:999990!important;
  transform:none!important;
}
body.firstm-about-company-page .firstm-header-sticky-spacer{
  display:block!important;
  width:100%!important;
  height:var(--firstm-sticky-spacer-height,110px)!important;
  min-height:var(--firstm-sticky-spacer-height,110px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  flex:none!important;
}
@media(max-width:900px){
  body.firstm-about-company-page .firstm-header-sticky-spacer{
    height:var(--firstm-sticky-spacer-height,78px)!important;
    min-height:var(--firstm-sticky-spacer-height,78px)!important;
  }
}

/* v1.15.5 · Compact premium Services dropdown + reliable hover corridor. */
.firstm-nav-item{position:relative;display:flex;align-items:center;z-index:3}
.firstm-services-dropdown{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;right:auto;
  width:302px;
  padding:8px;
  border:1px solid rgba(33,38,42,.10);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 46px rgba(30,34,38,.12);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(-50%,-6px,0) scale(.988);
  transform-origin:50% 0;
  will-change:transform,opacity;
  transition:opacity .16s ease,transform .23s cubic-bezier(.16,1,.3,1),visibility 0s linear .23s;
  overflow:hidden;
  z-index:40;
}
/* Keep the pointer inside the Services parent while it crosses the visual gap.
   The bridge lives on the parent (not the clipped dropdown), so it actually receives hover. */
.firstm-nav-services::after{
  content:"";position:absolute;top:100%;left:0;right:0;height:11px;
  background:transparent;pointer-events:auto;
}
.firstm-services-dropdown:before{display:none!important}
.firstm-nav-item:hover>.firstm-services-dropdown,
.firstm-nav-item:focus-within>.firstm-services-dropdown,
.firstm-nav-item.is-submenu-open>.firstm-services-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translate3d(-50%,0,0) scale(1);
  transition-delay:0s;
}
.firstm-nav-services>.firstm-nav-link>svg{transition:transform .18s ease}
.firstm-nav-services:hover>.firstm-nav-link>svg,
.firstm-nav-services:focus-within>.firstm-nav-link>svg,
.firstm-nav-services.is-submenu-open>.firstm-nav-link>svg{transform:rotate(180deg)}

.firstm-service-menu-link{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:6px 8px;
  border:0;
  border-radius:13px;
  color:#242321;
  background:transparent;
  text-decoration:none!important;
  outline:none;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.firstm-service-menu-link + .firstm-service-menu-link{margin-top:2px}
.firstm-service-menu-link:hover,
.firstm-service-menu-link:focus-visible,
.firstm-service-menu-link.is-current{
  background:#fff0e8;
  color:var(--fmh-accent,#ef6a24);
}
.firstm-service-menu-link:focus-visible{box-shadow:inset 0 0 0 1px rgba(239,106,36,.24)}
.firstm-service-menu-icon{
  width:38px;height:38px;
  border-radius:11px;
  background:#fff1e8;
  color:var(--fmh-accent,#ef6a24);
  display:grid;place-items:center;
  flex:none;
}
.firstm-service-menu-icon svg{
  width:19px;height:19px;
  fill:none;stroke:currentColor;stroke-width:1.65;
  stroke-linecap:round;stroke-linejoin:round;
}
.firstm-service-menu-copy{display:block;min-width:0;text-align:start;line-height:1.2}
.firstm-service-menu-copy b,.firstm-service-menu-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.firstm-service-menu-copy b{font-size:12.4px;font-weight:900;line-height:1.4;color:inherit}
.firstm-service-menu-copy small{font-size:9.2px;font-weight:500;color:#aaa7a4;line-height:1.35;margin-top:1px}
.firstm-service-menu-arrow{width:20px;height:20px;display:grid;place-items:center;color:#a8aaac}
.firstm-service-menu-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.firstm-service-menu-link:hover .firstm-service-menu-arrow,
.firstm-service-menu-link:focus-visible .firstm-service-menu-arrow,
.firstm-service-menu-link.is-current .firstm-service-menu-arrow{color:var(--fmh-accent,#ef6a24)}
.firstm-site-header[dir="ltr"] .firstm-service-menu-arrow svg{transform:scaleX(-1)}

@media(max-width:900px){
  .firstm-nav-item{width:100%;display:block}
  .firstm-nav-services::after{display:none}
  .firstm-nav-item>.firstm-nav-link{width:100%}
  .firstm-services-dropdown:before{display:none}
  .firstm-services-dropdown{
    position:static;left:auto;right:auto;width:100%;
    padding:0 5px;border:0;border-radius:0;background:transparent;box-shadow:none;
    opacity:1;visibility:visible;pointer-events:none;transform:none;
    max-height:0;overflow:hidden;
    transition:max-height .3s ease,padding .3s ease;
  }
  .firstm-nav-item:hover>.firstm-services-dropdown,
  .firstm-nav-item:focus-within>.firstm-services-dropdown{max-height:0;padding-block:0;pointer-events:none}
  .firstm-nav-item.is-submenu-open>.firstm-services-dropdown{max-height:390px;padding-block:7px 8px;pointer-events:auto}
  .firstm-service-menu-link{min-height:50px;background:#fff;border:1px solid #f0eeee;padding:5px 7px}
  .firstm-service-menu-link + .firstm-service-menu-link{margin-top:4px}
  .firstm-service-menu-link:hover,.firstm-service-menu-link.is-current{background:#fff0e8}
  .firstm-service-menu-icon{width:38px;height:38px}
  .firstm-nav-services.is-submenu-open>.firstm-nav-link{color:var(--fmh-accent,#ef6a24);background:#fff7f2}
  .firstm-nav-services.is-submenu-open>.firstm-nav-link.is-active{color:#fff;background:var(--fmh-accent,#ef6a24)}
}

@media(prefers-reduced-motion:reduce){
  .firstm-services-dropdown,.firstm-service-menu-link,.firstm-nav-services>.firstm-nav-link>svg{transition:none!important}
}
