

*, *::before, *::after{ box-sizing:border-box; }
html, body{ overflow-x:hidden; max-width:100%; }

:root{
  --primary:#0b5e65;
  --primary-light:#127a83;
  --primary-dark:#083f44;
  --secondary:#d4af37;
  --secondary-light:#ebd171;
  --text-dark:#1e293b;
  --text-muted:#64748b;
  --chrome-radius:16px;
}

/* أيقونات SVG المخصّصة — بديل تدريجي لـFont Awesome، توارث اللون من العنصر الأب */
.kf-icon{ width:1em; height:1em; display:inline-block; vertical-align:-0.14em; flex-shrink:0; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2.5px solid var(--secondary);
  outline-offset:3px;
  border-radius:4px;
}

.kf-desktop-only{ display:flex; }
.kf-mobile-only{ display:none; }
@media (max-width:1080px){
  
  .kf-desktop-only{ display:none !important; }
  .kf-mobile-only{ display:block !important; }
}

body{ position:relative; display:flex; flex-direction:column; min-height:100vh; }
body > main{ flex:1 0 auto; }
body > footer, body > .kf-footer{ flex-shrink:0; }
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(11,94,101,.05), transparent 40%),
    radial-gradient(circle at 88% 82%, rgba(212,175,55,.06), transparent 40%),
    url('../img/logo-full-lockup.png');
  background-repeat:no-repeat, no-repeat, no-repeat;
  background-position:center, center, center;
  background-size:cover, cover, 34%;
  opacity:.04;
  animation:kf-mesh-breathe 16s ease-in-out infinite alternate;
}
@keyframes kf-mesh-breathe{ 0%{ transform:scale(1); } 100%{ transform:scale(1.05); } }
body::after{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background-image:
    radial-gradient(2px 2px at 8% 22%, var(--secondary), transparent),
    radial-gradient(2px 2px at 78% 12%, var(--secondary), transparent),
    radial-gradient(1.6px 1.6px at 58% 68%, var(--secondary), transparent),
    radial-gradient(2px 2px at 28% 78%, var(--secondary), transparent),
    radial-gradient(1.6px 1.6px at 92% 48%, var(--secondary), transparent),
    radial-gradient(2px 2px at 44% 38%, var(--secondary), transparent),
    radial-gradient(1.4px 1.4px at 66% 88%, var(--secondary), transparent),
    radial-gradient(1.8px 1.8px at 18% 55%, var(--secondary), transparent);
  background-repeat:repeat; background-size:100% 100%;
  opacity:.4;
  animation:kf-dots-float 22s linear infinite;
}
@keyframes kf-dots-float{
  0%{ background-position:0 0; }
  100%{ background-position:0 -600px; }
}
@media (prefers-reduced-motion:reduce){
  body::before, body::after{ animation:none; }
}
.kf-header{
  position:fixed; top:0; right:0; left:0; z-index:1000;
  background:transparent;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:top .2s ease, box-shadow .35s ease, background .35s ease, backdrop-filter .35s ease, border-color .35s ease;
}

body.admin-bar .kf-header{ top:32px; }
@media (max-width:782px){
  body.admin-bar .kf-header{ top:46px; }
}
.kf-header.is-stuck, .kf-header.kf-hero-frozen{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom-color:rgba(11,94,101,.10);
  box-shadow:0 10px 30px rgba(11,94,101,.10);
}
.kf-header-pattern{
  position:absolute; inset-inline:0; bottom:-6px; height:6px; z-index:1;
  background-image:repeating-linear-gradient(-45deg,var(--secondary) 0 8px,transparent 8px 16px);
  opacity:0; transition:opacity .35s ease;
}
.kf-header.is-stuck .kf-header-pattern, .kf-header.kf-hero-frozen .kf-header-pattern{ opacity:.55; }

.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-nav>li>a{ color:#fff; }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-nav>li>a:hover{ color:#fff; background:rgba(255,255,255,.14); }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-logo img{ filter:brightness(0) invert(1); }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-lang-toggle{ color:#fff !important; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.32); }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-lang-toggle-icon{ background:rgba(255,255,255,.92); color:var(--primary); }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-lang-toggle:hover{ background:#fff; color:var(--primary)!important; }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-lang-toggle:hover .kf-lang-toggle-icon{ background:var(--primary); color:#fff; }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-account-avatar{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-account-avatar svg{ color:#fff; }
.kf-header-on-hero:not(.is-stuck):not(.kf-hero-frozen) .kf-burger{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); color:#fff; }
.kf-header-inner{
  width:100%; margin:0 auto; padding:12px 28px;
  display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:24px;
}
.kf-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.kf-logo img{ height:50px; width:auto; transition:transform .3s ease; }

.kf-header-actions{ display:flex; align-items:center; gap:14px; }

.kf-lang-toggle{
  display:inline-flex; align-items:center; gap:8px; padding:7px 8px 7px 16px; border-radius:24px;
  background:rgba(11,94,101,.06); border:1px solid rgba(11,94,101,.12);
  color:var(--primary) !important; font-weight:800; font-size:13px; line-height:1; letter-spacing:.2px;
  text-decoration:none; transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.kf-lang-toggle-icon{
  display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%;
  background:var(--primary); color:#fff; font-size:10.5px; flex-shrink:0;
}
.kf-lang-toggle:hover{
  background:var(--primary); color:#fff !important; box-shadow:0 6px 18px rgba(11,94,101,.28); transform:translateY(-1px);
}
.kf-lang-toggle:hover .kf-lang-toggle-icon{ background:#fff; color:var(--primary); }
.kf-lang-toggle-mobile{ justify-content:center; width:calc(100% - 20px); margin:6px auto 0; padding-inline:16px; }
.kf-logo:hover img{ transform:scale(1.04); }

.kf-nav{
  display:flex; align-items:center; flex-wrap:wrap; gap:6px; list-style:none;
  margin:0; padding:0; min-width:0; justify-content:center;
}

@media (min-width:1081px){
  .kf-nav{ flex-wrap:nowrap; gap:2px; overflow:visible; }
  .kf-nav>li>a{ padding:10px 10px; font-size:14px; white-space:nowrap; }
}
@media (min-width:1081px) and (max-width:1300px){
  .kf-nav>li>a{ padding:9px 7px; font-size:13px; gap:4px; }
}
.kf-nav>li{ position:relative; }
.kf-nav>li>a{
  display:flex; align-items:center; gap:6px; padding:10px 14px; border-radius:10px;
  color:var(--text-dark); font-weight:700; font-size:15px; text-decoration:none;
  transition:color .25s ease, background .25s ease;
}
.kf-nav-icon{ display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.kf-nav-icon .kf-icon, .kf-nav-icon i{ width:18px; height:18px; font-size:16px; }
.kf-nav-label{ white-space:nowrap; }

/* وضع الأيقونات المدمج: يظهر فقط عند ضيق العرض بين شاشات الجوال وسطح المكتب الكامل، لمنع تراكب عناصر القائمة */
@media (min-width:1081px) and (max-width:1500px){
  .kf-header-inner{ gap:10px; padding-inline:16px; }
  .kf-nav{ gap:0; }
  .kf-nav>li>a{ padding:10px; gap:0; }
  .kf-nav>li>a .kf-nav-label{
    max-width:0; opacity:0; overflow:hidden; margin-inline-start:0;
    transition:max-width .3s ease, opacity .2s ease, margin .3s ease;
  }
  .kf-nav>li>a:hover .kf-nav-label,
  .kf-nav>li.is-open>a .kf-nav-label,
  .kf-nav>li>a:focus-visible .kf-nav-label{
    max-width:170px; opacity:1; margin-inline-start:7px;
  }
  .kf-header-actions{ gap:8px; }
}
.kf-nav>li>a:hover, .kf-nav>li.is-open>a{ color:var(--primary); background:rgba(11,94,101,.07); }
.kf-nav>li>a i.chev{ font-size:11px; transition:transform .25s ease; }
.kf-nav>li.is-open>a i.chev{ transform:rotate(180deg); }

.kf-dropdown{
  position:absolute; top:calc(100% + 18px); right:0; min-width:265px; z-index:10;
  background:rgba(255,255,255,.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-radius:20px; padding:12px; list-style:none; margin:0;
  box-shadow:0 30px 60px -12px rgba(11,94,101,.28), 0 0 0 1px rgba(11,94,101,.06);
  opacity:0; visibility:hidden; filter:blur(6px); transform:translateY(14px) scale(.94); transform-origin:top right;
  transition:opacity .32s cubic-bezier(.19,1,.22,1), transform .32s cubic-bezier(.19,1,.22,1),
             filter .32s cubic-bezier(.19,1,.22,1), visibility .32s ease;
}
/* لا overflow:hidden هنا عمدًا: كانت تقصّ أي قائمة فرعية أعمق (مستوى ثالث فأكثر) تنفتح
   جانبيًا خارج حدود هذا الصندوق. */
.kf-dropdown::before{
  content:''; position:absolute; top:0; right:20px; left:20px; height:3px; border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--secondary),var(--secondary-light));
}
.kf-dropdown::after{
  content:''; position:absolute; top:-7px; right:26px; width:14px; height:14px;
  background:rgba(255,255,255,.92); transform:rotate(45deg); border-radius:3px;
  box-shadow:-3px -3px 6px -4px rgba(11,94,101,.15);
}
.kf-nav>li.is-open .kf-dropdown{ opacity:1; visibility:visible; filter:blur(0); transform:translateY(0) scale(1); }
.kf-dropdown li{ opacity:0; transform:translateY(-4px); transition:opacity .3s ease, transform .3s ease; }
.kf-nav>li.is-open .kf-dropdown li{ opacity:1; transform:translateY(0); }
.kf-dropdown li:nth-child(1){ transition-delay:.05s; } .kf-dropdown li:nth-child(2){ transition-delay:.09s; }
.kf-dropdown li:nth-child(3){ transition-delay:.13s; } .kf-dropdown li:nth-child(4){ transition-delay:.17s; }
.kf-dropdown li:nth-child(5){ transition-delay:.21s; }
.kf-dropdown a{
  display:flex; align-items:center; gap:12px; padding:10px 11px; border-radius:12px;
  color:var(--text-dark); font-weight:700; font-size:14px; text-decoration:none;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.kf-dropdown a:hover{ background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(212,175,55,.03)); color:var(--primary); transform:translateX(-3px); }
.kf-dropdown a i, .kf-dropdown a .kf-dropdown-icon{
  width:30px; height:30px; border-radius:10px; flex-shrink:0;
  background:linear-gradient(135deg,var(--primary-light),var(--primary)); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:12.5px;
  transition:.25s ease; box-shadow:0 4px 10px -2px rgba(11,94,101,.35);
}
.kf-dropdown a .kf-dropdown-icon .kf-icon{ width:15px; height:15px; }
.kf-dropdown a:hover i, .kf-dropdown a:hover .kf-dropdown-icon{ background:linear-gradient(135deg,var(--secondary-light),var(--secondary)); color:var(--primary-dark); transform:scale(1.08) rotate(-4deg); }

/* المستوى الثالث فأكثر (قائمة داخل قائمة داخل قائمة...): ينفتح جانبيًا (flyout) بدل أسفل
   الأب، بنفس أسلوب ووردبريس. نفس آلية الفتح (hover لسطح المكتب، نقر للهاتف) المطبَّقة على
   المستوى الأول تُفعَّل هنا أيضًا عبر جافاسكريبت (site-chrome.js). */
.kf-has-children{ position:relative; }
.kf-dropdown-nested{ top:-12px; right:calc(100% + 10px); }
.kf-has-children.is-open > .kf-dropdown-nested{ opacity:1; visibility:visible; filter:blur(0); transform:translateY(0) scale(1); }
.kf-has-children.is-open > .kf-dropdown-nested li{ opacity:1; transform:translateY(0); }
.kf-subtoggle .chev{ font-size:10px; transition:transform .25s ease; opacity:.6; }
.kf-has-children.is-open > .kf-subtoggle .chev{ transform:rotate(180deg); opacity:1; }

.kf-account-widget{ position:relative; }
.kf-account-avatar{
  width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(11,94,101,.16);
  background:#fff; display:flex; align-items:center; justify-content:center; padding:0;
  cursor:pointer; overflow:hidden; transition:.25s ease;
}
.kf-account-avatar svg{ width:20px; height:20px; color:var(--primary); }
.kf-account-avatar-img{ width:100%; height:100%; object-fit:cover; }
.kf-account-avatar:hover{ border-color:var(--secondary); background:var(--secondary); }
.kf-account-avatar:hover svg{ color:var(--primary-dark); }

.kf-account-dropdown{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(8px);
  background:#fff; border-radius:16px; min-width:215px; padding:8px;
  box-shadow:0 24px 50px rgba(11,94,101,.2); border:1px solid rgba(11,94,101,.08);
  opacity:0; visibility:hidden; transition:.28s ease; display:flex; flex-direction:column; z-index:1000;
}
.kf-account-widget.open .kf-account-dropdown{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.kf-account-name{ padding:8px 12px 4px; font-size:12.5px; font-weight:700; color:var(--text-muted); }
.kf-account-dropdown a{
  padding:11px 12px; border-radius:10px; color:var(--text-dark); font-weight:700; font-size:13.5px;
  display:flex; align-items:center; gap:10px; text-decoration:none; transition:.2s ease;
}
.kf-account-dropdown a:hover{ background:rgba(212,175,55,.12); color:var(--primary); padding-inline-start:16px; }
.kf-account-dropdown a.kf-logout{ color:#dc2626; }
.kf-account-dropdown a.kf-logout:hover{ background:rgba(220,38,38,.08); }

.kf-mobile-auth-box{
  background:#f4f8f7; border:1px solid rgba(11,94,101,.12); border-radius:16px; padding:16px;
  margin:14px 0; display:flex; flex-direction:column; gap:12px;
}
.kf-mobile-auth-user{ display:flex; align-items:center; gap:10px; font-weight:800; color:var(--text-dark); font-size:14px; }
.kf-mobile-auth-user img{ width:36px; height:36px; border-radius:50%; }
.kf-mobile-auth-links{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.kf-btn-outline{ border:1.5px solid var(--secondary); color:var(--text-dark); text-align:center; padding:10px; border-radius:10px; font-weight:700; font-size:13px; text-decoration:none; }
.kf-btn-solid{ background:var(--secondary); color:var(--primary-dark); text-align:center; padding:10px; border-radius:10px; font-weight:700; font-size:13px; text-decoration:none; }

@media (max-width:1080px){ .kf-account-widget{ display:none !important; } }

.kf-cta{
  display:flex; align-items:center; gap:8px; padding:11px 24px; border-radius:30px;
  background:linear-gradient(135deg,var(--secondary-light),var(--secondary));
  color:var(--primary-dark)!important; font-weight:800; font-size:14px; text-decoration:none;
  box-shadow:0 10px 24px rgba(212,175,55,.35); transition:transform .25s ease, box-shadow .25s ease;
}
.kf-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(212,175,55,.45); }
.kf-cta-outline{
  background:transparent; color:var(--primary)!important; border:1.5px solid rgba(11,94,101,.3); box-shadow:none;
}
.kf-cta-outline:hover{ background:rgba(11,94,101,.06); box-shadow:none; border-color:var(--primary); }

.gs-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.gs-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .gs-reveal{ opacity:1; transform:none; transition:none; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

.kf-burger{ display:none; width:42px; height:42px; border-radius:10px; border:1px solid rgba(11,94,101,.15); background:#fff; color:var(--primary); font-size:18px; align-items:center; justify-content:center; cursor:pointer; }

@media (max-width:1080px){
  .kf-header-inner{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .kf-nav{
    position:fixed; inset-block:0; left:0; width:86vw; max-width:360px; z-index:1001;
    background:
      radial-gradient(circle at 100% 0%, rgba(212,175,55,.08), transparent 55%),
      #ffffff;
    flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; gap:2px; padding:0 0 20px;
    box-shadow:-24px 0 60px rgba(8,63,68,.25); transform:translateX(-105%);
    transition:transform .45s cubic-bezier(.22,1,.36,1); overflow-y:auto; overflow-x:hidden;
  }
  body.kf-nav-open .kf-nav{ transform:translateX(0); }

  
  .kf-nav-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 18px 16px; margin-bottom:6px;
    background:linear-gradient(135deg,var(--primary-dark),var(--primary));
    position:sticky; top:0; z-index:2;
  }
  .kf-nav-head-logo img{ height:36px; width:auto; filter:brightness(0) invert(1); }
  .kf-nav-close{
    width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08); color:#fff; font-size:15px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:.25s ease;
  }
  .kf-nav-close:hover{ background:var(--secondary); border-color:var(--secondary); color:var(--primary-dark); transform:rotate(90deg); }

  .kf-nav-section-label{
    padding:14px 18px 6px; font-size:11.5px; font-weight:800; letter-spacing:.04em;
    color:var(--text-muted); text-transform:uppercase;
  }

  .kf-nav{ padding-inline:0; }
  .kf-nav>li{ padding-inline:12px; }
  .kf-nav-head, .kf-nav-section-label, .kf-nav-foot{ padding-inline:0; }
  .kf-nav-head{ padding-inline:18px; }
  .kf-nav-section-label{ padding-inline:18px; }

  .kf-nav>li>a{
    width:100%; padding:13px 14px; border-radius:12px; font-size:15px;
    border:1px solid transparent;
  }
  .kf-nav>li>a:hover, .kf-nav>li.is-open>a{ background:rgba(212,175,55,.1); border-color:rgba(212,175,55,.25); }
  .kf-nav>li>a i:first-child{
    width:30px; height:30px; border-radius:9px; background:rgba(11,94,101,.08); color:var(--primary);
    display:inline-flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;
  }
  .kf-nav>li.is-open>a i:first-child{ background:var(--primary); color:#fff; }
  .kf-nav>li>a i.chev{ margin-inline-start:auto; }

  .kf-dropdown{
    position:relative; top:auto; right:auto; min-width:0;
    box-shadow:none; border:none; opacity:1; visibility:visible; transform:none;
    display:none; background:transparent; padding:4px 0 4px 0; margin:2px 0 6px;
    border-inline-start:2px solid rgba(212,175,55,.35); margin-inline-start:27px;
  }
  .kf-dropdown::before, .kf-dropdown::after{ display:none; }
  .kf-nav>li.is-open .kf-dropdown{ display:block; }
  /* > .kf-dropdown-nested مباشرة (بلا .kf-nav>) حتى يعمل التوسيع على أي مستوى تعشيش. */
  .kf-has-children.is-open > .kf-dropdown-nested{ display:block; }
  .kf-dropdown li{ opacity:1; transform:none; }
  .kf-dropdown a{ padding:10px 14px; font-size:13.5px; }
  .kf-dropdown a i, .kf-dropdown a .kf-dropdown-icon{ width:24px; height:24px; font-size:11px; }

  .kf-burger{ display:flex; }
  .kf-cta{ order:2; justify-content:center; margin:14px 6px 4px; }

  .kf-nav-foot{
    margin-top:16px; padding:16px 18px 4px; border-top:1px solid rgba(11,94,101,.1);
    display:flex; flex-direction:column; align-items:center; gap:12px;
  }
  .kf-nav-foot-social{ display:flex; gap:8px; }
  .kf-nav-foot-social a{
    width:32px; height:32px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(11,94,101,.08); color:var(--primary); font-size:13px; text-decoration:none; transition:.25s ease;
  }
  .kf-nav-foot-social a:hover{ background:var(--secondary); color:var(--primary-dark); transform:translateY(-2px); }
  .kf-nav-foot-note{ font-size:11.5px; color:var(--text-muted); font-weight:600; }

  .kf-mobile-auth-box{ margin-inline:6px; }

  .kf-nav-scrim{ position:fixed; inset:0; background:rgba(8,63,68,.5); backdrop-filter:blur(2px); opacity:0; pointer-events:none; transition:opacity .35s ease; z-index:999; }
  body.kf-nav-open .kf-nav-scrim{ opacity:1; pointer-events:all; }
}

.kf-donate-fab{
  position:fixed; bottom:26px; left:26px; z-index:900;
  display:flex; align-items:center; gap:0; text-decoration:none;
  width:64px; height:64px; border-radius:50%; overflow:hidden;
  background:linear-gradient(135deg,var(--secondary-light),var(--secondary));
  box-shadow:0 10px 28px rgba(212,175,55,.45), 0 0 0 1px rgba(255,255,255,.4) inset;
  transition:width .38s cubic-bezier(.16,1,.3,1), border-radius .38s ease, box-shadow .3s ease, transform .3s ease;
}
.kf-donate-fab-svg{ width:64px; height:64px; flex:none; }
.kf-donate-fab-ring{ fill:none; stroke:rgba(255,255,255,.55); stroke-width:2; stroke-dasharray:6 7; transform-origin:50px 50px; animation:kfFabSpin 14s linear infinite; }
.kf-donate-fab-heart{ fill:var(--primary-dark); transform-origin:50px 51px; animation:kfFabBeat 1.8s ease-in-out infinite; }
.kf-donate-fab-spark{ fill:#fff; opacity:.9; }
.kf-donate-fab-spark.s1{ animation:kfFabSpark 2.4s ease-in-out infinite; }
.kf-donate-fab-spark.s2{ animation:kfFabSpark 2.4s ease-in-out .5s infinite; }
.kf-donate-fab-spark.s3{ animation:kfFabSpark 2.4s ease-in-out 1s infinite; }
@keyframes kfFabSpin{ to{ transform:rotate(360deg); } }
@keyframes kfFabBeat{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.12); } }
@keyframes kfFabSpark{ 0%,100%{ opacity:.9; transform:translateY(0); } 50%{ opacity:.2; transform:translateY(-4px); } }
.kf-donate-fab-label{
  white-space:nowrap; max-width:0; overflow:hidden; opacity:0;
  color:var(--primary-dark); font-weight:800; font-size:14px;
  transition:max-width .38s cubic-bezier(.16,1,.3,1), opacity .3s ease, padding .38s ease;
}
.kf-donate-fab:hover{ width:184px; border-radius:34px; box-shadow:0 14px 34px rgba(212,175,55,.55); transform:translateY(-2px); }
.kf-donate-fab:hover .kf-donate-fab-label{ max-width:120px; opacity:1; padding-inline-end:18px; }
@media (max-width:600px){
  .kf-donate-fab{ bottom:16px; left:16px; width:54px; height:54px; }
  .kf-donate-fab-svg{ width:54px; height:54px; }
  .kf-donate-fab:hover{ width:54px; } 
}

body.kf-loading{ overflow:hidden; height:100vh; }
.kf-curtain{ position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:99999; display:flex; overflow:hidden; background:transparent; pointer-events:all; }
.kf-curtain-panel{
  position:absolute; top:0; width:50vw; height:100vh; background-color:rgba(8,63,68,.94);
  
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 3px, transparent 3px 15px, rgba(0,0,0,.1) 15px 17px, transparent 17px 30px),
    linear-gradient(180deg, rgba(212,175,55,.10), transparent 22%);
  backdrop-filter:blur(15px); transform-origin:center top; overflow:hidden;
  transition:transform 1.3s cubic-bezier(.65,0,.35,1);
}
/* بعد أول ظهور للستارة في نفس الجلسة، تنغلق بسرعة أكبر بكثير عند التنقل بين
   الصفحات الداخلية بدل إعادة تشغيل الحركة الكاملة (1.3ث) في كل مرة. */
.kf-curtain-fast .kf-curtain-panel{ transition-duration:.35s; }
.kf-curtain-fast .kf-curtain-seam,
.kf-curtain-fast .kf-curtain-word,
.kf-curtain-fast .kf-curtain-logo{ transition-duration:.15s !important; }
.kf-curtain-fast .kf-curtain-mesh,
.kf-curtain-fast .kf-curtain-particles,
.kf-curtain-fast .kf-curtain{ transition-duration:.35s !important; }
.kf-curtain-panel.left{ left:0; border-right:1px solid rgba(212,175,55,.3); box-shadow:5px 0 30px rgba(0,0,0,.15); }
.kf-curtain-panel.right{ right:0; border-left:1px solid rgba(212,175,55,.3); box-shadow:-5px 0 30px rgba(0,0,0,.15); }

.kf-curtain-panel.left::after, .kf-curtain-panel.right::after{
  content:''; position:absolute; top:0; bottom:0; width:34px; pointer-events:none;
}
.kf-curtain-panel.left::after{ right:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.09)); }
.kf-curtain-panel.right::after{ left:0; background:linear-gradient(-90deg, transparent, rgba(255,255,255,.09)); }

.kf-curtain-pattern{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-width='1'%3E%3Cpath d='M42 4 L58 20 L58 44 L42 60 L26 44 L26 20 Z'/%3E%3Cpath d='M42 4 L42 60 M26 20 L58 44 M58 20 L26 44'/%3E%3Ccircle cx='42' cy='32' r='6'/%3E%3C/g%3E%3C/svg%3E");
  background-size:84px 84px;
}

.kf-curtain-seam{
  position:fixed; top:0; bottom:0; left:50%; width:2px; z-index:100001;
  background:linear-gradient(180deg,transparent,var(--secondary-light) 15%,var(--secondary) 50%,var(--secondary-light) 85%,transparent);
  box-shadow:0 0 22px 2px rgba(212,175,55,.55);
  transform:translateX(-50%) scaleY(0); transform-origin:center;
  animation:kf-seam-draw 1.1s cubic-bezier(.16,1,.3,1) .15s forwards;
}
@keyframes kf-seam-draw{ to{ transform:translateX(-50%) scaleY(1); } }
body:not(.kf-loading) .kf-curtain-seam{ opacity:0; transition:opacity .3s ease; }
.kf-curtain-word{
  position:absolute; top:50%; z-index:1; transform:translateY(-50%);
  font-family:'Cairo',sans-serif; font-weight:900; font-size:clamp(28px,5vw,52px);
  color:#f4ead0; letter-spacing:1px; white-space:nowrap;
  animation:kf-curtain-word-glow 2.6s ease-in-out infinite;
}
.kf-curtain-panel.right .kf-curtain-word{ left:8%; }
.kf-curtain-panel.left .kf-curtain-word{ right:8%; animation-delay:.4s; }
@keyframes kf-curtain-word-glow{
  0%,100%{ opacity:.85; text-shadow:0 0 18px rgba(212,175,55,.35), 0 4px 18px rgba(0,0,0,.3); }
  50%{ opacity:1; text-shadow:0 0 30px rgba(212,175,55,.6), 0 4px 18px rgba(0,0,0,.35); }
}
body:not(.kf-loading) .kf-curtain-word{ opacity:0; transition:opacity .3s ease; }
@media (max-width:600px){
  .kf-curtain-word{ font-size:22px; letter-spacing:0; }
  .kf-curtain-panel.right .kf-curtain-word{ left:5%; }
  .kf-curtain-panel.left .kf-curtain-word{ right:5%; }
}
.kf-curtain-footer-img{
  position:absolute; bottom:0; width:100vw; height:260px; opacity:.55; pointer-events:none;
  background-image:url("../img/curtain-footer.png"); background-repeat:no-repeat; background-size:100vw 100%;
}
.kf-curtain-panel.right .kf-curtain-footer-img{ right:0; background-position:right bottom; }
.kf-curtain-panel.left .kf-curtain-footer-img{ left:0; background-position:left bottom; }
.kf-curtain-mesh{
  position:fixed; inset:0; z-index:99998; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(212,175,55,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,175,55,.06) 1px, transparent 1px);
  background-size:46px 46px;
}
.kf-curtain-fallback{
  position:absolute; z-index:100000; top:50%; left:50%; transform:translate(-50%,-50%);
  display:flex; flex-direction:column; align-items:center; gap:16px; opacity:0; pointer-events:none;
  transition:opacity .4s ease;
}
.kf-curtain-fallback.kf-visible{ opacity:1; }
.kf-curtain-fallback-spinner{ width:46px; height:46px; color:var(--secondary,#d4af37); animation:kf-curtain-fallback-spin 1s linear infinite; }
.kf-curtain-fallback span{ color:#fff; font-weight:800; font-size:14px; text-shadow:0 2px 8px rgba(0,0,0,.4); text-align:center; max-width:260px; }
@keyframes kf-curtain-fallback-spin{ to{ transform:rotate(360deg); } }
.kf-curtain-particles{ position:fixed; inset:0; z-index:99999; pointer-events:none; overflow:hidden; }
.kf-curtain-particles span{
  position:absolute; bottom:-10px; width:4px; height:4px; border-radius:50%;
  background:var(--secondary-light); opacity:.7; animation:kf-particle-float linear infinite;
}
@keyframes kf-particle-float{
  to{ transform:translateY(-110vh) translateX(var(--kf-particle-drift, 0)); opacity:0; }
}

/* جسيمات ذهبية متصاعدة خفيفة على الصفحات الداخلية (غير الرئيسية) — نفس الأثر الجمالي
   الموجود في تصميم الصفحات الأصلي، ثابتة الموضع خلف المحتوى طوال التصفح. */
.kf-page-particles{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.kf-page-particles span{
  position:absolute; bottom:-20px; border-radius:50%; background:var(--secondary-light);
  opacity:0; animation:kf-page-particle-rise linear infinite;
}
@keyframes kf-page-particle-rise{
  0%{ transform:translateY(0) scale(.6); opacity:0; }
  12%{ opacity:.55; }
  88%{ opacity:.25; }
  100%{ transform:translateY(-105vh) scale(1.1); opacity:0; }
}
@media (prefers-reduced-motion:reduce){ .kf-page-particles{ display:none; } }
body:not(.kf-loading) .kf-curtain-mesh, body:not(.kf-loading) .kf-curtain-particles{ opacity:0; visibility:hidden; transition:opacity .8s ease, visibility 1.2s; }
.kf-curtain-logo{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:100000;
  display:flex; justify-content:center; align-items:center; transition:all .6s ease;
}
.kf-curtain-logo img{ width:100px; filter:drop-shadow(0 0 20px rgba(255,255,255,.25)); animation:kf-curtain-pulse 2s infinite ease-in-out; }
@keyframes kf-curtain-pulse{
  0%,100%{ transform:scale(1); filter:drop-shadow(0 0 12px rgba(212,175,55,.3)); }
  50%{ transform:scale(1.06); filter:drop-shadow(0 0 26px rgba(212,175,55,.6)); }
}
body:not(.kf-loading) .kf-curtain-logo{ opacity:0; transform:translate(-50%,-50%) scale(1.4); pointer-events:none; }
body:not(.kf-loading) .kf-curtain-panel.left{ transform:translateX(-102vw) scaleX(1.06); }
body:not(.kf-loading) .kf-curtain-panel.right{ transform:translateX(102vw) scaleX(1.06); }
body:not(.kf-loading) .kf-curtain{ pointer-events:none; visibility:hidden; transition:visibility 1.2s; }

.kf-footer{ position:relative; margin-top:0; color:#eaf5f4; }

.kf-partners-band{
  position:relative; overflow:visible; padding:38px 0 0;

  background:linear-gradient(180deg, #f4f8f7 0%, #eaf5f4 55%, var(--primary-dark) 100%);
}

.kf-band-hands-rising{
  /* height (not top+bottom) is the fixed dimension: for a replaced element like
     <img>, "top:...;bottom:0;height:auto" does NOT stretch to fill the gap (the
     intrinsic ratio wins and bottom gets ignored) — it has to be an explicit
     height with bottom:0 for the box to sit flush on the footer boundary.
     z-index:0 keeps it behind the band's own text/logo content (wrap is z-index:1)
     but above the band's background. */
  position:absolute; z-index:0; pointer-events:none;
  right:3%; bottom:0; top:auto; left:auto;
  height:210px; width:auto; max-width:210px;
  object-fit:contain; object-position:bottom;
  filter:drop-shadow(0 18px 26px rgba(8,63,68,.22));
}
@media (max-width:900px){
  .kf-band-hands-rising{ height:140px; max-width:140px; right:2%; }
}
@media (max-width:560px){
  .kf-band-hands-rising{ display:none; }
}

.kf-partners-band-glow{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background:
    radial-gradient(480px 260px at 12% 20%, rgba(212,175,55,.16), transparent 70%),
    radial-gradient(520px 300px at 88% 80%, rgba(11,94,101,.16), transparent 70%);
  animation:kf-band-glow-drift 16s ease-in-out infinite alternate;
}
@keyframes kf-band-glow-drift{
  0%{ transform:translate(-2%,-1%) scale(1); }
  100%{ transform:translate(2%,2%) scale(1.08); }
}

.kf-partners-band-ornaments{
  flex:1; display:flex; align-items:center; justify-content:center; gap:20px; min-width:40px;
}
.kf-orn{ display:block; filter:drop-shadow(0 2px 6px rgba(11,94,101,.15)); }
.kf-orn-sparkle{ animation:kf-orn-twinkle 2.6s ease-in-out infinite; transform-origin:center; }
.kf-orn-sparkle-sm{ animation-delay:.9s; }
.kf-orn-dots{ animation:kf-orn-drift 5s ease-in-out infinite; }
.kf-orn-heart{ animation:kf-orn-bounce 3.4s ease-in-out infinite; animation-delay:.4s; }
@keyframes kf-orn-twinkle{
  0%,100%{ transform:scale(.85) rotate(0deg); opacity:.7; }
  50%{ transform:scale(1.15) rotate(20deg); opacity:1; }
}
@keyframes kf-orn-drift{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}
@keyframes kf-orn-bounce{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-4px) scale(1.08); }
}

.kf-partners-band-wrap{ position:relative; z-index:1; width:100%; margin:0 auto; padding:0 3% 26px; }
.kf-partners-band-head{
  display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:22px;
}
.kf-partners-band-copy{ text-align:right; }

.kf-partner-row{ display:flex; align-items:center; gap:18px; }
.kf-partner-row .kf-partner-marquee{ flex:1; min-width:0; }
.kf-partners-band-hand{
  display:block; flex-shrink:0; width:78px; height:78px; object-fit:contain; opacity:.95;
  filter:drop-shadow(0 8px 16px rgba(11,94,101,.18));
  animation:kf-hand-float 5s ease-in-out infinite;
}
@keyframes kf-hand-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

.kf-partner-marquee{ position:relative; }
.kf-partner-shelf{
  position:absolute; right:0; left:0; bottom:-4px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--secondary) 20%, var(--primary-light) 55%, var(--secondary) 80%, transparent);
  background-size:200% 100%; animation:kf-shelf-shimmer 6s linear infinite;
  box-shadow:0 0 16px 2px rgba(212,175,55,.35);
}
@keyframes kf-shelf-shimmer{ from{ background-position:0% 0; } to{ background-position:200% 0; } }

.kf-partner-marquee{
  overflow:hidden; width:100%; height:96px; padding-bottom:22px;
}
.kf-partner-track{
  
  position:absolute; top:0; left:0;
  display:flex; align-items:center; gap:14px; width:max-content;
  animation:kf-marquee-right 34s linear infinite;
  will-change:transform;
}
.kf-partner-marquee:hover .kf-partner-track{ animation-play-state:paused; }
@keyframes kf-marquee-right{ from{ transform:translateX(-50%); } to{ transform:translateX(0%); } }

@media (max-width:900px){
  .kf-partners-band{ padding:28px 0 0; }
  .kf-partners-band-wrap{ padding-bottom:18px; }
  .kf-partners-band-head{ flex-direction:column; text-align:center; gap:12px; margin-bottom:16px; }
  .kf-partners-band-copy{ text-align:center; }
  .kf-partners-band-hand{ width:52px; height:52px; }
  .kf-partner-row{ gap:10px; }
  .kf-partners-band-ornaments{ display:none; }
}

.kf-footer-main{
  background:var(--primary-dark);
  padding:26px 0 16px; position:relative; overflow:hidden;
}
.kf-footer-bg-layer{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  
  background-size:cover; background-position:center; background-repeat:no-repeat;
  filter:blur(5px); transform:scale(1.06);
}
.kf-footer-main::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(160deg, rgba(8,63,68,.62), rgba(11,94,101,.5) 55%, rgba(18,122,131,.42));
}
.kf-footer-main::after{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 2 L38 22 L58 30 L38 38 L30 58 L22 38 L2 30 L22 22 Z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
  background-size:60px 60px; opacity:.08;
}

.kf-footer-stars{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; }
.kf-footer-stars span{
  position:absolute; bottom:-20px; width:6px; height:6px; color:var(--secondary-light);
  background:currentColor; clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  opacity:0; animation:kf-star-rise linear infinite;
}
.kf-footer-stars span:nth-child(1){ left:4%; animation-duration:9s; animation-delay:0s; }
.kf-footer-stars span:nth-child(2){ left:14%; animation-duration:12s; animation-delay:1.5s; width:4px; height:4px; }
.kf-footer-stars span:nth-child(3){ left:24%; animation-duration:8s; animation-delay:3s; }
.kf-footer-stars span:nth-child(4){ left:38%; animation-duration:11s; animation-delay:.8s; width:5px; height:5px; }
.kf-footer-stars span:nth-child(5){ left:50%; animation-duration:10s; animation-delay:2.4s; }
.kf-footer-stars span:nth-child(6){ left:61%; animation-duration:13s; animation-delay:4s; width:4px; height:4px; }
.kf-footer-stars span:nth-child(7){ left:72%; animation-duration:9.5s; animation-delay:1.2s; }
.kf-footer-stars span:nth-child(8){ left:83%; animation-duration:12.5s; animation-delay:3.6s; width:5px; height:5px; }
.kf-footer-stars span:nth-child(9){ left:91%; animation-duration:8.5s; animation-delay:2s; }
.kf-footer-stars span:nth-child(10){ left:96%; animation-duration:11.5s; animation-delay:.4s; width:4px; height:4px; }
@keyframes kf-star-rise{
  0%{ transform:translateY(0) scale(.6) rotate(0deg); opacity:0; }
  15%{ opacity:.9; }
  85%{ opacity:.5; }
  100%{ transform:translateY(-260px) scale(1.1) rotate(60deg); opacity:0; }
}

.kf-footer-grid, .kf-footer-bottom{ position:relative; z-index:4; padding-inline:3%; }
.kf-footer-grid{
  position:relative; width:100%; max-width:1400px; margin:0 auto;
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:20px 40px; align-items:start;
}
.kf-footer-map{ display:block; width:100%; position:relative; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.16); height:130px; }
.kf-footer-map iframe{ width:100%; height:100%; border:0; filter:grayscale(.15) contrast(1.05); }
.kf-footer-col h4{ color:var(--secondary-light); font-size:14px; font-weight:800; margin:0 0 12px; }
.kf-footer-brand-logo-wrap{ position:relative; display:inline-block; margin-bottom:14px; padding:8px; }
.kf-footer-brand-logo-wrap::before{
  content:''; position:absolute; inset:-6px; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 70%);
  animation:kf-logo-glow 3.2s ease-in-out infinite;
}
@keyframes kf-logo-glow{ 0%,100%{ opacity:.5; transform:scale(.92); } 50%{ opacity:1; transform:scale(1.08); } }
.kf-footer-brand-logo{ height:56px; width:auto; display:block; position:relative; z-index:1; filter:drop-shadow(0 2px 10px rgba(0,0,0,.35)); }
.kf-footer-about p{ font-size:13px; line-height:1.75; color:rgba(234,245,244,.9); margin:0 0 12px; text-shadow:0 1px 4px rgba(0,0,0,.35); }
.kf-social{ display:flex; gap:7px; flex-wrap:wrap; }
.kf-social a{
  width:30px; height:30px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; text-decoration:none;
  font-size:13px; transition:.3s ease;
}
.kf-social a:hover{ background:var(--secondary); color:var(--primary-dark); transform:translateY(-3px); }
.kf-footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.kf-footer-links a{ color:rgba(234,245,244,.85); text-decoration:none; font-size:13px; font-weight:600; display:flex; align-items:center; gap:7px; transition:color .25s ease; }
.kf-footer-links a:hover{ color:var(--secondary-light); }
.kf-footer-links a i{ font-size:12px; color:var(--secondary); }

.kf-footer-accounts{ display:flex; flex-direction:column; gap:10px; }
.kf-mini-account{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:9px 12px;
}
.kf-mini-account span{ font-size:13px; font-weight:700; color:#fff; }
.kf-mini-account button{
  border:none; background:rgba(212,175,55,.9); color:var(--primary-dark); font-size:12px; font-weight:800;
  padding:6px 12px; border-radius:20px; cursor:pointer; display:flex; align-items:center; gap:5px;
  transition:.25s ease;
}
.kf-mini-account button:hover{ background:var(--secondary-light); }
.kf-mini-account button.copied{ background:#4fc7ae; color:#083f44; }

.kf-footer-bottom{
  border-top:1px solid rgba(255,255,255,.14); margin-top:22px; padding-top:14px;
  max-width:1360px; margin-inline:auto; display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; justify-content:space-between; font-size:12px; color:rgba(234,245,244,.7);
  position:relative;
}
.kf-footer-bottom b{ color:var(--secondary-light); }
.kf-footer-dev-link{ color:rgba(234,245,244,.7); text-decoration:none; }
.kf-footer-dev-link:hover{ color:var(--secondary-light); text-decoration:underline; }

@media (max-width:1080px){
  .kf-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .kf-footer-grid{ grid-template-columns:1fr; gap:22px; }
  .kf-footer-bottom{ flex-direction:column; text-align:center; }
  .kf-footer-main{ padding:26px 0 14px; }
  .kf-footer-brand-logo{ height:46px; }
  .kf-footer-about{ text-align:center; }
  .kf-footer-brand-logo-wrap{ display:block; margin-inline:auto; width:fit-content; }
  .kf-social{ justify-content:center; }
}

/* ============ تحسينات أداء الهاتف ============
   backdrop-filter (الزجاج الضبابي) من أثقل خواص CSS على معالجات رسوميات الهواتف —
   يُعاد تركيب طبقة الخلفية كل إطار خلف أي عنصر يستخدمه. تعطيله على الشاشات الصغيرة
   فقط (تجربة سطح المكتب تبقى كما هي) هو أكبر مكسب أداء ممكن بأقل مخاطرة بصرية،
   لأن الخلفية شبه الشفافة تبقى ظاهرة بدون الضبابية فقط. */
@media (max-width:760px){
  *{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
}

/* ================= إعادة تصميم "شركاء النجاح" — بلا مربعات بيضاء + أيقونة تفاعلية خلف كل شعار ================= */
.kf-partner-marquee{ height:180px; padding-bottom:26px; }
.kf-partner-tile{
  display:flex; align-items:center; justify-content:center; position:relative;
  width:190px; height:160px; flex-shrink:0; background:transparent; border:none; box-shadow:none;
  border-radius:0; padding:0; overflow:visible; text-decoration:none; cursor:pointer;
  transition:transform .35s ease;
}
.kf-partner-tile:hover{ transform:translateY(-6px); box-shadow:none; }
.kf-partner-icon-halo{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:0;
  pointer-events:none; transition:transform .5s ease, opacity .4s ease;
}
.kf-partner-icon-halo .kf-icon, .kf-partner-icon-halo svg{
  width:104px; height:104px; color:var(--secondary); opacity:.13;
}
.kf-partner-tile:nth-child(3n+2) .kf-partner-icon-halo .kf-icon,
.kf-partner-tile:nth-child(3n+2) .kf-partner-icon-halo svg{ color:var(--primary-light); }
.kf-partner-tile:hover .kf-partner-icon-halo{ transform:scale(1.18) rotate(-8deg); }
.kf-partner-tile:hover .kf-partner-icon-halo .kf-icon,
.kf-partner-tile:hover .kf-partner-icon-halo svg{ opacity:.26; }
.kf-partner-tile img{
  position:relative; z-index:1; max-width:88%; max-height:82%; object-fit:contain;
  filter:grayscale(35%) opacity(.9) drop-shadow(0 6px 14px rgba(11,94,101,.12));
  transition:filter .35s ease, transform .35s ease;
}
.kf-partner-tile:hover img{ filter:grayscale(0%) opacity(1) drop-shadow(0 10px 18px rgba(11,94,101,.22)); transform:scale(1.06); }

/* غلاف PDF تلقائي (الصفحة الأولى) عند عدم وجود صورة غلاف مرفوعة */
[data-kf-pdf]{ position:relative; }
.kf-pdf-cover-canvas{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top; background:#fff; }
